WordPressを運用していると、「全記事のURLを一覧でほしい!」って場面がよくありますよね💡
たとえば…
- リライト計画でURLリストが必要📝
- サーチコンソールやGA4で突き合わせたい📊
- 404チェック・リンク切れチェックをしたい🔧
- 記事移行やバックアップ前に棚卸ししたい🚚
この記事では、手軽さ順に「WordPressの全記事URLを取得する方法」を整理して、コピペで使える形までまとめます✅
✅おすすめ書籍(PR)
WordPressの「URL一括取得」や「REST API・プラグイン活用」をもう一歩深掘りしたい人向けに、手元にあると便利な1冊です📘✨
リンク
✅ 結論:目的別おすすめ早見表(最短で選べる)
- 一番カンタン:サイトマップから抜く(公開URL中心)🗺️
- 確実&最強:WP-CLIで一括出力(サーバー触れるなら最推し)💪
- 自動化したい:REST APIでJSON取得(スクリプト向き)🤖
- 最終手段:DBから直取得(下書き/非公開も含めやすい)🧠
方法1:サイトマップからURLを抽出する🗺️(最速・ログイン不要)
こんな人におすすめ
- 公開記事のURLだけでOK
- とにかく早く一覧が欲しい
手順
- ブラウザで次を開く
https://あなたのドメイン/wp-sitemap.xml - 「投稿用」のサイトマップを探す
例:wp-sitemap-posts-post-1.xml など - XML内の
<loc>ここがURL</loc> をコピーして抽出✨
SEOプラグインを使っている場合は、サイトマップURLが
sitemap_index.xml や sitemap.xml になっていることもあります📌
メリット/注意点
- ✅ 超早い・簡単
- ⚠️ noindex設定や除外設定しているURLは出ないことがある
方法2:管理画面の「エクスポート」機能で取得する📤(標準機能だけ)
こんな人におすすめ
- プラグインなし&サーバー作業なしで進めたい
- WordPress標準機能で完結したい
手順
- 管理画面 → ツール → エクスポート
- 「投稿」など対象を選んでエクスポート(XML)
- XML内の情報(スラッグ等)からURLを組み立てる
メリット/注意点
- ✅ 標準機能だけで可能
- ⚠️ URLそのものが“一覧でズラッと出る”形ではないので加工が必要
方法3:WP-CLIで全記事URLを一括出力する💪(一番おすすめ)
こんな人におすすめ
- サーバーにSSHできる
- 公開・下書き・非公開など条件を指定して確実に取りたい
- 大量記事でも高速で出力したい
投稿(post)のURL一覧(公開のみ)
wp post list --post_type=post --post_status=publish --fields=ID --format=csv \
| tail -n +2 \
| xargs -I{} wp post url {} \
> post_urls.txt
固定ページ(page)のURL一覧(公開のみ)
wp post list --post_type=page --post_status=publish --fields=ID --format=csv \
| tail -n +2 \
| xargs -I{} wp post url {} \
> page_urls.txt
全部まとめて(公開のみ)
wp post list --post_type=any --post_status=publish --fields=ID --format=csv \
| tail -n +2 \
| xargs -I{} wp post url {} \
> all_urls.txt
✅ WP-CLIの強み
- post_type / post_status を細かく指定できる
- 記事数が多くても安定して出力できる
- 「一覧→CSV化→自動処理」につなげやすい
URLの一括取得を“確実&高速”にやるなら、WP-CLIが使える環境が強いです。SSHが使えるサーバーだと作業が一気にラクになります👇
方法4:WordPress REST APIで全URLを取得する🤖(自動化向き)
こんな人におすすめ
- PowerShell / Pythonで自動化したい
- 公開記事URLを定期的に取得したい
まずは1ページ目(最大100件)
https://あなたのドメイン/wp-json/wp/v2/posts?per_page=100&page=1&_fields=link
per_page は最大100 page=1,2,3... と増やして全件回収します📦 - 返ってくるJSONの各要素に
link が入っています
注意点
- ✅ 公開記事は取りやすい
- ⚠️ 下書き/非公開を取るには認証が必要(運用や権限に注意)
方法5:DBから直で抜く🧠(最終手段・柔軟だが要注意)
こんな人におすすめ
- 下書き/非公開も含めて棚卸ししたい
- パーマリンク構造を理解して組み立てできる
例:公開投稿のスラッグ一覧
SELECT post_name
FROM wp_posts
WHERE post_type='post'
AND post_status='publish';
注意点(重要)
- DB操作はミスると危険⚠️
- バックアップを取ってからが鉄則です💾
✅ よくある使い分け(あなたに合う方法はこれ!)
公開URLだけほしい場合
公開/下書き/非公開も含めて棚卸ししたい場合
- WP-CLI(できるなら最優先)
- それが無理なら DB
自動化・定期取得したい場合
- REST API(スクリプト向き)
- サーバー側まで触れるなら WP-CLI が安定
FAQ(よくある質問)❓✨
Q1. 公開してない記事(下書き/非公開)もURLとして取れる?📝
取れます✅
ただし、サイトマップやREST API(未認証)では出ないことが多いので、WP-CLIかDBが確実です。
Q2. 記事数が数千件あるけど大丈夫?📚
サイトマップやREST APIでも可能ですが、安定性なら WP-CLI が強いです💪
(特に処理速度と落ちにくさ)
Q3. サイトマップに一部URLが出てこないのはなぜ?🗺️
noindex設定、除外設定、SEOプラグインのサイトマップ設定などが原因になりがちです⚙️
Q4. URLリストはCSVにできる?📄
できます✅
WP-CLIなら all_urls.txt をそのままCSVの1列にしてもOKですし、REST APIなら link だけ抽出してCSV化できます。
Q5. どれが一番「安全」?🔐
作業の安全性だけで言うと、サイトマップが最も安全です。
ただし、網羅性まで求めるなら WP-CLI(バックアップ前提)が最適です💡
まとめ✅(迷ったらこれ)
- 今すぐ公開URL一覧だけほしい → サイトマップ🗺️
- 全部のURLを確実に・高速にほしい → WP-CLI💪
- 自動化したい → REST API🤖
- 下書き/非公開含めた完全棚卸し → DB🧠(バックアップ必須)