From 671cf306a4613d65f1540a319e06881d84fc4fa0 Mon Sep 17 00:00:00 2001 From: io Date: Fri, 14 Aug 2026 14:29:18 +0200 Subject: [PATCH 1/4] Implement robots.txt view Add a view to return a plain robots.txt file --- src/utils/views.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/utils/views.py b/src/utils/views.py index f0715bf4..bd943311 100644 --- a/src/utils/views.py +++ b/src/utils/views.py @@ -10,3 +10,11 @@ def csrfview(request: HttpRequest) -> HttpResponse: """This view just returns a csrf token for use in API calls.""" token = get_token(request) return render(request, "csrf.html", {"csrftoken": token}) + + +def robotstxtview(request: HttpRequest) -> HttpResponse: + """This view just returns a plain robots.txt""" + return """ +User-agent: * +Disallow: / + """ From 0fa52f2b26c358fca74b79b0806c64b22453fd77 Mon Sep 17 00:00:00 2001 From: io Date: Fri, 14 Aug 2026 14:31:16 +0200 Subject: [PATCH 2/4] Add robotstxtview to URL patterns --- src/bma/urls.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bma/urls.py b/src/bma/urls.py index 2e0ab4d1..b3198ff5 100644 --- a/src/bma/urls.py +++ b/src/bma/urls.py @@ -12,7 +12,7 @@ from users.views import UserSettingsUpdateView from users.views import UserSettingsView from utils.admin import file_admin -from utils.views import csrfview +from utils.views import csrfview, robotstxtview from .oauth2_urls import oauth2_endpoint_views @@ -21,6 +21,7 @@ path("manage/", file_admin.urls), path("accounts/", include("allauth.urls")), path("api/csrf/", csrfview), + path("robots.txt", robotstxtview), path("o/", include((oauth2_endpoint_views, "oauth2_provider"), namespace="oauth2_provider")), path("", include("frontpage.urls")), path("files/", include("files.urls", namespace="files")), From 89a10445fc99fbd64cfd93c835408e9917d9c0ad Mon Sep 17 00:00:00 2001 From: io Date: Fri, 14 Aug 2026 14:34:12 +0200 Subject: [PATCH 3/4] Fix linto in robotstxtview docstring --- src/utils/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/views.py b/src/utils/views.py index bd943311..841ad6fe 100644 --- a/src/utils/views.py +++ b/src/utils/views.py @@ -13,7 +13,7 @@ def csrfview(request: HttpRequest) -> HttpResponse: def robotstxtview(request: HttpRequest) -> HttpResponse: - """This view just returns a plain robots.txt""" + """This view just returns a plain robots.txt.""" return """ User-agent: * Disallow: / From 0488c78544beecbb7ba996ed07e747e430641b73 Mon Sep 17 00:00:00 2001 From: io Date: Fri, 14 Aug 2026 16:48:26 +0200 Subject: [PATCH 4/4] Refactor imports in urls.py --- src/bma/urls.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bma/urls.py b/src/bma/urls.py index b3198ff5..ebc530d3 100644 --- a/src/bma/urls.py +++ b/src/bma/urls.py @@ -12,7 +12,8 @@ from users.views import UserSettingsUpdateView from users.views import UserSettingsView from utils.admin import file_admin -from utils.views import csrfview, robotstxtview +from utils.views import csrfview +from utils.views import robotstxtview from .oauth2_urls import oauth2_endpoint_views