The Five Schema Types Most Websites Should Use

Schema.org has hundreds of types. You won't use most of them. These five cover the vast majority of small-website needs. If you're new to structured data, start with the plain-English JSON-LD intro first. Copy any of these examples, replace the values with your own, drop them into your HTML. Validate with the Rich Results Test before publishing.

1. Organization

For: any homepage. Tells search engines who runs the website.

<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",
 "description": "Handmade ceramic mugs, bowls, and planters from Portland, Oregon.",
 "sameAs": [
 "https://instagram.com/saraspottery",
 "https://etsy.com/shop/saraspottery"
 ]
}
</script>

The sameAs  array points to your social profiles. Google uses these to confirm your business identity.

2. LocalBusiness

For: any business with a physical location. Use this instead of Organization on the homepage.

<script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@type": "LocalBusiness",
 "name": "Sara's Pottery Studio",
 "image": "https://saraspottery.com/images/studio.jpg",
 "url": "https://saraspottery.com",
 "telephone": "+1-503-555-0142",
 "address": {
 "@type": "PostalAddress",
 "streetAddress": "1248 NE Alberta St",
 "addressLocality": "Portland",
 "addressRegion": "OR",
 "postalCode": "97211",
 "addressCountry": "US"
 },
 "openingHoursSpecification": [{
 "@type": "OpeningHoursSpecification",
 "dayOfWeek": ["Wednesday", "Thursday", "Friday", "Saturday"],
 "opens": "11:00",
 "closes": "18:00"
 }],
 "geo": {
 "@type": "GeoCoordinates",
 "latitude": 45.5589,
 "longitude": -122.6491
 }
}
</script>

LocalBusiness data feeds into Google Maps and your Knowledge Panel. Get this right and you're more findable for "near me" searches.

3. Article (or BlogPosting)

For: blog posts and articles. Enables rich results with headline, image, and date.

<script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@type": "BlogPosting",
 "headline": "How to Fire Stoneware in a Home Kiln",
 "image": "https://saraspottery.com/images/firing.jpg",
 "datePublished": "2026-04-12",
 "dateModified": "2026-05-03",
 "author": {
 "@type": "Person",
 "name": "Sara Mitchell",
 "url": "https://saraspottery.com/about.html"
 },
 "publisher": {
 "@type": "Organization",
 "name": "Sara's Pottery Studio",
 "logo": {
 "@type": "ImageObject",
 "url": "https://saraspottery.com/images/logo.png"
 }
 }
}
</script>

Use BlogPosting for blog posts, NewsArticle for news, Article for general editorial content.

4. FAQPage

For: any page with a list of questions and answers. The questions can show up as expandable accordions directly in Google's search results.

<script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@type": "FAQPage",
 "mainEntity": [{
 "@type": "Question",
 "name": "Are your mugs dishwasher safe?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "Yes. All our stoneware is fired to cone 6 and tested in commercial dishwashers."
 }
 },{
 "@type": "Question",
 "name": "Do you ship internationally?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "We ship to the US, Canada, and the UK. International shipping is calculated at checkout."
 }
 }]
}
</script>

One important detail: the questions and answers in the schema must also appear visibly on the page. Don't add hidden FAQ schema for questions that aren't on the page.

5. Product

For: e-commerce product pages. Enables price, availability, and ratings in search results.

<script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@type": "Product",
 "name": "Blue Speckled Coffee Mug",
 "image": "https://saraspottery.com/images/blue-mug.jpg",
 "description": "Wheel-thrown stoneware mug with a satin matte glaze. 12 oz capacity.",
 "sku": "MUG-BS-12",
 "brand": {
 "@type": "Brand",
 "name": "Sara's Pottery Studio"
 },
 "offers": {
 "@type": "Offer",
 "url": "https://saraspottery.com/shop/blue-speckled-mug.html",
 "priceCurrency": "USD",
 "price": "42.00",
 "availability": "https://schema.org/InStock"
 },
 "aggregateRating": {
 "@type": "AggregateRating",
 "ratingValue": "4.8",
 "reviewCount": "23"
 }
}
</script>

Only include aggregateRating  if you actually have visible reviews on the page. Fake ratings will get your website penalized.

Putting it together

You can have multiple JSON-LD scripts on the same page. The homepage might have Organization. A blog post on the homepage might also have BlogPosting. Both are fine, side by side.

For maintenance, keep the structured data updated when the underlying content changes. Wrong opening hours or stale prices in schema is worse than no schema at all.

Start with one type, get it working, move on

Don't add five schemas at once. Pick the most relevant for the page, validate it, watch for rich results in Search Console over the next few weeks, then add the next one.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us