Contents8
- 01What Google calls a doorway page
- 02When a city page helps
- 03When an industry page helps
- 04A client’s case: area pages that only said their name
- 05How many pages, and in what order
- 06On the build side: one template, and content that belongs to each page
- 07The rest of the project
- 08Frequently asked questions
“We need a page for every city we work in.” The idea comes up in almost every redesign, and it starts from a sound intuition: a prospect in Lyon looks for a provider in Lyon, an accounting firm looks for someone who knows accounting firms. The trouble starts when the Lyon page and the Nantes page differ only by the name of the city. For the visitor, that is an empty page; for Google, a sign of manipulation. This article sorts one from the other, and belongs with our guide to migrating to a static site with Astro, where the URL structure is decided before the design.
In short
Google lists pages created to rank for similar searches, such as one page per city that all lead to the same place, among spam practices.
A useful local page says something found nowhere else on the site: a team, references, constraints or lead times specific to the place.
A page per industry helps when vocabulary, objections and proof really change from one trade to another.
Start with the few pages where you have the most to say, not with the list of every town you serve.
A template can require each page’s own content: a page without that block does not get published.
What Google calls a doorway page
Google publishes its spam policies, last updated on 28 August 2026. One of them targets exactly the temptation of the city page:
Doorway abuse is when sites or pages are created to rank for specific, similar search queries.
The examples given include pages or domains targeting specific regions or cities that all funnel visitors to one page, and near-identical pages that are closer to search results than to a hierarchy you can browse. The same page describes scaled content abuse: many pages generated mainly to manipulate rankings, with or without AI.
So the test is not the number of pages, nor a city name in the title. It is what the page gives the person who lands on it.
When a city page helps
A local page holds up when it answers a question a visitor from that city has, and that the general page does not answer. Four signs do not lie:
- A real presence. An address, a team, opening hours, a response time specific to the area. If nobody ever travels to Nantes, the Nantes page promises something that does not exist.
- Local references. Projects, clients or partners from the region that the visitor can recognise.
- Local constraints. Regulations, a market, a climate or a language that change the way you work.
- Measured demand. Searches that actually contain the city name in Search Console, not just the hope that they exist. Tracking rankings city by city then shows whether the page changes anything.
A simple test: would you keep this page if Google did not exist? A page a salesperson would happily send to a prospect in that city passes. A page you would rather not show anyone does not.
When an industry page helps
An industry page follows the same logic, with a different test: does the visitor’s trade change what you need to tell them? An accounting firm and an online shop do not buy a CRM for the same reasons, do not use the same words and do not ask for the same proof.
A useful industry page
It uses the trade’s vocabulary and its real objections
It shows a case or an example from the industry, with figures where possible
It says what does not suit that industry
It links to the pages that detail the offer
A doorway industry page
The industry name is dropped into generic text
No example comes from the industry
Every page promises the same thing to everyone
It leads nowhere except the form
The useful page saves the visitor time: they recognise themselves in the first lines, and the salesperson who calls back starts from an enquiry that is already qualified.
A client’s case: area pages that only said their name
Palmora Property, a real estate agency in Phuket that we support, had area pages. Each had a unique title and description. None had any editorial content of its own. The SEO audit of 22 July 2026 ranked them as the site’s largest untapped opportunity: URLs already in place, already in the sitemap, that said nothing beyond the name of the area.
The answer to that finding is not to delete the pages but to write them: what you find in the area, who it suits, what sets it apart from the next one. We drew a rule from it for our own pages: no page goes live without the problem stated in the client’s words, a real example with figures, honest limits and three internal links. A page that lacks one of the four stays a draft.
Key takeaway
A page per city or per industry is not justified by the keyword it targets, but by what it says that the other pages do not.
How many pages, and in what order
The list of every town you serve is a poor starting point: it sets the number of pages before you know what you have to say. The reverse order works better.
- Start from demand.
List the Search Console queries that contain a place or a trade, and the enquiries received through the form.
- List what you can say that is specific.
For each candidate city or industry: the team, references, constraints, figures. An empty line rules the page out.
- Write three to five pages first.
The ones with the richest material, held to the same standard as an offer page.
- Measure.
Rankings, visits and enquiries for those pages, over a few months.
- Merge the rest.
Areas with no specific material go into a section of the general page: “we also work in…”.
If the site already has dozens of empty pages, the question becomes a redesign: keep, merge or delete each page, then set up 301 redirects from merged pages to the one that replaces them. When pages number in the hundreds and come from a database, it is a different exercise, covered in programmatic SEO: when it works and when it hurts.
On the build side: one template, and content that belongs to each page
A static site built with Astro keeps these pages in a content collection, with a schema. The shared template carries what repeats (layout, offer, form), and the schema can require the fields that do not repeat: the text specific to the area, a reference, the person to contact. A page missing its own block does not build. It is the audit rule turned into an automatic check, rather than a line on a checklist that gets forgotten.
Two build precautions complete the picture. A city page in two languages is still two pages, each at its own URL, as explained in our article on multilingual websites. And every local page must lead somewhere: to the detailed offer and to a form, the two blocks that turn a visit into an enquiry according to the five blocks of a business website.
The rest of the project
Local pages are only part of a site’s structure. The choice of tool comes first (Webflow, Framer or Astro), as does the budget (how much a business website costs). A local page must be fast (Core Web Vitals for business leaders), accessible (the 2025 EU obligation) and readable by AI assistants (what makes a website citable). The form it carries has its own constraints on a static site (forms and search), as does hosting (Cloudflare, Netlify or a VPS, hosting in Europe). Who writes these pages, and where, matters too (Markdown or a CMS, headless Astro and Sanity), and a text drafted with AI raises the question of disclosing it. Finally, an old site full of empty pages is often a vulnerable one (why WordPress sites get hacked).
Our static site migration starts with an inventory of existing URLs: local pages that receive traffic are kept and enriched, the others merged with their redirect.
Frequently asked questions
Does Google penalise city pages?
Not as such. Its policies target pages created to rank for similar searches without adding anything, for example city pages that all lead to the same place. A local page that presents a team, references and conditions specific to the city is a useful page. What puts the site at risk is a series of pages that are identical apart from the name.
How many local pages should we create?
As many as there are places where you have something specific to say, and no more. Start with three to five pages, where demand and material are strongest, then measure their visits and enquiries for a few months. Areas without specific material belong in a section of the general page, without a page of their own.
Can we generate these pages with AI?
AI can help draft a page from real facts: a list of references, constraints, lead times. It cannot invent a local presence that does not exist. Google lists producing many pages with AI, without added value, among the forms of scaled content abuse. Human review and verified facts remain the condition for publishing any of these pages.
What should we do with empty city pages that are already live?
Sort them one by one. Those that receive visits or links deserve to be written with real local content. The others are merged into the general page, with a 301 redirect from each old URL to the page that replaces it. Deleting without redirecting loses the links and visits those pages were still receiving.
Sources
- Google Search Central, spam policies for Google web search (new tab)developers.google.com
Google Search Central, spam policies for Google web search
Read on developers.google.com(new tab)Jim · founder of Brain Plus AI
Also in websites, migration and astro

Practical guide7 min
A business website that generates leads: five blocks
A business website that gets visits but no enquiries rarely lacks design. It lacks one of the five blocks that turn a visit into a contact: the promise, the proof, the offers and prices, the answers to objections, and a contact path that loses nothing.

Practical guide7 min
Website redesign: which pages to keep, merge or delete
A redesign that starts with the mock-ups often ends up losing pages that were bringing in business. Sorting the existing site first, page by page and on data, keeps what the site has earned over ten years.

Understand8 min The topic guide
Static site with Astro: why migrate, without losing your SEO
A static site generated by Astro replaces an ageing WordPress or Drupal without changing a single address: pages in plain HTML served by a CDN, no plugin to patch, and a publishing chain with rollback. What it changes, how the migration goes, and when not to do it.
