Use it when you are

  • Making sense of a large crawler export before writing tickets for developers
  • Investigating why pages are missing from the index after a migration or redesign
  • Reviewing a set of templates for canonical, noindex and redirect conflicts
  • Turning Search Console indexing report notes into a prioritized fix list

Why this prompt works

No evidence, no finding

Generic audits list every issue a site could have. Requiring column values and example URLs for each row means a finding exists only if your export supports it. It also makes the output checkable: you can open the cited URLs and confirm the pattern before anyone writes a ticket.

The model is told what it has not done

The role line states that the site has not been crawled and URLs cannot be fetched. Without that, models tend to describe pages as if they had loaded them. The opening data summary reinforces the point by making the model describe the export before interpreting it.

The order follows how a page reaches the index

Crawl access comes before indexing signals, which come before duplication and discovery. A blocked or erroring URL makes later checks on it irrelevant, so working in this order keeps the model from recommending canonical fixes on pages that cannot be crawled in the first place.

Two commonly confused mechanisms are spelled out

Google's documentation separates blocking crawling from preventing indexing, and mixing them up leads to fixes that backfire, such as disallowing a page that carries a noindex tag. Stating the distinction inside the prompt keeps recommendations consistent with how those directives behave.

Causes are grouped and gaps are listed

A template bug appearing on hundreds of URLs is reported once with a count, which matches how developers fix things. The closing section on what the data could not show stops silence from being read as a clean bill of health.

How to use it

  1. Run a crawl with your usual crawler and export the internal URL report with status code, indexability, canonical, meta robots, title, inlinks and depth columns.
  2. If the export is large, filter it to the section or template with the problem, and include a sample of healthy URLs for comparison.
  3. Paste the robots.txt file and the sitemap index into the crawl data field along with the export rows.
  4. Add Search Console details: the reasons and counts from the page indexing report, and URL Inspection output for two or three affected pages.
  5. Open the example URLs for each P1 finding and confirm the issue in the page source or with URL Inspection before assigning work.
  6. Use section 4 to decide what to export next, then rerun the prompt with the extra data.

AI model compatibility

ModelStatusNotes
ChatGPTExpected to workFor exports too long to paste, attach the CSV and ask the model to report the column names and row count before it audits, so you can confirm it read the whole file.
ClaudeExpected to workThe crawl_data and search_console_notes tags keep pasted exports separate from instructions, as Anthropic's prompting guidance recommends. Leave a block empty rather than deleting it.
GeminiExpected to workKeep the numbered method intact. If the reply covers only some areas, ask it to continue from the next numbered step.

“Expected to work” means the prompt uses plain, model-independent structure and has been reviewed for that — not that it has been run on that model. A model is marked Tested only when a test record is published below.

Worked example

Scenario: An illustrative case: a SaaS company whose new blog posts stopped appearing in search after a framework migration.

Example: filled-in prompt
# Role
You are a technical SEO consultant auditing a site from exported data. You have not crawled the site and cannot fetch URLs in this conversation; everything you conclude must come from what I paste below.

# Site
- Site, platform and size: B2B SaaS marketing site rebuilt on Next.js, about 1,200 URLs
- Why this audit is happening: Blog posts published since the migration are not being indexed
- Templates or URLs that matter most: /blog/[slug] template, /blog/ listing pages
- Constraints on fixes: One front-end developer; fixes must ship within the current sprint

<crawl_data>
Crawler export filtered to /blog/ with columns URL, status, indexability, canonical, meta robots, inlinks, depth; robots.txt contents; sitemap index
</crawl_data>

<search_console_notes>
Page indexing report shows a growing count under 'Alternate page with proper canonical tag' for blog URLs; URL Inspection for two posts pasted
</search_console_notes>

# Method
First, state in two or three lines what the data contains (columns, row count, URL types) and what it lacks. Then check these areas in order, skipping any the data cannot speak to:
1. Crawl access: robots.txt rules, status codes, server errors, redirect chains and loops.
2. Indexing signals: noindex directives, canonical tags, and conflicts between them, redirects, sitemaps and internal links.
3. Duplication: parameter, trailing-slash, protocol and host variants; near-identical titles across indexable URLs.
4. Discovery: sitemap coverage, click depth, pages with few or no internal links.
5. Rendering: content or links that appear to depend on JavaScript.
6. Mobile and page experience: use Core Web Vitals only if I supplied field data.
7. Structured data and international tags, if present in the data.

# Rules
- Every finding cites evidence: the column values and up to three example URLs from my data. No evidence, no finding.
- Mark each finding CONFIRMED (the data shows it) or SUSPECTED (the pattern suggests it; say what would confirm it).
- Group by cause, not by URL. One template bug affecting many URLs is one finding with a count.
- Do not repeat tool warnings as problems unless you can explain the effect on crawling, indexing or users.
- Keep these distinct: a robots.txt disallow stops crawling, not indexing, and a noindex only works if the page can be crawled.
- Do not invent URLs, counts, scores or metrics, and do not predict ranking or traffic gains.

# Output format
1. Data summary
2. Findings table: Issue | Status | Evidence | URLs affected | Why it matters | Fix | How to verify | Priority (P1 to P3)
3. Fix order: the first five actions, respecting my constraints
4. Not checkable from this data: what to export or test next

What a good response should contain

  • A short data summary noting which columns are present and that no Core Web Vitals field data was supplied
  • Findings grouped by template, each quoting canonical or meta robots values from the export with example URLs and a count
  • A clear CONFIRMED or SUSPECTED status on each row, with the test that would confirm suspected ones
  • A fix order limited to what one developer can do in a sprint
  • A list of unchecked areas, such as rendering and server logs, with the export needed for each

This is an illustrative scenario showing how to fill in the prompt and what to look for. It is not a recorded model output. Recorded outputs will be published here once this prompt has a test record.

Testing and editorial review

Status: Untested. Reviewed for structure and clarity by the editorial team. No recorded model test yet.

No test record has been published for this prompt yet. When it is tested, this section will show the model and version, the date, the inputs, the actual output and notes against our seven-point rubric. We do not publish numerical scores.

Editorial record
AuthorTheBestPromptFor Editorial Team — The editorial team writes, reviews and maintains the prompts and guides on TheBestPromptFor. Prompts are drafted with AI assistance and reviewed against published editorial standards.
PublishedNovember 15, 2026
Last reviewedNovember 15, 2026
Last testedNot yet tested
Version history
  • v1.0 — November 15, 2026 · Initial version

Limitations and things to check

  • The audit is only as complete as the export. Issues outside the pasted data will not appear.
  • The model cannot fetch pages, render JavaScript or read server logs, so rendering and crawl-rate findings stay suspected until you test them.
  • Counts are read from pasted text and can be miscounted on large exports. Confirm totals in your crawler or spreadsheet.
  • Fixing technical issues removes obstacles; it does not guarantee indexing or better rankings.
  • Platform-specific fix instructions may not match your CMS or framework version. Check them against its documentation.

Alternative prompts

All SEO prompts →

Frequently asked questions

Can the model crawl my site for me?

Not from a pasted prompt. Some products can browse individual pages, but that is not a site crawl and misses status codes, canonicals and link data at scale. Run a crawler, export the results and paste them in; the prompt is built to analyze that export.

What should the crawl export include?

At minimum: URL, status code, indexability, canonical URL, meta robots, title, number of internal links pointing in, and crawl depth. Redirect targets, hreflang and structured data columns help if those areas are in scope. Add robots.txt and sitemap contents as plain text.

Why are Core Web Vitals only covered if I supply data?

Core Web Vitals are measured from real user visits, and the model has no access to those measurements. If you paste figures from the Search Console report or another field data source, the prompt will use them; otherwise it lists performance as not checkable.

Sources and references

  1. Google Search Essentials — Google Search Central
  2. SEO Starter Guide — Google Search Central
  3. Web Vitals — web.dev

Was this prompt useful?

No account needed. Do not include personal information.