SingRank

3 of 10 Car Workshop Sites Would Not Let Us In

Contents14

A driver's aircon stops cooling on the PIE. They pull over, type something into a phone, and pick a workshop from whatever comes back. On 24 September 2026 we followed that path backwards: five ordinary Singapore searches, ten workshop websites, and a set of checks run on each one.

Three of the ten never showed us their page. Two answered our crawler with HTTP 403. A third returned a screen saying the request was being verified. Two more served something at /robots.txt that was not a robots.txt file at all. And of the eight pages we could read as text, not one showed a price for any servicing or repair job.

Car repair is, in our view, one of the most price-checked service categories in Singapore. The gaps below are not about ambition. They are about what a machine gets when it asks.

What we measured on ten workshop sites

Every figure comes from checks run on 24 September 2026 through SingRank's own tooling: our self-hosted SearXNG metasearch for the searches, our crawler for the audit, and a second, separate fetcher for the page text. Counts are always given with their base.

# What we checked The number
1 Sites that served their homepage to both of our fetchers 7 of 10
2 /robots.txt requests that returned an actual robots.txt file 8 of 10
3 Readable robots.txt files blocking GPTBot, OAI-SearchBot, ChatGPT-User, PerplexityBot or ClaudeBot 0 of 8
4 Readable robots.txt files naming an AI crawler at all 1 of 8
5 Homepages declaring in markup what kind of business they are 5 of 8
6 Readable pages whose opening paragraph names Singapore or a town 4 of 8
7 Readable pages showing a price or price range for a job 0 of 8
8 Sites with a mobile PageSpeed score below 65 5 of 7

Row 7 is the one to read twice.

How we picked the ten, and what we ran on them

We ran five searches through our own metasearch on 24 September 2026: "car servicing singapore", "car workshop singapore", "car aircon servicing singapore", "car servicing price singapore" and "car workshop ubi singapore". From the results we kept only Singapore businesses that repair or service cars, dropping directories, marketplaces, best-of lists, social platforms, overseas sites and home air-conditioning firms. Two eligible sites were replaced with the next result: one whose audit timed out twice, and one we set aside to avoid any question of our own involvement. That left ten.

On each we ran three things. Our audit crawler sampled up to four pages and verified the links it found. A separate fetcher read the homepage as a reader would see it. And we requested /robots.txt directly with a plain HTTP client, which is how we found the problem two sections below.

Three sites never showed us their page

Two of the ten answered our audit crawler's request for the homepage with HTTP 403, a refusal. A third served our page fetcher a holding screen: "One moment, please... Please wait while your request is being verified."

All three work perfectly well in a browser, which is what makes this hard to notice. The owner checks the site on their phone, sees it load, and has no reason to think anything is wrong.

Seven of the ten served their page to both fetchers without complaint. We are not saying the other three are invisible to Google, and we did not test Googlebot. The claim is narrower and still worth knowing: three of ten sites turned away at least one of two ordinary, identifying crawlers. Bot protection is usually bought as a single switch and then forgotten, and our guide on checking crawler access before you buy AI visibility sets out how to test yours.

Two robots.txt files were not robots.txt

This is the finding we did not expect, and it is why we request the file by hand rather than trust a tool's green tick.

One site answered /robots.txt with HTTP 202 and, in full, an HTML document containing a meta-refresh redirect to a CAPTCHA path under /.well-known/. A crawler that cannot solve a CAPTCHA does not get the site's crawl rules. It gets a puzzle.

A second answered /robots.txt with HTTP 200 and roughly 43 kilobytes of the site's own HTML homepage. A healthy status code, the wrong file underneath. Any automated check that asks only "did robots.txt return 200?" passes this site. Ours did, and we caught it only because we read what came back.

Google is specific about the file: "The file must be named robots.txt", it "must be located at the root of the site host to which it applies", and "A robots.txt file must be a UTF-8 encoded text file (which includes ASCII)", per Google's robots.txt documentation. An HTML page served at that address meets the first two conditions and fails the third.

Open yours in a browser today. If what appears is your homepage, a login or a verification screen, that is your first job and it costs nothing.

Nobody blocked an AI crawler. One site blocked the SEO tools

Of the eight files that really were robots.txt, none disallowed GPTBot, OAI-SearchBot, ChatGPT-User, PerplexityBot or ClaudeBot. The door, where there was a door, was open. That matches our AI search readiness study of 13 September 2026, where the same count across 69 local-service websites was zero.

One of the eight goes further and allows nine AI user agents by name, alongside Googlebot and Bingbot. It is the only file in the sample showing that anyone thought about AI crawlers at all.

A different site blocks three crawlers by name: AhrefsBot, SemrushBot and MJ12bot. Those are commercial SEO research tools, not search engines. Blocking them hides the site from competitors doing research, and from any agency trying to show the owner what is wrong before a contract is signed. Not a mistake. A trade, worth making on purpose rather than by default.

Five of eight homepages say what kind of business they are

Structured data is where a page tells a machine, in plain terms, that it is a car workshop rather than a blog about cars.

Among the eight homepages our crawler could read, five carried a business entity in their markup. Two of those five used AutoRepair, the schema.org type for exactly this trade, with opening hours, a postal address, coordinates and a catalogue of services attached. Three used only the generic Organization. Two homepages carried no structured data of any kind.

Our schema markup guide covers the types. The rule that matters more than the type is accuracy: markup giving one address while the footer shows another hands a machine two answers.

Every page names the service. Half name the country

We read the opening of each page we could fetch, using the same test we apply everywhere: does the first real paragraph, outside the menu and header, say what this business does?

All eight passed. The trade is good at this. Openings named servicing, aircon work, repairs, diagnostics or importing within a sentence or two.

The second half of the test is where it thins out. Four of the eight named Singapore or a Singapore town in that same paragraph. The other four said what they do without saying where, leaving the location to a footer, a title tag or an address block further down.

Five of the eight used at least one heading phrased as a question. Eight of eight gave a clear way to get in touch, usually a phone number and a WhatsApp link, often a booking form as well. On being contactable, nothing in this sample is broken.

Not one page showed a price

Across the eight readable pages, none stated a price or a price range for a servicing or repair job.

Two came close in a way that makes the gap sharper. One showed dollar figures, but they were the prices of cars for sale, not of work. Another showed figures inside customer reviews, where a reviewer mentioned what they had paid. In both cases a number is visible and none of it is the business's own answer to what a job costs.

Set that against what people type. We pulled Google's own suggestions for three car-servicing seeds the same morning, and price words dominated two of the three. The detail is in our companion piece on what Singapore drivers type before they call a workshop.

We are not saying publish a fixed price for every job. Car work does not allow it. We are saying a page with no number at all leaves the buyer holding the question they arrived with, and they will answer it somewhere else. Our guide for car workshops sets out how to publish honest ranges with conditions attached.

The speed numbers, and the two sites that had real ones

Seven of the ten had a mobile PageSpeed run complete against a real page. Scores ranged from 42 to 81, median 53, and five of the seven scored below 65. The laboratory Largest Contentful Paint figures were worse: five of the seven exceeded 10 seconds, with a high of 48.0 seconds. Lab LCP simulates a slow device on a throttled connection, so it runs pessimistic, and we would not quote it to a client as what a customer experiences.

The more telling part is that only two of the seven had Google's real-user field data available at all. Google explains why: "Pages and origins that don't meet the popularity threshold are not included in the CrUX dataset", and "A page is determined to be sufficiently popular if it has a minimum number of visitors", according to the Chrome UX Report methodology. The exact threshold is not published.

For five of the seven, then, the absence of field data is itself a reading. Not proof of anything, but a signal worth sitting with: not enough real visitors for Google to report a confident distribution. An owner who has been told their site needs speed work should check whether it needs visitors first. Our Core Web Vitals guide explains the thresholds.

Separately, four of the ten took more than 1.5 seconds to send the first bytes of the homepage, at 1.7, 3.4, 5.3 and 6.6 seconds. That one is hosting, not page design.

Three addresses, one building

Three of the ten sites published a street address in the same Jurong industrial building, Enterprise Hub on Toh Guan Road East. Different unit numbers, same block, same postcode.

Singapore clusters whole trades into a handful of industrial estates, and this sample runs through them: Toh Guan, Ubi, Kaki Bukit, Sin Ming. Our fifth search, "car workshop ubi singapore", returned ten results of which one was a workshop's own website. The other nine were directories, a social platform, a listings blog, a short-video page, a training course and a piece about a playground.

If your competitor's address differs from yours by a unit number, distance cannot separate you. We wrote that decision up separately, in what to do when your competitor is in the same building.

What we would fix first

Three calls, in this order, for a Singapore workshop:

  • Open your own /robots.txt in a browser. If it is not plain text listing crawl rules, nothing downstream of it is reliable. Ten seconds, and two of ten sites failed it.
  • Put one honest number on the page. A from-price with conditions, or a range with what moves it. Not a fixed quote, and not silence.
  • Add the town to your opening sentence. Four of eight pages describe the work without saying where the work happens.

Then, and only then, argue about speed.

Method and limits — read these before quoting

We would rather you know exactly what this sample can and cannot carry.

  • Dates are UTC. The run began at 23:13 UTC on 24 September 2026, which is the morning of 25 September in Singapore. Every date on this page is the UTC one.
  • Metasearch is not Google. The five searches ran through SingRank's self-hosted SearXNG on 24 September 2026. Most of its engines returned errors that morning and the usable ordering was largely Yandex-sourced. It is not Google's ranking and it is not the Maps pack.
  • Ten sites. Every count is out of 10, 8 or 7, and we have said which. One site more or less moves a figure by 10 to 14 points.
  • Different bases on purpose. Three sites did not serve a page to one or both fetchers, so the text checks run on 8 and the speed checks on 7.
  • Two replacements. One site timed out twice in the audit; one we set aside as a precaution. Both were replaced with the next eligible result.
  • Raw HTML only. We did not run JavaScript and we did not test Googlebot's own access. A 403 to our crawler is not evidence that Google is blocked.
  • Lab speed is pessimistic. Treat the 10-second and 48-second figures as a ranking of severity, not as what a customer waits.
  • We name no business. This page describes a sample of pages, not a rating of any company.

We re-requested all ten robots.txt files after the audit and both anomalies reproduced.

Want these checks run on your page?

Send us the one page that should win your workshop's search. We will request your robots.txt by hand, fetch the page with two different clients, read what your markup says you are, and tell you what to fix first. It starts as a free visibility check through our contact page.

If you want the work done rather than diagnosed, our SEO, AEO and GEO programme starts from S$500/month as the live page states today, on a three-month minimum. We do not promise rankings or AI citations. AI platforms choose their own answers, and so does Google.

Findings describe ten websites sampled on 24 September 2026. This page names no business and is not a rating of any company.

FAQ

How do I check whether my robots.txt is really a robots.txt?

Type your domain followed by /robots.txt into a browser. You should see plain text listing user agents and rules. If you see your homepage, a login screen, a verification puzzle or an error, the file is not doing its job, and any tool that only checks the status code will still report it as fine.

Does a 403 to a crawler mean Google cannot see my site?

No. We tested our own crawler and a separate page fetcher, not Googlebot, and bot protection often treats them differently. It does mean that ordinary identifying crawlers were refused, which is worth knowing if you are paying anyone to audit or cite your pages.

Should a workshop block AhrefsBot and SemrushBot?

It is a trade, not a rule. Blocking them hides your site from competitors' research tools and from any agency trying to show you what is wrong before you pay. One of the eight readable robots.txt files in this sample does block them. Decide on purpose rather than by default.

Why did none of the eight pages show a price?

We did not ask the owners, so we do not know. The usual reasons given are that car work varies by model and fault, and that a published figure invites the wrong comparison. Both are fair. Neither removes the buyer's question, which they will answer on somebody else's page.

What does it mean that only 2 of 7 sites had Google field data?

Google excludes pages and origins that fall below an undisclosed popularity threshold from its Chrome UX Report. The absence is not proof of low traffic, but it is a signal that the site may not yet have enough real visitors for Google to report a confident distribution.

Can I cite these figures?

Yes. Please cite "SingRank, Singapore Car Workshop Website Study 2026" with a link to this page and the collection date, 24 September 2026. Quote each figure with its base, such as 0 of 8 pages, and keep the metasearch caveat. Challenges to a number are welcome through our contact page.