Search Console data to 24 August 2026 · last site check 2 September 2026 · site live for about 7.5 months when the data ends
Who this case is for
If you run an on-site service business with no storefront, such as mobile battery replacement, air-con repair, locksmithing or roadside assistance, this case answers a question many people overlook: a site that ranks well can still bring you the wrong customers.
It also suits owners of large multilingual sites. Small technical issues like broken links or duplicate H1s multiply with the number of pages, and can quietly grow into hundreds or thousands.
At the end there is a checklist for on-site service businesses that you can use on your own site right away.
We do not name the business, the website, contact details, prices or car models.
1. The starting point: a big site with visibility, but calls about the wrong jobs
This business provides on-site car battery service 24 hours a day in Phuket. It does 3 main jobs: battery replacement on the spot, jump-starts when a car won’t start, and battery checks, including the 12V batteries in electric cars. It only works on cars, not motorcycles, and has no storefront. Technicians go to wherever the car is parked.
There are 3 customer groups: Thai car owners, EV owners, and foreigners who live in or visit the province, including Russian and Chinese speakers. So the site runs in 4 languages, Thai, English, Chinese and Russian, with nearly 900 pages in total.
The site went live in early January 2026. In late July, the owner sent us Search Console screenshots and asked us to check for bugs, improve the UX/UI and improve SEO.
The numbers at the start
Source: Google Search Console, 27 April – 26 July 2026, from screenshots sent by the site owner
These numbers are not bad at all for a site just over 6 months old. The average position was already on page one. But when we went through the queries one by one, we saw 2 things the totals were hiding.
- The query the site appeared for most was “car battery replacement cost”. It showed 1,476 times but got 0 clicks. It is a broad English query people search worldwide to check prices, not people in this province whose car won’t start.
- A “neighbourhood name + battery” query for one area of the province showed 164 times, but the site had no page for that area at all. Searchers landed on pages that didn’t answer them directly.
The problem the owner could actually feel
In early August, the owner told us people were calling about flat tyres, towing and even wheelchairs, none of which the business does.
We traced the source and found that the emergency service pages in both Thai and Russian were selling spare tyre changes, fuel delivery and flatbed towing, with prices. People searching for those services found the page, saw the phone number and called. The site was working very well. It was just selling jobs the business doesn’t take.
For a 24-hour business, a wrong call costs more than time. Every call has to be answered before you know whether it is a real job, whatever the hour.
2. What we found, and what we did
Scope of service: remove everything the business doesn’t do
We searched every language on the site for services the business doesn’t provide: flatbed trucks and towing, flat tyre changes, recovery of stuck vehicles, car key batteries, motorcycles and wheelchairs.
- Removed 12 mentions across 4 languages, including sub-headings that read like services even without a price.
- Added a “What we do, and what we don’t” box to the FAQ page. It states clearly that the business only works on cars and has no towing or tyre service. Readers know before they call.
This lesson applies to every service business: Google sends people based on what your page says, not on what you meant to sell. If a page still says towing, Google will keep sending you people who want a tow.
Trust: unfinished prices and articles with wrong facts
- 65 placeholder prices across 20 files. The figures were replaced with the letter x, including on the main service pages. We replaced them with real prices from the business’s own price list until 0 were left.
- Garbled characters. Some Thai text and symbols displayed as unreadable characters. All fixed.
- Thai articles with factual errors. For example, the reason for one brand’s vehicle recall, the terms for transferring a warranty, a count of car fires written as 4 when the real figure was 2, and pre-orders for one model written as 6,000 cars when the real figure was 4,016. We checked everything against the original sources, corrected it all, and added 122 links to the real sources across 38 files.
Someone whose car won’t start late at night has to decide fast. A price that shows as x, or an article with a wrong number, is reason enough to hit back and call someone else.
Technical: small problems multiplied by nearly 900 pages
A 4-language site has a lot of pages. One problem in a template repeats on every page that uses it. This is what we found.
- 132 broken hreflang URLs. hreflang is code that tells Google where the other language versions of a page are. If it points to pages that don’t exist, Google gets confused about which language to show to whom. We built a route register for every language so hreflang only points to pages that really exist.
- Every non-existent URL was redirected to the Thai homepage. It looks tidy because there are no 404 pages, but Google treats it as a fake page (soft 404), and people clicking old links don’t find what they want. We restored real 404 responses for pages that don’t exist.
- 24 duplicate blog category pages. The duplicate routes were removed and 301-redirected to the correct pages.
- 139 broken links and missing images.
- 501 pages with duplicate H1s. A page should have one main heading (H1) that says what it is about.
- 2,404 images with no width and height set. This makes the page jump as images load, which affects Core Web Vitals scores.
- The EV hub page in every language returned 403, meaning access denied. We built new hub pages that return 200.
- 1,881 junk files had been uploaded to the server. These are files the operating system creates on its own. We cleaned them down to 0 and blocked them from being uploaded again.
Structure: give every page a path to the others
In mid-August we counted the internal links inside page content. The median page linked to only 2 other pages, and 40 pages linked to nothing at all. Pages with no connections are harder for Google to find and get less weight.
We organised the content into 5 main groups (pillars), including a new EV guide page in all 4 languages, and linked the pages within each group to each other.
Other work in this area:
- Breadcrumbs per language, with BreadcrumbList Schema, so Google understands the page hierarchy.
- Page titles competing with each other. 19 Thai pages used titles targeting the same query, “ร้านแบตเตอรี่ใกล้ฉัน” (battery shop near me), so Google didn’t know which page to pick. We rewrote the titles of 13 Thai area pages to start with the area name before the service name.
New content: answer people in the area, not the whole world
- Area pages for the neighbourhood people searched for but had no page, in all 4 languages.
- A car battery replacement cost page in all 4 languages, to answer the price query with the most impressions.
- 10 car model pages, some expanded and some new, 1,300–2,400 words each with FAQ Schema, for example small Chinese-brand EVs that are popular in the province.
- 6 comparison articles and 5 car care articles.
- Translated 22 Thai-only articles into English, Chinese and Russian, fact-checked against the original sources before translation, plus another 15 EV news articles translated into English.
No storefront: how to tell Google
A business with no storefront should not add a fake address to get onto the map. We used service-area business Schema of type AutoRepair with no street address, but with the service area given as 18 coordinate points and the services actually offered listed as an OfferCatalog. This data matches the scope box on the FAQ page.
Counting whether anyone taps to get in touch
The site had no GA4 before. We created GA4, installed it in all 4 languages, and set it to count taps on call, LINE and WhatsApp, recording which area page the tap came from and where the button sits on the page. Then we connected Search Console and GA4.
At the time of writing, we do not yet have verified contact-tap numbers, so we do not report them as a result.
3. Results: reading the numbers correctly
Clicks and impressions from Google
Caveats when reading this chart:
- The periods overlap. The first runs from late April to late July, the second from late May to late August. The two months in the middle are counted in both.
- Most of the work started on 29 July. So the second period has less than 4 weeks after the fixes, and the Search Console trend was already rising steadily before we started. Part of the growth comes from the site getting older. We didn’t keep daily figures, so we have no monthly chart to separate the two.
- CTR dipped slightly, from 1.8% to 1.6%, because impressions grew faster than clicks. This often happens when a site starts appearing for new queries where it doesn’t rank high yet.
Put plainly: clicks rose during the period we worked on the site, but the data we have is not enough to say how much came from the fixes and how much from the existing trend.
Pages and queries that performed well
| Page or query | Impressions | CTR | Position |
|---|---|---|---|
| Article on EV charging in the province | 1,630 | 5.5% | 5.5 |
| Small Chinese-brand EV page (model 1) | 344 | 6.4% | 5.4 |
| Small Chinese-brand EV page (model 2) | 1,188 | 1.6% | 5.9 |
| Small Chinese-brand EV page (model 3) | 1,436 | 1.5% | 6.1 |
| Query “battery + province name” | – | 50% | – |
| Queries containing the site’s name | – | 23.1% | – |
| Query “car battery replacement cost” | 2,051 | 0 clicks | 5.9 |
| Query “neighbourhood name + battery” | 145 | 0.7% | 9.3 |
Source: Google Search Console, 25 May – 24 August 2026 · car models and area names withheld
What this table teaches:
- Queries with the province name or the site’s name get very high CTR. People who type these are in the area and actually need the service.
- Broad global queries show a lot but get no clicks. “car battery replacement cost” grew to 2,051 impressions at position 5.9 but still got 0 clicks. Most people searching it are abroad, not customers of a service that works in one province. Don’t measure success with queries like this.
- The neighbourhood query is just starting to move. It had no page before; now it has a 0.7% CTR at position 9.3, still at the bottom of page one.
- Junk queries get mixed in. Unrelated Russian-language queries showed 266 times, an example of why impressions don’t all mean customers.
Google has indexed only half the pages
Google sees 940 pages on this site but keeps only 486 for search results. Nearly half have no chance to rank at all. That is why this case puts more weight on internal links, single H1s and fixing the 403 pages than on writing more new articles.
Don’t trust outside tools over Search Console
On 25 August 2026, Ahrefs estimated this site got about 9 visits a month from Google and ranked for only 6 queries. The site’s own Search Console counted 749 clicks in 3 months.
Ahrefs also found 407 domains linking to the site. Most were spam sites that copied its content on their own, with the same fake-review template spread across 211 domains. Links like these don’t help the site, and the owner didn’t create them.
Ahrefs figures are estimates based on the tool’s own data collection, and for small local sites they can be far off. When making decisions about your own site, always rely on Search Console first.
What we are waiting to see
- Fewer blocked (403) and not-yet-indexed pages in Search Console
- The layout shift score (CLS) in Core Web Vitals turning green, now that all images have dimensions
- The EV hub pages that used to return 403 starting to appear on Google
Work not yet done that should come next: set up a Google Business Profile as a service-area business, mark call, LINE and WhatsApp taps as Key events once real data comes in, and request Google to recrawl the fixed pages.
Checklist for on-site service businesses
Open your site and answer each point.
Scope of work
- Every page in every language mentions only services you actually offer, including sub-headings and price tables
- There is a box that clearly says what you do and don’t do, e.g. cars only, no towing
- No placeholder prices, and no prices that differ from what you actually charge
- Articles with figures or news have been checked against the original sources
Service area
- Neighbourhoods people search for often have their own page, with titles that start with the area name
- No fake address; you use the service-area business format in both Schema and Google Business Profile
- No multiple pages competing for the same query, such as “ร้านแบตเตอรี่ใกล้ฉัน” (battery shop near me)
Technical and measurement
- Broken links, wrong hreflang and duplicate H1 pages are at 0
- Pages that don’t exist return a real 404 instead of sending everything to the homepage
- You check the Search Console indexing report to see how many pages are actually indexed
- You count call and LINE taps in GA4, and look at local queries separately from broad global ones
If you can’t tick more than half, your site may be bringing you the wrong customers, or missing customers in your area.
Questions on-site service businesses often ask us
Why do people call about services we don’t offer? Usually because a page or heading on your site mentions that service. Google sends people based on the words on the page. In this case, the emergency service page was selling towing and tyre changes. Once we removed that and added a scope box, the cause of the wrong calls was gone from the site.
Does having lots of pages help a site rank more? Not always. In this case Google saw 940 pages but indexed only 486. Pages with no internal links or with technical problems don’t help. Fix the structure so your existing pages work first, then add new ones.
Search Console and Ahrefs show different numbers. Which should I trust? Search Console, because it is Google’s own data about your site. In this case Ahrefs estimated about 9 visits a month, while Search Console counted 749 clicks in 3 months. Ahrefs is good for researching queries and competitors, not for measuring your own site.
Can I do local SEO without a storefront? Yes. Use the service-area business format, hide your address, and list the areas you cover, both in your site’s Schema and in Google Business Profile. Then build area pages for the neighbourhoods people search for most.
We handle SEO for service businesses like this
If you provide on-site services with no storefront and want your site to bring you people who really need your service, not wrong calls, start with a free website audit or see the details of our SEO service.

