Skip to content

noindex on public page

noindex tells search engines not to include a page in their index. On staging this is intentional. On your production homepage it is a critical problem: the page cannot rank for anything. The check looks for noindex in both the <meta name="robots"> tag and the X-Robots-Tag HTTP response header.

The most common cause is a staging-environment robots directive that was accidentally deployed to production.

Find where noindex is being set and remove it.

Search app/layout.tsx and any page.tsx files for a robots metadata field:

// app/layout.tsx — remove noindex or set explicitly to index
export const metadata = {
robots: {
index: true,
follow: true,
},
}

If environment-based logic is setting noindex in staging and index in production, confirm the production environment variable is set correctly.

Search for noindex in any <Head> components across your pages and _app.tsx:

// Remove this from any page or _app.tsx
<meta name="robots" content="noindex" />

Search all +layout.svelte and +page.svelte files:

<!-- Remove this from any layout or page -->
<svelte:head>
<meta name="robots" content="noindex" />
</svelte:head>

Check app.vue, layouts, and any page that calls useSeoMeta or useHead:

// Remove or correct this
useSeoMeta({ robots: 'noindex' })
// Change to:
useSeoMeta({ robots: 'index, follow' })

Check your base layout for a robots meta tag:

<!-- Remove this from Layout.astro or any page -->
<meta name="robots" content="noindex" />

If noindex is coming from an HTTP header rather than a meta tag, check your server or middleware config. In Next.js, check next.config.js for a custom headers configuration:

// next.config.js — remove any noindex from the headers array
module.exports = {
async headers() {
return [
{
source: '/(.*)',
headers: [
// Remove this line:
{ key: 'X-Robots-Tag', value: 'noindex' },
],
},
]
},
}

Check the response for any noindex directive:

Terminal window
# Check meta tag
curl -s https://yourdomain.com/ | grep -i 'robots'
# Check response header
curl -I https://yourdomain.com/ | grep -i 'x-robots'

Neither output should contain noindex. Re-run orino audit to confirm the check passes.