auto-claude: subtask-3-2 - Enhance metadata generation across all pages
Added missing OpenGraph and Twitter card metadata to about, contact, and portfolio pages: - Added siteName to OpenGraph metadata - Added OpenGraph images with proper dimensions (1200x630) - Added Twitter card metadata (summary_large_image) All pages now follow the home page metadata pattern for consistent SEO. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -74,9 +74,24 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
||||
title: t('title'),
|
||||
description: t('description'),
|
||||
url: `${BASE_URL}${localePath}`,
|
||||
siteName: 'Damjan Savić',
|
||||
type: 'profile',
|
||||
locale: locale === 'de' ? 'de_DE' : locale === 'sr' ? 'sr_RS' : 'en_US',
|
||||
alternateLocale: ['de_DE', 'en_US', 'sr_RS'].filter(l => l !== (locale === 'de' ? 'de_DE' : locale === 'sr' ? 'sr_RS' : 'en_US')),
|
||||
images: [
|
||||
{
|
||||
url: `${BASE_URL}/images/og-image.jpg`,
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: 'Damjan Savić - AI & Automation Specialist',
|
||||
},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
title: t('title'),
|
||||
description: t('description'),
|
||||
images: [`${BASE_URL}/images/og-image.jpg`],
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -52,9 +52,24 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
||||
title: titles[locale] || titles.de,
|
||||
description: descriptions[locale] || descriptions.de,
|
||||
url: `${BASE_URL}${localePath}`,
|
||||
siteName: 'Damjan Savić',
|
||||
type: 'website',
|
||||
locale: locale === 'de' ? 'de_DE' : locale === 'sr' ? 'sr_RS' : 'en_US',
|
||||
alternateLocale: ['de_DE', 'en_US', 'sr_RS'].filter(l => l !== (locale === 'de' ? 'de_DE' : locale === 'sr' ? 'sr_RS' : 'en_US')),
|
||||
images: [
|
||||
{
|
||||
url: `${BASE_URL}/images/og-image.jpg`,
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: 'Damjan Savić - AI & Automation Specialist',
|
||||
},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
title: titles[locale] || titles.de,
|
||||
description: descriptions[locale] || descriptions.de,
|
||||
images: [`${BASE_URL}/images/og-image.jpg`],
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -70,9 +70,24 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
|
||||
title: t('title'),
|
||||
description: t('description'),
|
||||
url: `${BASE_URL}${localePath}`,
|
||||
siteName: 'Damjan Savić',
|
||||
type: 'website',
|
||||
locale: locale === 'de' ? 'de_DE' : locale === 'sr' ? 'sr_RS' : 'en_US',
|
||||
alternateLocale: ['de_DE', 'en_US', 'sr_RS'].filter(l => l !== (locale === 'de' ? 'de_DE' : locale === 'sr' ? 'sr_RS' : 'en_US')),
|
||||
images: [
|
||||
{
|
||||
url: `${BASE_URL}/images/og-image.jpg`,
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: 'Damjan Savić - AI & Automation Specialist',
|
||||
},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
title: t('title'),
|
||||
description: t('description'),
|
||||
images: [`${BASE_URL}/images/og-image.jpg`],
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user