概覽
為每個頁面使用一個元資料來源
Blazor 應用程式可以從相同版面呈現許多頁面。中央元資料元件可讓每個頁面標題、描述、規範 URL、語言連結、社交預覽和模式負載保持一致。
適用性檢查
中央元資料勝過複製貼上的頭部標記
將頭標籤複製到每個頁面中會暫時運作,然後微小的差異會產生重複的標題、過時的規範 URL、缺少的 hreflang 連結或不再與可見頁面相符的架構。組件將規則保存在一個地方。
當頁面共享 SEO 規則時使用元件
- 許多頁面共享相同的標題、描述、規範、hreflang、開放圖譜和機器人規則。
- 本地化頁面需要一致的文化連結和 x-default 處理。
- 文章、常見問題、產品或軟體頁面需要與可見內容相符的 JSON-LD。
- 編輯或開發人員應更新元資料而不編輯版面配置標記。
避免分散的頭部標記
- 每個頁面都手工編寫自己的頭標籤。
- H1、標題和元描述重複相同的句子。
- 頁面移動後,規範 URL 會指向舊路由。
- 刪除可見的常見問題解答後,常見問題架構仍保持在線狀態。
目錄
SEO 訊號
保持頁面標識一致
搜尋引擎、社群平台和人工智慧爬蟲讀取的訊號都略有不同。他們仍然應該用簡單的語言描述同一頁。
清楚命名頁面
使用包含主要主題的簡短標題,而無需逐字複製 H1。
邀請下一步行動
編寫自然的元描述,解釋其優點並為用戶提供打開、評論或購買的理由。
選擇一個首選 URL
規範 URL 應指向您想要索引的頁面,而不是追蹤連結、重定向或過時的路由。
連結語言版本
文化感知頁面需要與真實 URL 匹配的 hreflang 鏈接,並包含合理的 x-default 頁面。
控制共享預覽
社交預覽應使用與其餘元資料相同的頁面標題、描述、規範 URL 和準備好的圖像。
刻意設定抓取規則
每頁使用機器人和 AI 指令,以便索引、片段、存檔和 AI 使用符合內容政策。
結構化資料
從同一頁元資料生成架構
JSON-LD 不應講述與頁面不同的故事。使用可見文章已使用的相同標題、描述、規範 URL、發布日期、圖像、麵包屑和常見問題解答資料。
文章結構化資料
當頁面具有真實標題、發布日期、修改日期、圖像和部分結構時,請使用文章架構。
FAQ 結構化資料
僅當頁面上可見相同的問題和答案時才使用 FAQPage。
BreadcrumbList
從使用者可以透過連結和導航理解的相同層次結構建立麵包屑。
軟體或產品
僅在價格、報價、名稱和描述對使用者可見時才添加產品或軟體架構。
常見錯誤
大多數元資料錯誤都是小的不匹配
這個組件非常有用,因為它將重複的檢查轉變為一種可重複的模式。目標不是更多標籤。目標是減少矛盾。
不要將 H1 複製到標題和描述中
標題、H1 和元描述可以使用相同的主題,但每個主題都應該有不同的工作。
不要忘記翻譯後的網址
如果頁面存在多種文化,元資料和 hreflang 應指向匹配的文化路線。
不要重複使用過時的共享圖像
Open Graph 和 JSON-LD 映像應代表此頁面,而不是使用該元件的最後一篇文章。
不要標記隱藏內容
FAQ和產品架構應該描述使用者在頁面上實際可以看到的內容。
實作方式
連接組件一次,然後向其提供頁面數據
此模式故意保持無聊:定義頁面元資料對象,在版面或頁面中呈現元件,並在頁面需要結構化資料時傳遞匹配的 JSON-LD。
定義頁面元資料
var metadata = new PageMetaData(culture)
{
Name = PageLinks.BlazorSEOMetaDataComponent,
Title = "Blazor SEO Metadata Component for Blazor Apps",
Description = "Keep title, description, canonical, hreflang, Open Graph, and JSON-LD aligned.",
ImageUrl = "/images/blazor/metadatacomponente/opengraph/hero-1200.png",
Url = PageLinks.BlazorSEOMetaDataComponent,
Robots = RobotsMetaTagExtensions.Join(RobotsMetaTagEnum.Index, RobotsMetaTagEnum.Follow),
AllowAiIndexing = true
};在版面中渲染元資料
@inherits LayoutComponentBase
<MetadataComponent MetaData="@PageMeta"
JsonLd="@Schema?.JsonLd"
RenderArticleMeta="@Schema?.RenderArticleMeta" />
@Body在頁面上附加 JSON-LD
@page "/{Culture}/guide/"
@inherits PageBase
<MetadataComponent MetaData="@PageMeta"
JsonLd="@Schema?.JsonLd"
RenderArticleMeta="@Schema?.RenderArticleMeta" />
<ArticleFaq Id="faq" FAQ="@FAQs" />驗證
發布前檢查輸出
只有當呈現的 HTML 正確時,元資料元件才有用。在發布之前檢查頁面來源、測試共享預覽、驗證架構並爬網本地化 URL。
查看原始碼
檢查渲染的 HTML 頭,而不僅僅是 Razor 檔案。爬蟲閱讀最終回應。
驗證架構
執行豐富結果或架構驗證並修復指向缺失可見內容的警告。
測試分享
使用社交預覽偵錯器檢查標題、描述、圖像和快取行為。
抓取語言環境
在發布之前抓取文化 URL 以捕獲損壞的規範、hreflang 或 x-default 連結。
開始使用
當您的元資料規則重複時購買組件
如果您已在多個頁面上編寫相同的標題、規格、Open Graph 和 JSON-LD 邏輯,請購買 約 $182 的完整實作並將規則保留在一個地方。
相關資源
Blazor SEO 元資料的下一個指南
當您需要有關路由、結構化資料、社交預覽或 Blazor 平臺本身的更多詳細資訊時,請使用這些指南。
常見問題
Blazor 元資料組件有什麼作用?
它從一種類型的來源呈現頁面元資料:標題、描述、規範 URL、hreflang 連結、開放圖標籤、機器人指令和可選的 JSON-LD。
為什麼標題、H1 和元描述應該不同?
他們出現在不同的地方。標題有助於搜尋和瀏覽器選項卡,H1 命名可見頁面,描述應邀請下一步操作。
該組件是否可以防止重複內容?
它有助於保持規範 URL 和 hreflang 連結的一致性。您仍然需要針對不同意圖或語言的頁面的獨特頁面副本和描述。
JSON-LD 如何融入組件?
該頁面根據文章、常見問題、麵包屑、產品或軟體部分使用的相同元資料和可見內容來建立 JSON-LD。
我可以控制每個頁面的AI爬蟲標籤嗎?
是的。使用頁面級機器人和 AI 選項,以便索引、片段、存檔、noai 和 noimageai 規則與該頁面的內容策略相符。
我可以在 Blazor WebAssembly 中使用它嗎?
是的,但是當標籤出現在初始 HTML 回應中時,SEO 元資料最強。伺服器渲染或預渲染通常是更安全的選擇。