Your robots.txt file, your sitemap, and the tags on each page are all talking to search engines, and they are supposed to agree. When they do not, crawlers get contradictory instructions: one signal says "come and look at this page" while another says "stay away," "this page has moved," or "do not show this page." Crawlers must then choose, and the choice is not always the one you wanted. Pages may never get indexed, crawl time may be wasted on dead ends, and search console reports become hard to interpret.

This post covers the three most common disagreements and how to fix each one, using the Robots.txt and Sitemap Toolkit to test rules and regenerate a clean sitemap. In almost every case the answer is the same: decide what you actually want for the page, then make every signal say the same thing.

Why agreement matters

Search engines treat your signals as a set of clues. A sitemap entry says a page is worth discovering. A robots.txt rule says whether a crawler may visit it. A noindex tag says whether it may be shown in results. A redirect says the page now lives elsewhere. A canonical tag says which address is the preferred version. When those clues point the same way, a crawler can act with confidence. When they point in different directions, different crawlers may guess differently.

Adding a page to a sitemap does not override a robots.txt block, and removing a page from a sitemap does not unblock it. Remove the contradiction itself.

Conflict 1: a blocked URL appears in the sitemap

This is the most common conflict on small sites, and it usually happens by accident. A site owner blocks a folder in robots.txt — say /account/ or /search/ — and a sitemap generator lists pages from that folder anyway. Or a page is blocked for a period, the block is forgotten, and the page stays in the sitemap for months.

Find it by testing each sitemap address against your robots.txt rules in the toolkit's URL tester. Any address that returns "blocked" while sitting in the sitemap is a conflict.

Fix it by deciding what the page is for. If it is private or utility content — an account page, a search result, a cart page — then the block is correct, and the fix is to remove the page from the sitemap and regenerate the file. If it is real public content that should be found, then the sitemap entry is correct, and the fix is to narrow the robots.txt rule so it no longer blocks that page, then re-test its neighbours to make sure the narrower rule does not accidentally open a folder you meant to keep closed. Either way, end with both signals agreeing: allowed and listed, or blocked and unlisted.

Conflict 2: a sitemap URL redirects somewhere else

A sitemap should list final destinations, not detours. When a listed URL redirects — to a new slug after a rewrite, to a trailing-slash variant, or from http to https — the crawler follows the redirect and lands on a different address from the one you submitted. One redirect is a minor inefficiency. A sitemap full of them wastes crawl time, confuses reporting, and can leave the real destination under-discovered.

Find it by checking the status code of every sitemap URL. A correct entry returns 200, the code for a successful page. A 301 or 302 means the address redirects, and a 404 or 410 means it is gone. The SEO Checker reports status codes and redirect chains page by page.

Fix it by replacing the redirected address in your source list with the final destination address, and regenerating the sitemap. Do not simply delete the entry if the destination is a real page you want found — the destination deserves its own entry. If the redirect chain has more than one hop, fix the chain where you can so the old address points directly to the final one, and list only the final address. If the page is genuinely gone with no replacement, remove it from the sitemap.

Conflict 3: a noindex page is listed in the sitemap

A noindex tag tells a search engine not to show a page in results. Listing that same page in a sitemap tells it the page is worth discovering. Those instructions pull in opposite directions, and the usual outcome is that the page stays out of results — the noindex wins — while the crawler has wasted a visit on a page it was never going to show.

This often arises for a good reason that was later forgotten. A page is marked noindex while it is a draft, a thank-you page, or a temporary campaign page, and then an automated generator adds it to the sitemap without checking tags. Or a page is deliberately kept out of results, and nobody told the generator to exclude it.

Find it by checking, for each sitemap URL, whether the page carries a noindex directive in a meta robots tag or an HTTP header. The SEO Checker reports robots and indexing signals per page. Any overlap with your sitemap list is a conflict.

Fix it by deciding what the page is for, and making the signals match. If the page should be found — real, useful content marked noindex by mistake or left over from a draft phase — remove the noindex tag, keep the sitemap entry, and check that robots.txt also allows the page. If the page should stay out of results — a thank-you page, a duplicate, an internal page — keep the noindex tag and remove the page from the sitemap, then regenerate.

A worked cross-check you can repeat

The three fixes share one method, worth running as a routine. Export your sitemap URLs into a table, add three columns — robots.txt result, status code, and indexing tag — and fill them in with the toolkit's URL tester and the SEO Checker. A healthy row reads: allowed, 200, indexable. Any other combination is a question to answer.

Page robots.txt Status Tag Verdict
Homepage Allowed 200 Indexable Keep in sitemap
Blog post Allowed 200 Indexable Keep in sitemap
Account page Blocked 200 Indexable Remove from sitemap
Old post slug Allowed 301 to new slug Indexable Replace with final URL
Thank-you page Allowed 200 Noindex Remove from sitemap
Deleted page Allowed 404 — Remove from sitemap

Work through the table row by row, fix the source list, rule, or tag as required, regenerate, and re-check. Also check a fourth disagreement: a canonical tag pointing elsewhere. List the canonical address instead, and make sure it is allowed, returns 200, and is indexable.

Preventing the next round of conflicts

Conflicts return when only one signal is updated: a slug changes, a section is blocked, or a draft is published without its noindex tag being removed. Whenever you change a URL, a robots.txt rule, or an indexing tag, update the other signals in the same session, keep your sitemap source list under your control, and repeat the cross-check monthly and after any redesign or migration.

Honest limitations

Fixing a conflict does not guarantee indexing, and it does not work instantly. Crawlers revisit on their own schedule, so corrections may take days or weeks to appear in reports, and a fully allowed, listed page may still not appear if its content is thin or duplicated. A robots.txt block also does not remove an already-indexed page; that needs a noindex tag or removal, plus time. For deeper background, read How to Create an XML Sitemap, and build structured data with the Schema Generator.

Frequently asked questions

How long after fixing a conflict will reports update?

It varies, and days to weeks is normal. Crawlers revisit on their own schedule, and search console reports lag behind crawls. Fix the signals, resubmit the sitemap, and check again after a reasonable interval rather than changing things daily.

Should I remove a redirected URL from my sitemap or replace it?

Replace it with the final destination if that destination is a real page you want found. Remove it only if there is no live replacement. Keeping the redirect for old links is still good practice; the sitemap simply should not point at the detour.

Can a sitemap entry override a robots.txt block?

No. A sitemap entry is a suggestion to discover a page, while a robots.txt block is an instruction not to crawl it. Well-behaved crawlers respect the block, so a blocked page in a sitemap will not be crawled through that entry.

human review pending client designation