Journal·Local SEO·April 4, 2026

Programmatic City Pages Without Tripping Google's Doorway Filter

How to build dozens of city + service landing pages for a decorator's site without triggering Google's doorway-page penalty.

10 min read · By decorator.tv editorial

Map of a metro area marked with neighborhood pins beside a website wireframe, depicting safe programmatic city landing pages that avoid doorway penalties.

Programmatic SEO — building dozens or hundreds of pages from a small content engine — is one of the highest-leverage tactics available to a service business. It is also one of the most dangerous: get it wrong and Google's doorway-page filter will nuke your entire domain's rankings overnight. This piece walks through the line between legitimate programmatic city pages and doorway pages, with a build guide for decorators that stays safely on the right side of it.

What Google considers a doorway page

Google's doorway page documentation is unusually explicit. A doorway page is one of: multiple pages targeting the same query but funneling users to the same destination, near-duplicate pages where only the geographic name varies, pages that exist purely to capture search traffic without serving distinct user intent, or templates filled with thin location-specific content.

The studios that get penalized typically built fifty city pages from a template that had five paragraphs of identical brand copy plus a city name swapped in the H1 and the first sentence. The first three or four years of doing this worked; Google was slow to catch up. By 2018 the algorithm caught up; by 2024 the manual review team caught up. Today, this kind of template build is an automatic demotion.

The studios that do not get penalized build the same fifty pages but include 600+ words of unique content per page covering local specifics. This is the line, and it's not subtle.

The unique-per-city content checklist

Every city page must include each of these five elements with content unique to the city:

A neighborhood reference (Aberdeen, McMillan, Sandy Hill — actual neighborhoods in the city, not generic phrases like "downtown").

A local landmark or geographic context (the Mission Bridge, the Sumas River dyke trail, the Highway 1 exit).

A recent project address with at least the street name (Glasgow Drive, McKinney Road) — never the full address for privacy.

A local statistic relevant to your service (typical home age in the city, dominant architectural style, average square footage, common construction era).

A local trade reference (local building inspector authority, the specific WCB region office, the lumber supplier you buy from in town).

Five elements, 600 words minimum, written from your actual experience working in the city. If you cannot supply these five elements honestly, you do not have enough experience in the city to publish a page about it. Build city pages only for cities you actually serve.

The shared-template + unique-content build

The shared elements that can repeat across city pages without penalty:

Page template structure (H1, answer paragraph, FAQ, schema) — duplicating structure is fine, content is what's checked.

Trust strip and credentials.

Service descriptions, IF they're written generically and not duplicated word-for-word as the bulk of the page.

The unique elements that must vary:

The H1 (city name).

The answer paragraph (city name + city-specific facts).

The 600-word local context section.

At least three of the FAQ answers (city-specific pricing context, neighborhood-specific examples, local code or permit notes).

Photos (city-specific projects, even if it's only two or three images per city).

Reviews (filter your reviews to show only city-specific ones on the page).

The split is approximately 30% template / 70% unique per city. That ratio is the safe zone.

Build sequence: what to ship and in what order

For a studio serving ten cities with eight services, the temptation is to ship 80 pages. The safe sequence:

Phase 1 (months 1-3): One service-only page per city. So: /langley-decorator, /abbotsford-decorator, /surrey-decorator. Ten total. Each fully fleshed with the unique-per-city checklist. These are your foundation.

Phase 2 (months 4-9): One service-plus-city page per city for your single highest-converting service. So if interior repaint is your money service: /interior-repaint-langley, /interior-repaint-abbotsford, etc. Ten more pages. Each with city-specific examples and content.

Phase 3 (months 10-18): Service-plus-city pages for your second and third services. Twenty more pages, two per city.

Phase 4 (year 2 onward): Backfill the rest as actual project work in each city accumulates. Do not publish a page for a city-service combination before you have at least one real project to reference on it.

Total at the end of year 2: approximately 50 pages, all defensibly unique. No penalty risk.

The Search Console signals that warn you in advance

Google does not announce doorway-page demotions. They show up as a sudden, unexplained traffic drop across a swath of city pages, usually overnight. There are early-warning signals if you watch:

In Search Console, your city pages should have rising impressions month over month. If impressions are flat or rising on individual pages but the average position across city pages is rising (worse), that's a content quality flag.

Click-through rate on city pages below 1% sustained over three months is a sign Google is showing the pages but users aren't choosing them. Time to rewrite, not to ignore.

Indexed page count in Search Console matching submitted URL count: if Google indexes fewer of your city pages than you submitted, the unindexed ones were judged thin. Find them, rewrite them, resubmit.

Acting on these signals before the algorithmic demotion drops is the difference between a one-week recovery and a six-month recovery.

What about service-plus-neighborhood pages

The next temptation, after city pages work, is to add neighborhood pages. /interior-repaint-aberdeen-langley, /interior-repaint-mcmillan-langley. Don't, except for two cases. Case one: you have actual project density in the neighborhood — a half-dozen completed projects with photos and reviews. Case two: the neighborhood is large enough that it has its own search volume in Keyword Planner.

Most neighborhoods fail both tests. Studios that build out neighborhood pages without these justifications dilute their city page rankings and frequently end up demoted. Stay at city granularity unless you have data forcing finer.

The conversion case for doing this right

A correctly built city page converts at 4-7% from organic search, versus 0.8-1.5% for a generic services page. The math: a single ranking #1 city page producing 200 monthly organic visits at 5% conversion produces ten new leads per month from that one page. Across ten city pages averaging position #2, that's 70-90 leads per month, recurring, indefinitely.

The cost of getting it wrong (algorithmic demotion across the domain) is six to twelve months of organic traffic loss while you rewrite and re-earn trust. The cost of getting it right (one focused day per city page during the build, plus quarterly maintenance) is small. Studios that publish 50 templated city pages in a single sprint are gambling the entire domain for marginal speed gain. Studios that build one strong city page per month for fifty months own the regional search graph for the next decade.

#city pages#doorway pages#programmatic SEO

Two ways to start

A fast, written quote — or a call to join the trade network.