WordPress が検索エンジンのクローラーを必ず受け入れるようにするプラグイン Welcome Crawlers を公開しました

WordPress の「設定」>「表示設定」には
「検索エンジンでの表示」という項目があって、

「検索エンジンがサイトをインデックスしないようにする」
というラベルのついたチェックボックスをオンにすると
検索エンジンのクローラーを拒否するようになります。

具体的には、サイトの HTML にこれが追加されるので

<meta name='robots' content='noindex,follow' />

クローラーボットがインデックスをしなくなる。

うっかりしてると悲劇が起きる

検索結果に出したくないサイトで意図的にこの機能を使うならいいんだけど、
他の項目を設定しようとしてうっかりチェックを入れてしまい
そのまま「変更を保存」してしまうと大変なことになりますね。

うっかりやったんだからもちろん記憶に残らない。
この設定項目は頻繁に開くところじゃないから
Google から無視され続けてることに気づかないまま
長い時間が経ってから「どうもおかしいな」となることもあるかもしれません。

あるかもしれませんっていうか、
先日そうなっているサイトを実際に見ました。

これはおそろしい。

プラグインを作ったよ

悲惨な事故を未然に防ぐため、
この「検索エンジンがサイトをインデックスしないようにする」に
チェックを入れることができなくなるようにするプラグインを作りました。

まだ公式リポジトリには申請してないのでとりあえず GitHub で。

これを wp-content/plugins/ にインストールして有効にすると

  • 「表示設定」ページの「検索エンジンでの表示」欄を表示しない
  • 何かの間違いで非表示の「検索エンジンがサイトをインデックスしないようにする」にチェックが入っても、強制的に外す

という力業を発揮します。

このプラグインがやっていること

要するに、項目を非表示にするための CSS と
チェックボックスを強制的に外すための JavaScript を追加するだけ。

.option-site-visibility {
    display: none;
}
jQuery(document).ready(function() {
    jQuery('#blog_public').on('change', function() {
        jQuery(this).prop('checked', false);
    });
});

WordPress に具体的な機能を追加するんじゃなくて、
手違いで起きる事故を未然に防ぐためのものです。

本当はここから投稿されたフォームのデータもチェックして
そこでもブロックするとより確実なんだけど、
意図的にやらないかぎりそんなことは起きないはずなので
まあこれでいいんじゃないかな。

なお、これを入れたからといって Googlebot の挙動が変わるわけではありませんから
「入れたのに検索から人が来ん!」とかそういう苦情はお控えください。

追記

チェックを入れられないようにするんじゃなくて、
チェックが入ってたら注意してくれるプラグインがありました。

これもよさそうですね。
消し去るとか禁止するとかじゃなくてアラートを出すというのが穏やかで素敵です。

  • このエントリーをはてなブックマークに追加