From 2179d64dcd1066c0eec1114584e774687c905ade Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Sun, 25 Oct 2026 20:04:19 -0700 Subject: [PATCH] chore: fix some Google indexing issues Add the canonical path so it does not complain about dupes. --- public/_redirects | 2 +- src/app/[[...mdxPath]]/page.tsx | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/public/_redirects b/public/_redirects index 2bb5df16..f711bbc3 100644 --- a/public/_redirects +++ b/public/_redirects @@ -1 +1 @@ -/bug /bugs +/bug /bugs/ 301 diff --git a/src/app/[[...mdxPath]]/page.tsx b/src/app/[[...mdxPath]]/page.tsx index 0ed4a6ee..f3986408 100644 --- a/src/app/[[...mdxPath]]/page.tsx +++ b/src/app/[[...mdxPath]]/page.tsx @@ -1,3 +1,4 @@ +import type { Metadata } from 'next'; import type { FC } from 'react'; import { generateStaticParamsFor, importPage } from 'nextra/pages'; import { removeLinks } from 'nextra/remove-links'; @@ -6,10 +7,17 @@ import { useMDXComponents as getMDXComponents } from '../../mdx-components'; export const generateStaticParams = generateStaticParamsFor('mdxPath'); -export async function generateMetadata(props: PageProps) { +export async function generateMetadata(props: PageProps): Promise { const params = await props.params; const { metadata } = await importPage(params.mdxPath); - return metadata; + const path = (params.mdxPath ?? []).map(encodeURIComponent).join('/'); + return { + ...metadata, + alternates: { + ...metadata.alternates, + canonical: path ? `/${path}/` : '/', + }, + }; } type PageProps = Readonly<{