Writing · Case studies
Building location pages at scale without making doorway pages
452 location pages for a Melbourne tree service, published in three batches. How much of each page is genuinely unique, measured rather than claimed.
Between October 2025 and March 2026 I worked on milonestreesolutions.com.au, a Melbourne tree service, through the agency Emote Digital. The site was being rebuilt. I ran the SEO migration, rewrote all the copy, and built the system that produced its suburb pages.
Six months on, DataForSEO estimates had organic keywords at 2.1 times where they started, top-ten rankings at 2.1 times, and estimated traffic value at 2.4 times. All three are DataForSEO estimates. I will come back to what they can and cannot tell you.
Most of what follows is about the suburb pages.
Why a tree service needs 452 pages
The work is the same in Balwyn as it is in Blackburn. Nobody with a dead gum in their back yard searches for “tree removal Melbourne”, though. They search for their own suburb, and without a Balwyn page you are asking your homepage to beat a competitor who has one.
So you build a page per suburb. Every local services business does, and every one of them risks ending up with a doorway farm: hundreds of near-identical pages built to catch a search rather than answer one. Google has been explicit about that for years.
Whether to build them was never the question. What goes on them is.
How much of each page is actually different
Every page runs on the same frame. What the service is, why this operator, where they work, an FAQ, reviews, a quote form. Repeating all of that is on purpose. Somebody arriving from a Blackburn search needs the same six questions answered as somebody arriving from Balwyn, and making them learn a different layout per suburb would help nobody.
Where the suburbs part company is the top of the page, and they part on research. Balwyn gets mature avenue trees on established streets, work around heritage homes, and keeping the leafy character while cutting the risk. Blackburn gets property safety, older homes with big trees close to them, and work near parks, schools and community land. Different housing stock, different tree problems, different pages.
I would not claim every page is unique. Open two side by side, swap the suburb name over, and about a third of the body text still differs. Unique location-specific copy on a shared frame is a fair description of that. Hundreds of unique pages is not, and anyone who tells you otherwise has two tabs they would rather you did not open.
A third is enough, though. What makes a page a doorway is that nothing varies except the word it wants to rank for. Here the part a Balwyn resident came to read is about Balwyn, and the part that repeats is the information every customer needs whatever their postcode.
Publishing them slowly
They were generated in bulk. They were not published that way.
Wayback’s first-seen dates put 47 suburb pages in October, 35 in November and 320 in December. Spreading it over three months cost nothing and paid for itself twice. I got to watch how the October batch performed while the rest were still a decision, and the site never jumped from tens of pages to hundreds inside a week.
The sitemaps today list 452 suburb pages and 18 council pages. Around 129 of those suburb URLs predate the engagement and went back through the same system rather than being left alone, so I count the whole set rather than only the 361 that first appear from October onwards.
The council pages were never automated. There are eighteen, each one covering a different council’s planning rules and permit requirements, and I wrote them myself. Eighteen sets of genuinely different regulation is not a templating problem.
What the estimates show
These are DataForSEO estimates rather than measured traffic, and the reason is worth stating. I had GA4 and the rest of the reporting stack throughout the engagement and reported off it monthly. That access ended when the engagement did, as it should. So the figures I can put in front of you now are the ones an independent third party holds, which is a weaker class of evidence than what I was working from at the time, and I would rather show you the weaker source than quote numbers from memory.
| DataForSEO estimate | Oct 2025 | Mar 2026 | Multiple |
|---|---|---|---|
| Organic keywords | 285 | 590 | 2.1x |
| Top-ten rankings | 49 | 104 | 2.1x |
| Estimated traffic value | 562 | 1,321 | 2.4x |
The gain is in page-one rankings rather than top-three ones, and it is worth being specific about which. The site already held first or second place for a handful of terms and kept them throughout. What changed is the breadth: page one for 104 searches instead of 49, across a lot more suburbs. Winning those positions outright is a separate job, and a reasonable next one.
Credit, and what happened next
This was agency work through Emote Digital. I ran the SEO migration, wrote the site copy and built the page system, and a client engagement that size has a team around it.
The same suburb pages later shaped the client’s paid search as well: when I audited the Google Ads account that November, 452 landing pages had no ad group pointing at any of them, which is the largest finding in that audit.
The estimates also kept climbing for two months after I handed over, peaking in May 2026 at 148 top-ten rankings against 104 at handover. That lag is normal for SEO, and it means the work was still paying out after I left, which is what you want from a system rather than a campaign.
Get in touch
Tell me about the role and I will come back to you. If you would rather not use a form, I am on LinkedIn.