fyiii.com Full-Site Optimization
Late night 2026-05-29. A complete personal site optimization session — from security hardening to visual redesign, AI comments to automated certificate renewal.
1. Before Optimization
- Framework: Astro v5 + Tailwind CSS v4
- Server: Nginx 1.24.0 (Ubuntu 24.04)
- Security: HSTS only, missing CSP / X-Frame-Options / X-Content-Type
- Theme: Warm beige background + terracotta orange accent
- Layout: Plain text journal list
- Certificates: Two separate certs (bare domain + www), no auto-renewal
2. P0 — Security Hardening
2.1 Nginx Security Headers
Added full CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, and HSTS with preload.
2.2 Gzip Compression
13 MIME types, HTML compression ratio 81% (29KB → 5.6KB).
2.3 SSL Hardening
TLSv1.2 + TLSv1.3 only, fine-grained cipher suite configuration.
2.4 Domain Unification
Bare domain fyiii.com → www.fyiii.com via 301 permanent redirect.
3. P1 — Visual Redesign
3.1 Theme Switch
Warm beige + terracotta → Indigo tech theme. Accent color changed from #b2643c to #6366f1.
3.2 Card Grid Layout
Journal list converted from plain text to dual-column card grid with title, date, summary, tags, and arrow links.
4. P2 — Interaction Enhancement
- Hero glow blob animation + “V” letter avatar
- Sticky navigation with glassmorphism blur
- Cmd+K global search with keyboard navigation
5. P3 — Feature Expansion
- Giscus comments (separate public repo
fyiii-comments) - Floating TOC sidebar with IntersectionObserver
- Projects showcase page
6. Operations Upgrade
- Unified SAN certificate for both domains
- ACME auto-renewal cron (daily UTC 02:00)
- Nginx upgrade: 1.24.0 → 1.30.2
7. Performance
| Metric | Value |
|---|---|
| HTML compression | 81% |
| QPS (50 concurrent) | 533 |
| Page load | <100ms |
| Failed requests | 0 |