Why Google recommends JSON-LD schema
Historically, structured data was embedded directly inside HTML tags using Microdata or RDFa. This made code messy and prone to breaking whenever designs were updated.
Today, Google explicitly recommends JSON-LD (JavaScript Object Notation for Linked Data). JSON-LD lives in a clean, self-contained <script type="application/ld+json"> block in the head or body of the page, completely decoupled from your visual markup.
The 5 essential schema types for businesses
| Schema type | Where to deploy | Search engine benefit |
|---|---|---|
Organization / LocalBusiness | Home and Contact pages | Knowledge Graph card, official logo, social profiles, NAP |
BreadcrumbList | All secondary pages | Clean breadcrumb URL trails instead of raw query strings |
Article / BlogPosting | Articles and guides | Headline, author, publication date, and carousel eligibility |
FAQPage | Service pages & FAQ sections | Expandable Q&A accordions directly in search results |
Product & AggregateRating | E-commerce product pages | Live pricing, stock availability, and gold review stars |
Worked JSON-LD code example: FAQPage schema
Here is an example of valid FAQPage schema structured for a web design studio:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How is a website project priced?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Design and development are priced per page with our transparent pricing calculator."
}
}
]
}
</script>Testing your schema and avoiding Google penalties
Google penalizes spammy or deceptive structured data. Always adhere to these three rules:
- Content Parity: Every piece of information in your JSON-LD must be visibly present on the page for human readers. Marking up hidden reviews or fake FAQs violates Google's guidelines.
- Validate with Google's Rich Results Test: Test your staging URLs at search.google.com/test/rich-results (opens in a new tab) to ensure zero syntax errors or missing required properties.
- Escape Quotation Marks: Ensure raw strings do not accidentally contain unescaped quotes that terminate the script tag.
