Does the Internal Linker module add links automatically or do I have to configure every link?
Yes. Internal Linker can automatically insert links when the page is rendered, based on link groups that map keywords to a target URL. It does not need you to manually edit every product, category, CMS, or blog description, and it does not rewrite the saved text in the database.
A typical link group could look like this:
Group name: Shower screen SEO
Target URL: /en/shower-screens
Keywords: shower screen, walk-in screen, glass shower panel, shower enclosure|shower partition, shower*
Page types: product, category, cms
Content zones: product description, category description, CMS content
Max links from this group: 2
Link position: firstKeywords can be comma-separated, language-specific, and can use variants with |. Wildcard-style terms such as shower* are supported by the module keyword configuration.
The module also has safeguards to keep the output natural: it can skip the current URL, avoid headings, avoid already-linked text, prevent duplicate target URLs, and limit the total number of links per page or per group. This makes it useful for SEO linking patterns such as linking repeated product terms to important category or guide pages without creating excessive internal links.
The module runs on actionOutputHTMLBefore, so it receives the final storefront HTML and modifies only the response sent to the visitor. It skips non-front-office output, AJAX requests, non-HTML responses and content that does not look like HTML. The shared injector then extracts the <body> and works inside configured content regions, leaving the <head>, scripts and JSON-LD alone.
Default settings are conservative: max_links_per_page is 5, max_links_per_group is 3, default selectors include product descriptions, description blocks, page content and post content, and default allowed tags are p, div, span, blockquote, li and td. The default class for generated links is mpr-autolink, current-page targets are skipped, headings are excluded, and multiple autolinks in the same element are prevented.
Content zones make the setup easier than writing selectors by hand. The resolver maps merchant labels such as product description, category description, CMS content, blog content, manufacturer description and supplier description to common theme selectors, and it filters them by page type. You can still override CSS selectors and HTML tags per group if your theme has unusual markup.
The injector counts existing links inside the target content regions and reduces the available budget for a group when the page already links to the same target URL. It also supports link placement strategies: first, middle, last and spread. This is useful when a keyword appears many times in a long guide and you want only one natural link rather than every occurrence becoming an anchor.
For target URLs, you can enter a URL manually or choose a PrestaShop entity. The admin form supports products, categories, CMS pages, manufacturers and suppliers, and can resolve the selected entity to its front-office URL. Language-specific keyword and target URL overrides are available, so a multilingual store can use local anchor text instead of forcing one language's phrases into every storefront.
Was this answer helpful?
Related products
Still have questions?
Can't find what you're looking for? Send us your question and we'll get back to you.