Release 1.21.21 makes gaganmalik.io legible to answer engines, not just search crawlers. The site now publishes a spec-aligned llms.txt index, tiered corpora (llms-stories.txt, llms-newsroom.txt), an ai.txt companion, and a public GET /api/knowledge/summary endpoint with a canonical @graph for agents. Person, Article, FAQPage, Speakable, ProfilePage, and HowTo JSON-LD share stable @id URIs so author and publisher nodes link across pages. robots.txt advertises corpus URLs; the sitemap lists them with fresh lastmod; IndexNow runs postbuild when INDEXNOW_API_KEY is set.
Performance and discovery also ship in this tag. Pricing, success stories, and About use one-hour ISR to cut TTFB; Speed Insights upgrades to v2 for reliable mobile vitals. Social link previews were repaired (normalized 1200×630 OG covers, share descriptions on Article JSON-LD). The essay Minimum Viable Movement is published with a cleaned cover asset. iOS visitors get a gated Add to Home Screen hint after engagement, not on every load.
المُضافة
- AEO: tiered llms.txt / llms-full.txt / llms-stories.txt / llms-newsroom.txt / ai.txt + localized llms-hi/ar/es indexes
- GET /api/knowledge/summary — public canonical entity JSON for AI agents
- lib/json-ld-entity.ts — unified Person @id, FAQPage, Speakable, ProfilePage, HowTo, linked Article author/publisher
- Pricing FAQPage + Speakable + HowTo JSON-LD; sr-only pricing summary for answer queries
- scripts/indexnow-notify.ts (postbuild when INDEXNOW_API_KEY is configured)
- Newsroom writing: Minimum Viable Movement
- PWA iOS install hint (5 sessions + engagement gate)
- project-documentation/AEO_MONITORING.md
المُغيّرة
- robots.txt route with llms/ai discovery comments and expanded AI crawler allowlist
- llms-full.txt slimmed (~6 KB index) — full bodies moved to tiered files
- OG images normalized to true 1200×630 PNG; cache bust v=4 on MVM cover
- Article JSON-LD uses getPostShareDescription (not subtitle[0])
- @vercel/speed-insights ^2.0.0; ISR revalidate=3600 on pricing, about, stories routes
المُصلحة
- react-hooks/set-state-in-effect in use-pwa-ios-install-hint.ts
- Broken WhatsApp/Instagram link previews from mismatched OG dimensions and descriptions