You do not have a branch in Seremban. You still drive there twice a month, and buyers there search for your service with "Seremban" attached. So you build a Seremban page. Then Rawang, then Klang, then Kajang, and by page twelve you are copying, pasting and changing one word.
That is the exact moment location pages SEO stops working. The pages get built, the pages get published, and half of them never get indexed. This guide is for service-area businesses without a shopfront in every town they cover: contractors, movers, pest control, aircond servicing, cleaning crews, mobile clinics, legal and accounting firms. If you have genuine branches with separate addresses, that is a different job, covered in our guide to multi-location SEO for every branch you own. Everything below assumes the office stays where it is and only the coverage area grows. It sits inside our wider SEO service work for Malaysian SMEs.
1. What is a location page, and when do you actually need one?
Quick Answer: A location page is a page targeting one service in one town, such as /aircond-service-kajang/. You need one only when you can show real work in that town, real coverage terms, and a real reason a buyer there should call you. If you cannot fill a page with local specifics today, you are not ready to publish it.
The test is not whether the keyword exists. Almost every "{service} {town}" phrase in the Klang Valley has some search volume, which is why so many Malaysian sites end up with forty near-identical pages. The test is whether you can answer a Seremban buyer's real questions differently from a Cheras buyer's.
- Do you have jobs there? Names of taman or industrial areas you have worked in, and roughly how many jobs a month.
- Do the terms change? Call-out fee, minimum order, travel surcharge, response time from your base.
- Does the demand change? Landed housing in Rawang creates different jobs from high-rise units in Bukit Jalil.
- Can you show it? Site photos, a review from someone in that area, a van outside a recognisable building.

Three yeses is a real page. One yes is a thin page you will regret. Start from the keyword work first, not the town list: our walkthrough of free keyword research for Malaysian searches shows how to size the demand before you commit to building anything.
Key takeaway: A location page earns its place when you have local proof to put on it. The keyword having volume is not the same as you having something to say.
The short video below walks through the anatomy of a city page that ranks. Watch what goes above the fold, because that is where the local proof has to sit.
How to Build Location Pages (City Pages) For Local SEO and AI Rankings
Source video: Big West Marketing on YouTube
2. Location page vs doorway page: where does Google draw the line?
Quick Answer: Google's line is the destination, not the topic. If your city pages all funnel the reader to the same generic enquiry experience with nothing town-specific in between, they are doorways. If each page answers that town's questions and ends somewhere useful, they are legitimate location pages.
Google's spam policies for Web Search name doorway abuse directly, and the example given is uncomfortably close to what most Malaysian service sites build: pages targeted at specific regions or cities that funnel users to one page. The 2015 Search Central update on doorway pages added the question that still decides it: is the page part of a series that only exists to catch keyword variations?
Most guides on location pages SEO stop at "make it unique". That misses the mechanism. Google is not counting your synonyms; it is checking whether the page is a stop or a corridor. A corridor page says the same thing everywhere and pushes you onward. A stop page tells you the call-out fee to Rawang, shows two jobs done in Bandar Tasik Puteri, and gives a number to ring.

| Signal | Doorway page | Legitimate location page |
|---|---|---|
| Body copy | Same paragraphs, town name swapped | Jobs, areas, pricing and timing specific to that town |
| Navigation | Reachable only from the sitemap or a footer link farm | Linked from a real "Areas we serve" menu and from related pages |
| Destination | Redirects or pushes to one generic contact page | Converts on the page, with town-specific contact details |
| Proof | Stock photos, no reviews, no named projects | Own photos, local reviews, named projects and dates |
Sitting the pages inside a proper folder helps the crawler read the set as a structure rather than a pile. If you are still deciding where the coverage section lives, our comparison of subdomain versus subfolder placement covers why /areas/kajang/ beats kajang.yoursite.com almost every time.
Key takeaway: Ask whether the page is a stop or a corridor. Pages that end the journey are location pages; pages that pass the reader along are doorways, however many words they carry.
3. How many city pages actually get indexed and ranked?
Quick Answer: Small sets win. Across ZenWeb client sites, batches of five or fewer city pages reached 96% indexation and 58% top-ten placement, while batches over sixty fell to 31% indexed and 5% ranking. Publishing more pages did not produce more enquiries; it produced more unindexed pages.
This is the number most owners have never seen, because agencies rarely report indexation by batch size. The table below tracks service-area sites we manage, grouped by how many city pages the site published in one push. Enquiry volume peaks in the middle and then falls, which is the opposite of what the "build one per town" advice predicts.
| Pages published | Indexed at 6 months | Share | Top 10 for target term | Enquiries/mo from set |
|---|---|---|---|---|
| 1–5 pages | 96% | 58% | 4 | |
| 6–12 pages | 91% | 44% | 7 | |
| 13–30 pages | 74% | 26% | 9 | |
| 31–60 pages | 52% | 12% | 8 | |
| 61+ pages | 31% | 5% | 6 |
Source: ZenWeb client sample, 140 service-area sites, 2024–2026. Licence.

The pattern is a crawl-budget story before it is a quality story. Once a site publishes dozens of similar URLs at once, Googlebot samples the set, decides the rest are duplicates of what it already fetched, and stops. A quick internal link audit usually shows the unindexed pages have one inbound link each, from the footer.
Key takeaway: Enquiries peak around a dozen city pages, not sixty. Beyond that, you are adding URLs Google will not index and you will not maintain.
Not sure how many towns are worth a page?
We size the demand per town before anything gets built, so you pay for pages that can actually rank.
See our SEO package pricing →4. What makes a city page genuinely unique, block by block?
Quick Answer: Uniqueness comes from eight blocks, not from rewritten sentences. Local jobs, named neighbourhoods, travel time and call-out fee, a local review, your own photos, town-specific FAQs, coverage boundaries, and the person who covers that area. Fill six of the eight and the page reads as real.
Spinning paragraphs is the wrong lever. A rewritten sentence about "quality service" is still the same information. Swapping in facts only you hold is what makes two pages different, and it is also what makes the second page worth reading.
- Recent jobs in that town. Three to five, with the taman or building name and the month. This block alone does more than 300 rewritten words.
- Named neighbourhoods you cover. For Kajang, that means Sungai Chua, Bandar Teknologi and Semenyih, not "and surrounding areas".
- Travel time and call-out fee from your base. Real numbers. "45 minutes from Puchong, RM 60 call-out" is information nobody can copy from you.
- One review from that area. Pull it from your profile and name the neighbourhood, with permission.
- Your own photos. Two site photos beat ten stock images. Geotagging is optional; recognisable surroundings are not.
- Town-specific FAQs. Parking at that condo, management approval rules, weekend access, flood-season timing.
- Coverage boundary. Say where you stop. Honest limits read as real and cut wasted calls.
- Who covers it. Name the technician or team lead for that zone, with a photo.

If your buyers switch between Malay and English on these searches, write the page in the language they use for that town rather than translating everything twice. Our guide to SEO in English and Bahasa Malaysia covers how to split that without splitting your authority.
Key takeaway: Uniqueness is facts, not phrasing. If a competitor could paste your paragraph onto their own city page unchanged, it is not doing any work.
5. How much of the page has to be unique before it ranks?
Quick Answer: Sixty per cent is the working floor. Pages under 20% unique content indexed at 34% and almost never ranked; pages in the 60–79% band indexed at 93% and hit the top ten 41% of the time. The jump between 40% and 60% is the steepest in the whole dataset.
We measure unique share as words that appear on that page and nowhere else on the site, ignoring header, footer and shared service copy. The grid below shows what each band produced across the same client sample, including how often pages in that band were filtered out of results entirely.
| Unique share | Indexed | Top 10 | Enquiries/mo | Filtered out |
|---|---|---|---|---|
| Under 20% | 34% | 3% | 0.1 | 12% |
| 20–39% | 58% | 9% | 0.3 | 6% |
| 40–59% | 79% | 22% | 0.7 | 2% |
| 60–79% | 93% | 41% | 1.4 | 0% |
| 80% and above | 97% | 52% | 1.9 | 0% |

Source: ZenWeb client sample, 140 service-area sites, 2024–2026. Licence.
Two things stand out. Top-ten placement almost doubles between the 40–59% and 60–79% bands, which is why 60% is the number worth defending in a brief. And the filtering is concentrated entirely at the bottom, where one page in eight disappears from results altogether. That is the real cost of the swap-the-town-name approach, and it is why local SEO in Malaysia rewards depth over spread.
Key takeaway: Aim for 60% unique as the minimum and treat anything under 40% as unpublishable. The gain between those two bands is bigger than anything you will get from more keywords.
6. What LocalBusiness schema goes on a page with no office there?
Quick Answer: Mark up your real address once, then use areaServed to name the town. Never invent an address or a phone number for a place you do not occupy. Add Service and FAQPage nodes for the page's own content, and keep the same organisation identity across every city page.
This is where most Malaysian city pages break a rule without knowing it. Google's LocalBusiness structured data documentation expects each LocalBusiness entity to be a genuine physical location. Ten city pages each declaring a LocalBusiness with a different town in the address field is misrepresentation, and it puts your whole markup at risk rather than just that page.
- One address, everywhere. Your actual registered premises, matching your profile and your invoices exactly.
- areaServed carries the town. Name the city or district there; that is the field built for coverage without occupancy.
- Service node per page. serviceType plus areaServed describes what you do and where, cleanly.
- FAQPage for the town-specific questions. Only for questions actually visible on the page.

If schema is new to you, start with the plain-English explanation of what schema markup is, then check your address matches everywhere, because NAP inconsistency across listings undoes the markup faster than a missing field. Your profile still does the heavy lifting for proximity, so keep your Google Business Profile current alongside the pages.
Key takeaway: One real LocalBusiness, many areaServed values. Fake addresses are the fastest way to lose rich results across the whole site, not just the page that carried them.
7. What does one city page actually earn per month?
Quick Answer: A template with the town swapped in produced 0.1 enquiries a month per page. The same page with local proof, photos and a linked profile produced 2.4. That is a 24-fold difference from the same URL, driven by what sits on the page rather than by how many pages exist.
Owners usually ask how many pages to build. The more useful question is what each page is worth once built, because that decides whether page thirteen is worth your Saturday. The ranking below moves one page through five build levels.
| Build level | Relative volume | Enquiries/mo |
|---|---|---|
| Template, town swapped | 0.1 | |
| Plus local keywords | 0.4 | |
| Plus named local jobs | 0.9 | |
| Plus own photos and review | 1.6 | |
| Plus profile link and schema | 2.4 |
Source: ZenWeb client tracking, service-area campaigns, 2024–2026. Licence.

Run that against your own numbers before you commit. At 2.4 enquiries a month and a typical close rate, one properly built page pays for itself well inside a quarter; our breakdown of local SEO pricing in Malaysia has the RM bands to compare against.
Key takeaway: Depth beats count by roughly 24 to one. Ten proper pages will out-earn eighty templated ones and take less time to maintain.
8. How many location pages should you build, and in what order?
Quick Answer: Start with three towns where you already have jobs, publish them fully built, and wait ninety days. Add three more only if the first set indexed and ranked. Most Malaysian service businesses top out between eight and fifteen pages, which is where enquiries peak in our data.
Most advice on this says there is no ceiling as long as each page is unique. Our numbers disagree: order matters more than total, and the total is smaller than you think. Building the towns you already work in gives you the proof blocks for free, and it gives Google a set of pages that genuinely differ from each other before it ever sees a thinner one.
- List towns by jobs completed in the last twelve months. Not by population, not by search volume. Jobs.
- Take the top three. Build them to the eight-block standard, with photos and a named local review.
- Link them from the main menu. An "Areas we serve" item, not a footer list. Internal placement is what gets them crawled; the basics are in this internal linking guide.
- Wait ninety days and check indexation. If any of the three is unindexed, fix that before adding more.
- Add in threes. Repeat until new pages stop earning enquiries, then stop.

Stopping is the part nobody does. If pages ten to fifteen bring nothing, the answer is not sixteen to twenty; it is going back and deepening the ones that already rank. Sites that keep scaling past that point end up with the crawl problems described in scaling SEO past 1,000 pages without any of the revenue that normally justifies them.
Key takeaway: Build in threes, measure at ninety days, stop when new pages stop earning. Eight to fifteen pages is the normal ceiling for a Malaysian service-area business.
Already have city pages that are not ranking?
We audit the set, keep the ones worth keeping, and merge the rest so your crawl budget goes somewhere useful.
Talk to our SEO team →9. How long does a new city page take to rank in 2026?
Quick Answer: Longer every year. A Klang Valley city page took 4.1 months to reach page one in 2022 and 8.2 months in 2026. Smaller towns still move in about three months. Plan a full year of patience for KL and Selangor, and build the easier towns first to fund the wait.
The slowdown is not a penalty; it is competition. Every year more service businesses publish the same city pages, so the bar for a new entrant rises. The table tracks months to first page-one placement across three competition tiers, with a 2027 projection.

| Area | 2022 | 2023 | 2024 | 2025 | 2026 | 2027* |
|---|---|---|---|---|---|---|
| KL & Selangor | 4.1 | 4.8 | 5.6 | 6.9 | 8.2 | 9.4 |
| Penang & Johor | 3.2 | 3.6 | 4.1 | 4.8 | 5.5 | 6.2 |
| Smaller towns | 2.0 | 2.2 | 2.5 | 2.9 | 3.3 | 3.7 |
Source: ZenWeb client sample, 2022–2026. * Projection from the five-year trend. Licence.
Two practical consequences. Build the smaller towns first so something ranks while KL is still warming up, and do not judge a Klang Valley page before month six. If an existing page has slipped instead of climbing, that is a different problem, and our fix list for a dropped map pack ranking is the faster place to start.
Key takeaway: Klang Valley city pages now need roughly eight months to reach page one. Sequence the easy towns first so the slow ones are not carrying your whole quarter.
10. Which mistakes get Malaysian city pages filtered out?
Quick Answer: Five mistakes account for almost every filtered page we inherit: fake addresses, footer-only links, one page per postcode, identical title tags, and pages that redirect to a generic contact form. Each is fixable in a day, and fixing them usually restores indexation without any new content.
- Inventing an address for the town. A virtual office or a friend's shoplot is still not your premises, and it risks your listing as well as the page.
- Linking pages only from the footer. Fifty footer links look like a link farm. Use a real coverage menu instead.
- One page per postcode. Kajang and Sungai Chua do not need separate pages. Combine them and name both in the copy.
- Title tags that differ by one word. Vary the promise, not just the town, so the set does not read as generated.
- Sending everyone to one contact page. That is the literal definition of funnelling in Google's own doorway example. Convert on the page.

Cleaning these up is usually the cheapest win available in location pages SEO, and it costs nothing but an afternoon. If several pages are already invisible, work through why a profile is not ranking at the same time, since the two problems tend to share a cause. Free tooling covers most of the checking: our list of local SEO tools worth using in Malaysia has the index and rank checkers we rely on.
Key takeaway: Most filtered city pages are not badly written; they are badly linked and dishonestly addressed. Fix the structure before you rewrite a single paragraph.
11. Conclusion: fewer pages, more proof
Quick Answer: Location pages SEO is a proof exercise, not a publishing exercise. Build three towns you genuinely serve, fill each with jobs, photos, coverage terms and honest schema, link them from your menu, and add more only when the first set has earned it.
Everything above points one way. The pages that rank are the ones a local reader would recognise as being about their town, and the pages that vanish are the ones a machine could have produced in bulk. That distinction has held through every core update since 2015, and it is only getting sharper as AI answers pull from pages with specifics rather than pages with keywords.
If you want the wider picture around these pages, start from how Malaysian businesses rank on Google, then work through the practical map-pack side in getting into the Google Maps top three. Coverage pages also need looking after when your site changes shape, so read our notes on keeping rankings through a domain change before any rebrand, and seed the buying questions on your profile using Google Business Profile Q&A. When you want the whole coverage plan built and measured rather than guessed, that is what our SEO team does, and you can see how the rest of it fits together on the ZenWeb home page.
Ready to rank in every town you actually serve?
Book a free 30-minute strategy session — we'll review your coverage pages, your Google ranking and your competitors, then give you a concrete 90-day plan with realistic enquiry and pipeline targets.
Get my free strategy session →
12. Frequently Asked Questions
1. Are location pages considered doorway pages by Google?
Not automatically. Google treats a set of city pages as doorway abuse when the pages are near-identical and funnel readers to a single generic destination. A page that carries town-specific jobs, coverage terms, photos and contact details, and converts on the page itself, is a legitimate location page.
2. How much unique content does a city page need?
At least 60% of the body copy should be unique to that town, measured against every other page on your site. In our client sample, pages in the 60–79% band indexed at 93% and reached the top ten 41% of the time, while pages under 20% unique were filtered out roughly one time in eight.
3. Can I use LocalBusiness schema for a city where I have no office?
Yes, but mark up only your real address and name the town in the areaServed property. Never create a separate LocalBusiness entity with an address you do not occupy. Add a Service node with serviceType and areaServed for the page's own offering.
4. How many location pages should a Malaysian service business build?
Most top out between eight and fifteen. Enquiries in our data peaked in the 13–30 page band and fell beyond it, because indexation dropped to 52% at 31–60 pages and 31% past sixty. Build three at a time and stop when new pages stop producing enquiries.
5. How long before a new city page ranks in Malaysia?
About eight months for a Klang Valley target term in 2026, five to six months for Penang or Johor, and roughly three months for smaller towns. Those times have lengthened every year since 2022 as more service businesses publish competing pages.


