1183622246 SEO・検索エンジンに関する質問です。



画像はGoogle検索です。
オレンジ色の下線部分を見てください。URL欄なのに「東京都」となっています。これはURLdecodeされている「%E6%9D%B1%E4%BA%AC%E9%83%BD」が自動的に変換されているのだと思います。


私のサイトでも実践してみたのですが、Googleにインデックスされた際に変換されずに「%E6%9D%B1%E4%BA%AC%E9%83%BD」のままです。これは何故でしょうか?

もしかすると私のサイトでは「%E6%9D%B1%E4%BA%AC%E9%83%BD.html」となっているからでしょうか?

どなたかよろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:2007/07/05 16:57:28
  • 終了:2007/07/12 17:00:06

回答(3件)

id:tokyoyama No.1

tokyoyama回答回数227ベストアンサー獲得回数32007/07/05 18:50:55

ポイント27pt

憶測ですが文字コードに関係があるんじゃないでしょうか?

たぶんwikiとかってUTF-8ですよね。

id:tokyosmash

URLと文字コードがどのように関係してくるのかわかりません。全くわかりません。


あなたの回答を拝見しましたが「自分で作ったキャバクラ情報サイトのSEO対策」にはてなを使わないで下さい。そのような人は正直嫌いです。

2007/07/06 00:53:42
id:minkpa No.2

minkpa回答回数4178ベストアンサー獲得回数552007/07/06 17:16:13

ポイント27pt

.htmlがついているかどうかの差です。

.~を無くせば日本語表示されます。

id:tokyosmash

回答ありがとうございます。

こちらに関しては何かソースはございますでしょうか?もしあればよろしくお願い致します。

2007/07/07 15:52:21
id:makoohira No.3

makoohira回答回数136ベストアンサー獲得回数42007/07/07 08:15:24

ポイント26pt

これは私も、CGIで一部日本語のURLを渡したとき、同じように日本語のURLでGoogleに記録された経験あります。

(プログラムの都合上)予めUTF-8にエンコードしたURLを送ってみたところ、逆に、Google検索結果にはUTF-8にエンコードしたURLが記録されました。

全てのブラウザの仕様で、もしURL内に日本語が含まれていると、自動的にUTF-8に変換されます。

Amazonの「関連商品リンク」をクリックすると分かりますが、

ステータスバーには、URLに日本語で商品名が書かれていますが、クリックした先のURLは、商品名部分がUTF-8にエンコードされています。

ですので、検索結果のURL部分に日本語を出したいなら、日本語のまま記述します。

一応、キーワード検索の対象にもなります。

id:tokyosmash

ブラウザとGoogle検索結果にはどのような関連があるのでしょうか?

>Amazonの「関連商品リンク」をクリックすると分かりますが

当方WinのIE7ですが、ステータスバーはUTF-8のままでした。と言うより、ブラウザはあまり関係無いような気がするのですが・・。

http://blog.livedoor.jp/dankogai/archives/50813868.html

究極のSEO、それはURI中に検索文字列を仕込む事なのではないか。」

私はこちらを参考にSEO対策しようと思っているのです。つまり「wikipedia」のように日本語キーワードでURLインデックスされたいのです。

2007/07/07 16:01:35
  • id:tokyosmash
    ちなみに文字コードはシフトJISにしています。これが原因でしょうか?UTF-8にするべきでしょうか?

    URLを気軽にいじれないので、あまり実験が出来ません。正確な情報を頂けるとありがたいです。
  • id:makoohira
    どうやら、Amazonとは違う方法だったようです。

    わたしのは、CGIの変数値なので自動ではエンコードされないだけのようです。
    一応、参考までに、わたしのサイトでやった結果です。
    Googleで以下のキーワードで検索すると、9,10番目のリンクで日本語URIが表示されてます。
    site:db.x0.com/bk

    ただし、今はこのやり方はしていないので、しばらくしたら、日本語URI部分は消えます。
  • id:tokyosmash
    実例ありがとうございます。大変助かります!

    確かに日本語URIで表示されていますね。

    makoohiraさんから頂いた回答で以下の部分がよくわからないのですが、もしよろしければ噛み砕いて教えていただけないでしょうか。

    「予めUTF-8にエンコードしたURLを送ってみたところ、逆に、Google検索結果にはUTF-8にエンコードしたURLが記録されました」

    1.「エンコードしたURLを送る」とはどのような事なのでしょうか?
    2.2つ目の「エンコード」は「デコード」の間違いでしょうか?

    サイトのソースを拝見するとShift-JISなのでそれは問題ないのですね。なぜ私のサイトがダメなのでしょう。minkpaさんの言うとおり拡張子が付いているからでしょうか?

    もしお時間があれば教えて頂けると大変助かります。
    かれこれ2週間近く悩んでおります。
  • id:makoohira
    1.
    東京都 → %E6%9D%B1%E4%BA%AC%E9%83%BD
    utf-8エンコードした文字列

    %E6%9D%B1%E4%BA%AC%E9%83%BD → 東京都
    utf-8エンコードした文字列のデコード

    つまりperlプログラム内で、リンクを出力するときに、
    http://..../read.cgi?sub=東京都

    http://..../read.cgi?sub=%E6%9D%B1%E4%BA%AC%E9%83%BD
    に書き換えさせるようにした、ということです。

    perlのエンコード構文(一個目の構文)
    http://tech.bayashi.net/pdmemo/encodedecode.html

    ただ、掲示板のmethod=postなんか同様、CGIはどんな形式の文字でも、
    書いたまま渡してしまうようなので、今回の事例とは違うようです。

    2.
    「エンコード」は「コード化する」
    「デコード」は「コードから人間の読める状態などに戻す」ことを意味します。

    つまり、
    utf-8エンコードしない場合は、
    http://..../read.cgi?sub=東京都

    予めutf-8エンコードした場合、
    http://..../read.cgi?sub=%E6%9D%B1%E4%BA%AC%E9%83%BD
    という形で記録されたということです。


    先日、貼られていたリンクを見る限り、Amazonはbotに対してのみ、utf-8と偽装しているようですし、Wikiは元々utf-8のページです。

    Google botの性能があまりよくなければ、アンカーに「charset=utf-8」を入れれば誤認識してくれるかもしれませんが、それで済むなら、Amazonが手の込んだことをするかは疑問です。(ブラウザではmetaの宣言通りにshift-jisで表示)

    utf-8で書き直すというのが可能性高いかもしれません。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません