EducationJune 01, 2025 4 minutes read

I'm using this CMS to create My Personal Blog.

Photo by Stephen Phillips – Hostreviews.co.uk on Unsplash

As a developer, I'm always looking for ways to create something unique and completely under my control. When I decided to start a personal blog, I knew I didn't want to be tied down to any pre-made themes or templates. I wanted the freedom to design the front-end exactly how I wanted it, without sacrificing the ease of content management. That's why I chose WordPress as my backend and combined it with my favorite front-end framework.

The reason I use WordPress as a CMS.

You might be thinking, “Why not just use a static site generator?” Or, “Why not build everything from scratch?” Good questions! Even though static site generators are super fast and secure, I need a CMS that:

  • Easy to use for non-developers: I don't want just me to be able to write or manage content. WordPress has an intuitive interface for writing posts, uploading images, and organizing categories or tags.
  • Strong and flexible API: This is the key! WordPress has the WordPress REST API that lets me access all my content (articles, pages, media, categories, tags, etc.) in JSON format. This means I can ‘decouple' the WordPress backend from my front-end.
  • A wide ecosystem: There are thousands of WordPress plugins that can expand its functionality. Even though I don't rely much on plugins for custom front-end stuff, having plugins for security, SEO, or comment management is super helpful.

How the WordPress REST API Works

The WordPress REST API is like a bridge between your WordPress backend and your front-end app. Instead of loading the entire page rendered by WordPress, you just need to “request” specific data through the API URL.

For example, to get all your blog posts, you can make a GET request to yourdomain.com/wp-json/wp/v2/posts or https://public-api.wordpress.com/wp/v2/sites/yourusername.wordpress.com. This API will return the data in JSON format that you can use in your front-end application.

The framework I'm using

This is the fun part! Once you have the data from the WordPress API, you're free to use any front-end framework you know and love. Personally, I use Next.js for my personal blog, but you can choose from:

  1. Vue: Lightweight, easy to learn, and super flexible.
  2. Angular: A complete and structured framework, great for larger applications.
  3. React: A popular JavaScript library for building user interfaces.
  4. Nuxt: These are frameworks built on top of React/Vue that offer features like Server-Side Rendering (SSR) or Static Site Generation (SSG), which are awesome for SEO and performance.
  5. Vite: an open-source JavaScript framework that's used for building fast and efficient frontend applications.

The process is generally like this:

  1. Grab the data: Use the Fetch function or a library like Axios in your front-end framework to pull data from the WordPress REST API.
  2. Render the data: Once you get the JSON data, you can process it and render it into the UI components you want. This means you have full control over the look and feel of every element of your blog.
  3. Interaction: Add interactions like navigation, filtering, or searching using the features of your framework.

Is It for Everyone?

Of course not. If you're a non-developer or just want a quick and simple blog without much customization, using a regular WordPress theme is more than enough. But if you're a developer who wants to master your tech stack, have full control over the front-end, and doesn't mind a bit of extra complexity at the start, then this “Headless WordPress” approach is a fantastic choice.

I really enjoyed the process of building my personal blog this way, and I hope you will too! You can read my blog on RyzNote for free with a clean and interactive design.

Get notifications for new posts

This feature is under development.