Skip to content
Back to Blog
Insights

Is your site invisible to ChatGPT? A structured data test

By Bernard Leong

Co-Founder, Geo One

7 November 2026
Is your site invisible to ChatGPT? A structured data test

Short answer: most Malaysian SME websites we check carry no structured data at all, which leaves an AI assistant reading the page to infer what your business is from the layout and the wording. Structured data is a small block of labelled facts in your page code, written in a shared vocabulary called Schema.org, that states your business name, address, phone number, services and opening hours in a form a machine can read without interpreting your layout. You can test for it in about ten minutes. View the page source, search for application/ld+json, and check whether the details inside match your Google Business Profile exactly. No block, or details that disagree, and you have found the problem.

This is written for owners and practice managers of Kuala Lumpur professional services firms with 2 to 50 staff: clinics, dental and veterinary practices, law and accounting firms, tuition centres, property agencies. Disclosure: it comes from Geo One, a Generative Engine Optimisation (GEO) and Answer Engine Optimisation (AEO) agency in Kuala Lumpur.

Why is structured data missing from most Malaysian SME sites?

Most SMEs here have not reached the point where structured data is even on the list. For a typical firm, being digital means a website and a Facebook page, often built once by a freelancer and left alone. That is a basic level of digitalisation, and it does not include machine-readable business facts. In the sites we check, a page with no structured data at all is the normal case, not the exception.

That is also why it is worth fixing. Almost every business in Malaysia is an SME, and the Klang Valley holds the densest cluster of them. The competitor an assistant names instead of you is probably ten minutes down the Federal Highway, and has probably not done this either.

What does structured data actually do for an AI answer?

It removes ambiguity. An assistant reading your home page sees words. It has to work out whether "KL Dental" is a clinic, a brand, a blog post or a street name, and whether the 03 number at the bottom belongs to you or to your web designer. Structured data labels each fact: this is the legal name, this is the address, this is the service, this is the phone number.

None of the assistant companies publish a formula, and nobody can promise that marking up a page leads to being named in an answer. What is reasonable to say is narrower: structured data makes your facts easier to extract and harder to misread, and misreading is a real failure mode we see. If an assistant already describes your firm incorrectly, there is a separate fix for that, covered in what to do when an AI assistant describes your business wrongly.

The three checks that make up the test

Check one: is there any structured data at all? Open your home page, right-click, view page source, and search the code for application/ld+json. If nothing comes back, your site has none. If something does, read it. Many Malaysian SME sites carry a generic block left behind by a theme, naming the theme vendor rather than the business.

Check two: does it agree with everything else? Take the business name, address and phone number from that block and compare them against your Google Business Profile, your Companies Commission of Malaysia (SSM) registered name and your directory listings. Unit numbers written three ways, an old landline, a Jalan spelled differently, each disagreement is a reason for a machine to treat you as two businesses, or as neither. Our six-check method for auditing a Google Business Profile covers the profile side of this comparison.

Check three: can the crawlers reach the page in the first place? Structured data a crawler cannot fetch does nothing. Check your robots.txt file and, if you sit behind a content delivery network, your bot rules. Cloudflare's bot documentation explains how its crawler controls work, and OpenAI's bots page sets out how its crawlers identify themselves. Check both against your own settings rather than assuming a default is fine. For a step-by-step guide specific to this problem, see Are your Cloudflare AI crawler settings blocking ChatGPT?

What does a correct block look like?

This is the shape of one organisation block for a KL firm. Placeholder values, real structure:

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "@id": "https://example.com.my/#organisation",
  "name": "Example Legal",
  "legalName": "Example Legal Sdn. Bhd.",
  "url": "https://example.com.my/",
  "telephone": "+60321234567",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Unit 12-3, Menara Example, Jalan Example",
    "addressLocality": "Kuala Lumpur",
    "addressRegion": "Wilayah Persekutuan Kuala Lumpur",
    "postalCode": "50450",
    "addressCountry": "MY"
  },
  "areaServed": ["Kuala Lumpur", "Petaling Jaya", "Klang Valley"],
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens": "09:00", "closes": "18:00"
  }],
  "sameAs": ["https://www.google.com/maps/place/..."]
}

Four fields are where Malaysian SMEs go wrong, and they are the four worth checking by hand:

  • @type. Use the specific type, Dentist, VeterinaryCare, MedicalClinic, LegalService, AccountingService, RealEstateAgent, EducationalOrganization, not the generic LocalBusiness a theme defaults to.
  • legalName versus name. The SSM-registered name, with Sdn. Bhd. or Enterprise exactly as registered, goes in legalName. The name on your signboard goes in name. Firms that put only one of the two give the assistant a name that matches nothing in the public record.
  • telephone. International format, +60321234567, not 03-2123 4567. The local format is read as a string of digits with no country attached.
  • sameAs. Point it at your Google Business Profile and your main directory listings. This is the line that tells a machine the site and the profile are the same business rather than two similar ones.

What order should you fix it in?

In this order, because each step depends on the one before it.

  1. Crawler access. Confirm the pages you care about can be fetched. Everything else is wasted effort until this is true.
  2. One organisation block on the home page. The structure above, with your own details. One business, stated once, correctly.
  3. Consistency across your profiles. Make SSM, Google and your main directories agree with the site. This is tedious, and it is the step most owners skip.
  4. Service pages. Each service gets its own page and its own markup, written in the words a buyer uses: "conveyancing for Klang Valley property purchases", not "solutions". If you run a clinic, the specifics are in our guide to clinic schema markup in Malaysia.
  5. FAQ markup on pages that answer real questions. Fees, turnaround, parking, languages spoken, whether you see walk-ins.
  6. Re-check, then track. Google Search Console will tell you whether Google can parse your markup. It will not tell you whether an assistant names you. For that you have to ask the question and record the answer.

Does structured data on its own get you named by an AI assistant?

No. We will show our own numbers rather than argue about it. In a visibility check on 18 October 2026, we recorded 85 answers across ChatGPT, Claude, DeepSeek, Gemini and Perplexity on buyer questions in our own category. Geo One was named in 4 of them, for "recommended AEO agency for small business in Kuala Lumpur", but not for "best generative engine optimisation agency in Kuala Lumpur".

That gap is the honest picture. Clean markup helps a machine understand and describe you. Being recommended also depends on third-party mentions, reviews and coverage that an assistant can draw on, slower work. Treat structured data as the floor, not the ceiling. The bar in your category, though, is probably lower than you think.

Where to start this week

Run the three checks yourself. They cost nothing and will tell you whether you have a markup problem, a consistency problem or a crawler problem, three different jobs.

If you would rather have it done, that is what we do. Geo One runs schema and structured data fixes, entity work, FAQ and content production and citation building for Malaysian SMEs, from RM500 to RM2,000 a month, with scanning and reporting every week. You can see what's included at each price, or send us your site through the contact page or WhatsApp and we will run the first check and tell you which of the three problems you actually have.

Frequently asked questions

How do I check if my website has structured data?

Open your home page, right click, view page source, and search the code for `application/ld+json`. If nothing comes back, your site has none. If a block does appear, read it, because many Malaysian SME sites carry a generic block left behind by a theme that names the theme vendor rather than the business. The whole check takes about ten minutes.

Will adding schema markup get my business named by ChatGPT?

No, structured data on its own does not get you named. None of the assistant companies publish a formula. What markup does is make your facts easier for a machine to extract and harder to misread, which is a real failure mode. Being recommended also depends on third party mentions, reviews and coverage an assistant can draw on, which is slower work. Treat structured data as the floor, not the ceiling.

what to do when an AI assistant describes your business wrongly

What should I fix first if my site has no markup at all?

Crawler access comes first. Confirm the pages you care about can actually be fetched, because everything else is wasted effort until that is true. Then add one organisation block on the home page with legal name, trading name, address, phone, email, opening hours and profile links. After that, make SSM, Google and your main directories agree with the site, then do service pages, then FAQ markup, then re-check and track.

Why does my business name and address need to match everywhere?

Each disagreement is a reason for a machine to treat you as two businesses, or as neither. Compare the name, address and phone number in your structured data block against your Google Business Profile, your SSM registered name and your directory listings. Unit numbers written three ways, an old landline, or a Jalan spelled differently all count. This step is tedious and it is the one most owners skip.

a six-check method for auditing a Google Business Profile

Does Google Search Console tell me if AI assistants can see my site?

No. Google Search Console will tell you whether Google can parse your markup, but it will not tell you whether an assistant names you. For that you have to ask the question yourself and record the answer. You should also check your robots.txt and, if you use a content delivery network, your bot rules, since structured data a crawler cannot fetch does nothing.

How much does it cost to get this fixed for me?

Geo One runs schema and structured data fixes, entity work, FAQ and content production and citation building for Malaysian SMEs, from RM500 to RM2,000 a month, with scanning and reporting every week. You can also send your site through the contact page or WhatsApp and we will run the first check and tell you whether you have a markup problem, a consistency problem or a crawler problem.

see what is included at each price

Bernard Leong

Co-Founder, Geo One

Nearly 20 years across energy, capital strategy and applied AI, including large-scale operational data at BP. Founded SkillsMe and Cryptrain.

More about the team

Check Your AI Visibility

See how AI platforms currently view your business with a free scan.

Free AI Scan