Swaha AIGet a free read

Home / Blog / AEO

AEO

Schema markup for small businesses: what to add and why

By Shivam Brahmbhatt · (updated ) · 8 min read

Schema markup is a hidden label on your web page that tells search engines and AI assistants what your business is, where it is and how to reach it. Visitors never see it and the page looks the same. Without it, machines have to guess from your wording.

Want this handled for you? Get a free read or text (904) 293-3040.
On this page
  1. What it is
  2. The types most small businesses need
  3. The rules that keep you out of trouble
  4. How to add and check it
  5. Does schema guarantee rich results?
  6. Why it matters for AI answers
  7. A hypothetical LocalBusiness example
  8. Step by step: adding it to your site
  9. Which page gets which type
  10. Common mistakes
  11. Checklist
  12. What to do this week
  13. Common questions

What it is

Schema.org is a shared vocabulary for describing things on the web. You add it to a page as JSON-LD, a small script block that is invisible to visitors but readable by search engines and AI systems. It does not change how the page looks.

The types most small businesses need

  • Organization or LocalBusiness (or a more specific subtype such as ProfessionalService): name, website, contact details, address or service area.
  • Service: what you offer, described plainly.
  • FAQPage: question and answer pairs that already appear visibly on the page. Google now shows FAQ rich results only rarely, so treat this as optional; it is still valid markup that labels your Q&A for machines.
  • BreadcrumbList: where a page sits in your site.
  • Article or BlogPosting: for guides and blog posts, with author and dates.
  • Review and AggregateRating: only for genuine reviews visible on the page. Google generally does not show star ratings for a business's own reviews of itself, so do not expect stars from this.

The rules that keep you out of trouble

  • Mark up only what is actually on the page. Structured data that contradicts visible content can be ignored, and spammy markup can lead to a manual action.
  • Use real facts. Never invent ratings, awards or credentials.
  • Keep it identical to your listings. If your schema says one phone number and your Google Business Profile says another, assistants may repeat either.
  • Link your profiles with sameAs, pointing to your verified Google Business Profile and social pages.

How to add and check it

Add the JSON-LD block to the <head> of each relevant page, or use your CMS or an SEO plugin. Then test it with Google's Rich Results Test and the Schema Markup Validator. Fix errors, then re-test after any site change.

Our own pages carry structured data. For the wider context, read what is AEO.

Does schema guarantee rich results?

Not on its own. It makes you eligible and your facts clearer, but the search engine decides what to show.

Why it matters for AI answers

Your visible page says things in whatever words you chose. Structured data says the same things in a fixed format. For a business, that means a search engine does not have to work out whether "Call us on 555-0100" is your main number, a sales line or a typo. Search engines read this markup, and AI systems that retrieve web pages may be able to use it as well, though providers have not published exactly how. Treat it as a way to reduce guessing, not as a switch that makes assistants recommend you.

It also works best as one piece of a bigger effort. If you are new to the topic, start with our plain-English explainer on answer engine optimization, then come back here for the practical part.

A hypothetical LocalBusiness example

The business below is invented for illustration, with placeholder contact details. Replace every value with your real, current facts.

Imagine a plumbing company that travels to customers. Plumber is a valid schema.org subtype of LocalBusiness, so a markup block for it could look like this:

{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Example Plumbing Co.",
  "url": "https://www.example.com/",
  "telephone": "+1-555-555-0100",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Jacksonville",
    "addressRegion": "FL",
    "addressCountry": "US"
  },
  "areaServed": [
    { "@type": "City", "name": "Jacksonville" },
    { "@type": "City", "name": "St. Augustine" }
  ],
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "08:00",
    "closes": "17:00"
  },
  "sameAs": [
    "https://www.example.com/about/"
  ]
}

Note what is and is not in there. The street address is left out because this imaginary company works from a home base and does not receive walk-in customers. The service area is listed by place name. The sameAs list should hold your real profile addresses, such as your verified Google Business Profile and social pages; the placeholder above stands in for those. There is no price, no rating and no award, because none of those are on the page or can be proven.

Step by step: adding it to your site

  • Step 1: Write your facts down. Name, phone, email, address or service area, hours, main services. Use the same wording as your Google Business Profile.
  • Step 2: Check what your site already outputs. Many website builders and SEO plugins add basic markup automatically. Run one page through Google's Rich Results Test or the Schema Markup Validator to see what is there before adding more. Two competing blocks that disagree are worse than one.
  • Step 3: Pick the most specific type that fits. If schema.org has a subtype for your trade, such as Plumber, Dentist or ProfessionalService, use it. If not, LocalBusiness is fine.
  • Step 4: Add the block. Paste the JSON-LD into the head of the page, or use the field your plugin or builder provides. Your home page, contact page and service pages are the usual places.
  • Step 5: Validate. Fix any errors the tools report. Warnings about optional fields are often fine to leave.
  • Step 6: Re-check after changes. A redesign, a plugin update or a new phone number can quietly break or outdate your markup.

Which page gets which type

  • Home or contact page: LocalBusiness (or a subtype) with your core facts.
  • Each service page: Service, naming the service and the area served, with your business as the provider.
  • Pages with visible questions and answers: FAQPage, matching the visible text word for word. Our guide on writing FAQs that assistants can quote covers the writing side.
  • Blog posts and guides: BlogPosting or Article, with author and dates.
  • Any page deeper than the home page: BreadcrumbList, if your site shows breadcrumbs.

Do not copy every type onto every page. Each block should describe what is actually on that page.

Common mistakes

  • Marking up things visitors cannot see. If it is not on the page, it should not be in the markup.
  • Inventing reviews or ratings. Review and AggregateRating are valid types, but they are meant for genuine reviews. Google generally does not show stars for a business's reviews of itself, so adding them to your own business page is risk without reward.
  • Letting facts drift. A new phone number on the site and the old one in the markup tells machines two stories.
  • Stacking duplicate blocks. A plugin and a hand-pasted block can both output a LocalBusiness with slightly different details.
  • Putting dollar figures in when pricing is custom. If you quote each job, do not make up a price for the markup. Leave it out.
  • Treating a clean validator as proof of results. Valid markup only means it is readable. It does not mean any search engine or assistant will show or repeat it.
  • Using a type that does not exist. Check the type name against schema.org before you publish.

Checklist

  • Business facts written down once and matching your listings.
  • LocalBusiness or a specific subtype on the home or contact page.
  • Service markup on service pages, only for services you really offer.
  • FAQPage only where the questions are visible on the page.
  • No fake or self-serving review markup.
  • Only one block per type per page, with no conflicting duplicates.
  • Validated with Google's Rich Results Test and the Schema Markup Validator.
  • A reminder to re-test after redesigns and plugin updates.

What to do this week

  • Ask your web person one question: "Does our site include LocalBusiness schema with our correct phone number and service area?"
  • Run your home page through the Schema Markup Validator and note what type it finds.
  • Compare the phone, hours and name in the output with your Google Business Profile.
  • Fix the differences, then re-test.

Optional extras such as llms.txt and robots.txt rules for AI crawlers can wait until the basics are right. If you would like a second pair of eyes on your markup, text or call (904) 293-3040 or use the contact page. No pressure.

Common questions

Do I need a developer?

Often not for the basics. Ask whoever built your site: "Does our site include LocalBusiness schema with our correct phone number and service area?" If they cannot say yes, ask them to add it.

Is schema a ranking factor?

It is not a promise of higher rankings. It helps machines understand the page.

Do I need schema if I already have a Google Business Profile?

They do different jobs. The profile is a verified listing that Google holds. Schema is a label on your own pages. Having both, with matching facts, gives machines two consistent places to check.

Can I add schema on a page builder or hosted site?

Often yes. Many builders and SEO plugins output basic markup or offer a field for custom code. Check what your page already outputs before adding anything, so you do not create duplicates.

Should I put prices in my markup?

Only if the price is shown on the page and is accurate. If you quote each job individually, leave prices out rather than inventing a figure.

How do I know my markup is valid?

Run the page through Google's Rich Results Test and the Schema Markup Validator. They report syntax errors and missing fields. Valid markup does not guarantee any rich result.

Do AI assistants read schema markup?

Search engines do. AI systems that retrieve web pages may be able to read it too, but providers have not published exactly how they use it, so treat it as helpful context rather than a guarantee.

Want help putting this into practice? See our AEO, SEO and UGC service or request a free read.

This article is general information for small-business owners, not legal, financial, medical or professional advice. Rules and platform policies change; confirm anything that matters with a qualified professional.

Tell us what is slow, manual or missing

Free, plain-English conversation. We reply within one business day with a read and a scoped, written quote.

Get a free read

Keep reading

← All articles
CallText