// TABLE OF CONTENTS
  1. Schema标记覆盖率审计
  2. Schema字段完整性检查
  3. Schema格式正确性验证
  4. AI可解析性检查
CHAPTER 01

Schema标记覆盖率审计

Schema标记覆盖率审计检查网站中有多少页面使用了结构化数据标记,以及使用了哪些Schema类型。覆盖率是GEO审计的基础指标——没有Schema标记的页面,AI搜索引擎需要更多计算资源来理解内容,引用概率自然更低。

审计方法:使用自定义爬虫或Screaming Frog全站爬取,统计每页的Schema类型和字段。目标覆盖率:核心页面100%有Schema标记,长尾页面>80%有基础Schema标记。

页面类型 必需Schema类型 覆盖率目标 常见缺失
文章页 Article/NewsArticle 100% author/dateModified缺失
产品页 Product+Offer 100% additionalProperty/review缺失
FAQ页 FAQPage 100% 格式不正确
分类页 ItemList+BreadcrumbList 100% ItemList缺失
作者页 Person >80% 作者页面无Schema
组织页 Organization 100% sameAs链接缺失
CHAPTER 02

Schema字段完整性检查

Schema标记不仅要有,还要完整。缺失关键字段的Schema标记效果大打折扣。字段完整性检查验证每个Schema类型的必填字段和推荐字段是否都已标记。

例如Article Schema的必填字段包括headline、datePublished、author、publisher,推荐字段包括dateModified、image、articleSection。缺失任何必填字段都会导致Schema验证失败,AI可能忽略该标记。

CHAPTER 03

Schema格式正确性验证

Schema标记的格式正确性是审计的重点。常见的格式错误包括:JSON-LD语法错误、嵌套结构不正确、字段值类型不匹配、URL格式不规范等。这些错误会导致Schema验证工具报错,AI搜索引擎可能忽略整个标记。

验证方法:使用Google Rich Results Test和Schema.org Markup Validator逐页验证。对于大型站点,可以编写批量验证脚本自动检查全站Schema。

schema-validator.py python
# 批量Schema验证脚本
import json, requests, sys
from urllib.parse import urljoin

# Google Rich Results Test API
API_URL = "https://search.google.com/test/rich-results"

def validate_schema(page_url, html_content):
    """验证页面Schema标记"""
    # 提取JSON-LD
    import re
    pattern = r'<script[^>]*type="application/ld\+json"[^>]*>(.*?)</script>'
    matches = re.findall(pattern, html_content, re.DOTALL)
    
    issues = []
    for i, match in enumerate(matches):
        try:
            data = json.loads(match)
            # 检查必填字段
            if isinstance(data, dict):
                schema_type = data.get('@type', 'Unknown')
                check_required_fields(schema_type, data, issues)
        except json.JSONDecodeError as e:
            issues.append(f"JSON-LD #{i+1}: JSON语法错误 - {str(e)}")
    
    return issues

def check_required_fields(schema_type, data, issues):
    """检查必填字段"""
    required = {
        'Article': ['headline', 'datePublished', 'author', 'publisher'],
        'Product': ['name'],
        'FAQPage': ['mainEntity'],
        'Organization': ['name', 'url']
    }
    fields = required.get(schema_type, [])
    for field in fields:
        if field not in data:
            issues.append(f"{schema_type}: 缺少必填字段 '{field}'")

# 批量验证
with open('urls.txt', 'r') as f:
    urls = [line.strip() for line in f if line.strip()]

for url in urls:
    response = requests.get(url)
    issues = validate_schema(url, response.text)
    if issues:
        print(f"\n{url}:")
        for issue in issues:
            print(f"  - {issue}")
    else:
        print(f"{url}: OK")
CHAPTER 04

AI可解析性检查

Schema标记不仅需要格式正确,还需要确保AI搜索引擎能够实际解析和使用。AI可解析性检查验证Schema标记是否被主流AI搜索引擎正确理解和提取。

检查方法:在Google Search Console中查看结构化数据报告,确认Schema标记被Google正确识别。同时在Perplexity等AI搜索引擎中查询相关关键词,观察AI是否引用了Schema中的结构化信息。