When several URLs carry the same or similar content, Yandex groups them and picks one to show — the canonical page. The rel="canonical" attribute lets you state your preference, and Yandex is explicit about its status: it is a recommendation, and the robot can ignore it.
How to declare it
Either in the HTML head:
<link rel="canonical" href="http://www.example.com/blog"/>Or in the HTTP header, which is the method for non-HTML documents such as PDFs:
Link: <http://www.example.com/offer/file.pdf>; rel="canonical"The URL must be an absolute path on the same domain.
The five cases where Yandex ignores it
- The non-canonical page answers the query more fully at crawl time and its content differs significantly from the canonical one.
- The canonical URL is not reachable — it redirects, or it is blocked from indexing. A canonical pointing at a page that cannot itself be indexed leaves the non-canonical page to be indexed instead.
- The canonical points to another domain or subdomain.
- Several canonical URLs are specified.
- A chain is specified: page 1 canonical to page 2, page 2 canonical to page 3.
Those five explain nearly every case of “we set the canonical and nothing happened”. A page pointing at itself, incidentally, is correct — the robot treats it as canonical.
Where canonical is the wrong tool
For the HTTPS migration case Yandex withdrew support: moving between protocols requires a 301/302 redirect and the attribute is no longer honoured for it. Canonical can still be used to change between www and non-www, where the robot treats it as a redirect and groups the two versions — but only if it is applied to all pages and points page-to-page. Applied inconsistently, or pointing everything at one page, the robot reads a structural difference and the move fails.
For parameterised URLs
Canonical is not the best instrument for UTM and similar tags. Use Clean-param in robots.txt, or Disallow where that is not possible.
Verifying it worked
A page whose canonical points elsewhere becomes non-canonical and should disappear from results. Confirm in Indexing → Searchable pages → Excluded pages. If it is still in search, the robot has judged that it differs materially from its canonical — which is information, not a malfunction.
Comment nous l'appliquons
The canonical failure we find most often on client sites is the chain, produced by a plugin that canonicalises paginated pages to the previous page rather than to the category. Yandex simply ignores the whole chain, and the client concludes canonical does not work. We test canonical outcomes in the excluded-pages report rather than assuming: a declared canonical is a request, and Yandex says plainly it can refuse.
Services associés