结构化資料(Schema / JSON-LD)不是给頁面“美颜”,而是给搜尋引擎和辅助工具一份机器可讀的說明:這是什么頁面、里面有什么内容、由谁發布。标记寫對了,展示形式可能更完整;寫错了,轻則整块被忽略,重則與頁面實际内容對不上,用戶点進来發現货不對板。
下面這份自查清單,针對的是一種常见情况:站里早就部署了 JSON-LD,但没人確認過它現在還准不准。
先确定哪些頁面需要标记
不必每個頁面都堆一套标记,按頁面類型分配更稳妥:
- 内容頁:Article 或 BlogPosting,包含标题、作者、發布時間、更新時間、主图。
- 栏目頁與列表頁:BreadcrumbList 說明层級,CollectionPage 說明聚合性质。
- 首頁與關于頁:Organization、WebSite,可附上站内搜尋的 SearchAction。
- 商品、活動、FAQ、视频:按類型選對應标记,頁面上没有的東西不要标。
内容類型較多的站点,建议在模板层统一規划,而不是在編輯器里逐條手寫,否則改一次版就要重来一遍。
四項核對:内容、字段、语法、部署
一、标记内容與頁面可见内容是否一致
- 标题、作者、日期、價格、评分、库存等字段,是否和頁面上看得见的内容對得上。
- 有没有标记那些只在登入後、彈窗里或折叠面板中才出現的信息。
- 聚合頁、标簽頁、搜尋结果頁不要当成 Article 来标,容易造出一批内容雷同的标记。
二、必填字段是否齐全
多數類型都有必填項,缺一個就可能導致整块标记失效。日期尽量用 ISO 8601 格式,別寫“2024年3月”這類自然語言。模板批量生成时,要检查變量為空會輸出什么,是 null、空字符串,還是把占位文案留在了頁面上。
三、语法與寫法
- JSON-LD 一般放在 head 或 body 里,用類型為 application/ld+json 的 script 标簽包裹。
- 避免中文引号、多余逗号這類會让解析失敗的字符。
- 同一頁面不要同时出現两套相互矛盾的标记。
四、部署位置與渲染方式
纯前端渲染的站点,标记可能等脚本执行完才出現。搜尋引擎能否看到,取决于渲染方式;不确定的话,用抓取工具看看原始 HTML 里有没有這段标记。多語言、多域名站点,标记里的語言與地区信息,最好和 canonical、hreflang 保持一致,別各说各话。
和抓取、URL 發現的關系
這里要说清楚:结构化資料主要影响的是摘要與展示形式,它不會直接让蜘蛛多来抓几次。URL 的發現,仍然靠站点地图、内鏈、外鏈,以及服務器日誌里的抓取记錄来判断。所以別指望加一套标记就能解决收錄問题,那是两件事。
几個常见坑
- 複製模板忘了删示例資料,頁面上留着別人的评分和评论。
- 用插件自動生成但字段映射错了,全站标题都被替換成了站点名。
- FAQ 标记里寫的問题,頁面上根本找不到對應文字。
- 站点改版後标记没跟着改,结构還在,内容早已搬走。
维護节奏
- 新模板上线时,挑一两個頁面先驗證,再全量铺開。
- 每次改版、換主题、調整字段之後,重跑一次校驗。
- 把校驗结果和改動记錄留档,下次出問题能對照排查。
结构化資料是一份說明书,不是滤镜。頁面寫什么,就标什么;頁面上没有的,別硬加。