Skip to content
Ultraviolet Lab

Location Pages SEO: Rank Without Doorway Pages

Twenty city pages with the name swapped is a doorway, not a strategy. How to build service area pages for St. Pete, Tampa, Clearwater, and beyond that earn their place in search.

By Chris Williams · · 8 min read

If your business is based in Clearwater but you take jobs in St. Petersburg, Tampa, Dunedin, and Largo, you've probably been told you need a page for each city. That's roughly right. Location pages are one of the main ways a service business tells Google, and customers, where it works. But location pages SEO is also where a lot of small business sites get into trouble, because the easy version (one page, copied twenty times, with the city name swapped) is exactly what Google's spam policies describe.

What Google means by doorway pages

Google's spam policies define doorway pages, in plain terms, as pages created to rank for a cluster of similar searches that send visitors somewhere less useful than where they wanted to go. The policy specifically calls out sets of pages aimed at particular cities or regions that funnel people to the same place, and pages that are substantially similar to each other instead of forming a clear, browsable structure.

Google also has a policy on scaled content abuse: producing large numbers of pages mainly to rank, with little value for the reader. It applies whether those pages were written by people, templates, or AI. The method doesn't matter. The usefulness does.

Pages that fall under these policies can be demoted or dropped from results, and serious cases can draw a manual action that shows up in Search Console. More often, they simply never rank.

A useful test: would this page exist, and would a customer find it helpful, if search engines didn't? A page that tells a Tampa homeowner how you schedule jobs across the bay, what you've done in their neighborhood, and what's different about working there passes. A page that says "We proudly serve Tampa" six times does not.

The swap test

Open two of your location pages side by side. Replace the city name in one with the city name from the other. If the page still reads correctly, it's a doorway in all but name.

A template with the same headings, lightly reworded paragraphs, and identical FAQs fails this test even if no two sentences match word for word. The goal is different substance, not different wording.

What makes a location page substantive

The pages that work are built from things only you know about working in that place.

Local specifics that change the work

The best material is anything that makes the job in this city actually different. A few Tampa Bay examples:

  • A roofer on the beaches deals with salt air, wind exposure, and condo associations with their own approval process. That's a different job from a roof in inland Brandon.
  • A contractor who works in St. Petersburg's historic neighborhoods can explain how the city's historic review affects exterior changes there.
  • A Tampa-based caterer serving events in Westshore office towers and Hyde Park homes runs two different logistics problems, and can say so.

If nothing about the work changes from city to city, that's a sign you may need fewer pages, not more copy.

Neighborhoods, used naturally

Mentioning Old Northeast, Seminole Heights, or Clearwater Beach helps when it's attached to something real: a job you did, a type of building common there, a scheduling reality. A list of neighborhood names at the bottom of the page adds nothing.

How you actually serve that area

Customers want to know whether you'll really come to them, and how. Travel time, which days you schedule there, whether there's a minimum job size for longer drives, who on your team covers it. "We book most Tampa jobs midday to stay off the Howard Frankland at rush hour" is specific, useful, and impossible to copy onto your Clearwater page.

FAQs only that city's customers ask

Good location FAQs come from real calls. If St. Pete customers keep asking about parking for your crew downtown, or Clearwater customers ask whether you can work around vacation rental turnovers, those are your questions. If the FAQ answer would be identical on every city page, it belongs on your service page instead.

Photos from real jobs there

A photo of a finished job in that city, with a short caption about what you did, is worth more than any paragraph you could write. Stock photos of a generic skyline are not.

Proof you actually have

Reviews from customers in that city (real ones, shown with their permission), short project descriptions, and any licensing or permitting specifics for that jurisdiction. If you don't have proof for a city yet, say what you offer there honestly and invent nothing.

Structure and internal linking: hub and spoke

Location pages work best inside a clear structure. The usual pattern has three layers:

Page typeIts jobLinks to
Service page (one per service)Explains the service fullyIts city versions, related services
City page (one per city)Explains how you work in that cityServices offered there, nearby cities
Service x city page (only where justified)The service, as it's done in that cityIts parent service page and parent city page

A few rules keep the structure clean:

  • Link from the service page down to its city versions, and from each city version back up to both parents. Breadcrumbs help visitors and search engines see the hierarchy.
  • Use readable URLs that reflect the structure, such as /services/roof-repair/clearwater or /locations/clearwater.
  • Don't dump sixty city links in your footer. A short list of main cities is fine; a wall of links signals pages built for search engines.
  • Link location pages from places a person would expect to find them: the service page, a locations hub, and your contact page.

Schema: areaServed

Structured data won't make a thin page rank, but it describes a good one accurately. On a service page or a service x city page, mark up the service with Service schema, name your business as the provider, and use the areaServed property to name the city (as a City, with its name). On your homepage, your LocalBusiness markup can list every city you serve in areaServed.

Schema should never give you a fake address in each city. Without a staffed Tampa location, no page should claim a Tampa street address, in the text or the markup.

FAQ markup is still a clean way to label your questions and answers, though Google now shows FAQ rich results only for a narrow set of authoritative government and health sites, so don't expect the expanded listing.

Titles and meta descriptions

  • Title: service, city, and brand, in plain language. "Roof Repair in Clearwater, FL | Smith Roofing" is better than a string of keywords. Keep it short enough to display in full on a phone.
  • Meta description: one or two sentences that say something true and specific about this city. If yours differ only by the city name, rewrite them.

Google sometimes rewrites titles and descriptions. Its documentation says boilerplate and keyword-stuffed titles are among the usual reasons, so specific, accurate ones tend to hold up better.

How many pages is too many

There's no magic number. A page earns its place when three things are true: you actually work there regularly, you have something specific to say about it, and people there search for what you do.

Service x city pages multiply fast. Six services across fifteen cities is ninety pages, and almost no small business has ninety pages' worth of real local material. Start with the city pages for the places that matter most, and add a service x city page only when that combination has its own story.

For reference, this site uses the structure described above: four service pages, three city pages, and twelve service x city pages for St. Petersburg, Tampa, and Clearwater. Each was written from scratch, and the build runs a check that compares every pair of location pages and fails if any two share more than 30 percent identical sentences. We'd rather a deploy fail than ship a page that reads like its neighbor.

Signs you've gone too far: pages that get almost no impressions in Search Console after several months, pages Google reports as crawled but not indexed (a status that often points to thin or duplicate content), and pages where you couldn't think of a single city-specific FAQ. Merging weak pages into a stronger parent is often the better move.

A practical checklist

  1. List the cities where you genuinely work and want more work. Cut the rest.
  2. For each, write down five true things that are specific to working there. If you can't, don't build that page yet.
  3. Build or improve your service pages first; location pages lean on them.
  4. Write each city page from scratch, with its own angle, examples, and FAQs.
  5. Add real photos and real proof where you have them.
  6. Run the swap test on every pair of pages.
  7. Link the pages into a hub and spoke structure with breadcrumbs.
  8. Add Service and LocalBusiness markup with areaServed, and no fake addresses.
  9. Write a distinct title and meta description for each page.
  10. Check Search Console after a few months, and merge or improve pages that aren't pulling their weight.

Frequently asked questions

Is it OK to use a template for location pages?

A shared design layout is fine; every page on your site uses one. The problem is a shared content template where only the city name changes. Keep the layout consistent and make the substance different.

Can I have location pages for cities where I don't have an office?

Yes, if you genuinely serve those cities. Plenty of businesses work across Tampa Bay from one base. Just be honest: describe how you serve the area, and never list an address you don't operate from.

Can I use AI to write location pages?

Google's concern is whether pages are useful, not how they were produced. Mass-producing near-identical pages is a problem whether a person, a template, or a tool wrote them. Whatever you use to draft, the local specifics have to come from you.

Building it right the first time

Location pages are much easier to plan before a site is built than to fix after Google has ignored them for a year. Our local SEO work and web design are planned together, so the service pages, city pages, and the links between them are part of the first wireframe. You can see how we handle our own, for example on our Clearwater page and the service pages under it, like web design in Clearwater and SEO in Clearwater.

If you want to talk through which location pages your business actually needs, send us a note or call (727) 490-9380.

More field notes

Want this done for you?

Send us a note about your business. We'll look at where it stands in local search and what would move it.

Your note goes straight to Chris Williams, who does the work and replies within 24 hours.