ammarmahdi.com

A from-scratch rebuild of my personal site on Astro, focused on speed, search visibility, and room to write.

role
Designer and developer
year
2026
stack
Astro, TypeScript, MDX, Cloudflare Pages

This site is the project. I rebuilt it from the ground up, and the reasons are worth writing down.

The problem

The old site was one nicely designed page running on a full WordPress install. It looked fine, but it was doing nothing for me. It was set to noindex, so search engines were told to ignore it. It blocked AI crawlers in robots.txt, so no assistant could find or cite me. It had no meta description, no structured data, and no room to write. A heavyweight content management system was serving about two hundred words of static text.

The approach

I started over on Astro, which ships almost no JavaScript by default and is built for exactly this kind of content site. The priorities were:

  • Be findable. Real titles and descriptions, a self-referencing canonical on every page, an XML sitemap, and a robots policy that welcomes search engines and lets AI assistants cite me.
  • Be understood. Person and Article structured data so search engines and AI know who I am and how my pages connect.
  • Be fast. Static output, self-hosted fonts, optimized images, and no framework runtime shipped to the browser.
  • Have room to grow. A proper blog with content collections, tags, and an RSS feed, so writing is a habit instead of a project.

The outcome

The result is a multi-page site that loads fast, can actually rank, and gives me a place to write regularly. The terminal aesthetic from the old site carried over, because that part was working. Everything underneath it changed.

If you are a developer whose personal site is a single page on a platform fighting against you, consider this your nudge.