robots.txt は、検索エンジンなどのクロールをこちらから制御するファイルだ。

結論から言うと、個人運営の WordPress ブログで robots.txt を設定・作成する必要はない。間違えて設定すると SEO に悪影響を及ぼすので気をつけよう。個人ブログで robots.txt の設定が必要になるのは、以下の 2 パターンぐらいだ。

  • 検索 bot 以外の特定のクローラーをブロックしたい
  • クロールしてほしくないファイルがある

本記事では robots.txt の基礎知識や作成方法・設定例を解説していく。上記のパターンに該当する、またはブログ以外の大規模サイトを手掛けるなら、参考にしてほしい。

robots.txt とは

WordPress は、様々なページ・ファイルを自動的に生成する。テーマやプラグインをインストールするとその分だけファイルも増えていく。

ファイルには種類があるが、SEO の観点で言えば以下の 2 つに分けられると覚えておくとよい。

  • 検索エンジンに見せるべきもの
  • 検索エンジンに見せなくてよいもの

この 2 つを制御するのが robots.txt だ。検索エンジンに見せるべき重要なページ・ファイルをこちらから指定することで、効率的にブログ内をクロールしてもらう目的で設置する(絶対的に従ってくれるわけではない)。

この手法を「クロール最適化」と言う。クロールから検索結果表示までの流れは以下の記事で詳細に解説しているので、目を通しておこう。

ブログ記事が Google 検索のインデックスに登録されない原因と解決策

WordPress は自動的に robots.txt を生成してくれている。

WordPress の中身を見てみよう

robots.txt を見てみる前に、WordPress の中身がどうなっているか確認しておこう。

FTP クライアントソフトで接続すると、以下のように複数のディレクトリとファイルが表示される(※ サーバーによって多少異なる)。

FileZillaでWordPressサイトに接続
FiliZilla で接続した画面

各ディレクトリ含まれているファイルは以下のとおりだ。

ディレクトリ名内容
wp-admin管理画面の制御などに必要なファイル
wp-contentテーマファイル・プラグインファイル・アップロードファイル
wp-includesブログ表示に必要なファイル

「wp-admin」の中にあるほぼすべてのファイルは、検索 bot にクロールしてもらわなくてよい。WordPress は、デフォルトで「wp-admin」内のクロールを拒否するようになっている。

なお、手動でバックアップするときやエラー修正するときは、ほぼ「wp-content」を触ることになる。いざというときのために覚えておこう。

WordPress の robots.txt はどこにある?

robots.txt はブラウザで中身を確認できる。URL は「example.com/robots.txt」だ。

ブラウザでrobots.txtにアクセス

しかし、先ほど確認した WordPress のファイル群には robots.txt が見当たらない。ファイルの場所はどこなのだろうか。

FileZillaでWordPressサイトに接続
robots.txt ファイルがどこにもない

実は、WordPress は「robots.txt にアクセスがあった場合に自動生成される」仕組みになっている。ファイルの場所を探しても実体がないので、仮想 robots.txt ということだ。

仮想 robots.txt の内容は、管理画面の設定・プラグインの設定によって自動的に変更される。

手動で作成した robots.txt ファイルをアップロードしてもかまわない。この場合、仮想ファイルは生成されず、アップロードしたファイルが優先される。

以下の条件では仮想 robots.txt が生成されないので注意しよう。

  • パーマリンク設定が「基本」になっている場合
  • サブディレクトリで WordPress を運用している場合

仮想 robots.txt の中身と意味

デフォルトで自動生成される仮想 robots.txt の中身は、以下のようになっている。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/wp-sitemap.xml

それぞれの意味は下表のとおり。

行数指定意味
1User-agentクロール bot の種類を指定する。「*」は、すべての bot を対象とする、という意味だ。
2Disallow許可しない、という意味。「wp-admin」内のクロールを拒否する指定になっている。
3Allow許可する、という意味。「wp-admin 内の admin-ajax.php」のクロールを許可する指定になっている。
4SitemapXML サイトマップの場所を伝えている。

個人ブログであればデフォルトのままでかまわないし、編集したから SEO で優位になることもない。こういう仕組みがあるんだ、と覚えておけばよいだろう。

個人ブログで robots.txt 設定が不要な理由

robots.txt によるクロール制御が必要なのは、何万ページもあるような大規模サイトのみ。数百記事ほどの個人ブログなら、robots.txt がなくても問題なくクロールしてくれる。

ただ、管理ファイルをクロールさせるのはセキュリティの面で好ましくないので、デフォルト設定のように「wp-admin」内のクロール拒否は必要だ。

一昔前は Google の性能が今ほどよくなかったため、JavaScript や CSS をクロールしないよう制御していたブログも多かった。現在の検索エンジンは、人間と同じ見た目でページを理解している。したがって、CSS などのクロールをブロックすると検索順位に悪影響を及ぼす

別々のファイルにある JavaScript や CSS などのリソースが(robots.txt などにより)Googlebot をブロックしている場合、Google のインデクシング システムは、そのサイトを一般ユーザーと同様には認識できません。皆様のコンテンツをインデックス登録できるように JavaScript や CSS の取得を Googlebot に許可することをおすすめします。これは、モバイル向けのウェブサイトでは特に重要です。

ウェブページをより深く理解するようになりました  |  Google 検索セントラル ブログ

「JavaScript や CSS のクロールをブロックする」というようなノウハウは古いものなので、注意してほしい。

Googleがどのように理解しているかを知る方法

Google がページをどのように見ているのか、Search Console の「URL 検査」から確認できる。

「クロール済みのページを表示」をクリックし、「スクリーンショット」-「公開 URL をテスト」をクリック。

Search Console 公開URLをテスト

以下のように表示されれば問題ない。

Search Console テスト済みのページ スクリーンショット

Search Console に登録していない場合は、モバイルフレンドリーテストツール でチェックしておこう。

モバイルフレンドリーテスト

見た目が崩れている場合は、robots.txt の記述が間違っているか、一時的なエラーが考えられる。とくに robots.txt を触った記憶がなければ、一時的に Google がうまく処理できなかっただけなので、とくに気にしなくてよい。

robots.txt 作成・編集方法

robots.txt を作成・編集する方法は 2 つある。

  1. プラグインで仮想 robots.txt を編集する
  2. 実ファイルを作成して FTP でアップロードする

前者のほうが簡単だが、プラグインを増やしたくない場合は FTP を使おう。

プラグインで仮想 robots.txt を編集する場合

WordPress には、仮想 robots.txt 編集のみを目的としたプラグインがいくつかある。

その他、SEO 総合プラグインにも robots.txt 編集機能がある。

操作は簡単だが、プラグインを外すと元に戻ってしまうので注意しよう。

Rank Math SEO robots.txt 編集画面
Rank Math SEO の robots.txt 編集画面

実ファイルを作成して FTP でアップロードする場合

robots.txt を手動で作成してアップロードする場合、「テキストエディタ」と「FTP クライアントソフト」が必要になる。

STEP
テキストエディタで robots.txt を作成

テキストエディタで robots.txt を作成する。ファイル名が間違っていると認識されないので気をつけよう。「s」が抜けているケースが多い。

Notepad++ 使用例

文字コードは WordPress と同じ「UTF-8(BOM なし)」でよい。

WordPressの文字コード(UTF-8)と改行コード(LF)

STEP
FTP で robots.txt をアップロード

FTP でルートに robots.txt をアップロードする。

robots.txt をアップロード

再編集する場合は、FTP で robots.txt をダウンロードして編集し、再度アップロードする形になる。

robots.txt テスターで最終チェックする

上記どちらの方法で編集してもよいが、間違った設定になっていないか Search Console の robots.txt テスター でチェックしておこう。

robots.txt テスター

設定を間違えると、永遠に検索結果に出てこなくなる可能性があるので、十分に注意してほしい。

WordPress の robots.txt 設定例

冒頭で触れたように、個人ブログで robots.txt 設定が必要なのは以下のケースだ。

  • 検索 bot 以外の特定のクローラーをブロックしたい
  • クロールしてほしくないファイルがある

基本形は、WordPress の仮想 robots.txt と同じで問題ない。新たに設定する場合はここに追記していく。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/wp-sitemap.xml

検索 bot 以外の特定のクローラーをブロックしたい

Web サイトをクロールしているのは、Google や Bing などの検索サイトだけではない。

たとえば、Ahrefs や Semrush といった SEO ツールも独自のクローラーを走らせ、各ページの構成・サイトの内部構造・被リンク状況といった情報を収集している。そうしたデータをできるだけ見られたくない場合は、クロールを拒否しておこう。

自分のブログを監査する目的で SEO ツールを利用している場合は、クロール拒否しないほうがよい

設定例は以下のとおり。「AhrefsBot」と「SemrushBot」のクロールを全面拒否する形だ。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

User-agent: AhrefsBot
Disallow: /

User-agent: SemrushBot
Disallow: /

Sitemap: https://example.com/wp-sitemap.xml

特典配布用の PDF などをブロックする場合

メルマガ登録特典など、何らかの条件をもとにダウンロードファイルを提供している場合、そのファイルが検索結果に表示されるのは避けたいはずだ。

たとえば「download」ディレクトリの中に PDF ファイルを入れているなら、そのディレクトリを丸ごと拒否しておくのがよい。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /download/

Sitemap: https://example.com/wp-sitemap.xml

このほか、XML サイトマップからも発見されることがあるので、非公開ファイルの取り扱いには気をつけよう。

すでに検索インデックスに登録されている場合は、robots.txt ではなく .htaccess で noindex を指定する。クロールを拒否すると noindex が伝わらないので要注意。

<FilesMatch "\.pdf$">
Header set X-Robots-Tag "noindex"
</FilesMatch>

設定ミスによるトラブルの実例

SEO 界の権威である辻氏が、robots.txt の設定ミスに関して Twitter で実例を紹介している。

設定を誤るとどのような症状になるのか、どこが間違っているのか参考になるのでチェックしておこう。

さいごに

個人ブログで robots.txt を作成する必要はないが、もし編集するならミスのないよう細心の注意を払ってほしい。設定したからといって、SEO でとくにメリットを享受できるわけではない。

robots.txt はだれでも見られるので、大手サイト・有名サイトのファイルをチェックしてみるのも面白いと思う。たとえば Google はいろいろ制御しているが、Yahoo! Japan はまったく制御していない。

SEO はいろいろ勉強することがあるので、少しずつ習得していこう。

Reinx 記事執筆:Reinx 編集部 瀬尾 真

Web 業界歴 20 年の知見をもとに、初心者でも楽しくブログ運営に取り組んでいただけるよう、WordPress や SEO のノウハウを提供しています。ブログ診断無料サービスもご利用ください。

ブログ運営でお悩みの方へ

ブログ初心者を対象に、無料でブログ診断を行っています。

「アクセス数が伸びない」「検索にインデックスされない」「Google AdSense 審査に通らない」といったお悩みがあればぜひご利用ください。問題の原因を探り、それぞれに合わせた解決策をご提案します。