Automated Related Content: More Relevance without the Maintenance Overhead
In the embedded and IoT sector, technical details are essential when making purchasing decisions. SEGGER's product pages are therefore highly detailed and extensively used by visitors. But how do you provide visitors with exactly the right content at the end of these pages without overloading the editorial team with manual linking?
| Client | SEGGER Microcontroller GmbH |
|---|---|
Project duration | 2026 |
"Related Content" refers to content recommendations displayed at the end or alongside a webpage, typically under headings such as "You might also like", "Similar articles" or "Further reading".
What initially sounds like a simple content element quickly becomes an editorial challenge on a website of this scale: Which content should appear where? What is current? And who keeps all of these connections up to date over time? A purely manual approach is not practical.
Together with SEGGER, we therefore developed a solution that provides Related Content automatically while still allowing targeted editorial control.
Relevant Content without Additional Maintenance
With a large number of product groups, product pages and related sub-pages, manually selecting and regularly updating Related Content for every individual page would require considerable editorial effort. The editorial team should be able to focus its time on creating and maintaining high-quality content rather than continuously keeping links between a large number of pages up to date.
We therefore designed Related Content as an independent element that identifies suitable content based on jointly defined rules and automatically adds it to the relevant pages. This creates an up-to-date page footer without requiring continuous editorial maintenance on every individual page.
The logic uses several criteria that were developed together with SEGGER and tested using real content during the project. Here is an overview of some of the relevant criteria:
Position within the Page Tree
The relative position of a page in relation to the current page determines whether it is considered for Related Content.
Relevance of the Page
Through an integration with Matomo, we retrieve the number of visits for individual pages. The visit count is used as one of the criteria for determining relevance. This means that the selection also reflects the actual interests of website visitors rather than relying solely on editorial assumptions.
Recency of the Page
The recency of a page is another factor in determining whether it is included in the Related Content section.
Editorial Control: Influencing the Automation
With the large number of pages on the SEGGER website, there are individual pages that should not appear in Related Content, such as legacy products. These can be excluded globally from Related Content using a checkbox at page level.
At the same time, editors can specifically add individual pages to Related Content. This can be useful, for example, when restructuring parts of the page tree or when linking specifically to a product landing page.
Automatic Integration
The element itself does not have to be added manually by the editorial team either. Based on the different page types already defined in TYPO3, such as Product Group, Product and Case Study, Related Content is automatically added as a fixed element below the regular page content.
Combining Multiple Rules for a Relevant Selection
TYPO3 needs to have all the information required to select and display suitable pages in the Related Content section. At the same time, this information has to be fast to access so that page rendering performance is not affected.
While standard information such as recency, description and title is already available in TYPO3, we added further criteria required for the selection logic.
Page Visits from Matomo
SEGGER uses Matomo to analyse website usage. We have described the integration via CloudFront in our blog article on CloudFront log file analysis in Matomo.
For the Related Content implementation, we needed to determine the number of visits for each page within a defined period and store that information directly in the corresponding TYPO3 page record. We implemented the required logic as a small custom CLI extension that retrieves the visit count from Matomo for each URL path.
Existing PHP packages did not prove suitable for the required query. We therefore retrieve the required data directly from the Matomo API using HTTP GET requests.
<?php
private function buildMatomoApiUrl(
string $matomoUrl,
string $siteId,
string $pageUrl,
string $token
): string
{
return sprintf(
'%s?module=API'.
'&method=Actions.getPageUrl'.
'&idSite=%s'.
'&pageUrl=%s'.
'&period=range'.
'&date=last28'.
'&format=json'.
'&token_auth=%s',
rtrim($matomoUrl, '/'),
$siteId,
urlencode($pageUrl),
$token
);
}The Matomo API is not queried during a page request. Instead, the values are updated regularly and stored directly in the respective TYPO3 page records. This makes the data immediately available to the Related Content logic without requiring an additional external API request while rendering the page.
Page Classification
Another important foundation is the classification of content in TYPO3. Product pages and product group pages are implemented as distinct page types. This allows the system to understand the purpose of a page and take this information into account when identifying suitable Related Content.
Additional product-specific information can also be stored directly on the page and used for further selection rules.
Integration into the Pages
A custom Data Processor in the TYPO3 PAGE object identifies and filters the relevant pages. The resulting Related Content is then rendered automatically as part of the page's Fluid template.
Testing and Refining the Logic Together
The weighting that would produce the best results in practice could not be fully defined in advance. We therefore reviewed and refined the logic step by step together with SEGGER using real content.
Changes such as additional parameters or adjustments to the weighting of individual criteria could be reviewed directly by SEGGER on a dedicated copy of the TYPO3 instance. These review systems are automatically created or updated by our CI/CD pipeline whenever changes are committed to the Git repository and behave in the same way as the live website.

