There are many options to choose from when building your website:
- WordPress is the go-to option for many people who are not coders
- different WYSIWYG ("What you see is what you get") tools like Wix
- JAMStack solutions like Gatsby or Next.js
Why I didn't choose a CMS like WordPress
Due to its big ecosystem of plugins and popularity, you can bootstrap a website in no time with WordPress and release your MVP.
Nevertheless, having experienced various WordPress sites either through building them for clients, browsing the web myself or helping out my girlfriend with hiccups of her company's website, I can clearly say that WordPress sites feel slow, sluggish and laggy to me and don't provide the performance that I would expect from a simple website.
As a coder, I am interested in the code quality and want to have control over as many aspects of the website as possible.
When you start with a theme or template, there is way too much magic happening under the hood, and only some customization options are surfaced for the user to benefit from.
If you lack the coding skills or time for working on your website, I can understand why it’s a good choice to take the shortcut and fire up a WordPress site, install a handful of plugins, and focus solely on content creation.
In a single day, you can probably finish the MVP of your website depending on the complexity, while with a classic HTML/CSS/JavaScript framework you would be still working on the first page or even stuck with configurations.
This is of course very subjective, but here are my pro & cons regarding WordPress:
Pros
- no coding skills necessary
- open-source and free
- huge community
- extend functionality with endless plugins
- ready fast with UI themes
- strong focus on blogging and SEO
Cons
- fresh installation lacks in security
- updating plugins can break site easily
- attractive for potential hackers due to popularity
- bad page performance out of the box
- further customization not provided through plugins and themes is difficult
- spaghetti code
- no version history e.g. Git
Why I didn't choose a WYSIWYG editor like Wix
The big upside of WYSIWYG tools is the possibility to drag and drop content and building the website in a way that a user can relate to since changes are immediately visualized and impactful.
It resembles a Microsoft Word editor with a lot of shortcut buttons e.g. bolding the text or attaching an image.
Compared to WordPress, my subjective pros & cons for a WYSIWYG editor look like this:
Pros
- fast workflow with drag and drop
- strong focus on the visual aspect of a page
- no coding skills necessary
- ready fast with UI themes
Cons
- spaghetti code
- bad page performance out of the box
- weak SEO optimization
- further customization without provided plugins or themes is difficult
- the site can look like a clone of another one fast
Hello JAMStack!
Building my website with a JAMStack solution came naturally.
When you receive various programming newsletters, there are always clickbait articles like "Why you have to try XYZ" or "Check out the fastest framework called XYZ".
There is the ever-present need for staying relevant and up to date on the job market and also having some fear of missing out when not using the latest and greatest bleeding-edge technology.
So it happened that I worked on a project with Gatsby to satisfy my developer curiosity for trying out new technologies and got in touch with JAMStack.
It can best be described as a nostalgic reliving of the good old static website days.
A classic JAMStack project looks like this:
- provide website content through Markdown files or write static HTML, no database is needed
- since the content is generally static, minimal or no backend setup needed
- the production bundle goes through steps like tree shaking, minification and is stripped of development tooling to become a small and performant end product
- you deploy your site with a hosting provider e.g. Netlify
- serve assets through a CDN
- the website loads fast for the user due to server-side rendering optimizations and cached content
You can find a detailed explanation of JAMStack on jamstack.wtf. Choosing JAMStack or not depends a lot on the scope of your website. Most of the content needs to be requested on runtime e.g a corporate website with a lot of dynamic forms and user input? Don't use it. Is the content mostly images and text which rarely gets updated e.g. a blog post or a one-page product website? Yes, do it!
Pros
- great performance out of the box
- excellent developer experience
- very cheap due delivering cached static files
- fast deployment
- just a static HTML page
- free and open-source frameworks
- extend functionality with plugins
- all your changes are version-controlled
Cons
- coding skills required
- dependent on 3rd party services
- cannot request dynamic data on runtime
- the time required for learning the stack
- no GUI
Wrapping it up
Using a JAMStack setup for your next project can be a great choice, depending on the scope of the project, possible company requirements, and many more factors. You will benefit immensely from a blazing fast page performance and an enjoyable developer experience.
In case you are not a programmer or need to get a project bootstrapped really quickly, it is advisable to stick with either WordPress or Wix where you can manage your project through a graphical user interface.
If you are interested in building a JAMStack website, you can read in my article "Why I Chose SapperJS For My Website, and What I've Learned About the Framework So Far" about how I was able to work and choose the perfect solution for me.
Thank you for reading! I hope you found the information useful in this article. If you have any questions, feel free to leave a response below.
Top comments (6)
Everything depends on the reasons you need a website.
If we are talking about beginners who need just a small blog, they may use just some google blog platforms, they don't need any code at all.
At the same time, I believe, WordPress or Tilda are a good choice if you'd like to try to do something by yourself for the first time, but the code abilities are not really good.
So, you may have something like this(1- houseweather.org/ using wordpress or 2-geeklama.com/ using Tilda), you need just some plaguins and not really difficult codes. They are the best variants if you need a landing page only, because it's easy and fast.
I want agree with you about WIX. It's just a trash even for such a newbie as I am.
Anyway, thank you for the useful info. I'd like to try to work with JAM after reading your post.
I wouldn't call any tool trash, every user has different needs! Same like I don't judge anyone for knowing how to code or not.
For a landing page only, you can get results with any tool quite easily, I agree.
When you need to scale a website, you can run into performance and layout issues fast. I am actually surprised that houseweather.org is performing well, not loading too many assets and doing around ~50 requests only. Good job on that!
You're welcome, definitely try out JAMstack. Thank you for your comment ;)
JAMStack would also be my preference too in fact my portfolio website is JAMStack. I would never go back to using Wordpress it is far too basic and PHP has fallen in popularity. Wix and Squarespace are only appropriate for non coders which consequently is a problem for all of us developers as those platforms are now giving our potential clients a way to create websites themselves.
And I think these days it's now essential for developers who plan on doing freelance to know how to use a Headless CMS. That is the one thing Wordpress is good for creating a GUI for non coders to use. Its a very hard sell to convince a client that what you can offer is better than a Wix, Squarespace or Wordpress website because they are not techy like we are.
I had one potential client who already had an existing website built using Wix and they could barely understand how to even use it properly as they were not tech savvy. So they obviously did not understand anything about technical stacks and why they should switch from Wix 😅
I can pretty much agree 100% with your points, very valid!
Is this a thing? (just meaning - it's really new / not-new but new term)
Great pros and cons list.
This is a very interesting group of choices.
WordPress (but it looks like you specifically mention that WP has "no coding" - so, you mean wordpress.org - or the style of WP where you buy a theme - vs write your own / of otherwise to nothing custom)
Wix (which is just straight up just trash)
and JAMstack - which is 'simple' because it's just markdown... but also insanely complex and wrapped up in git, netlify, react, node, gatspy... and tons of stuff that the 'wix' person would have NO idea about.
We use WordPress all the time - and we build out fully custom themes from "scratch" (scratch isn't really a thing when working with a robust framework) - but the reason why - is because we have many people contributing and they need a reasonable admin panel - and we need to use a database. The fun part is - that you can actually take that JSON data from the WordPress site - and use it in a "JAM" stack (just a netlify marketing ploy) - and build static sites with it.
So, is this the site in question? markushatvan.com
Hey perpetual . education,
thank you for asking these questions, let's clear it up:
Yeah, a classic JAMStack project is a thing, because JAMStack follows certain conventions, otherwise it would not be qualified as a JAMStack project.
For WordPress, there is no coding knowledge necessary, because you can do 99% of things with plugins and tutorials, but ofc coding knowledge helps with fixing issues or adding features yourself.
I wouldn't disqualify Wix as trash since there is a user base for everything out there, it just might not be your thing.
A Wix person would have no idea about JAMStack, that is true, this article acts as a high level overview of what you could use, depending on what your skill set and background is.
I totally understand your reasons for using WordPress, it makes sense. Using it as headless CMS like you described is also a cool idea!
Yes, that is my personal website, you can read all my blog posts (not all coding related) here: markushatvan.com/blog