fix: replace {{productName}} template in product page keywords
Some checks failed
Build and Deploy / build (push) Has been cancelled
Some checks failed
Build and Deploy / build (push) Has been cancelled
- 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:
@@ -51,6 +51,11 @@ export async function generateMetadata({ params }: ProductPageProps): Promise<Me
|
|||||||
const localized = getLocalizedProduct(product, saleorLocale);
|
const localized = getLocalizedProduct(product, saleorLocale);
|
||||||
const keywords = getPageKeywords(validLocale as Locale, 'product');
|
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
|
// Build canonical URL
|
||||||
const localePrefix = validLocale === DEFAULT_LOCALE ? "" : `/${validLocale}`;
|
const localePrefix = validLocale === DEFAULT_LOCALE ? "" : `/${validLocale}`;
|
||||||
const canonicalUrl = `${baseUrl}${localePrefix}/products/${slug}`;
|
const canonicalUrl = `${baseUrl}${localePrefix}/products/${slug}`;
|
||||||
@@ -61,7 +66,7 @@ export async function generateMetadata({ params }: ProductPageProps): Promise<Me
|
|||||||
return {
|
return {
|
||||||
title: localized.name,
|
title: localized.name,
|
||||||
description: localized.seoDescription || localized.description?.slice(0, 160),
|
description: localized.seoDescription || localized.description?.slice(0, 160),
|
||||||
keywords: [...keywords.primary, ...keywords.secondary].join(', '),
|
keywords: [...primaryKeywords, ...secondaryKeywords].join(', '),
|
||||||
alternates: {
|
alternates: {
|
||||||
canonical: canonicalUrl,
|
canonical: canonicalUrl,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user