Spam や、ゴーストリファラの除外の各種設定ファイルが存在する mitchellkrogza/apache-ultimate-bad-bot-blocker: Apache Block Bad Bots, Spam Referrer Blocker, Vulnerability Scanners, Malware, Adware, Ransomware, Malicious Sites, Wordpress Theme Detectors and Fail2Ban Jail for Repeat Offenders には、robots.txt のテンプレートも存在します。
このテンプレートファイルと、手で作成した robots.txt をマージしてみました。
実施したことを記載します。
Robots.txt について
Robots.txt とは何か?
以下、Google Developers の Robots.txt のドキュメントが参考になりました。
* Robots.txt の仕様 | 検索 | Google Developers
* Robots メタタグと X-Robots-Tag HTTP ヘッダーの仕様 | 検索 | Google Developers
一言でいうと、検索エンジン等のクローラの動作を制御するファイルです。
一般的にどのように記載されているか?
-
大手サイトのrobots.txtでわかる「検索でヒットされたくないページ」の特徴 | 齊藤貴義の唯物論
バッドノウハウかもしれませんが、参考になりました。 -
イケてるパイソンエンジニアを無料で集める方法(神田敏晶) - 個人 - Yahoo!ニュース
robots.txt でリクルーティングをするサイトを紹介しています。 -
Fun with robots.txt - Search Engine Land
NIKE の サイトの robots.txt には、ロゴのアスキーアートが記載されています。 -
The Ultimate Robots.txt Guide to Improve Crawl Efficiency
robots.txt の記載例が参考になります。
ultimate-bad-blocker の robots.txt の内容について
以下のような記述が、ひたすら記載されています。
対象のユーザーエージェント のクローリングを、domain配下で全て除外する設定になります。
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
User-agent: 173.212soso
Disallow:/
User-agent: 192.comagent
Disallow:/
User-agent: 1noonbot
Disallow:/
User-agent: 1on1searchbot
Disallow:/
User-agent: 360Spider
wordpress の admin 画面を除外する記述は全てを除外する設定になっています。
robots.txt の記述をたよりに、wordpress 管理画面を見つけようとするボットもいる、robots.txt の内容が効かないボットもいるかと思いますので、管理画面に noindex を付与する、会社内でのアクセスのみ許容する といった制御は別途必要かと思います。
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
また、それなりに行数があるのでボット、クローラがファイルを参照する際にボット側の負荷が上がる可能性があります。
前提 このブログでの、robots.txt の生成方法
django-robots を使用しています。過去に関連する記事を記載していますので、よろしければご確認ください。
robots.txt の取得、マージ
既存の robots.txt に、取得した robots.txt ファイルをマージします。
-
オリジナル robots.txt
robots.txt のファイルの内容は以下の通りです。
# sitemap.xml Sitemap: https://mutter.monotalk.xyz/sitemap.xml
-
オリジナル robots.txt を 書き込む
cat /var/www/templates/robots.txt.org > robots.txt
-
ファイルを取得して、追記する
wget -O robots.txt.bot_block https://raw.githubusercontent.com/mitchellkrogza/apache-ultimate-bad-bot-blocker/master/robots.txt/robots.txt cat robots.txt.bot_block >> robots.txt
-
作成した robots.txt
以下のようになりました。
# sitemap.xml Sitemap: https://mutter.monotalk.xyz/sitemap.xml ################################################################### # The Ultimate robots.txt Bot and User-Agent Blocker # Copyright: # https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker ################################################################### ### Version Information # ################################################### ### Version: V3.2018.08.1015 ### Updated: Wed Aug 22 09:50:24 SAST 2018 ### Bad Bot Count: 1772 ################################################### ### Version Information ## User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php User-agent: 173.212soso Disallow:/ User-agent: 192.comagent
Sitemap:
の記述が一番上でこの後、読み込みが打ち切られないか気になりますが、これで様子をみようかと思います。
スケジュール実行
apache-ultimate-bad-bot-blocker/update-apacheblocker.sh at master · mitchellkrogza/apache-ultimate-bad-bot-blocker を参考に、作れそうに思いました。
気が向いたら作ってみようかと思います。
以上です。
コメント