Prompts to Try

On-Page SEO, Straight From Search Console Data

Result:

The reader can run a genuine SEO optimization pass on a real page, prioritized against the exact queries it already earns impressions for, using nothing but a free Search Console export and Claude, no separate SEO subscription or dashboard required.

Shortcut

Paste this into Claude (or Claude Code, if the page lives in a repo you’re editing directly) once you’ve gathered the two inputs below.

Requires manual input

  • A Search Console CSV export of the page’s Performance report
  • The URL of the page you’re optimizing

Both come from your own accounts and browser, so pull the CSV first using “Get the data” steps below.

You're helping me optimize a page's copy for SEO using Google Search
Console data. First ask me whether I can edit this page's title tag and
meta description, or only the body copy.

Here's the page's URL: [PAGE URL]
Fetch it and use its current title tag, meta description, and body copy
as your baseline. If you can't fetch URLs in this context, ask me to
paste the copy instead.

Here's a Search Console export of every query this exact page gets
impressions for (columns: Query, Clicks, Impressions, CTR, Position):
[PASTE CSV DATA]

1. Group the queries into: (a) high-impression queries with a weak
   click-through rate, (b) "striking distance" queries around position
   8-20 with real impressions, and (c) queries with real apparent volume
   the current copy doesn't address at all.
2. Tell me the 3-5 highest-opportunity queries overall and which group
   each falls into.
3. If I can edit the title tag and meta description, write new ones (aim
   for 50-60 and 150-160 characters) leading with the highest-opportunity
   query, and suggest header changes only where one can pick up an
   underused query without becoming awkward.
4. Rewrite the body copy to work the remaining high-opportunity queries in
   naturally, without changing any of the page's actual claims or adding
   anything untrue.
5. If a query doesn't fit naturally anywhere, don't force it in; tell me
   which ones and why.
6. Match my existing tone and voice. Don't let it drift toward
   generic SEO phrasing.

Return the rewritten copy (and, if applicable, the new title tag and meta
description), then a short list of what changed and why.

Problem#

Paid SEO tools charge for something Google already gives away: a per-page breakdown of every search query showing your content, how often people clicked it, and where it ranked. That data lives in Search Console’s Performance report the moment a page starts getting impressions. Most people never open it, and even when they do, a spreadsheet of forty queries and their click-through rates doesn’t turn itself into “change this sentence.” That translation step is the part a paid tool, or an SEO specialist, usually gets hired to do.

There’s a second wrinkle before you can even write the prompt: how much of the page can you change? On your own site or CMS, you can rewrite the title tag, the meta description, the headers, all of it. On a platform someone else administers, Medium, a company blog you don’t own, a guest post, LinkedIn, you’re often limited to the body copy itself; the metadata is locked or managed elsewhere. Optimizing for the second situation with advice meant for the first wastes effort suggesting changes nobody can make.

Pattern#

One export, one prompt, in two flavors depending on how much of the page you control.

Get the data#

  1. Open Search Console and select the property the page belongs to.
  2. Go to the Performance report, click ”+ New” → “Page”, paste the exact URL of the page you’re optimizing, and apply the filter. Everything below now describes just that one page, not your whole site.
  3. Stay on the Queries tab (it’s the default one after filtering). This is the table that matters: every search query that earned an impression for this page, plus its clicks, click-through rate, and average position.
  4. Widen the date range to at least the last three months. A single page’s query list on a 7- or 28-day window is often too thin to prioritize against.
  5. Click Export → CSV (or “Google Sheets” if you’d rather skim it there first) to download the table.

If the page is new or low-traffic, this table may be short, or a few very-low-volume queries may show blank click or position values, Search Console suppresses some rows for privacy at low volume. That’s normal; work with what’s there. This pattern gets more useful as a page accumulates weeks of real data, not less.

Note the page’s URL#

Both prompts below ask Claude to fetch the page’s live URL directly, so it reads the current title tag, meta description, and body copy itself instead of you copying any of it by hand. If the page is still a draft (not live yet) or your Claude context can’t fetch URLs, fall back to copying the live text into a plain text file, and grab the current title tag and meta description from the page’s source or your CMS’s SEO fields if you’re using the full-control flavor below.

Pick your flavor and run the prompt#

Flavor A — you can only edit body copy (a platform like Medium, a locked-down CMS, a guest post, anywhere the SEO fields belong to someone else):

You're helping me optimize this page's copy for SEO. I can only edit the body copy on this
page, not the title tag or meta description, so don't suggest changes to either.

Here's the page's URL: [PAGE URL]
Fetch it and use its current body copy as your baseline. If you can't fetch
URLs in this context, ask me to paste the copy instead.

Here's a Search Console export of every query this exact page gets impressions for
(columns: Query, Clicks, Impressions, CTR, Position):
[PASTE CSV DATA]

1. Group the queries into: (a) high-impression queries with a weak click-through rate,
   (b) "striking distance" queries around position 8-20 with real impressions, and
   (c) queries with real apparent volume that the current copy doesn't address at all.
2. Tell me the 3-5 highest-opportunity queries overall and which group each falls into.
3. Rewrite the body copy to work those queries naturally into the opening paragraph,
   subheadings, and supporting sentences, without changing any of the page's actual
   claims or adding anything that isn't true.
4. If a query doesn't fit naturally anywhere, don't force it in; tell me which ones and why.
5. Match the existing tone and voice. Don't let it drift toward generic SEO phrasing.

Return the full rewritten copy, then a short list of what changed and why.

Flavor B — you control the whole page (your own site, or a CMS you administer):

You're helping me optimize this page for SEO. I have full control over the page: title tag,
meta description, headers, and body copy.

Here's the page's URL: [PAGE URL]
Fetch it and use its current title tag, meta description, and body copy as
your baseline. If you can't fetch URLs in this context, ask me to paste
the copy, title tag, and meta description instead.

Here's a Search Console export of every query this exact page gets impressions for
(columns: Query, Clicks, Impressions, CTR, Position):
[PASTE CSV DATA]

1. Group the queries into: (a) high-impression queries with a weak click-through rate,
   (b) "striking distance" queries around position 8-20 with real impressions, and
   (c) queries with real apparent volume that the current copy doesn't address at all.
2. Tell me the 3-5 highest-opportunity queries overall and which group each falls into.
3. Write a new title tag (aim for 50-60 characters) and meta description (aim for
   150-160 characters) that lead with the single highest-opportunity query, honestly
   describe what the page delivers, and read like something a person would click, not a
   keyword string stitched together.
4. Suggest specific header changes only where a heading can pick up an underused query
   without becoming awkward; don't force every heading to change.
5. Rewrite the body copy to work the remaining high-opportunity queries in naturally,
   without changing any of the page's actual claims.
6. If a query doesn't fit naturally anywhere, tell me which ones and why instead of
   forcing it in.

Return: the new title tag, the new meta description, any header changes, and the full
rewritten body copy.

Extension — keep it in your own voice. Paste this ahead of either prompt above if you want the rewrite to sound like you, not like generic SEO copy:

Before you rewrite anything: here's how this page should sound. [Paste 5-10 sentences of
copy you already like, or a full voice/style doc if you have one.]

Match that voice in the rewrite. Where a query would only fit by sounding generic
or salesy, say so instead of forcing it in.

If you already maintain a written voice doc, the voice-rules pattern for turning it into a standing prompt (or a Claude Skill) is the sturdier version of this step.

Read the export the way Claude should be prioritizing it#

  • High impressions, weak click-through rate, already on page one → the page is being seen and skipped. Usually a title/meta problem (Flavor B) or a weak opening line (Flavor A).
  • Real impressions, position roughly 8-20 → “striking distance”: the page is already relevant enough to show up, just not developed enough to rank higher. A content-depth problem; add real coverage, don’t just sprinkle the keyword in.
  • A query with real apparent demand that isn’t in the export at all, or shows near-zero impressions → the page genuinely doesn’t address it yet. That’s a gap, not a rewrite.
  • High position and a healthy click-through rate already → leave it alone. Don’t “optimize” something that’s already working.

Output#

Every input this pattern requires already lives in your Search Console account the moment a page starts getting impressions. You immediately know the queries a page ranks for, how often it is seen without a click, and which keywords are stuck just off page one.

Want a quick baseline before you pull Search Console data? Grade the page’s on-page metadata first.

Check a page’s SEO/AEO metadata

Variations#

  • Which page first? Pull an unfiltered Performance export (skip the page filter in step 2) sorted by impressions to see which pages have the most untapped opportunity site-wide, then drill into those one at a time with the pattern above.
  • Non-primary markets or devices. Search Console’s Performance report also filters by country and device. If a page serves more than one market, filter to the audience that matters before exporting, otherwise a large secondary-market query volume can crowd out the prioritization for your primary readers.
  • A full voice doc instead of a few pasted examples. The voice-rules pattern covers turning a written vocabulary/style doc into a standing enforcement prompt (or a Claude Skill), the sturdier version of the tone extension above.
  • Automating the export itself. This recipe works from a manual CSV download on purpose, it needs nothing beyond a Search Console account and Claude. A future recipe on this site will cover pulling Search Console data on a schedule into the traffic dashboard, the same repo-route pattern already used for PostHog traffic data.

Nathaniel Stich writes Exit Velocities — recipes drawn from AI/growth systems shipped in production, not opinion pieces.

About the author