Excluded by ‘noindex’ tag

Where you see it: Search Console → Indexing → Pages → Why pages aren’t indexed

Googlebot crawled this URL and found a noindex instruction, in a robots meta tag or an X-Robots-Tag HTTP header, so it kept the page out of search. Google did what the page asked. The only question is whether the page was meant to ask.

Keep it on pages you hid on purpose; remove it from pages you want found.

Tag archives, thank-you pages, cart and checkout, internal search results and login pages belong here. If a post, a service page or your homepage is listed, something prints a noindex you didn’t intend. If the whole site appears at once, look for one site-wide switch first.

Check a URL nowCan RankHive fix it? No

Check the URL Search Console listed

Paste a listed URL you expected to be indexed. The checker reads robots meta tags and the X-Robots-Tag header separately, so you see where the noindex comes from, and on WordPress it reads your homepage too, to tell a site-wide switch from one post’s setting.

Paste the URL exactly as Search Console lists it. The check takes up to 30 seconds.

Indexability report

Enter a URL to see whether Google can crawl and index it, and which Search Console status any problem causes.

What each finding means in Search Console

The Page indexing report in Search Console names the reason a page is not indexed. This is the setting behind each reason, and the guide that fixes it on WordPress. For the full list, see Search Console Errors: Fixes for WordPress.

What the checker findsSearch Console statusFix guide
robots.txt Disallow rule matches the URLBlocked by robots.txtBlocked by robots.txt on WordPress: How to Fix
noindex in robots meta or X-Robots-TagExcluded by ‘noindex’ tagExcluded by Noindex Tag in WordPress: How to Fix
Canonical points to another URLAlternate page with proper canonical tagAlternate Page With Proper Canonical Tag: Meaning
No canonical, duplicates existDuplicate without user-selected canonicalFix Duplicate Without User-Selected Canonical
Conflicting canonicals or weak signalsDuplicate, Google chose different canonical than userFix Google Chose Different Canonical Than User
URL redirects elsewherePage with redirectPage With Redirect: What It Means on WordPress
Returns 404 or 410Not found (404)Fix 404 Errors in Search Console on WordPress
Error page that returns 200Soft 404Soft 404 Errors on WordPress: Causes and Fixes
Returns 5xx or times outServer error (5xx)Fix 404 Errors in Search Console on WordPress
Redirect loop or overly long chainRedirect errorFix 404 Errors in Search Console on WordPress
Nothing blocks it, but few links or thin contentDiscovered – currently not indexed / Crawled – currently not indexedDiscovered – Currently Not Indexed on WordPress

Reading the result

  • Robots directives shows noindex, and the hint says your homepage is noindex too: a site-wide setting, most often Settings → Reading. Start there.
  • Noindex in a meta tag, with a hint pointing at the post’s own setting: the SEO plugin box on that post, or the default for its content type.
  • A hint that this looks like a tag, category, author or date archive: an archive setting in your SEO plugin, usually deliberate.
  • X-Robots-Tag with noindex but no noindex meta tag: the header comes from the server, a CDN, the host or a plugin that sends headers. No editor screen will show it.
  • Nothing blocks indexing: the live page has no noindex now. Search Console shows Google’s last crawl; validate below.

The same tool with its full guide: Indexability Checker

Why it happens on WordPress

WordPress has more places that print noindex than most owners expect, and several of them are working as designed.

The “Discourage search engines” box

Settings → Reading → Search engine visibility has a checkbox, Discourage search engines from indexing this site. Since WordPress 5.3 it adds noindex, nofollow to every page instead of editing robots.txt, and it switches off core’s sitemap. It gets ticked during a build and forgotten at launch, or travels in the database when staging is pushed live.

One post’s own SEO setting

Yoast SEO asks Allow search engines to show this content in search results? in each post’s Advanced section. Rank Math, SEOPress and All in One SEO keep a No Index option in their Advanced tab. Set once on a page under construction, it is easy to forget.

A default that hides a whole content type

Every SEO plugin can noindex all posts of one type, or every term of a taxonomy, with one switch. Custom post types a theme or plugin adds, such as portfolio items or courses, have their own default that is easy to miss.

A header nobody sees in the page source

X-Robots-Tag lives in the HTTP response, set by .htaccess, the Nginx config, a CDN rule or a headers plugin. Hosts add it to staging and temporary domains on purpose; Kinsta’s docs say it can’t be removed there, which is what a staging copy should have.

A coming-soon page left switched on

While a coming-soon page is active it replaces every URL, so a noindex on it reaches the whole site. SeedProd, for one, offers an Enable No Index option on that page. Posts Google crawled in that window stay here until it returns.

Noindex that WordPress and WooCommerce add themselves

Core noindexes internal search results and the login page. WooCommerce marks cart and checkout pages noindex. Rank Math can noindex empty category and tag archives. Leave these in the list.

How to fix it

Decide which URLs should be here, then trace each unwanted noindex to its source, widest first.

  1. 1. Spot the pages nobody meant to hide

    Read down the example URLs for this status. Tags, search results, cart, checkout, account, thank-you and login pages are usually hidden on purpose. Posts, pages, products and your homepage usually aren’t, and only those need work.

  2. 2. Check the site-wide switch first

    If your homepage or most posts are listed, open Settings → Reading, clear Discourage search engines from indexing this site, and save. If you deploy from staging, clear it after every push, since the setting travels with the database.

  3. 3. Clear the post’s own setting

    Open the post in the editor and reset the robots option in your SEO plugin.

    • Yoast SEO: the Advanced section of the Yoast box or sidebar; set the show-in-search-results question to Yes or the default.
    • Rank Math: the Rank Math icon in the toolbar, then the Advanced tab, then untick No Index under Robots Meta.
    • SEOPress: the SEO metabox, then the Advanced tab, then untick noindex.
    • All in One SEO: AIOSEO Settings, then Advanced, then switch Use Default Settings back on or untick No Index.
  4. 4. Fix the default for a whole type

    When every post of one type is listed, the plugin’s default hides it.

    • Yoast SEO: Settings → Content types, or Categories & tags, and turn the Show in search results switch back on.
    • Rank Math: Titles & Meta, the tab for that post type, and untick No Index in its robots meta.
    • SEOPress: SEO → Titles & Metas, the Post Types or Taxonomies tab, and untick noindex.
    • All in One SEO: Search Appearance → Content Types, and set Show in Search Results to Yes.
  5. 5. Hunt down a header no screen shows

    If the checker reports X-Robots-Tag: noindex and the source has none, look outside WordPress settings: .htaccess or the Nginx config, your CDN’s header rules, your host’s dashboard, and security or header plugins.

  6. 6. Switch off coming-soon mode, then purge caches

    Disable coming-soon or maintenance mode once the site is live, then clear the page cache and the CDN cache. A cache can keep serving the old noindex copy after the setting is fixed.

Noindex only works when Google can read it

If robots.txt also blocks the URL, Googlebot never fetches the page, never sees the noindex, and can still list the bare address when other pages link to it. To keep a page out of search, let Google crawl it and keep the noindex. To get it indexed, remove both.

Noindex meta tag or robots.txt?

Check the fix in Search Console

Google has to recrawl each page and find the noindex gone before the status changes.

  1. Run the checker again after purging caches, until Robots directives no longer shows noindex.
  2. In URL Inspection, click Test live URL. Indexing allowed? should now read Yes.
  3. Click Request indexing for your homepage and most important pages.
  4. If you cleared the site-wide box, resubmit your sitemap in Indexing → Sitemaps; core’s sitemap is off while that box is ticked.
  5. Click Validate fix on Excluded by ‘noindex’ tag only if every listed URL should be indexed, as after a site-wide switch was left on. Google expects most validations to take up to about two weeks.

Validation fails as soon as Google rechecks a page that still carries noindex. When tags, cart or thank-you pages share the list, skip it: pages return one recrawl at a time, and the report updates as Google gets to them.

Can RankHive fix this?

No. RankHive can’t set or remove noindex anywhere, so the fix is a WordPress setting, your SEO plugin or your host. During an analysis it can inspect your posts through Search Console’s URL Inspection data, which reports a noindex when Google found one.

What it writes, once you approve

  • Internal links from related posts to a post you’ve made indexable again, so Google has paths back to it.

What it can’t do here

  • Remove a noindex from a post, page, archive or the whole site.
  • Untick Discourage search engines, or change Yoast SEO, Rank Math, SEOPress or All in One SEO settings.
  • Remove an X-Robots-Tag header set by your server, host or CDN.
  • Turn off a coming-soon plugin or purge caches.
  • Resubmit sitemaps, request indexing or start validation.

Every change is drafted next to the current value and waits for your approval. Each one written is logged in the Change Log, with Revert.

Check the rest of your site while you’re here

The free site check reads your public pages for titles, meta descriptions, headings, canonical tags and schema, and shows what needs fixing. If you sign up, RankHive reads your Google Search Console data every week, drafts the fixes, and writes the ones you approve to WordPress. Nothing changes on your site until you say yes.

Free site check. No sign-up needed.

Common questions

Is “Excluded by ‘noindex’ tag” an error?

No, not by itself. Google followed an instruction on the page, and its help says not indexed isn’t necessarily bad. It is a problem only on pages you want in search.

Why is my whole WordPress site excluded by noindex?

Usually the Settings → Reading box is ticked, often after a staging copy went live. If it’s clear, check for a coming-soon plugin, then for an X-Robots-Tag header.

Should I remove noindex from tag pages?

No, unless a tag has its own introduction and is a page people would search for. Removing it to shrink this count adds thin pages to the index.

How do I see where the noindex comes from?

View the page source and search for noindex. If it isn’t there, the noindex is in the HTTP headers, which the checker on this page shows as X-Robots-Tag.