From 879bdafb60c93638a64b69d5c24e95fc265ae9b8 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Tue, 4 Mar 2025 12:16:16 +0100 Subject: [PATCH] Added canonical URLs --- main.go | 1 + server/middleware/Canonical.go | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 server/middleware/Canonical.go diff --git a/main.go b/main.go index d7351cc..a4d2f30 100644 --- a/main.go +++ b/main.go @@ -19,6 +19,7 @@ func main() { server.Use(middleware.Recover) server.Use(middleware.RedirectTrailingSlashes) server.Use(middleware.HSTS) + server.Use(middleware.Canonical) server.Get("/", pages.Frontpage) server.Get("/blog", pages.Blog) server.Get("/:post", pages.Post) diff --git a/server/middleware/Canonical.go b/server/middleware/Canonical.go new file mode 100644 index 0000000..01e047c --- /dev/null +++ b/server/middleware/Canonical.go @@ -0,0 +1,12 @@ +package middleware + +import ( + "fmt" + + "git.urbach.dev/go/web" +) + +func Canonical(ctx web.Context) error { + ctx.Response().SetHeader("Link", fmt.Sprintf(`; rel="canonical"`, ctx.Request().Path())) + return ctx.Next() +}