Here is a number we are not proud of.
Across six of our own websites we had published 2,246 blog posts. Over 90 days, those sites received 18 clicks from Google search between them.
Not 18 thousand. Eighteen.
We are a web and SEO company. Those were our own sites. When we finally pulled the Search Console data properly rather than assuming it was fine, the diagnosis was not “write better posts” — it was that almost everything we believed about the problem was wrong.
What follows is the five rules that came out of it. They cost us a lot to learn and they will take you ten minutes to read.
Rule 1: Nothing else matters until Google can index the site
One of our sites had published 419 posts. Search Console showed 1 page indexed and 136 sitting in “crawled — currently not indexed”.
The cause was a single line of configuration. The site was set to strip the trailing slash from URLs, while the hosting served the version with the slash. So every canonical tag and every sitemap entry pointed at a URL that immediately redirected. Google crawled it, saw a redirect where the real page should be, and declined to index.
Nothing was broken in any way a human would notice. The pages loaded. The site looked fine. It simply could not be indexed.
Before you publish anything else, check these five things:
- Your canonical URL returns 200, not a redirect
- Your sitemap URLs return 200, and the sitemap is generated, not hand-written
- A made-up URL on your site returns a real 404 — not your homepage with a 200 status
- Your analytics actually records a visit when you load a page
- The tracking ID in your documentation matches what the live page fires
That third one caught four of our five sites. They were returning “200 OK” for pages that did not exist, which tells Google the page is real and worth indexing. It is called a soft 404 and it quietly fills your index with nothing.
If a site fails any of these, its publishing schedule is zero until it is fixed. Publishing into a site that cannot be indexed compounds to nothing, and it adds crawl load to a site already struggling.

Rule 2: Win your suburb before you chase the city
This is the finding that reorganised everything.
We checked four completely separate websites, in four different industries. The same boundary held on every one:
| Search term | Where we ranked |
|---|---|
| website design winston hills | position 8 |
| local seo blacktown | position 8.3 |
| web development company bella vista | position 16.4 |
| managed it services rouse hill | position 26.3 |
| web design sydney | no impressions at all |
| cloud computing services sydney | position 74 |
Every term within reach of page one carried a suburb. Not one city-wide term did.
“Web design sydney” gets 4,400 searches a month, which is why everybody wants it — and why an established agency with a decade of links owns it. “Website design Winston Hills” gets a fraction of that, and we sit at position 8 without trying.
Position 74 earns nothing. A smaller term you actually rank for beats a bigger term you do not, every time.
So: target {service} {suburb} first. Treat {service} sydney as a reward you
collect after several suburb pages hold page one — not as an opening move.

Rule 3: A keyword needs all three, or it is out
Run every keyword through three tests. Failing any one means it is out.
Test 1 — Does anybody search it? A keyword tool returned 50 terms for us. 35 had between zero and ten searches a month, and every single one was labelled “very high ranking chance”. That label is not an opportunity. It describes an empty room — nobody competes because nobody searches. You can rank #1 for “trustworthy sydney web design companies” and receive almost no one.
Test 2 — Do you actually sell it? Two of the best-scoring terms in our own list were for platforms we do not offer. Ranking for a service you cannot deliver wastes the click and annoys the visitor.
Test 3 — Does a page exist today that answers it? The two most commercially relevant terms in one set had no matching page. Ranking for a term that lands someone on a page with nothing to show them is not a win.
One live example of why all three matter: researching IT support keywords, the single highest-volume term returned was “the hills district” at 500–1,000 searches. Great volume, local, tempting. It is a place-name query — whoever searches it wants information about the region, not an IT provider. It fails test three and no volume figure rescues it.

Rule 4: Sample and demo content must be set to noindex
This one is embarrassing.
The single largest source of search impressions on one of our sites was the term “precision engineering” — roughly 734 impressions. We are a web design company. We have never done precision engineering.
The impressions came from a blog post about a demonstration website we built for a fictional precision engineering business. And it was not alone: our best-ranking pages included “sweet traditions bakery” at position 1, “artisan italian”, “powerfit gym”, “caring paws veterinary care” — every one an invented company.
Only 6.6% of our impressions came from a position good enough to earn clicks, while our strongest rankings belonged to businesses that do not exist. Anyone finding them had found a company they cannot hire.
If you publish demos, samples or templates: set them to noindex, or write them so the indexable subject is the service (“restaurant website design Parramatta”), never the invented brand name.

Rule 5: Say which tool the number came from
Four tools count four different things and disagree by design:
| Tool | What it counts |
|---|---|
| Search Console | Clicks from Google organic results only |
| Cloudflare Analytics | Page views, with bot traffic filtered out |
| Google Analytics | Page views that run the tracking script |
| Your own server logs | Everything, including crawlers |
Same site, same week, we saw first-party logs report 162 page views while Analytics reported 14 users. Neither was wrong. One counts crawlers, the other does not.
This is not pedantry. We nearly made a bad decision from it — reading “18 Search Console clicks” as “18 visitors” and concluding the blog was worthless. Search Console counts Google organic only. It says nothing about direct, social, email or referral traffic.
Never write “traffic”. Write “Search Console clicks” or “Analytics users”. If someone reports a number without naming the instrument, ask which one.
And the metric that actually matters for a local business is neither: it is enquiries. Rankings and impressions are diagnostics that explain the enquiry number. They are not the goal.

Where to start this week
- Run the five indexing checks in Rule 1. If any fail, fix them before writing another word.
- Check your Google Business Profile — verified, correctly categorised, and with a name, address and phone number matching your website exactly. For most local businesses this is a bigger lever than any blog post.
- List your services × your suburbs. That grid is your keyword plan.
- Pick one suburb, not five. Do it properly, then repeat.
- Count enquiries by source monthly. If you only track one number, track that.
None of this is clever. All of it is the part that gets skipped in favour of publishing more posts — which is exactly how you end up with 2,246 of them and 18 clicks.

Frequently Asked Questions
How do I check if my site is properly indexed?
Search site:yourdomain.com.au in Google for a rough count, then open Search Console
and compare the indexed number against your actual page count. A large gap means
something structural is wrong, not that you need more content.
How long does local SEO take to work?
For suburb-level terms with a page that genuinely answers the query, weeks to a few months. For city-wide competitive terms, considerably longer — which is the argument for starting with the suburb.
Is Google Business Profile more important than my website?
For a local service business, usually yes for discovery. The profile is often where someone finds you; the website is where they decide. You need both, and the profile is faster and free.
Should I write blog posts for SEO at all?
Yes — but only against keywords that pass all three tests in Rule 3, and only once your site can actually be indexed. Publishing volume was never our constraint. 2,246 posts proved that conclusively.
How much does local SEO cost in Sydney?
Ongoing local SEO typically runs $500–$1,000 a month, with setup around $500. The honest first question is whether you need it yet — if your Business Profile is unverified and your site has an indexing fault, that work comes first and costs less.
Talk to us
We are at U608/8 Elizabeth Macarthur Drive, Bella Vista NSW 2153, on 0433 309 677. We will run the five indexing checks on your site and tell you what we find, whether or not you engage us.
If the problem turns out to be your hosting or your site’s technical setup rather than your content — Cloud Geeks handles the infrastructure side for Australian small businesses.
Ash Ganda writes on measurement and why so many digital dashboards report confident numbers that mean nothing.
Part of the Ganda Tech Services family, Cosmos Web Tech delivers web design and digital marketing for Australian small and medium businesses.
