feat(07-01): wire global schema.org Person + WebSite and sitemap sources
- nuxt.config.ts: register 'nuxt-schema-org' module + sitemap.sources=['/api/__sitemap__/urls']
- app/utils/seo-person.ts: KILLIAN_PERSON_ID + killianPerson (derived from siteConfig, email excluded)
- app/app.vue: useSchemaOrg([definePerson(killianPerson), defineWebSite({name, inLanguage})]) appended (D-12)
- Verified SSR: /fr emits JSON-LD Person @id=#killian + WebSite (curl, pas d'hydratation)
This commit is contained in:
+10
@@ -1,4 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { killianPerson } from '~/utils/seo-person'
|
||||
|
||||
const { locale } = useI18n()
|
||||
const head = useLocaleHead({ seo: true })
|
||||
|
||||
@@ -7,6 +9,14 @@ useHead({
|
||||
link: computed(() => head.value.link || []),
|
||||
meta: computed(() => head.value.meta || []),
|
||||
})
|
||||
|
||||
useSchemaOrg([
|
||||
definePerson(killianPerson),
|
||||
defineWebSite({
|
||||
name: "Killian' Dal-Cin — Hytale Plugin Developer",
|
||||
inLanguage: ['fr-FR', 'en-US'],
|
||||
}),
|
||||
])
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Global Person identity for schema.org (Killian Dal-Cin).
|
||||
* Consumed by: app/app.vue (definePerson global) and app/pages/blog/[slug].vue (author/publisher @id ref).
|
||||
* Derives URLs from siteConfig — single source of truth.
|
||||
*/
|
||||
import { siteConfig } from '~/data/site'
|
||||
|
||||
export const KILLIAN_PERSON_ID = '#killian'
|
||||
|
||||
export const killianPerson = {
|
||||
'@id': KILLIAN_PERSON_ID,
|
||||
name: "Killian' Dal-Cin",
|
||||
url: siteConfig.url,
|
||||
jobTitle: siteConfig.jobTitle,
|
||||
sameAs: siteConfig.social
|
||||
.filter((s) => s.name !== 'Email')
|
||||
.map((s) => s.url),
|
||||
} as const
|
||||
@@ -9,6 +9,7 @@ export default defineNuxtConfig({
|
||||
'@nuxt/eslint',
|
||||
'@nuxtjs/i18n',
|
||||
'@nuxtjs/sitemap',
|
||||
'nuxt-schema-org',
|
||||
'nuxt-gtag',
|
||||
],
|
||||
components: [
|
||||
@@ -31,6 +32,9 @@ export default defineNuxtConfig({
|
||||
url: 'https://killiandalcin.fr',
|
||||
name: "Killian' DAL-CIN - Developpeur Full Stack",
|
||||
},
|
||||
sitemap: {
|
||||
sources: ['/api/__sitemap__/urls'],
|
||||
},
|
||||
i18n: {
|
||||
strategy: 'prefix',
|
||||
defaultLocale: 'fr',
|
||||
|
||||
Reference in New Issue
Block a user