Rule: robots-not-blocking
A noindex meta robots directive tells Google to never show this page in search results. If it's intentional (thank-you pages, admin panels), that's fine. If it's accidental — left over from staging, or a misconfigured layout — your page silently vanishes from Google. This rule catches pages that are blocking indexation so you can verify the intent.
What it checks
Indxel reads the <meta name="robots" content="..."> tag and checks for the values 'noindex' or 'none'. If either value is present, the rule flags it. This doesn't mean it's wrong — some pages should be noindex. The warning is a prompt to verify intent, not an automatic failure. The rule also checks for <meta name="googlebot" content="noindex">.
Thresholds
No noindex or none directive found in robots meta tag
noindex or none found — verify this is intentional
Edge cases
X-Robots-Tag HTTP header: Indxel checks the meta tag only, not HTTP headers. A server-level X-Robots-Tag: noindex is not detected by the static scanner. Crawl mode may detect it if the header is present in the response.
robots.txt disallow: this is separate from meta robots. A page can be allowed in robots.txt but blocked by meta noindex (or vice versa). This rule only checks meta robots.
Environment-specific robots: a common pattern is to set noindex in staging via an environment variable. If your build process doesn't correctly strip it for production, pages ship with noindex. This rule catches that.
The 'nofollow' directive (without 'noindex') does not trigger this rule. nofollow prevents link equity from flowing but doesn't block indexation.
Configuration
// indxel.config.ts
import { defineSEO } from "indxel";
export default defineSEO({
rules: {
"robots-not-blocking": true, // enabled by default
},
});
// In Next.js, robots is set in metadata:
export const metadata = {
robots: {
index: true, // allow indexing
follow: true, // allow following links
},
};
// Intentional noindex for non-public pages:
export const metadata = {
robots: {
index: false, // intentional — thank-you page
follow: false,
},
};Frequently asked questions
Is robots-not-blocking an error or a warning?
Always a warning. Some pages legitimately need noindex (admin pages, thank-you pages, duplicates). The warning is a prompt to verify intent, not a demand to remove it. If the noindex is intentional, you can suppress the warning by disabling the rule for that page.
How do I find accidental noindex in production?
Run npx indxel check on your live site (crawl mode). The robots-not-blocking rule flags every page with noindex. Review each one to determine if it's intentional. Common culprits: staging configs leaked to production, layout-level robots overrides.