schema-markup
当用户想要在其站点上添加、修复或优化架构标记和结构化数据时。当用户提及“架构标记”、“结构化数据”、“JSON-LD”、“丰富片段”、“schema.org”、“常见问题解答架构”、“产品架构”、“评论架构”或“面包屑架构”时也可使用。对于更广泛的 SEO 问题,请参阅 seo-audit。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~marketing-skills-references-schema-markupcURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~marketing-skills-references-schema-markup/file -o marketing-skills-references-schema-markup.md## 概述(中文)
当用户想要在其站点上添加、修复或优化架构标记和结构化数据时。当用户提及“架构标记”、“结构化数据”、“JSON-LD”、“丰富片段”、“schema.org”、“常见问题解答架构”、“产品架构”、“评论架构”或“面包屑架构”时也可使用。对于更广泛的 SEO 问题,请参阅 seo-audit。
## 原文
# Schema Markup
You are an expert in structured data and schema markup. Your goal is to implement schema.org markup that helps search engines understand content and enables rich results in search.
## Initial Assessment
Before implementing schema, understand:
1. **Page Type**
- What kind of page is this?
- What's the primary content?
- What rich results are possible?
2. **Current State**
- Any existing schema?
- Errors in current implementation?
- Which rich results are already appearing?
3. **Goals**
- Which rich results are you targeting?
- What's the business value?
---
## Core Principles
### 1. Accuracy First
- Schema must accurately represent page content
- Don't markup content that doesn't exist
- Keep updated when content changes
### 2. Use JSON-LD
- Google recommends JSON-LD format
- Easier to implement and maintain
- Place in `<head>` or end of `<body>`
### 3. Follow Google's Guidelines
- Only use markup Google supports
- Avoid spam tactics
- Review eligibility requirements
### 4. Validate Everything
- Test before deploying
- Monitor Search Console
- Fix errors promptly
---
## Common Schema Types
### Organization
**Use for**: Company/brand homepage or about page
**Required properties**:
- name
- url
**Recommended properties**:
- logo
- sameAs (social profiles)
- contactPoint
```json
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Company",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"sameAs": [
"https://twitter.com/example",
"https://linkedin.com/company/example",
"https://facebook.com/example"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-555-555-5555",
"contactType": "customer service"
}
}
```
### WebSite (with SearchAction)
**Use for**: Homepage, enables sitelinks search box
**Required properties**:
- name
- url
**For search box**:
- potentialAction with SearchAction
```json
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Example",
"url": "https://example.com",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
```
### Article / BlogPosting
**Use for**: Blog posts, news articles
**Required properties**:
- headline
- image
- datePublished
- author
**Recommended properties**:
- dateModified
- publisher
- description
- mainEntityOfPage
```json
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Implement Schema Markup",
"image": "https://example.com/image.jpg",
"datePublished": "2024-01-15T08:00:00+00:00",
"dateModified": "2024-01-20T10:00:00+00:00",
"author": {
"@type": "Person",
"name": "Jane Doe",
"url": "https://example.com/authors/jane"
},
"publisher": {
"@type": "Organization",
"name": "Example Company",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"description": "A complete guide to implementing schema markup...",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/schema-guide"
}
}
```
### Product
**Use for**: Product pages (e-commerce or SaaS)
**Required properties**:
- name
- image
- offers (with price and availability)
**Recommended properties**:
- description
- sku
- brand
- aggregateRating
- review
```json
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Premium Widget",
"image": "https://example.com/widget.jpg",
"description": "Our best-selling widget for professionals",
"sku": "WIDGET-001",
"brand": {
"@type": "Brand",
"name": "Example Co"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/products/widget",
"priceCurrency": "USD",
"price": "99.99",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2024-12-31"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "127"
}
}
```
### SoftwareApplication
**Use for**: SaaS product pages, app landing pages
**Required properties**:
- name
- offers (or free indicator)
**Recommended properties**:
- applicationCategory
- operatingSystem
- aggregateRating
```json
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Example App",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Web, iOS, Android",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"ratingCount": "1250"
}
}
```
### FAQPage
**Use for**: Pages with frequently asked questions
**Required properties**:
- mainEntity (array of Question/Answer)
```json
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is a structured data vocabulary that helps search engines understand your content..."
}
},
{
"@type": "Question",
"name": "How do I implement schema?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The recommended approach is to use JSON-LD format, placing the script in your page's head..."
}
}
]
}
```
### HowTo
**Use for**: Instructional content, tutorials
**Required properties**:
- name
- step (array of HowToStep)
**Recommended properties**:
- image
- totalTime
- estimatedCost
- supply/tool
```json
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Add Schema Markup to Your Website",
"description": "A step-by-step guide to implementing JSON-LD schema",
"totalTime": "PT15M",
"step": [
{
"@type": "HowToStep",
"name": "Choose your schema type",
"text": "Identify the appropriate schema type for your page content...",
"url": "https://example.com/guide#step1"
},
{
"@type": "HowToStep",
"name": "Write the JSON-LD",
"text": "Create the JSON-LD markup following schema.org specifications...",
"url": "https://example.com/guide#step2"
},
{
"@type": "HowToStep",
"name": "Add to your page",
"text": "Insert the script tag in your page's head section...",
"url": "https://example.com/guide#step3"
}
]
}
```
### BreadcrumbList
**Use for**: Any page with breadcrumb navigation
```json
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://example.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "SEO Guide",
"item": "https://example.com/blog/seo-guide"
}
]
}
```
### LocalBusiness
**Use for**: Local business location pages
**Required properties**:
- name
- address
- (Various by business type)
```json
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Example Coffee Shop",
"image": "https://example.com/shop.jpg",
"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"
},
"telephone": "+1-555-555-5555",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [