Skip to content

Commit 561c988

Browse files
committed
feat: add canonical URLs
1 parent 35af9de commit 561c988

File tree

7 files changed

+12
-2
lines changed

7 files changed

+12
-2
lines changed

components/Header.tsx

+6
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ import { Head } from "$fresh/runtime.ts";
22

33
export default function Header({
44
title = "tswhy‽",
5+
canonical,
56
description = "A community effort to enrich TypeScript diagnostics.",
67
keywords = ["typescript", "diagnostics"],
78
ogImage,
89
}: {
910
title?: string;
11+
canonical?: string;
1012
description?: string;
1113
keywords?: string[];
1214
ogImage?: URL;
@@ -50,6 +52,10 @@ export default function Header({
5052
<meta property="og:locale" content="en_AU" />
5153

5254
<meta name="keywords" content={keywords.join(", ")} />
55+
56+
{canonical && (
57+
<link rel="canonical" href={`https://tswhy.com${canonical}`} />
58+
)}
5359
</Head>
5460
<a href="/">
5561
<img

routes/contributing.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export default async function Contributing() {
2020
<div class="p-4 mx-auto max-w-screen-xl">
2121
<Header
2222
title="tswhy? - Contributing"
23+
canonical="/contributing"
2324
description="Information on integrating to tswhy‽"
2425
/>
2526
<article class="rounded-lg bg-gray-100 dark:bg-gray-800 my-4 p-8">

routes/edit/ts[code].tsx

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export default async function EditPage(
1818
<div class="p-4 mx-auto max-w-screen-xl">
1919
<Header
2020
title={`Edit ${diagnosticData.codeText}`}
21+
canonical={`/edit/ts${code}`}
2122
/>
2223
<main>
2324
<Editor diagnosticData={diagnosticData} />

routes/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default function Home() {
1313
return (
1414
<>
1515
<div class="p-4 mx-auto max-w-screen-xl">
16-
<Header />
16+
<Header canonical="/" />
1717
<main>
1818
<div class="m-4 space-y-2">
1919
<p>

routes/integrating.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export default async function Contributing() {
2020
<div class="p-4 mx-auto max-w-screen-xl">
2121
<Header
2222
title="tswhy? - Contributing"
23+
canonical="/integrating"
2324
description="Information on contributing changes to tswhy‽"
2425
/>
2526
<article class="rounded-lg bg-gray(100 dark:800) my-4 p-8">

routes/propose.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export default function Proposal(
7575
return (
7676
<>
7777
<div class="p-4 mx-auto max-w-screen-xl">
78-
<Header />
78+
<Header canonical="/propose" />
7979
<main>
8080
<div class="rounded-lg bg-gray-100 dark:bg-gray-800 my-4 p-4">
8181
<h2 class="text-2xl font-header">Proposed</h2>

routes/ts[code].tsx

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export default function DiagnosticPage(
3030
title={`${diagnosticData.codeText}: ${
3131
interpolate(diagnosticData.title, params)
3232
}`}
33+
canonical={`/ts${diagnosticData.code}`}
3334
description={diagnosticData.documentation ??
3435
interpolate(diagnosticData.title, params)}
3536
ogImage={toOgImageUrl(diagnosticData, params)}

0 commit comments

Comments
 (0)