All promptsTechnical SEO

Audit a whole site by page type, so the fix lands on the template

A prompt that audits a site one page type at a time. Home, category, product and article each get their own checks, and every finding names the template.

Works in
ChatGPT, Claude, Gemini
You need
Your page types, with three to five example URLs each · The head HTML from one representative URL per type
Written for
chatgpt prompts for website seo
98A

Scored by our own engine

This page, run through the audit we sell. Measured 4 August 2026.

Score your own page →

A website is not a large number of pages. It is five or six templates, repeated. The prompt below audits the templates, one page type at a time, with a different set of checks for each and a rule that every finding has to name the place the fix goes.

The unit of work is the template, not the page

A site with 4,000 URLs usually has six page types. Audit the six and you have audited the site. Audit a sample of the 4,000 and you get a list sorted by how common a defect is, which is almost never the same as how much it costs you.

This is why per URL audit output is so hard to act on. Two hundred rows describing the same missing canonical is one ticket written two hundred times, and the engineer who opens it has to do the grouping you skipped.

Different page types get different checks

A product page with no price or availability in its markup is a real finding. An article with none is not. Run one checklist across every type and you generate false positives on the types the check was never meant for, then spend a meeting explaining that the 180 article pages flagged for missing product schema are fine.

Rule 2 makes the model declare, per type, which checks it is applying and which it is skipping. The skipped list is the useful half. When it says it skipped hreflang on your product template because you told it the site is single language, you know that decision was made rather than missed.

Three samples, or it is not a pattern

One sample tells you about one page. Three tells you whether the template does it every time, which is what decides whether the fix is one edit or four hundred. Sample from different periods, because a template that was corrected two years ago leaves the old markup on every page published before the change, and that is a backfill job rather than a template job.

Anything the model marks unconfirmed is a request for two more samples, not a finding you can brief. Once a pattern holds, check the representative URL of your money making type in the canonical checker before work starts, because a category template that canonicalises its product pages to itself is worth more than everything else on the list. The general crawl export audit is the companion to this one: that reads what a crawler found, this decides what should have been checked.

The prompt 540 words
You are a technical SEO auditor working on a whole website. I am going to
give you my page types and a few sample pages from each. Audit the site one
page type at a time. The thing you are auditing is the template, not the
individual page.

Rules you must follow:

1. Treat each page type as the unit of work. A finding belongs to a page
   type, and you say which template or component would have to change. Only
   report a finding against a single URL when it is genuinely unique to that
   URL, and then say so explicitly.
2. Different page types get different checks. Before auditing a type, list
   the checks that apply to it and the checks you are deliberately skipping,
   with one clause on why. A product page with no price or availability in
   its markup is a finding. An article with none is not.
3. A pattern needs at least three samples. With one or two samples, label the
   finding "unconfirmed pattern" and say it may be one page rather than the
   template. Do not upgrade it because it looks likely.
4. Report only what is in the samples I pasted. You cannot crawl my site, you
   cannot fetch a URL, you cannot see my response headers unless I pasted
   them, and you cannot see Search Console. Anything that would need one of
   those goes in the "Send me next" list at the end, named as the artefact
   you need.
5. Do not invent page types. Audit the types I listed and nothing else. If
   the samples suggest a type I did not name, say so in one line rather than
   opening a section for it.
6. Do not estimate traffic, rankings, revenue or percentage uplift. Severity
   is expressed as which page type is affected and roughly how many URLs that
   type covers, using the count I gave you.
7. Anything wrong on every page type is a site wide finding and belongs once,
   at the end. Do not repeat it inside each type.

Output format. One block per page type, in this exact shape, no table:

PAGE TYPE: name, number of samples, approximate URLs of this type
Checks that apply:
Checks skipped, and why:
Confirmed on every sample:
Varies between samples:
Unconfirmed pattern (fewer than three samples):
Fix at:

Then two closing sections:
SITE WIDE: findings true of every type, with the single place to fix each.
SEND ME NEXT: the specific artefact that would settle each thing you could
not determine, one line each, ordered by which page type it unblocks.

Constraints:
- Every finding quotes the value it came from. If you cannot quote it from
  what I pasted, it is not a finding.
- Do not name a template or component I did not tell you about. Write
  "unknown, I only have URLs" instead of guessing a file name.
- If two samples of the same type disagree, report both values rather than
  picking the one that makes a cleaner finding.

My page types and counts: [LIST EACH PAGE TYPE, WITH ROUGHLY HOW MANY URLS]
Which type makes money: [ONE SENTENCE]
The samples: [FOR EACH TYPE, PASTE THE HEAD HTML OF ONE URL AND THE URLS OF THE OTHERS]

What to change

Everything in square brackets is yours to replace. Nothing else needs editing.

[LIST EACH PAGE TYPE, WITH ROUGHLY HOW MANY URLS]
Write it as "home (1), category (40), product (3,200), article (180), location (12)". The counts are what turn a finding into a size. Without them a template bug on twelve location pages reads the same as the identical bug on three thousand product pages, and the model has nothing to order the output by.
[ONE SENTENCE]
Which page type takes the money. "Product pages convert, the blog is top of funnel" is enough. This is what stops the audit leading with a heading structure problem on the article template while the product template quietly canonicalises to the category page.
[FOR EACH TYPE, PASTE THE HEAD HTML OF ONE URL AND THE URLS OF THE OTHERS]
View source on one representative URL per type and paste everything between the opening head tag and the closing one, then list the other sample URLs beneath it. The head is where nearly every template level defect is visible: title, canonical, meta robots, hreflang, JSON-LD. Three to five samples per type is the number rule 3 is written against.

How to run it

  1. 01
    Write down your page types before you touch a crawler

    Open your sitemap or your CMS and list the types by hand: home, category, product, article, location, whatever your site actually has. Most sites have five to eight, and the list is usually shorter than people expect. This list is the audit plan, and getting it wrong is the only mistake here that cannot be corrected later in the process.

  2. 02
    Pick samples that are not all the same age

    For each type, take three to five URLs from different periods: one of the oldest, one recent, one in the middle. Templates change over time and old pages often carry markup the current template no longer emits, which is exactly the difference rule 3 is looking for when it separates a confirmed pattern from a varying one.

  3. 03
    Paste the head HTML, not the whole page

    View source on the representative URL and copy the head element only. The full document is mostly body content the model does not need and will spend its attention on. If you are auditing product pages, keep any JSON-LD block that sits in the body too, since that is where a lot of platforms put it.

  4. 04
    Run one page type per conversation

    Send the prompt with a single page type filled in, read the block, then start again for the next type. Sending all five at once produces shorter blocks for every type and the later ones get noticeably thinner. The site wide section can be assembled at the end from what repeated across the runs.

  5. 05
    Read the unconfirmed patterns as a list of things to sample again

    Anything labelled unconfirmed is not a finding yet, it is a request for two more samples. Go back, pull two more URLs of that type, and rerun just that block. This is faster than it sounds and it is the difference between briefing an engineer on a template change and briefing them on a coincidence.

  6. 06
    Verify one representative URL per type on the live page

    Take the highest severity finding for the money making type and check that URL in the canonical checker before anybody starts work. Category and product templates are where duplicate URLs and wrong canonicals actually live, and a canonical pointing at the wrong page is the one finding on this list that is worth more than all the others combined.

Questions people ask

What are the best ChatGPT prompts for website SEO?

Ones that audit a template rather than a page. A website is a handful of page types repeated, so a prompt that treats every URL as its own case produces a list sorted by how common a defect is rather than by what has to change. Give the model your page types, three samples of each, and a rule that findings must name a template.

Why audit by page type instead of crawling everything?

Because the fix happens in a template either way. A crawl of 4,000 URLs and an audit of the six templates behind them produce the same work order, except the second one is legible. Crawls are still worth running: use them to find which URLs belong to which type, then audit the types.

How many sample pages do I need per page type?

Three at minimum, five is comfortable. With one sample you cannot tell a template defect from a page somebody edited by hand, which is why the prompt marks anything under three as unconfirmed rather than reporting it. Choose samples of different ages, because old pages often carry markup the current template stopped emitting.

Can ChatGPT crawl my website to do this?

No. Most assistants either cannot fetch pages at all or fetch a single URL on request, and none of them crawl a site. Anything an assistant tells you about pages you did not paste was inferred from the ones you did. The prompt handles this by ending with a list of artefacts it needs rather than filling the gap.

Does this replace a crawler like Screaming Frog?

No, it works upstream and downstream of one. The crawler tells you which URLs exist and which are broken. This tells you which template is responsible and what a page of that type should have been checked for in the first place. Our own engine runs 36 checks against a single URL, which is the third piece.

A new prompt, most days One working prompt for a real SEO or AI visibility job, what to change in it, and a worked example. No sequences, no offers dressed as newsletters.

Unsubscribe in one click. We never pass your address on.

Run your first audit
in about a minute

Free account, no card. Paste your URL and get a real, scored report of your AI and search visibility.

Measuring rankings in