---
title: "Root layout blocks indexing (seo/noindex)"
description: "robots noindex in the root layout's metadata removes every page from search results (Lighthouse: page is blocked from indexing)."
url: http://localhost:4173/rules/seo/noindex
updated: 2026-11-11
---

# Root layout blocks indexing

> `seo/noindex` is a vetd rule. It flags: Root layout blocks indexing. It runs on every `check`, together with the TypeScript check.

| Fact | Value |
| --- | --- |
| Rule id | `seo/noindex` |
| Severity | warning |
| Group | SEO |
| Tags | seo, lighthouse |

## Why it matters

robots noindex in the root layout's metadata removes every page from search results (Lighthouse: page is blocked from indexing).

## How to fix it

Remove it, or set it only outside production, e.g. from VERCEL_ENV.

## Credit

Based on work by:

- [Google Search Central](https://developers.google.com/search): A noindex robots directive removes a page from search results.
- [Google Chrome](https://developer.chrome.com/docs/lighthouse/overview): Lighthouse reports pages blocked from indexing.

## References

- [Block Search Indexing with noindex](https://developers.google.com/search/docs/crawling-indexing/block-indexing), Google Search Central
- [Robots Meta Tags Specifications](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag), Google Search Central
- [Page is blocked from indexing](https://developer.chrome.com/docs/lighthouse/seo/is-crawlable), Chrome for Developers
- [generateMetadata](https://nextjs.org/docs/app/api-reference/functions/generate-metadata), Next.js

## See it

Demos in the vetd Lab:

- [Keep key pages indexable](http://localhost:4173/lab/web-standards/crawl-and-index-controls)

## Related rules

- [`seo/meta-description`](http://localhost:4173/rules/seo/meta-description.md)
- [`next/missing-metadata`](http://localhost:4173/rules/next/missing-metadata.md)

## Get this text from vetd

MCP: call `explain` with `{ "diagnosticId": "seo/noindex" }`. CLI: `npx vetd explain seo/noindex`.

---

[All 92 rules](http://localhost:4173/rules.md) · Previous: [`seo/crawlable-link`](http://localhost:4173/rules/seo/crawlable-link.md) · Next: [`a11y/link-name`](http://localhost:4173/rules/a11y/link-name.md)
