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() +}