diff --git a/apps/site/app/[locale]/blog/[...path]/page.tsx b/apps/site/app/[locale]/blog/[...path]/page.tsx index 2e3546994465f..982a2b6eecfb8 100644 --- a/apps/site/app/[locale]/blog/[...path]/page.tsx +++ b/apps/site/app/[locale]/blog/[...path]/page.tsx @@ -15,7 +15,8 @@ export const generateViewport = basePage.generateViewport; // This generates each page's HTML Metadata // @see https://nextjs.org/docs/app/api-reference/functions/generate-metadata -export const generateMetadata = basePage.generateMetadata; +export const generateMetadata = ({ params }: PageParams) => + basePage.generateMetadata({ params, prefix: 'blog' }); // Generates all possible static paths based on the locales and environment configuration // - Returns an empty array if static export is disabled (`ENABLE_STATIC_EXPORT` is false) diff --git a/apps/site/next.dynamic.page.mjs b/apps/site/next.dynamic.page.mjs index 3a35f371bc720..06150d6b8baa9 100644 --- a/apps/site/next.dynamic.page.mjs +++ b/apps/site/next.dynamic.page.mjs @@ -1,3 +1,5 @@ +import { join } from 'node:path'; + import { notFound, redirect } from 'next/navigation'; import { setRequestLocale } from 'next-intl/server'; @@ -23,15 +25,19 @@ export const generateViewport = () => ({ ...PAGE_VIEWPORT }); * * @see https://nextjs.org/docs/app/api-reference/functions/generate-metadata * - * @param {{ params: Promise<{ path: Array; locale: string }> }} props + * @param {{ params: Promise<{ path: Array; locale: string }>, prefix?: string }} props * @returns {Promise} the metadata for the page */ -export const generateMetadata = async props => { - const { path = [], locale = defaultLocale.code } = await props.params; +export const generateMetadata = async ({ params, prefix }) => { + const { path = [], locale = defaultLocale.code } = await params; const pathname = dynamicRouter.getPathname(path); - return dynamicRouter.getPageMetadata(locale, pathname); + return dynamicRouter.getPageMetadata( + locale, + // If there's a prefix, `join` it with the pathname + prefix ? join(prefix, pathname) : pathname + ); }; /**