URLデザインのガイド

Tristan Pirouz
Tristan Pirouz

2015-08-14公開

最高のURLをつくるにあたり、最初に克服しなければならない課題があります。これは、SEOのためのキーワードが豊富に含まれており、ユーザーにとって何のURLであるか情報をしっかりと与える一方で、SNSでの運用を考えるにあたり短いほど良いという特徴がURLにはあるために他なりません。

URLにキーワードを盛り込みすぎたがゆえに、Twitter投稿用としては長過ぎるURLを目にしたSNS担当者をなだめる方法はわかりませんが、DeepCrawlとしては、URLの記述、フォーマット、そして長く使用できるURLの作成へのアドバイスをすることはできます。

 

理想的なURLとは?:短く、情報量の多く、効率的なURL

短いURLであること

ユーザーや検索結果、SNSのことを考えるとURLは短ければ短いほど良いと言えるでしょう。検索結果においてURLが短いと、クリックする前にユーザーがURLの全体を見ることができる(そしてキーワードは太字)からであり、SNS上では投稿する内容にURLを添付することが容易であり、一般ユーザーにとってはURLを見ることでそれがどんなページか把握する手がかりにすることができるからです。

情報量が多いこと

ページのコンテンツと一貫性のあるキーワードが含まれており、結果として検索エンジンやユーザーにこのページに含まれている情報のヒントを伝えるようなURLが理想的です。

ワードプレスのようなCMSを使うとURLの末尾に単語の代わりに投稿IDを利用することもできますが、これはあまりおすすめしません。というのも、投稿内容を整理する際に混同しやすい(URLからはどの投稿が紐付いているのか判断は不可能なので)上に、コンテンツのトピックを検索エンジンが把握しにくくなるからです。現在この設定をお使いの場合、URL構成を変えることを検討してください(注意深く301リダイレクトを用い、SEOやユーザー体験の点で悪い影響を与えないようにしてください)。

ページIDを利用したい場合には(例えば大量のURLをリダイレクトする予定がある場合など)、関連する単語の後にページIDを付けるようにして上記2つの点を両方満たすことをおすすめします。

効率的であること

固有のURLパスを持つ情報量の多いURLを使うことで、各ページタイプまたはサイトの部分でフィルターをかけることができます。

フィルタリングできるURLはアナリティクスを使う際に非常に役立ちます。例えば、GoogleアナリティクスはURLに基づいており、そのリアルタイム機能はURLのようなフィールドへの基本的なフィルタリングのみ提供しています。

フィルタリングできるURLはアナリティクスを使う際に非常に役立ちます。例えば、GoogleアナリティクスはURLに基づいており、そのリアルタイム機能はURLのようなフィールドへの基本的なフィルタリングのみ提供しています。

 

ハイフンを使って単語を分ける

Separate words with hyphens

句読点を使って単語を分けることで(例:example.com/tennisequipment) GoogleがURLを理解しやすくなるので、句読点を活用してURLを意味で区切るようにしましょう。

単語を区切るにはハイフン (example.com/tennis-equipment) が適しています。これは、Googleが下線を独立した文字と扱う一方で、ハイフンはスペースのように扱うからです。

URLに日付を入れることを検討する

これは新聞やブログの記事など公開日時が重要な意味を記事に対しては意味のあることと言えます。例:http://www.news.com/2015/08/17/news-article

しかし、投稿の日付を更新した場合(例:時系列のリストのトップに再度掲載した場合)、URLそのものが変わり、古いURLを新しいURLに確実にリダイレクトしておかなければなりません。

ファイル拡張子に関しては心配しない

特定のものを除いてGoogleはこれらを無視しますが、それ以外のものであれば拡張子のないURLやトレイリングスラッシュのあるURLを含め問題ありません。

ページネーションのあるURLのデザインに関する注意点

ページネーションのある全てのURLは同じURLフォーマットで、変数は1つであるべきであるとGoogleは指摘しています(例:example.com/category/page-1, example.com/category/page-2など)。詳細の情報は、ページネーションに関するガイドを確認してください。

モバイル用とデスクトップ用のURLに一貫性を確保する

個別のモバイルサイトがある場合には、各URLをデスクトップサイトのURLとできるだけ一貫性のあるものにしておくと良いでしょう。こうすることで、モバイルサイトを指定するデスクトップページにrel altタグを追加しやすくなるからです。サブドメインでモバイルサイトをホストすれば (例: m.example.com)、URLパスを同様に保つことができます。

 

URLデザイン(発展編)

正規化URLのフォーマットを覚えやすいものにする

できるだけシンプルで直感的に理解できるURLにすれば 、開発チームがどんなページにある正規化URLでも把握しやすくなります。

ソーシャルURLと正規化URLを合致させる

SNSでのシェア目的で特定のURLを指定する場合(例:example.com/seo-softwareのURLがexample.com/best-seo-software-for-large-businessesへリダイレクト)、これらは一般的に301リダイレクトされることになります。そうならない場合は、これらを正規化することで別々のURLにおいてオーソリティやソーシャルシグナルを分割してしまうことを避けることができます。

サイトマップに分かりやすい名前をつける

サイトマップに分かりやすい名前をつけるとはるかに扱いやすくなります。ほとんどのサイトでは、メインのサイトマップやサイトマップインデックスに対してexample.com/sitemap.xmlのようなフォーマットを使用しています。Googleは、サイトマップのコンテンツが有効な場合、あらゆるファイル拡張子を含むどんなURLでも処理するようなのでサイトマップにコンテンツを入れることも有効です(詳細はサイトマップに関するガイドをご覧ください)。

URLパラメーターとしてサイトの検索キーワードを入れる

URLパラメーターとしてサイトの検索キーワードを入れる というのは、Googleアナリティクスでそれらからレポートを作成し、ユーザーがどうやってサイトを見つけて流入してきているかを示す、共通のフレーズに関する重要な情報へアクセスできるということを意味しています。取得したあとでこれらのデータを使って、内部リンク構造におけるギャップを検出したり、サイト運営側で使っている言語とユーザーが使う単語がマッチしているかどうか確認することができます。

非UTFの文字を利用する

HTML内にリンクされていれば非UTF文字をURL内部にエンコードすることができます。これらのURLを誤って2回エンコードしてしまわないように注意することが重要となります。

リダイレクト可能なURL構造を使用する

サイト移行などで様々なURLをリダイレクトする必要がある場合、複数のURLをまとめてリダイレクトできるように固有のパスを含めておくとこの処理を簡易化できます。各URLにおいて要素だけでなくページIDも含めることにより(例:example.com/category/best-washing-machines-1234/) 、管理が容易となり、かつURL全体をマッチさせることに比べて遥かに効率的にデータベースで参照しやすくなります。

グローバルサイトの場合に考慮すること

サーチコンソールのジオターゲティングとhreflangタグを活用することでドメイン、サブドメイン、サブフォルダーなど全てにグローバルなSEOの設定にすることができます。しかし、Alexaなどのツールはサブドメインやサブフォルダの階層ではデータを識別することができないため、固有のドメインを使うと便利です。

hreflangタグにはグローバルサイトすべてに関係するURLを入れる必要があることに注意してください。グローバルサイトのURLが各言語のサイト間で直接翻訳されない場合には、このプロセスがはるかに複雑なものとなり、間違いやミスが発生しやすくなります。

 

間違ったURLデザインで引き起こされる問題

重複ページ

URLの重複は、同一サイト内の複数のURLが同じページを表示する場合に発生します。わずかに異なるURL経由で同じページにユーザーがアクセスするように設定されているかもしれませんが、Googleはこれらを同一のコンテンツを持った異なるページであると判断します。重複URLの例としては以下のようなものがあります。

  • 大文字と小文字の区別:/news と /NEWS
  • トレイリングスラッシュの不一致:/news/ と /news
  • デフォルトのURLパスの重複:example.com と example.com/index.html
  • URLフォーマットの重複(分かりやすいものとそうでないフォーマット):example.com/category/subcategory/page.html と example.com/page
  • 順序の不一致:example.com/category-1/subcategory/page-1 と example.com/category-2/page-1
  • HTTP/HTTPS/ドメインエイリアス
  • 内部リンクが壊れているために2回以上繰り返されるパス:これらは重複の原因として典型的であるためGoogleはこれらURLをクロールやインデックスしない可能性があります。
  • セッションID:Googleはこれらを別々のURLと捉え、全てをクロールするので、クロールの効率性を阻害してしまいます。URLを動的に変化するものやセッションに基づいたものにしないようにしましょう。これができない場合、サーチコンソール(under Crawl > URL Parameters) のURLパラメーター設定を使ってGoogleボットのクロール対象から外しておくようにしましょう。

これらの問題点はすべて正確なリダイレクト、canonicalタグ、そしてhreflangタグを実装することで管理できます。詳しい情報は、コンテンツの重複URL重複hreflangなどのガイドを参照してください。

長過ぎるURL

エラーなどが発生している場合でなければそこまで長くなりませんが、1024文字を超えるURLはクロールされない可能性があります。

インデックスをハッシュフラグメントに頼る

動的なAJAXサイトは一般的にハッシュフラグメントをURLに使用しています。検索エンジンはこれまでこうしたURLを無視してきたのですが、Googleは現在これらのサイトでページを検出するためにJavaScriptを使って積極的にレンダリングを行なっています。

GoogleはハッシュフラグメントのあるURLをインデックスしませんが、他のクロールできるURLを見つけるためにこれらのURLのレンダリングを実行します。そのため、ハッシュダグが含まれているからと言ってインデックスされると思わないようにしましょう。

ページが今後変わる可能性のある情報を含む

例えば「地震で亡くなってしまう人の数」など、変更される可能性のあるものは含まないようにしましょう。

 

URL management using DeepCrawl: useful reports

1. すべてのURL

DeepCrawlのレポートの [インデクセーション > すべてのURL] を使って、サイト内の全てのURLと正規化URLのフォーマットを確認してください。

2. 重複ページ

URLの中にセッションIDやその他のパラメーターが入っていることで発生する重複の問題については、[インデクセーション > インデックス可能なページ > 重複ページ] で確認することができます。この情報を活用して、サーチコンソール経由でのGoogleのクロール対象から外す必要のあるパラメーターを検出してください。

サーチコンソールでのパラメーター設定を終えている場合、クロールの実行前に、[プロジェクト > 詳細設定 > パラメーターを削除] で削除済パラメーターを追加することでこれらの変更を反映することができます。 こうすることで、Googlebotがユーザーエージェントとして登録されていれば、Googlebotの挙動を確実にレポートに反映することができます。

3. URLが長い

1024文字を超えるURLは全て [設定 > URLデザイン > URLが長い] に表示されます。

4. 2重にエンコードされたURL

これらの問題は [検証 > その他 > 2重にエンコードされたURL] で確認できます。

Author

 

Tags

ご質問はありますか?

どのプランにするかご検討中の場合は、お問い合わせページからご連絡ください。ご質問があれば喜んでお答えします。

メッセージを送信する