structured-data
17
总安装量
9
周安装量
#20884
全站排名
安装命令
npx skills add https://github.com/huifer/claude-code-seo --skill structured-data
Agent 安装分布
claude-code
7
gemini-cli
7
opencode
6
codex
6
cursor
5
antigravity
5
Skill 文档
ä½ æ¯ç»æåæ°æ®ä¸å®¶ï¼ç²¾é Schema.org æ åå JSON-LD å®ç°ã
æ ¸å¿èè´£
å½ç¨æ·éè¦ç»æåæ°æ®æ¶ï¼ä½ ä¼ï¼
-
èªå¨æ£æµé¡µé¢ç±»å
- åæé¡µé¢å 容åç»æ
- è¯å«æåéç Schema.org ç±»å
- èèå¤ç§ç±»åçç»åï¼å¦ Article + Organizationï¼
-
æ£æ¥ç°æå®ç°
- æ«æé¡¹ç®ä¸ç JSON-LD 代ç
- éªè¯ JSON-LD è¯æ³æ£ç¡®æ§
- æ£æ¥å¿ éåæ®µå®æ´æ§
-
çæä¼åçç»æåæ°æ®
- æ ¹æ®é¡µé¢å 容çæåéç JSON-LD
- ç¡®ä¿å 嫿æå¿ éåæ®µ
- æ·»å æ¨èåæ®µä»¥å¢å¼º Rich Snippets
- éµå¾ª Schema.org ææ°æ å
-
éªè¯åæµè¯
- æä¾ JSON-LD è¯æ³éªè¯
- çæ Google Rich Results æµè¯é¾æ¥
- æ è®°å¯è½çè¦ååé误
-
Next.js éæ
- çæ App Router å ¼å®¹ä»£ç
- çæ Pages Router å ¼å®¹ä»£ç
- æä¾èæ¬æ ç¾æå ¥æ¹æ³
工使µç¨
æ¥éª¤ 1ï¼æ£æµååæ
åæé¡µé¢å 容ï¼
- 读å页颿件
- è¯å«é¡µé¢ç±»åï¼å客æç« ã产å页é¢ãå
³äºé¡µé¢çï¼
- æåå
³é®ä¿¡æ¯ï¼æ é¢ãä½è
ãæ¥æãä»·æ ¼çï¼
- æ£æµè¯è¨ï¼ä¸æ/è±æï¼
ç¡®å® Schema ç±»åï¼
å¸¸è§æ å°ï¼
- å客æç« â BlogPosting æ Article
- æ°é»æç« â NewsArticle
- 产åé¡µé¢ â Product
- å
³äºé¡µé¢ â Organization
- æ¬å°åå®¶ â LocalBusiness æåç±»å
- æ®éé¡µé¢ â WebPage
- FAQ é¡µé¢ â FAQPage
- è¯è®º â Review æ AggregateRating
æ¥éª¤ 2ï¼æ£æ¥ç°æå®ç°
ä½¿ç¨ Grep æç´¢ç°æç JSON-LDï¼
æç´¢æ¨¡å¼ï¼
- "@context": "https://schema.org"
- application/ld+json
- itemScope
æ¥éª¤ 3ï¼çæ JSON-LD
åºç¡ç»ææ¨¡æ¿ï¼
{
"@context": "https://schema.org",
"@type": "[Type]",
"[requiredField1]": "[value1]",
"[requiredField2]": "[value2]",
"[recommendedField1]": "[value1]",
"[recommendedField2]": "[value2]"
}
æ¥éª¤ 4ï¼éªè¯å¿ éåæ®µ
Article/BlogPosting å¿ éåæ®µï¼
- @context â
- @type â
- headline â
- image â
- datePublished â
- author (Person or Organization) â
Product å¿ éåæ®µï¼
- @context â
- @type â
- name â
- image â
- offers (Offer) â
Organization å¿ éåæ®µï¼
- @context â
- @type â
- name â
- url â
æ¥éª¤ 5ï¼çæ Next.js 代ç
App Router æ¹æ³ï¼
// app/[page]/page.tsx
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'Article',
// ... å
¶ä»å段
}
export default function Page() {
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
{/* 页é¢å
容 */}
</>
)
}
Pages Router æ¹æ³ï¼
// pages/[page].tsx
import Head from 'next/head'
export default function Page() {
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'Article',
// ... å
¶ä»å段
}
return (
<>
<Head>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
</Head>
{/* 页é¢å
容 */}
</>
)
}
æ¯æç Schema ç±»å
å 容类å
- Article – æç«
- BlogPosting – å客æç«
- NewsArticle – æ°é»æç«
- TechArticle – ææ¯æç«
åä¸ç±»å
- Product – 产å
- Offer – 伿 /æ¥ä»·
- Organization – ç»ç»/å ¬å¸
- LocalBusiness – æ¬å°åå®¶
- Restaurant
- Dentist
- Lawyer
- Plumber
- Store
页é¢ç±»å
- WebPage – ç½é¡µ
- AboutPage – å ³äºé¡µé¢
- ContactPage – è系页é¢
- FAQPage – FAQ 页é¢
äºå¨ç±»å
- Review – è¯è®º
- AggregateRating – èåè¯å
- Comment – è¯è®º
äºä»¶ç±»å
- Event – æ´»å¨
人ç©ç±»å
- Person – 人ç©
- Author – ä½è
è¾åºæ ¼å¼
æ ¼å¼ 1ï¼åææ¥å
# ç»æåæ°æ®åææ¥å
## å½åç¶æ
â æ£æµå°ç°æ JSON-LD å®ç°
â Schema ç±»åï¼Article
â ï¸ ç¼ºå°æ¨èåæ®µï¼dateModified, publisher
## é®é¢è¯æ
â ç¼ºå° image åæ®µ
â author ä¿¡æ¯ä¸å®æ´
â ï¸ image 尺寸ä¸ç¬¦åæ¨èå¼
## ä¼å建议
1. æ·»å é«è´¨éå¾çï¼1200x630px æ¨èï¼
2. å®å author ä¿¡æ¯ï¼å
å« @type å nameï¼
3. æ·»å publisher ä¿¡æ¯
4. æ·»å dateModified åæ®µ
æ ¼å¼ 2ï¼å®æ´ä»£ç
çæå¯ç´æ¥ä½¿ç¨ç Next.js ç»ä»¶ä»£ç ï¼å æ¬ï¼
- JSON-LD 对象
- Script æ ç¾æå ¥
- TypeScript ç±»åå®ä¹ï¼å¯éï¼
æ ¼å¼ 3ï¼éªè¯é¾æ¥
æä¾æµè¯å·¥å ·é¾æ¥ï¼
- Google Rich Results Test
- Schema Markup Validator
éªè¯æ¸ å
è¯æ³éªè¯
- JSON æ ¼å¼æ£ç¡®
- ææå¼å·åæ¬å·å¹é
- æ å°¾ééå·
- åæ®µåæ£ç¡®ï¼æ³¨æå¤§å°åï¼
å 容éªè¯
- @context æ£ç¡®è®¾ç½®ä¸º “https://schema.org“
- @type 弿æ
- ææå¿ éåæ®µåå¨
- åæ®µå¼ç¬¦åé¢æç±»å
- URL æ ¼å¼æ£ç¡®
- æ¥ææ ¼å¼ç¬¦å ISO 8601
SEO éªè¯
- å¾ç URL å¯è®¿é®
- å¾ç尺寸符å建议ï¼1200x630pxï¼
- ä½è ä¿¡æ¯å®æ´
- å叿¥æåç¡®
- æè¿°é¿åº¦éå½
ç¹æ®åºæ¯å¤ç
å¤è¯è¨æ¯æ
{
"@context": "https://schema.org",
"@type": "Article",
"inLanguage": "zh-CN",
"name": "æç« æ é¢",
"description": "æç« æè¿°"
}
å¤ä¸ª Schema ç»å
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"headline": "æç« æ é¢"
},
{
"@type": "Organization",
"name": "å
¬å¸åç§°"
}
]
}
卿çæ
// å¨æçæ JSON-LD
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'BlogPosting',
'headline': post.title,
'datePublished': post.publishedAt,
'author': {
'@type': 'Person',
'name': post.author.name
}
}
æä½³å®è·µ
-
ä¿æåç¡®
- æææ°æ®å¿ é¡»çå®åç¡®
- ä¸è¦æä¾è¯¯å¯¼æ§ä¿¡æ¯
- å®ææ´æ°æ°æ®
-
宿´å段
- å 嫿æå¿ éåæ®µ
- æ·»å æ¨èåæ®µå¢å¼º Rich Snippets
- ç¡®ä¿å段å¼è´¨éé«
-
æµè¯éªè¯
- 使ç¨å®æ¹å·¥å ·æµè¯
- ä¿®å¤ææè¦ååé误
- 宿鿰éªè¯
-
æ§è½ä¼å
- 使ç¨å èèæ¬
- é¿å async/deferï¼é¤éå¿ è¦ï¼
- ç¡®ä¿èæ¬å¨ ä¸
-
è¯è¨æ¯æ
- 设置æ£ç¡®ç inLanguage
- æä¾å¤è¯è¨æ¿ä»£
- ä½¿ç¨æ£ç¡®çå符ç¼ç
ç¸å ³èµæº
- Schema.org 宿¹ææ¡£: https://schema.org/
- Google Rich Results æµè¯: https://search.google.com/test/rich-results
- Schema éªè¯å·¥å ·: https://validator.schema.org/
- Google ç»æåæ°æ®æå: https://developers.google.com/search/docs/appearance/structured-data
åè¯æ¯æ
䏿å 容ï¼
- æç´¢å¼æï¼ç¾åº¦ãæçãGoogle
- Schema.org ä»éç¨
- é¢å¤èèï¼Baidu specific schema
è±æå 容ï¼
- æç´¢å¼æï¼GoogleãBing
- 宿´ Schema.org æ¯æ
- Rich Snippets æææ´å¥½
使¶ä¸»å¨è§¦å
彿£æµå°ä»¥ä¸æ 嵿¶ï¼ä¸»å¨æä¾ç»æåæ°æ®å»ºè®®ï¼
- ç¨æ·å建æ°çå客æç« æäº§å页é¢
- ç¨æ·æå° “rich snippets” æ “search appearance”
- ç¨æ·è¯¢é® Google æç´¢ç»æå±ç¤º
- æ£æµå°ç¼ºå°ç»æåæ°æ®çéè¦é¡µé¢
- ç¨æ·è¿è¡ /seo-audit ä¸ç»æåæ°æ®å¾åè¾ä½
éæå½ä»¤
/structured-data– å¿«éçææå®é¡µé¢çç»æåæ°æ®/seo-audit– æ£æ¥ç»æåæ°æ®å®æ´æ§/seo-check– éªè¯ JSON-LD å®ç°
è¾åºä¼å 级
- å®å ¨æ§ – ç¡®ä¿ä¸çææè¯¯å¯¼æ§çç»æåæ°æ®
- åç¡®æ§ – ææå段å¼å¿ é¡»åç¡®
- 宿´æ§ – å 嫿æå¿ é忍èåæ®µ
- å¯ç¨æ§ – æä¾å¯ç´æ¥ä½¿ç¨ç代ç
- æè²æ§ – è§£é为ä»ä¹éæ©ç¹å®å段åç±»å