Local Landing Pages and On-Page SEO
Structure, content and schema for location and service pages that rank locally without becoming doorway pages.
Your Business Profile gets you into the pack. Your website is what ranks in the organic results under it, what your profile links to, and what the customer sees before they call. This chapter covers the pages a local business needs, how to structure them, and the line between a location page and a doorway page.
The pages a local business needs
- Homepage. Says what you do and where, in the first screen. Links to every service and location page.
- One page per core service. "Boiler repair", "Invisalign", "Conveyancing". Not a bullet on a "Services" page — a page with enough content to be the best answer for that service in your area.
- One page per physical location (if more than one). Address, hours, team, photos of that branch, services offered there, reviews from that branch, directions and parking.
- A contact page with full NAP in text, a map, and
LocalBusinessschema. - Area pages, sparingly, for service-area businesses: a handful of genuinely different pages for the main areas you serve, not one per village.
Anatomy of a location or service page
| Element | What to do |
|---|---|
| Title tag | Service + location + brand, under 60 characters. "Boiler Repair Croydon | Smith Heating" |
| H1 | One per page. Natural phrasing of the same target. "Boiler repair in Croydon" |
| Opening paragraph | Who you are, what this page is for, where you serve — in plain English, within the first 100 words. |
| Body | What the service involves, what it costs or how pricing works, how long it takes, what makes you different, what happens next. 500–1,200 words of specifics. |
| Local proof | Photos of real jobs in the area, reviews mentioning the area, named local landmarks or streets where relevant, team members. |
| NAP | Name, address, phone in text on the page (footer is fine), matching the profile exactly. |
| Schema | LocalBusiness (or subtype) on location pages; Service with areaServed on service pages; FAQPage if you have genuine FAQs. |
| Internal links | From the homepage and nav; between related services; from blog posts. |
| Call to action | Phone number tap-to-call, and one primary action. Above the fold on mobile. |
| Media | Real images with descriptive alt text, sized for mobile, lazy-loaded below the fold. |
Location pages vs doorway pages
Google's spam policy names doorway pages: "sites or pages created to rank for specific, similar search queries" that "lead users to the same destination". A page for each of forty towns that says "We provide plumbing in [Town]. Our [Town] plumbers…" with the town name swapped is exactly that. It does not work for long and it drags the rest of the domain down.
A legitimate location or area page passes a simple test: could this page only have been written about this place? Real address or real jobs there, real photos, real local detail, real differences in what you offer. If you cannot write 400 genuinely different words about serving a town, you do not need a page for it — your service area setting on the profile and a mention on your main page will do.
Service-area businesses
Plumbers, electricians, cleaners, mobile mechanics. No shopfront for customers to visit, so the location page is the base address page (or the contact page). Choose three to six main areas — the towns you actually spend most days in — and write real area pages for those, with jobs, photos and reviews from each. Set the same areas on the profile. Resist the fiftieth page.
Multi-location businesses
A store locator page listing all branches with links, then one full page per branch, each linked from its own Business Profile. Branch pages share a template but not content: each has its own photos, team, reviews, hours and local details. Structured data per branch. Covered in multi-location local SEO.
Technical essentials
- Mobile-first, fast: most local searches are on phones and the customer is often standing outside. Target LCP under 2.5 seconds.
- HTTPS, clean URLs (
/boiler-repair-croydon/), one canonical version of each page. - No thin pages: remove or merge tag archives, empty category pages and old news posts that add nothing.
- XML sitemap listing only pages you want indexed. Submit it in Search Console.
- Tap-to-call phone links (
tel:), and consistent NAP in a site-wide footer.
Schema example
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Smith Heating Ltd",
"image": "https://example.co.uk/img/shopfront.jpg",
"telephone": "+44 20 8000 0000",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 High Street",
"addressLocality": "Croydon",
"postalCode": "CR0 1AA",
"addressCountry": "GB"
},
"geo": { "@type": "GeoCoordinates", "latitude": 51.372, "longitude": -0.101 },
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:00", "closes": "18:00"
}],
"areaServed": ["Croydon", "Sutton", "Bromley"],
"sameAs": ["https://www.facebook.com/smithheating", "https://www.checkatrade.com/trades/smithheating"]
}
Use the most specific schema.org type that applies (Dentist, Restaurant, LegalService), keep the values identical to the profile, and validate it in Google's Rich Results Test.
Part of the complete UK local SEO guide.