arrow-left arrow-right brightness-2 chevron-left chevron-right circle-half-full dots-horizontal facebook-box facebook loader magnify menu-down rss-box star twitter-box twitter white-balance-sunny window-close
6 min read

Why blog with Ghost? A review of my journey through CMS options

Why blog with Ghost? A review of my journey through CMS options

Around the end of April, I started to realize that it would be a wise move to add a blog to the ways I publish content online. More on that in another post. But what was the best way for me to technically make that happen? I first started by thinking about the workflow. When I tried different tools I constantly thought about the ways I would post and manage the website.

Squarespace 7.1 👍

My solution for my website at the time was Squarespace. Squarespace is phenomenal to get a simple site with information up and running. I think they are doing a lot of great things with the latest version 7.1 templates. So much so that in this whole process, I published a new site about my app BestPhotos app on Squarespace. But while Squarespace has options for blogging, they are lacking in many areas.

Where Squarespace blogging falls down

All of Squarespace’s blogging templates focus way too much on images and not on text. They also require you to compose blog posts in their editor. Sure, you can write something elsewhere and move it over, but that’s a chore and an added step in the workflow. They don’t offer an API for apps like Ulysses or iA Writer to support direct upload of posts. Markdown is supported, but in a secondary way that messes with my inline links and is not the default option. I can wrestle the templates to give a more text centric look, but the lack of support for third party apps in my workflow was a deal breaker.

Why not WordPress?

WordPress runs a huge percentage of the web’s blogs. It is by far the marketshare leader. It has many options of how to host it as well. The first and cheapest is to get a shared install on a server from one of the many hosting providers online. This works well for most day to day operations, and can be very inexpensive. But I always fear that if I ever got a popular blog post, the site would slow down or become unresponsive, particularly for people living far away from my hosted server.

WordPress.com is the first-party, managed, for-profit version of the open source project at WordPress.org. You have to pay for an entire year up front, which is a huge financial commitment. You also have to pay something like $25+ a month, in annual chunks to get custom plugins. For me to get the customizability I would want from WordPress, I would need custom plugins.

From what I understand, when adding plugins you also have to worry about compatibility with future versions of WordPress. I don’t want to have to keep a bit of attention on when WordPress has a new release I need to install and if it will break my third party plugins.

Some people are already very familiar with WordPress, all of its quirks, and the good plugins and themes to install. If that’s the case, I can see why WordPress continues to be the chosen platform for many websites. I’m not in that camp, and I saw a steep learning curve, not to simply get a blog, but to get the website I wanted.

Why not K.I.S.S. with .md files and something like Blot?

There are a growing number of small indie blogging solutions out there. I tried Blot, used by YouTuber Christopher Lawley for his “The Untitled Site” website. The concept is refreshingly simple. You simply have a list of Markdown files in a folder and publish via a git repository or Dropbox. The pricing is also super attractive at $4 a month.

Blot also has a really simple template structure that is fun to play with. I spent a LOT of time trying to get a version of my new site working and looking good with Blot. In the end, I couldn’t get anything I was quite satisfied with from a design perspective. Compared to other templates, I also had to lean on my limited knowledge of CSS to get what I wanted. This concerned me for cross browser compatibility. I’d rather let the template maker, who is by definition a CSS pro, get my 90% of the way there, not 75%. My wife reminded me of this in her reaction when I showed her a version of my site on Blot. It was pretty close to going live, but was still hard to read and navigate and just didn’t look anything close to the design of my existing Squarespace website.

You know you could write your own website from scratch

I know some people write their own CMS for their website, and it’s often some variant of converting static Markdown files to HTML. Like Blot, this can be very cheap to host. I would like to learn more about how to setup web services over time as I think it’s a key part of creating many apps, but now is not the time. I have plenty of apps to code with MartianCraft, BestPhotos and related apps…not to mention my limited flexibility with a 1-year-old son and twins on the way.

Enter Ghost

Ghost is an open source blogging platform built on Node.js. It’s been around for a few years, so it’s not brand new, but it’s refreshingly modern compared to WordPress. They have some amazing theme options. And customizing themes is almost as easy as Blot, with great template files and a clear CSS structure. It’s also very easy to get a local version of Ghost running on a Mac to test the template before making it live on your website.

Like WordPress, Ghost also integrates with most of the popular Apple apps like Ulysses (my choice) for composing blog posts and sending them strait to the website. Like WordPress, Ghost also includes a first party hosted option, which is what I opted for. This is more heavy duty hosting than I need right now, but it gives my website and platform room to grow. It also takes the stress and worry out of managing my own VPS instance that could go down while I’m out to dinner with my wife. I also don’t want to have to be up on the latest releases for my website CMS that are patching critical security holes. I can’t afford to pay someone to manage my server and update my CMS, but I can afford to pay a small premium to let Ghost do that for me. I also know that I have ample server capacity backing my website when I hopefully get something that draws a lot of attention some day in the future. And if it makes sense for me to move to a custom hosted instance of Ghost down the road, I can totally do that, unlike Squarespace.

Ghost also has templates with design quality at the level of the finest from Squarespace or WordPress premium themes, but with close to ease of editing that I had with Blot. I was really happy with the process of picking a template, and then customizing the colors, fonts, and details of the layout. If I needed to make a highly custom page for a blog post or project in the future, I feel confident that I could do it myself. That said, I spent a few years in college building simple, custom websites for people before getting into mobile apps. I’m not always up on the latest flavor of web trends, but I’m pretty comfortable editing HTML and CSS.

Speaking of room for growth, Ghost also has a membership platform in beta. I have no plans at all to create any kind of subscription service for anything I do anytime soon. This website will be fully funded by a bit of my revenue from YouTube. Knowing though, that my website CMS has the capability to turn memberships on if I see the opportunity down the road is refreshing.

Where Ghost could improve

Contact forms are great on Squarespace. They are easy to setup, and they can easily send you an email from a form submission, among many other options. Ghost has nothing for this. While I understand Ghost is more focused on blogging, I think a contact form is a simple part of a blog. I’m using TypeForm for a simple option, but it leaves a lot to be desired as I’m not willing to pay for TypeForm for my use case. There are always tiny details I could quibble with on any piece of software, but contact forms is the only one worth calling out here.

Overall, I’m excited to have a more fully featured website with lots of options to continue posting content here going forward. I feel like I’ve set up something that’s technically sustainable and robust for me to use for a long time. Stay tuned for more.