E-commerce SEO

The canonical tag on PrestaShop: the cases that cause trouble

The canonical tag designates the reference version of a page reachable through several addresses. On a brochure site it causes little difficulty. On a shop, five situations make it awkward, and a bad declaration costs more than no declaration at all.

What the tag does, and does not do

Two reminders that avoid half the mistakes.

It is a hint, not a directive. Search engines can ignore it if they judge the pages genuinely different. A canonical placed on dissimilar content will not be followed.

It does not block crawling. The page still gets visited, it still consumes crawl budget, and its content is still read. The canonical only says which one to index.

A corollary that is often missed: a canonical is not a crawl management tool. If your problem is the volume of pages being crawled, the answer lies elsewhere.

The case of combinations

The most frequent situation, and the most badly handled.

On many themes, selecting a combination changes the URL by adding an identifier. The page then shows the same content with a different image and price.

The rule: the canonical of every variant points at the product page with no combination parameter. That is the version that should be indexed.

Two exceptions worth knowing. If your combinations carry genuinely distinct content, with their own descriptions and visuals, they probably deserve to be separate products rather than canonicalised variants. And if one specific combination attracts searches of its own, the question of splitting arises.

The classic mistake to avoid: letting each combination declare itself canonical. You then end up with fifteen near-identical pages competing with one another.

The case of multi-category products

A product attached to three categories can be reached through three addresses if your URL structure includes the category path.

The canonical points at the address built on the product’s default category. That choice must stay consistent with the marked-up breadcrumb, otherwise you send two contradictory signals.

The point to watch: the default category is easily lost during an import or a reorganisation. A check after each bulk operation avoids discovering canonicals pointing at obsolete addresses.

On a URL structure without the category path, which is the simplest and most recommended setup, the problem disappears entirely.

SEO Cannibalization Detector — PrestaShop 8 & 9Detect and resolve SEO cannibalization through Google Search Console39.00

The case of pagination

A very widespread mistake, and a destructive one.

On a paginated category, the temptation is to point every page at the first. That is a misreading: the products that only appear on page 4 end up on a page you are asking not to index.

The rule: each page in a paginated series carries a canonical to itself. Pages 2, 3 and 4 are distinct pages with distinct content.

Two additions. If you offer a “view all” page, it can legitimately receive the canonicals of the paginated pages, provided it stays usable, which is rarely the case beyond a hundred products. And the first page must not exist twice, with and without the pagination parameter: one must redirect to the other.

The case of filters

A filtered category page points at the unfiltered category, unless you have deliberately opened that facet to indexing.

On an open facet, the canonical is self-referencing: the page has its own title and its own content, it must exist in its own right.

Watch the combination with pagination: page 2 of an open facet points at itself, not at page 1 of the facet nor at the category.

The case of multistore

Two shops sharing the same product raise a substantive question before they become a technical problem.

If the two shops address distinct audiences, with different content and prices, each page is legitimate and must declare itself canonical.

If the two shops display the same content, you have a duplication problem that the canonical will not resolve properly: a cross-domain canonical is possible but it amounts to sacrificing one of the two shops. The real answer is to differentiate the content.

A frequent special case: a test or staging shop left reachable. It must be blocked behind authentication, not handled with a canonical.

The case of multilingual setups

The most damaging confusion of all.

The language versions of a page are not duplicates. The French version and the German version are two distinct pages, aimed at two audiences, and each must declare itself canonical.

Pointing translated versions at the source version deindexes all your translations. It is a mistake you meet regularly on multilingual sites whose international traffic never takes off.

The right tool for linking language versions is the alternate language annotation, a separate and complementary mechanism. It states the relationship between versions; the canonical states the reference version within each language.

Two rules for combining them: each version points its canonical at itself, and declares its language alternates, including itself in the list.

The cross-cutting mistakes

The relative canonical. Use an absolute address, with the protocol and the domain. A relative address works but breaks as soon as a page is served from an unexpected context.

The canonical to a redirected page. It adds a step and muddies the signal. Point at the final destination.

The canonical to a noindex page. A contradictory signal: you designate as the reference a page you are asking not to index.

The double declaration. The theme places a canonical, an SEO module places a second one. Two different tags on the same page produce unpredictable behaviour, and it is a frequent cause of deindexing after a module is installed.

Checking

Three verifications, in this order.

URL inspection in Search Console on a sample of pages, which shows the declared canonical and the one Google selected. A gap between the two signals that your declaration is not being followed.

A crawl of the site recording canonicals, which lets you spot in bulk the pointers to redirected, erroring or noindexed pages.

The indexing report, watching the category of duplicate pages where the canonical differs from the one Google selected.

A frequent symptom of a badly placed canonical: two of your pages compete for the same query and alternate in the results. The SEO Cannibalization Detector module for PrestaShop spots those situations on PrestaShop 8 and 9, by cross-referencing the positions and queries of your pages to identify the ones competing with each other.

Keep reading

Related articles