- ベストアンサー
ajaxを使ったページがSEOで不利にならない方法
- 検索エンジンは、ajaxが使われたコンテンツを動的に取得できないためSEOで不利になってしまいます。
- ajaxが使われたページは、URLに#!を入れるか、<head>内に<meta name="fragment" content="!">を入れることで解決できます。
- 要約文3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
・まず、JavaScriptを一切使わない状態で、全てのページにアクセスできるようなサイトを作ります。 <a href="contents.php?get=something">コンテンツ</a> ・HTMLやCSSを変更せず、JavaScriptを追加するだけでAjaxサイトに改変します。 onload=function(){ document.getElementsByTagName('a')[0].onclick=function(){ /* ajaxロード */}; } 以上です。 こうすることで、 JavaScript対応ブラウザではAjaxとして、 JavaScript未対応ブラウザ(JavaScript停止ブラウザ)は単純HTMLとして表示できるようになります。 検索ロボットはJavaScript未対応ブラウザと全く同じですから、JavaScript未対応ブラウザのためのサイトを作れば問題ありません。 Googleの解説は、その方法をナントカフラグメントなどという表現を使って説明しているだけです。 JavaScript未対応ブラウザで問題なく表示できていれば、<meta name="fragment" content="!">などというワケの分からないものを入れる必要はありませんし、 URL、アドレスに#hashを入れる必要もありません。 以下余談&私見 こういう特殊な作り方をさせるのは、Google専用サイトを作らせるための一種の囲い込みだと思います。 もちろん、Google専用SEOが施されていなければページランクを下げるような仕組みを作っているかもしれませんし、 Google基準でデファクトスタンダードを作っておいて、W3CやWHATWGに「SEOの仕方」というのを提案するつもりなのかもしれませんが。
その他の回答 (2)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
>No.2お礼 >サンプルではクリックしないと情報が表示されませんが、 >javascriptオフのときは同期通信になってしまうけどphpファイルが表示される、 >オンのときは非同期通信で表示、なんてこともできるのですか? 何が言いたいのかわかりませんが、そういう作り方をすればできるんじゃないでしょうか?
- coai
- ベストアンサー率50% (152/301)
>ajaxを使ったページがSEOで不利にならない方法 こんなの、基本なんじゃないですか? SEOで不利になって欲しくないようなページは、Javascriptが使用できない環境でも見られるように作っておけばいいだけですよ。 セキュリティ上Javascriptをオフにしているという訪問者にも対応していれば、SEOで不利になるなんて心配する必要がないのに、わざわざユーザーを限定するような事をして、SEOに不利なると言っているのはマッチポンプ的な事だと思えます。 最初からユニバーサルデザインを心掛ければSEOなど恐れるに足らず…とは言えませんが、少なくともマッチポンプ的な恐れは抱かずに済みますね。
お礼
Googleで紹介されていて、他のサイトでもやっていたので良い方法だと思ってました。 Javascriptをオフで見れるように作るのがベストなんですね、ありがとうございました。
お礼
SEOは人間とまったく同じ視線、人間が見ることができることはロボットも見れる、という理解でいいということですか、ありがとうございます。 サンプルではクリックしないと情報が表示されませんが、 javascriptオフのときは同期通信になってしまうけどphpファイルが表示される、 オンのときは非同期通信で表示、なんてこともできるのですか?