Home/Blog/Local SEO
Local SEO

How to Improve Local Search Rankings in Johannesburg on a Budget

Johannesburg is the hardest local search market in the country, and it is also the one where a small budget goes furthest, because most of your competitors have never finished the free work. Pick three suburbs instead of thirty, finish your Google Business Profile, run reviews as a system, build one honest page per service per suburb, and spend money only on the two or three things you genuinely cannot do yourself.

The Johannesburg skyline at dusk seen from a low angle with a large glowing violet map pin hovering above the buildings and rings of light spreading beneath it

Key takeaways

  1. Narrow the targetthree suburbs you can genuinely service beat a city-wide campaign you cannot afford to win.
  2. Do the free work firsta finished Google Business Profile, consistent details and steady reviews cost nothing and outrank half of Johannesburg.
  3. Reviews are the leverrecent reviews with suburb names in them move the map pack faster than anything else you can do for free.
  4. One page per service per suburbwritten from real local knowledge, not copied and swapped.
  5. Paid clicks are expensive herecompetitive Johannesburg terms sit at the top of the national range, so use Ads to buy time, not as the plan.
  6. Ninety days is the honest horizonprofile movement in weeks, map pack positions in two to three months, organic in four to six.

Johannesburg is not a single local market. It is dozens of them stacked on top of each other, and the mistake almost every small business makes is trying to rank for the whole city. "Plumber Johannesburg" pits you against national franchises with real budgets. "Plumber Kensington" pits you against three other small operators, one of whom has an empty Google Business Profile and no reviews since 2023. The second fight is winnable this quarter. The first one is not.

The rest of this is the order we work in when a Johannesburg business has more determination than budget. The national version of the same playbook, with the full ten strategies and their costs, is in local SEO strategies for small businesses, and the commercial detail of how we run it is on the SEO in Johannesburg page.

Start where the impact is high and the cost is low

Every local SEO task sits somewhere on two axes: how much it moves rankings, and how much it costs. On a small budget you only ever work in one quadrant to begin with — high impact, low cost — and you finish it completely before you spend a cent anywhere else.

A two by two matrix of frosted glass tiles on a dark background, the top left tile brightest to show high impact and low cost, the bottom right tile darkest to show low impact and high cost
Work the bright quadrant first. Profile, reviews, consistency and suburb pages cost time rather than money — and most Johannesburg competitors have not finished them either.

The bright quadrant holds four jobs: finishing your Google Business Profile, making your business details identical everywhere they appear, asking every customer for a review, and writing one real page per service per suburb. None of them require a budget. All four are unfinished on the majority of profiles we audit — most are somewhere around sixty percent complete, with empty service lists, no products, no attributes and a single photo from the year they registered.

Finish the profile, then keep it alive

Your Google Business Profile is the single asset that decides whether you appear in the map pack, and it is free. Finishing it means every field, not the ones that are quick. The exact category, and the secondary categories under it. Every service you offer, written the way customers say it. Real photos, geotagged if you can, refreshed rather than uploaded once. Trading hours including public holidays. The service areas you actually drive to. A description that reads like a human wrote it.

Then keep it moving. A profile that receives a post, a photo, a question answered and a review every week signals an active business. One that has not been touched in eight months signals the opposite, and Google has plenty of alternatives in Johannesburg. If you would rather hand that weekly rhythm over, that is exactly what Google Business Profile management covers, and the mechanics of why it works are in how Google Business Profile boosts rankings.

Choose three suburbs, not thirty

Pick the three suburbs where you already have customers, where you can reach a job inside thirty minutes, and where the competition is thinnest. Search each of them on a phone, in a private window, and look at who holds the three map pack spots. Count their reviews. Check when the most recent one was written. Open their websites and see whether there is a page about that suburb at all.

An overhead view of dark glass city blocks arranged in a grid, with three or four blocks glowing violet to show a small number of prioritised suburbs among many
Three suburbs won properly are worth more than thirty entered half-heartedly. Win those, then annex the ones next door.

Two Johannesburg-specific things to weigh. Distance from the searcher is a real ranking factor, so a Randburg address will struggle to hold the pack in Alberton no matter how good the site is — which is why proximity, not ambition, sets your list. And competition varies enormously across the city: the northern suburbs and Sandton are contested by businesses with budgets, while plenty of suburbs in the south and east are still wide open.

Once you hold three, the fourth is easier, because the reviews, the links and the site authority you built transfer. That is how a small operator ends up covering half of the east rand two years later without ever having run a city-wide campaign.

Run reviews as a system, not a hope

Reviews are the cheapest ranking lever in Johannesburg and the one most businesses leave to luck. Turn it into a routine. The moment a job is signed off, send the review link on WhatsApp with one sentence naming the work and the suburb. Ask in person first so the message is expected. Reply to every review, good or bad, within a day. If it is the asking that keeps slipping, that is one of the three jobs genuinely worth handing to software, which is the subject of AI marketing automation for service businesses.

What matters is recency and volume relative to the competitors you identified, not a magic number. If the strongest business in your suburb has forty reviews and none from this year, a steady stream of fresh ones changes the picture faster than you would expect. Do not buy reviews, do not incentivise them, and do not write them yourself — Google filters them, competitors report them, and the profile suspension that follows costs more than the reviews were ever worth.

One POPIA note, because it applies to exactly this. A customer’s phone number was given to you to do a job, so using it to ask for a review is a new purpose. Say plainly, when you take the number, that you may message them afterwards about the work and to ask for feedback, keep a record that you did, and stop immediately if they ask you to. Our own approach is set out in the privacy policy.

Build one honest page per service per suburb

This is where budget businesses either win or waste six months. The page for "geyser repairs in Kensington" should mention the streets and landmarks you actually work near, the housing stock and its typical plumbing, your response time from your base, and a job you genuinely did there. Two hundred words of real local knowledge beats a thousand words of template.

What does not work is generating twenty pages by find-and-replacing the suburb name. Google devalues that kind of duplication — the pages simply stop earning rankings — and a customer who lands on one can tell within a sentence. Three real pages will out-earn twenty fake ones, and you can write one a week yourself. If writing is the bottleneck rather than the budget, that is what content writing is for.

What to spend money on, and in what order

Assume the free work is done and you now have a small amount to spend each month. This is the order that returns the most for the least, based on what we see across Gauteng service businesses.

SpendTypical costWhat it buys you
Nothing yetR0Profile, reviews, consistent details and three suburb pages. Most of the available gain lives here.
A faster siteR0 to check, R2,000 to R6,000 to fixMobile speed on a mid-range Android on mobile dataa ranking factor and a conversion one.
Local schema markupFree if you do it yourselfMachine-readable confirmation of your name, address, hours and areas served.
A managed profileFrom R4,000 per monthThe weekly posting, photo, review and question rhythm handled for you.
A full local programmeFrom R10,000 per monthProfile, citations, suburb pages, technical work and reporting together.
Google AdsAd spend plus managementImmediate visibility while the organic work compounds. Expensive here — see below.

Two honest notes on that table. Our own single profile service is R4,000 a month, month to month, with no setup fee and thirty days’ notice — and the free first month we advertise applies to the Local SEO Starter, Growth and Scale bundles, not to the single profile service. And a full breakdown of what SEO costs in this country, across freelancers, studios and agencies, is in what SEO costs in South Africa.

Where Google Ads fits when money is tight

Ads buy time, not rankings. They are worth running when you need leads this week, when you are testing which services and suburbs actually convert before writing pages for them, or when a competitor is bidding on your name. They are not a substitute for the free work, because the moment you stop paying, the visibility stops with it.

Be realistic about the numbers in Johannesburg. Competitive local service terms in South Africa — plumber, electrician, attorney, dentist — commonly sit between R15 and R60 per click, and Johannesburg, particularly Sandton and the northern suburbs, sits at the top of that range rather than the bottom. Niche and cheaper trades sit lower. Below roughly R6,000 a month in ad spend you will not gather enough data to optimise anything, which for many small businesses is the argument for doing the free work first. The full comparison is in Google Ads versus SEO for local leads, and the service itself is Google Ads.

A 90-day plan you can actually run

Here is the sequence we would give a Johannesburg business starting from nothing, assuming a few hours a week rather than a full-time effort.

Five glowing spheres arranged along a light rail against a dark background, each larger and cooler in colour than the one before it, representing progress over ninety days
Ninety days, in order. Nothing here is optional, and nothing later works properly if the earlier steps are skipped.
PeriodWhat you doWhat you should see
Days 1 to 14Finish every field on the profile. Fix your name, address and phone everywhere they appear. Choose your three suburbs and check who holds the pack.Profile impressions begin to lift. No ranking change yet.
Days 15 to 30Start the review routine on every completed job. Add real photos weekly. Publish your first suburb page.First movement on searches close to your base.
Days 31 to 60Second and third suburb pages. Local schema on the site. Fix the worst mobile speed problems. Keep reviews coming.Map pack appearances in at least one target suburb.
Days 61 to 90Approach two or three local relationships for linksa supplier, a trade body, a community page. Answer questions on the profile. Keep publishing.Pack positions firming up. Organic pages starting to appear.
Day 90 onwardReview what converted, add the fourth suburb, and decide whether to keep doing it yourself or hand it over.A base that compounds rather than resets.

How to measure it without paying for tools

You need three numbers and none of them cost anything. In your Google Business Profile, watch calls, direction requests and website clicks month over month, and watch which search terms it reports. In Search Console, watch impressions and average position for the suburb terms you are targeting. And once a fortnight, search your target terms on a phone in a private window from inside the suburb if you can, because local results move with location.

If you want a grid view of how your rankings change across a suburb rather than at a single point, grid-view rank checkers exist and some have free tiers, but they are optional. Two free places to start instead: run the website audit to see the technical problems holding the site back, and check your AI visibility score to see whether AI assistants can describe your business correctly.

When it is worth bringing someone in

Do it yourself while the work is profile, reviews, consistency and a page a week. Bring someone in when you hit the technical layer, when you have run out of hours, or when the suburbs you want next are the contested ones in the north where the competition has a budget.

When you do, ask for three things: what specifically will be done each month, what you will be shown as proof, and what happens if you leave. Our own answers are published rather than quoted — local SEO from R10,000 a month for the full programme, the single profile service at R4,000 a month, month to month, no setup fee, thirty days’ notice.

If you would rather just find out where you stand before spending anything, get in touch and we will tell you honestly whether the free work is still your best move.

Frequently asked questions
You can rank in specific suburbs without spending money. Finishing your Google Business Profile, keeping your business details identical everywhere, running a review routine and writing one real page per service per suburb are all free, and most competitors have not finished them. Ranking city-wide for a competitive term is a different matter and usually needs budget.
Profile improvements often show in impressions within two to six weeks. Map pack positions in a target suburb typically take two to three months. Organic rankings for the suburb pages usually take four to six months in Johannesburg, longer in contested categories such as legal and medical in the northern suburbs.
Three. Pick ones where you already have customers, that you can reach quickly, and where the current map pack holders have thin or stale profiles. Win those, then add the suburbs next door — the reviews and authority you built carry over.
Competitive South African local service terms commonly sit between R15 and R60 per click, and Johannesburg, especially Sandton and the northern suburbs, sits at the top of that range. Niche and cheaper trades sit lower. Below about R6,000 a month in ad spend there is rarely enough data to optimise properly.
A profile alone can hold a pack position in a low-competition suburb, but it caps you there. A website adds the organic results, gives buyers something to check before calling, and is required for schema and for AI search to describe you correctly. Even a small site with three honest suburb pages changes the picture.
No. Google devalues near-duplicate pages, so they stop earning rankings, and customers notice within a sentence. Three pages with real local detail will out-earn twenty templated ones, and you can write one a week yourself.
Yes, provided you are open about it. The number was given to you for the job, so tell the customer when you take it that you may message them about the work and to ask for feedback, keep a record that you did, and stop if they ask you to. Never buy or incentivise reviews — Google filters them and profiles get suspended.
Johannesburg city skyline at sunset, Gauteng
Let's talk

Want to know which three suburbs to target?

We run local SEO for service businesses across Gauteng, including Johannesburg. Pricing is published, there is no lock-in contract, and we will tell you honestly if the free work is all you need for now.