Case Study: Portfolio v2 Rebuild — From Deleted v1 to AEO-Optimized Astro Site

2026-09-14
--
--

Result (Summary)#

Rebuilt a deleted portfolio into a production Astro 5 site with AEO schema in 2 days — 15 pages built, 100% Lighthouse accessibility, and AI-citable structured data live.

The Problem#

Portfolio v1 (Astro + Product Studio) was deleted 2026-09-08. No backup content. Needed a fast rebuild that would:

  • Rank on Google for “Chinnakrit portfolio”
  • Be citeable by AI answer engines (ChatGPT, Perplexity)
  • Support EN/TH bilingual routing

What I Built#

Stack: Astro 5 + Tailwind 3 + Svelte 5 islands + swup + pagefind Fork base: saicaca/fuwari → Besty0728/fuwari (customized, removed 12 dead components) Deploy: Vercel (auto-deploy on push to main) Domain: www.chinnakrit.dev

AEO Implementation#

TechniqueImplementation
Organization + Person SchemaJSON-LD in Layout.astro — sameAs links to GitHub
FAQPage Schema5 Q&A pairs on About page (EN + TH)
llms.txtpublic/llms.txt + llms-full.txt for AI crawlers
Content structureInverted pyramid — answer first, detail after
i18nEN at /, TH at /th/ with hreflang tags

Measured Results#

  • Build time: 3.5s, 15 pages generated
  • AI discoverable: ChatGPT already indexes chinnakrit.dev (confirmed via search)
  • Schema validated: JSON-LD passes Google Rich Results Test structure
  • Zero external dependencies (no GA, no ads, no tracking)

Key Decisions#

  1. ** chose Astro over Next.js** for static portfolio — faster build, simpler deploy
  2. Removed all dead components from Fuwari fork (GA, AdSense, Giscus, cookie banner) — cleaner codebase
  3. AEO-first content writing — every page answers one question in first 40 words
  4. Bilingual from start — not an afterthought; i18n wired into layout + content collections

Challenges#

  • v1 content lost — had to rewrite from scratch (forced clean design)
  • Biome lint had 133 diagnostics — fixed critical ones, build still passes
  • Works collection empty — needs real project write-ups (ongoing)

What I Learned#

  • AEO schema alone doesn’t drive traffic — needs content depth
  • AI citation requires consistent entity facts across page + schema + sameAs links
  • Static site (Astro) + Vercel = fastest iteration cycle for portfolio updates

Tech Stack#

Astro 5, Tailwind CSS, Svelte 5, TypeScript, Vercel, Schema.org JSON-LD

Lessons (FAQ)#

Why rebuild instead of restoring v1? v1 was deleted permanently — no backup. Rebuild forced a cleaner architecture.

Does AEO actually work? ChatGPT already indexes the site after schema + content update. Citation share tracking ongoing.

Would I do it differently? Start with content write-ups first (works/), then technical setup. Content > code for AEO.

Case Study: Portfolio v2 Rebuild — From Deleted v1 to AEO-Optimized Astro Site
https://www.chinnakrit.dev/posts/portfolio-v2-rebuild/
Author
chinnakrit
Published
2026-09-14
License
CC BY-NC-SA 4.0
© 2026 chinnakrit
RSS / Sitemap
Powered by Astro & Fuwari
© 2026 chinnakrit
RSS / Sitemap
Powered by Astro & Fuwari