robots.txtを理解する
WordPressでブログを運営していると、ある日ふと不安になることがあります。
記事はきちんと書いている。
タイトルも考えている。
サイトマップも送信した。
それなのに、Google検索でなかなか表示されない。
そんなときにGoogle Search Consoleを開くと、
「robots.txtによりブロックされました」
「検出 – インデックス未登録」
「クロール済み – インデックス未登録」
といった表示が出てくることがあります。
ここで初めて、多くのブログ運営者が
「robots.txtって何?」
と立ち止まります。
robots.txtは、検索エンジンのクローラーに対して、
「この場所は見てもいいですよ」
「この場所は見なくて大丈夫です」
と伝えるための案内板のようなファイルです。
ただし、ここで大事なのは、robots.txtは検索結果からページを消すためのファイルではないということです。
robots.txtは、あくまでクロールを制御するファイルです。
インデックス削除の道具ではありません。
この違いを理解すると、WordPressの技術SEOはかなり見え方が変わります。
robots.txtとは何か
robots.txtとは、Webサイトの一番上の階層に置かれるテキストファイルです。
たとえば、サイトのURLが次のようなものだとします。
https://example.com
この場合、robots.txtは通常、次のURLで確認できます。
https://example.com/robots.txt
GooglebotやBingbotなどの検索エンジンのクローラーは、サイトを巡回するときにこのファイルを確認します。
そして、どのページをクロールしてよいのか、どのディレクトリは避けるべきなのかを判断します。
WordPressブログでよく使われる基本形は、たとえば次のような内容です。
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml
User-agent: * は、すべてのクローラーに向けた指示です。
Disallow: /wp-admin/ は、WordPressの管理画面まわりをクロールしないでください、という意味です。
Allow: /wp-admin/admin-ajax.php は、管理画面内の一部ファイルだけは許可するという指定です。
Sitemap は、検索エンジンにサイトマップの場所を伝えるための行です。
ここで覚えておきたいのは、robots.txtは
「検索エンジンに来ないでください」
と伝えるものではなく、
「この道は巡回しなくて大丈夫です」
と案内するものに近いということです。
なぜWordPressブログでrobots.txtが重要なのか
小さなブログで記事数が20本、30本くらいのうちは、robots.txtの影響をあまり感じないかもしれません。
しかし、記事数が増えてくると話が変わります。
100記事。
500記事。
1,000記事。
さらに数千記事規模のサイトになると、検索エンジンがどのURLを優先して見に来るかが重要になります。
検索エンジンのクローラーには、無限の時間があるわけではありません。
もちろんGoogleは大きな検索エンジンですが、ひとつひとつのサイトに対して、何でもかんでも無制限にクロールしてくれるわけではありません。
サイトの品質、更新頻度、内部リンク、サーバーの反応速度、重複URLの量などを見ながら、効率よく巡回します。
このとき、WordPressが自動的に作る低価値なURLが多すぎると、重要な記事よりも不要なページにクローラーの時間が使われてしまうことがあります。
たとえば、次のようなURLです。
| URLの種類 | 例 | SEO上の注意点 |
|---|---|---|
| 管理画面 | /wp-admin/ | 基本的に検索エンジンに見せる必要はない |
| 内部検索ページ | /?s=seo | 低品質ページとして増えやすい |
| タグページ | /tag/wordpress/ | 戦略次第でindex/noindexを判断 |
| 添付ファイルページ | 画像だけのページ | 内容が薄くなりやすい |
| パラメータURL | ?replytocom=123 | 重複やクロール浪費の原因になることがある |
robots.txtは、このような不要なクロールを整理するために使えます。
ただし、何でもブロックすればよいわけではありません。
ブログは検索エンジンに見つけてもらうために公開しているものです。
そのため、基本は「見せる」。
本当に不要な場所だけ「見なくてよい」と伝える。
この感覚が大切です。
robots.txtの基本ルール
robots.txtでよく使う主な指示は、そこまで多くありません。
| 指示 | 意味 | 例 | ブログ運営での考え方 |
|---|---|---|---|
User-agent | 対象のクローラーを指定 | User-agent: * | *はすべてのクローラー |
Disallow | クロールを避けてほしい場所 | Disallow: /wp-admin/ | インデックス削除ではない |
Allow | 例外的に許可する場所 | Allow: /wp-admin/admin-ajax.php | WordPressでよく使う |
Sitemap | サイトマップの場所 | Sitemap: https://example.com/sitemap_index.xml | 入れておくと分かりやすい |
Crawl-delay | クロール間隔の指定 | Crawl-delay: 10 | Googleでは基本的に使えない |
特に注意したいのが、Disallowです。
たとえば、次の指定は一般的です。
User-agent: *
Disallow: /wp-admin/
これは管理画面をクロールしないでください、という意味です。
一方で、次の指定は非常に危険です。
User-agent: *
Disallow: /
この設定は、サイト全体をクロールしないでください、という意味になります。
公開中のブログでこの設定が入っていると、重要な記事まで検索エンジンに見てもらえなくなる可能性があります。
たった1本のスラッシュですが、SEOへの影響はかなり大きいです。
robots.txtとnoindexの違い
robots.txtで一番よくある誤解が、noindexとの混同です。
どちらも検索エンジンに関係しますが、役割はまったく違います。
robots.txtは、
「このURLをクロールしないでください」
と伝えるものです。
noindexは、
「このページを検索結果に出さないでください」
と伝えるものです。
整理すると、次のようになります。
| 比較項目 | robots.txt | noindex |
|---|---|---|
| 主な目的 | クロール制御 | インデックス制御 |
| 設置場所 | /robots.txt | HTMLのmetaタグ、またはHTTPヘッダー |
| Googlebotのアクセス | ブロックされると見に行けない | ページを見たうえで判断する |
| 検索結果から消す力 | 確実ではない | 正しく処理されれば有効 |
| 向いている用途 | 管理画面、内部検索、不要なクロール削減 | タグ、重複ページ、薄いページ |
| よくあるミス | noindex代わりに使う | robots.txtでブロックして読ませない |
たとえば、タグページを検索結果に出したくないとします。
このとき、次のようにrobots.txtでブロックしたくなるかもしれません。
User-agent: *
Disallow: /tag/
しかし、この方法には注意が必要です。
Googlebotが /tag/ ページをクロールできない場合、そのページにnoindexが書かれていても、Googlebotはそれを確認できません。
つまり、検索結果から外したいのに、noindexを読ませる道を自分で閉じてしまうことがあるのです。
そのため、検索結果に出したくないページには、robots.txtではなくSEOプラグインのnoindex設定を使うほうが自然です。
覚え方はシンプルです。
robots.txtは「見に来なくていいですよ」。
noindexは「検索結果には出さないでください」。
この違いだけでも、WordPress SEOの失敗はかなり減らせます。
WordPressで安全なrobots.txtの基本形
一般的なWordPressブログなら、robots.txtは複雑にしすぎないほうが安全です。
たとえば、次のような形です。
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://korithink.com/sitemap_index.xml
コリシンクのように、ブログ運営、SEO、Search Console、WordPress設定、技術SEOを扱うサイトなら、このくらいシンプルな構成で十分なケースが多いです。
大切なのは、記事本文、カテゴリーページ、画像、CSS、JavaScriptなどをむやみにブロックしないことです。
検索エンジンは、今ではページのテキストだけを見ているわけではありません。
ページの見た目。
内部リンク。
画像。
レイアウト。
JavaScriptで表示される要素。
こうしたものも含めてページを理解しようとします。
そのため、次のような設定は慎重に扱う必要があります。
User-agent: *
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /category/
Disallow: /tag/
/wp-content/をブロックすると、画像やテーマファイル、アップロードファイルの取得に影響する可能性があります。
/category/や/tag/をブロックすると、サイト構造の理解や内部リンクの流れに影響することもあります。
タグページを検索結果に出したくないなら、robots.txtでブロックする前に、Rank MathやYoast SEOなどのSEOプラグインでnoindex設定を検討するのがおすすめです。
実例1:ブログ全体がクロールされなくなるケース
WordPress運営で最も怖いミスのひとつが、次の設定です。
User-agent: *
Disallow: /
これはサイト全体をクロールしないでください、という意味です。
開発中のテストサイトなら使うことがあります。
でも、公開中のブログにこの設定が残っていると危険です。
よくあるのは、WordPressを立ち上げた初期に「検索エンジンがこのサイトをインデックスしないようにする」設定をオンにして、そのまま忘れてしまうケースです。
また、ステージング環境、メンテナンス系プラグイン、SEOプラグインの設定が原因になることもあります。
この場合、次のような症状が出ることがあります。
| 症状 | 考えられる原因 | 確認する場所 |
|---|---|---|
| 新記事がGoogleに出ない | サイト全体がブロックされている | ドメイン/robots.txt |
| Search Consoleにrobots.txt関連の表示が出る | 重要URLがクロール不可 | ページのインデックス登録レポート |
| サイトマップ送信後も反応が弱い | URLにアクセスできない | URL検査ツール |
| 検索結果にURLだけ出る | クロールできず内容を読めない | Google検索結果 |
まず確認すべきことは簡単です。
ブラウザで次のように入力します。
https://自分のドメイン/robots.txt
そして、Disallow: / が入っていないか確認します。
公開中のブログでこの設定がある場合は、本当に必要な設定なのか慎重に見直しましょう。
実例2:画像検索からの流入が弱いケース
ブログ運営では、記事本文だけでなく画像も検索流入の入口になります。
特に、旅行、料理、レビュー、手順解説、図解、ライフスタイル系の記事では、画像検索から読者が来ることもあります。
WordPressの画像は、多くの場合、次の場所に保存されます。
/wp-content/uploads/
そのため、次のような設定には注意が必要です。
User-agent: *
Disallow: /wp-content/uploads/
この指定があると、検索エンジンが画像をクロールしにくくなります。
画像SEOを考えるなら、画像フォルダは基本的にブロックしないほうが自然です。
代わりに、次のような対策を行います。
画像ファイル名を分かりやすくする。
Altテキストを自然に入れる。
画像サイズを圧縮する。
WebP形式を使う。
不要な添付ファイルページはリダイレクトまたはnoindexにする。
特にWordPressでは、画像そのものと添付ファイルページを分けて考えることが大切です。
画像ファイルは検索エンジンに見せる。
中身の薄い添付ファイルページは整理する。
このほうが、ブログ運営では扱いやすいです。
実例3:内部検索ページがGoogleに出てしまうケース
WordPressの内部検索ページは、次のようなURLになることがあります。
https://example.com/?s=seo
https://example.com/search/robots
読者がサイト内で記事を探すためには便利です。
しかし、Google検索の結果として表示される価値はあまり高くありません。
Googleで検索した読者が、別の検索結果ページに着地する。
これはユーザー体験としても微妙です。
記事数が多いブログでは、内部検索URLが大量に発生することがあります。
その場合、次のようにrobots.txtでクロールを抑える方法があります。
User-agent: *
Disallow: /?s=
Disallow: /search/
ただし、すでにGoogleに表示されている内部検索ページを消したい場合は、robots.txtでブロックするだけでは不十分なことがあります。
ここでも基本は同じです。
クロールを減らしたいならrobots.txt。
検索結果から外したいならnoindex。
この使い分けが重要です。
Kori’s Mid-Article Thoughts
robots.txtは、見た目だけだと少し怖く感じます。
たった数行のテキストなのに、間違えるとサイト全体のSEOに影響するからです。
でも、考え方はそこまで難しくありません。
ブログは、基本的に検索エンジンに読んでもらうために公開しています。
だから最初の方針は「開ける」。
そのうえで、明らかに不要な場所だけを閉じる。
この順番で考えると、robots.txtの設定はかなりシンプルになります。
ワンポイント
robots.txtを変更したら、必ずブラウザで 自分のドメイン/robots.txt を開き、重要な記事URLをSearch ConsoleのURL検査ツールで確認しましょう。
WordPress運営者向けrobots.txtチェックリスト
robots.txtを変更する前に、次の項目を確認しておくと安心です。
| チェック項目 | 確認する内容 | おすすめの判断 |
|---|---|---|
| 全体ブロック | Disallow: / があるか | 公開サイトでは基本的に避ける |
| 管理画面 | /wp-admin/だけをブロックしているか | 一般的には問題ない |
| Ajaxファイル | admin-ajax.phpを許可しているか | WordPressでは許可推奨 |
| 画像フォルダ | /wp-content/uploads/をブロックしていないか | 画像流入を狙うなら開ける |
| サイトマップ | URLが正しいか | 最新のサイトマップを記載 |
| タグ・カテゴリー | robots.txtで止めていないか | noindexのほうが向く場合が多い |
| 内部検索 | ?s=が増えていないか | 状況によりnoindexまたはブロック |
| テスト | URL検査をしたか | 変更後は必ず確認 |
robots.txtは、短いファイルです。
しかし、短いからこそ、1行の影響が大きくなります。
特に複数サイトを運営している場合は、別サイトのrobots.txtをそのままコピーしないほうが安全です。
ECサイト、ニュースサイト、個人ブログ、アフィリエイトサイト、会員制サイトでは、必要な設定が変わります。
Search Consoleでrobots.txtエラーを見たときの考え方
Search Consoleでrobots.txt関連の表示を見ると、焦ってすぐに修正したくなります。
でも、まずはそのURLが何なのかを確認しましょう。
そのURLは検索結果に出したいページなのか。
それとも、出なくてもいいページなのか。
すでに検索結果に出ていて、削除したいページなのか。
この3つで対応が変わります。
重要な記事がrobots.txtでブロックされているなら、すぐに見直すべきです。
一方で、管理画面や内部検索ページがブロックされているだけなら、問題ではないこともあります。
Search Consoleの表示は、必ずしもすべてが悪い知らせではありません。
大事なのは、意図したブロックなのか、意図しないブロックなのかを分けて見ることです。
robots.txtでよくある失敗
まず多いのが、robots.txtをセキュリティ対策だと思ってしまうことです。
robots.txtは公開ファイルです。
誰でも見ることができます。
そのため、隠したい管理URLや重要ファイルの場所をrobots.txtに書くと、逆に場所を教えてしまうことがあります。
個人情報、会員データ、非公開ファイル、社内資料のようなものは、robots.txtではなく、ログイン制限、権限設定、サーバー側の制御で守る必要があります。
次に多いのが、robots.txtにnoindexを書いてしまうミスです。
User-agent: *
Noindex: /private/
このような指定は、現在のGoogle SEOでは信頼できる方法ではありません。
noindexを使いたい場合は、HTMLのmeta robotsタグやHTTPヘッダーで設定します。
もうひとつ多いのが、CSSやJavaScriptまでブロックしてしまうことです。
Googleはページをレンダリングして理解します。
そのため、テーマやプラグインの重要なファイルがブロックされると、検索エンジンがページを正しく理解しにくくなる可能性があります。
コリシンク型ブログにおすすめのrobots.txt
コリシンクのように、ブログ運営、SEO、WordPress、Search Console、サイト改善を扱う情報型ブログなら、robots.txtはシンプルでよいです。
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://korithink.com/sitemap_index.xml
そして、細かいインデックス管理はSEOプラグイン側で行います。
たとえば、次のように分けます。
重要な記事はindex。
重要なカテゴリーページもindex。
薄いタグページはnoindex。
著者アーカイブは運営方針によりnoindex。
添付ファイルページはリダイレクトまたはnoindex。
内部検索ページは状況によりnoindexまたはクロール制御。
このように、役割を分けると整理しやすくなります。
robots.txtはクロールの管理。
noindexは検索結果への表示管理。
サイトマップはURL発見の補助。
内部リンクは重要度の伝達。
Search Consoleは診断ツール。
それぞれの役割を混ぜないことが、安定した技術SEOにつながります。
robots.txtを理解できたら、テクニカルSEOの大切な一部分を押さえたことになります。
ただし、検索上位表示はrobots.txtだけで決まるものではありません。
キーワード選定、タイトル設計、内部リンク、サイトマップ、インデックス状況、コンテンツ品質、ページ表示速度などが組み合わさって、ブログ全体の評価につながります。
次のステップとして、「SEO完全ガイド:検索意図とテクニカルSEOで上位表示を狙う」 もあわせて読むと理解が深まります。
このガイドでは、robots.txtのような技術的な設定だけでなく、ブログ運営者が検索流入を伸ばすために確認すべきSEO全体の流れを分かりやすく整理しています。
Koriの考え
robots.txtは、怖がるものではありません。
ただし、雑に扱ってよいものでもありません。
ブログ運営者にとって理想的なrobots.txtは、派手な設定ではなく、短くて分かりやすい設定です。
Koriの基準でまとめると、次のようになります。
公開記事はブロックしない。
画像フォルダも基本的には開けておく。
robots.txtをセキュリティ対策として使わない。
noindexの代わりにrobots.txtを使わない。
サイトマップURLは正しく書く。
変更後はSearch Consoleで確認する。
ブログは、検索エンジンと読者に見つけてもらうための場所です。
robots.txtは、その入口に置く小さな案内板です。
案内板が複雑すぎると、検索エンジンも迷います。
案内板で道をふさぎすぎると、大切な記事まで見つけてもらえません。
一番よいrobots.txtは、サイトの成長を邪魔しない、シンプルで正確な設定です。
robots.txtを理解する Q&A
Q1. robots.txtでページをGoogle検索から完全に消せますか?
完全には消せません。
robots.txtはクロールを制御するためのファイルです。
検索結果から外したい場合は、noindexタグやSearch Consoleの削除ツールなど、目的に合った方法を使う必要があります。
特に、noindexを読ませたいページをrobots.txtでブロックしてしまうと、Googlebotがnoindexを確認できないことがあります。
Q2. WordPressのタグページはrobots.txtでブロックしたほうがいいですか?
多くの場合、いきなりrobots.txtでブロックするより、SEOプラグインでnoindexを設定するほうが扱いやすいです。
タグページを検索結果に出したくないだけなら、noindexのほうが目的に合っています。
ただし、タグページが大量にあり、クロールの浪費が目立つ場合は、サイト全体の状況を見ながらrobots.txtで制御する選択肢もあります。
Q3. robots.txtにサイトマップURLは入れるべきですか?
入れておくのがおすすめです。
Search Consoleにサイトマップを送信していても、robots.txtにサイトマップURLを書いておくと、検索エンジンにサイト構造を伝えやすくなります。
特に記事数が多いWordPressブログでは、サイトマップの場所を明確にしておくことが大切です。
robots.txtを理解する 参考資料
この記事は、Google Search Centralのrobots.txtガイド、robots.txt仕様の解説、noindexに関する公式ドキュメント、Search Consoleのページインデックス登録レポートを参考にしながら、WordPressブログ運営者向けに分かりやすく整理しました。
- Google Search Central, Introduction to robots.txt
- Google Search Central, How Google Interprets the robots.txt Specification
- Google Search Central, Block Search Indexing with noindex
- Google Search Console Help, Page Indexing Report
- Google Search Central, SEO Starter Guide

#robotstxt #WordPressSEO #テクニカルSEO #GoogleSearchConsole #クロール #インデックス登録 #サイ マップ #noindex #ブログ運営 #SEO対策
👉 あわせて読みたい
この記事が参考になった方は、下の記事もあわせて読んでみてください。
同じテーマを、より広く、より深く理解するのに役立ちます。
インデックスされない理由:Search ConsoleでわかるWordPressブログのSEO改善ガイド
Search Console 使い方完全ガイド:WordPressブログのインデックス登録・検索流入・CTR改善を伸ばすSEO実践法
インデックス生成の仕組み:WordPress記事がGoogle検索に登録される流れをやさしく解説
心が少し軽くなったなら、それで十分ですよ。
次の問いでまた会いましょう — Beautiful KoriThink