SEO
Advanced
Advanced Schema Markup Strategies
92 views
75 min read
Table of Contents
Introduction to Advanced Schema
Advanced schema markup goes beyond basic implementation to leverage the full power of structured data for rich results, knowledge graph inclusion, and enhanced SERP features.
Advanced Schema Benefits
- Rich results and enhanced SERP features
- Knowledge Graph inclusion
- Voice search optimization
- Better entity understanding
1. Entity-Based Schema Strategy
Building interconnected entity relationships for knowledge graph optimization.
Organization Entity Hub
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Your Company Name",
"url": "https://example.com",
"logo": {
"@type": "ImageObject",
"@id": "https://example.com/#logo",
"url": "https://example.com/logo.png",
"width": 600,
"height": 60
},
"image": {"@id": "https://example.com/#logo"},
"sameAs": [
"https://www.facebook.com/yourcompany",
"https://twitter.com/yourcompany",
"https://www.linkedin.com/company/yourcompany",
"https://en.wikipedia.org/wiki/Your_Company"
],
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94102",
"addressCountry": "US"
},
"contactPoint": [
{
"@type": "ContactPoint",
"telephone": "+1-800-555-1234",
"contactType": "customer service",
"availableLanguage": ["English", "Spanish"]
}
],
"founder": {
"@type": "Person",
"@id": "https://example.com/about/ceo/#person",
"name": "Jane Smith"
},
"foundingDate": "2010-01-15",
"numberOfEmployees": {
"@type": "QuantitativeValue",
"value": 250
}
}
</script>
Connecting Entities with @id
<!-- Person Entity (Author Page) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"@id": "https://example.com/authors/john-doe/#person",
"name": "John Doe",
"jobTitle": "Senior SEO Consultant",
"worksFor": {
"@id": "https://example.com/#organization"
},
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "Stanford University"
},
"knowsAbout": [
"Search Engine Optimization",
"Content Marketing",
"Technical SEO"
],
"sameAs": [
"https://twitter.com/johndoe",
"https://linkedin.com/in/johndoe"
]
}
</script>
<!-- Article Referencing Author -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Advanced SEO Techniques",
"author": {
"@id": "https://example.com/authors/john-doe/#person"
},
"publisher": {
"@id": "https://example.com/#organization"
}
}
</script>
2. FAQ and HowTo Schema
Structured data for featured snippets and rich results.
FAQ Schema
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is technical SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Technical SEO refers to optimizing
your website infrastructure to help search
engines crawl, index, and render your pages
effectively. This includes site speed, mobile
optimization, structured data, and XML sitemaps."
}
},
{
"@type": "Question",
"name": "How long does SEO take to work?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO typically takes 3-6 months to
show significant results, though this varies
based on competition, current site authority,
and the scope of optimizations implemented."
}
}
]
}
</script>
HowTo Schema with Images
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Perform a Technical SEO Audit",
"description": "Complete guide to auditing your
website technical SEO health.",
"totalTime": "PT2H",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": "0"
},
"tool": [
{
"@type": "HowToTool",
"name": "Google Search Console"
},
{
"@type": "HowToTool",
"name": "Screaming Frog"
}
],
"step": [
{
"@type": "HowToStep",
"name": "Crawl Your Website",
"text": "Use Screaming Frog to crawl all
pages and identify technical issues.",
"image": "https://example.com/images/step1.jpg",
"url": "https://example.com/guide#step1"
},
{
"@type": "HowToStep",
"name": "Check Index Coverage",
"text": "Review Google Search Console Index
Coverage report for errors.",
"image": "https://example.com/images/step2.jpg",
"url": "https://example.com/guide#step2"
}
]
}
</script>
3. Video and Course Schema
Rich results for educational and video content.
Video Schema with Clips
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Complete SEO Tutorial for Beginners",
"description": "Learn SEO from scratch in this
comprehensive tutorial.",
"thumbnailUrl": "https://example.com/thumb.jpg",
"uploadDate": "2024-01-15T08:00:00+00:00",
"duration": "PT45M30S",
"contentUrl": "https://example.com/video.mp4",
"embedUrl": "https://youtube.com/embed/xxxxx",
"interactionStatistic": {
"@type": "InteractionCounter",
"interactionType": "https://schema.org/WatchAction",
"userInteractionCount": 125000
},
"hasPart": [
{
"@type": "Clip",
"name": "What is SEO?",
"startOffset": 0,
"endOffset": 300,
"url": "https://example.com/video#t=0"
},
{
"@type": "Clip",
"name": "Keyword Research Basics",
"startOffset": 300,
"endOffset": 900,
"url": "https://example.com/video#t=300"
}
]
}
</script>
Course Schema
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Advanced SEO Masterclass",
"description": "Comprehensive SEO training covering
technical, on-page, and off-page optimization.",
"provider": {
"@id": "https://example.com/#organization"
},
"hasCourseInstance": {
"@type": "CourseInstance",
"courseMode": "online",
"courseWorkload": "PT40H",
"instructor": {
"@id": "https://example.com/authors/john-doe/#person"
}
},
"offers": {
"@type": "Offer",
"price": "299.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2024-01-01"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9",
"reviewCount": "847"
}
}
</script>
4. Software and SaaS Schema
Structured data for software products and applications.
SoftwareApplication Schema
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "SEO Analyzer Pro",
"description": "Professional SEO analysis and
optimization software.",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Web Browser",
"offers": {
"@type": "AggregateOffer",
"lowPrice": "29",
"highPrice": "199",
"priceCurrency": "USD",
"offerCount": "3"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"ratingCount": "2340"
},
"featureList": [
"Site Auditing",
"Keyword Tracking",
"Backlink Analysis",
"Competitor Research"
],
"screenshot": "https://example.com/screenshot.png",
"softwareVersion": "3.5.2",
"datePublished": "2020-03-15"
}
</script>
5. Dynamic Schema Generation
Generating schema programmatically for large sites.
PHP Schema Generator
<?php
class SchemaGenerator {
private $baseUrl;
private $orgId;
public function __construct($baseUrl) {
$this->baseUrl = rtrim($baseUrl, '/');
$this->orgId = $this->baseUrl . '/#organization';
}
public function generateArticle($article) {
return [
'@context' => 'https://schema.org',
'@type' => 'Article',
'@id' => $article['url'] . '/#article',
'headline' => $article['title'],
'description' => $article['excerpt'],
'image' => $article['image'],
'datePublished' => $article['published'],
'dateModified' => $article['modified'],
'author' => [
'@type' => 'Person',
'@id' => $this->baseUrl . '/authors/' .
$article['author_slug'] . '/#person',
'name' => $article['author_name']
],
'publisher' => ['@id' => $this->orgId],
'mainEntityOfPage' => [
'@type' => 'WebPage',
'@id' => $article['url']
]
];
}
public function generateBreadcrumbs($items) {
$list = [];
foreach ($items as $i => $item) {
$list[] = [
'@type' => 'ListItem',
'position' => $i + 1,
'name' => $item['name'],
'item' => $item['url']
];
}
return [
'@context' => 'https://schema.org',
'@type' => 'BreadcrumbList',
'itemListElement' => $list
];
}
public function output($schema) {
return '<script type="application/ld+json">' .
json_encode($schema, JSON_UNESCAPED_SLASHES |
JSON_PRETTY_PRINT) .
'</script>';
}
}
// Usage
$schema = new SchemaGenerator('https://example.com');
echo $schema->output($schema->generateArticle($articleData));
?>
Key Terms
- @id
- A unique identifier that allows schema entities to reference each other across pages
- Entity
- A distinct, identifiable thing (person, organization, product) that can be described with schema
- Rich Results
- Enhanced search results that display additional information from structured data
- Knowledge Graph
- Google's database of entities and their relationships used to enhance search results
Practical Exercise
- Create an Organization entity hub for your website
- Connect author pages to articles using @id references
- Implement FAQ schema on your most question-related content
- Add HowTo schema to tutorial content
- Build a dynamic schema generator for your content types