9

W3Cバリデーターを介してページを渡そうとしています。検証はサイトマップで失敗します。これは次のように含まれています。

<link rel="sitemap" type="application/xml" title="Sitemap" href="../sitemap.xml" />

私が得ているエラーは次のとおりです。

要素リンクの属性relの値が正しくないサイトマップ:絶対IRIではありません。文字列サイトマップは、登録されたキーワードまたは絶対URLではありません。

私はそれを修正するために永遠に試みてきました、しかし私が試みているものは何もうまくいかないようです、そしてこれはグーグルとHtml5ボイラープレートによって推奨されたレイアウトです。

私の構文に何か問題がありますか?正しいようですが、なぜ合格しないのですか?

4

5 に答える 5

12

簡単に言えば、あなたはできないということです。

HTML 5は、使用が許可されている値を定義しており、バリデーターによって認識される値の1つではありませんrelsitemap

エラーメッセージは、ウィキに新しいリンクタイプを登録できることを示していますが、サイトマップはすでに存在するため、バリデーターの開発者がウィキの新しい状態を反映するようにバリデーターを更新するのを待つ必要があります(誰もエントリを削除しないと仮定します) )。

(ここでの基本的な問題は、仕様でwikiページを標準リソースとして使用するのは難しいこと、HTML 5はまだドラフトであり、HTML 5バリデーターはまだ実験的であると見なされていることです)。

于 2012-11-11T01:13:13.410 に答える
8

未来から立ち寄る(2021年6月)。

エントリ:

<link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml">

W3HTML5バリデーターで受け入れられるようになりました

つまり、次のようになります。

rel="sitemap"

これで、有効な属性+値になります。

次のHTMLファイルを検証します。

<!DOCTYPE html>
<html lang="en-gb">
<head>
<meta charset="utf-8">
<title>My Rel Sitemap Test</title>
<link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml">
</head>

<body>
<h1>My Rel Sitemap Test</h1>
<p>This is my Rel Sitemap Test.</p>
<p>The document passes.</p>
<p>This document is valid HTML5 + ARIA + SVG 2 + MathML 3.0</p>
</body>
</html>

ここ:https ://validator.w3.org/nu/

応答を返します:

ドキュメントチェックが完了しました。表示するエラーや警告はありません。

于 2021-06-24T14:46:31.893 に答える
3

合格するためにw3cバリデーターのみが必要な場合は、おそらくそのユーザーエージェントを検出し、合格するようにアプリケーションの出力を変更できます。厳密な検証は、このような小さな問題に関しては、何よりもマーケティング上のメリットであると考えています。他の開発者がw3cバリデーターを使用して、クライアントのWebサイトがエラーでいっぱいであると言う場合、それは迷惑です。

HTTP_USER_AGENTに「W3C_Validator」が含まれているかどうかを確認し、非標準コードを削除できます。

CFMLでは、次のようなコードを記述して、GoogleAuthorshipリンクをw3cバリデーターで引き続き検証できるようにしました。

<cfif cgi.HTTP_USER_AGENT CONTAINS "W3C_Validator">data-</cfif>rel="publisher"

彼らがdata-relのサポートを開始できるかどうか、またはgoogle searchがすでにサポートしているかどうかを確認できるかどうか、Googleフォーラムに質問を投稿しました。彼らが提供する構造化データテストツールは、私が今テストしたときにdata-relを解析しません。 http://www.google.com/webmasters/tools/richsnippets

うまくいけば、誰かがフォローアップするでしょう:https: //groups.google.com/a/googleproductforums.com/d/msg/webmasters/-/g0RDfpFwmqAJ

于 2013-02-24T17:59:29.850 に答える
0

文字列サイトマップは登録済みのキーワードまたは絶対URLではありません

あなたの問題はここにあります:

href="../sitemap.xml" 

URLサイトマップがどこにあるかを示すために親戚を使用しています。このようなものを入れてみてください:

<link rel="sitemap" type="application/xml" title="Sitemap" href="/myfolder/sitemap.xml" />

編集

ロボットは最初にルートディレクトリをクロールするため、最善のアプローチは実際にsitemap.xmlルートディレクトリのファイルを使用することです。

<link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml" />

また

<link rel="sitemap" type="application/xml" title="Sitemap" href="http://yoursite.com/sitemap.xml" /> <!-- No www -->

また、

タグがタグの子であることを確認してくださいlinkhead

于 2012-11-11T00:42:17.540 に答える
-2

これを試して!

<link rel="alternate" type="application/xml" title="Site Map" href="http://yoursite.com/sitemap.xml" />

rel属性の代替は、RSSおよびATOMフィードでも認識されます。私は個人的にすべてのxmlドキュメントに使用しています。

于 2016-06-26T22:16:06.377 に答える