Skip to main content Skip to search Skip to main navigation
Go to homepage

Automatic Internal Linking


Overview


Description

Automatically improve your internal linking and thereby strengthen the SEO structure of your Shopware shop – without having to laboriously insert links into individual texts by hand. With Automatic Internal Linking for Shopware 6 , you simply specify once which terms should link to which landing pages. The plugin then automatically links these terms within product descriptions, category pages and CMS content.

Automatically place internal links where they make sense

In the backend, you define terms and corresponding destination pages, such as categories, products, landing pages or external URLs. You can also specify how often a term should be linked per page, whether to distinguish between upper and lower case, and in which areas no links should be created. The existing content itself remains unchanged.

Your benefits

  • Automatic internal linking in product, category and CMS content
  • Less manual effort required for SEO linking
  • Targeted strengthening of key categories, products and landing pages
  • Custom terms and landing pages can be freely defined
  • Limit on the number of links per term and page
  • Case sensitivity can be configured
  • Existing links and defined sections are not overwritten
  • Click tracking for internal links
  • Daily checks for incorrect or redirected destinations
  • Import and export of large lists of keywords via CSV or JSON

Improve SEO structure efficiently and sustainably

Consistent internal linking can be particularly time-consuming for large online shops. With this plugin, you can manage relevant keywords centrally and ensure that important landing pages are automatically linked from relevant content. This helps create a clear site structure for search engines whilst also making it easier for your visitors to navigate to relevant content.

Support

Do you have any questions about setting up or using automatic internal linking? You can easily get in touch with us via our contact page .
With our plugin setup service , we can also handle the professional installation and configuration for you on request.


FAQ


Reviews

No reviews yet

Average rating of 0 out of 5 stars

0,00 Rating
Be the first!

Configuration guide

Installation

  • Plugin im Shopware-Account erwerben und über den Plugin-Manager in der Administration herunterladen, oder die ZIP-Datei unter Erweiterungen hochladen.
  • Plugin installieren und anschließend aktivieren.
  • Nach der Aktivierung steht das Modul unter Marketing in der Administration bereit. Ein Leeren des Caches ist in der Regel nicht erforderlich.

Erste Link-Regel anlegen

  • Öffnen Sie das Modul im Marketing-Bereich und legen Sie über Hinzufügen eine neue Regel an.
  • Tragen Sie unter Begriff(e) ein oder mehrere Keywords ein. Mehrere Synonyme werden kommasepariert hinterlegt.
  • Wählen Sie beim Link-Typ zwischen Extern und Intern. Bei Extern geben Sie die Ziel-URL direkt an, bei Intern wählen Sie eine Kategorie, ein Produkt oder eine Landing Page aus. Die SEO-URL wird dann automatisch und sprachabhängig aufgelöst.
  • Wählen Sie den Sales Channel, für den die Regel gelten soll.
  • Speichern Sie. Neue Regeln sind sofort aktiv und werden ab dem nächsten Seitenaufruf im Storefront berücksichtigt.

Feinsteuerung je Regel

  • Blacklist: CSS-Klassen, HTML-Elemente oder CMS-Slot-Typen, in denen nicht verlinkt werden soll.
  • Maximale Ersetzungen: begrenzt, wie oft ein Begriff je Seite verlinkt wird.
  • Groß-/Kleinschreibung beachten, Verlinkung in Überschriften sowie die SEO-Optionen noindex, nofollow, Title und CSS-Klassen je Link.

Globale Konfiguration

Über die Plugin-Konfiguration steuern Sie das Verhalten des täglichen Broken-Link-Checks: automatische URL-Aktualisierung bei 301- und 302-Weiterleitungen, automatische Deaktivierung bei 4xx- und 5xx-Fehlern sowie die maximale Anzahl Links pro Seitenaufruf.

Import und Export

Bestehende Linklisten lassen sich als CSV oder JSON über die Admin-Oberfläche importieren und exportieren. Der Import ist auf externe Links beschränkt. Übersetzungen pflegen Sie anschließend über die Detailseite der jeweiligen Regel.


Changelog

Version number
Compatibility
Last update:
Changelog
Shopware 6.7.*
Version:
6.7.6
Compatibility
6.7.*
Last update:
09. September 2026
- Maintenance release without functional changes.
Version:
6.7.4.0
Compatibility
6.7.*
Last update:
02. September 2026
- CSS blacklist now also matches the surrounding storefront containers. Previously only the markup inside the description text was checked, so classes such as `product-detail-description` or `cms-element-text` were never found and the blacklist had no effect.
- Self-linking prevented: a link pointing to the category, product or landing page currently being displayed is no longer inserted. The entity is checked first, the path as a fallback.
- A blacklist entry no longer blocks a CMS slot for all other entries.
- Product descriptions in CMS slots now respect the blacklist, which they did not before.
- No longer rendered: the `blacklist-classes` attribute on the generated link. It was never evaluated and leaked configuration into the frontend.
- Max. links per page now applies to the whole page request instead of each content block.
- New defaults in the plugin configuration for the replacement limit and the sales channel, used to prefill new entries.
- Internal links keep the base path of a language domain that uses one. Previously every link led from `/en` back to the default language.
- The broken link checker runs again. Its registration had dropped out of `services.xml` on 18/03/2026, so the installation stopped creating the scheduled task.
- The checker now verifies internal links against the database instead of over HTTP. A link to a deleted or deactivated category, product or landing page is detected, which was impossible before because internal links are stored as a path without a domain.
- The checker retries a rejected HEAD request with GET. Servers answering HEAD with 405 were otherwise considered dead.
- The checker reads the configuration once per sales channel instead of four times per link and skips inactive sales channels. The reason for a deactivation is now written to the comment field in the language of the sales channel.
- The endpoint `/zweipunkt/internal-link/{id}` returned a 500 on every call. It was the click path before the switch to `sendBeacon` and had not been registered as a service since March 2026, while `routes.xml` kept importing it via wildcard. `RedirectController` is removed, old calls now end in a 404.
- Removed: the unused Twig extension `TruncateHtmlExtension`. Its `truncate_html` filter appeared in no template and was not registered either.
Version:
6.7.4
Compatibility
6.7.*
Last update:
02. September 2026
- The exclusion list now also applies to the areas the shop wraps around a text. Previously it had no effect in product descriptions, category texts and content blocks.
- Self-linking prevented: on the page a rule points to, the link is no longer inserted.
- The exclusion list of one entry no longer blocks a content block for all other entries.
- Product descriptions inside shopping experiences now respect the exclusion list as well.
- The limit for links per page now applies to the entire page view instead of each content block separately.
- New defaults in the plugin configuration for the replacement limit and the sales channel, used to prefill new entries.
- On language domains with their own path, internal links now stay in the correct language instead of leading back to the default language.
- The daily check for broken links runs again. Since March 2026 the check was no longer created during installation.
- Internal targets are now verified directly in the shop. A link to a deleted or deactivated category, product or landing page is detected as a result.
- Servers that reject the short form of the check are queried again in full and are no longer wrongly treated as dead.
- The reason for an automatic deactivation is now written to the comment field in the language of the respective sales channel.
- The check skips inactive sales channels and therefore runs noticeably faster.
- Internal configuration is no longer rendered as an attribute on the generated link in the storefront.
- The old click detour via a redirect has been removed. Since the switch to direct tracking it returned an error on every call.
Version:
6.7.3
Compatibility
6.7.*
Last update:
24. August 2026
- Store presentation and plugin metadata updated
Version:
6.7.2
Compatibility
6.7.*
Last update:
18. March 2026
Version:
6.7.1
Compatibility
6.7.*
Last update:
16. January 2026
Setup CI pipeline
Version:
6.7.0
Compatibility
6.7.*
Last update:
12. September 2025
Initial release
Automatic internal linking in product, category and CMS pages
Rule-based keyword-to-link replacement
Built-in click tracking
Daily broken link detection with auto-deactivation and auto-repair
Individual SEO control per link (noindex/nofollow, title, CSS classes)
Sales channel specific link rules
Blacklist system for CSS classes, HTML elements and CMS slots
Full admin UI under Marketing
Shopware 6.6.*
Version:
6.6.16
Compatibility
6.6.*
Last update:
18. March 2026
Version:
6.6.1
Compatibility
6.6.*
Last update:
16. January 2026
Setup CI pipeline
Version:
6.6.0
Compatibility
6.6.*
Last update:
12. September 2025
Initial release
Automatic internal linking in product, category and CMS pages
Rule-based keyword-to-link replacement
Built-in click tracking
Daily broken link detection with auto-deactivation and auto-repair
Individual SEO control per link (noindex/nofollow, title, CSS classes)
Sales channel specific link rules
Blacklist system for CSS classes, HTML elements and CMS slots
Full admin UI under Marketing

Internal links help Google to understand the structure of your shop and to prioritise pages. If a thematically relevant keyword on a high-traffic page links to a less well-known product page, this sends a clear signal of relevance. Our experience shows that systematic internal linking improves crawl depth, increases dwell time and can lead to measurable ranking improvements for long-tail keywords within a few weeks.

No, that is precisely the key benefit of this plugin. You create a rule once (keyword + target URL), and the plugin automatically replaces that keyword in all product, category and CMS pages at runtime, without altering your data. With hundreds of product descriptions, this saves you hours of manual work and helps you avoid inconsistencies.

The linking takes place exclusively at runtime within the PHP process and does not write anything to the database. We have not observed any measurable differences in performance in our projects. Furthermore, the built-in broken-link checker automatically disables faulty links, ensuring that your visitors are never shown dead links.

The plugin checks the destinations daily. It retrieves external URLs via HTTP, whilst it checks internal destinations directly within the shop – in other words, it verifies whether the category, product or landing page still exists and is active. If an external address responds with a 301 or 302 status code, the plugin can automatically update the stored URL to the new destination, without any manual intervention. This ensures that your internal linking structure remains consistently up to date, even when changes are made.

The plugin offers a flexible blacklist that allows you to exclude CSS classes, HTML elements or CMS slot types from being linked. Content consisting of less than 180 characters of plain text is never linked, which automatically protects teaser blocks. In practice, we recommend adding specific classes such as “product-detail-configurator-container” or your own teaser classes to the blacklist.