<!-- ========== SCHEMAS ========== -->
<!-- FAQPage schema (generated from translation data) -->
<!-- WebSite schema -->
<!-- LocalBusiness schema -->
?>
<!-- Organization schema -->
<!-- BreadcrumbList schema (headline from translation) -->
<!-- CommunicateAction schema -->
<!-- ========== ARTICLE CONTENT ========== -->
Schema Markup Guide: Using JSON-LD to Win Rich Results
February 2026
16 min read
I’m Jacob Campbell, and schema markup is one of the most underused SEO wins out there — it’s how you turn a plain blue link into a rich result with stars, FAQs and prices. Structured data is just a small block of code that tells Google exactly what your page is: a product, a local business, a recipe, an FAQ. Get it right and Google can show your page in a richer, more clickable format. This guide explains how it works, which types matter, and how to add them properly — straight from Google’s documentation.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "BuiltToWinWeb",
"url": "https://built2winweb.com",
"logo": "https://built2winweb.com/logo.webp",
"sameAs": [
"https://www.linkedin.com/in/jacob-campbell-32a60a1a7/",
"https://www.upwork.com/freelancers/~016276996a9883140f"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+15613017130",
"contactType": "customer service",
"availableLanguage": "English"
}
}
</script>
{
"@type": "LocalBusiness",
"name": "BuiltToWinWeb",
"address": {
"@type": "PostalAddress",
"streetAddress": "7322 Ashley Shores Circle",
"addressLocality": "Lake Worth",
"addressRegion": "FL",
"postalCode": "33467",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "26.5986",
"longitude": "-80.1784"
},
"telephone": "+15613017130",
"openingHours": "Mo-Fr 09:00-17:00",
"priceRange": "$$",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5.0",
"reviewCount": "7"
}
}
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How much does a custom PHP website cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Flat‑fee packages: Business $1,750, Ecommerce $5,600, SaaS $10,000. One payment, no monthly fees."
}
},
{
"@type": "Question",
"name": "Do you build ecommerce stores without Shopify?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes – custom PHP with Stripe checkout. No subscription fees, you own the code."
}
}
]
}
{
"@type": "Product",
"name": "Custom PHP Ecommerce Store",
"image": "https://built2winweb.com/ecommerce.jpg",
"description": "Full‑featured custom online store with Stripe checkout. One flat fee, no monthly costs.",
"sku": "BTW-ECOMM",
"offers": {
"@type": "Offer",
"price": "5600",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://built2winweb.com/services/ecommerce"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5.0",
"reviewCount": "7"
}
}
{
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://built2winweb.com/" },
{ "@type": "ListItem", "position": 2, "name": "Services", "item": "https://built2winweb.com/services/" },
{ "@type": "ListItem", "position": 3, "name": "Custom PHP Website", "item": "https://built2winweb.com/services/custom-php-website/" }
]
}
{
"@type": "Article",
"headline": "Schema Markup Mastery: JSON‑LD for Rich Results",
"description": "Complete guide to implementing schema markup with copy‑paste JSON‑LD examples.",
"datePublished": "2026-02-15",
"dateModified": "2026-05-24",
"author": {
"@type": "Person",
"name": "Jacob Campbell"
},
"publisher": {
"@type": "Organization",
"name": "BuiltToWinWeb",
"logo": { "@type": "ImageObject", "url": "https://built2winweb.com/logo.webp" }
},
"image": "https://built2winweb.com/schema-guide.jpg",
"mainEntityOfPage": "https://built2winweb.com/blog/schema-markup-guide"
}
{
"@type": "HowTo",
"name": "How to Add Schema Markup to Your Website",
"step": [
{ "@type": "HowToStep", "name": "Choose your schema type", "text": "Select from LocalBusiness, FAQPage, Product, etc." },
{ "@type": "HowToStep", "name": "Generate JSON‑LD", "text": "Use a generator or write manually." },
{ "@type": "HowToStep", "name": "Add to your HTML head", "text": "Place the script tag in <head> or before </body>." },
{ "@type": "HowToStep", "name": "Test with Rich Results Tool", "text": "Validate at search.google.com/test/rich-results." }
]
}
<?php
function outputProductSchema($product) {
$schema = [
"@context" => "https://schema.org",
"@type" => "Product",
"name" => $product['name'],
"description" => $product['description'],
"sku" => $product['sku'],
"offers" => [
"@type" => "Offer",
"price" => number_format($product['price'], 2),
"priceCurrency" => "USD",
"availability" => $product['in_stock'] ? "https://schema.org/InStock" : "https://schema.org/OutOfStock"
]
];
if (!empty($product['image_url'])) {
$schema['image'] = $product['image_url'];
}
echo '<script type="application/ld+json">' . json_encode($schema, JSON_UNESCAPED_SLASHES) . '</script>';
}
?>
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "name": "..." },
{ "@type": "LocalBusiness", ... },
{ "@type": "FAQPage", ... }
]
}