Start with the business fact, not the schema type

Structured data is machine-readable information added to a web page. Schema.org supplies a shared vocabulary; search platforms decide which parts they use and which enhanced results they support. That separation matters. A type can be valid Schema.org vocabulary without producing a special Google result. Before choosing markup, name the visible fact: this page represents the company, a staffed location, a service, an article, a product, an event, or a breadcrumb trail. Then choose the most specific accurate type and only the properties the business can verify.

The best first step is often fixing the visible business information rather than generating code. Confirm the legal and public name, preferred URL, logo, phone, contact route, real address when applicable, hours, service areas, staff or author details, and external profiles. Our SEO and AI-search services treat schema as one layer of a broader entity, content, and technical review—not a replacement for missing pages or inconsistent facts.

Map common page types to honest markup

A small-business schema decision map as of July 2026

Visible page subjectSchema.org starting typeGoogle search-feature statusKey caution
Company or brandOrganization or a more specific subtypeGoogle publishes Organization guidanceUsually place one authoritative description on the home or about page
Public-facing physical businessThe most specific LocalBusiness subtypeGoogle publishes LocalBusiness guidanceUse a real customer-facing location; do not invent offices
A service offeredService, with provider and areaServed when accurateNo general Service rich result in Google's galleryValid vocabulary does not imply a special search appearance
Page hierarchyBreadcrumbList with ListItem entriesGoogle supports breadcrumb markupMatch a logical route users can understand
Editorial article or news postArticle, BlogPosting, or NewsArticleGoogle publishes Article guidanceUse the real headline, author, dates, and representative images
A product soldProduct with applicable Offer detailsGoogle supports product snippets and merchant listings under specific rulesKeep price, availability, currency, and condition synchronized
Frequently asked questionsFAQPage remains Schema.org vocabularyGoogle stopped showing FAQ rich results on May 7, 2026Keep useful visible FAQs, but do not promise Google FAQ enhancements
First-party testimonials about the businessReview may describe visible review contentSelf-serving Organization and LocalBusiness reviews are not eligible for review starsNever fabricate, merge, or selectively misstate ratings

The search-feature column changes over time. Google stopped showing FAQ rich results on May 7, 2026, then removed the feature documentation in June 2026. Other search features have also changed or been retired. Do not buy an implementation based on an old plugin screenshot. Check Google's current structured-data gallery and the documentation for the exact feature on the day you plan the work. The SEO, GEO, and AI-search guide hub keeps schema in context with crawlability, titles, internal links, local pages, and AI-search visibility.

Choose Organization or LocalBusiness deliberately

OrganizationLocalBusiness
RepresentsThe company, nonprofit, online business, or other organizationA particular physical business or branch open to customers
Typical placementHome page or a single organization/about pageThe page for the real location, often with one node per branch
Useful factsName, URL, logo, contact details, identifiers, legitimate sameAs profilesName, URL, telephone, address, geo, hours, price range, specific subtype
Common errorRepeating separate, contradictory organization nodes on every pageMarking service-area cities as offices when no customer-facing location exists

Google's Organization documentation recommends placing the information on the home page or one page that describes the organization; it does not need to appear on every page. Use the most specific subtype that fits. A local restaurant might be Restaurant, which is under FoodEstablishment and LocalBusiness. An ecommerce company may use OnlineStore where applicable. A professional firm with one public office can model the overall organization and the local business as related nodes in one JSON-LD graph instead of creating contradictory identities.

A connected entity graph for a one-location service companyStable identifiers let different page facts refer to the same real entities instead of defining new versions of them.
01OrganizationName, canonical URL, logo, legitimate profiles
02Local businessPublic office, phone, address, hours, geographic facts
03ServiceSpecific offer provided by the organization or location
04Web pageThe canonical page where the service is visibly explained
05Breadcrumb trailThe page's place within the site's navigable hierarchy

In JSON-LD, an @id can give a node a stable identifier such as the canonical home URL plus a fragment. Related nodes can then point to that identifier as provider, publisher, or another relationship. The fragment is an identifier within the data graph; it does not need to be a separate public page. Use one consistent ID pattern and canonical HTTPS URLs. Do not use sameAs for every directory listing you can find. Reserve it for URLs that unambiguously identify the same organization, and verify that the profile is controlled and current.

VISUAL CHECKPOINT · SearchA connected entity graph for a one-location service company

Stable identifiers let different page facts refer to the same real entities instead of defining new versions of them.

Use Service schema for meaning, not a promised rich result

Schema.org defines Service as a service provided by an organization, person, or audience. It can accurately express a service name, description, provider, area served, offers, terms, or service type when those facts are present. Google's current structured-data gallery does not list a general Service rich result. That means Service markup may still communicate machine-readable relationships, but a seller should not promise a special service carousel, rankings, or AI citation merely because the JSON-LD validates.

  • Create a dedicated service node only when the page describes a distinct, real offer
  • Link provider to the existing organization or local-business identifier
  • Use areaServed for truthful service coverage, not a long list of cities added for reach
  • Describe an Offer only when the visible page supports the offer's terms, availability, or price information
  • Keep service names consistent with navigation, headings, proposals, and customer language
  • Do not mark a generic article about a service as though the article itself were the service
  • Do not expect Schema.org validity to create a Google enhancement that Google does not support

Structured data cannot solve a thin service page. The page still needs clear scope, fit, process, evidence, limits, and a contact path. Marking up a list of areas does not make generic city pages locally useful. First improve the visible information and site relationships; then let the markup reflect them. This is the same foundation described in what makes a website SEO-friendly.

Add page-level markup where the content qualifies

Page-level implementation details worth owning

TypeMinimum business decisionFields to govern
BreadcrumbListDefine the page's preferred hierarchyOrdered positions, human-readable names, canonical item URLs
BlogPosting or ArticleConfirm this is original editorial contentHeadline, author, publisher, datePublished, dateModified, image, mainEntityOfPage
Product and OfferConfirm a product and purchase offer existName, image, price, currency, availability, condition, canonical URL
EventConfirm the event meets Google's current public and location rulesName, dates, venue, address, status, offers, organizer

Article markup should use the actual byline and dates. dateModified should change for meaningful editorial updates, not on every deployment. Breadcrumb markup should reflect a logical path such as Home → Insights → SEO & AI Search → Article, even if a visitor can also reach the article from search or a featured card. Google allows more than one breadcrumb trail in supported cases, but most small sites benefit from choosing one primary editorial hierarchy and applying it consistently.

Validation has three separate gates

Test syntax, eligibility, and truth

01

Validate the Schema.org graph

Use the Schema.org validator to find malformed JSON-LD, unknown terms, incorrect property ranges, and disconnected nodes. Passing means the vocabulary is parsable, not that Google supports a rich result.

02

Test Google feature eligibility

Use Google's Rich Results Test for the exact URL or code. Errors can block eligibility; optional-property warnings may identify enhancements. A pass still does not guarantee display.

03

Compare with the rendered page

Manually verify every material name, address, phone, price, rating, author, date, image, service, and relationship against visible production content. Automated tools cannot know whether a claim is true.

04

Inspect a live URL

After deployment, use Search Console URL Inspection to confirm Google can access the page and rendered markup. Test a sample from every template rather than only the home page.

05

Monitor template changes

Watch applicable enhancement reports and unparsable structured-data reports after releases. A drop in valid items can indicate removed markup even when invalid counts do not rise.

Prevent the most expensive schema mistakes

  • Marking every page as LocalBusiness instead of defining one consistent entity
  • Inventing storefront addresses, departments, awards, credentials, reviews, or service areas
  • Copying review markup onto the reviewed business's own pages and expecting self-serving stars
  • Leaving old phone numbers, hours, prices, authors, or dates in a sitewide plugin graph
  • Using several plugins and a theme that output competing Organization or Article nodes
  • Calling a warning an error, or ignoring a required-property error because another validator is green
  • Assuming FAQPage, Service, or any valid vocabulary automatically produces a Google rich result
  • Adding markup to blocked, noindexed, redirected, duplicate, or non-canonical URLs
  • Publishing large sitewide graphs no owner can explain or keep current

Assign ownership just as you would for contact information. Marketing can own names, descriptions, profile links, and article metadata. Operations can own hours, locations, service areas, and policies. Ecommerce staff can own price and availability feeds. Development can own serialization, identifiers, template conditions, and tests. Schedule a review when the business moves, rebrands, changes platforms, adds a branch, alters products, or replaces a content model. Small, correct, governed markup is better than a huge graph that becomes fiction.

Does schema markup help a small business rank higher?

Structured data helps systems understand explicit facts and can make qualifying pages eligible for supported search appearances. Google does not describe schema as a guaranteed ranking boost, and a manual action against structured data affects rich-result eligibility rather than ordinary web ranking.

Should a service business use Organization or LocalBusiness?

Use the most specific type that truthfully represents the entity. A company can have an Organization node and one or more related LocalBusiness nodes for real public locations. A service-area business should not invent an address or branch to use LocalBusiness markup.

Is Service schema worth adding if Google has no Service rich result?

It can be worthwhile when it accurately connects a visible service to its provider, offer, audience, or area served. The benefit is explicit machine-readable meaning, not a promised rich result. Keep the implementation proportional and maintainable.

Should we add FAQ schema in 2026?

FAQPage remains part of Schema.org vocabulary, but Google stopped showing its FAQ rich-result feature on May 7, 2026 and later removed the feature documentation. Keep visible FAQs when they help customers; do not implement the type based on an outdated promise of expanded Google results.

Which schema testing tool should we use?

Use both the Schema.org validator for vocabulary and graph issues and Google's Rich Results Test for supported feature eligibility. Then manually compare markup with visible content and inspect a live URL in Search Console. No single green tool validates truth or guarantees display.