fix: replace {{productName}} template in product page keywords
Some checks are pending
Build and Deploy / build (push) Waiting to run

- Add template replacement logic for product keywords
- Replace {{productName}} with actual product.name
- Keywords now show correct product name instead of template variable
This commit is contained in:
Unchained
2026-03-30 13:07:40 +02:00
parent d9473e3f9e
commit f1c30b7141

View File

@@ -51,6 +51,11 @@ export async function generateMetadata({ params }: ProductPageProps): Promise<Me
const localized = getLocalizedProduct(product, saleorLocale);
const keywords = getPageKeywords(validLocale as Locale, 'product');
// Replace template variables in keywords
const replaceTemplate = (str: string) => str.replace(/\{\{productName\}\}/g, product.name);
const primaryKeywords = keywords.primary.map(replaceTemplate);
const secondaryKeywords = keywords.secondary.map(replaceTemplate);
// Build canonical URL
const localePrefix = validLocale === DEFAULT_LOCALE ? "" : `/${validLocale}`;
const canonicalUrl = `${baseUrl}${localePrefix}/products/${slug}`;
@@ -61,7 +66,7 @@ export async function generateMetadata({ params }: ProductPageProps): Promise<Me
return {
title: localized.name,
description: localized.seoDescription || localized.description?.slice(0, 160),
keywords: [...keywords.primary, ...keywords.secondary].join(', '),
keywords: [...primaryKeywords, ...secondaryKeywords].join(', '),
alternates: {
canonical: canonicalUrl,
},