How to Fix a Noindex Page and Get It Indexed
Your audit found a page carrying a noindex directive, which explicitly tells search engines and AI crawlers not to include it in their index. If this is a page you want ranked, that directive is silently keeping it out of Google, Bing, and AI answer engines. The fix is to locate the directive (in the HTML head, the HTTP response header, or your CMS SEO settings), remove it if the page should be public, and confirm the page is crawlable so search engines can see it is now indexable.
What this means
A noindex directive instructs search engines and other crawlers not to store a page in their index, which makes it ineligible to appear in search results. It can be delivered two ways: as a robots meta tag in the page's HTML head, or as an X-Robots-Tag in the HTTP response header. A typical meta tag looks like this:
<meta name="robots" content="noindex">
The same instruction can be sent as a response header:
X-Robots-Tag: noindex
The audit flagged this page because one of these directives is present. Noindex is a legitimate tool for pages you deliberately want to keep out of search: staging environments, thank-you pages, internal search results, filtered or faceted URLs, login pages, and admin areas. The problem is when it lands on a page you actually want to rank, usually by accident. Common causes include a CMS "discourage search engines" setting left on after launch, a page-level SEO toggle set to noindex, a theme or plugin applying it site-wide, or an overly broad header rule in your server config. If the audit flagged a page you expected to see in Google, that is the signal to investigate.
Why it matters
Noindex is the most absolute ranking problem you can have. A page with a weak title or a missing meta description still ranks; it just ranks worse. A noindexed page cannot rank at all, because it is not in the index. No amount of content quality, backlinks, or on-page optimization overrides it. Google will crawl the page, see the directive, and drop it (or never add it). In Search Console the URL shows as "Excluded by 'noindex' tag."
The most damaging version is an accidental site-wide noindex, most often from WordPress's "Discourage search engines from indexing this site" checkbox being left enabled after a site goes live. That single setting can wipe an entire site out of Google.
The AI-visibility angle matters just as much. Answer engines like ChatGPT, Perplexity, and Google's AI Overviews build responses largely from indexed, crawlable content, and most respect the robots meta tag. A noindexed page is generally excluded from the corpus these systems draw on, so it becomes invisible not only in the ten blue links but also in AI-generated answers where you might otherwise be cited. If you are optimizing for AEO or GEO, a stray noindex quietly removes the page from the exact surfaces you are trying to win.
How to fix it
- 1
Confirm the page should actually be indexed
Before removing anything, decide whether this page belongs in search. Noindex is correct for thank-you pages, login and account pages, internal search results, cart and checkout, staging URLs, and thin filtered variants. If the flagged page is one of those, no action is needed and the warning is expected. Only continue if this is a page you want ranked and cited.
- 2
Find where the directive lives
View the page source (or open DevTools) and search the HTML head for a tag containing
noindex. If it is not in the HTML, the directive is coming from the HTTP header, which never appears in page source. Inspect headers in the DevTools Network tab or runcurl -I https://example.com/your-pageand look for anX-Robots-Tag: noindexline. Knowing which delivery method is used tells you exactly where to make the fix. - 3
Remove the meta tag or update the CMS setting
If it is a hardcoded robots meta tag, delete it (index is the default, so no replacement tag is required). On a CMS, use the plugin controls rather than editing theme files. In Yoast SEO, open the post, go to the Advanced tab, and set "Allow search engines to show this content in search results?" to Yes. In Rank Math, open the post's Advanced tab and uncheck the No Index setting. Then check Settings > Reading in WordPress and confirm "Discourage search engines from indexing this site" is unchecked, since that flag noindexes every page.
- 4
Fix a header-level (X-Robots-Tag) noindex
If the directive comes from the HTTP header, it is set on the server, not in the page. On Apache, look in
.htaccessor the vhost config for aHeader set X-Robots-Tag "noindex"line and remove or scope it. On Nginx, look foradd_header X-Robots-Tag "noindex";in the server or location block. In Next.js, removerobots: { index: false }from the route's metadata or drop theX-Robots-Tagfrom your headers config. Redeploy so the new headers take effect. - 5
Check platform-specific SEO toggles
Hosted platforms hide noindex behind a switch. In Wix, open the page's SEO settings and turn "Let search engines index this page" back on. In Squarespace, open Page Settings > SEO and uncheck "Hide this page from search engine results." In Shopify, a theme template may inject the tag via Liquid, so check
theme.liquidand page templates for a conditional block that outputs a robots meta tag and remove the branch targeting this page. Save and republish. - 6
Validate and request re-indexing
Fetch the page again and confirm no
noindexremains in either the HTML or the response header. In Google Search Console, run the URL Inspection tool: it should report the page as indexable rather than "Excluded by 'noindex' tag," after which you can click Request Indexing to prompt a re-crawl. Confirm the page is not also blocked in robots.txt, because if Google cannot crawl it, it cannot see that you removed the noindex. Re-run your audit to verify the warning clears.
Example
<!-- Blocks indexing (remove or change this) -->
<meta name="robots" content="noindex, follow">
<!-- Makes the page indexable -->
<meta name="robots" content="index, follow">
<!-- ...or simply delete the robots meta tag; index is the default -->
<!-- Check the HTTP response header too (invisible in page source): -->
<!-- curl -I https://example.com/your-page -->
<!-- Then remove any: X-Robots-Tag: noindex -->Remove or change a noindex robots meta tag to make the page indexable (deleting it works too, since index is the default). Also check for a header-level X-Robots-Tag, which never appears in the page source.
Frequently asked
If the page carries a noindex directive, content quality is irrelevant. Google crawls it, obeys the instruction, and keeps it out of the index entirely. Check the page source and the HTTP response header for noindex, then check your CMS SEO settings and the WordPress "Discourage search engines" flag. Removing the directive makes the page eligible to be indexed again.
They do different jobs, and combining them backfires. Use noindex when you want a page kept out of results but still crawlable. Do not also disallow it in robots.txt, because if Google cannot crawl the page it never sees the noindex tag, and the page can stay indexed with limited information. To reliably remove a page from search, allow crawling and apply noindex. A disallow alone saves crawl budget but is not a guarantee against indexing.
There is no fixed timeline; it depends on how often Google recrawls the page. Frequently updated or high-authority sites can see it within days, while less-crawled pages may take a week or more. Speed it up by running URL Inspection in Search Console and clicking Request Indexing, and by making sure the page is linked internally and included in your XML sitemap.
Yes. Answer engines draw mostly from crawlable, indexed content, and most respect the robots meta tag. A noindexed page is generally excluded from the corpus these systems retrieve from, so it will not be surfaced or cited in AI Overviews, Perplexity, or ChatGPT's browsing answers. If AI visibility matters to you, remove noindex from any page you want those tools to reference.
The directive is almost certainly coming from the HTTP header (X-Robots-Tag) rather than the HTML, since header-level rules do not appear in page source. Check the response headers with your browser's Network tab or curl -I, then remove the rule from your server config (.htaccess, Nginx, or your framework's headers settings) and redeploy. A caching layer or CDN can also serve a stale copy, so purge the cache after the fix.
Does your site have this issue?
Run a free, AI-powered audit and we’ll flag this and 150+ other checks in about a minute. No signup.