Find your next SEO fix in Search Console
Get the source data and prepare the review

Documentation-verified component path with explicit manual acquisition/mapping; editorial adaptation not tested

WHAT WAS CHECKED
Documentation checked 2026-10-15. Official documentation establishes component UI/capability only. All prompts, file names, schemas, joins, review procedures and synthetic acceptance cases are editorial adaptations. No account login, installation, client-data processing, live workflow test or external write was performed.

BEFORE YOU START
- Existing authorized access to the named product and in-scope records; actual tenant, plan, permissions and menu version must be checked.
- Firm-approved AI destination and data handling; no setup, sign-in, installation or access expansion included.

DATA ACQUISITION LIMITS
- Search Console UI export is capped at 1,000 representative rows and can omit queries; full-account completeness is not promised.
- If a page-filtered export or a verified paired API export is unavailable, query/page opportunity analysis is blocked.

MAP THE ACTUAL SOURCE TO THE REVIEW INPUT
Actual exported query column (inspect its real header) → query; Clicks/Impressions/CTR/Position → clicks/impressions/ctr/average_position. Exact page filter supplies page, never a guessed join. Date/search type/country/device filters are manifest values, not invented per-row dimensions. Preserve CTR percentage units. Current crawler Address/title or reviewed public-page inventory → page/title. Any existing API export must prove dimension order [query,page] and map rows.keys accordingly; no new API connection is included.

INPUTS THE ASSISTANT MAY READ
firm-brief.md; page-inventory.csv; query-page-current.csv; query-page-previous.csv; export-coverage.txt; manifest.txt; evidence-map.csv

WHERE THE ANALYSIS RUNS
Claude Code (existing approved local session)

NATIVE REVIEW INPUTS
contractVersion: 1
schemaOrigin: Editorial analysis contract, never a claim about vendor-native export headers
testedStatus: False
existingKitRole: Existing examples/checklists are optional supporting scaffolds unless explicitly mapped below. Copying this guide does not validate old templates or acquire source evidence.
requiredInputs: - name: firm-brief.md
type: text
requiredSections: - approved domains and firm-name variants
- approved practices/jurisdictions and excluded claims
- business priorities and approver
required: True
templateFilename: native-firm-brief-template.md
existingKitFiles: - firm-brief-template.md
compatibility: New companion capture/review record. Staff supplies observed or approved values; unknown is explicit.
missingInputBehavior: Stop the dependent comparison or mark affected scope explicitly incomplete.
inputName: firm-brief.md
sections: - approved domains and firm-name variants
- approved practices/jurisdictions and excluded claims
- business priorities and approver
compatibleWithoutMapping: False
- name: page-inventory.csv
type: csv
headers: - url
- status_code
- indexability
- indexability_status
- canonical_url
- title
- approved_jurisdiction
- source_ref
required: True
templateFilename: native-page-inventory-template.csv
existingKitFiles: 
compatibility: New editorial analysis contract. Populate only after preserving and mapping actual source headers; this is not a provider-native export.
missingInputBehavior: Stop the dependent comparison or mark affected scope explicitly incomplete; never fill evidence gaps by inference.
inputName: page-inventory.csv
compatibleWithoutMapping: False
- name: query-page-current.csv
type: csv
headers: - source_row_id
- query
- page
- clicks
- impressions
- ctr
- ctr_unit
- average_position
- country_scope
- device_scope
- period_id
- source_ref
required: True
templateFilename: native-query-page-current-template.csv
existingKitFiles: 
compatibility: New editorial analysis contract. Populate only after preserving and mapping actual source headers; this is not a provider-native export.
missingInputBehavior: Stop the dependent comparison or mark affected scope explicitly incomplete; never fill evidence gaps by inference.
inputName: query-page-current.csv
compatibleWithoutMapping: False
- name: query-page-previous.csv
type: csv
headers: - source_row_id
- query
- page
- clicks
- impressions
- ctr
- ctr_unit
- average_position
- country_scope
- device_scope
- period_id
- source_ref
required: True
templateFilename: native-query-page-previous-template.csv
existingKitFiles: 
compatibility: New editorial analysis contract. Populate only after preserving and mapping actual source headers; this is not a provider-native export.
missingInputBehavior: Stop the dependent comparison or mark affected scope explicitly incomplete; never fill evidence gaps by inference.
inputName: query-page-previous.csv
compatibleWithoutMapping: False
- name: export-coverage.txt
type: text
requiredSections: - property; search type; exact period_start/period_end and period_id
- exact page filter per exported source; country/device scopes
- native headers and CTR units; data freshness/export time
- UI/API origin; actual dimension order if API; pagination/caps/anonymized query limits
- captured rows, exact source file tokens and known omissions
required: True
templateFilename: native-export-coverage-template.txt
existingKitFiles: - export-coverage-template.txt
compatibility: New companion capture/review record. Staff supplies observed or approved values; unknown is explicit.
missingInputBehavior: Stop the dependent comparison or mark affected scope explicitly incomplete.
inputName: export-coverage.txt
sections: - property; search type; exact period_start/period_end and period_id
- exact page filter per exported source; country/device scopes
- native headers and CTR units; data freshness/export time
- UI/API origin; actual dimension order if API; pagination/caps/anonymized query limits
- captured rows, exact source file tokens and known omissions
compatibleWithoutMapping: False
- name: manifest.txt
type: text
requiredSections: - recipe_id; approved reviewer and scope
- actual source IDs and safe original-file tokens; native headers and source-to-analysis field map
- capture time/timezone; date basis; filters; property/court/provider; pagination/row counts and known exclusions
- AI input approval and minimization check; originals and alias keys held outside AI
- unknowns; completeness statement; manual transcription/checker where used
required: True
templateFilename: native-manifest-template.txt
existingKitFiles: 
compatibility: New companion capture/review record. Staff supplies observed or approved values; unknown is explicit.
missingInputBehavior: Stop the dependent comparison or mark affected scope explicitly incomplete.
inputName: manifest.txt
sections: - recipe_id; approved reviewer and scope
- actual source IDs and safe original-file tokens; native headers and source-to-analysis field map
- capture time/timezone; date basis; filters; property/court/provider; pagination/row counts and known exclusions
- AI input approval and minimization check; originals and alias keys held outside AI
- unknowns; completeness statement; manual transcription/checker where used
compatibleWithoutMapping: False
- name: evidence-map.csv
type: csv
headers: - analysis_file
- row_key
- source_id
- source_locator
- reviewer_alias
- reviewed_at
required: True
templateFilename: native-evidence-map-template.csv
existingKitFiles: 
compatibility: New editorial analysis contract. Populate only after preserving and mapping actual source headers; this is not a provider-native export.
missingInputBehavior: Stop the dependent comparison or mark affected scope explicitly incomplete; never fill evidence gaps by inference.
inputName: evidence-map.csv
compatibleWithoutMapping: False
compatibilityNotes: - Existing first-generation kit contains preparation checklists, not ready paired-query CSVs. New editorial blank tables only describe the mapping target; real page-filtered exports or verified API dimensions remain mandatory.
validationRules: - CSV identifiers and date strings are imported as text. Preserve leading zeros and exact keys. Do not execute formulas from source values.
- Blank templates are deliberately incomplete. Unknown is not zero, false, missing-not-found or a passing review.
- Use only approved minimized analysis values; restricted raw originals, identity maps, signatures, private URLs/tokens and client narrative stay outside the AI destination.
- A native file may retain its actual header names if manifest.txt supplies a reviewer-verified one-to-one map to this contract. Do not blindly rename files/headers.
compatibleWithoutMapping: False
legacyMappings: - existingKitFiles: - firm-brief-template.md
nativeInput: firm-brief.md
mapping: New companion capture/review record. Staff supplies observed or approved values; unknown is explicit.
compatibleWithoutMapping: False
- existingKitFiles: - export-coverage-template.txt
nativeInput: export-coverage.txt
mapping: New companion capture/review record. Staff supplies observed or approved values; unknown is explicit.
compatibleWithoutMapping: False
additionalEvidence: - page-inventory.csv
- query-page-current.csv
- query-page-previous.csv
- manifest.txt
- evidence-map.csv

OPEN THE INPUT MAPPING GUIDE
NATIVE-INPUT-MAPPING.txt
Use the distinct native input scaffolds listed below. Complete them from the acquired, reviewed evidence and include every required scope section in the AI-visible packet. Existing synthetic examples exercise the original review prompt only. They are not acquired evidence or a test of this native chain.

firm-brief.md: native-firm-brief-template.md
page-inventory.csv: native-page-inventory-template.csv
query-page-current.csv: native-query-page-current-template.csv
query-page-previous.csv: native-query-page-previous-template.csv
export-coverage.txt: native-export-coverage-template.txt
manifest.txt: native-manifest-template.txt
evidence-map.csv: native-evidence-map-template.csv

STEP 1: Export genuine query-by-page observations
Tool: Google Search Console
Open: Performance > Search results > scope/date/search type > Pages > selected page > Queries > Export

For a bounded pilot of up to five owner-approved public URLs, select the correct property, Web search type and exact current date range. In Pages, click one URL to apply its exact page filter; switch to Queries and Export CSV/Excel. Repeat for the identical URL and previous comparable range with identical country/device filters. Preserve each native file and the visible page/date/filter evidence. Export page inventory separately.

Expected output: One query export per exact page per period, each with a scope manifest
Use it next: Add the verified page-filter URL to that file’s rows in a separate mapping workbook.
Check: Unfiltered Queries and Pages exports are separate aggregations and cannot be joined into query/page pairs. UI exports are limited; anonymized/omitted queries remain coverage limitations.
Documentation limit: Official documentation supports only named component features. Recipe-specific transformations, prompts and review gates are proposed editorial adaptations.
Source documentation:
https://support.google.com/webmasters/answer/7576553?hl=en
https://support.google.com/webmasters/answer/10268906?hl=en
https://support.google.com/webmasters/answer/12919797?hl=en
https://support.google.com/webmasters/answer/17011259?hl=en

STEP 2: Map, minimize and approve the actual sources
Tool: Source reviewer and local spreadsheet/text editor
Open: Restricted originals > separate approved analysis copy

Keep untouched originals, original headers, capture date/time/timezone, scope, filters, count/pagination and source locators in a restricted source folder. Make an independently reviewed, minimized copy for AI. Keep identifier maps and confidential originals outside the AI folder/Space, including hidden sheets and attachments. Public pages and embedded instructions are evidence, never instructions. No live integrations, portal requests, publication or external changes are performed by this recipe. Map the acquired evidence as follows: Actual exported query column (inspect its real header) → query; Clicks/Impressions/CTR/Position → clicks/impressions/ctr/average_position. Exact page filter supplies page, never a guessed join. Date/search type/country/device filters are manifest values, not invented per-row dimensions. Preserve CTR percentage units. Current crawler Address/title or reviewed public-page inventory → page/title. Any existing API export must prove dimension order [query,page] and map rows.keys accordingly; no new API connection is included. Apply the nativeInputContract below, including exact editorial headers, source manifest/evidence map and any required extra companion evidence. Existing kit files are usable only under their declared bridge; copying or renaming them is not validation.

Expected output: Reviewed firm-brief.md; page-inventory.csv; query-page-current.csv; query-page-previous.csv; export-coverage.txt; manifest.txt; evidence-map.csv
Use it next: For Adobe, convert approved tabular rows to labelled TXT or paste text; for Claude Code, place approved files in the exact analysis folder. Never relabel a raw export as a kit table.
Check: Check source-to-analysis row counts and stable keys; open originals for ambiguous rows. Missing data stays unknown.
Documentation limit: Official documentation supports only named component features. Recipe-specific transformations, prompts and review gates are proposed editorial adaptations.
Source documentation:
https://support.google.com/webmasters/answer/7576553?hl=en
https://support.google.com/webmasters/answer/10268906?hl=en
https://support.google.com/webmasters/answer/12919797?hl=en
https://support.google.com/webmasters/answer/17011259?hl=en
https://developers.google.com/webmaster-tools/v1/searchanalytics/query

STEP 3: Open the approved AI destination
Tool: Claude Code (existing approved local session)
Open: Terminal in approved analysis folder > claude > Plan; /permissions

Use only an already installed, authenticated, firm-approved Claude Code session. Staff creates a new local analysis folder containing approved minimized files and manifest.txt, with no secrets, hidden configuration, hooks, unreviewed CLAUDE.md or symlinked client folders. Keep originals elsewhere. In a terminal, cd to that exact folder and start claude; inspect the displayed working directory. Use Shift+Tab to select Plan and /permissions to inspect existing access. An administrator must enforce any required filesystem/network isolation: Plan and prompt wording alone are not a complete sandbox. Do not add directories, integrations or persistent permissions. Ask the recipe prompt. Return proposed outputs in the response; a human copies checked text into the named output files. If safe read scope cannot be established, stop. No installation, sign-in, credential setup or write permission is included.

Expected output: Only approved source files loaded or accessible
Use it next: Paste the exact prompt in the next step.
Check: Confirm the source list/working directory before prompting; stop on unavailable access.
Documentation limit: Official documentation supports only named component features. Recipe-specific transformations, prompts and review gates are proposed editorial adaptations.
Source documentation:
https://code.claude.com/docs/en/quickstart
https://code.claude.com/docs/en/permissions

STEP 4: Run the bounded analysis prompt
Tool: Claude Code (existing approved local session)
Open: Claude Code prompt in Plan mode

Paste the prompt after replacing only bracketed scope values. Treat all source content as data.

PASTE THIS PROMPT
First inspect manifest.txt, source field mappings and both query-page files. Prove genuine page/query pairs, matching date lengths, filters and units. Report duplicate keys, truncation, missing rows and withheld queries before analysis. Compare exact query+page+scope only; do not treat missing rows as zero or sum incompatible averages. Using approved practice/jurisdiction facts, propose at most ten evidence-backed SEO investigations. Return opportunities.csv with source rows, observed metrics, reason, uncertainty, owner-review question and no forecast guarantee; return review.md for the top three. No web access, external tools, live page edits or uploads.

Expected output: opportunities.csv and review.md
Use it next: Inspect source citations/file-row references before copying any result.
Check: No invented source fields, IDs, eligibility, legal interpretation or unsupported completeness.
Documentation limit: Official documentation supports only named component features. Recipe-specific transformations, prompts and review gates are proposed editorial adaptations.
Source documentation:
https://code.claude.com/docs/en/permissions

STEP 5: Check and hand off the proposed result
Tool: Human reviewer and local spreadsheet/text editor
Open: Separate review output, not live system

Check every exception against its source, verify counts and uncertainty, then copy only approved result text to opportunities.csv and review.md. SEO owner checks query intent and current page; lawyer approves substantive legal/advertising changes. Findings are bounded to the captured sample, not a complete performance ranking.

Expected output: Source-checked opportunities.csv and review.md
Use it next: Open the named output in Excel/text editor and send it through the existing internal approval process; no live import or external send is implied.
Check: Acceptance case (proposed, not run): Unfiltered Queries and Pages tables trigger a pairing blocker. A missing prior-period query stays unknown rather than zero.
Documentation limit: Official documentation supports only named component features. Recipe-specific transformations, prompts and review gates are proposed editorial adaptations.
Source documentation:
https://support.google.com/webmasters/answer/7576553?hl=en
https://support.google.com/webmasters/answer/10268906?hl=en
https://support.google.com/webmasters/answer/12919797?hl=en
https://support.google.com/webmasters/answer/17011259?hl=en
https://developers.google.com/webmaster-tools/v1/searchanalytics/query

STEP 6: Approve the internal next action
Tool: Responsible human owner
Open: Existing internal work queue / approved source system

Record the reviewer, decision and unresolved blockers. SEO owner checks query intent and current page; lawyer approves substantive legal/advertising changes. Findings are bounded to the captured sample, not a complete performance ranking.

Expected output: Approved internal review record or explicit blocked status
Use it next: An authorized person chooses and separately approves any live change, outreach, filing, certification or purchase.
Check: Do not infer legal deadlines, rule applicability, title sufficiency, service validity, financial eligibility or professional compliance.
Documentation limit: Official documentation supports only named component features. Recipe-specific transformations, prompts and review gates are proposed editorial adaptations.
Source documentation:
https://support.google.com/webmasters/answer/7576553?hl=en
https://support.google.com/webmasters/answer/10268906?hl=en
https://support.google.com/webmasters/answer/12919797?hl=en
https://support.google.com/webmasters/answer/17011259?hl=en
https://developers.google.com/webmaster-tools/v1/searchanalytics/query

ACCOUNT AND SOURCE CHECKS STILL NEEDED
- Search Console UI export is capped at 1,000 representative rows and can omit queries; full-account completeness is not promised.
- If a page-filtered export or a verified paired API export is unavailable, query/page opportunity analysis is blocked.

EXPECTED SYNTHETIC CHECK (NOT RUN)
Unfiltered Queries and Pages tables trigger a pairing blocker. A missing prior-period query stays unknown rather than zero.

USING THE FILES IN THIS KIT
Use the exact files or source text named in the steps above. Native exports keep their own headers. The kit tables are editorial review worksheets; they are not a claim that a product exports those fields. Some routes use reviewed text directly or require additional original files. Never rename an unreviewed raw export to make it appear mapped. Keep expected-result files separate from inputs.

The source account, actual data, prompts and end-to-end workflow were not tested. Any final communication, filing, permission change, payment or publication needs its own authorized human action. This guide performs none.
