多個 JSON-LD Schema.org 標籤可以代表同一個「物件」嗎?
P粉289775043
P粉289775043 2024-03-30 11:58:39
0
1
506

我有一個網站,客戶端請求 JSON-LD(不是微資料)schema.org 標籤。他們想要的其中一個是每個頁面上都有一個基本的「WebPage」標籤,其中包含有關每個頁面上的內容的一些資訊。另一個是“FAQPage”,僅添加在特定的 FAQ 頁面上。兩者都將作為內聯腳本標記直接添加到頁面上。

FAQPage繼承自WebPage,因此包含了WebPage的所有屬性。

如果我只是讓頁腳程式碼產生「WebPage」標籤,而FAQ 元件產生「FAQPage」標籤,則兩者最終都會作為單獨的JSON-LD 腳本標籤出現在頁面上- 我相信這會被解釋為兩個獨立的「網頁」 - 不是我們正在尋找的。

是否可以標記架構標籤,以便兩個 JSON-LD 標籤代表彼此的「擴充」?由於 FAQPage 繼承了 WebPage,我希望有一種方法可以設定一個標識符,以顯示兩者是正在記錄的相同頁面。

(是的,我可以使用後端的邏輯將有關 FAQPage 的資訊「傳遞」到頁腳,並讓頁腳元件動態輸出 FAQPage 或 WebPage,但這不是我在這裡要尋找的。)

P粉289775043
P粉289775043

全部回覆(1)
P粉207969787

@id 關鍵字 可以用於此。它為節點物件提供一個 IRI 形式的標識符(或空白節點標識符)。

具有相同@id值的節點物件是同一件事,無論這些事物的類型是否具有繼承關係。

這些 IRI 不必解析為 Web 上的文件。如果他們這樣做,您應該確保區分事物和有關該事物的文件。

但是,在您的特定情況下,該事物和有關該事物的文檔實際上表示相同。因此,您可以使用頁面的規範 IRI 作為 @id



sssccc

sssccc

如果物件表示相同的事物,但具有不同的 @id 值,您可以使用屬性 owl:sameAs##。但只支持 Schema.org 的消費者不會意識到這一點。 (Schema.org 也有一個 sameAs 屬性,但它有不同的意義。)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!