diff --git a/.env.example b/.env.example index 868d22c..c6cbd22 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,6 @@ # Public URL, used for OG Image when running nuxt generate NUXT_PUBLIC_SITE_URL=https://fmeyer.dev + +# Google Search Console verification token (from the meta-tag method). +# Leave empty to omit the meta tag entirely. +NUXT_PUBLIC_GOOGLE_SITE_VERIFICATION= diff --git a/app/app.vue b/app/app.vue index 774a3f4..8c5a48a 100644 --- a/app/app.vue +++ b/app/app.vue @@ -8,12 +8,24 @@ const canonicalUrl = computed(() => { return new URL(route.path || '/', runtimeConfig.public.siteUrl).toString() }) +const verificationMeta = computed(() => { + const token = runtimeConfig.public.googleSiteVerification + return token ? [{ name: 'google-site-verification', content: token }] : [] +}) + useHead({ meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { key: 'theme-color', name: 'theme-color', content: color }, - ...(runtimeConfig.public.noindex ? [{ name: 'robots', content: 'noindex, nofollow' }] : []) + { name: 'author', content: 'Fabian Meyer' }, + { + name: 'robots', + content: runtimeConfig.public.noindex + ? 'noindex, nofollow' + : 'index, follow, max-image-preview:large' + }, + ...verificationMeta.value ], link: [ { rel: 'icon', href: '/favicon.ico' }, @@ -27,15 +39,46 @@ useHead({ useSeoMeta({ titleTemplate: '%s - fmeyer.dev', ogSiteName: 'fmeyer.dev', + ogType: 'website', + ogLocale: 'en_US', ogUrl: canonicalUrl, - twitterCard: 'summary' + twitterCard: 'summary_large_image' }) + +useSchemaOrg([ + defineWebSite({ + name: 'fmeyer.dev', + description: 'Personal site of Fabian Meyer — Leader, software engineer and AI mentor at eventim Tech.', + inLanguage: 'en' + }), + defineWebPage(), + definePerson({ + name: 'Fabian Meyer', + image: '/profile/fabian-meyer-portrait.jpg', + jobTitle: 'Chapter Lead Vue, Software Engineer, AI Mentor', + worksFor: { name: 'eventim Tech GmbH' }, + sameAs: [ + 'https://github.com/dinooo13', + 'https://linkedin.com/in/fabian-meyer-02038813a' + ] + }) +])