2011-06-01 111 views
4

鏈接屬性rel="canonical"應該針對html5進行驗證嗎?rel =「canonical」html5無法驗證

這是我第一次用這個,我得到以下驗證錯誤:

「壞值規範對元素鏈接屬性爲rel:關鍵字規範未註冊」

這種表明它應該雖然我無法找到任何具體的文件。

編輯 - 這裏是拋出驗證斷了線:

<link rel="canonical" href="http://dev.local/" /> 

我已經有和沒有結束斜槓試過

+0

讓我們看看這是不是驗證 – Gareth 2011-06-01 21:16:51

回答

2

沒有爲canonicalrelin the HTML5 spec沒有定義,但它也可以這樣說:

rel屬性沒有默認值。如果該屬性被省略或者屬性中的值都沒有被用戶代理識別,則文檔與目標資源沒有特別的關係,除了兩者之間存在超鏈接。

所以,它在技術上不符合HTML5,但它會被不理解它的UA忽略。

+0

所以,那麼你說的驗證是在標記頁面爲無效正確的實際代碼? – David 2011-06-01 21:31:12

+0

那麼,HTML5規範確實允許任何人在http://microformats.org/wiki/existing-rel-values註冊一個新的'rel'。 W3C一致性檢查器(*而非嚴格意義上的「驗證器」)確實表示它可能「不可靠,或者不完全符合某些尖端技術的最新發展」。所以不,說你的網頁無效是不正確的。 – Gareth 2011-06-01 21:57:20

0

從我可以從驗證器的輸出中獲得的信息以及定義鏈接rel屬性的規範部分我會說驗證器將文檔標記爲無效,因爲「canonical」類型只是一個提議而不是現在的official linkTypes的一部分。

同時該頁面還表示...

「建議」或 「批准」定義爲與狀態 微格式維基現有-REL-值 頁擴展

類型可能與「...上的效果 ...」字段中的鏈接,a和區域 元素上的rel 屬性一起使用。 [MFREL]

驗證消息是指this list當前對「官方目錄」有效的擴展。 直到6月2日爲止,這個列表並沒有包含規範鏈接類型,所以驗證器在IMO將文檔標記爲無效時是正確的。

但現在規範型是建議類型列表中,我認爲這只是一個之前也驗證程序會將其識別:-)

+0

如果該鏈接上列出了「canonical」,驗證器爲什麼會將它標記爲無效是正確的? – 2011-06-03 09:43:29

+0

大聲笑,誤讀了整個部分。對不起。我的答覆會盡快回復。 – 2011-06-03 11:57:54

+0

如果你看看當規範被添加到列表中,你會注意到,它發生在昨晚;-) – 2011-06-03 12:03:37

0

在錯誤的描述他們做參考的時間問題Microformats wiki作爲有效鏈接類型的列表,其列表包含「規範」鏈接類型。

我認爲這是驗證器中的一個臨時錯誤,因爲它僅在我的HTML5網站上報告rel =「canonical」的錯誤,但不在我的其他XHTML網站上報告。

4

Validator正在標記規範無效,因爲canonical是最近的增加(正如Gutmann指出的那樣),並且驗證工具不會實時更新。 W3C告訴我們爲什麼canonical是在Micorformats wiki上,但沒有驗證。這是因爲驗證器中維基數據的更新是手動的。

你會在驗證報告看到: 「列爲HTML規範允許或作爲允許上沒有在列表中重複的關鍵字的微格式維基上市的鏈接類型,用空格分開列表注意。驗證程序中的wiki數據更新是手動的,並且不會實時發生

這將驗證其下一次手動更新。

2

使用此data-rel

<link data-rel="canonical" href="http://dev.local/" />