← ブログ一覧

2026-06-02

WordPressサイトのURL一覧を自動取得する方法【除外設定・フィルタ完全解説】

WordPressは多くのコーポレートサイト・メディア・ECサイトで採用されているCMSです。サイトのURL一覧を取得したい場面は多いですが、そのままクロールすると管理画面や内部ファイルのURLが大量に混入します。適切なフィルタ設定が必要です。

WordPressクロール時によくある問題

WordPressをフィルタなしでクロールすると、本来必要なページ以外のURLが大量に取得されます。数千件のURLリストに不要なパスが混入し、後処理が大変になります。

  • /wp-admin/ — 管理画面(ログインが必要なページ群)
  • /wp-includes/ — コアファイル(CSS・JS・PHP)
  • /wp-content/ — テーマ・プラグインのファイル
  • /wp-json/ — REST APIエンドポイント(大量のJSONが取得される)
  • /?p=123 などのパラメータURL — 記事の古いURL形式
  • /feed/ — RSSフィード
  • /page/2/ などのページネーション

除外すべきディレクトリ一覧

  • /wp-admin/
  • /wp-includes/
  • /wp-content/
  • /wp-json/
  • /wp/
  • /feed/
  • /trackback/
  • /embed/

Structreeでの除外設定方法

StructreeはデフォルトでWordPress関連の主要ディレクトリ(/wp-admin/・/wp-includes/・/wp-content/・/wp-json/)を自動除外します。追加で除外したいパスは「除外するディレクトリ」欄に1行ずつ入力してください。

特定カテゴリ・ディレクトリのみ取得する

「限定するディレクトリ」機能を使えば、/blog/ や /news/ 以下のページだけをクロールできます。大規模サイトで特定セクションのURL一覧だけ必要な場合や、ブログ記事のみSEO分析したい場合に便利です。

XMLサイトマップからURLを取得する方法

WordPressサイトには /sitemap.xml または /wp-sitemap.xml が存在する場合があります。サイトマップからURLを収集する方法はクロールより高速で、noindexページを除いたURLのみを取得できます。ただしサイトマップに含まれていないページは取得できません。クロールとサイトマップを両方使い、差分を確認するのが確実です。

よくある質問

ログインが必要なページはクロールできますか?

Structreeを含む一般的なクローラーはセッションCookieを保持しないため、ログインが必要な会員専用ページはクロールできません。管理画面(/wp-admin/)も同様です。

ページネーション(/page/2/など)はどう扱えばよいですか?

SEO観点では /page/2/ 以降は通常noindexが推奨されます。URL一覧に含める必要がない場合は「除外するディレクトリ」に /page/ を追加してください。

WordPressのマルチサイトに対応していますか?

サブドメイン型(site1.example.com)はドメイン単位でそれぞれクロールしてください。サブディレクトリ型(example.com/site1/)は「限定するディレクトリ」に /site1/ を指定することで個別取得できます。

Structreeでサイト構造を自動取得してみましょう。

無料で始める