情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

WordPressの仮想robots.txtの仕組み

robots.txt (3) SEO (6) WordPress (77) テーマ (1) プラグイン (8)

WordPressの最上位ディレクトリにあるrobots.txtにアクセスすると、たしかにrobots.txtの内容が表示されます。しかし、FTPやレンタルサーバの提供するファイルブラウザから該当するディレクトリを見ても、robots.txtが存在しません。今回は、その仕組みである仮想robots.txtについてメモしておきます。

仮想robots.txtとは

WordPressがインストールされているディレクトリをたとえば「/wp/」とすると、「/wp/robots.txt」にアクセスがあった場合、WordPressはfunctions.phpのdo_robots()関数でrobots.txtとして表示する内容を生成しています

つまり、実際にサーバ上にないrobots.txtを、あたかも存在するかのように振る舞うため、そのrobots.txtのことを指して「仮想robots.txt」と呼ぶわけです。

仮想robots.txtの仕組みを使ったrobots.txtの編集

つまり、do_robots()を編集すれば仮想robots.txtの出力を編集することができます。なので、テーマにあるfunctions.phpに

add_action('do_robots', create_function('', 'echo "追記したい内容";'));

(出典:wordpress の仮想robots.txt に対して追記を行う | Codetter(こーどったー)β

を書き込めば、仮想robots.txtの編集が実現できるわけです。

ただ、さすがにこの方法でrobots.txtを編集するのはなかなか面倒です。

仮想robots.txtの仕組みを使ったプラグイン

同様の仕組みで、「XML Sitemap Generator for WordPress 3.2.6」は、robots.txtにサイトマップの情報を追加しています。

追加された行:

Sitemap: http://did2memo.net/sitemap.xml.gz

これは、設定にある

サイトマップの URL を仮想 robots.txt ファイルに追加

WordPress が生成した仮想 robots.txt ファイルを使用しています。実際の robots.txt ファイルをブログディレクトリに置かないでください。

を有効にしているために実行される、仮想robots.txtを利用した仕組みです。

WordPressでのrobots.txtは面倒?

ここまでの内容から、「WordPressではrobots.txtをディレクトリに設置してはいけない」「仮想robots.txtの変更は面倒」と思ってしまうと思います。自分もそうでした。

しかし、これは誤解で、robots.txtを実際に設置した場合は、そちらが優先されるので全然問題ないのです

つまり、「XML Sitemap Generator for WordPress」の説明文が誤解を招いていて、あくまで、「XML Sitemap Generator for WordPressは仮想robots.txtを使ったrobots.txtの編集しかできないため、実際のrobots.txtを設置してしまうと、この設定は無効になってしまいます」という意味なのです。

WordPressでのrobots.txtの編集方法

したがって、WordPressでrobots.txtを編集したい場合は、単純にrobots.txtをホームページのトップディレクトリに設置すればOKということになります。WordPressだからどうというわけではなく、簡単です。

メモ

ちなみに、現時点でこのサイトの仮想robots.txtは次のようになっています。

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/

Sitemap: http://did2memo.net/sitemap.xml.gz

コメント(0)

新しいコメントを投稿