How to Rank in Nearby Cities Without Doorway Pages
You serve twelve towns but rank in one. So someone tells you to make a page for each town, swap the city name, and publish. Six months later those pages either sit on page five or quietly disappear from the index. That's not bad luck. That's what happens when you build doorway pages, and it's the most common way service businesses waste a year of effort chasing nearby cities.
This piece covers what actually separates a legitimate city page from a doorway page, and how to earn visibility in towns where you have no office and no reviews yet.
What counts as a doorway page, exactly?
A doorway page is a page built to rank for a location or keyword that offers no unique value to the person who lands on it, usually part of a set of near-duplicate pages funneling everyone to the same place. Google has targeted these specifically since 2015. The test they apply is roughly: if you removed the city name, would this page be indistinguishable from twenty others on your site? If yes, it's a doorway.
The mechanics that get pages flagged are predictable:
- Templated body copy with the city name find-and-replaced ("We are the best HVAC company in [CITY]").
- Pages that exist only for search engines, with no content a resident would actually read.
- Large clusters of pages targeting slight variations of the same intent.
- Thin content — 150 to 300 words padded with a service list and a map embed.
The problem isn't that you have multiple city pages. Plenty of businesses rank fine with them. The problem is when those pages are interchangeable. Interchangeable equals doorway.
Why the swap-the-city-name approach fails now
Two things changed. First, Google's systems got good at detecting templated content at scale — near-duplicate detection doesn't need a human reviewer anymore. Second, the local algorithm leans heavily on proximity and relevance signals that a thin page can't produce. A page that says "we serve Riverside" with nothing specific about Riverside gives the algorithm nothing to work with, and it gives a searcher no reason to trust you over the company down the street.
There's also a practical failure. Even when a spun page sneaks into the index, it converts poorly. Someone in a town you don't have an office in is already a little skeptical. A page that reads like a mail-merge confirms their suspicion.
How do I target a city where I have no office or reviews?
You target it by building one genuinely useful page per city that answers the questions a resident of that specific city would ask, grounded in details only a company that works there would know. The goal is to make the page defensibly local, not superficially local.
Here's what "defensibly local" means in practice for a single city page:
- Real jobs in that area. Describe work you've done nearby, neighborhoods you cover, drive times, permit quirks. A contractor knows that one town requires a permit for a water heater swap and the next one doesn't. That's a sentence no competitor can copy.
- Local conditions that change the work. An HVAC company can write about how a coastal town's salt air corrodes condenser coils faster, or how an older housing stock affects ductwork. That's information, not filler.
- Named landmarks and geography. Not stuffed — used naturally, the way you'd talk to a customer on the phone.
- Honest service-area framing. "We're based 20 minutes east in Fulton and cover Riverside on our normal route" is more credible than pretending you have a Riverside storefront.
If you can't write 400 to 600 words of genuinely city-specific content, you probably shouldn't have a page for that city yet. That's the honest gatekeeping test.
The prioritization step most people skip
Don't build twelve city pages at once. Rank your target cities by how much business actually comes from each, then build the top three or four properly. A handful of strong pages beats a dozen thin ones, and it keeps you well clear of the "cluster of near-duplicates" pattern that triggers filtering.
A worked example: a plumbing company covering four towns
Suppose a plumbing company is based in Tucson and wants to reach Oro Valley, Marana, and Vail. Here's a sequence that builds real pages instead of doorways.
- Rank the towns by revenue and demand. Say Oro Valley is the strongest, Marana second, Vail a distant third. Build in that order.
- List what's genuinely different about plumbing in each. Oro Valley has hard water and a lot of newer builds with specific fixture types. Vail is more rural with well systems and septic. Those differences are the spine of each page.
- Write the Oro Valley page around a real question. "Why is my water pressure dropping in Oro Valley?" leads into hard-water scaling, the local supply, and what a fix costs. Now the page teaches something.
- Add proof specific to the area. Two or three sentences on jobs done nearby, response times from the shop, and which neighborhoods the crew covers on a typical week.
- Interlink deliberately. Link the Oro Valley page to your core service pages (water heater repair, leak detection) and to a genuinely relevant blog post, not to every other city page in a footer block.
- Hold Vail until it earns a page. If there's not enough to say about Vail yet, mention it on the main service-area page and revisit once you've done more work there.
Four towns, three real pages, zero doorways. The Vail restraint is the part most businesses get wrong — they publish the weak page because it feels like progress, and it drags the whole cluster down.
Supporting the city pages so they can actually rank
A strong page still needs signals around it. A few that matter:
- Google Business Profile is still the biggest lever for proximity-based results. Your city pages support the map presence; they don't replace it.
- Reviews that mention locations. When customers naturally name their town in a review, that's a relevance signal you can't fake and don't have to.
- Genuine local links. A sponsorship, a supplier, a local business association — these tell Google you actually operate in the region.
- Internal links from topical content. An article on "how hard water damages fixtures" that links to the Oro Valley page reinforces both.
A quick self-audit checklist
Run each city page through this before you publish:
- If I deleted the city name, is this page still obviously about this city? (Should be yes.)
- Would a resident learn something useful, or is it just a pitch?
- Is any paragraph copy-pasted from another city page? (Should be none.)
- Am I claiming a physical presence I don't have?
- Does the page link to something that helps the reader, not just to other city pages?
If a page fails two or more of these, it's closer to a doorway than a real page, and it's a liability.
Where this fits in a content program
City pages are one layer. They work best when they sit on top of a body of question-driven content that establishes you as the obvious authority for your service, so each local page inherits topical strength rather than standing alone. Building that layer consistently — mapping the questions, writing pages that read like a person wrote them, and interlinking them with intent — is the ongoing work a program like ClearPath Content handles, but the principles here apply whether you do it yourself or not.
The takeaway: don't measure progress by how many city pages you've published. Measure it by whether each page would survive being stripped of its city name and still teach a reader something true about that place. Build three pages that pass that test before you build a fourth. That's the whole difference between ranking in nearby cities and getting quietly filtered out of them.
This is what we do, every week, on autopilot.
ClearPath Content runs the whole organic program — demand mapping, production, publication and interlinking — as a monthly subscription.
Book a 30-minute call