スキルセットや共通言語が異なる
エンジニアとWeb担当者をつなぐための手引書
2009年6月5日、グーグルの日本法人によって「Google検索エンジン最適化スターターガイド」の日本語版が発表されました。併せて参考にしてください。
「Google検索エンジン最適化スターターガイド」(リンク先はPDF)
上記のPDFをHTMLに変換した記事を公開しました。「Google検索エンジン最適化スターターガイド」(Web担当者Forum掲載HTMLバージョン)
前回の記事では検索エンジン全体の仕組みをおさらいし、その中でもクローラーの動きに着目しました。最新の情報を検索結果に反映させるためには、クローラーになるべく多くの回数自社サイトを訪問してもらい、ページの内容を適切な情報としてインデックスしてもらう必要があります。
このインデックスの際に重要なのが、サイトに対するクローラーの回遊性「クローラビリティ」です。クローラビリティを向上させる要素の1つとして、URLの最適化があげられます。SEOには、キーワードやカテゴリの設計、HTMLの最適化、外的施策などさまざまな対策が考えられますが、その中でもURLの最適化は、最も重要な要素の1つです。いくら他の対策が完璧でも、URLの設定によってはいい効果が期待できません。
一口にURLの最適化といってもさまざまです。この連載では、以下の3つの方法を説明していくことにしたいと思います。
- 永続化 ←この記事で解説
- 正規化
- 静的化
今回は、1つ目の「URLの永続化」と、永続化を考える上で必要な「URL設計のポイント」について説明していきます。
- エンジニアさんへ
システム開発の現場では、十分な検討の時間もなくシステムの都合を優先してURLを決めてしまうことも多いかもしれません。しかし、長く使えるURLを設計することがSEOでは非常に重要なのです。今回の記事の対象者 - Web担当者さんへ
開発者に提案依頼をする前に、まずはご自身でURLを設計してみてはいかがでしょうか? URLとサイト構造を照らし合わせて管理することで、どこにどんなコンテンツがあるかが明確になり、自社サイトを把握する手助けになるでしょう。
URLの永続化
今回説明するURLの永続化とは、「一度公開して検索エンジンにインデックスされたコンテンツに対し、そのコンテンツが存在し続ける限り同一のURLを使用し続けること」です。
なぜ永続化が必要かというと、検索エンジンがユーザーにとって有益なページかどうかを判断する際に、「そのURLがどのくらいの期間安定してユーザーにコンテンツを提供していたか」をスコアとして判定に使用しているからです。
なお、この場合のURLにはドメイン名も含まれています。Googleでは、登録したばかりの新しいドメイン名の場合、なかなか検索順位が上がってこない「サンドボックス」や「エイジングフィルタ」と呼ばれる現象が確認されています。仮に完璧にSEO施策を行ったとしても、新しいドメイン名だからという理由だけで上位に掲載されないのです。平均的に6か月くらいの間フィルタリングされ、それ以降順位が上がってくるといわれています。
また、サイトのリニューアル時に、今まで存在していたサイトのURL構造を変えてしまったり、さらにはブランディングのために新しいドメイン名に移行したりすることがよくありますが、永続化の観点からドメイン名を含むURLの変更は安易に行わないことをお勧めします。
それでは、永続的なURLを設計する際にはどのようなものが推奨されるのでしょうか。「RFC(インターネット関連の技術仕様)」や米Googleが昨年末に発表した「Google’s SEO Starter Guide」、そして弊社がこれまで培ってきたコンサルティングの知見を踏まえて解説していくことにしましょう。
URLを設計する際の推奨ポイント
URLを永続化させるためには、設計時から長く使えて検索エンジンが好むURLを設計しておくことが重要です。以下にポイントをまとめておきますので、設計時の参考にしてください。
- URLに使用していい推奨記号は、「-(ハイフン)」と「_(アンダースコア)」
- URLはすべて小文字にする
- URLの長さはなるべく短くしつつ、可能であればURL中にキーワードを含める
- ディレクトリの階層はなるべく浅くする
- 永続性さえ確保できれば、日本語URLも効果がある
番外. URLは拡張子ではなく、「/」で終える
1.URLに使用していい推奨記号は、「-(ハイフン)」と「_(アンダースコア)」
URLの使用可能文字についてはよく質問を受けますが、RFCで明確に定義されています。このRFC3986という文章のセクション2.3に非予約文字(URLに使用可能な文字)として記載されています。
URI内に含む事が認められていて、かつ予約目的のない文字は非予約文字と呼ばれます。非予約文字には、大文字と小文字のアルファベット、数字、ハイフン、ピリオド、アンダースコア、チルダが含まれます。
http://www.ietf.org/rfc/rfc3986.txt(原文)
http://www.studyinghttp.net/rfc_ja/rfc3986(日本語参考訳)
規約上は上記にあげられているように大文字と小文字のアルファベットと数字、「-(ハイフン)」「.(ピリオド)」「_(アンダースコア)」「~(チルダ)」が該当します。記号に関してはこの4種類存在するのですが、その中で我々が推奨しているのは「-(ハイフン)」「_(アンダースコア)」のみです。
検索エンジンが内部でどのような処理を行っているかはわかりませんが、いかに優秀なエンジニアが作っていたとしても思わぬ不具合はつきものです。仮にそんな不具合に巻き込まれて、本来評価されるべきものが不当な理由で評価が落ちてしまっては元も子もありません。そのため、現状多く用いられている(実績のある)、「-(ハイフン)」や「_(アンダースコア)」で構成することを推奨しているのです。
なお、ハイフンとアンダースコアは検索エンジンに対する意味合いが異なります。ハイフンは文字通り単語を分離するために使われる記号なので、ハイフンの前後の単語は個別のキーワードとして認識されます。逆に、アンダースコアは前後の単語を連結するので、アンダースコアも含めた1つのキーワードとして認識されます。
2.URLはすべて小文字にする
RFCでは、アルファベットは大文字小文字が許容されています。しかし、2008年11月に米Googleが公式にアナウンスした「Google's SEO Starter Guide」の8ページから9ページでURLに言及している「URL構造の良い習慣」という部分があります。
その「URL構造の良い習慣」の中の「文書にたどりつける1バージョンのURLを提供する」(9ページ目)に以下の記述があります。
変に(一部が)大文字になっているURLを避けること(多くのユーザーが小文字のURLを想定しているし小文字のほうが覚えてもらいやすい)
http://www.google.com/webmasters/docs/search-engine-optimization-starter-guide.pdf(原文:リンク先はPDF)
http://www.google.co.jp/intl/ja/webmasters/docs/search-engine-optimization-starter-guide-ja.pdf(日本語訳:リンク先はPDF) ※追記: 2006/06/05
http://web-tan.forum.impressrd.jp/e/2009/06/08/5834(日本語訳) ※追記: 2006/06/08
検索エンジンは、多くのユーザーにとって有益なサイトを評価するので、結果として小文字を推奨しているといえるでしょう。
3.URLの長さはなるべく短くしつつ、可能であればURL中にキーワードを含める
同じく「Google’s SEO Starter Guide」の「URL構造の良い習慣」の中の「URLに単語を使う」(8ページ目)でURL中のキーワード利用を推奨しています。
URLの中にキーワードを含める―サイトのコンテンツや構造に関連したワードを含むURLはURLを覚えてもらいやすく、リンクを貼る際にもわかりやすいので利用者にとって親切である。
Googleに限ったことではないですが、検索結果の表示画面で検索ワードと一致したURLを太字で強調表示する機能が提供されています。
この例の場合だと、タイトルとURL中の「web」「Web担当者」の部分が太字で強調されています。検索エンジン各社は、こういった機能を提供することが検索利用者のためになると考えているのです。ここからURL内にキーワードを含める行為が評価されていることが理解できます。
だからと言って、いたずらにURLが長くなってしまうのは別の観点で少し問題があります。SEOではHTMLページサイズの軽減が求められるからです。URLが長いとその分HTMLのページサイズが肥大化する結果になります(もちろん、ユーザーの利便性を損なうというデメリットも忘れてはいけません)。
どのくらい肥大化するかを少し検証してみましょう。ECサイトで、各商品が商品詳細ページへリンクしている商品一覧の画面を考えてください。そこには商品が20件表示されていて、1件の商品ブロックは以下のようなレイアウトになっているとします。
その際の商品詳細ページのURLを以下の2パターンで比較してみます。
Aパターン(1リンクあたり54バイト)
/personal-computer/desktop/windows/makername/typename/Bパターン(1リンクあたり22バイト)
/pc/dt/m/win/typename/
両者を比較すると、1リンクあたり32バイトの差が発生します。1ページに60リンクあるのでページ全体では2000バイト弱の差異が生じることになります。いたずらに長くするのもあまりよくありません(詳細は別の記事でご説明します)。
また、「URLは何バイトまでならSEOにいいのですか?」という質問を頂きますが、SEOとしての明確な数字はありません。ただし、HTTP/1.1に関して規定しているRFC2616では、URLの長さは255バイト以内を推奨しています(セクション3.2.1)。また、ブラウザごとの最大長も異なるというのが現状です。
http://www.ietf.org/rfc/rfc2616.txt(原文)
http://www.studyinghttp.net/cgi-bin/rfc.cgi?2616#Sec3.2.1(日本語参考訳)
参考: Internet Explorerでは、URL に使用可能な文字数は最大 2,083文字
キーワードを含めつつURLを短くするというのはなかなか難しいですが、適宜検討してみてください。もちろん、キーワードを利用する際はそのサイトで永続可能なキーワードに限って利用してください。
4.ディレクトリの階層はなるべく浅くする
こちらも「Google's SEO Starter Guide」の「URL構造の良い習慣」の中の「シンプルなディレクトリ構造」(8ページ目)に記載されています。
「.../dir1/dir2/dir3/dir4/dir5/dir6/page.html」のような、深い階層構造を持つのは避けるべき
われわれのコンサルティングのお客様で、深いディレクトリ構造のURLを採用していたために、インデックス状況や掲載順位が芳しくないサイトがありました。これらを浅いディレクトリ構造のURLに改修した途端にインデックスされたという実績があります(単純に構造を浅くしただけではなく、永続化の観点から今まで存在していたURLから新しいURLへのリダイレクトも行いました)。
ちなみにこのケースでは、深いディレクトリのURLを採用していたころはGoogleだけの順位が不調でYahooでは問題ありませんでした。浅い構造に改修した結果、Googleの順位が改善されYahooは現状維持となりました。
5.永続性さえ確保できれば、日本語URLも効果がある
3項の「URL内にキーワードを含める」という部分にも関連しますが、日本語のURLの場合も検索結果での太字の強調表示に対応しています。こちらも検索エンジンに評価され、SEOに効果があるといえるでしょう。
先ほど、URLに使用できるのは、大文字と小文字のアルファベットと数字、4種類の記号だけだと説明しましたが、RFC3986のセクション2.1.に、URLで使える文字としてURLエンコーディング(「%」+数字)が定義されているので、仕様上は正しいものになります。
ただし、この場合も安易に日本語URLにするのではなく、永続性のあるキーワードのみを対象にしてください。また、日本語URLをメールで送る場合はクリックしてもサイトに飛ばないケースがあるので、運用には注意が必要です。
参考: 電子メール本文中の日本語ドメイン名URLをクリックできるようにするには
番外.URLは拡張子ではなく、「/」 で終える
これはSEOの評価にはあまり関係ない話ですが、システム改修や移行の際にメリットがあるので付け加えておきました。仮に今のシステムがPHPで作成されているとしましょう。その場合、URLは以下のどちらでもアクセス可能になっていると思います(Apacheの場合であれば、DirectoryIndexにindex.phpが含まれていることを想定)。
- http://www.example.com/
- http://www.example.com/index.php
この場合には、パターン1のURLを設定することをおススメします。その理由は、仮にそのシステムが何らかの理由でPHPではなく、JSPにリプレースされることがあってもURLの永続性が保たれるからです(http://www.example.com/index.phpからhttp://www.example.com/index.jspに変わっただけでも、検索エンジンは「違うURL」と判断します)。
以上、いつも我々がURLを設計する際に推奨しているポイントです。必ず全てを満たしている必要はないのですが、なるべく満たすような設計を心掛けてもらえればと思います。
次回は、URLの正規化についてお話しします。
コメント
日本語URLは・・・
URLの長さはなるべく短くしつつ、可能であればURL中にキーワードを含めるとありますが、
どうでしょう?
日本語のURLでなければ英訳しないと効果があがらないのでしょうか。
京都⇒kyoto
東京⇒tokyo
など、ではSEOの効果はないのでしょうか?