Debug Indexing Issues in Google Search Console · Nuxt SEO

[NuxtSEO](https://nuxtseo.com/ "Home")

- [Modules](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Tools](https://nuxtseo.com/tools)
- [Pro](https://nuxtseo.com/pro)
- [Learn SEO](https://nuxtseo.com/learn-seo/nuxt) [Releases](https://nuxtseo.com/releases)

[1.4K](https://github.com/harlan-zw/nuxt-seo)

[Nuxt SEO on GitHub](https://github.com/harlan-zw/nuxt-seo)

Learn SEO

Master search optimization

Nuxt

 Vue

[SEO Checklist](https://nuxtseo.com/learn-seo/checklist) [Pre-Launch Warmup](https://nuxtseo.com/learn-seo/pre-launch-warmup) [Backlinks & Authority](https://nuxtseo.com/learn-seo/backlinks)

[Mastering Meta](https://nuxtseo.com/learn-seo/nuxt/mastering-meta)

- [Titles](https://nuxtseo.com/learn-seo/nuxt/mastering-meta/titles)
- [Meta Description](https://nuxtseo.com/learn-seo/nuxt/mastering-meta/descriptions)
- [Image Alt Text](https://nuxtseo.com/learn-seo/nuxt/mastering-meta/alt-text)
- [Social Sharing](https://nuxtseo.com/learn-seo/nuxt/mastering-meta/open-graph)
- [Rich Results](https://nuxtseo.com/learn-seo/nuxt/mastering-meta/rich-results)
- [Schema.org](https://nuxtseo.com/learn-seo/nuxt/mastering-meta/schema-org)
- [Twitter Cards](https://nuxtseo.com/learn-seo/nuxt/mastering-meta/twitter-cards)

[ Controlling Crawlers](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers)

- [Robots Txt](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/robots-txt)
- [Sitemaps](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/sitemaps)
- [Robot Meta Tag](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/meta-tags)
- [Canonical Link Tag](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/canonical-urls)
- [HTTP Redirects](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/redirects)
- [Duplicate Content](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/duplicate-content)
- [llms.txt](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/llms-txt)

[ Routes & Rendering](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering)

- [URL Structure](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/url-structure)
- [Pagination](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/pagination)
- [Trailing Slashes](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/trailing-slashes)
- [Query Parameters](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/query-parameters)
- [Hreflang & i18n](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/i18n)
- [404 Pages](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/404-pages)
- [Dynamic Routes](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/dynamic-routes)
- [Internal Linking](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/internal-linking)
- [Programmatic SEO](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/programmatic-seo)
- [Rendering Modes](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/rendering)
- [Security](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/security)

[ Launch & Listen](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen)

- [Getting Indexed](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/going-live)
- [Google Search Console](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/search-console)
- [Core Web Vitals](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/core-web-vitals)
- [Indexing Issues](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/indexing-issues)
- [SEO Monitoring](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/seo-monitoring)
- [Site Migration](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/site-migration)
- [IndexNow](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/indexnow)
- [Debugging](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/debugging)
- [AI Search Optimization](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/ai-optimized-content)

1. [Learn SEO for Nuxt](https://nuxtseo.com/learn-seo)
2.
3. [Launch And Listen](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen)
4.
5. [Indexing Issues](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/indexing-issues)

# Debug Indexing Issues in Google Search Console

Fix "crawled currently not indexed" and other GSC coverage errors affecting your Nuxt site and AI visibility in 2026.

[![Harlan Wilton](https://avatars.githubusercontent.com/u/5326365?v=4)Harlan Wilton](https://x.com/harlan-zw)10 mins read Published Dec 17, 2025 Updated Jan 29, 2026

What you'll learn

- "Crawled - currently not indexed" means Google saw your page but chose not to index it. This usually prevents it from appearing in AI Overviews as well
- Verify SSR works by checking View Source for your content, not just DevTools
- Use `useFetch()` for data. `onMounted()` fetches won't be in the initial HTML Google crawls

Google crawled your page but won't index it. This happens to [millions of pages daily](https://www.onely.com/blog/how-to-fix-crawled-currently-not-indexed-in-google-search-console/). In 2026, indexing issues are often tied to content quality filters that also govern AI citation eligibility.

## [Understanding Page Indexing Status](#understanding-page-indexing-status)

Google Search Console's Page Indexing report shows six main statuses:

![Page Indexing Status Flowchart](https://nuxtseo.com/images/learn-seo/vue/indexing-status-flowchart.svg)

### [Good Statuses](#good-statuses)

**Indexed**: Page appears in Google's search index. This is a prerequisite for most AI citations in Google AI Overviews.

### [Warning Statuses](#warning-statuses)

**Discovered - currently not indexed**: Google found your page (often via sitemap) but hasn't crawled it yet. The page sits in Google's queue.

**Crawled - currently not indexed**: Google crawled your page but chose not to index it. This means Google decided your content isn't worth showing in search results or using as a source for AI answers.

### [Excluded Statuses](#excluded-statuses)

**Excluded by [robots.txt](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/robots-txt)**: Your robots.txt file blocks Google from accessing the page. Note: Blocking `Googlebot` also blocks the AI crawler used for AI Overviews.

**Blocked by [noindex tag](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/meta-tags)**: Page has a `noindex` meta tag. Google will not index the page or use it for AI summaries.

## [Fixing "Crawled - Currently Not Indexed"](#fixing-crawled-currently-not-indexed)

This status is often the result of "Quality Filters" introduced in the June 2025 core update.

### [Thin or Low-Quality Content](#thin-or-low-quality-content)

Google skips pages with little unique value. If a page isn't good enough for a traditional result, it's not good enough to be an AI citation source.

Fix: Add substantial content. Use [Schema.org](https://nuxtseo.com/learn-seo/nuxt/mastering-meta/schema-org) to define the page's purpose to both crawlers and LLMs.

### [Duplicate Content](#duplicate-content)

Multiple pages with identical content waste Google's crawl budget. See the [Duplicate Content guide](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/duplicate-content) for a full detection and resolution workflow.

Fix: Implement [canonical tags](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/canonical-urls) pointing to the primary version. Use `useSeoMeta()` in your Nuxt pages:

```
<script setup lang="ts">
useSeoMeta({
  ogTitle: 'My Page Title',
  canonical: 'https://yoursite.com/primary-page'
})
</script>
```

### [Poor Internal Linking](#poor-internal-linking)

Pages with few or no internal links pointing to them signal low importance to Google. Orphan pages (reachable only via [sitemap](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers/sitemaps), not through any `<a href>` on your site) rarely get indexed.

Fix: Add internal links from relevant pages. Include new pages in your navigation or sidebar. Link from high-authority pages to new content. See [Internal Linking Strategy](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/internal-linking) for architecture patterns.

### [Low Site Authority (E-E-A-T)](#low-site-authority-e-e-a-t)

New sites with few backlinks face stricter indexing thresholds. [Google prioritizes crawling trusted sites](https://www.onely.com/blog/how-to-fix-crawled-currently-not-indexed-in-google-search-console/).

Fix: Build backlinks and brand mentions. AI engines are more likely to cite sites that are frequently mentioned across the web. See [Backlinks & Authority](https://nuxtseo.com/learn-seo/backlinks) for developer-friendly link building strategies.

## [Fixing "Discovered - Currently Not Indexed"](#fixing-discovered-currently-not-indexed)

### [Site Too New](#site-too-new)

Google takes weeks to crawl new sites. For brand-new domains, expect 2-4 weeks before regular crawling starts.

### [Crawl Budget Issues](#crawl-budget-issues)

Large sites (10,000+ pages) run into Google's crawl budget limits.

Fix: Optimize server response times (target under 200ms). Use Nuxt's `routeRules` for caching to reduce server load during heavy crawling.

```
// nuxt.config.ts
export default defineNuxtConfig({
  routeRules: {
    '/blog/**': { swr: 3600 },
    '/api/**': { cache: { maxAge: 60 } }
  }
})
```

## [Verifying SSR in Nuxt](#verifying-ssr-in-nuxt)

Nuxt renders pages on the server by default, which helps indexing. Verify your SSR is working correctly:

### [Check Server Response](#check-server-response)

View your page source to confirm content is in the initial HTML:

```
# Check if content is in server-rendered HTML
curl -s https://yoursite.com/page | grep "expected content"
```

### [Verify Data Fetching](#verify-data-fetching)

Ensure data loads during SSR, not just on client:

```
<script setup lang="ts">
// CORRECT: Data available during SSR
const { data: products } = await useFetch('/api/products')

// WRONG: Only loads on client (Google might miss this)
// onMounted(() => {
//   (async () => {
//     products.value = await $fetch('/api/products')
//   })()
// })
</script>
```

## [AI Exclusion & "AI Mode"](#ai-exclusion-ai-mode)

In 2026, you might see pages indexed for traditional search but excluded from AI Mode.

**Causes:**

- **Lack of structured data**: LLMs prefer [JSON-LD](https://nuxtseo.com/learn-seo/nuxt/mastering-meta/schema-org).
- **Complexity**: Content that is too hard to parse (poor HTML structure).
- **nosnippet**: Using `nosnippet` tags can prevent AI Overviews from using your content.

## [Requesting Re-Indexing](#requesting-re-indexing)

After fixing issues, request re-indexing via URL Inspection:

1. Search Console → URL Inspection
2. Enter fixed URL
3. Click "Request Indexing"

For bulk updates, use the [Google Indexing API](https://developers.google.com/search/apis/indexing-api/v3/quickstart) for job/event content, or [RequestIndexing](https://requestindexing.com/) for general content.

### [Crawl Budget Issues](#crawl-budget-issues-1)

Large sites (10,000+ pages) run into Google's crawl budget limits. Google won't crawl everything if your site has [slow server responses, too many low-quality pages, or complex URL structures](https://support.google.com/webmasters/community-guide/278777978). Review your [URL structure](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/url-structure) to reduce unnecessary parameter variations.

Fix: Optimize server response times (target under 200ms). Remove or noindex low-value pages. Fix redirect chains. Reduce duplicate content. Block unnecessary URLs in robots.txt.

**Manual robots.txt approach:**

Create `public/robots.txt`:

public/robots.txt

```
User-agent: *
Disallow: /admin/
Disallow: /search?*
Disallow: /*?filter=*
Disallow: /print-version/
```

Or use server middleware for dynamic control:

server/middleware/robots.ts

```
export default defineEventHandler((event) => {
  if (event.path === '/robots.txt') {
    return \`User-agent: *
Disallow: /admin/
Disallow: /search
Disallow: /print-version/\`
  }
})
```

**Using @nuxtjs/robots module:**

```
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/robots'],
  robots: {
    disallow: [
      '/admin/',
      '/search?*',
      '/*?filter=*',
      '/print-version/'
    ]
  }
})
```

### [Slow Server Response](#slow-server-response)

If your server takes over 500ms to respond, [Google may crawl fewer pages](https://developers.google.com/search/docs/crawling-indexing/large-site-managing-crawl-budget).

Fix: Enable caching, use a CDN, optimize database queries, upgrade hosting. Monitor server response times in Search Console's Crawl Stats report.

Nuxt's SSR caching helps with this:

```
// nuxt.config.ts
export default defineNuxtConfig({
  routeRules: {
    // Cache static pages for 1 hour
    '/blog/**': { swr: 3600 },
    // Cache API responses
    '/api/**': { cache: { maxAge: 60 } }
  }
})
```

### [Pages Only in Sitemap](#pages-only-in-sitemap)

If pages exist only in your sitemap without internal links, Google considers them low priority.

Fix: Add internal links. Don't rely solely on sitemaps for discovery. [Internal linking signals importance](https://seotesting.com/google-search-console/discovered-currently-not-indexed/).

## [Verifying SSR in Nuxt](#verifying-ssr-in-nuxt-1)

Nuxt renders pages on the server by default, which helps indexing. Verify your SSR is working correctly:

### [Check Server Response](#check-server-response-1)

View your page source to confirm content is in the initial HTML:

```
# Check if content is in server-rendered HTML
curl -s https://yoursite.com/page | grep "expected content"
```

All your content should be visible in the raw HTML response. If it's not, check that:

1. Your page doesn't have `ssr: false` in `definePageMeta()`
2. Data fetching uses `useAsyncData()` or `useFetch()` (not client-only methods)
3. Your `nuxt.config.ts` doesn't have `ssr: false`

### [Verify Data Fetching](#verify-data-fetching-1)

Ensure data loads during SSR, not just on client:

```
<script setup lang="ts">
// CORRECT: Data available during SSR
const { data: products } = await useFetch('/api/products')

// WRONG: Only loads on client
// onMounted(() => {
//   (async () => {
//     products.value = await $fetch('/api/products')
//   })()
// })
</script>

<template>
  <div v-for="product in products" :key="product.id">
    {{ product.name }}
  </div>
</template>
```

### [Handle Client-Only Content](#handle-client-only-content)

For content that must load client-side, provide fallback text that Google can index:

```
<template>
  <div>
    <h1>Product Catalog</h1>
    <ClientOnly>
      <LazyProductList />
      <template #fallback>
        <p>Loading 500+ products from our catalog...</p>
      </template>
    </ClientOnly>
  </div>
</template>
```

### [Test Rendering Modes](#test-rendering-modes)

Nuxt supports hybrid rendering. Verify your route rules configuration:

```
// nuxt.config.ts
export default defineNuxtConfig({
  routeRules: {
    // Static pages (prerendered)
    '/': { prerender: true },
    '/about': { prerender: true },

    // Dynamic pages (SSR)
    '/blog/**': { swr: 3600 },

    // Client-only pages (if needed)
    '/dashboard/**': { ssr: false }
  }
})
```

Use Search Console's URL Inspection tool to verify Google sees server-rendered content:

1. Open Search Console → URL Inspection
2. Enter your page URL
3. Click "Test Live URL"
4. Click "View Tested Page" → "Screenshot"

Compare the screenshot to your actual page. With proper SSR, they should be identical.

## [Requesting Re-Indexing](#requesting-re-indexing-1)

After fixing issues, request re-indexing via URL Inspection:

1. Search Console → URL Inspection
2. Enter fixed URL
3. Click "Request Indexing"

Google prioritizes these requests but doesn't guarantee indexing. [It still evaluates content quality](https://support.google.com/webmasters/answer/7440203).

For many URLs, request indexing programmatically using the [Google Indexing API](https://developers.google.com/search/apis/indexing-api/v3/quickstart):

```
// server/api/request-indexing.post.ts
import { google } from 'googleapis'

export default defineEventHandler(async (event) => {
  const { url } = await readBody(event)

  const auth = await google.auth.getClient({
    scopes: ['https://www.googleapis.com/auth/indexing']
  })

  const indexing = google.indexing({ version: 'v3', auth })

  await indexing.urlNotifications.publish({
    requestBody: {
      url,
      type: 'URL_UPDATED'
    }
  })

  return { success: true }
})
```

## [Monitoring Progress](#monitoring-progress)

Track indexing status changes over time:

1. Search Console → Page Indexing
2. Check "Not indexed" count weekly
3. Look for status changes from "Crawled - not indexed" to "Indexed"

Expect changes to take 1-4 weeks. [Google doesn't index on demand](https://www.onely.com/blog/how-to-fix-crawled-currently-not-indexed-in-google-search-console/). It re-evaluates pages on its schedule.

[The 2026 SEO Checklist for Nuxt & Vue Pre-launch setup, post-launch verification, and ongoing monitoring. Interactive checklist with links to every guide.](https://nuxtseo.com/learn-seo/checklist)

---

[Core Web Vitals Measure and optimize LCP, INP, and CLS in Nuxt apps to improve user experience and search rankings in 2026.](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/core-web-vitals) [SEO Monitoring Set up analytics, rank tracking, AI citation monitoring, and RUM to monitor your Nuxt site's search performance in 2026.](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/seo-monitoring)

On this page

- [Understanding Page Indexing Status](#understanding-page-indexing-status)
- [Fixing "Crawled - Currently Not Indexed"](#fixing-crawled-currently-not-indexed)
- [Fixing "Discovered - Currently Not Indexed"](#fixing-discovered-currently-not-indexed)
- [Verifying SSR in Nuxt](#verifying-ssr-in-nuxt)
- [AI Exclusion & "AI Mode"](#ai-exclusion-ai-mode)
- [Requesting Re-Indexing](#requesting-re-indexing)
- [Verifying SSR in Nuxt](#verifying-ssr-in-nuxt-1)
- [Requesting Re-Indexing](#requesting-re-indexing-1)
- [Monitoring Progress](#monitoring-progress)

[GitHub](https://github.com/harlan-zw/nuxt-seo) [ Discord](https://discord.com/invite/275MBUBvgP)

### [NuxtSEO](https://nuxtseo.com/ "Home")

- [Getting Started](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [MCP](https://nuxtseo.com/docs/nuxt-seo/guides/mcp)

Modules

- [Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

### [NuxtSEO Pro](https://nuxtseo.com/pro "Home")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/docs/nuxt-seo-pro/mcp/installation)

### [Learn SEO](https://nuxtseo.com/learn-seo "Learn SEO")

Nuxt

- [Mastering Meta](https://nuxtseo.com/learn-seo/nuxt/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers)
- [Launch & Listen](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen)
- [Routes & Rendering](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering)
- [Staying Secure](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/security)

Vue

- [Vue SEO Guide](https://nuxtseo.com/learn-seo/vue)
- [Mastering Meta](https://nuxtseo.com/learn-seo/vue/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/vue/controlling-crawlers)
- [SPA SEO](https://nuxtseo.com/learn-seo/vue/spa)
- [SSR Frameworks](https://nuxtseo.com/learn-seo/vue/ssr-frameworks)
- [SEO Checklist](https://nuxtseo.com/learn-seo/checklist)
- [Pre-Launch Warmup](https://nuxtseo.com/learn-seo/pre-launch-warmup)
- [Backlinks & Authority](https://nuxtseo.com/learn-seo/backlinks)

### [Tools](https://nuxtseo.com/tools "SEO Tools")

- [Social Share Debugger](https://nuxtseo.com/tools/social-share-debugger)
- [Robots.txt Generator](https://nuxtseo.com/tools/robots-txt-generator)
- [Meta Tag Checker](https://nuxtseo.com/tools/meta-tag-checker)
- [HTML to Markdown](https://nuxtseo.com/tools/html-to-markdown)
- [XML Sitemap Validator](https://nuxtseo.com/tools/xml-sitemap-validator)
- [Schema.org Validator](https://nuxtseo.com/tools/schema-validator)
- [Keyword Idea Generator](https://nuxtseo.com/tools/keyword-generator)
- [Keyword Research](https://nuxtseo.com/tools/keyword-research)
- [SERP Analyzer](https://nuxtseo.com/tools/serp-analyzer)
- [Domain Rankings](https://nuxtseo.com/tools/domain-rankings)

Copyright © 2023-2026 Harlan Wilton - [MIT License](https://github.com/harlan-zw/nuxt-seo/blob/main/license) · [mdream](https://mdream.dev)