robots.txtの設定をミスって、ウェブマスターツールに「重要なエラー」って言われてしまいました。てへ。
しかもしばらくどこが原因かわからなかったという(涙)
・ robots.txtってなんぞ?
まず、robots.txtが何か、これを何のために設定するかを知らないと分かりづらいのですが、おおざっぱに書くと、このファイルでサイト内のロボットにアクセスされたくないページを指定することができます。
検索サイトのロボットですね。クローラーともいいます。
robots.txtファイル内に Disallow: のあとにサイト内のディレクトリやファイルを指定しておけば、ロボット避けになります。Allow:で拒否したディレクトリ内部を例外的に許可することもできます。
一部無視するクローラーもあったりとか、他にサイトマップの位置を書いたりもするのですが、細かい書式などはググってくださいってことで、今回割愛(不親切設計)。
・ robots.txtを何のために設定するか?
さて、ではrobots.txtを何のために設定するか?
基本的にロボットに見て欲しいページを指示するためなのですが……
まず、前提として今のGoogleさんは内容の薄いページや同じ内容のページがたくさんあるのを好まない傾向があるのです。しかもダメページがあると、サイト全体の評価が下がります。SEOな話ですね。
また、1回でクロールしてくれる数には限りがあるようで、クローラーがリンクをたどってダメページに行ってしまうと、見て欲しいページに行ってくれる可能性が減ってしまいます。
そんなわけでダメページをロボットサーチ拒否設定にしておくことでSEO的に有利になるというわけです。
まぁ、私の個人サイト程度ではおまじないにもならないくらいの効果だとは思いますが、ある程度アクセスの増えてきたサイトには多少の意味はあるようです。
(この理由以外にも身内用のサイトなどで、スパムコメントが来づらくするようにロボット拒否設定することもあります)
・ で、何やらかした?
そんなわけで、このサイトの話ではないのですが、ドメイン直下とその下/BLOG/ディレクトリの2箇所にWordPressをインストールしたサイトがありまして、そこのサイトのrobots.txt設定でやらかしました。
ドメイン直下のメインサイトではパーマネントリンク設定がデフォルトではないし、固定ページはそれぞれ名前を設定してあるのですが、/BLOG/の方は、パーマネント設定がデフォルトになったままです。
(変えろよって話なんですが、初期からそのままになってまして……いまさら変えるのもという)。
さて、robots.txtをWordPress用に
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Allow: /wp-content/uploads
こんな感じのよくある設定をしました。
また、WordPressはカテゴリーやらタグやら、やたら同じようなページを大量作成してしまう傾向があるので、いっそメイン記事以外の部分をDisallow設定にしました。
ついでにドメイン直下のページ用に
Disallow: /*?*
と書いておきました。パーマネント設定を変えてあるので、WordPressのデフォルトでたくさん出来る「?」の入るページは要らないと判断して。
しかし、しかしですよ、ええと、この書き方だと……
/BLOG/?*
にも適用されるじゃないですか!(よく考えたら当たり前なんですが、しばらく気づかず(涙))
WordPressのデフォルトのページ名はこんな感じですよね。
/BLOG/?p=3939
そんなわけで、パーマネント設定がデフォのままの/BLOG/のブログページがほとんどロボット拒否設定になってしまいましたとさ。
しかし、ウェブマスターツールさんはこんなミスにもツッコミ入れてくれるんですね。
ウェブマスターツールでrobots.txtの記述が正しいかを先にテストすることもできます。あくまで文法的な部分をなので、テストでは今回のようなミスはわからないですが(涙)
結論のようなもの
- ワイルドカード怖い
- robots.txt は、素人が下手にいじると危険!
- まぁサイトが壊れるわけでもないし
- 変なことすると、ウェブマスターツールが教えてはくれるけども