[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-cat-framework-1":3},{"category":4,"slug":5,"listing":6},"Framework","framework",{"articles":7,"total":120,"page":121,"totalPages":121},[8,27,42,55,69,80,94,107],{"_id":9,"slug":10,"__v":11,"author":12,"canonical":13,"category":4,"createdAt":14,"date":15,"description":16,"image":17,"imageAlt":17,"readingTime":18,"tags":19,"title":25,"updatedAt":26},"6a2cf253aa6b273b0c0c9a5f","tanstack-router-ssr-title-pris-du-layout-au-lieu-de-la-leaf-route",0,"Equipe Seogard","https://seogard.io/blog/tanstack-router-ssr-title-pris-du-layout-au-lieu-de-la-leaf-route","2026-06-13T06:01:55.020Z","2026-06-13","Un e-commerce perd 40 % de clics organiques : TanStack Router applique le title du layout parent au lieu de la leaf route. Récit, diagnostic, fix.",null,12,[20,21,22,23,24],"tanstack router","react","ssr","title","meta tags","TanStack Router SSR : le title vient du layout, pas de la page","Sat Jun 13 2026 06:01:55 GMT+0000 (Coordinated Universal Time)",{"_id":28,"slug":29,"__v":11,"author":12,"canonical":30,"category":4,"createdAt":31,"date":32,"description":33,"image":17,"imageAlt":17,"readingTime":34,"tags":35,"title":40,"updatedAt":41},"6a2ba0d0aa6b273b0cf5b507","astro-view-transitions-changement-de-route-ne-re-trigge-pas-le-head-update","https://seogard.io/blog/astro-view-transitions-changement-de-route-ne-re-trigge-pas-le-head-update","2026-06-12T06:01:52.619Z","2026-06-12","Un site Astro perd 40% de clics : les View Transitions ne mettent pas à jour les meta SEO lors des changements de route. Récit, diagnostic et fix.",11,[36,37,38,39],"astro","view transitions","head","spa","Astro View Transitions : meta head figées après navigation","Fri Jun 12 2026 06:01:52 GMT+0000 (Coordinated Universal Time)",{"_id":43,"slug":44,"__v":11,"author":12,"canonical":45,"category":4,"createdAt":46,"date":47,"description":48,"image":17,"imageAlt":17,"readingTime":18,"tags":49,"title":53,"updatedAt":54},"6a2adbecaa6b273b0c53007c","remix-meta-async-non-awaited-metas-vides-en-streaming","https://seogard.io/blog/remix-meta-async-non-awaited-metas-vides-en-streaming","2026-06-11T16:01:48.933Z","2026-06-11","Un site Remix perd 30% de trafic organique. La cause : meta() async non awaited, les balises arrivent après la fermeture du head en streaming.",[50,51,52,22],"remix","meta","streaming","Remix meta() async : metas vides en streaming SSR","Thu Jun 11 2026 16:01:48 GMT+0000 (Coordinated Universal Time)",{"_id":56,"slug":57,"__v":11,"author":12,"canonical":58,"category":4,"createdAt":59,"date":60,"description":61,"image":17,"imageAlt":17,"readingTime":18,"tags":62,"title":67,"updatedAt":68},"6a28fdbcaa6b273b0cc7b544","nuxt-useseometa-le-child-override-silencieusement-les-meta-du-layout-parent","https://seogard.io/blog/nuxt-useseometa-le-child-override-silencieusement-les-meta-du-layout-parent","2026-06-10T06:01:32.891Z","2026-06-10","Un site Nuxt 3 perd ses meta par défaut sur 340 pages. Récit technique du bug useSeoMeta, diagnostic et fix du fallback layout.",[63,64,65,66,51],"nuxt","useSeoMeta","layout","override","Nuxt useSeoMeta : le child override les meta du layout","Wed Jun 10 2026 06:01:32 GMT+0000 (Coordinated Universal Time)",{"_id":70,"slug":71,"__v":11,"author":12,"canonical":72,"category":4,"createdAt":73,"date":60,"description":74,"image":17,"imageAlt":17,"readingTime":18,"tags":75,"title":78,"updatedAt":79},"6a298a64aa6b273b0c3bfcab","sveltekit-layout-ts-title-override-par-page-svelte-vide","https://seogard.io/blog/sveltekit-layout-ts-title-override-par-page-svelte-vide","2026-06-10T16:01:40.148Z","Un +page.svelte sans title écrase le layout parent. Googlebot voit un \u003Ctitle> vide. Récit, diagnostic et fix complet en SvelteKit.",[76,65,23,77],"sveltekit","svelte","SvelteKit : title vide en prod, 0 clic sur 3 semaines","Wed Jun 10 2026 16:01:40 GMT+0000 (Coordinated Universal Time)",{"_id":81,"slug":82,"__v":11,"author":12,"canonical":83,"category":4,"createdAt":84,"date":85,"description":86,"image":17,"imageAlt":17,"readingTime":18,"tags":87,"title":92,"updatedAt":93},"6a27ac47aa6b273b0cb0f6f6","next-js-metadata-async-qui-throw-la-page-sert-le-fallback-default-next-js","https://seogard.io/blog/next-js-metadata-async-qui-throw-la-page-sert-le-fallback-default-next-js","2026-06-09T06:01:43.334Z","2026-06-09","Une promise non gérée dans generateMetadata fait tomber les titles sur 1 200 pages produit. Récit technique, diagnostic et fix complet.",[88,89,90,91],"next.js","metadata","async","error","Next.js metadata async throw : Google indexe \\\"Next.js\\\" en title","Tue Jun 09 2026 06:01:43 GMT+0000 (Coordinated Universal Time)",{"_id":95,"slug":96,"__v":11,"author":12,"canonical":97,"category":4,"createdAt":98,"date":99,"description":100,"image":17,"imageAlt":17,"readingTime":34,"tags":101,"title":105,"updatedAt":106},"6a26e765aa6b273b0c0e5507","astro-content-collections-frontmatter-title-non-passe-apres-refacto","https://seogard.io/blog/astro-content-collections-frontmatter-title-non-passe-apres-refacto","2026-06-08T16:01:41.030Z","2026-06-08","Un upgrade Astro casse le mapping frontmatter → composant. 80 articles perdent leur title. Récit du bug, diagnostic technique et fix complet.",[36,102,103,104],"content collections","frontmatter","refacto","Astro Content Collections : 80 titles vides après refacto","Mon Jun 08 2026 16:01:41 GMT+0000 (Coordinated Universal Time)",{"_id":108,"slug":109,"__v":11,"author":12,"canonical":110,"category":4,"createdAt":111,"date":112,"description":113,"image":17,"imageAlt":17,"readingTime":34,"tags":114,"title":118,"updatedAt":119},"6a2595ecaa6b273b0cf78369","astro-site-config-build-local-le-sitemap-entier-pointe-vers-un-domaine-inexistant","https://seogard.io/blog/astro-site-config-build-local-le-sitemap-entier-pointe-vers-un-domaine-inexistant","2026-06-07T16:01:48.153Z","2026-06-07","Un site Astro envoie un sitemap.xml avec 4 000 URLs build.local à Google. Récit de l'incident, diagnostic technique et fix complet.",[36,115,116,117],"sitemap","site config","build","Astro sitemap pointe vers build.local : 4 000 URLs perdues","Sun Jun 07 2026 16:01:48 GMT+0000 (Coordinated Universal Time)",8,1]