
Indexing
Diagnose Google Search Console index coverage problems and apply noindex, canonical, or quality fixes so pages get indexed correctly.
Overview
indexing is an agent skill most often used in Launch (also Grow analytics and Operate iterate) that guides fixes for Search Console indexing issues, noindex usage, and the Google Indexing API.
Install
npx skills add https://github.com/kostja94/marketing-skills --skill indexingWhat is this skill?
- Maps GSC issue types to concrete fix actions: noindex, canonical, content quality, and URL Inspection
- Coordinates with robots-txt for crawl blocks and google-search-console for Coverage diagnosis
- Guides which pages to exclude with noindex versus path-level crawl control
- Includes Google Indexing API when bulk or programmatic URL submission fits the stack
- Initial assessment checks project context files for site URL and indexing goals before prescribing fixes
- Skill metadata version 1.0.1
Adoption & trust: 836 installs on skills.sh; 586 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Search Console shows pages stuck in not indexed states and you are unsure whether to noindex, fix canonicals, improve content, or request indexing.
Who is it for?
Founders and solo marketers maintaining a live site with GSC Coverage warnings after launch or content pushes.
Skip if: Greenfield sites with no URLs yet—use sitemap and site architecture skills first; not a replacement for full GSC training.
When should I use this skill?
User mentions fix indexing, not indexed, Crawled - currently not indexed, discovered - currently not indexed, index coverage, noindex, or Google Indexing API.
What do I get? / Deliverables
You apply the right technical SEO fix per issue type and verify crawl/index signals without blocking the wrong URLs.
- Per-issue fix recommendation
- Noindex vs indexable decision for affected URLs
- Verification steps via URL Inspection
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Indexing fixes are most visible when you are trying to get discovered in search after pages exist. Coverage, noindex, and Indexing API work are classic technical SEO shelf placement under launch SEO.
Where it fits
After shipping new docs routes, you clear Discovered-not-indexed pairs via canonical and quality fixes before requesting indexing.
Organic signups flatline; Coverage shows a template class excluded—you decide noindex vs improve thin pages.
A deploy reintroduced accidental noindex on pricing; you verify robots.txt and page tags post-release.
How it compares
Fix-and-control playbook for index eligibility, not the xml-sitemap discovery skill or generic content writing.
Common Questions / FAQ
Who is indexing for?
Solo builders and indie marketers who use Google Search Console and need structured fix steps for pages that will not index.
When should I use indexing?
At Launch when rolling out new routes or SEO changes; during Grow when traffic drops trace to Coverage; in Operate when monitoring recurring “not indexed” patterns after deploys.
Is indexing safe to install?
It recommends configuration changes that affect visibility—review the Security Audits panel on this page and validate noindex/canonical edits in staging before production.
SKILL.md
READMESKILL.md - Indexing
# SEO Technical: Indexing Guides indexing troubleshooting and fix actions. For how to find and diagnose issues in GSC, see **google-search-console**. **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Scope (Technical SEO) - **Fix actions**: noindex, canonical, content quality, URL Inspection; verify robots.txt does not block (see **robots-txt**) - **Noindex**: Page-level index control; which pages to exclude and how. Complements **robots-txt** (path-level crawl control) and **google-search-console** (Coverage diagnosis) ## Initial Assessment **Check for project context first:** If `.claude/project-context.md` or `.cursor/project-context.md` exists, read it for site URL and indexing goals. Identify issue from GSC (see **google-search-console** for Coverage report, issue types, diagnosis workflow). Then apply fix below. ## Crawled - Currently Not Indexed | Cause | Action | |-------|--------| | Low quality, duplicate, off-topic | Improve content, fix duplicates, set correct canonical | | Static assets (CSS/JS) | See below | | Feed, share URLs with params | Usually OK to ignore; or noindex, canonical to main URL | | Important content pages | Use URL Inspection, verify canonical/internal links/sitemap, Request indexing | ### Static Assets (Next.js / Vercel) Vercel adds unique `dpl=` params to static assets per deploy, creating many "Crawled - currently not indexed" URLs. | Do | Don't | |----|-------| | Keep robots.txt allowing `/_next/` | Do not block `/_next/` (breaks CSS/JS loading). See **robots-txt** | | Accept static assets in GSC as expected | Do not block `/_next/static/css/` or `?dpl=` | | Use X-Robots-Tag for static assets | CSS/JS should not be indexed; no SEO impact | Static assets in "Crawled - currently not indexed" is **normal and expected**. ## Other Issue Types (from GSC Coverage) | Issue | Fix | |-------|-----| | Excluded by «noindex» tag | Remove noindex if accidental; keep if intentional | | Blocked by robots.txt | See **robots-txt**; remove Disallow for important paths | | Redirect / 404 | Fix URL or add redirect | | Duplicate / Canonical | Set correct canonical; usually OK | | **Soft-404** | Page returns 200 but content says "not found" or empty—Google may treat as 404. Fix: return 404 status for truly missing pages; or add real content for 200 pages | ### Soft-404 A soft-404 occurs when a page returns HTTP 200 but the content indicates the page doesn't exist (e.g. "Page not found" message, empty state). Google may treat it as 404 and exclude from index. | Fix | When | |-----|------| | **Return 404** | Page truly doesn't exist; use proper 404 status | | **Add content** | Page is intentional (e.g. empty search results); ensure substantive content or use noindex | | **Redirect** | If URL moved, use 301 to correct destination | ## Noindex Usage - **How**: `metadata.robots = { index: false }` or `<meta name="robots" content="noindex">` or X-Robots-Tag - **Rationale**: Not all site content should be indexed; noindex is a valid choice for many pages - **Caution**: Avoid noindex on important content pages - **With robots.txt**: robots.txt = path-level crawl control; noindex = page-level index control. Do **not** block noindex pages in robots.txt—crawlers must access the page to read the directive. Use both: robots for /admin/, /api/; noindex for /login/