Does a PrestaShop canonical manager create 301 redirects?
No. The Product Canonical Manager does not issue 301 redirects. It rewrites the HTML head of your storefront pages instead: it replaces or adds the canonical tag, sets robots noindex/nofollow where you choose, regenerates hreflang tags from your active languages, and tidies canonical conventions (strip parameters, force lowercase or trailing slash). The URL the visitor requested stays the same.
This matters because canonical tags and 301 redirects solve different problems. A canonical tag tells Google which version to index while every variant stays reachable; a 301 actually moves a URL and is the right tool when an address has permanently changed. A common mistake is reaching for redirects to fix duplicate parameter URLs (sorting, filters, tracking tags) when a canonical is the cleaner fix and keeps those pages working for shoppers. The Product Canonical Manager modifies the head tags only and leaves the requested URL unchanged.
In the code, the module works through hookActionOutputHTMLBefore. That hook receives the finished HTML, checks that a <head> section exists, resolves the current page entity, and then changes the canonical, robots and hreflang tags before the response is sent. There is no redirect response, no HTTP status change and no request URL rewrite in that path.
Rules are stored by entity type and entity ID, with shop scope, priority, active flag and language-specific custom canonical URL. The supported entity types are products, categories, CMS pages, manufacturers and suppliers. A rule can target one specific entity or use entity ID 0 as an all-entities rule, so you can create a broad fallback and then override it with a higher-priority specific rule.
The canonical action also matters:
- override replaces an existing canonical with the computed or custom URL.
- custom uses the custom URL stored for the language.
- add missing only inserts a canonical when the page has none.
Parameter stripping is applied to the canonical URL, not to the shopper's visible URL. The default stripped parameters include common tracking values such as utm_source, utm_medium, utm_campaign, fbclid, gclid and msclkid. That is why the module is useful for duplicate URL cleanup without breaking filter, sort or campaign URLs that customers may still use.
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.