2013-06-18 19 views
22

Googleはこのmetaタグについてこう述べています。<meta name = "fragment" content = "!">がハッシュバンのページに有害ですか?

次の重要な制限が適用されます。

  1. メタタグのみハッシュフラグメントのないページに表示される場合があります。
  2. "!"コンテンツフィールドに表示されることがあります。
  3. メタタグは、ドキュメントの先頭に表示する必要があります。

出典:https://developers.google.com/webmasters/ajax-crawling/docs/specification?hl=fr-FR

私は、それが唯一のはないがhashbangを含まないが、それでもスナップショットを添えてしなければならないページのために必要であることを承知しています。しかし、それはたいていホームページです。

のは、我々が持っているとしましょう:

www.foo.com

www.foo.com/#!/jobs

秒1のようにフェッチされます。

www.foo.com?_escaped_fragment_=/jobs

ちょうどハッシュバンg。

しかし、ルートページにはハッシュバンがありませんので、この特別なメタタグを頭に置く必要があります。

<meta name="fragment" content="!"> 

しかし、すべての私の単一ページのアプリケーションは、これまでのところ、それはがhashbangを含まない他のすべてのページのためにメタタグを維持するために、実際に有害かしら同じ<head>を使用しているため。

実際にはどうなりますか?

+12

せずにスナップショットを彼に戻って与えることができるものはどちらか私と一緒に、またはSOと間違っています。最近私は完全に有効と思われる多くの質問がありました。質問を閉じる際に、何が間違っているかについての情報を少なくとも提供してください。 – Christoph

答えて

4

ハッシュバングを含むページでそれを使用すると冗長(有害ではない)を意味するオプトインではありませんか?私の理解では、クローラは、_escaped_fragment_ページがURI内のhashbangを検出した場合、それを自動的に探します。 URIにhashbangがない場合にのみ、メタタグを使用して_escaped_fragment_パラメータを追加するようにクローラにアドバイスできます。そうすれば、パラメータが設定されていれば別のコンテンツを提供することができます。これが、いくつかのblogspotテーマが動作している方法です(例えば、http://illegalcartoon.blogspot.de/)。

質問が正しく表示されましたか?

+0

それはまさに私が考えてきたものです。このGoogleの論文の言葉は私にはちょっと恐怖です: https://developers.google.com/webmasters/ajax-crawling/docs/specification?hl=fr-FR "メタタグは表示されるだけですハッシュフラグメントのないページで " – Christoph

+2

これはちょっと混乱しています。しかし、概念の証明として、私は次のリンクを提供するかもしれません:http://www.google.com/search?q=site:emanuel.kodingen.com/wordpress これは私のデモページのクロール結果ですBackboned-wordpress-theme。すべてのページには、ハッシュバーンとメタタグが含まれています。それにもかかわらず、彼らは完全に索引付けされています。たぶん文が少しあいまいで、実際には、メタタグを伴った共通のハッシュフラグメント(www.domain.com#foo)を使用しないでください! o_O –

+0

これは現在廃止されていますか? http://googlewebmastercentral.blogspot.jp/2015/10/deprecating-our-ajax-crawling-scheme.html – gman

3

googleからこの説明に基づいて、ページがインデックスハッシュフラグメントなしのページを得るために<meta name="fragment" content="!">

を持っている場合、あなたはあなたのページのHTMLの頭の中で 特別なメタタグが含まれます。重要: は、Ajaxコンテンツを含むページにのみこのソリューションを使用するようにしてください。 これをAjax以外のページに追加すると、利点はありません。サーバーとGoogleのサーバーに追加の負荷 が追加されます。

このタグは、このURLの醜い バージョンをクロールする必要があることをクローラに示します。上記の合意に従って、クローラーは 一時的にかなりのURLを対応する醜いURLにマップします。 という単語では、ページ www.example.comに入れると、クローラはこのURLを一時的に www.example.com?_escaped_fragment_=にマップし、 サーバーからリクエストします。サーバーは、 に対応するHTMLスナップショットをwww.example.comに返します。

ので、サーバはこのwww.example.com?_escaped_fragment_=ような要求を取得するときにname="fragment" content="!"

+0

ああ - 多分私の間違いです。これは、Googleクローラが "domain/path?_escaped_frament_ ="を要求したときにメタタグを削除する必要があることを意味しますか?私は "メタタグ"と一緒にテクニックを使用していますが、それは機能しません。クローラは通常のバージョンをクロールします(htmlスナップショットではありません)。 –

関連する問題