Schema in plain English
Schema markup is structured information inside your website code. Think of it as labels for machines. Instead of making a crawler guess whether a page is about your business, a service, an article, a product, or a location, schema lets you say it directly in a shared vocabulary.
The vocabulary comes from Schema.org. The format most small business websites should care about first is JSON-LD, because it is clean, readable, and commonly recommended for structured data.
Schema does not make a weak page strong. It helps search engines, AI systems, maps, and other crawlers understand a page that already says something useful.
The right markup matters more than more markup
If you use a CMS, you usually do not need to hand-code every schema block. Many platforms and SEO plugins already output some structured data. The practical job is to check what is already there, avoid duplicate or conflicting markup, and add only the schema that clarifies the page.
A home page may need Organization or LocalBusiness markup. A service page may need Service. A blog or education page may need Article. A product page may need Product and Offer. A contact or location page may need clear local business details. The markup should match visible page content and actual business facts.
Some schema types that used to get more visible search treatment now have limited or deprecated display support in Google Search. That is why this guide treats schema as a clarity layer first, not a shortcut to extra search-result real estate.
Common schema types
For most small business websites, start with a short list:
- Organization for the business identity on the site.
- LocalBusiness when the business has a clear local presence, service area, phone number, address, or location page.
- Service for pages that describe paid services.
- Article for education pages, guides, posts, and explainers.
- BreadcrumbList to clarify where a page sits in the site.
- FAQPage when visible FAQ content genuinely answers page-specific questions.
- Product and Offer for real products or software plans when the visible page supports those details.
Platform-by-platform guidance
WordPress: pick one primary SEO/schema plugin and stay consistent. Yoast, Rank Math, and All in One SEO can all handle common schema needs. Avoid stacking multiple plugins that output overlapping Organization, Article, Breadcrumb, or FAQ schema unless you have reviewed the final source.
Shopify: audit the theme output before adding another app. Many Shopify themes already include product structured data. If the page is a product, collection, article, or static page, check what the theme produces first.
Squarespace: expect some schema to be generated automatically for common page types. If you need custom schema, use the available code-injection options carefully and keep the markup aligned with visible content.
Wix: use the built-in presets where they fit, then add manual structured data only when the page intent is still unclear. Test before assuming the generated markup is correct.
GoDaddy Airo / Websites + Marketing: start with the platform's SEO and optimizer tools, then add custom HTML or JSON-LD only where a clear business or service signal is missing.
Static or custom sites: you control the source directly. That is powerful, but it means you need to maintain schema, canonical tags, Open Graph tags, sitemaps, and page copy intentionally.
A simple JSON-LD example
This is a simplified local business example. Do not paste it blindly. Replace the details with real, visible business information.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Example Company",
"url": "https://example.com/",
"telephone": "+1-207-555-0100",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Main St",
"addressLocality": "Portland",
"addressRegion": "ME",
"postalCode": "04101",
"addressCountry": "US"
}
}
</script>If your business does not serve customers from a public physical location, Organization or Service schema may be a better starting point than LocalBusiness.
Troubleshooting schema
Test before and after publishing. Use a rich-results test to see what search features a page may be eligible for, and use a general schema validator to catch broader Schema.org syntax and structure problems.
Then compare the schema to the visible page. If the code says the page is about a service, that service should be clearly described on the page. If the code lists a phone number, address, product, offer, or FAQ, the page should support that information.
Watch for duplicate schema from plugins, themes, apps, and manual code injections. Duplicate markup is not always fatal, but conflicting markup is a problem. One clear source of truth is easier to maintain than four tools all trying to describe the same business.
FAQ
Is schema markup the same as Open Graph metadata?
No. Schema markup helps describe page entities and relationships. Open Graph metadata controls link previews on social and messaging platforms.
Should every page have schema?
Every important page should have accurate basic metadata, but schema should be added when it clarifies the page. Organization, LocalBusiness, Service, Article, BreadcrumbList, and Product schema are common starting points.
Does schema guarantee rich results?
No. Valid schema can make a page eligible for certain search features, but search engines decide when and whether to show enhanced results.
Want schema without the guesswork?
Run a scan, compare the findings to the fix library, or ask about a Schema Sprint if you want the markup planned, written, and checked before it goes live.
View Schema Sprint
Schema is not your social preview
Wrong link previews are usually an Open Graph problem, not a schema problem. Social platforms and messaging apps usually look for Open Graph and Twitter/X-style metadata in the page head: title, description, URL, and preview image.
If Facebook, LinkedIn, Slack, or another platform shows the wrong image or text, check your
og:title,og:description, andog:imagetags first. Then use the platform's preview debugger or post inspector to refresh cached link data.