Our server checks the public URL you enter. Results are not stored.
To check whether a page can be indexed, paste its URL into the free Canonical and Noindex Checker above. It reads the canonical tag, the canonical in the HTTP Link header, the meta robots tag and the X-Robots-Tag header for up to 20 URLs at once, then tells you which pages are indexable, which point their canonical somewhere else, and which carry a noindex. When a canonical points to another URL, it loads that target too and checks that it is live, not redirected and not set to noindex.
Last updated: 6 November 2026. Written by Saad Raza.
Key takeaways
- A page is only indexable when it returns 200, has no noindex in the HTML or the headers, and its canonical points to itself or is missing.
- The X-Robots-Tag header is the noindex people forget, because it never appears in the page source.
- Two canonicals that disagree cancel each other out: Google ignores both and chooses for itself.
- A canonical that points to a redirect, a 404 or a noindexed page is a broken hint, and Google usually ignores it.
- Check in bulk after a migration, a theme change or a new SEO plugin, because those are when tags change without anyone noticing.
Why canonicals and noindex decide what gets indexed
Two small signals control whether a page can appear in Google at all. The canonical tag tells search engines which URL is the main version when several URLs show the same content, such as a product with tracking parameters or a page reachable with and without a trailing slash. The robots meta tag and its header equivalent, the X-Robots-Tag, can tell search engines not to index the page at all.
They do different jobs, and mixing them up is one of the most common technical SEO mistakes. A canonical consolidates duplicates into one URL. A noindex removes a page from results. Robots.txt only stops crawling, which is why a blocked page can still be indexed without its content. If you are unsure which to use, my guide to noindex vs canonical vs robots.txt walks through each case. This checker covers the first two; for crawl rules, use the robots.txt tester.
How to use the Canonical and Noindex Checker
- Paste one URL, or up to 20 URLs with one per line. Include the full address with
https://. - Leave Also check canonical targets ticked if you want the checker to load each page that a canonical points to.
- Run the check. The summary shows how many URLs are indexable, how many carry a noindex, and how many canonicalise elsewhere.
- Click Details on any row to see the exact canonical, meta robots and X-Robots-Tag values, with an explanation for each finding.
- Download the CSV to share the results with a developer or to compare before and after a fix.
What the checker looks at
| Signal | Where it lives | What the checker flags |
|---|---|---|
| Canonical tag | <link rel="canonical"> in the head | Missing, pointing elsewhere, differing only by a trailing slash, relative, on http:// or placed in the body |
| Canonical header | HTTP Link: <url>; rel="canonical" | Shown, and compared with the HTML canonical for conflicts |
| Meta robots | <meta name="robots"> and googlebot | noindex, none and nofollow |
| X-Robots-Tag | HTTP response header | noindex for all crawlers or for Googlebot, and rules aimed at other bots |
| Status and redirects | HTTP status of the final URL | Non-200 pages, and URLs that redirect before the tags are read |
| Canonical target | The page the canonical points to | Broken, redirected, noindexed, or canonicalised again (a chain) |
Directives aimed at another crawler, such as bingbot: noarchive, are listed separately and do not count against the page, because they do not affect Google.
A worked example with real pages
I ran four well-known home pages through the checker on 6 November 2026: https://github.com/, https://www.bbc.com/news, https://developer.mozilla.org/en-US/ and https://example.com/. All four returned 200 and none had a noindex, so all four were indexable. The details were more interesting.
- GitHub declares its canonical as
https://github.comwithout a trailing slash. That is not a mismatch: a domain with no path is the same URL as the domain followed by/, so the checker reports a self-referencing canonical. - BBC News declares the same canonical twice in its head. Because both copies agree this is harmless, and the checker marks it as information, not a problem. It also sends
X-Robots-Tag: bingbot: noarchive, which is listed under rules for other crawlers. - MDN has a clean self-referencing canonical.
- example.com has no canonical tag at all, so it gets a warning. On a tiny page that is fine, but on a real site Google would be left to choose between URL variants.
A problem page looks very different. A product URL with a tracking parameter that sends X-Robots-Tag: noindex and has two canonicals, one absolute and one relative pointing to a different path, is reported as not indexable, with a noindex finding and a conflicting canonicals finding.
How to fix the common problems
Accidental noindex
The usual causes are a staging setting left on after launch (in WordPress, the “Discourage search engines” box), an SEO plugin rule applied to a whole post type, or a server rule that adds X-Robots-Tag to every response. Remove the directive, then request indexing in Search Console. If the page is in the Crawled, currently not indexed report for a different reason, the fix is content, not tags.
Canonical pointing to the wrong page
Templates sometimes hard-code the home page or the first page of a category as the canonical for every URL. Each page you want to rank needs a self-referencing canonical. Pages that really are duplicates, such as filtered product lists, should point to the main version. Guidance on avoiding duplicate content explains which pages should consolidate.
Conflicting or duplicated canonicals
Two plugins, or a theme and a plugin, both printing a canonical is the classic cause. Turn one of them off. If you run international pages, also check that canonicals and hreflang agree; my article on hreflang and canonical conflicts covers the pattern.
Canonical to a redirect or a broken page
After a migration, canonicals often still point at old URLs that now redirect. Update them to the final URL. The redirect and status code checker shows where an old canonical ends up, and the redirect chain mapper tests a whole migration map.
Canonicals for PDFs and other files
Files cannot carry a canonical tag, so the canonical goes in the HTTP Link header instead. The checker reads that header too. My guide to the canonical in the HTTP header shows the server configuration.
What the checker cannot tell you
The checker reads the HTML and headers that our server receives in a plain request. If your canonical or robots tag is added later by JavaScript, it will not see it, and Google may not either on the first pass; JavaScript SEO explains why server-rendered tags are safer. It does not read robots.txt, so a page can pass here and still be blocked from crawling. And a canonical is a hint, not a command: Google can choose a different canonical when other signals, such as internal links and sitemaps, point elsewhere. The URL Inspection tool in Search Console shows the canonical Google actually chose.
Some sites block automated requests or show different content to them, which can produce an error or a different result from the one a browser gets. Up to 20 URLs are checked per run, plus their canonical targets, within a fair-use limit of 60 checks per 10 minutes.
Questions about the Canonical and Noindex Checker
What makes a page indexable?
The page must return a 200 status, must not carry noindex in a meta robots tag or an X-Robots-Tag header, and its canonical must point to itself or be absent. Robots.txt must also allow crawling, which is a separate check.
Is a missing canonical tag a problem?
Not always. Google picks a canonical itself when there is none. Adding a self-referencing canonical removes the guesswork when the same page is reachable through parameters, capital letters or a trailing slash, so it is good practice on every indexable page.
Can I use noindex and a canonical on the same page?
It is better not to. A canonical says another URL is the main version; a noindex says remove this page. Together they send mixed signals. Use a canonical for duplicates and noindex for pages that should not be in search at all.
Why does my page show noindex when the source code has none?
The noindex is probably in the X-Robots-Tag HTTP header, which is set by the server, a CDN or a plugin and never appears in the HTML. The checker shows the header value so you can find where it comes from.
Does Google always follow my canonical tag?
No. A canonical is a strong hint, not a directive. If internal links, sitemaps and redirects point to a different URL, Google may choose that one. Keep all of those signals consistent with the canonical.
If indexing problems are holding back a whole site, my technical SEO services include a full crawl and indexation review, and you can ask for a free audit. You can also browse the other free technical SEO tools.
Request received
Thank you! Saad will contact you within the next 24 hours.
Keep an eye on your phone and inbox.
