Baron Munchausen’s Crawl Test Lab

Canonical Pointing to a Noindex Page: Example

I named as my heir a man who climbed the bean to the Moon and has legally declined to return.

The short answer

What it is
This issue occurs when the canonical tag names a target page that has a noindex rule. One page says "index that one," and that page says "do not index me."
Why it matters
The signals cancel each other, so neither page may rank. The content can drop from search even though both URLs load fine.
How a crawler should report it
A crawler should show a canonical to noindex warning with the source URL, the target URL, and where the target's noindex was found. The source should also count as canonicalized.
Live examples
The Baron hanging from a rope below the Moon.
Fig. 20. Climb to the heir, and he kicks away the rope.

Pointing search engines at a page that refuses to be indexed

A canonical noindex conflict happens when a page names a target as its main URL, and the target has a noindex rule. The rule might be in a meta tag or in an X-Robots-Tag header. This is often a side effect of two separate choices. One team hides an old page or a print view. Another team, or a plugin, points similar pages at it.

Browsers load both pages with no sign of trouble. Search engines get a contradiction. The source says the target is the one to index, but the target says to keep it out. The engine may ignore the tag and index the source, or it may drop both pages. You cannot count on one result. Google advises against using noindex to manage canonical choice within a site, for this very reason.

To detect the conflict, take each canonical target and check the rules on that URL. Look at its meta robots tag and its response headers, and not only those of the source page. A crawl that follows canonical URLs can make this check for every row. This lab sets up a page whose target carries noindex, along with a clean page whose target can be indexed. Also check for the case where the source itself has both rules.

To fix it, decide which page should rank. If the target should rank, remove its noindex rule and confirm that it returns a 200 status. If the target should stay hidden, change the source so that it points to itself or to another page that can be indexed. Do not use both rules on one page to send the same message. Choose one clear signal, and then ask for a recrawl of both URLs.