From cfb57b0306d544d1abd1190e44dda5bf206d93ed Mon Sep 17 00:00:00 2001 From: Paul Schilling Date: Fri, 14 Feb 2025 12:57:12 +0100 Subject: [PATCH] [#3045] Add option to enable/disable indexing by search engines --- src/open_inwoner/configurations/admin.py | 1 + .../0076_siteconfiguration_enable_indexing.py | 22 +++++++++++++++++++ src/open_inwoner/configurations/models.py | 5 +++++ src/open_inwoner/templates/master.html | 5 +++-- src/open_inwoner/utils/context_processors.py | 1 + 5 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 src/open_inwoner/configurations/migrations/0076_siteconfiguration_enable_indexing.py diff --git a/src/open_inwoner/configurations/admin.py b/src/open_inwoner/configurations/admin.py index 1e8892fb74..f817e3111d 100644 --- a/src/open_inwoner/configurations/admin.py +++ b/src/open_inwoner/configurations/admin.py @@ -129,6 +129,7 @@ class SiteConfigurationAdmin(OrderedInlineModelAdminMixin, SingletonModelAdmin): { "fields": ( "name", + "enable_indexing", "login_show", "login_allow_registration", "enable_eherkenning_for_eenmanszaak", diff --git a/src/open_inwoner/configurations/migrations/0076_siteconfiguration_enable_indexing.py b/src/open_inwoner/configurations/migrations/0076_siteconfiguration_enable_indexing.py new file mode 100644 index 0000000000..33c79e6af2 --- /dev/null +++ b/src/open_inwoner/configurations/migrations/0076_siteconfiguration_enable_indexing.py @@ -0,0 +1,22 @@ +# Generated by Django 4.2.16 on 2025-02-14 11:49 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("configurations", "0075_siteconfiguration_enable_eherkenning_for_eenmanszaak"), + ] + + operations = [ + migrations.AddField( + model_name="siteconfiguration", + name="enable_indexing", + field=models.BooleanField( + default=True, + help_text="When enabled, search engines can index the site", + verbose_name="Enable indexing by search engines", + ), + ), + ] diff --git a/src/open_inwoner/configurations/models.py b/src/open_inwoner/configurations/models.py index aa284b819a..a0ac80692a 100644 --- a/src/open_inwoner/configurations/models.py +++ b/src/open_inwoner/configurations/models.py @@ -613,6 +613,11 @@ class SiteConfiguration(SingletonModel): "Display contact form on the questions list page so that users can create new questions" ), ) + enable_indexing = models.BooleanField( + verbose_name=_("Enable indexing by search engines"), + default=True, + help_text=_("When enabled, search engines can index the site"), + ) class Meta: verbose_name = _("Site Configuration") diff --git a/src/open_inwoner/templates/master.html b/src/open_inwoner/templates/master.html index 42ba4256d0..f110016d45 100644 --- a/src/open_inwoner/templates/master.html +++ b/src/open_inwoner/templates/master.html @@ -2,6 +2,7 @@ + {% block title %}{% if page_title %}{{ page_title }} - {% endif %}{{ site_name }}{% endblock %} @@ -63,7 +64,7 @@ - + {% if cookiebanner_enabled %} {# render cookiebanner first #} {% endif %} - + {% include "components/Header/AccessibilitySkipLink.html" %} {% if warning_banner_enabled %} diff --git a/src/open_inwoner/utils/context_processors.py b/src/open_inwoner/utils/context_processors.py index b73296bc04..6c8c6c6ef2 100644 --- a/src/open_inwoner/utils/context_processors.py +++ b/src/open_inwoner/utils/context_processors.py @@ -18,6 +18,7 @@ def settings(request): context = { "site_name": config.name, + "enable_indexing": config.enable_indexing, "theming": { "primary": config.get_primary_color, "secondary": config.get_secondary_color,