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

一言でいうと、検索エンジン等のクローラの動作を制御するファイルです。

一般的にどのように記載されているか?


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参考に、作れそうに思いました。

気が向いたら作ってみようかと思います。

以上です。

コメント