4

私はオンライン音楽雑誌を開発中です。html5 / flashミュージックプレーヤーがあり、これがWebサイトの主要部分を形成しています。しかし、このサイトにはたくさんの記事やものもあります。つまり、基本的には、ページの読み込み全体でシームレスな音楽再生が必要ですが、すべてのコンテンツをGoogleでスパイダーフレンドリーでインデックスに登録できるようにするため、完全なJavaScriptアプリケーションは避けたいと考えています。

クリック時にメインページ内のさまざまなコンテンツをロードするために、ハッシュバン(#!)フォールバックを使用してhtml5履歴APIを使用します。また、ロードされたURLは、コンテンツを含むページも指します。

例:私のインデックスページのmunimkazia.com/page1.htmlリンクmunimkazia.comは、page1.htmlからコンテンツをロードして挿入します。URLは、FirefoxとIEではmunimkazia.com/#!/page1.htmlに、chromeではmunimkazia.com/page1.htmlに変更されます。hrefリンクはmunimkazia.com/page1.htmlであるため、スパイダーは次のようになります。リンクしてコンテンツをフェッチします。page1.htmlでページを適切に設定し、表示できるようにしました。しかし今、私は問題を抱えています。

このページでajaxロードを使用することにした場合、ブラウザーのロケーションバーに表示されるURLは、ハッシュバンフォールバック(http://munimkazia.com/page1.html/#!/page2.html)と一致しません。すべてのクリックをhttp://munimkazia.comのメインコンテナページにリダイレクトしてpage2.htmlをロードすると、この後はすべて正常に機能しますが、このページのロードにより、その前の音楽の再生が中断されます。

また、すべてのコンテンツを存在させてフェッチしないようにしたいので、すべてのhttp://munimkazia.com/page1.htmlhttp://munimkazia.com/#!/page1.htmlに書き換えたくありません。検索エンジンのスパイダーが読み取るためにjavascriptによって書かれました。Googleには#からコンテンツを読み取るための仕様があることを認識しています。URLですが、JSが無効になっている場合でも、ユーザーの記事コンテンツをページにロードしたい

アイデア/アドバイス/回避策はありますか?

編集:これらのURLは、私の主張を説明するための単なる例です。munimkazia.comにページをフェッチするためのJavaScriptコードはありません

4

1 に答える 1

3

ハッシュバン #! URLは Google によってインデックス化できます。それが全体の要点です。そうしないと、ハッシュ # を単独で使用することになります。

アイデアは、Google が #! URL をクエリ文字列パラメーターに変換します。example.com/#!/products/123/ipod-nano-32gbになりexample.com/?_escaped_fragment_=/products/123/ipod-nano-32gbますが、ユーザーは引き続き hash-bang URL を使用します。?_escaped_fragment_ パラメータに応答するようにサーバーをプログラムしますが、JavaScript ユーザーは適切な #! URL。

ここで Google の仕様を確認してください http://code.google.com/web/ajaxcrawling/docs/getting-started.html

両方のタイプの URL を使用するのは良い考えではないと思います。同じページのユーザーがブログや Twitter などに 2 つの URL を投稿すると、それを処理するコードを書くのも悪夢になるからです。確実に。HTML5 History API がより広くサポートされるようになるまでは、今のところハッシュバンで妥協する必要があるでしょう。

于 2011-02-16T08:57:15.597 に答える