Migrating beingdesh.com: From WordPress to Astro with Claude Code
For nearly twenty years, beingdesh.com has been my corner of the internet. It started on Blogspot.com in the mid-2000s, then moved to a custom domain running WordPress, and eventually settled on WordPress.com’s Personal plan at $48/year. It worked, in the way that things that are never quite right but never quite broken tend to work. The site loaded slowly, the theme was generic, and the friction of logging into a CMS meant I stopped writing altogether.
I haven’t posted in a long time. But I’ve been experimenting with AI lately, and I want to start sharing those experiments. This migration itself is the first experiment I’m posting — a record of what happened when I asked Claude Code to help me rebuild my entire site.
Why Move Away from WordPress
The important thing to understand about WordPress is not that it’s bad — it’s that it solved a problem that no longer exists. In 2006, the idea that you needed a database-backed PHP application to publish text on the internet was reasonable. In 2026, it’s overhead. Static site generators like Astro compile your content into plain HTML at build time. No database, no server-side rendering, no security patches. Just files.
I knew I wanted to migrate. What I didn’t know was how to deal with 232 published posts, 190 image attachments, 940 comments, a podcast page, and two decades of URL history without breaking everything.
The Migration Session
I opened Claude Code in my terminal and described what I wanted: move beingdesh.com from WordPress.com to Astro, with three content sections — Writings, Podcast, and AI experiments. What followed was a single working session where Claude Code worked like a senior engineer pair-programming with me.
The workflow was straightforward:
Foundation. Claude Code built an Astro project with layouts, components, Tailwind CSS, and dark mode. I asked for shades of blue as the color scheme, and Claude added a detail I didn’t request: the accent color shifts from blue during the day to green in the evening. A small touch that makes the site feel alive.
Content migration. I exported my WordPress XML file and dropped it into the project. Claude Code wrote a script that parsed all 232 posts, converted HTML to Markdown, generated proper frontmatter, condensed forty-plus WordPress categories into ten clean ones, detected Hindi-language posts automatically, and downloaded every image it could find. It also created a redirects file mapping every old date-based WordPress URL to its new location — preserving two decades of links.
Podcast. My cricket podcast, On Cricket, Off Topic, needed real data. Claude Code fetched the RSS feed, found all 27 episodes across three seasons, and created content files for each. The Spotify embed sits at the top, with episodes listed chronologically below.
Comments. This was the trickiest part. WordPress.com’s Personal plan doesn’t support the Disqus plugin, so the standard import path was blocked. The solution: Claude Code parsed 939 approved comments from the WordPress XML and embedded them as static text into each of the 161 posts that had them. For new comments, we set up Giscus — which uses GitHub Discussions. Old conversations preserved, new ones enabled.
Deployment. Claude Code initialized git, installed the GitHub CLI, created a private repository, and pushed everything. The site deploys to Netlify’s free tier on every push. Total ongoing cost: $10/year for the domain renewal. Down from $48/year.
Three Observations
-
Context that holds: Claude Code remembered decisions from earlier in the session — the category schema, which images to preserve, how Hindi detection worked — and applied that context hours later when fixing unrelated issues.
-
Recovery, not just execution: When image downloads failed or YAML parsing broke, Claude Code didn’t just report errors. It proposed alternatives, adapted the approach, and kept moving forward.
-
The wonder of it: This entire migration — 232 posts, 940 comments, 27 podcast episodes, full URL preservation, custom domain, working deployment — happened in one evening. The kind of project that would have taken me weeks of research, trial and error, and Stack Overflow diving. Where does this experience take us? I’m genuinely curious to find out.
The writing workflow is now: create a Markdown file, push to GitHub, live in thirty seconds.
I’ll be posting more AI experiments here going forward. This felt like the right place to start.