What does 'Excluded by noindex tag' mean?
It means Google crawled the page, found a rule asking it not to index the page, and did what it was told. Search Console's Page indexing report lists these URLs under Excluded by 'noindex' tag, and Google's help page for that reason is short: it tried to index the page, met a noindex directive and didn't index it. When the pages on that list are ones you want found, the work to get the pages indexed starts with that one rule.
A noindex tag is a robots meta tag, meta name="robots" content="noindex", or the same rule sent as an X-Robots-Tag header. So the status isn't a penalty. It's an instruction the site sent, which means it can be found and removed. The harder part is that WordPress has several places that can send it.
The first thing I do is sort the list. I export the URLs and split them into pages that should earn search traffic and pages that shouldn't. A cart page on that list is fine. A service page, a product or a blog post that's meant to bring in leads isn't, and those are the ones I chase.
Where can a noindex come from on a WordPress site?
There are six places I look, starting with the quickest to rule out. More than one can be active at once, so I don't stop at the first hit.
- i.
WordPress's search engine visibility box
Under Settings, Reading there's a box labelled Discourage search engines from indexing this site. Tick it and WordPress prints a robots meta tag with noindex and nofollow on every page. WordPress's own documentation says it's up to search engines to honour the request, and Google does. One box, and the whole site asks to be left out.
- ii.
An SEO plugin setting on the page itself
Yoast asks, page by page, whether to allow search engines to show it in search results. Rank Math has a No Index option under Robots Meta. In AIOSEO it's the No Index box on the Advanced tab of AIOSEO Settings, once Use Default Settings is switched off. Somebody sets it on a draft and forgets it's there after publishing.
- iii.
An SEO plugin setting for a whole content type
All three plugins can hide a whole content type, every page, post or product, with one switch, and AIOSEO calls it Show in Search Results. If a custom post type for services or locations was set to stay out of search when it was created, every page of that type carries the tag.
- iv.
A staging copy pushed to live
Staging sites are usually built with the visibility box ticked so they stay out of Google. Copy the database to live and the setting comes too. It's the first thing I check on launch day after a platform move, and it's often the answer when a whole site vanishes soon after launch.
- v.
An X-Robots-Tag header
The same rule can travel in the HTTP response instead of the HTML. A plugin, a server config file or a CDN rule can add X-Robots-Tag: noindex, and it's invisible in view source. Google's documentation accepts the header in place of the meta tag, so it counts just the same.
- vi.
The theme or custom code
A hardcoded robots meta tag in a theme's header file, or a snippet hooked into WordPress's robots filter, can add noindex under conditions nobody wrote down. It's rarer, but it's the one that survives every plugin setting you change.
Not on WordPress? The status reads the same, and so does the fix: find the switch. On Shopify it's a noindex tag in theme.liquid, the seo.hidden metafield or Unlisted product status. On Squarespace it's the Hide page from search results toggle in a page's SEO tab. On Wix it's the Let search engines index this page toggle under SEO basics.
How do I check for a noindex tag in the source and the response headers?
The dashboard tells you what a setting is meant to do. The page tells you what it actually does. I trust the page, and I check it the way Googlebot sees it.
- Step 01
Run a live test in URL Inspection
In Search Console I inspect the URL, click Test live URL, then View tested page. Google shows the raw HTML it received and the HTTP headers, so I'm reading Googlebot's copy, not whatever my browser cached.
- Step 02
Search the HTML for the robots tag
In the raw HTML I look for
meta name="robots". If there's more than one, that's a clue in itself: two sources are printing tags. SEO plugins usually wrap their output in a comment with their name, which tells me who wrote which line. - Step 03
Read the response headers
For the header I run
curl -Iagainst the URL, or read the headers in the browser's network tab, and look for X-Robots-Tag. I check logged out, because a logged-in session can skip the page cache and get a different response. - Step 04
Match the tag to its source
Noindex, nofollow on every URL points to the visibility box. Noindex on one page points to that page's plugin setting. Noindex on every page of one type points to a content type setting. A header with no matching meta tag points to a plugin, the server or the CDN.
- Step 05
Fix it at the source and clear the cache
I change the setting that sent the rule rather than stacking an index tag on top of it. Then I purge the page cache and any CDN cache, because a cached copy can keep serving the old tag long after the setting's been fixed.
- Step 06
Test live again, then ask for a recrawl
A fresh live test should show no noindex in the HTML or the headers. Only then do I request indexing on the key URLs and start the fix validation in the Page indexing report.
One URL isn't enough. I test one URL of each type on the list, a page, a post, a product and a category, because each type can have its own setting and fixing one doesn't fix the others.
Rather have me do this? One person, whole job.
Book a call on UpworkWhich noindexed pages should stay that way?
Not every URL on the list is a mistake. Plenty of WordPress pages exist for people already on the site, and removing their noindex just fills the index with pages that can't rank.
If you're here to learn how to noindex a page in WordPress on purpose, it's the page-level plugin setting from the list above, switched the other way. Then I run a live test to confirm the tag's actually printing.
| Page type | My usual call | Why |
|---|---|---|
| Cart, checkout and account pages | Keep noindex | They're personal to each visitor, and there's nothing in them anyone searches for |
| Internal search results | Keep noindex | Every search makes a new thin URL, and there's no end to them |
| Tag archives with a post or two each | Usually keep noindex | Thin lists that repeat the posts they link to |
| Thank you and confirmation pages | Keep noindex | They only make sense after a form or an order |
| Categories people actually search for | Index | A good category page can be a landing page in its own right |
| Policy and trust pages | Index | Privacy, terms, shipping and refund pages are what a buyer checks before trusting a store |
| Service, product and location pages | Index | They're the pages the site exists to rank |
Tag archives are a judgement call, not a rule. If a tag's been turned into a real topic page with its own intro, it can earn its place. And when the real issue is two URLs showing the same content, noindex is the wrong tool. Google says it doesn't recommend noindex for choosing a canonical within one site, because it blocks the page from Search completely. That's a job for a canonical or a redirect between the duplicates.
The opposite mistake is just as real. On a programmatic site I've written up, a location template went live by accident with its placeholder title still showing. A page like that shouldn't be indexed at all, and the fix there is removing it so it returns a 404 or a 410, not tidying its tags.
Don't swap a noindex for a robots.txt block on pages you want out of Google. Google's documentation says a crawler blocked by robots.txt never sees the noindex rule, and the page can still appear in results if other pages link to it.
What happens to the canonical tag on a noindexed page?
With the two biggest SEO plugins, it disappears. I didn't want to state that from memory, so on 27 September 2026 I read the code of the current releases. In Rank Math 1.0.279, the head class removes the canonical tag whenever the page's robots value is noindex, with a comment in the code saying exactly that. In Yoast SEO 28.5, the canonical presenter returns nothing when the robots list contains noindex.
That's a fair choice on their part, since a page asking to be left out and naming a preferred URL at the same time sends mixed signals. But it sets a trap in audits. A crawler reports missing canonicals across the whole site, and it looks like a canonical problem. It isn't. Rank Math's robots code forces noindex on every page while the visibility box under Settings, Reading is ticked, so that one box causes both symptoms at once: noindex everywhere and canonicals nowhere.
So when an audit flags missing canonicals, I check the robots tag first. Fix the noindex and, on those two plugins, the canonical comes back on its own. If it doesn't, that's a separate problem.
Unticking the visibility box doesn't clear a noindex set on an individual page. After fixing the site-wide setting I re-check every URL that was on the list, because a few can still carry their own.
How do I clear Excluded by noindex tag once the tag is gone?
Google only notices the change when it crawls the page again. For a handful of key URLs I use Request indexing in URL Inspection. Google says a request doesn't guarantee the page gets indexed, and there's a daily limit, so I save it for the pages that matter most.
For the rest, I click Validate fix on the noindex reason in the Page indexing report and make sure the fixed URLs are in the sitemap. You can hand that check to my WordPress robots.txt service in the same pass. Google's help says validation typically takes up to about two weeks, and sometimes much longer, so I watch the report rather than promise a date.
If the pages leave the noindex list and then sit under Discovered or Crawled, currently not indexed, the tag's no longer the issue. Those two statuses have their own diagnosis, and it's a different job from this one.
If you'd rather one person found the source, fixed it and watched the report until it clears, that's the indexing work I do, remotely, on your own WordPress install.
Book a call on Upwork
