mirror of
https://github.com/pretix/pretix.git
synced 2026-05-07 15:34:02 +00:00
Prevent some pages from search indexing
This commit is contained in:
@@ -40,7 +40,7 @@
|
||||
{% if request.event.settings.locales|length > 1 %}
|
||||
<div class="locales">
|
||||
{% for l in languages %}
|
||||
<a href="{% url "presale:locale.set" %}?locale={{ l.code }}&next={{ request.path }}%3F{{ request.META.QUERY_STRING|urlencode }}" class="{% if l.code == request.LANGUAGE_CODE %}active{% endif %}">
|
||||
<a href="{% url "presale:locale.set" %}?locale={{ l.code }}&next={{ request.path }}%3F{{ request.META.QUERY_STRING|urlencode }}" class="{% if l.code == request.LANGUAGE_CODE %}active{% endif %}" rel="nofollow">
|
||||
{{ l.name_local }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
|
||||
@@ -6,6 +6,7 @@ import pretix.presale.views.event
|
||||
import pretix.presale.views.locale
|
||||
import pretix.presale.views.order
|
||||
import pretix.presale.views.organizer
|
||||
import pretix.presale.views.robots
|
||||
import pretix.presale.views.user
|
||||
import pretix.presale.views.waiting
|
||||
|
||||
@@ -83,4 +84,5 @@ organizer_patterns = [
|
||||
|
||||
locale_patterns = [
|
||||
url(r'^locale/set$', pretix.presale.views.locale.LocaleSet.as_view(), name='locale.set'),
|
||||
url(r'^robots.txt$', pretix.presale.views.robots.robots_txt, name='robots.txt'),
|
||||
]
|
||||
|
||||
@@ -22,6 +22,7 @@ from pretix.multidomain.urlreverse import eventreverse
|
||||
from pretix.presale.views import EventViewMixin
|
||||
from pretix.presale.views.async import AsyncAction
|
||||
from pretix.presale.views.event import item_group_by_category
|
||||
from pretix.presale.views.robots import NoSearchIndexViewMixin
|
||||
|
||||
|
||||
class CartActionMixin:
|
||||
@@ -177,7 +178,7 @@ class CartAdd(EventViewMixin, CartActionMixin, AsyncAction, View):
|
||||
return redirect(self.get_error_url())
|
||||
|
||||
|
||||
class RedeemView(EventViewMixin, TemplateView):
|
||||
class RedeemView(NoSearchIndexViewMixin, EventViewMixin, TemplateView):
|
||||
template_name = "pretixpresale/event/voucher.html"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
|
||||
@@ -5,8 +5,10 @@ from django.http import HttpResponseRedirect
|
||||
from django.utils.http import is_safe_url
|
||||
from django.views.generic import View
|
||||
|
||||
from .robots import NoSearchIndexViewMixin
|
||||
|
||||
class LocaleSet(View):
|
||||
|
||||
class LocaleSet(NoSearchIndexViewMixin, View):
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
url = request.GET.get('next', request.META.get('HTTP_REFERER', '/'))
|
||||
|
||||
@@ -29,9 +29,10 @@ from pretix.presale.forms.checkout import InvoiceAddressForm
|
||||
from pretix.presale.views import CartMixin, EventViewMixin
|
||||
from pretix.presale.views.async import AsyncAction
|
||||
from pretix.presale.views.questions import QuestionsViewMixin
|
||||
from pretix.presale.views.robots import NoSearchIndexViewMixin
|
||||
|
||||
|
||||
class OrderDetailMixin:
|
||||
class OrderDetailMixin(NoSearchIndexViewMixin):
|
||||
@cached_property
|
||||
def order(self):
|
||||
order = self.request.event.orders.filter(code=self.kwargs['order']).select_related('event').first()
|
||||
|
||||
26
src/pretix/presale/views/robots.py
Normal file
26
src/pretix/presale/views/robots.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from django.http import HttpResponse
|
||||
from django.views.decorators.cache import cache_page
|
||||
|
||||
|
||||
class NoSearchIndexViewMixin:
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
resp = super().dispatch(request, *args, **kwargs)
|
||||
resp['X-Robots-Tag'] = "noindex"
|
||||
return resp
|
||||
|
||||
|
||||
@cache_page(3600)
|
||||
def robots_txt(request):
|
||||
return HttpResponse(
|
||||
"""User-agent: *
|
||||
Disallow: */cart/*
|
||||
Disallow: */checkout/*
|
||||
Disallow: */order/*
|
||||
Disallow: */locale/set*
|
||||
Disallow: /control/
|
||||
Disallow: /download/
|
||||
Disallow: /redirect/
|
||||
Disallow: /api/
|
||||
Disallow: /download/
|
||||
""", content_type='text/plain'
|
||||
)
|
||||
Reference in New Issue
Block a user