SEO guide

Schema markup for US businesses: what to add and what to skip

Which structured data types still earn rich results, which only help machines understand you, and how to avoid the mistakes that get markup ignored.

Key takeaways

  • Use JSON-LD: Google also supports microdata and RDFa, but recommends JSON-LD because it is the easiest to add and maintain.
  • Organization, LocalBusiness, Service, Product, Article, Person and BreadcrumbList cover what most US businesses need.
  • Google limited FAQ rich results to authoritative government and health sites in August 2023 and retired HowTo rich results, but the markup still describes content to machines.
  • Google doesn't show review stars for reviews a business collects about itself, and all markup must match what visitors can see on the page.
  • Google says no special schema is needed for its AI features, yet consistent markup and sameAs links help any system work out exactly who you are.

Schema markup is one of the few SEO tasks where you tell search engines exactly what your page means instead of hoping they work it out. This guide covers what structured data is, which types matter for US businesses, what changed with FAQ and HowTo results, how markup relates to AI search, and how to test it before it goes live.

What is schema markup?

Schema markup is structured data, written in the schema.org vocabulary, that labels the facts on a page so machines can read them without guessing. It tells search engines that a piece of text is your business name, a price, an author or an opening time. Google uses it to understand pages and to generate rich results.

The vocabulary is maintained at schema.org, a project Google, Microsoft and Yahoo launched in 2011, with Yandex joining soon after. It defines types, such as Dentist or Product, and properties, such as telephone or priceRange.

Take an Austin dental practice whose page says "Open Monday to Thursday, 8 to 5." A person reads that instantly. A machine has to infer it. Markup turns it into an explicit openingHoursSpecification that Google, Bing and other systems can parse the same way every time. Google's introduction to structured data covers the general mechanics.

JSON-LD or microdata: which format should you use?

Use JSON-LD. Google supports JSON-LD, microdata and RDFa, but recommends JSON-LD because it sits in a single script block separate from your visible HTML, which makes it easier to add, update and audit. Microdata weaves attributes into the page's HTML elements and tends to break when designers change templates.

FormatHow it worksWhen to use it
JSON-LDA separate script block of JSON, usually in the page headAlmost always; Google's recommended format
Microdataitemscope and itemprop attributes on visible HTML elementsLegacy themes or platforms that already output it correctly
RDFaAttributes on HTML elements, from the linked-data worldRarely needed on business websites

JSON-LD can also be injected with JavaScript, for example through a tag manager, and Google can read it after rendering. Server-rendered JSON-LD is still the safer choice, because not every crawler executes JavaScript.

Which schema types matter for a US business?

For most businesses: Organization on the homepage, LocalBusiness or the right subtype for each location, Service for service pages, Product for things you sell, Article and Person for content and authors, and BreadcrumbList for site structure. Only some of these produce rich results in Google, but all of them describe your business more precisely.

TypeWhere it goesVisible result in Google?
OrganizationHomepage or about pageNo rich result; can inform logo and business details
LocalBusiness and subtypesEach location pageCan inform business details; no stars for self-hosted reviews
ServiceService pagesNone; describes what you offer
Product with OfferProduct pagesYes: product snippets and merchant listings
Review and AggregateRatingNested inside a Product or similar typeYes, with strict eligibility rules
FAQPageGenuine FAQ contentOnly for authoritative government and health sites since 2023
HowToStep-by-step instructionsNo; the rich result was retired in 2023
BreadcrumbListEvery page below the homepageYes, as a breadcrumb trail in desktop results
ArticleBlog posts and guidesYes: article features, with author details
PersonAuthor and team bio pagesNo rich result; supports author identity

Organization and LocalBusiness

Use the most specific LocalBusiness subtype that fits: HVACBusiness for a Dallas heating and cooling contractor, Dentist for an Austin practice, LegalService for a Chicago law firm. Schema.org now marks the older Attorney type as deprecated in favor of LegalService. Here is a trimmed example for a dental practice, with placeholder details:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "@id": "https://www.example.com/austin/#dentist",
  "name": "Example Family Dental",
  "url": "https://www.example.com/austin/",
  "telephone": "+1-512-555-0100",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 Example St, Suite 200",
    "addressLocality": "Austin",
    "addressRegion": "TX",
    "postalCode": "78701",
    "addressCountry": "US"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
    "opens": "08:00",
    "closes": "17:00"
  }],
  "parentOrganization": { "@id": "https://www.example.com/#organization" },
  "sameAs": [
    "https://www.facebook.com/examplefamilydental",
    "https://www.yelp.com/biz/example-family-dental-austin"
  ]
}
</script>

Every value in the markup should match the visible page and your Google Business Profile. Google's local business documentation lists the properties it reads.

Service and Product

Google doesn't show a rich result for Service, but it is still the clearest way to state what a service is, who provides it and where. The Chicago firm can mark up its truck accident page with serviceType, areaServed and a provider pointing to the firm. If you sell physical or digital products, Product with an Offer for price and availability is one of the most valuable types Google supports.

Review and AggregateRating rules

Google's review snippet guidelines make LocalBusiness and Organization pages ineligible for star ratings when the business controls the reviews about itself, a rule Google introduced in 2019. Reviews you mark up must be visible on the page, and you shouldn't aggregate ratings collected on other sites. Testimonials on your own site are fine to display; just don't expect stars from them.

Article, Person and BreadcrumbList

For guides and blog posts, Article markup with an author that links to a real Person bio page connects content to a named expert. That matters most in health, legal and financial topics. BreadcrumbList describes your site hierarchy and is quick to add at the template level.

What happened to FAQ and HowTo rich results?

In August 2023, Google limited FAQ rich results to well-known, authoritative government and health websites and began removing HowTo rich results, which it later dropped entirely. FAQPage markup is still valid schema.org, and keeping it on genuine FAQ content can help machines parse questions and answers, but most businesses should not expect visual FAQ results.

Google explained the change in its August 2023 announcement. For an HVAC company or a dental practice, that means FAQ markup no longer produces expandable questions under your listing. It doesn't mean you should delete it. The markup is harmless when it matches visible content, and it labels question-and-answer pairs clearly for any system reading the page.

Note: Rich result eligibility keeps changing. In June 2025, Google announced it was phasing out seven more structured data features, including Claim Review and Vehicle Listing. Check Google's current documentation before investing in markup purely for a visual feature.

Schema helps AI systems the same way it helps search engines: it states facts explicitly instead of leaving them to be inferred. Google says no special schema is required for its AI features but recommends structured data as part of good SEO. For other answer engines, consistent markup reduces ambiguity about who you are, what you offer and where.

Google's guide to optimizing for generative AI features says there is no special schema.org markup you need to add for AI Overviews or AI Mode. Treat any vendor selling "AI schema" with suspicion.

AI answer engines generally retrieve pages, extract facts and summarize them. If a Dallas HVAC company's homepage, location pages and listings disagree about whether it services Fort Worth, an assistant may repeat either version. Clear, consistent facts, in both visible text and markup, give retrieval systems less to misread.

No AI provider has published how much weight it gives JSON-LD, and some crawlers may only read the visible text. So the visible page has to state the same facts the markup does. Where markup earns its keep is consistency: when your Organization data, location pages, Google Business Profile and third-party profiles all agree, AI systems are less likely to mix you up with a similarly named firm or state the wrong service area. Our guide to ranking in Google AI Overviews covers the content side, and our AEO agency team handles it end to end.

What is sameAs and why does entity linking matter?

The sameAs property lists other URLs that represent the same entity, such as your LinkedIn page, Wikidata entry, Crunchbase profile, BBB listing or social accounts. It connects your website to profiles search engines and AI systems already know, helping them confirm that every mention refers to the same business or person.

Entity linking works inside your own site too. Give your Organization a stable @id, then reference it from every location page, article and author. A Chicago law firm's attorney bio can use Person with jobTitle, worksFor pointing to the firm's @id, and sameAs links to the attorney's state bar or professional directory profile.

  • Link only profiles that are genuinely about you and that you maintain.
  • Use the same business name across every linked profile.
  • Remove links to dead or abandoned accounts.
  • Don't add competitors' or unrelated pages to inflate the list.

Which pages should get schema first?

Start with the pages that define who you are and what you sell: the homepage with Organization markup, then location pages with LocalBusiness, then product or service pages, then articles with author markup. Add BreadcrumbList across templates along the way. This order puts the facts that most often get confused in front of machines first.

The right sequence depends on the business model. Here is how we would approach our three example businesses.

  • Dallas HVAC company: Organization on the homepage, HVACBusiness on each branch or service-area page, Service on AC repair, furnace repair and installation pages, and Offer details on maintenance-plan pages where prices are published.
  • Austin dental practice: Dentist on the location page with hours and accepted insurance noted in visible text, Person markup for each dentist's bio with credentials, and Service on treatment pages like implants and clear aligners.
  • Chicago law firm: LegalService for each office, Person for every attorney with bar admissions in the visible bio, Service for practice-area pages, and Article with named authors on legal guides.

Whatever the order, build markup into templates rather than pasting it into individual pages. A template-level fix covers every current and future page of that type, and it stays correct when content editors change the page copy. Keep a short record of which templates output which types, so the next developer or plugin update doesn't silently create duplicates.

How do you test schema markup?

Run every template through Google's Rich Results Test to see which rich results a page is eligible for and any errors, then through the Schema Markup Validator to check general schema.org validity. After launch, watch the enhancement reports in Search Console, which show errors and warnings across all pages using each supported type.

  1. Generate the markup. Start from a template or a generator rather than hand-typing JSON.
  2. Check the syntax. A missing comma or quote breaks the whole block, so paste it into a JSON formatter first.
  3. Run the Rich Results Test. Test the live URL so you see the rendered page Google sees, not just your source code.
  4. Run the Schema Markup Validator. It checks types Google doesn't produce rich results for, such as Service.
  5. Compare against the visible page. Every marked-up fact should appear on the page itself.
  6. Deploy at the template level. Fix markup once in the template rather than page by page.
  7. Monitor Search Console. Review enhancement reports after launch and again after any redesign or CMS change.
Free tool: Generate Organization, LocalBusiness, FAQPage and other JSON-LD without hand-writing code.
Open the tool

If a block fails validation, our JSON formatter pinpoints syntax errors before you retest.

What are the most common schema mistakes?

The most common mistakes are marking up content visitors can't see, adding review stars to your own business, using the wrong or overly generic type, duplicate entities from plugins and themes, and stale details like old hours or prices. Each one either gets the markup ignored or, in serious cases, triggers a manual action.

  • Markup matches visible content, per Google's structured data policies.
  • No self-serving AggregateRating on Organization or LocalBusiness pages.
  • The most specific type is used, such as Dentist rather than plain LocalBusiness.
  • Only one Organization entity, referenced by @id elsewhere.
  • Hours, prices and phone numbers update when the business changes them.
  • Plugin and theme markup checked for duplicates after every update.
  • Markup present in the rendered HTML, not lost to a JavaScript error.

Serious or deliberate problems, such as fake reviews in markup, can lead to a structured data manual action in Search Console. That typically removes rich result eligibility for the affected pages until you fix the issue and request a review. Most mistakes are quieter: Google simply ignores markup it can't trust, and you never get a warning.

Schema is quick to add and easy to get subtly wrong at scale. For location markup, see our local SEO guide and local SEO service. For structured data built into a broader technical program, see our SEO services and the technical SEO checklist.

Frequently asked questions

Does schema markup directly improve rankings?
Google representatives have said structured data is not a general ranking factor. Its value is indirect: it makes pages eligible for rich results that change how listings look, and it gives search engines and AI systems unambiguous facts about your business, products and authors. Treat it as a way to be understood correctly, not as a ranking shortcut.
Can I add schema markup with a WordPress plugin?
Yes. Popular SEO plugins output Organization, Article and BreadcrumbList markup automatically, and most let you add LocalBusiness details. Check the output in the Rich Results Test, because plugins can create duplicate or conflicting entities when a theme or another plugin also adds markup. For Service markup or specific LocalBusiness subtypes, you may need to add JSON-LD yourself.
How long does it take for rich results to appear after adding schema?
Google has to recrawl and reprocess the page first, which can take days or weeks depending on how often it crawls your site. Valid markup makes a page eligible for rich results, but Google decides whether to show them. Use the URL Inspection tool in Search Console to request indexing and confirm that Google sees the markup.
Should every page repeat the full Organization schema?
No. Define your Organization fully once, usually on the homepage, with a stable @id such as your homepage URL followed by #organization. Other pages can reference that @id as the publisher, provider or employer instead of repeating every property. This keeps one consistent entity across the site and avoids conflicting details when something changes.
Can schema markup get my site penalized?
Yes, if it is misleading. Google can issue a structured data manual action when markup describes content users can't see, marks up fake or self-written reviews, or otherwise breaks its structured data policies. The usual consequence is losing rich result eligibility. Fix the markup across the affected templates, then request a review in Search Console.
Free audit

See where you rank — on Google and in AI answers.

Send us your site and we'll come back with a prioritized audit: technical issues, content gaps, local visibility, and how ChatGPT, Perplexity and Google AI Overviews describe your brand today. No cost, no obligation.