2012-01-20 4 views
2

私はajaxのウェブサイトを開発しています。すべてのリンクを通常のリンク(つまり「cats /」)にし、JavaScriptが有効になっている場合は、それらを助ける(#cats)ようにしてください。私のウェブサイトは検索エンジンによって完全にクロール可能であり、すべてのページが索引付けされています。クロール可能からAjaxウェブサイトへのJavascriptリダイレクトを使用する必要がありますか?

私の質問は、ユーザーがGoogleを介して "www.example.com/cats"ページにアクセスし、彼のブラウザがJavaScriptで有効になっている場合、自動的に彼を "www.example.com/#単純なjavascriptリダイレクト(location.href = ...)を使って "cats"?

+0

/catsおよび/#catsが異なるコンテンツにつながっていない場合は、これを行う必要はありません。一般的に、ハッシュは/ animals#catsのようなもので動作します。ここで#catsは/ animalsページのcatsセクションにユーザを持ち込みます。 – scottm

答えて

0

これを行わないでください。その結果、ページのHTMLが2回読み込まれます。とにかく平均的なユーザーはアドレスバーを気にしません。

0

あなたのページが読み込まれたら、/catsが存在する場合はJavaScriptを使用してURLを確認してください。単純にajxy関数を実行すると、リダイレクトする必要はありません。

私は通常のリンク(すなわち「猫/」)としてすべてのリンクを維持することをお勧めであることを知って
+0

ユーザーがページ/猫に入ろうとすると、ここにとどまり、このページからajaxを使ってナビゲーションを行う必要があることを意味しますか?すべてのページが同じテンプレート(静的な違いもあります)に基づいている必要がありますか? – user1161554

+0

URLは汚染されている可能性があります:www.example.com/cats/#dogs ... HTML5のpushStateは、URLを簡単にして、www.example.com/cats/#dogsをwww.exampleに削除するための良い解決策です。 com/dogs。しかし、私は、www.example.com/dogsに本物の静的なWebページを作成して、このページ(ブックマーク、外部リンクなど)からユーザーを歓迎しなければなりません。私は正しい方法でいますか? – user1161554

1

それはあります。

もしJavaScriptが有効になっている場合は、それらを助けてください( "#cats")。

いいえ、フラグメント識別子を使用すると、serious drawbacksです。通常のリンクまたは(の場合はとすれば、サイトのユーザビリティを大幅に改善することができます)pushState and friendsを使用してそれらをAjaxifyすることをお勧めします。

pushStateを使用すると友人はあなたの質問の最後の段落を紛らわしくします.2つではなく内容を表す1つのURIしかないからです。

+0

ユーザーをリダイレクトする唯一のメリットは、ajaxコンテンツを配信する1ページ(Webサイトのインデックス)を維持することです。その他のページはすべて自動的に生成された静的ページです。 – user1161554

関連する問題