Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Implements schema.org structured data (JSON-LD) to enable rich results in Google Search for any page type.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/schema-examples.md
1# Schema Markup Examples23Complete JSON-LD examples for common schema types.45## Contents6- Organization7- WebSite (with SearchAction)8- Article / BlogPosting9- Product10- SoftwareApplication11- FAQPage12- HowTo13- BreadcrumbList14- LocalBusiness15- Event16- Multiple Schema Types17- Implementation Example (Next.js)1819## Organization2021For company/brand homepage or about page.2223```json24{25"@context": "https://schema.org",26"@type": "Organization",27"name": "Example Company",28"url": "https://example.com",29"logo": "https://example.com/logo.png",30"sameAs": [31"https://twitter.com/example",32"https://linkedin.com/company/example",33"https://facebook.com/example"34],35"contactPoint": {36"@type": "ContactPoint",37"telephone": "+1-555-555-5555",38"contactType": "customer service"39}40}41```4243---4445## WebSite (with SearchAction)4647For homepage, enables sitelinks search box.4849```json50{51"@context": "https://schema.org",52"@type": "WebSite",53"name": "Example",54"url": "https://example.com",55"potentialAction": {56"@type": "SearchAction",57"target": {58"@type": "EntryPoint",59"urlTemplate": "https://example.com/search?q={search_term_string}"60},61"query-input": "required name=search_term_string"62}63}64```6566---6768## Article / BlogPosting6970For blog posts and news articles.7172```json73{74"@context": "https://schema.org",75"@type": "Article",76"headline": "How to Implement Schema Markup",77"image": "https://example.com/image.jpg",78"datePublished": "2024-01-15T08:00:00+00:00",79"dateModified": "2024-01-20T10:00:00+00:00",80"author": {81"@type": "Person",82"name": "Jane Doe",83"url": "https://example.com/authors/jane"84},85"publisher": {86"@type": "Organization",87"name": "Example Company",88"logo": {89"@type": "ImageObject",90"url": "https://example.com/logo.png"91}92},93"description": "A complete guide to implementing schema markup...",94"mainEntityOfPage": {95"@type": "WebPage",96"@id": "https://example.com/schema-guide"97}98}99```100101---102103## Product104105For product pages (e-commerce or SaaS).106107```json108{109"@context": "https://schema.org",110"@type": "Product",111"name": "Premium Widget",112"image": "https://example.com/widget.jpg",113"description": "Our best-selling widget for professionals",114"sku": "WIDGET-001",115"brand": {116"@type": "Brand",117"name": "Example Co"118},119"offers": {120"@type": "Offer",121"url": "https://example.com/products/widget",122"priceCurrency": "USD",123"price": "99.99",124"availability": "https://schema.org/InStock",125"priceValidUntil": "2024-12-31"126},127"aggregateRating": {128"@type": "AggregateRating",129"ratingValue": "4.8",130"reviewCount": "127"131}132}133```134135---136137## SoftwareApplication138139For SaaS product pages and app landing pages.140141```json142{143"@context": "https://schema.org",144"@type": "SoftwareApplication",145"name": "Example App",146"applicationCategory": "BusinessApplication",147"operatingSystem": "Web, iOS, Android",148"offers": {149"@type": "Offer",150"price": "0",151"priceCurrency": "USD"152},153"aggregateRating": {154"@type": "AggregateRating",155"ratingValue": "4.6",156"ratingCount": "1250"157}158}159```160161---162163## FAQPage164165For pages with frequently asked questions.166167```json168{169"@context": "https://schema.org",170"@type": "FAQPage",171"mainEntity": [172{173"@type": "Question",174"name": "What is schema markup?",175"acceptedAnswer": {176"@type": "Answer",177"text": "Schema markup is a structured data vocabulary that helps search engines understand your content..."178}179},180{181"@type": "Question",182"name": "How do I implement schema?",183"acceptedAnswer": {184"@type": "Answer",185"text": "The recommended approach is to use JSON-LD format, placing the script in your page's head..."186}187}188]189}190```191192---193194## HowTo195196For instructional content and tutorials.197198```json199{200"@context": "https://schema.org",201"@type": "HowTo",202"name": "How to Add Schema Markup to Your Website",203"description": "A step-by-step guide to implementing JSON-LD schema",204"totalTime": "PT15M",205"step": [206{207"@type": "HowToStep",208"name": "Choose your schema type",209"text": "Identify the appropriate schema type for your page content...",210"url": "https://example.com/guide#step1"211},212{213"@type": "HowToStep",214"name": "Write the JSON-LD",215"text": "Create the JSON-LD markup following schema.org specifications...",216"url": "https://example.com/guide#step2"217},218{219"@type": "HowToStep",220"name": "Add to your page",221"text": "Insert the script tag in your page's head section...",222"url": "https://example.com/guide#step3"223}224]225}226```227228---229230## BreadcrumbList231232For any page with breadcrumb navigation.233234```json235{236"@context": "https://schema.org",237"@type": "BreadcrumbList",238"itemListElement": [239{240"@type": "ListItem",241"position": 1,242"name": "Home",243"item": "https://example.com"244},245{246"@type": "ListItem",247"position": 2,248"name": "Blog",249"item": "https://example.com/blog"250},251{252"@type": "ListItem",253"position": 3,254"name": "SEO Guide",255"item": "https://example.com/blog/seo-guide"256}257]258}259```260261---262263## LocalBusiness264265For local business location pages.266267```json268{269"@context": "https://schema.org",270"@type": "LocalBusiness",271"name": "Example Coffee Shop",272"image": "https://example.com/shop.jpg",273"address": {274"@type": "PostalAddress",275"streetAddress": "123 Main Street",276"addressLocality": "San Francisco",277"addressRegion": "CA",278"postalCode": "94102",279"addressCountry": "US"280},281"geo": {282"@type": "GeoCoordinates",283"latitude": "37.7749",284"longitude": "-122.4194"285},286"telephone": "+1-555-555-5555",287"openingHoursSpecification": [288{289"@type": "OpeningHoursSpecification",290"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],291"opens": "08:00",292"closes": "18:00"293}294],295"priceRange": "$$"296}297```298299---300301## Event302303For event pages, webinars, conferences.304305```json306{307"@context": "https://schema.org",308"@type": "Event",309"name": "Annual Marketing Conference",310"startDate": "2024-06-15T09:00:00-07:00",311"endDate": "2024-06-15T17:00:00-07:00",312"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",313"eventStatus": "https://schema.org/EventScheduled",314"location": {315"@type": "VirtualLocation",316"url": "https://example.com/conference"317},318"image": "https://example.com/conference.jpg",319"description": "Join us for our annual marketing conference...",320"offers": {321"@type": "Offer",322"url": "https://example.com/conference/tickets",323"price": "199",324"priceCurrency": "USD",325"availability": "https://schema.org/InStock",326"validFrom": "2024-01-01"327},328"performer": {329"@type": "Organization",330"name": "Example Company"331},332"organizer": {333"@type": "Organization",334"name": "Example Company",335"url": "https://example.com"336}337}338```339340---341342## Multiple Schema Types343344Combine multiple schema types using @graph.345346```json347{348"@context": "https://schema.org",349"@graph": [350{351"@type": "Organization",352"@id": "https://example.com/#organization",353"name": "Example Company",354"url": "https://example.com"355},356{357"@type": "WebSite",358"@id": "https://example.com/#website",359"url": "https://example.com",360"name": "Example",361"publisher": {362"@id": "https://example.com/#organization"363}364},365{366"@type": "BreadcrumbList",367"itemListElement": [...]368}369]370}371```372373---374375## Implementation Example (Next.js)376377```jsx378export default function ProductPage({ product }) {379const schema = {380"@context": "https://schema.org",381"@type": "Product",382name: product.name,383// ... other properties384};385386return (387<>388<Head>389<script390type="application/ld+json"391dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}392/>393</Head>394{/* Page content */}395</>396);397}398```399