SEO Advanced

Advanced Schema Markup Strategies

Imran Nadwi
92 views 75 min read

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

  1. Create an Organization entity hub for your website
  2. Connect author pages to articles using @id references
  3. Implement FAQ schema on your most question-related content
  4. Add HowTo schema to tutorial content
  5. Build a dynamic schema generator for your content types