Short answer: paste the address into a noindex checker and read the verdict: it names the meta robots tag, a googlebot meta tag, the X-Robots-Tag header or a redirect hop as the source, or says the page is indexable. To check by hand, view the page source for <meta name="robots">, then run curl -I on the address and read the X-Robots-Tag header, because the header never shows in the source.
What does "noindexed" mean?
A noindexed page is one that tells search engines not to list it. Google honours the instruction in two places: a robots meta tag in the HTML and an X-Robots-Tag header in the HTTP response, which Google documents together in its robots meta tag and X-Robots-Tag specifications. The page can still be crawled and still work for visitors. It simply drops out of results the next time Google recrawls it, which is why a noindex left on after a launch shows up as a traffic drop weeks later, not as an error on the day.
How do I check in 30 seconds?
- Open the free noindex checker and paste the page address. Up to ten addresses fit in one go.
- Read the verdict at the top: "This page is indexable", "This page is noindexed", or a warning that the page does not answer 200, that robots.txt keeps Google away, or that the canonical points elsewhere.
- Under the verdict, each answer quotes the exact line: the meta tag, the googlebot tag, the header on the final response, or the header a redirect hop sent on the way.
- Follow the fix under the failing answer, run the check again, and keep the result link. It works for 30 days and is the thing to send to the host or the developer.
That is the whole check. The rest of this post is for the cases where you want to see it yourself, or where the verdict needs explaining.
How do I check by hand?
Two steps, because the two sources need two tools. First, view the page source (Ctrl+U in Chrome) and search for name="robots" and name="googlebot". A tag with noindex in its content is the answer. Second, read the headers, which the source never shows:
curl -I -L https://example.com/page
curl prints one block of headers per hop. Look for X-Robots-Tag in every block, not just the last, because Google reads the headers on each redirect. In Chrome you can do the same from DevTools: Network tab, tick "Preserve log", reload, click the page's own request and read Response Headers. Without "Preserve log" the redirect hops disappear from the list, and a header sent only by a hop is the kind nobody finds.
Why does Search Console say noindexed when I cannot see a tag?
Because the directive is in a header. "Excluded by 'noindex' tag" is reported for both forms; the word "tag" is misleading. Headers come from the web server config, the hosting platform's staging rules or a CDN rule, never from the CMS, so an SEO plugin with every setting right can still ship a noindexed page. Our post on the invisible X-Robots-Tag noindex lists where it comes from on each platform and how to remove it. One more trap: if robots.txt disallows the page, Google cannot fetch it and never reads the noindex at all, which Search Console reports as "Indexed, though blocked by robots.txt". The checker reads robots.txt first and warns about that order.
What does a real one look like?
A client site was rebuilt and relaunched; the new theme carried <meta name="robots" content="noindex, nofollow"> on every page because a developer's local setting had been committed with the template. The site looked fine, the forms worked, and Google dropped the pages one by one over three weeks. The first sign was the phone going quiet. We do not name client sites without permission; the shape is what matters, and it repeats: the launch works, the noindex rides along, the damage arrives later. A 30-second check on launch day would have caught it; a daily check, the thing quietwatch runs on every page you add, catches the ones that arrive after launch.
How do I fix it once I know where it is?
Fix the place the checker named. A meta tag comes from the CMS: in WordPress, Settings → Reading, "Discourage search engines", then the SEO plugin's page and post-type settings; in Webflow, Wix and Squarespace, the page's SEO settings. A header comes from the server, the host or the CDN, so look there and not in the template. A header on a redirect hop is fixed on the redirecting hostname. Then open the page in Search Console's URL Inspection, run "Test live URL" and press "Request indexing", because Google reports what it saw at its last crawl and will not notice the fix until the next one. Google's Page indexing report help explains each state the report can show.
How does quietwatch catch this daily?
quietwatch reads each page's meta robots tag, X-Robots-Tag header, robots.txt verdict and canonical every day for every site you add, and emails you the day a noindex appears, before the recrawl takes the page out. The free noindex checker is the same check on one page, no account needed.