Blog · noindex and X-Robots-Tag · 4 min read · Updated 2026-10-23

Search Console says "excluded by noindex tag" but you have no noindex?

Search Console says excluded by noindex tag, but your HTML has none. Check the X-Robots-Tag header, WordPress settings, plugins and CDN rules.

Short answer: the noindex Google saw is almost never missing, it is just not where you looked. It is usually an X-Robots-Tag HTTP header added by the server, a CDN or a plugin, a WordPress or SEO plugin setting, a staging setting that was copied live, or an old crawl that Google has not refreshed yet. View source will not show you a header, so check the response headers first, then the settings, then ask Google to recrawl.

Why can't I see the noindex in the page source?

Google accepts noindex in two forms: a <meta name="robots"> tag in the HTML, or an X-Robots-Tag HTTP response header. Google's documentation treats them as equivalent. A header never appears in view source, so a page can look clean and still be blocked. Search Console's "Excluded by 'noindex' tag" status means Googlebot found one of the two on its last crawl.

How do I check for a hidden X-Robots-Tag header?

Run this from a terminal, using the exact URL Search Console flagged:

curl -sI https://example.com/some-page | grep -i x-robots-tag

If the site is blocked by a header, you will see a line like this:

x-robots-tag: noindex, nofollow

No output means no header was sent to your request. Some security plugins and CDN rules answer differently to Googlebot than to a normal browser, so also run the URL through Search Console's URL Inspection tool and open the live test. It shows the response Google actually got. If you would rather not use a terminal, the free noindex checker reads the meta tag and the header in one pass.

Where does the noindex usually come from?

SourceWhere to lookHow to fix
WordPress reading settingSettings, Reading, "Discourage search engines from indexing this site"Untick it and save
SEO plugin, per pageThe plugin's box under the editor, advanced or robots sectionSet the page to index
SEO plugin, per post type or taxonomyPlugin search appearance settingsTurn off "noindex" for that type
Server or CDN headerApache or Nginx config, Cloudflare Transform RulesRemove the header rule
Staging setting carried overHost staging tools, .htaccess, a migration pluginRemove it from the live site
Stale Google dataURL Inspection, last crawl dateFix first, then request indexing

What do I check on a WordPress client site?

  1. Open Settings, Reading. If "Discourage search engines from indexing this site" is ticked, untick it. WordPress's own documentation says it is a request, but it adds a robots meta tag, and Google honours it.
  2. Open the flagged page in the editor and check the SEO plugin's robots or advanced section. Then check the plugin's global settings for the page's post type, since one switch there can noindex every page of that type.
  3. Look for a header rule in .htaccess or the Nginx config, such as Header set X-Robots-Tag "noindex". Staging copies often leave this behind.
  4. Check the CDN. In Cloudflare, look at Rules, Transform Rules, Modify Response Header for a rule that sets X-Robots-Tag.
  5. Clear the page cache and the CDN cache, then run the curl command again.

I removed it. Why does Search Console still say excluded?

Search Console reports what Google saw on its last crawl, not what your site serves now. After the fix, open URL Inspection, run the live test to confirm the page is indexable, then click Request Indexing. Google's recrawl guidance explains how to ask for a recrawl, and validating a fix can take days or longer for a large site. A page cannot be indexed while it still shows noindex, so confirm the live test passes before you start the validation.

What do I tell the client?

Keep it short and specific. For example: "Your site had a hidden setting telling Google not to list these pages. It has been removed and we have asked Google to recheck. Pages usually return within days to a few weeks, and we are watching it daily." Name the cause (a setting, a plugin or a header) so they know it was a configuration slip, not an attack, and tell them if traffic dropped while the pages were out of the index. Do not promise a recovery date. Google decides that.

How does quietwatch catch this?

quietwatch checks your client sites every day for noindex tags, X-Robots-Tag headers, robots.txt blocks and the other silent causes of deindexing, and emails you when something changes. See what quietwatch checks every day. The free tool above is the place to start: paste one URL and see what Google would see.

Sources

All posts · The fourteen checks

Free tool

Noindex checker: run it on any page, free

No account. The same measurement quietwatch runs on every client site, every day.

Noindex checker