Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialJenny Swift
21,999 PointsFrustrated with Wordpress. Is a CMS necessary?
Hi, I’ve been setting up a blog and I tried using Wordpress but found it frustrating. Plugins wouldn’t work. I couldn’t write code how I was used to but instead it felt like I had to learn a whole new language. I found it hard working with code that I didn’t write myself. It felt complicated and bloated.
I then tried Pico, a flat file CMS. I only tried it briefly before thinking “If I’m going to use a CMS this simple, why don’t I just code the whole thing myself and not use a CMS at all?” So I started building my blog without a CMS, and it was a big relief because I could understand my own code.
It surprises me that Wordpress is so popular, even amongst people who can code. Can anyone please help me with the following questions:
Is there some sort of disadvantage to building a blog without a CMS?
Am I making it difficult for myself by not using Wordpress?
If you recommend using a CMS, is there one that I’m likely to find less frustrating than Wordpress?
Are there benefits to using Wordpress that make it worth the effort of learning to work with it?
2 Answers
Stefan Osorio
16,419 Points"Is there some sort of disadvantage to building a blog without a CMS?" By "without a CMS" you mean hand-coded HTML for every single blogpost?
Well yes, you could do that - in the end every CMS spits out HTML, so you could do that by hand just as well. For rarely updated sites with a limited amount of content this would be perfectly fine (even preferable ) - but as soon as more content is involved things can get messy. E.g., if you have a hundred blog posts and want to change something about the markup, you'd have to go through every file by yourself.
A CMS can save you a huge amount of time, and provide features that wouldn't be possible with hard-coded html at all, like ratings for posts, a comment function, site-search, or simply displaying the 10 latest posts on your homepage. Also, logging into the server via ftp/ssh to make updates to your content would be considered rather painful by a lot of people ^^
However, I too find Wordpress completely unbearable. Personally, I primarily work with a CMS called Processwire. It really gets out of the way of my workflow, while providing pretty much endless possibilities. Also, it has a rather active and friendly community :) https://www.youtube.com/watch?v=Wl4XiYadV_k
Dustin Matlock
33,856 PointsHey Jenny! For a simple blog, WordPress can be more than you need. And with everything in web development, it can take time to learn something new — and sometimes that is frustrating, but it's a part of the process. I think learning how to develop an ability to keep a frame of mind that solves problems usually helps. I know when I get frustrated, at least in my experience, it causes me to learn less.
Anyhow, there are a few alternatives to WordPress (actually there are many), but I'll just recommend a couple of my favorites. And by the way, WordPress has evolved to a lot more over time — more than a simple blogging platform, so that's why I'm recommending one of these for you. Blogging can be really fun, so these are designed for that, and simplicity.
Lightweight Blogging Platforms
Stefan Osorio
16,419 PointsI second that - If you really only want to blog (and are willing/able to use Node.js), Ghost can be a great option :)
Dustin Matlock
33,856 PointsStefan, you don't actually have to learn anything about Node.js to use Ghost. Simply installing, learning to start and stop the service when needed, is about all you need to know.
Stefan Osorio
16,419 PointsThat's what i meant with "using" Node :)
I personally really enjoy Node, and I'm certainly not saying that setting up Ghost is difficult (it isn't), but currently Node is still not as accessible (availability on shared hosting / starting a service vs. dropping a file into a folder) as PHP.
Jenny Swift
21,999 PointsThanks for the help Dustin and Stefan!
Jenny Swift
21,999 PointsJenny Swift
21,999 PointsHi Stefan, thanks for the reply!
'By "without a CMS" you mean hand-coded HTML for every single blogpost?'
Well I've started out doing it that way, but then realized my blog wouldn't have search functionality, and having a file for each blog post could get hard to handle in Sublime Text, so I now had in mind to enter each blog post into my database. But without having tried it, maybe there are things that wouldn't work about this method?
'if you have a hundred blog posts and want to change something about the markup, you'd have to go through every file by yourself.'
Maybe I'm wrong but I thought Sublime Text might be powerful enough to handle changing every file at once.
'A CMS can save you a huge amount of time, and provide features that wouldn't be possible with hard-coded html at all, like ratings for posts, a comment function, site-search, or simply displaying the 10 latest posts on your homepage.'
I thought I'd be able to do all these things when I had all my blog posts in my database?
Thank you for the Processwire recommendation!
Stefan Osorio
16,419 PointsStefan Osorio
16,419 Points"so I now had in mind to enter each blog post into my database. But without having tried it, maybe there are things that wouldn't work about this method?"
Yes, that would be entirely possible. Of course you'd have to use some system on your server to get the content from the database into html. One could call that a content management system ;)