c32e44d0e8
M1.1 complete (phases 5-8, 13 plans): - @nuxt/content v3 + Shiki syntax highlighting - Blog listing + article pages SSR bilingue (TOC + prev/next) - JSON-LD Article/Breadcrumb/CollectionPage + sitemap hreflang x-default - 2 articles seed Hytale FR+EN (API Java réelle) - Cocon sémantique /blog ↔ /hytale
3.4 KiB
3.4 KiB
Requirements: Milestone v1.1 — SEO Hytale — Autorité & Contenu
Archived: 2026-04-22 Status: ✅ All 13 requirements SHIPPED
v1.1 Requirements — SEO Hytale — Autorité & Contenu
Blog — Système
- BLOG-01: Intégration
@nuxt/content— renderer markdown complet (syntax highlighting Shiki, images NuxtImg, tables, callouts/alerts via composants MDC custom) — Phase 5 - BLOG-02: Page listing
/blog— liste articles avec titre, description, date, tags, SSR bilingue — Phase 6 - BLOG-03: Page article
/blog/[slug]— rendu SSR complet, table des matières (BlogToc + IntersectionObserver), navigation prev/next (BlogPrevNext) — Phase 6 - BLOG-04: Blocs de code avec syntax highlighting (Shiki single-theme github-dark, langues Kotlin/Java/TypeScript/Shell supportées) — Phase 5
- BLOG-05: Images dans articles —
<NuxtImg>via composant ProseImg custom, lazy + webp — Phase 5
Blog — Contenu
- BLOG-06: Articles bilingues FR/EN — collections
blog_fr/blog_endans content.config.ts, slugs identiques pour hreflang pairing — Phase 6 - BLOG-07: 2 articles seed Hytale publiés — "How to build your first Hytale plugin" et "Hytale plugin development in 2026" (FR+EN, draft:false, Java API réelle) — Phase 8
SEO — Blog
- SEO-10:
useSeoMeta()par article — title, description, og:title/description/image uniques par slug — Phase 7 - SEO-11: JSON-LD
Articlepar billet — author/publisher @id=#killian, datePublished, dateModified, headline, mainEntityOfPage, inLanguage — Phase 7 - SEO-12: Sitemap étendu — endpoint Nitro
/api/__sitemap__/urlssource @nuxtjs/sitemap, inclut/blog/[slug]FR+EN auto — Phase 7 - SEO-13: Open Graph image par article — helper
resolveOgImage()(frontmatterimage:→ fallback/og-blog-default.jpg), jamais l'og-image.png générique — Phase 7
SEO — Cocon sémantique
- SEO-14: Liens internes — articles blog contiennent 1-2 liens inline vers
/hytale(ou/en/hytale) ;/hytaleaffiche section "Articles récents" filtrée tag=hytale (HytaleRecentArticles.vue) — Phase 8 - SEO-15: JSON-LD
BreadcrumbList— Accueil → Blog → Article sur/blog/[slug]; Accueil → Blog sur/blog— Phase 7
Traceability v1.1
| Requirement | Phase | Outcome |
|---|---|---|
| BLOG-01 | Phase 5 | Validated |
| BLOG-04 | Phase 5 | Validated |
| BLOG-05 | Phase 5 | Validated |
| BLOG-02 | Phase 6 | Validated |
| BLOG-03 | Phase 6 | Validated |
| BLOG-06 | Phase 6 | Validated |
| SEO-10 | Phase 7 | Validated |
| SEO-11 | Phase 7 | Validated |
| SEO-12 | Phase 7 | Validated |
| SEO-13 | Phase 7 | Validated — with deferred: asset /og-blog-default.jpg branded design reste en backlog (placeholder 72 bytes actuel) |
| SEO-15 | Phase 7 | Validated |
| BLOG-07 | Phase 8 | Validated — correction post-shipping Kotlin→Java suite fetch hytalemodding.dev |
| SEO-14 | Phase 8 | Validated |
Deferred from v1.1 (carried to backlog)
- Asset branded
/og-blog-default.jpg1200×630 — design work, placeholder en place - og:image dynamique Satori (SEO-06 original) — coût vs impact non justifié
- Plus de 2 articles seed — backlog éditorial continu, pas une milestone
- Page
/blog/tags/[tag]— utile au SEO long-tail dès qu'on a 10+ articles - RSS feed — si audience organique > 500 sessions/mois