Area: Episerver Content Recommendations

Content Recommendations

Episerver Content Recommendations automatically generates a personalized content feed for each visitor based on the individual’s site activity.

How it works

Content Recommendations uses Natural Language Processing (NLP) to understand the meaning of each piece of content at a granular level and builds a real-time interest profile for each visitor based on their interactions with the NLP-generated topics. Content Recommendations uses this information to recommend articles, blog posts, or other specified content sections that are most relevant to the visitor’s interest profile. 

  • The following example shows topics generated from a single piece of content automatically via Natural Language Processing (NLP)


  • The following example shows a click stream of an individual based on site activity.


  • The following example shows an interest profile of the same individual expressed as topics.


Terminology and key concepts

  • Content item. A web page with a unique web-accessible URL.
  • Topic. A keyword or concept extracted from a content body using Natural Language Processing (NLP). For example, topics such as fixed income, retirement, emerging markets, and so on can be extracted by the NLP process from a page about Investing; while topics such as calories, diet, exercise, and so on can be extracted by the NLP from a page about a page about Health. Topic relevance is weighted within a single piece of content, based on the following factors:
    • Frequency. How often they appear in the content article.
    • Position. Whether the topic appears in the title.
    • Uniqueness. Whether the topic appears in other pages.
  • Natural Language Processing (NLP). The technological process used to extract topics from content items. A subfield of linguistics, computer science, information engineering, and artificial intelligence concerned with the interactions between computers and human (natural) languages, in particular how to program computers to process and analyze large amounts of natural language data. - Source: Wikipedia
  • Metadata. Business-driven data about the piece of content, such as the title, description, the main image assigned to the content, the published date, and so on.
  • Interest Profile. A data representation of an individual's interests based on site activity, derived from the near real-time modeling of topics contained within the URLs that the individual visited.
  • Section . A collection of URLs. For example, a section on Europe may include blog posts about London, Amsterdam, or Paris; while a section on Asia may include blog posts about Shanghai, Hong Kong, or Tokyo.
  • Flow. A set of programmatic rules that takes specific actions on content items when matched. For example, if an original URL contains Europe, then the content item is assigned to the section Europe ; whereas if an original URL contains Asia, then content is assigned to the section Asia.
  • Delivery. The configuration page that determines the section(s) eligible to be used for recommendations. Creating a delivery also creates an API endpoint for content recommendations.
  • Widget. The final product on a page that serves up content recommendations, which are made from the following decisions:
    • What pages should show the widget?
    • What content should be eligible to be presented within the widget?
    • What should the widget look like?

Quickstart guide

  1. Expose necessary metadata (such as og:image) on content pages that are eligible for recommendations.
  2. Install the tracking script on a site to activate content processing and interest profiling.
  3. Set up sections and corresponding flows attached to the widget delivery.
  4. Set up delivery of the widget with the assigned section.
  5. Install the widget code into a page template.
  6. Test and launch content recommendations.

Preparing your content for analysis

Set up the data-epi-type="content" and data-epi-type="title" elements as follows. You  can define multiple blocks of data-epi-type="content", which are  concatenated for topic extraction.

    <!-- Place normal og tags here -->
    <span>Stuff to ignore.</span>
  <div id="wrapper">
    <h1 data-epi-type="title">My page tile</h1>
      <div data-epi-type="content">
        <p>The good stuff.</p>
        <p>Even more good stuff.</p>
    <span>Other stuff to ignore.</span>

Related topics

Do you find this information helpful? Please log in to provide feedback.

Last updated: Jan 17, 2020