Skip to content

Commit bfe2e8e

Browse files
irparentclaude
andcommitted
fix: SEO hygiene — canonical tags, trailing slash, sitemap cleanup
Add explicit canonical URLs to /privacy and /terms for consistency. Set trailingSlash: false to prevent duplicate URL indexing. Use dynamic lastModified for compare pages instead of hardcoded date. Remove /privacy and /terms from sitemap to focus crawl budget. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f0de8ac commit bfe2e8e

File tree

4 files changed

+4
-11
lines changed

4 files changed

+4
-11
lines changed

website/next.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { NextConfig } from "next";
22

33
const nextConfig: NextConfig = {
4+
trailingSlash: false,
45
reactCompiler: true,
56
headers: async () => [
67
{

website/src/app/privacy/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { Footer } from "@/components/footer";
55
export const metadata: Metadata = {
66
title: "Privacy Policy — Iris",
77
description: "How Iris collects, uses, and protects your data.",
8+
alternates: { canonical: "https://iris-eval.com/privacy" },
89
};
910

1011
export default function Privacy(): React.ReactElement {

website/src/app/sitemap.ts

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export default function sitemap(): MetadataRoute.Sitemap {
2222

2323
const compareEntries: MetadataRoute.Sitemap = comparePages.map((slug) => ({
2424
url: `${baseUrl}/compare/${slug}`,
25-
lastModified: new Date("2026-03-17"),
25+
lastModified: new Date(),
2626
changeFrequency: "monthly",
2727
priority: 0.6,
2828
}));
@@ -48,15 +48,5 @@ export default function sitemap(): MetadataRoute.Sitemap {
4848
},
4949
...blogEntries,
5050
...compareEntries,
51-
{
52-
url: `${baseUrl}/privacy`,
53-
changeFrequency: "yearly",
54-
priority: 0.3,
55-
},
56-
{
57-
url: `${baseUrl}/terms`,
58-
changeFrequency: "yearly",
59-
priority: 0.3,
60-
},
6151
];
6252
}

website/src/app/terms/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { Footer } from "@/components/footer";
55
export const metadata: Metadata = {
66
title: "Terms of Use — Iris",
77
description: "Terms and conditions for using Iris and iris-eval.com.",
8+
alternates: { canonical: "https://iris-eval.com/terms" },
89
};
910

1011
export default function Terms(): React.ReactElement {

0 commit comments

Comments
 (0)