Canonical to non-200 issue means that URL contain a canonical link element where the canonical URL returned a server response other than 200.
The importance of the issue
Rel=canonical is applied to combine pages with identical contents and set the main version of the page for the search engine. If we set the page providing the server response other than 200, we mislead the search engine. The most popular server responses causing issues:
- 301 – Substituted permanently. It means that the URL forwards to another URL.
- 302 – Found. This response code means that the requested URL was temporary changed.
- 404 – Not Found. The server fails to find the requested resource. This server response is mostly given by deleted pages. For some time after the page has been deleted, a search engine gets back to this URL, as it might become available again.
- 410 – an URL was deleted. Its use is recommended for faster deletion of pages from the index.
- 500 – Server’s internal error. The server has faced a situation it cannot process. The error might be caused by a source code issue.
The 200 server’s response tells a search engine that the page has been found. Any other server response makes a search robot take measures other than scanning your page.
The list of server responses https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.
<…>Google does check the status codes before rendering or indexing content.
Specifically, Google will check for a ‘200’ status code before proceeding with crawling any further. A 200 status code indicates to Google that it’s crawling a valid page and there might be content worth indexing on it.
On the other hand, if Google encounters a 400 or 500 error, or a redirect, then it would not proceed with rendering the content for indexing.
Mueller specifically points out that Google does not see any 404 pages. So if you’re designing a fancy 404 page for your site keep in mind that only human visitors will end up seeing it.<…>
How to check the issue
Using any browser is enough to check the issue. Open the source code of the flawed page To do this, click the right mouse button at any spot of the page and choose “browse the code” option, or apply an online tool https://codebeautify.org/source-code-viewer.
Find the link tag with the rel=”canonical” attribute. Copy the URL from href attribute.
Insert a copied address in any response analyzer, such as https://redbot.org/.
The checked URL should return the 200 server response. Any response other than 200 denotes to the presence of an error.
Detect pages with canonical to non-200
Crawl the website to collect all pages where canonical URL returned a server response other than 200
How to fix this issue
If the canonical generation takes place automatically, it is necessary to review the algorithm. The issue is mostly caused by manual settings. In this case, you need to set a correct value of a href attribute for rel=canonical in a specific page configuration.