chore: archive v1.1 milestone — SEO Hytale Autorité & Contenu shipped
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
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# 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
|
||||
|
||||
- [x] **BLOG-01**: Intégration `@nuxt/content` — renderer markdown complet (syntax highlighting Shiki, images NuxtImg, tables, callouts/alerts via composants MDC custom) — Phase 5
|
||||
- [x] **BLOG-02**: Page listing `/blog` — liste articles avec titre, description, date, tags, SSR bilingue — Phase 6
|
||||
- [x] **BLOG-03**: Page article `/blog/[slug]` — rendu SSR complet, table des matières (BlogToc + IntersectionObserver), navigation prev/next (BlogPrevNext) — Phase 6
|
||||
- [x] **BLOG-04**: Blocs de code avec syntax highlighting (Shiki single-theme github-dark, langues Kotlin/Java/TypeScript/Shell supportées) — Phase 5
|
||||
- [x] **BLOG-05**: Images dans articles — `<NuxtImg>` via composant ProseImg custom, lazy + webp — Phase 5
|
||||
|
||||
### Blog — Contenu
|
||||
|
||||
- [x] **BLOG-06**: Articles bilingues FR/EN — collections `blog_fr` / `blog_en` dans content.config.ts, slugs identiques pour hreflang pairing — Phase 6
|
||||
- [x] **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
|
||||
|
||||
- [x] **SEO-10**: `useSeoMeta()` par article — title, description, og:title/description/image uniques par slug — Phase 7
|
||||
- [x] **SEO-11**: JSON-LD `Article` par billet — author/publisher @id=#killian, datePublished, dateModified, headline, mainEntityOfPage, inLanguage — Phase 7
|
||||
- [x] **SEO-12**: Sitemap étendu — endpoint Nitro `/api/__sitemap__/urls` source @nuxtjs/sitemap, inclut `/blog/[slug]` FR+EN auto — Phase 7
|
||||
- [x] **SEO-13**: Open Graph image par article — helper `resolveOgImage()` (frontmatter `image:` → fallback `/og-blog-default.jpg`), jamais l'og-image.png générique — Phase 7
|
||||
|
||||
### SEO — Cocon sémantique
|
||||
|
||||
- [x] **SEO-14**: Liens internes — articles blog contiennent 1-2 liens inline vers `/hytale` (ou `/en/hytale`) ; `/hytale` affiche section "Articles récents" filtrée tag=hytale (HytaleRecentArticles.vue) — Phase 8
|
||||
- [x] **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.jpg` 1200×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
|
||||
Reference in New Issue
Block a user