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'),
|
title: t('title'),
|
||||||
description: t('description'),
|
description: t('description'),
|
||||||
url: `${BASE_URL}${localePath}`,
|
url: `${BASE_URL}${localePath}`,
|
||||||
|
siteName: 'Damjan Savić',
|
||||||
type: 'profile',
|
type: 'profile',
|
||||||
locale: locale === 'de' ? 'de_DE' : locale === 'sr' ? 'sr_RS' : 'en_US',
|
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')),
|
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,
|
title: titles[locale] || titles.de,
|
||||||
description: descriptions[locale] || descriptions.de,
|
description: descriptions[locale] || descriptions.de,
|
||||||
url: `${BASE_URL}${localePath}`,
|
url: `${BASE_URL}${localePath}`,
|
||||||
|
siteName: 'Damjan Savić',
|
||||||
type: 'website',
|
type: 'website',
|
||||||
locale: locale === 'de' ? 'de_DE' : locale === 'sr' ? 'sr_RS' : 'en_US',
|
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')),
|
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'),
|
title: t('title'),
|
||||||
description: t('description'),
|
description: t('description'),
|
||||||
url: `${BASE_URL}${localePath}`,
|
url: `${BASE_URL}${localePath}`,
|
||||||
|
siteName: 'Damjan Savić',
|
||||||
type: 'website',
|
type: 'website',
|
||||||
locale: locale === 'de' ? 'de_DE' : locale === 'sr' ? 'sr_RS' : 'en_US',
|
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')),
|
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