Search Console Indexing
Overview
Use this skill when continuing Google Search Console URL Inspection and indexing work for one property or a portfolio of properties. It keeps the workflow conservative but persistent: collect canonical trailing-slash sitemap URLs, skip already processed rows, identify fix-required cases, request indexing only when appropriate, and keep processing eligible URLs until GSC quota is hit or the queue is exhausted.
Tracker
Ask the user which Google Sheet serves as the tracker for the run, and treat that sheet as the standing work log for queue rows, statuses, proof, and summaries.
Required Rules
- Do not modify Search Console settings, site code, DNS, robots.txt, sitemaps, or CMS content.
- Every URL inspected or submitted must use the canonical trailing-slash form unless the user explicitly overrides that rule.
- Do not re-submit rows already marked
Indexing requested, Skipped, Already indexed, Fix required, or Intentional noindex.
- Treat the Google Sheet as the only durable work log. Do not create local proof files, session reports, Markdown summaries, or
/tmp tracking artifacts; write status, proof, and summaries into the tracker sheet only.
- Continue inspecting and requesting eligible URLs across the queue until either all eligible rows are resolved or GSC reports
Quota Exceeded; do not stop after an arbitrary daily count or per-site batch size.
- Stop immediately when GSC reports
Quota Exceeded; record that URL as Quota Exceeded - not submitted and make it the next resume point.
- Properties the user identifies as staging or intentionally noindexed are not indexing targets unless the user explicitly overrides.
- If inspection shows a site-side blocker such as noindex, robots block, redirect/canonical mismatch, soft 404, unauthorized, server error, or unavailable page, mark
Fix required instead of requesting indexing.
Workflow
- Read
references/gsc-indexing-workflow.md for the full checklist.
- For multi-site work, build or refresh the queue with
scripts/collect_sitemaps.mjs using stdout, then write the resulting queue into the Google Sheet.
- Read the tracking Google Sheet before touching GSC. Use connector reads when available; use Chrome for UI edits when Drive/Sheets write scopes are unavailable.
- Confirm 24 hours have passed since the last logged quota/throttle before submitting more request-indexing actions.
- Use the Chrome skill for authenticated Search Console and Google Sheets UI work.
- In GSC, select the correct property for the URL's site before each site queue.
- Inspect each queued URL continuously until quota is hit or no eligible queued URLs remain:
URL is on Google: mark Skipped with note Already indexed.
- Fix-required blocker: mark
Fix required with the exact issue.
- Otherwise click
Request Indexing, wait for the dialog, and record the exact result.
Quota Exceeded: stop the whole run.
- Return the complete updated table and a session summary, not only today's appended rows.
Queue Columns
For portfolio work, use a sheet tab such as All Sites Sitemap with these columns:
site | url | source_sitemap | canonical_trailing_slash | gsc_coverage_status | action | notes | last_checked
For single-site daily indexing logs, keep the user's requested columns unless they specify otherwise:
url | coverage_status | submission_result | notes
Script
Use the sitemap collector to create a deterministic queue:
node scripts/collect_sitemaps.mjs \
--sites example.com,example.org \
--exclude-host staging.example.com
The script fetches https://<site>/sitemap.xml, reads robots.txt sitemap directives, follows sitemap indexes recursively, deduplicates URLs, normalizes trailing slashes, and emits TSV rows to stdout when no output path is provided. Paste or import those rows into the Google Sheet; do not leave local queue files behind.
1---2name: gsc-indexing3description: Build sitemap-based Google Search Console indexing queues, inspect URLs, request indexing until quota is hit, and update Google Sheets trackers across one or many verified properties.4---56# Search Console Indexing78## Overview910Use this skill when continuing Google Search Console URL Inspection and indexing work for one property or a portfolio of properties. It keeps the workflow conservative but persistent: collect canonical trailing-slash sitemap URLs, skip already processed rows, identify fix-required cases, request indexing only when appropriate, and keep processing eligible URLs until GSC quota is hit or the queue is exhausted.1112## Tracker1314Ask the user which Google Sheet serves as the tracker for the run, and treat that sheet as the standing work log for queue rows, statuses, proof, and summaries.1516## Required Rules1718- Do not modify Search Console settings, site code, DNS, robots.txt, sitemaps, or CMS content.19- Every URL inspected or submitted must use the canonical trailing-slash form unless the user explicitly overrides that rule.20- Do not re-submit rows already marked `Indexing requested`, `Skipped`, `Already indexed`, `Fix required`, or `Intentional noindex`.21- Treat the Google Sheet as the only durable work log. Do not create local proof files, session reports, Markdown summaries, or `/tmp` tracking artifacts; write status, proof, and summaries into the tracker sheet only.22- Continue inspecting and requesting eligible URLs across the queue until either all eligible rows are resolved or GSC reports `Quota Exceeded`; do not stop after an arbitrary daily count or per-site batch size.23- Stop immediately when GSC reports `Quota Exceeded`; record that URL as `Quota Exceeded - not submitted` and make it the next resume point.24- Properties the user identifies as staging or intentionally noindexed are not indexing targets unless the user explicitly overrides.25- If inspection shows a site-side blocker such as noindex, robots block, redirect/canonical mismatch, soft 404, unauthorized, server error, or unavailable page, mark `Fix required` instead of requesting indexing.2627## Workflow28291. Read `references/gsc-indexing-workflow.md` for the full checklist.302. For multi-site work, build or refresh the queue with `scripts/collect_sitemaps.mjs` using stdout, then write the resulting queue into the Google Sheet.313. Read the tracking Google Sheet before touching GSC. Use connector reads when available; use Chrome for UI edits when Drive/Sheets write scopes are unavailable.324. Confirm 24 hours have passed since the last logged quota/throttle before submitting more request-indexing actions.335. Use the Chrome skill for authenticated Search Console and Google Sheets UI work.346. In GSC, select the correct property for the URL's site before each site queue.357. Inspect each queued URL continuously until quota is hit or no eligible queued URLs remain:36 - `URL is on Google`: mark `Skipped` with note `Already indexed`.37 - Fix-required blocker: mark `Fix required` with the exact issue.38 - Otherwise click `Request Indexing`, wait for the dialog, and record the exact result.39 - `Quota Exceeded`: stop the whole run.408. Return the complete updated table and a session summary, not only today's appended rows.4142## Queue Columns4344For portfolio work, use a sheet tab such as `All Sites Sitemap` with these columns:4546`site | url | source_sitemap | canonical_trailing_slash | gsc_coverage_status | action | notes | last_checked`4748For single-site daily indexing logs, keep the user's requested columns unless they specify otherwise:4950`url | coverage_status | submission_result | notes`5152## Script5354Use the sitemap collector to create a deterministic queue:5556```bash57node scripts/collect_sitemaps.mjs \58 --sites example.com,example.org \59 --exclude-host staging.example.com60```6162The script fetches `https://<site>/sitemap.xml`, reads `robots.txt` sitemap directives, follows sitemap indexes recursively, deduplicates URLs, normalizes trailing slashes, and emits TSV rows to stdout when no output path is provided. Paste or import those rows into the Google Sheet; do not leave local queue files behind.