ご存じの通りrobots.txtはSEO的にも重要なファイル
自分で書いてもよいのだが
WordPressには仮想robots.txtと言う機能があり
WordPressの表示設定で変更した内容が自動で反映する。
またクローラに存在を拾って頂く為にはSitemaps.XMLを適切に記述する必要があり
これを自動でやってくれるGoogle XML Sitemapsプラグインを入れれば
Sitemaps.XMLの場所まで仮想robots.txtに反映される。
これは利用するしかない。
しかし
http://www.tomobrrow.com/robots.txt
や
http://www.tomobrrow.com/blog/robots.txt
をたたいても
404 – ファイルまたはディレクトリが見つかりません。
がでるばかり
困った
このページによると
WordPressのインストールフォルダとパーマリンク設定が密接に関わって
仮想robots.txtの出方が変わるようだ
WordPressをルート直下にインストールした方が幸せになれそうだが
やりたくない。
ここを熟読する
なにやらweb.config ファイルの記述があるが私のルートフォルダとWordPressフォルダにはそんなものはない。
でWordPressとweb.configの関係をググったら
このページに下記が載ってた
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
でルートフォルダにweb.configを作成して上記をコピペしたら
500内部サーバーエラー
うわっ
さっきより悪くなった。
ガセかぁ と思いつつ (ガセではなかったm(__)m)
私を救ってくれたのが
このページ
なに
URL をカスタマイズ
これだ
必要な環境に
「URL Rewrite Module 2」の記述
で、早速MSでDL
URL Rewrite Module 2をインストールしただけであけっなく仮想robots.txtが表示した。
総括:
仮想robots.txt そもそも仮想URLなどというもを実現するためにはWordPress(PHPなどで書かれたスクリプト)だけでは行えないはず
どうしたってIIS側でリダイレクトしなければクライアントからのリクエストをスクリプトに伝える事はできない。
web.config が関わっている事を知ってから、その思いは増したがIISに「URL Rewrite Module 2」と云うモジュールの存在があった事は知らなかった。