Guide

City Pages for Roofers: When a Service-Area Page Ranks and When It Is Dead Weight

By Aaryan Gupta Updated October 25, 2026

A city page can get a roofing company into Google’s regular results for a town it serves, the listings under the map. Don’t count on it to move your Google Maps rank in that town, because Google ranks the map partly on how far your business is from the person searching. Pages that swap one town name into the same text, and separate websites for each city, match what Google’s spam policy calls doorway abuse.

A town page competes in the results under the map

Google says local results are “mainly based on relevance, distance, and popularity,” and that distance “refers to how far each business is from the customer who’s searching.” A page on your website can’t move your office closer to that homeowner. On a rank grid we ran in August 2026 for a Dallas roofer, his map rank was strong around his yard and weak on the far side of I-30. Why Your Roofing Company Disappears on Google Maps Outside Your Hometown goes further into why.

The regular results are where a town page can show up. A roofing owner in Lancaster, Pennsylvania wrote on r/SEO that his Harrisburg location page and blog posts got him to third in the regular results there. On the Harrisburg map, he wrote, “we’re nowhere to be found in the map pack,” while it listed businesses with no website and no reviews. At home in Lancaster he showed up in both.

The same split explains why agencies give owners opposite answers. A roofing owner serving more than ten cities within an hour’s drive asked agencies to bid, and half told him SEO “can only be done for the city our Google My Business address is listed.” The other half said any city he served. The first group was describing the map and the second the regular results, so ask an agency which one it means before you pay for town pages.

Two different things carry the name “service area.” One is the list of cities or ZIP codes in your Google profile, which Google says “shows customers where you can provide your products and services.” Google’s help page for that list never says a listed town lifts your rank there. The other is a service-area page on your website, and its job is the regular results. Fill in the profile list so homeowners know where you work, and judge the website pages by where they show up under the map.

If you want the map in another town, plan on a real office there. Google allows a service-area business one profile for its whole area, and a second profile needs separate staff and a separate service area. A rented address you don’t operate from “isn’t eligible for a Business Profile.” Opening a Second Roofing Location, and Getting the Google Profile to Rank There covers that route.

A template with the town name swapped fits Google’s spam policy

As of October 2026, Google’s spam policies define doorway abuse as pages “created to rank for specific, similar search queries.” One example is “Creating substantially similar pages that are closer to search results than a clearly defined, browseable hierarchy.” A stack of town pages built from one template, with only the town name changed, fits that closely. The policy targets pages built to rank and funnel visitors, and a page that simply names a town is fine.

Google’s policy on mass-produced pages, which it calls scaled content abuse, covers the same stack. It applies “when many pages are generated for the primary purpose of manipulating search rankings and not helping users.” Google’s March 2024 post says the policy holds “whether automation or humans are involved,” so pages typed by hand get no exemption.

Google says sites that break these policies “may rank lower in results or not appear in results at all.” Its manual actions page lists doorways under thin content, and a site with a manual action can have “some or all” of it left out of search.

A commercial roofing owner on r/SEO, partway through a batch of city pages, asked how many repeated headers and short paragraphs it took before duplicate content hurt. Google’s 2015 doorway post asks about purpose instead: whether the pages exist “to optimize for search engines and funnel visitors into the actual usable or relevant portion of your site,” or are “an integral part of your site’s user experience.” If your town pages share one body with the town swapped in, rewrite each around jobs in that town or fold them into one page about where you work.

A batch of bulk city pages can rank for nothing

A staff member at a roofing company posted on r/SEO that the company wanted a programmatic SEO tool, meaning software that turns out pages in bulk from a template. Developers who called themselves specialists had proposed a plan that seemed off, and the post asked whether to walk away. Google’s helpful-content page lists warning signs that fit bulk pages, among them “Are you using extensive automation to produce content on many topics?”

When we pulled rankings for a marketing agency’s site with 634 city pages, the whole site ranked for 29 searches and none of those belonged to a city page. Spend the money on pages for towns where you have jobs to show, and pass on the batch.

A separate website for each city is Google’s first doorway example

The first example on Google’s doorway list is “multiple domain names or pages targeted at specific regions or cities that funnel users to one page.” A microsite for each town that sends its visitors to your main site is that example.

A marketer at a remodeling company that also does roofing wrote on r/SEO that ranking town by town had been hard. A vendor that contacted them unasked proposed a separate microsite under another business name.

One roofing listing in Texas ran a .best site with “location” pages for four cities, each with a different phone number, plus a sister site covering two cities. That is Google’s first doorway example almost word for word.

When a vendor pitches a page or a domain for every town, ask what each one will show that the others don’t, and turn it down if the answer is the town name. For the rest of the vetting, see How to Hire a Roofing Marketing Company Without Getting Burned.

A town page earns its place with jobs you did there

Google’s helpful-content checklist asks whether a page shows “first-hand expertise and a depth of knowledge,” and names “visiting a place” as one example. For a roofer, we read that as a roof you finished in that town. Build the page from the jobs you did there, with their photos and the reviews those homeowners left.

The same checklist asks whether you’re writing to a particular word count because you’ve heard Google prefers one, then answers: “No, we don’t.” A vendor selling long city pages by the word is selling length Google says it doesn’t look for. Build a page only for a town where you have finished work to show, and add towns as the jobs come in.

Google asks whether your town pages are an island

Google’s 2015 doorway post also asks whether pages exist as an “island,” hard or impossible to reach from the rest of the site. A commercial roofing owner with 20 city pages wrote on r/SEO, “besides one city page, we don’t really link to them.”

Link each town page from a page about where you work, and link each job write-up to its town page and back.

Check Search Console for a penalty, then search from the town

Google Search Console has a Manual actions report that shows a count, or a green check mark when there are none. A green check only means no person at Google has flagged the site. Google says its algorithms catch most spam on their own and the report covers manual actions only, so a green check doesn’t prove your town pages count for anything.

To see whether a town page works, have someone in that town search for a roofing company with the town’s name, and for a specific job there. Then look for your page in the regular results. A map grid is the wrong test for a page, since it shows where your profile ranks and never why.

Keep or cut each town page with this checklist

  • Keep a page that shows jobs you finished in that town.
  • Rewrite or merge pages that share one body with the town name swapped.
  • Link every town page from a page about where you work, and from the jobs done in that town.
  • Turn down a separate domain or a mailbox address for each city.
  • Open Search Console’s Manual actions report, then search from the town for your page in the regular results.
  • For the map in another town, plan on a real second office with its own staff.

To see where your map ends before you write pages for the towns past it, run the free Google Maps heatmap. Pick your Google profile and a search, and in a few minutes you’ll see your rank at 49 points around your office.

We do this for roofing companies Roofing SEO services

Compare roofing marketing agencies on price and who owns the site