Canonical, Redirect, noindex or robots.txt: Which One Do You Actually Need?
Use a canonical for duplicates that must stay reachable, a permanent redirect for pages that moved or merged, noindex for pages that should load but not appear in Google, and robots.txt only to limit crawling. None of them hides private content, which takes a sign-in. The matrix below pairs each kind of page with its control and with the failure that setting it wrongly causes.
Which control do you need: canonical, redirect, noindex or robots.txt?
Each control answers a different question: a redirect says this URL is replaced, a canonical says another URL is preferred, noindex says do not show this page, and robots.txt says do not request this URL.
- Duplicate that must keep loading: use a canonical. Google calls it a strong signal, not a command.
- Moved or merged page: use a permanent redirect, the strongest of the methods Google lists for choosing a canonical.
- Accessible page with no search purpose: use noindex, and leave it crawlable so Google can read the rule.
- Crawl volume is the problem: use robots.txt, knowing it can leave a URL indexed without its content.
- Private content: use authentication. Nothing else here restricts access.
The failure cases are where the controls collide. None of the three pages analysed for this topic puts the failure beside the fix for each kind of page in one table, so this page is built around that.
Which four questions pick the right control?
Four questions, asked in this order, settle almost every case: who may open the URL, whether an equivalent page exists, whether the page should appear in Google, and whether the real problem is crawl volume. Access comes first because it is the one thing none of the SEO controls can supply.
- Who may open this URL? If only certain people should, put the page and its files behind a sign-in. Stop there.
- Does an equivalent page exist? If the old URL is going away, redirect it to the equivalent. If both URLs must keep working, add a canonical on the duplicate that points to the equivalent.
- With no equivalent, should the page appear in Google? If it should load for visitors but not appear in results, use noindex and keep it crawlable. If it is gone for good, remove it.
- Is the problem the number of requests, not what is indexed? Then write robots.txt rules for a defined family of URLs, and accept that they do not pull URLs out of the index.
Kanso built this order from Google's canonicalization and noindex documentation and from ThinkRank's six worked scenarios. It is a decision aid for the cases those sources describe, and it has not been tested against a live site.
What does the decision matrix look like, with the failure to avoid?
The matrix pairs nine common situations with the control to use, the reason and the setting that goes wrong. Read the last column first if you are debugging a page that is behaving oddly.
| Situation | Use | Why | Failure to avoid |
|---|---|---|---|
| The same page at several URLs (tracking tags, sort orders) that must all keep working | rel=canonical on each variant, pointing to the clean URL | Every URL still loads, and signals such as links are consolidated on one | noindex on the variants: it blocks them from Search entirely, and Google prefers canonical for this job |
| A duplicate you are deleting | A permanent, server-side redirect to the page you keep | Google lists redirects as the strongest canonicalization signal, and server-side ones are noticed fastest | Leaving only a canonical, so visitors stay on the old URL |
| A page that moved permanently | A permanent redirect to its replacement | Visitors and crawlers both land on the new page | Redirecting to a page that is not a true replacement |
| A public page with no search purpose, such as a form confirmation | noindex (meta tag or X-Robots-Tag header), page left crawlable | Google has to fetch the page to read the instruction | Also disallowing it in robots.txt, which hides the noindex from Googlebot |
| A file with no HTML head, such as a PDF | An X-Robots-Tag: noindex header, or a canonical Link header if another file should represent it | Both rules have an HTTP header form | Searching for a meta tag or link element to edit in a file that has none |
| A large family of filter or parameter URLs you do not need crawled | Targeted robots.txt rules for that URL pattern | This is a crawl-volume problem, which is what robots.txt controls | A blanket rule that also covers URLs you want crawled, or expecting it to remove URLs already indexed |
| A page only signed-in people should read | Authentication on the page and on its files | Neither robots.txt nor noindex restricts access, and robots.txt is public | Treating a Disallow line or a noindex tag as a lock |
| A retired page with no replacement | Remove the content, then follow Google's removal documentation for the details | There is no equivalent page to redirect or canonicalize to | Disallowing it in robots.txt: Google may keep indexing a disallowed URL without its content |
| The http and https versions of a page | Redirect http to https, point the canonical at https, optionally add HSTS | Google prefers https by default, and these three actions reinforce it | An https page whose canonical points to the http version |
The robots.txt row follows ThinkRank, which paraphrases Google's faceted navigation guidance. Every other row rests on the Google pages linked in the next sections.
What does each control tell Google?
Each control makes a different request, and the strength of that request differs. The table sets out the four, with the strength the sources give each one and its main limit.
| Control | What it tells Google | Strength | Main limit |
|---|---|---|---|
| Permanent redirect | This URL is replaced by the target | Strongest of the three canonicalization methods Google lists | Use it only when deprecating a duplicate. It also moves visitors. |
| rel=canonical | That URL best represents this content | A strong signal in Google's ranking of methods; Search Engine Journal calls it a hint | Google can choose a different URL. It only works in the HTML head, or as a Link header. |
| noindex | Do not show this page in results | A directive: Google drops the page once it crawls the rule | Google must be able to crawl the page. Other search engines may read it differently. |
| robots.txt Disallow | Do not request these URLs | A crawl control, not an index control | A blocked URL can still be indexed without its content. The file is public. |
The two descriptions of the canonical tag fit together. Google's canonicalization page ranks it as a strong signal, and Search Engine Journal calls it a hint because Google may still show another URL.
Google also says these methods stack. Using two or more increases the chance that your preferred URL is the one that appears, which is why a redirect, a canonical and a sitemap entry should all name the same URL.
Canonical vs noindex: which one should a duplicate page get?
A duplicate that you want combined with its original should get a canonical, not noindex. Google's page says it does not recommend noindex for choosing a canonical page within one site, because noindex blocks the page from Search completely and the canonical annotation is the preferred tool.
Google gives four reasons to name a canonical: to say which URL people should see in results, to consolidate signals such as links from other sites, to simplify tracking of one piece of content, and to save crawling time on duplicates. A noindex page contributes to none of those four.
Search Engine Journal covers a harder case: an ecommerce store with thin or duplicate product variations. John Mueller said in a Google office-hours session that there is probably no absolute answer and that both options can be acceptable.
His test, as the article reports it, is your strongest preference. If you do not want the content shown at all, use noindex. If you want everything combined into one page and do not mind a variant occasionally appearing, use a canonical.
The difference in outcome is certainty. By his account, as the article reports it, a noindexed page is definitely not shown, while a canonicalized one is only more likely not to be shown.
An illustrative case, not a test: on a shop where example.com/shoes/trail-runner?colour=blue shows the same product as example.com/shoes/trail-runner, a canonical on the colour URL keeps it usable and credits links to the clean page. A noindex there would drop it from results and, according to Search Engine Journal's reading of Google's documentation, pass no signals on.
301 vs canonical: when does a redirect beat a canonical tag?
A permanent redirect beats a canonical when the old URL should stop being a destination, and a canonical wins when both URLs must keep loading. Google describes permanent redirects as the way to tell it a redirected URL is a worse version than its target, and says to use them only when deprecating a duplicate.
On Google's ranking of canonicalization methods, redirects come first as a strong signal, rel=canonical annotations second as a strong signal and sitemap inclusion third as a weak one. For the quickest effect, Google recommends server-side HTTP redirects over other redirect types.
ThinkRank states the visitor-side difference plainly. A canonical tag leaves visitors on the old page, so it cannot stand in for a move, and a redirect is wrong when the old URL still has a job.
Its example is a campaign-tagged copy of an article: the tagged URL is still needed for attribution, while the clean URL is the one to prefer in search. That is a canonical case. A service page renamed from one URL to another is a redirect case.
One check applies to both: the destination must be a true equivalent. Pointing a canonical at the homepage because it feels more important fails, since it does not hold the same content, and Google decides duplicates by how similar the pages are.
robots.txt vs noindex: why can blocking a page keep it in results?
Blocking a page in robots.txt can keep it in results because robots.txt stops the request, not the listing. Google's canonicalization page warns that URLs disallowed in robots.txt may still be indexed, without their content, and tells you not to use the file for canonicalization.
Noindex works the other way round. Google's noindex documentation says Google drops the page from results once it crawls the rule, but that it has to crawl the page to see a meta tag or header in the first place.
That produces the most common failure on this topic. A page tagged noindex and also disallowed in robots.txt never has its tag read, so it can stay listed. Google says that to unblock such a page you must edit robots.txt.
Two more limits come from the sources. Google does not support a noindex line inside robots.txt, and ThinkRank adds that robots.txt is public and, with noindex, gives no access protection.
Robots.txt still has a proper job. ThinkRank's faceted navigation example, a shop that generates colour and size filter URLs, is a crawl-volume problem, and a targeted rule for that URL family fits it. Review the patterns first, because a blanket query-string block can catch URLs you wanted crawled.
The same partial-block trap appears with AI crawlers, covered in Kanso's block-or-allow framework for GPTBot and other AI crawlers.
Can you combine a canonical and noindex on the same page?
You can, but the sources disagree about whether to do it when the canonical points to a different page. Treat that combination as unsettled and choose one intent for each URL.
Conductor separates two cases. With a noindex and a canonical to another page, it says the noindex may be carried over to the target, which defeats the purpose of consolidating there, and calls the pair very conflicting.
It reproduces a statement, presented as guidance from Google, that Google would generally follow the canonical over the noindex. The extracted page does not name the speaker or give a date, so this page does not rely on it. With a noindex and a self-referencing canonical, Conductor says it has found no harm, and sees no need to change pages that already carry both.
Search Engine Journal reports John Mueller saying you can do both, and that if external links point at the page, the pair tells Google you do not want the page indexed but named another page, so some signals might be forwarded. The article notes his hedged “maybe” and adds that Google's documentation implies a noindexed page passes no signals.
Kanso's reading, which is analysis: if the page is a duplicate you want consolidated, use the canonical alone, as Google's documentation prefers. If the page should be hidden, use noindex, and point nothing at it. ThinkRank makes the related point that a confirmation page has no equivalent, so a canonical to the contact page would misdescribe it.
What are the eight ways to send Google two answers?
Eight setups on Google's canonicalization page produce contradictory signals, and each has a fix. The table lists them, since a canonical that Google ignores usually has one of these causes.
| Setup | What Google says | Fix |
|---|---|---|
| The sitemap lists one URL and rel=canonical names another | Google says not to specify different canonical URLs for the same page with different techniques | Make the sitemap list the same URL the canonical names |
| An HTTP header and a link element name different URLs | Google supports both but calls using them together more error prone | Pick one method and stay with it |
| An https page has a canonical pointing to its http version | Google lists this as a conflicting signal that can make the http page canonical | Point the canonical at https and redirect http to it |
| The canonical is a relative path | Supported, but Google does not recommend it, for example if a test site is crawled by accident | Use the absolute URL, including the protocol |
| The canonical element is outside the head | Google accepts the element only inside a valid head | Check that the head parses cleanly before the element |
| JavaScript rewrites the canonical after load | Google says the HTML source should carry it and JavaScript should not change it | Set it in the HTML source, or leave it out of the source and set it only in JavaScript |
| The canonical is a URL fragment | Google says it generally does not support fragments | Name a full URL without a fragment |
| Internal links point at the duplicate | Google advises linking to the canonical URL, because consistent links show your preference | Update menus, breadcrumbs and in-content links |
Two further details from the same page matter for sites with language versions. Annotations carrying hreflang, lang, media or type attributes are ignored for canonicalization, and a canonical should name a page in the same language, or the closest available.
What do X-Robots-Tag, nofollow and a robots.txt noindex change?
An X-Robots-Tag header does the same job as the noindex meta tag for files with no HTML head, a nofollow is a separate hint you can add alongside noindex, and a noindex line in robots.txt does nothing in Google. Google's noindex page says the meta tag and the header have the same effect, so choose whichever suits the content type.
The header is the route for PDFs, video files and images. Google gives X-Robots-Tag: noindex in a 200 response as its example, and says the value none also works.
On nofollow, the documentation says you can join a nofollow hint with a noindex rule, for example <meta name="robots" content="noindex, nofollow" />. They answer different questions, so one never implies the other.
Google adds that some other search engines may interpret noindex differently, so a page may still appear in their results. The sources used here describe Google only, and Bing and other engines are not covered.
How do you check that the change worked?
Check what the public URL serves, then check what Google has recorded, and expect the second to lag. Google says a noindex rule can take months to be picked up for a page of low importance, and that you can request a recrawl with the URL Inspection tool.
- For noindex, use URL Inspection to see the HTML Googlebot received, and the Page indexing report to monitor pages where Googlebot found a noindex rule.
- For a canonical, the indexed view in URL Inspection shows the canonical you declared and the one Google selected, according to ThinkRank. Read its last crawl date before judging a recent edit.
- Do not use the live test to judge canonical selection. ThinkRank says it does not show which duplicate Google chooses.
For the timing question, Kanso's comparison of published indexing-time estimates sets out what is and is not known. If a URL sits in a Search Console status you do not recognise, this guide to the discovered, crawled, indexed and ranked stages maps each status to a fix.
Where does Kanso fit?
The Coding Agent prepares title, meta description and canonical fixes as GitHub pull requests that you review, and it never merges or deploys. That covers the canonical row of the matrix when the fix lives in your repository.
Redirects, noindex rules and robots.txt entries are not part of that description, so treat them as changes a person makes and verifies.
What is documented, and what is Kanso's analysis?
The facts below come from the named sources and the interpretation is Kanso's. Both lists are as of 5 November 2026.
- Documented (Google): redirects, rel=canonical and sitemap inclusion are ranked as strong, strong and weak canonicalization signals, and they stack.
- Documented (Google): noindex is not supported in robots.txt, needs the page to be crawlable, and can take months to be picked up.
- Documented (Google): robots.txt-disallowed URLs may still be indexed without content, and noindex is not recommended for choosing a canonical within a site.
- Reported (secondary): Mueller on choosing by preference (Search Engine Journal), the ThinkRank scenarios, and Conductor's view that a self-referencing canonical with noindex is harmless.
- Analysis: the order of the four questions, the nine matrix rows and the advice to give each URL one intent are Kanso's synthesis.
- Analysis: the shoe-shop URLs are an illustration, not a measured case.
- Not covered: hreflang clusters beyond the two details above, URL removal tooling, status-code choices for retired pages, and engines other than Google.
Canonical vs noindex vs 301 vs robots.txt: frequently asked questions
Which is best: noindex or rel canonical?
Use rel canonical when several URLs show the same content and you want them combined, and noindex when you want a page kept out of results. Google's documentation advises against using noindex to choose between duplicates on one site, because it blocks the page from Search entirely. John Mueller, as reported by Search Engine Journal, said there is no absolute answer and that your strongest preference should decide.
What is the difference between a 301 redirect and a canonical tag?
A redirect sends visitors and crawlers to a different URL, while a canonical tag leaves both URLs reachable and only states which one you prefer in search. Google's canonicalization page ranks redirects as the strongest signal and says to use them only when deprecating a duplicate. Choose a canonical when the second URL still has to load.
What is the difference between robots.txt and noindex?
Robots.txt controls whether a crawler may request a URL, while noindex tells Google not to show a page it has fetched. Google says it must crawl a page to see a noindex tag, so blocking the page in robots.txt can stop the tag being read. Neither one protects private content: that needs a sign-in.
Can I use a canonical and a noindex tag on the same page?
You can, but the sources disagree about whether you should when the canonical points to a different page. Conductor warns that the pair sends conflicting signals and that the noindex may be carried to the canonical target, while Search Engine Journal reports Mueller saying both can be used. Conductor also calls a noindex with a self-referencing canonical harmless.
Does Google support noindex in robots.txt?
No. Google's noindex documentation states that specifying the noindex rule in the robots.txt file is not supported. Use a robots meta tag or an X-Robots-Tag response header, and leave the URL crawlable.
Why is my noindex page still showing in Google?
Google probably has not crawled the page since the rule was added, or robots.txt is blocking the URL so Googlebot cannot see the tag. Google says a revisit can take months for a page of low importance, and that you can request a recrawl in the URL Inspection tool. If the page must leave results quickly, Google points to its removals documentation.
Is a canonical tag a command or a hint?
Google's own page calls a rel=canonical annotation a strong signal rather than a command, and Search Engine Journal describes it as a hint that Google may not follow. In practice Google can still select another URL as canonical. Stacking a redirect, a canonical and a sitemap entry that agree raises the chance that your preference is used.
What is the difference between noindex and nofollow?
Noindex stops a page appearing in results, while nofollow is a separate hint about the links on the page. Google's documentation says you can join a nofollow hint with a noindex rule, as in a robots meta tag with the content noindex, nofollow. The two do different jobs, so one does not imply the other.
Will the Search Console live test confirm my canonical worked?
No. ThinkRank notes that the live test does not show which duplicate Google will pick as canonical. Check the indexed URL view in URL Inspection for the canonical you declared and the one Google selected, and look at its last crawl date before treating it as evidence about a recent edit.
Does every page need a canonical tag?
No. Google says none of the canonicalization methods is required and that, without a preference, it picks the version it judges best for users. Google does advise putting a self-referential canonical on the canonical page itself.
Sources
- How to specify a canonical URL with rel="canonical" and other methods, Google Search Central
- Block Search indexing with noindex, Google Search Central (page footer: last updated 10 December 2025)
- When To Use Rel Canonical Or Noindex ...Or Both, Search Engine Journal
- Can I combine a Canonical URL and Noindex tag?, Conductor Academy
- Canonical vs noindex vs robots.txt: choose the right control, ThinkRank (sources checked 11 October 2026)
Note: Facts come from two Google Search Central pages and three named secondary sources, all read on 5 November 2026. Google changes its documentation, so confirm against the linked page before acting. The matrix and the four questions are Kanso's synthesis of those sources, not a Google standard, and Kanso ran no tests of its own for this page. Kanso has no affiliation with Google, Search Engine Journal, Conductor or ThinkRank.
Search & AI discovery