← Back to blog

Schema.org for AI: what markup does business need?

Schema.org markup for neural networks

Schema.org - captions for page blocks for machines. “Here is the price,” “here is the address,” “here is the client’s question.” Not magic and not a tick in the report. Without them, the AI ​​guesses - and more often than not guesses a competitor with cleaner data.

Below is what types of markup a business needs, how schema helps ChatGPT and ChatGPT, where they break during self-installation, and in what order to implement without conflicting with maps.

What types of schema are really needed?

Not everything is from the schema.org directory. Business usually has enough of a narrow set of facts:

  • Organization or LocalBusiness - who you are, phone number, address, hours;
  • FAQPage - questions and answers from the main or service page;
  • Service or Product - services with a price or range;
  • AggregateRating - only if the reviews match the cards;
  • BreadcrumbList - navigation on multi-page sites.

Clinic - MedicalBusiness and doctor profiles, if any. Delivery - OpeningHoursSpecification. Don't install everything from the plugin generator. Empty fields are worse than a minimal set of numbers.

Organization and LocalBusiness on the same page with different phone numbers - a classic landmine. The validator is green, ChatGPT takes the outdated number from the second block.

How is schema different from a checkmark in a report?

The SEO guy installs the plugin and the report shows green. The owner calmed down. ChatGPT takes the phone number from the old block in the footer because two JSON-LDs are arguing. The client is not calling you.

Schema is not a replacement for text. This is a duplicate of facts in machine-readable form. There are no facts on the page - the markup is an empty box with beautiful syntax.

A FAQPage without a visible FAQ on the screen is a red flag. Service with price: 1 is worse than without the field. AggregateRating with three stars on Yelp - the model marks the source as unreliable.

How schema helps ChatGPT and ChatGPT

The model looks for confirmed facts. Schema gives them in JSON-LD. The phone number in the markup coincided with the basement and Yelp is a signal of trust. The FAQ in JSON-LD matches the visible HTML - can be quoted in the answer. Discrepancy—the source is marked as unreliable.

Schema does not replace text on the page. There are some numbers in the markings, and others on the screen - the model stops trusting you. Worse than no markup: you yourself stated the lie in machine-readable form.

For the narrow query “implantation in [city],” ChatGPT looks at the service page. Micro markup only on the main page will not save you. FAQ and Service for a specific service are required if you want answers to specific queries.

Five signs of crooked markings

  1. Rating 4.9 in schema with three stars in Google Maps.
  2. The address of an office that is closed or has never accepted clients.
  3. price: 0 or a nominal placeholder like $1 in the Service field.
  4. Two LocalBusiness on the same page with different @id and url.
  5. FAQPage in JSON-LD, and on the page there are other questions or an empty accordion.

The AI ​​chooses the safe option - a competitor whose numbers match. This is not morality, mechanics.

In the express audit, Leadsy schema is one of 56 parameters. Below is what hits requests: phone number, prices, FAQ, not the beauty of JSON.

Organization or LocalBusiness: office with address - LocalBusiness with geo and openingHours. Online without a dot - Organization. Don't duplicate both with different phones on the same page.

Typical niche scenarios

Dentistry: on the implantation page - Service with priceRange, FAQPage with “does it hurt”, “installment plan”, “VHI”. MedicalBusiness on the main page with the clinic address. Doctor in schema only if the doctor's page is real and matches the license.

Car service: Service for each service with a deadline and “from ... $”. OpeningHoursSpecification for weekends. Don’t put AggregateRating if there are three reviews on Yelp and 4.2 - more honest without a field.

Food delivery: Restaurant or FoodEstablishment, menu in HTML, not only in the application. Product on position with price and availability. The marketplace in ChatGPT's answer often wins because of Product rather than advertising.

B2B: Organization with legalName, cases as separate pages with FAQ “implementation period”, “license”. Don’t smear everything into one JSON-LD on the main page - the model won’t pull the deadline out of the “we are reliable” paragraph.

Online store: Product on the card, Offer with price and priceCurrency, shippingDetails if available. Without a Product schema, the marketplace is almost always ahead in the answer to “where to buy” - their cards are machine-readable, you have a beautiful showcase.

Beauty salon: LocalBusiness with geo, hasMap on the map, Service for procedures. The phone number for registration is the same as in Google Business Profile. Two numbers in schema are a classic “calling to the wrong place.”

Are there markings and do they match the maps?
Express audit in a couple of minutes.

What they do themselves and where they break them

“Install the auto-schema plugin” is the most expensive advice if no one looks at the output.

Copy-paste of someone else's JSON-LD

Someone else's @id, someone else's url, someone else's address. The validator does not know your business. ChatGPT knows - and ignores.

Fake rating

AggregateRating “for trust”. The cards say otherwise. The model chooses the one whose reviews are consistent.

Markup only on the main page

Services without schema. When requesting a service, there is nothing for the car. A competitor with a FAQPage on the implantation page takes away the answer.

GTM without source verification

The marketer added a tag. In preview it’s beautiful, in Ctrl+U there are two JSON-LDs in the head. Parsing breaks worse than no markup.

Redesign without cleaning

New template, old schema plugin in the footer. Two Organizations with different logos. Validator is green, data is out of date. Leave one current JSON-LD, delete the rest.

Minimum implementation order

  1. Audit: what it costs, is it valid, does it match HTML and maps.
  2. Organization/LocalBusiness on the main page with real NAP.
  3. FAQPage from support calls, not from copyright.
  4. Service on key services with a price or “from …”.
  5. Check in the validator and in the Leadsy report.

For the developer - technical specifications with fields, do not “put schema”. Marketing confirms the numbers. Otherwise, in a month the channels will separate again.

Schema works with robots.txt, llms.txt, FAQ text and cards. One layer doesn't work.

Verification and GEO Score

An express audit will show whether there are markings, which fields are empty, and whether the phone matches the cards. Paste the URL before edits in the admin or GTM.

Open Yelp and Google Business Profile next to the validator. The phone numbers don't match - first align the contacts on the site, then edit the JSON-LD.

GEO Score will tell you the gap with the niche. About the metric: article about GEO Score. No developer - full audit with ready-made JSON. Pricing: site.

Where to start today

Don't install the "auto-schema" plugin without viewing the output. Half a year with a fake rating is worse than six months without ratings.

Mini-checklist: one phone number in schema and in the footer, FAQ in HTML = FAQ in JSON-LD, prices for services, no duplicates Organization. Fifteen minutes with the page source.

Further down the chain: FAQ for ChatGPT or robots.txt. First the cut, then the edits. Without an audit, schema is another layer of contradictions.

Prices in Service: priceRange “from $50” are better than empty price. update priceValidUntil when the promotion changes - last year's discount in JSON-LD is worse than the absence of a field.

For an online store, add Product to the cards: availability, price, delivery. The marketplace takes the answer if your site does not have clear cards and schema.

Don't touch schema until the audit. Do not install the “auto” plugin without Ctrl+U. First, a cut - what’s already in the head, does it match the cards.

After the redesign, check whether the old JSON-LD is still in the footer. Two Organization - the validator is green, ChatGPT takes the outdated one.

Mini checklist: one phone number in schema and footer, FAQ in HTML = FAQ in JSON-LD, priceRange on services, no fake AggregateRating. Checking with Yelp next to the validator.

A free audit will show empty fields and discrepancies before edits in GTM. Without a slice, schema is another layer of contradictions, not a solution.

Who should be involved: not only the developer. The owner approves prices and telephone numbers. Marketing provides FAQ from calls. An SEO specialist does not replace the facts from CRM.

How long to wait for the effect: the validator is green tomorrow - ChatGPT can drag out the old block for a month. First one pure JSON-LD, then re-traversal, then tests.

Reviews and schema: cheating AggregateRating with three real stars on Yelp is a conflict. It's better to have no rating in the markup than a fake.

Questions: FAQ LeadsyLabs. Pricing with ready-made JSON: tariffs page.

Typical: they installed the schema plugin, but the owner did not open the source. Six months later, two LocalBusiness, phone number from 2019. ChatGPT names a competitor with a current card. They fix it not with a plugin, but by cleaning the head and checking with Yelp.

MedicalBusiness, Restaurant, AutoRepair - take the type for a niche, not “Organization for everything.” An incorrect type does not ban, but blurs the signal. One accurate LocalBusiness is better than five blurry ones.

A BreadcrumbList on a multi-page site helps both people and the model understand where you are in the structure. On a one-page landing page - not required.

JSON-LD in head, not in footer after redesign. Ctrl+U on the main page and on the service page are two different pictures. Often the services are empty, the main page is filled with garbage from the plugin.

Google validator green does not mean “ChatGPT is happy.” Check the fields against Yelp and what the person sees on the screen. The validator does not know your business.

After editing the schema, wait for the re-traversal. Test in ChatGPT the next day - early. A week with open bots and agreed upon NAP is the normal minimum.

If you don’t know where to start: one LocalBusiness on the main page, one FAQPage on the top service, priceRange on the Service. Three blocks, not twenty types from the generator.

Check schema before edits in GTM
56 parameters in one report.
Check schema before edits in GTM
56 parameters in one report.
Check schema before edits in GTM
56 parameters in one report.
Check schema before edits in GTM
56 parameters in one report.
Free cut
Check schema before edits in GTM
56 parameters in one report.
JSON-LD markup on the site
The markup must match the text on the page and Google Maps.
Free cut
Check schema before edits in GTM
56 parameters in one report.

Read also

Free audit
Schema
in order?
Express audit
Other articles
AI FAQ robots.txt GEO Score