PrestaShop PrestaShop Modules

SEO Link Obfuscation: hide faceted links and optimize crawl budget

Remove faceted links from the source code served to crawlers, without touching your visitors' experience

Faceted navigation generates thousands of URLs that consume your crawl budget and dilute your internal linking. This module rewrites targeted links into non-crawlable elements directly in the served HTML, before it reaches the browser. Left click, middle click, ctrl+click and keyboard navigation stay identical for your visitors.

At a glance
  • Server-side HTML rewriting through the actionOutputHTMLBefore hook, before the page reaches the browser
  • Three ready-to-use PrestaShop presets: faceted navigation, product sorting, pagination
  • Custom CSS selectors, one per line, with XPath lines for complex cases
  • Left click, middle click, ctrl+click, tabbing and the Enter key all preserved
  • Automatic re-obfuscation of links reinjected by AJAX filters and infinite scroll
PrestaShop 8 and 9 Multistore Server-side No cloaking Keyboard accessible
  • 30-day refund
  • 12 months updates
  • 24h support
www.datafirefly.com/en/
Obfuscation of faceted filter links in PrestaShop to preserve the crawl budget
v1.0.0 · updated 2026-07-28
What it does

The short version.

01

Server-side obfuscation

The HTML is modified before it reaches the browser. Targeted links do not appear in the source code, including for crawlers that do not execute JavaScript.

02

Three PrestaShop presets

Faceted navigation, sorting dropdown, pagination. Pagination is off by default: it remains useful for crawling as long as your categories are not covered another way.

03

Free-form CSS selectors

One selector per line. Tag, id, class, attribute, descendant and direct child are supported. Complex cases go through a line prefixed with xpath.

04

Human navigation untouched

Left click, middle click and ctrl+click open the URL as before, in a new tab when expected. Obfuscated elements receive tabindex 0, role link and a visible focus outline.

05

AJAX content covered

A MutationObserver applies the same selectors to links reinjected after the initial render, notably by filter refreshes and infinite scroll.

06

Safe fallback when in doubt

If the HTML cannot be parsed or if no link matches, the original page is returned unmodified. The order and cart controllers are excluded by default.

The long version

Everything you'd want to know before you install.

A detailed look at how SEO Link Obfuscation: hide faceted links and optimize crawl budget works, why we built it the way we did, and the thinking behind the features above.

§ 01

Crawl budget is not unlimited

Google allocates each site a daily crawl volume that depends on its authority and server responsiveness. On a 2,000 reference shop with faceted navigation, filter URLs often outweigh product pages in the logs. Every filter URL crawled is a product page left waiting. Reducing the number of discoverable links pushes crawling back towards the pages you care about.

§ 02

Why server-side rather than JavaScript

Many obfuscation solutions replace links after page load, in JavaScript. The link is then present in the initial HTML, the very document a crawler fetches before any rendering. This module works on the server output: the HTML leaving PrestaShop no longer contains the targeted links. Nothing to intercept, nothing to execute, nothing to guess.

§ 03

What the module does not do

No user-agent detection, no content varying by visitor. The HTML is the same for everyone. That distinction is the line between obfuscation and cloaking. The module also does not deindex URLs Google already knows: keep your noindex rules or redirects for that. Obfuscation acts on discovery, not on the existing index.

§ 04

Choosing what to obfuscate

Facets and sorting are the obvious candidates: they are alternative views of the same content, with no ranking value of their own. Pagination is a more delicate case, disabled by default. If your product pages are only reachable through pages 2, 3 and beyond, obfuscating them cuts a crawl path. Only enable it if your sitemap and internal linking already cover the whole catalog.

§ 05

Accessibility and user experience

An obfuscated link stays operable like a link. Elements receive role link and tabindex 0, which puts them in the tab order and announces them correctly to assistive technology. The Enter key triggers navigation, ctrl+click and middle click open a new tab. The original target attribute is preserved when present.

§ 06

Behaviour when something goes wrong

The module checks that the output is a complete HTML page before acting, which rules out AJAX and JSON responses. If document parsing fails, or if no selector matches, the original output is returned as is. The order and cart controllers are excluded by default and the list is editable, so no checkout path depends on navigation JavaScript.