What the error means
The page carries a noindex instruction — a meta robots tag in the HTML or an X-Robots-Tag header — telling Google not to list it. In Search Console these pages show under "Excluded by noindex tag", and they are invisible in search no matter how good they are.
Why Google rejects it
Nobody usually decides this deliberately. Staging pages migrated with their noindex intact, an SEO plugin’s "discourage search engines" checkbox, a theme snippet applied store-wide, or an app that sets the header during setup. The instruction is one line into the head — invisible in a rendered page and absent from any admin preview.
How to fix it
- Confirm the instruction: view-source on the live page and search for robots; also check the X-Robots-Tag response header — the meta tag and the header are separate instructions and either one excludes.
- Find the scope: if many pages are excluded, the cause is a template or plugin setting, not individual pages. Fix the source and the whole set clears.
- Remove noindex from pages that should rank; keep it deliberately on thin or private pages you do not want competing with your money pages.
- Re-request indexing after the fix — the exclusion status persists until the next crawl picks up the change.
Common causes
Sitewide visibility setting
A site launch or privacy setting can discourage or block search indexing across the entire website. After launch, the setting may remain enabled even though pages are public. Look for a sitewide setting as well as a page-level tag, because the directive may be generated by the platform rather than visible in the content editor.
Page-level SEO option left enabled
An editor or SEO plugin can set an individual page, product, or category to noindex. This is useful for private, thin, or utility pages, but a product intended to rank may inherit an exclusion from a copied template. Inspect several affected URLs to see whether the issue follows one page or a whole page type.
Template or plugin emits a meta tag
A theme, SEO app, or custom template can add <meta name="robots" content="noindex"> to the HTML head. The setting can be conditional, so the page source may differ for products, collections, languages, or logged-in visitors. View the rendered source Google receives rather than relying only on an admin toggle.
HTTP response includes X-Robots-Tag
Servers and plugins can send noindex in an HTTP response header instead of page HTML. This is common for PDFs and can also affect HTML routes through a server or CDN rule. Inspect response headers on the exact URL; deleting a meta tag will not help if the header still instructs Google not to index.
Conflicting staging or environment configuration
A site copied from staging may carry its noindex directive into production, or an environment variable may make the live theme behave as a test site. Compare production and staging responses and review deployment settings when many unrelated pages suddenly become excluded.
Fix it on your platform
On Shopify
- Open the affected product, collection, or page in the admin and review its search engine listing and any SEO app controls for an explicit noindex option. Confirm the object is published to the Online Store sales channel.
- View the public page source and search for robots. If the noindex appears across a whole page type, inspect the published theme's relevant Liquid layout or snippet and the SEO app that renders head tags.
- Check any custom app or storefront middleware that sets response headers. An X-Robots-Tag header must be removed at its source; editing theme HTML alone cannot override it.
- After changing theme or app settings, test the live storefront URL without an admin session and compare a second URL using the same template. Avoid editing Shopify's generated sitemap manually; it updates from store content and visibility.
On WooCommerce
- Edit the affected page or product and inspect the SEO panel from the active plugin, such as its advanced robots controls. Set the page to index only when it should appear in search.
- Check WordPress Settings > Reading for the setting that discourages search engines from indexing the site. It is sitewide and can be left enabled after a staging launch.
- If the tag appears on every page or only a certain template, inspect the active theme, child theme, and SEO plugin for a robots meta output or conditional rule. Do not install a second SEO plugin to counter the first one.
- Use a header inspection tool or server logs to look for X-Robots-Tag. Review hosting, security, and cache rules if it appears even after the plugin setting is cleared.
On other platforms
- In Wix, Squarespace, or BigCommerce, open the page's SEO or search visibility settings and check both page-level and sitewide indexing controls. Names vary by product and plan, so verify the actual rendered URL after changing a control.
- Check whether the page is published and publicly visible. A private, password-protected, or draft page cannot become an indexable public result simply by removing a noindex option.
- On a custom site, inspect the HTML head and response headers separately. Remove the directive from the template, application, reverse proxy, or CDN layer that emits it.
- For pages rendered by a JavaScript application, make sure the initial and rendered HTML no longer contain noindex, then test Google's live rendering in URL Inspection.
How to confirm it is fixed
- Inspect the exact production URL in Search Console and open View crawled page or the live test. Confirm the HTML contains no unintended robots noindex directive.
- Check response headers for X-Robots-Tag as well as the HTML meta tag. Also verify the URL returns a successful public response and is not blocked in robots.txt, so Google can read the directive state.
- If the change was template-wide, inspect representative URLs from each affected page type and language, not only the URL used to test the fix.
- Run the indexing check to inspect public noindex and crawl signals, then request indexing for a small number of important fixed pages.
- Watch Search Console for a recrawl and updated verdict. Removing noindex makes a page eligible; it does not guarantee Google will index it.
A worked example
Hypothetical case: a WooCommerce retailer creates a staging copy for a theme rebuild. The team enables WordPress's discourage-search-engines setting on staging, then deploys the database to production. Product URLs load normally, but Search Console reports Excluded by ‘noindex’ across product and category pages. The owner clears the sitewide setting, checks the active SEO plugin's robots settings, and confirms both the HTML meta tag and response headers on several live pages. They then run the indexing check and use URL Inspection's live test before requesting indexing for key categories. The pages become eligible to be considered again, but Google recrawls them on its own schedule.
Questions
How do I remove noindex from a page in Search Console?
Why does my page still say noindex after I changed the setting?
Does noindex prevent Google from crawling my page?
Should product pages be set to noindex on WooCommerce?
Will removing noindex get my page indexed immediately?
Shipwork fetches your key pages from outside your network and reads the exact signals a crawler reads first — the meta robots tag and the X-Robots-Tag header — naming every page told not to be indexed. Free, no account, no signup. Paste your store address.
Check my store for Excluded by noindexGo deeper: Finding a hidden noindex or block
Other errors like this