Comment ajouter un fichier robots.txt pour une App Django ?

Pour ajouter un fichier robots.txt pour un projet Django, plusieurs approches sont possibles. J'ai choisi d'utiliser une vue car il était plus pratique pour moi de gérer plusieurs sous-domaines :

Ajouter une nouvelle URL

Dans le fichier urls.py de votre application, ajoutez la ligne :

url(r'^robots\.txt$', views.robots_txt_view, name='robots_txt_view'),

Ajouter une nouvelle vue

Maintenant, créons une vue :

def robots_txt_view(request):
    content = '''User-Agent: *

Allow: /

Sitemap: https://www.example.com/sitemap.xml
        '''
    return HttpResponse(content, content_type='text/plain')

C'est un exemple minimal.

Remarque : pour vérifier si robots.txt est valide ou non, accédez à goole robots.txt Tester et copiez et collez la valeur de contenu ci-dessus. .

Par exemple

User-Agent: *

Allow: /

Sitemap: https://www.example.com/sitemap.xml

est un fichier robots.txt valide (renvoie 0 erreur).

Pour plus d'informations, consultez Créer un fichier robots.txt ou FAQ Robots.

Ajouter un fichier robots.txt avec des sous-domaines

Voir le tutoriel précédent Comment tester des sous-domaines en local avec django (sur Linux ou Mac) ?.

Modifiez ensuite la vue précédente pour travailler avec des sous-domaines en ajoutant les lignes suivantes :

  def robots_txt_view(request):
      full_url = request.build_absolute_uri()
      dn = full_url.split('/')[2]
      subdomain = dn.split('.')[0]
      content = '''User-Agent: *

  Sitemap: https://{}.example.com/sitemap.xml
          '''.format(subdomain)
      return HttpResponse(content, content_type='text/plain')