A question I get from developers who want to start their blogs is what’s the best blogging platform for developers? With a multitude of static site generators, content management systems (CMSs), site builders, and hosted, developer-focused blogging platforms to choose from, developers have lots of options. That’s both good and bad: good in that developers have plenty of flexibility, but bad in that it leads to decision fatigue.
There are pros and cons to each option and you may outgrow your platform in the future. The static site generator that initially gave you great site performance may not easily scale once you get to n blog posts. The site builder that enabled you to drag-and-drop everything from new text fields to animations may also prevent you from removing custom JavaScript that runs on each page, impacting your site performance. A blog that was hosted on a blogging platform may eventually need to morph into a website that is optimized for attracting new clients, forcing the team to build and migrate to a self-hosted site. We can’t plan for all future outcomes.
So the answer to “What is the best blogging platform for developers?” can be found by asking yourself a series of questions. You can’t anticipate what your future needs will be, but you can look at your existing needs to figure out the next best step.
What will the site be used for primarily? Will it be primarily a blog or a landing page that points people to your resume, contact information, and projects? Will you be using it to attract business? Are you going to sell products or services on your site?
How much time are you willing to spend building and maintaining the site?
How often will it be updated? And when you do update, what types of changes are you willing to make: will it be mostly publishing new content, or will you be making changes to the design, site structure, and plugins?
How important is flexibility for you? Do you want to have control of everything including server-side maintenance, or do you want some of the work abstracted for you?
How much are you willing to pay? Are you willing to spend money to have some things taken care of (like hosting, security, and other site updates) or do you want to spend close to nothing?
How much are you willing to learn? Do you want to learn about databases, load balancers, and content delivery networks (CDNs)? Do you want to learn about search engine optimization (SEO) and implement SEO best practices on your own?
How important is branding? Some blogging platforms make it difficult to remove their logos from your site or change the design to your liking.
How I decided to build my site
I did this exercise for the first time five years ago when I built my website with Jekyll (a static site generator) and then three years ago when I migrated to Wix (a site builder). I originally wanted to accomplish three things with my Jekyll blog, listed here in order of importance:
Learn how to use static site generators
Learn how servers work
Have a portfolio site where potential clients could find out more about me and my work
In the beginning, this setup worked very well for me. I didn’t want to touch HTML and CSS so I found a nice template. I wasn’t blogging much so I didn’t need to update it regularly. But a year or so later, I wanted to make changes to the template and blog more. The experience caused so much frustration that I didn’t update as much as I wanted to. Some of the issues I faced included:
Making changes to the template because I didn’t want to spend time in the code
I couldn’t serve my site via HTTPS. At the time, Let’s Encrypt had just come out and the process for generating a TLS certificate for Apache web servers worked well. But I was using NGINX as my web server and no tutorial I found could make it work.
Making a single change on a page — like editing a sentence — required ten steps to complete. I wanted to cut it down to three steps or less.
I was satisfied with what I’d learned about static site generators and servers, but it was no longer my priority. My new priority was to have a site that would serve as my “business card on the web”. I wanted to make endless changes to pages and content without having to code or hiring a web developer. So I moved my site to a site builder that took care of a lot of that for me. Over time, I’ve learned more about what I can and cannot do with my existing site platform. There may come a time when I will need to consider migrating to something else, but it does everything I need it to for now.
Every platform has pros and cons
Every site builder, blogging platform, content management system, application framework, and static site generator is optimized for specific things. Very, very few do everything well. (I know this because, as a content strategist, I often complained about whichever content management system I was using to manage blog posts.) It doesn’t matter if the platform has shortcomings; it does. What matters is if you can live with those shortcomings.
Ultimately, the best blogging platform is the one that makes it easy for you to blog. If you enjoy the platform’s user experience and creating or publishing content isn’t a hindrance, that’s what’s most important. Few people care about what platform you’re using; your content matters more. But if building a blog to demonstrate your experience using a specific stack is important to you, choose the framework that best suits your needs. You can always change your mind later.
Regardless of which platform you choose, be sure to do the following:
Take regular snapshots of your content. Consider putting all your content in a repository. This will help you manage your blog posts, copy, and other assets, and can facilitate migration to a new platform. Your repository can be anything: a Google Drive folder, a folder on your desktop, or a GitHub/GitLab repository. Keep your content up to date on both your personal site and in this repo.
Read as much of the product documentation as you can. Familiarize yourself with the platform, its features, and limitations.
In summary, the best blogging platform is one that meets your current needs and goals. Do as much research as you can into the multiple platforms available to understand how much time and effort is required to initially set up and to maintain over time. Keep your web content updated and save a copy elsewhere in case you need to migrate or restore content from a backup. And finally, familiarize yourself with your platform’s features, limitations, and workarounds.
This post originally appeared on my blog.
I'm Stephanie, a Content Strategist and Technical PM. Visit developersguidetocontent.com to learn more about my work!
Top comments (3)
Hello,
Simply post on Dev To, and use its API to publish them on whatever static site you want
Regards
You can also cross-post from your blog to DEV Community, which is what I do! I explain blog post syndication here.
Thanks!
Dev.tos interface is quite straight-forward and yet I somehow missed canonical url tag!