JSON-LD for Static HTML, Plain Explanation
Structured data is extra information you add to a page so search engines know exactly what it represents. A product page. A blog post. A FAQ. A recipe. When Google understands the page type clearly, it can show your result with extra visual elements (called rich results): star ratings, FAQ accordions, prices, dates, images.
The recommended format for structured data is JSON-LD. It's just a script tag with some JSON inside.
What it looks like
Here's a basic JSON-LD block for a small business homepage:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Sara's Pottery Studio",
"url": "https://saraspottery.com",
"logo": "https://saraspottery.com/images/logo.png",
"sameAs": [
"https://instagram.com/saraspottery",
"https://etsy.com/shop/saraspottery"
]
}
</script>
Drop it in your <head> or right before </body> . Google reads both. The page renders exactly the same way; the script is invisible to users.
The three things every JSON-LD block has
@context : always "https://schema.org" . This tells Google which vocabulary you're using.
@type : what the page represents. Organization , LocalBusiness , Article , Product , FAQPage , etc. Schema.org has hundreds of types but you'll only use a handful.
The properties: name, url, description, image, and whatever else is relevant to the type. Each schema type has required and optional properties.
Why this matters
Structured data doesn't directly improve your ranking. What it does is make your search listings more visible:
- FAQ schema makes your search result expand with accordions of questions
- Product schema can show price, availability, and star ratings under your link
- Article schema enables the headline, author, and date display
- LocalBusiness schema feeds into Google Maps and Knowledge Panel
Pages with rich results get more clicks than pages without. That's the real benefit.
It also helps with AI search. When ChatGPT or Perplexity tries to summarize your business, structured data gives them the clean facts to work with (your name, your hours, your location, your services), rather than guessing from your HTML.
How to validate
Two free tools to check your structured data:
- Google's Rich Results Test, which lets you paste a URL or your code and get a report of what rich results the page is eligible for and any errors
- Schema Markup Validator, for strict validation against the schema.org spec
Run the Rich Results Test on every page where you've added structured data. Fix any errors. Warnings are usually safe to ignore.
The rule everyone breaks
Don't put information in structured data that isn't on the page. Google's guidelines are explicit: structured data must describe content that's visible to users. Adding fake reviews to look like you have ratings, or marking up content that doesn't exist on the page, gets your website penalized.
If your page doesn't have a price visible, don't add a price in structured data. If you don't have reviews, don't add review schema.
Where to add it on a static website
Each HTML page should have structured data appropriate to that page:
- Homepage: Organization or LocalBusiness
- About page: Organization (with founder, history, etc.)
- Article or blog post: Article or BlogPosting
- Product page: Product
- FAQ page or page with FAQs: FAQPage
- Contact page: Organization with contactPoint
The next article has copy-paste examples for the five most useful types.
Start with Organization schema on your homepage
Five minutes of work. Possible rich snippets in return. A clear signal to AI assistants about who you are. Best starter project for structured data.