6.2 KiB
6.2 KiB
结构化数据指南
本指南介绍如何使用 JSON-LD 结构化数据提升搜索引擎对内容的理解。
📋 目录
什么是结构化数据
结构化数据是一种标准化的数据格式,帮助搜索引擎更好地理解网页内容。
好处:
- ✅ 丰富的搜索结果显示
- ✅ 提升点击率
- ✅ 语音搜索优化
- ✅ 知识图谱展示
JSON-LD 基础
基本语法
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "文章标题",
"author": {
"@type": "Person",
"name": "作者姓名"
}
}
</script>
在 Next.js 中使用
// app/page.tsx
export default function Page() {
const structuredData = {
"@context": "https://schema.org",
"@type": "Article",
"headline": "文章标题",
};
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify(structuredData)
}}
/>
<main>...</main>
</>
);
}
或使用命令生成:
/structured-data [页面路径] [schema-type]
常用 Schema 类型
1. Article(文章)
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "SEO 优化完整指南",
"image": "https://example.com/image.jpg",
"author": {
"@type": "Person",
"name": "张三"
},
"publisher": {
"@type": "Organization",
"name": "Claude Code SEO",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.jpg"
}
},
"datePublished": "2025-01-04",
"dateModified": "2025-01-04"
}
2. Organization(组织)
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Claude Code SEO",
"url": "https://claude-code-seo.com",
"logo": "https://claude-code-seo.com/logo.png",
"description": "专业的 SEO 优化工具",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94102",
"addressCountry": "US"
},
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-415-555-0123",
"contactType": "customer service"
}
}
3. LocalBusiness(本地商家)
{
"@context": "https://schema.org",
"@type": "PlumbingService",
"name": "SF Plumbing Services",
"image": "https://example.com/logo.jpg",
"telephone": "+1 (415) 555-0123",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94102",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 37.7749,
"longitude": -122.4194
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "18:00"
},
"priceRange": "$$"
}
4. Product(产品)
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Claude Code SEO 插件",
"image": "https://example.com/product.jpg",
"description": "专业的 SEO 优化工具",
"brand": {
"@type": "Brand",
"name": "Claude Code SEO"
},
"offers": {
"@type": "Offer",
"price": "99.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "52"
}
}
5. FAQPage(常见问题)
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "什么是 SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO(搜索引擎优化)是通过优化网站内容和结构,提升在搜索引擎中排名的技术。"
}
}, {
"@type": "Question",
"name": "如何快速提升 SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "可以通过优化元数据、创建高质量内容、建设外链等方式快速提升 SEO。"
}
}]
}
验证工具
1. Google Rich Results Test
访问:https://search.google.com/test/rich-results
2. Google Schema Validator
访问:https://validator.schema.org/
3. 使用命令验证
# 生成结构化数据
/structured-data app/page.tsx Article
# 验证所有结构化数据
/seo-audit
最佳实践
1. 必需字段
确保每种 Schema 类型的必需字段都完整:
// ❌ 缺少必需字段
{
"@type": "Article",
"headline": "标题"
// 缺少 author, publisher, datePublished
}
// ✅ 完整的必需字段
{
"@type": "Article",
"headline": "标题",
"author": { "@type": "Person", "name": "作者" },
"publisher": { "@type": "Organization", "name": "发布者" },
"datePublished": "2025-01-04"
}
2. 避免错误数据
// ❌ 错误的未来日期
"datePublished": "2026-01-01"
// ✅ 正确的日期
"datePublished": "2025-01-04"
3. 多种类型
可以同时使用多种 Schema:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
...
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
...
}
</script>
🔧 实用命令
# 生成结构化数据
/structured-data [页面路径] [schema-type]
# 验证结构化数据
/seo-audit
# 查看所有结构化数据问题
/seo-check
📚 相关资源
相关指南:
需要帮助? 访问 GitHub Issues