From b50bab71cccc0b4437edad1a957976769486600a Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Wed, 18 Jan 2023 15:22:11 +1100 Subject: [PATCH] fix: skip inserting empty meta tags Fixes #10 --- components/SeoKit.vue | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/components/SeoKit.vue b/components/SeoKit.vue index 8662b7a8..e3cc6996 100644 --- a/components/SeoKit.vue +++ b/components/SeoKit.vue @@ -25,6 +25,35 @@ const route = router.currentRoute const resolveUrl = createInternalLinkResolver() +function computeMeta() { + return [ + { + name: 'description', + content: route.value?.meta?.description || siteMeta.value.siteDescription || undefined, + }, + { + property: 'og:url', + content: resolveUrl(route.value?.path || '/'), + }, + { + property: 'og:locale', + content: siteMeta.value.language, + }, + { + property: 'og:site_name', + content: siteMeta.value.siteName, + }, + { + property: 'og:image', + content: route.value?.meta?.image || siteMeta.value.image || null, + }, + { + property: 'og:type', + content: 'website', + }, + ].filter(meta => !!meta.content) +} + useHead({ htmlAttrs: { lang: () => siteMeta.value.language, @@ -45,6 +74,7 @@ useHead({ href: () => resolveUrl(route.value?.path || '/'), }, ], + meta: computeMeta, }) useServerHead({ @@ -56,19 +86,6 @@ useServerHead({ ], }) -useSeoMeta({ - description: () => { - return route.value?.meta?.description || siteMeta.value.siteDescription || undefined - }, - ogUrl: () => resolveUrl(route.value?.path || '/'), - ogLocale: () => siteMeta.value.language, - ogSiteName: () => siteMeta.value.siteName, - ogImage: () => { - return route.value?.meta?.image || siteMeta.value.image || undefined - }, - ogType: 'website', -}) - defineRobotMeta() useSchemaOrg([