Build local keyword sets without ending up with forty identical suburb pages
Builds service plus modifier plus area keyword sets from your own words, then rules on which sets would produce the same page twice and must be collapsed.
- Works in
- ChatGPT, Claude, Gemini
- You need
- Your services in the words you use with customers · The areas you genuinely serve, and what is true in each · The things you do not offer · Your existing pages, or none
- Written for
- local seo keywords
Scored by our own engine
This page, run through the audit we sell. Measured 4 August 2026.

Local keyword research is mostly one shape: a service, a modifier and an area. The hard part is not producing the combinations, which any model will do endlessly, but deciding how few pages they should turn into. The prompt below builds the sets from your own words, then rules on which of them would produce the same page twice and must be collapsed into one.
Service plus modifier plus area
The modifier carries the intent and it is the part most keyword lists drop. “Boiler repair Didsbury” and “emergency boiler repair Didsbury” and “boiler repair Didsbury cost” are three different people, and only the middle one is going to pick up the phone in the next ten minutes.
Modifiers also have to match what you actually sell. This is why the prompt asks what you do not offer before it builds anything. A set built around same day callouts you cannot do earns you a phone call you have to turn down, which costs more than the ranking was worth.
The suburb page trap
The most common local SEO mistake is a page per suburb where every page is the same page. Swap the place name and the sentences remain true, which means none of them were ever about the place.
Those pages compete with each other for the query you wanted, and they were the pattern search engines spent years learning to discount as doorway pages. The COLLAPSE THESE section is the most useful output on the page for this reason: it names the groups of sets whose pages would be identical and gives you the one page that should exist instead. A shorter list of pages that each say something true is not a compromise here, it is the win.
What has to be true for a split
Three things that could only be written about that area, and that you could show a customer. Staff who live there, jobs you have completed, a building you actually occupy, a rule the local authority applies there and not next door.
If an area comes back from the area test saying nothing, that is not a failure of the prompt. It is the answer, and it means the area belongs on a combined service page rather than one of its own. If you have already built those pages, run two of them through the canonical checker to see which URL you have told search engines to keep, then redirect the others rather than leaving them to compete. When you are ready to write the one page that survives, the local SEO plan prompt takes it from there.
You are building local keyword sets for a service business. A set is a group
of keywords one page could genuinely satisfy. Your job is to build the sets
and then to tell me which of them must not become separate pages.
Rules you must follow:
1. Build every keyword from a service I gave you plus a modifier plus an area
I gave you. Do not add areas. Do not add services. Where you introduce a
modifier I did not use, mark it inferred and say what you inferred it
from.
2. Use only modifiers that match what I actually offer. If I have told you I
do not work weekends, do not build "sunday" keywords. If I have not told
you my prices, do not build "cheap" keywords and then have nothing on the
page to answer them.
3. Do not estimate search volume, difficulty or competition. You have no
access to any of them. If a set needs prioritising, prioritise on what I
told you about my business and say that is what you did.
4. Assume by default that two areas do not deserve separate pages. Make me
argue for a split rather than handing me one page per place name.
5. Separate keywords a page could realistically answer from keywords that
belong to the Google Business Profile. Proximity phrases and opening hours
phrases are usually answered by the profile and the map, not by prose.
6. Do not invent anything local: no neighbourhoods, landmarks, postcodes,
council names, travel times or population facts. If a set needs local
detail to work, list what you would need from me.
Output as sets, not as a table.
For each set:
SET: the name of the set in plain words.
THE PAGE: the proposed URL of the one page that would own it, or the words
"no page, this belongs to the profile".
KEYWORDS: one per line, each marked (mine) or (inferred from ...).
WHO TYPES THIS: one line on what they want and how urgently.
WHAT WOULD BE DIFFERENT ON THIS PAGE: three things that could only be written
about this area, taken from what I told you. If you can name fewer than
three, say how many you found, because that shortfall is the finding.
Then the two sections I care about most:
COLLAPSE THESE. Every group of sets whose pages would say the same thing with
the place name swapped. For each group: the sets involved, the single page
that should exist instead, and the sentence that proves they would be
identical.
THE AREA TEST. One line per area I gave you: something that is true there and
in none of the other areas on my list, taken only from what I told you, or
the single word "nothing".
Constraints:
- If everything I gave you about my areas is interchangeable, say so and give
me one page. That is a real answer and I would rather have it than a set
per suburb.
- Do not write the pages. I asked for keyword sets and a verdict on which
pages should exist.
My services, in my words: [WHAT YOU DO, AS YOU SAY IT TO A CUSTOMER]
The areas I serve: [EACH AREA, AND WHAT IS ACTUALLY TRUE THERE]
What I do not offer: [HOURS, SPEED, PAYMENT, JOBS YOU TURN DOWN]
My existing pages: [PASTE THE URL LIST, OR WRITE "none"]What to change
Everything in square brackets is yours to replace. Nothing else needs editing.
[WHAT YOU DO, AS YOU SAY IT TO A CUSTOMER]- Your services in your own vocabulary, not a competitor list you pasted. "Emergency boiler repair, landlord gas certificates, radiator swaps" gives you keywords a customer would type, while "heating solutions" gives you a phrase nobody searches. The model echoes whatever words you hand it, so this input decides the quality of every keyword in the output.
[EACH AREA, AND WHAT IS ACTUALLY TRUE THERE]- The input the collapse verdict runs on. "Didsbury: two engineers live there, 40 jobs last year, mostly Victorian conversions. Sale: we drive there, nothing else." tells the model that one of those earns a page and one does not. Listing bare place names guarantees the area test comes back saying nothing, which is itself the answer.
[HOURS, SPEED, PAYMENT, JOBS YOU TURN DOWN]- What stops rule 2 building keywords you cannot serve. "No weekends, no same day, we do not take card on site, we do not do commercial" removes four whole modifier families before they become pages that attract the wrong call. Most keyword lists fail here rather than on the keywords themselves.
[PASTE THE URL LIST, OR WRITE "none"]- Your existing indexable URLs, one per line, straight from your sitemap. This is what lets the model match a set to a page you already have instead of proposing a new one, and it is how you find out that two of your existing pages are already in the same set. Write "none" and every set comes back as something to build.
How to run it
- 01Write your services the way you say them out loud
Say your services as you would to a customer on the phone and write that down, not the version from your homepage. Marketing language collapses several searchable services into one unsearchable phrase, and the keyword sets inherit whatever vocabulary you feed in. This takes five minutes and it decides most of the output.
- 02Write one honest line per area
For each place you serve, write what is physically true: staff who live there, jobs completed, a depot, a genuine radius. Areas with nothing after the colon are the ones the collapse section will fold together, and knowing that before you write pages saves the work of unpicking them later.
- 03List the things you do not offer
Write down the hours you do not work, the speeds you cannot promise and the jobs you turn down. This is the input that stops the model producing keyword sets for same day callouts you cannot do. A keyword you rank for and cannot serve costs you a phone call and a review.
- 04Run it, then read the collapse section first
Paste the prompt with your four inputs into ChatGPT, Claude or Gemini, then jump straight to COLLAPSE THESE before you read a single keyword. That section is the reason the prompt exists. It tells you how many of the pages you were about to build would be the same page with a different word in the title.
- 05Check the area test against what you could show a customer
Read the one line per area and ask whether you could show a customer proof of it. Something that is true in an area but that you cannot photograph, name or point at will not survive into copy, so the page will end up generic no matter how good the keyword set was. Areas that come back saying nothing belong in one combined service area page.
- 06If the pages already exist, check what they canonicalise to
Run two of your existing area pages through the canonical checker. Two near identical pages that each canonicalise to themselves are two pages competing for one query, which is the state the collapse section is trying to prevent. The tool reads the tag rather than judging similarity, so use it to confirm which URL you have told search engines to keep, then redirect the rest.
Questions people ask
What are local SEO keywords?
Search terms that combine a service with a place, usually in the shape service plus modifier plus area: "emergency locksmith north Leeds", "boiler service Didsbury prices". The modifier is the part that carries intent and the part most lists leave out. Someone typing prices and someone typing emergency want different pages, even though the service and the area are identical.
Should I build a page for every keyword set?
No, and the collapse section exists to stop you. A set earns a page only when the page could say three things that are true in that area and nowhere else on your list. Where it cannot, the sets belong on one page covering the service across your whole area, because two pages that differ only by place name compete with each other as well as failing on their own.
Do "near me" keywords belong on a page?
Rarely. Proximity phrases are resolved by the searcher's location and the map results, so they are answered by your Google Business Profile far more than by any sentence you write. Putting "near me" into page copy reads oddly to a human and adds nothing a search engine needs. The prompt sorts those keywords into the profile column rather than pretending a page can win them.
How do I find local keywords without a paid tool?
Type your service and your town into Google and read the autocomplete suggestions, the related searches at the bottom and the questions box. Then read your own enquiries, because the words customers use with you are words they typed somewhere first. That gives you real phrases, and this prompt does the part a list cannot do, which is deciding how few pages they should become.
Can ChatGPT tell me the search volume for a local keyword?
No. Local volumes are small, geographically split and unavailable to a language model, and asked anyway it will produce numbers that look exactly like real ones. The prompt forbids it for that reason and prioritises on what you told it about your business instead, which is the honest basis and usually the better one at local scale.
Unsubscribe in one click. We never pass your address on.