Developer choosing a lightweight constellation-inspired web stack over an overgrown control panel
6 min read

Why I switched to Astro but not WordPress

In this post, I'll explain my reasons for switching to Astro instead of using WordPress.

Back to all posts

Before I start, I need to get this out of the way: WordPress is great, but not everything should be built with WordPress. Some sites can and should be built with different tools. Mine is one of them, and I’ll explain why I chose Astro instead of WordPress.

I started using WordPress in its early stages, around 2005, after using Blogspot as my blogging platform when I started blogging in late 2004.

My old blogpost site

My journey with shared hosting began even earlier. I still remember the plan I had around 2000: it was 100 MB for $1 per month, which was a huge thing back then.

Let’s now focus on the current projects I’ve worked on, for which I decided to use Astro instead of WordPress. This is not because WordPress is bad or would not do the job, but because these projects do not really need all of WordPress’s features. Basically, I wanted to use the best tool for each project and learn something new.

Here are the projects:

This site was formerly built with WordPress. The previous developer chose to use a page builder so he could manage the work based on the requirements, but one of the issues he did not count on was that the user might not have the technical knowledge or the time to learn how to use the tool. Also, much of the data does not change much. I mean, let’s be honest: historical places will not disappear or change, and history will remain the same.

The site depended heavily on plugins that they neither used nor needed, so we sat down, talked, and decided that a static site would be more than efficient for this phase. Syria has (or used to have) technical sanctions that made technologies people took for granted unavailable in Syria. Online payments, for example, are not something they can use. Let’s hope these things change sometime in the near future, but it will take more time.

The main goal was to have a fast website that could be easily accessed by everyone and by AI chat agents, so providing Markdown responses was important too.

Astro ticked all the boxes successfully:

  1. Easily deployable to the edge.
  2. Static pages can be generated easily.
  3. SEO support out of the box, or with a few plugins that have zero impact on performance.
  4. Markdown support can be added through custom middleware if needed.
  5. TypeScript and React can be used (this is for me, not the owner), so I can build a small form for the inquiry.
  6. The site can be easily modified, updated, or refactored by me or, later, by the owner.

I felt as if I was using FrontPage again to upload the site to the edge 😅 (yes, I am that old). However, the new tools made things even easier: just push to a Git repository, and it will be deployed.

Syria Link site

2. My Personal site

My site had some specific things that I did not like. For example, the home page was hosted on Cloudflare as a Hono single-page app, while the blog was hosted at Blogstatic. This was a bit annoying for me. Blogstatic offers a way to keep everything in one place, but I was too lazy to modify anything.

The speed was nice, the cost was not that high, SEO support was built in, and the service was top-notch. I cannot complain, but I am a developer and I like to tinker with things. This is why you will see that my blog is new or has gaps in its publishing frequency. I keep deleting and rebuilding my blog from time to time, sometimes in Arabic, as the Linux Juggler blog was, and other times in English. The cycle keeps spinning, so I pulled my data and, with a few prompts, turned it into Markdown files that I can use.

Now, my site is fully dependent on Astro. My content is pushed to Git and deployed to the edge using Cloudflare Workers.

Out of the box (or with a few plugins) I got:

  1. Syntax highlighting.
  2. Image processing to make images fit different devices.
  3. Font processing.
  4. SEO and sitemap generation.
  5. Client-side search for my posts, with no performance issues.
  6. Easy way for me to code what I want 😅.

3. Arabic Dev

Arabic Dev is a new project I have wanted to build for a long time. I purchased the domain a year or so ago, but I was too lazy to do anything with it. The main idea of the project is to have a place where I and others can share our knowledge and experience with the Arabic-speaking community. I know that there are multiple projects out there with the same goal, and some are even more popular than mine, but this is not a big deal. The more resources we have online, the better.

I wanted a platform that was fast, easy to build, and easy to add resources to. For me, Astro ticked both boxes.

My plan for publishing posts by others, which I have not implemented yet, is simple: submit a PR to the project repository, and Cloudflare will do the rest by creating a preview domain for testing. An AI agent will perform some reviews before the post becomes ready for human review and publication. I still need to do more work before I enable this. For now, the project is for me to publish and add content.

I am not going to repeat the same advantages I got from using Astro with this project. I think you already get the gist.

Arabic Dev site

Conclusion

The main point of this article is not to talk about WordPress or explain why you should not use it. Instead, the main point you should take away is that you should use the best tool for the project at hand. If it is WordPress, then WordPress it is. If not, do not use it just because it is what you know or what you were told to use.

Most websites can use and benefit from static web pages. Not everyone needs a huge, bloated framework or application. Do your research, and do not be afraid of learning new tools or frameworks that make your life much easier.

References

Other people have blogged about the differences in more detail if you would like to read more.