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')