【发布时间】:2017-07-20 17:37:56
【问题描述】:
我可以使用 robots.txt,也可以使用自定义 Django 中间件,但我想知道这是否可以在视图级别完成。
【问题讨论】:
-
为重定向响应添加
noindex意义不大。搜索引擎不索引重定向。在重定向上使用noindex是多余的。
标签: redirect django-views views noindex
我可以使用 robots.txt,也可以使用自定义 Django 中间件,但我想知道这是否可以在视图级别完成。
【问题讨论】:
noindex 意义不大。搜索引擎不索引重定向。在重定向上使用 noindex 是多余的。
标签: redirect django-views views noindex
您可以使用以下 sn-p 添加 noindex 标记:
from django.http import HttpResponse
response = HttpResponse("Text only, please.", content_type="text/plain")
response['X-Robots-Tag'] = 'noindex'
return response
【讨论】:
因为你可能会经常这样做,你可以把它变成一个装饰器。
装饰器.py
def robots(content="noindex, nofollow"):
def _method_wrapper(func):
@wraps(func)
def wrap(request, *args, **kwargs):
response = func(request, *args, **kwargs)
response['X-Robots-Tag'] = content
return response
return wrap
return _method_wrapper
views.py
from .decorators import robots
@robots("noindex")
def something(request):
return HttpResponse("")
@robots("all")
def something_else(request):
return HttpResponse("")
【讨论】: