WebサイトのURLやページを整理するうえで欠かせないディレクトリについて、サイトの階層構造との関係から、URL設計やクロール・インデックスといったSEOでの実践的な使い方までを解説します。
ディレクトリとは
ディレクトリとは、WebサイトのURLやページを整理するために、関連するページやファイルをまとめるフォルダのことです。サイト内のページを内容ごとにまとめると、その区分がディレクトリになり、URL上では /blog/ のようなパスとして表れます。一般にはファイルやデータを分類して保管する入れ物を指す言葉ですが、本記事ではWebサイトの構造とSEOに関わる範囲を中心に扱い、OSやサーバー内部の詳細には踏み込みません。
ディレクトリとフォルダの違い
ディレクトリとフォルダに、厳密な違いはありません。どちらもファイルやページをまとめて整理する階層を指し、Webサイトの構造を考えるうえでは同じものとして扱えます。呼び方が異なるだけなので、サイトのURLや階層を設計する場面では、ディレクトリという語で理解すれば十分です。
ディレクトリの階層構造と各部の呼び方
ディレクトリは、ひとつのディレクトリの中に別のディレクトリを入れられる入れ子の構造を持ち、枝分かれした階層を形づくります。Webサイトでは、この階層がそのままURLの階層、つまりサイト構造に対応しています。次のURLで、各部分がディレクトリ構造のどの位置にあたるかを見てみましょう。
| URLの部分 | ディレクトリ構造での位置 | 役割 |
|---|---|---|
| example.com | ルートディレクトリ | サイトの起点となる最上位 |
| /blog/ | サブディレクトリ | カテゴリの階層 |
| /seo-basics/ | 個別ページ | さらにその下層に置かれたページ |
親ディレクトリと子ディレクトリ
ある階層を基準にしたとき、すぐ上の階層を親ディレクトリ、すぐ下の階層を子ディレクトリと呼びます。先のURLでは、/blog/ から見て example.com が親ディレクトリ、/seo-basics/ が子ディレクトリにあたります。Webサイトでは、上位カテゴリと配下ページの関係に置き換えると理解しやすいでしょう。
ルートディレクトリ
ルートディレクトリは、階層構造の最上位に位置するディレクトリです。Webサイトではドメイン直下にあたる部分で、すべてのページやサブディレクトリはここを起点に枝分かれします。先のURLでは example.com がルートディレクトリにあたります。
サブディレクトリ
サブディレクトリは、あるディレクトリの下層に作られるディレクトリです。WebサイトのURLでは /blog/ のような区分がこれにあたり、関連するページをカテゴリ単位でまとめます。サブディレクトリを内容ごとに分けると、サイトの階層構造が整理され、各ページの位置づけが明確になります。
ディレクトリを分けて管理するメリット
コンテンツの内容ごとにディレクトリを分けると、WebサイトのURLや階層が整理され、目的のページやファイルを把握しやすくなります。ディレクトリ単位で命名ルールをそろえ、階層設計を一貫させると、サイトの管理や更新の見通しも立てやすくなります。ディレクトリごとにアクセス制限を設ける運用もありますが、その仕組みの詳細は本記事では扱いません。
WebサイトのURLとディレクトリの関係
WebサイトのURLは、サーバー上のディレクトリ構造を反映します。example.com/blog/ の /blog/ は、サイト内のひとつのディレクトリを表し、その配下にどのページが属するかという階層を示します。URLからサイト構造を読み取れるため、ディレクトリの設計はURLの設計と切り離せません。
Googleが推奨するURL構造のポイント
URLは、できるだけシンプルで論理的な構造が望ましいとされています。関連するトピックは同じディレクトリにまとめ、URLからページの内容を推測できる形にしましょう。単語の区切りにはアンダースコアではなくハイフンを使い、人にもクローラーにも意味が伝わる単語を選びます。また、URLは大文字と小文字が区別されるため表記をそろえ、内容に影響しない不要なパラメータは減らしておきます。
サブディレクトリとサブドメインの違いと使い分け
同じコンテンツを分ける方法には、サブディレクトリとサブドメインがあります。両者の違いは次のとおりです。
| 項目 | サブディレクトリ | サブドメイン |
|---|---|---|
| URLの形 | example.com/blog/ | blog.example.com |
| 位置づけ | 同じドメインの下層に置く | 別のホストとして切り出す |
| 扱い | 既存ドメインの一部 | 独立したホスト |
どちらを選ぶかは、サイトの規模や運用体制、管理のしやすさといった観点で判断するもので、一律にどちらがSEOで有利と断定できるものではありません。
ディレクトリ構造とクロール・インデックスの関係
ディレクトリでコンテンツを整理する設計は、Googleのクロールやインデックスにも関わります。サイトのURLが階層ごとに整理されていると、クローラーがどのディレクトリにどのページがあるかを把握しやすくなります。
ディレクトリ単位でクロール頻度が学習される仕組み
数千以上のURLを含むような規模のサイトでは、類似したトピックのページを同じディレクトリにまとめておくと、Googleはそのディレクトリ内でURLが更新される頻度を学習し、ディレクトリごとにクロールの頻度を調整します。更新の多いディレクトリと少ないディレクトリを分けておくと、クローラーがページを巡回しやすい構造になります。
Google検索からディレクトリ単位で削除する方法
検索結果からページを確実に削除するには、ページ自体を削除して404または410を返すか、ページにnoindexを設定します。これらはいずれも個々のページ、つまりURL単位で適用する方法です。ディレクトリ配下をまとめて検索結果から消したい場合は、その配下にあるすべてのページに404または410、もしくはnoindexを適用しましょう。急いで非表示にしたいときは、Google Search Consoleの削除ツールでURLのプレフィックスを指定すると、そのディレクトリ配下を一時的にまとめて非表示にできます。ただし、これは一時的な措置であるため、完全に削除するには前述の404/410やnoindexの処理と組み合わせる必要があります。
robots.txtのDisallowはクロールを拒否する指定であり、検索結果からの削除ではありません。削除を目的にrobots.txtでブロックすると、クローラーがnoindexや404を読み取れず、かえってページが残る原因になるため、削除の場面では使いません。
kunugi GSC Controllerでディレクトリ単位の検索パフォーマンスを確認する
ディレクトリ単位でのSEOの状況は、Google Search Consoleの検索パフォーマンスで確認できます。自社で提供しているChrome拡張機能のkunugi GSC Controllerを使うと、検索パフォーマンス画面の操作をサイドパネルから行え、ディレクトリ単位の確認を進めやすくなります。
ページフィルタで特定ディレクトリ配下に絞り込む
kunugi GSC Controllerのサイドパネルでは、ページのフィルタを設定できます。特定のディレクトリを指定すると、そのディレクトリ配下のページに絞ってGoogle Search Consoleの検索パフォーマンスを表示できます。
設定を保存してディレクトリ別に定点観測する
プロパティ・期間・検索タイプ・フィルタの組み合わせは、設定として保存して呼び出せます。ディレクトリごとに条件を保存しておくと、同じ切り口で繰り返し検索パフォーマンスを確認でき、ディレクトリ別の定点観測に活用できます。
← 記事一覧へ戻る