Django : robots.txtの設定をする

今回やること

クローラーにトップページのみを読み込ませ、バックの管理画面などは読み込ませないようにします。
また、Djangoにrobots.txtを設置し、Nginxでrobots.txtのエイリアス設定を行います。
DjagnoとNginxはuWSGIで繋いでいること前提です。

Djagno側の設定

読み込ませたいトップページが含まれるアプリケーション内のtemplatesディレクトリに、staticディレクトリを作成してください。
作成後、staticディレクトリ内にrobots.txtを作成し、以下の設定を書き込みます。

User-agent: *
Allow: /$
Disallow: /*

User-agent: *はすべてクローラーに対して読み込みを許可するという意味です。
この指定でもいい方はいいのですが、すべてのクローラーを許容することは推奨できないため、信頼できるクローラーのみを指定しておきましょう。
とりあえず、`Googlebot’は入れておきたいところです。

クローラーUser-agent一覧
http://www.robotstxt.org/db.html

Allow: /$https://ykonishi.tokyo/は読み込ませ、Disallow: /*https://ykonishi.tokyo/adminなどのスラッシュ以降のURLを読み込ませないという意味です。

Nginx側の設定

robots.txtのlocationを設定します。
locationの設定の仕方は以下のとおりです。

server {

...

    location /robots.txt {
        alias /home/uichi/project/application/templates/static/robots.txt;
    }

...

}

aliasにはさきほど作成したrobots.txtのパスを指定してください。

これでuWSGIを再起動すると設定が反映されるはずです。

参考
https://syncer.jp/how-to-setting-robots-txt