WordPress

WordPress の robots.txt に関する処理はどうなっているのか?

投稿日:2016年7月5日 更新日:

WordPressでの robots.txt に関する処理を調べてみました。

少しネットで調べてみると「robots.txt を自分で作成してルートディレクトリに置いておけば、それが使われるし、なければ WordPress が動的に生成して返してくれる」という情報が得られるわけですが、実際どういう挙動になっているのか分からないと不安だという私のような人のために調査した結果を書いておきます。

1. 今回調べた環境

  • WordPress 4.5.3–ja
  • Apache

2. 処理の流れ

  1. ブラウザから robots.txt へのリクエストがやってくる。

  2. robots.txt があればそれにアクセスさせて終わり。なければ、index.php にアクセスさせる。

    • 処理が書いてあるファイル: .htaccess (mod_rewriteを利用している)
  3. robots.txt へのアクセスであれば、クエリ変数 “robots” をセットする(値は1)。
  4. robots.txt へのアクセスである場合、do_action( 'do_robots' ) を実行する。
    • robots.txt へのアクセスであるかどうかの判定に、クエリ変数 “robots” が使用される。
    • 処理が書いてあるファイル : wp-includes/template-loader.php
  5. do_robots()関数が実行される
    • バーチャルな robots.txt の内容をブラウザへ出力する。
    • 管理サイトの[設定] – [表示設定] で、「サイトをクローラに公開する」にチェックを入れていない場合は、おおそよ以下の内容を生成して出力する。(全てのクローラに対して、全てのページを公開しない)
    User-agent: *
    Disallow: /
    
    • チェックが入っている場合(パスは設定によって変わります)(/wp-admin/ は公開しないが、/wp-admin/admin-ajax.php は公開する)
    User-agent: *
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php
    

3. あとがき

他のCMSはよく知らないんですが、シンプルでよい仕組みだと思います。

📂-WordPress
-

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

WordPress

WordPress の機能を使って独自のPHPファイルにヘッダーとフッターを追加するサンプルページを作成しました

WordPress の持つ get_header(), get_footer() 関数を利用して、独自のPHPファイルにヘッダとフッターを表示するサンプルページを作成しました。 サンプルページのURL …

WordPress

【WordPress】Failed to load plugin url: /wp-content/plugins/post-snippets/tinymce/langs/ja.js というエラーが表示されました

WordPressで、Failed to load plugin url: /wp-content/plugins/post-snippets/tinymce/langs/ja.js というエラーが発生しました。

WordPress の投稿記事に画像を貼る手順と sizes 属性値の変更

目次1. はじめに2. 事前の追加設定3. 投稿記事を作成する時に、画像を挿入する手順[メディアを追加] ボタンから画像を挿入4. 参考 1. はじめに この Webサイトは WordPress で作 …

WordPress

WordPress:本文に<p>や<br>が自動で追加されないようにする方法(wpautop を無効にする)

目次1. WordPress の wpautop 関数2. WordPress は投稿や固定ページの本文に対して wpautop 関数を実行します3. 本文に対する wpautop 関数を無効にする方 …

WordPress

【WordPress】img タグに自動的に追加される属性について

WordPressの投稿ページに画像を貼った場合、その img タグに自動的に追加される属性について説明します。