- Published on
Djangoでrobots.txtの設定をする
- Authors

- Name
- nisyuu (にしゅう)
- @nishilyuu
今回やること
クローラーにトップページのみを読み込ませ、バックの管理画面などは読み込ませないようにします。 また、Djangoにrobots.txtを設置し、Nginxでrobots.txtのエイリアス設定を行います。 DjagnoとNginxはuWSGIで繋いでいること前提です。
Django側の設定
読み込ませたいトップページが含まれるアプリケーション内の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を再起動すると設定が反映されるはずです。