パーマリンクをいじる系のプラグインを他に入れていませんか? (プラグインは「XML Sitemap Generator for WordPress」の1つだけですか?)
lilyfanさん、いつもお世話になっております!
お返事遅くなりましてすみません。
プラグインを全てOFFにしても状況が変わりませんでしたので、
新規にWordpress2.5.1をインストールして、プラグインを全てOFFの状態でテストしてみました。(データベースも新規で作りました)
・インストールの最初の画面では、「Google等に通知しない」にCheckしてインストール。
・この時点では、以下のURL
http://www.example.com/wordpress/robots.txt
http://www.example.com/wordpress/robots.txt/
共に “404 Not Found” でrobots.txt⇒robots.txt/へのリダイレクトも未発生。
・プライバシー設定を「誰でも閲覧できるようにする」に変更。
・この時点でも、上記URLで「404&リダイレクション無し」のまま。
・パーマリンク設定を、デフォルト以外に(ex.日付と投稿名)変更。
・この時点から
http://www.example.com/wordpress/robots.txt
↓↓↓
http://www.example.com/wordpress/robots.txt/
へのリダイレクションが発生。ブラウザには以下の内容が表示される。
User-agent: *
Disallow:
・パーマリンク設定は何種類も試しましたが、デフォルトに戻さないと、
上記URLで「404&リダイレクション無し」の状態に戻らない。
ということは、これは、Pluginは全く関係無く、
Wordpressの仕様なのでは?と考えるに到ってしまいました…
これですと、仕様であっても、(万が一バグであったとしても、)
パーマリンク設定をデフォルト以外にした場合には、
適切な robots.txt を、自分で設置しないといけないことになりますよね?
これは皆さんの所では発生していないのでしょうか?
私の所でだけ発生しているなの問題(?)でしょうか…?
ちなみに、lilyfanさんのサイトでは、
パーマリンクをデフォルト以外にされていらっしゃるようですが、手動で robots.txt を設置されていらっしゃるのでしょうか?(リダイレクションが発生していないので)
差し支えのない範囲でお教えいただければ幸いです。
以上、引き続き、皆さまのご教授の程、
どうぞ宜しくお願い申し上げます。
手元で確認してみましたが、確かにリダイレクトがかかってから robots.txt の内容が出ますね。2.7 でも同様でした (2.7.1 は未確認)。
この挙動は、robots.txt の仕様にないので、明示的に違反とも言えないですし、正しいとも言えないです。リダイレクトせずにコンテンツを出力するのが望ましいことは確実ですが。
# ヒマをみつけてチケットを切るか……。
手動で robots.txt を設置されていらっしゃるのでしょうか?
はい、Baidu よけに設置しています。
lilyfanさん
検証までしていただき、本当に有り難うございます。
(私も、2.7でも同様の現象が発生することを確認しました。)
今回の件についてですが、リダイレクトのことを許容したとしても、
プライバシー設定を「このブログを、検索エンジン (Google、Sphere、Technorati など) とアーカイブサイトを含め、誰でも閲覧できるようにする」にしているにもかかわらず、
/robots.txt/の内容が(意図に反して)
User-agent: *
Disallow:
になってしまうことは、かなり大きな問題ではと思っております。
海外のフォーラムですと、おそらくこのために、Googleにインデックスされなかったり、Google Webmaster Toolでサイトマップが読み込まれないという問題があちこちで発生してるようにみうけます。
念のために、インストールの最初の画面で「このブログを Google や Technorat などの検索エンジンに表示されるようにする。」をチェックした状態でインストールした場合にもテストしましたが、同じ現象が確認されました。(2.5.1)
個人的には、手動で robots.txt を設置することで解決しますが、
このことは公式にはどこにも書かれていないですよね?
Google Webmaster Tool等をお使いでない方は、この現象にも気づかずにblogを運営していらっしゃるかと思うと、これが放置される事によって、(真実か否かは別として) Net上で検索サイトに好かれやすいと定評のあるWordpressのブランドにも傷がついてしまわないかと心配です。。。
WordPressのcoreを完全に理解していない私が、当件について騒ぎ立てるのはいかがかと思うので、これ以上のアクションは起こせませんが、せめて、この現象とその対処方法の認知が広まればとは思います。。。
PS
国内のフォーラムで当件を皆さんが話題にされていないのは、「パーマリンク構造のカスタマイズする方は、robots.txtも自分で設置している」からなのでしょうか?それとも、特殊な環境下のみで起こる現象なのでしょうか…?
プライバシー設定を「このブログを、検索エンジン (Google、Sphere、Technorati など) とアーカイブサイトを含め、誰でも閲覧できるようにする」にしているにもかかわらず、
/robots.txt/の内容が(意図に反して)
User-agent: *
Disallow:
になってしまう
これは「どこも禁止していない」ので問題ないです。検索エンジンを禁止にした場合は「Disallow:/」となっています。
なので、現状の動作で問題があるとすればリダイレクトがかかることぐらいではないかと思います。
robots.txt はホスト名直下でないと有効でない (http://example.jp/blog/robots.txt は読まれない) ので、virtual な robots.txt の出力はあくまでおまけで、本来は静的な robots.txt を置いた方がよいと思います。
lilyfanさん
再び、迅速なお返事をどうも有り難うございます。
こちらのrobots.txtに関する知識の欠落、大変失礼致しました。
では、逆に問題は、Google Webmaster Tool側にあって、
http://example.jp/robots.txtからのリダイレクト先の
http://example.jp/robots.txt/の内容
User-agent: *
Disallow:
を
“全面拒否”と解釈して、インデックスもサイトマップ読み込みもしてくれないことにあるわけですね。
上記の状態を自分で経験したので、今回の件を調べ始めたのですが、
Googleに拒否されたので「Disallow:」と「Disallow:/」が同じ意味であると
勘違いしてしまいました。すみません。
そういえば、海外でもGoogle関連の問題しか語られていませんでした…
あと、サンプルURLでは、robots.txtがホスト名直下でない例を挙げてしまった為に、
誤解を生んでしまった件も、お詫び申し上げます。
いずれにせよ、このリダイレクトと、リダイレクト先の(場合によっては勘違いされうるケースもある)出力は、無くなった方が良いとは思いました。
※このリダイレクト機能は、後々robots.txt関連の機能が追加される布石なのでしょうか…?
以上、lilyfanさま、
当件へのお付き合い、本当にどうも有り難うございました。