Don’t reinvent the wheel. Why use WordPress instead of coding your own CMS
You shouldn’t need much convincing, WordPress is a great tool for a lot of website projects. But sometimes you might consider rolling your own CMS. Maybe you’re early in your web development career and still think it won’t be so hard, or you think your latest client project has too much custom functionality to fit into limitations of the WordPress platform. Why use WordPress? Here are some very good reasons to consider before rolling your own CMS.
Creating the look and feel of your website pages is only a small part of building and maintaining the whole website. You need to consider a wide range of areas including security, performance, SEO, ease of updating.
- Cache. There is absolutely no reason to roll your own caching system, and without caching your dynamic pages you’ll always be slower than a pre-generated pure HTML cached page.
- Performance. As well as cache, there are countless performance-enhancing plugins for WordPress that do a variety of jobs including minify css/scripts, compressing images, lazy loading images. Recreating this functionality or doing it all manually is going to add to your workload, and your users might not have the skills to do it the manual way.
- Login Security. Rolling your own secure user login system is an interesting exercise, but not recommended. We all attempt this when we are inexperienced coders, and doing so will give you an insight into just how many things you need to think about to create a truly secure login system. Once you’re done you’ll probably throw it out in favour of something tried and tested, like just using WordPress, or if a custom web app is required then try a PHP framework with a proven login library like CodeIgniter, Laravel, or CakePHP.
- More Security. Beyond the user login system, you’ll also need to keep every script secure against all kinds of attacks on the file system, database, and more. Have a look at OWASP to get an idea of the scale of the problem you’ll be facing. Of course WordPress like any software isn’t perfect, but aside from vulnerable third-party plugins, the core software is tested by a huge community which are much more likely to pick up any vulnerabilities than you can manage for your custom CMS.
- Usability. If there are other people going to be using this system? Are they potentially less tech savvy than you, the web developer? If so you’ll need to make it intuitive and user friendly, and probably write some documentation too. With WordPress you can just point your users to one of the many tutorials already out there for what they are trying to achieve.
- Compatibility. Will people be accessing your admin system from a variety of browsers and devices? You’d better test it in everything to ensure nothing crazy happens. WordPress has the benefit of a huge community that is constantly testing, reporting and fixing bugs.
- Extendability. Need to do something else? With WordPress there is probably already a plugin for that. But your custom built CMS will need every single function custom coded. From simple things like email forms, social sharing links, data imports/exports, and other common functionality.
- SEO. Install Yoast SEO for WordPress and then you just need to focus on the actual page content and keywords. With your own CMS you’ll have to ensure every tag is in place, create a custom sitemap and more.
- Pretty permalinks. Often regarded as part of SEO, but also for general aesthetics, website structure and usability. The URL structure/permalink system in WordPress is robust and logical, it would be a huge challenge to recreate something as thorough as what already exists.
- Marketing. Social media is an essential part of a website’s success these days, but those sharing tags won’t appear automatically. In your own custom CMS you’ll have to make sure to implement all the special Open Graph and other meta tags for Facebook, Twitter, and others to ensure your post titles, descriptions, images, events, and products all get the recognition and reach they deserve. With WordPress much of this just works out of the box.
- Future-proofing. Things change, code becomes obsolete, APIs get updated. WordPress gets updated by a huge community, your custom CMS won’t – unless you do it yourself. You’ll either find yourself spending hours updating your code for years to come, or letting it get dangerously outdated running on EOL versions of PHP forever.
The only good reason to custom code a regular website is…
If all you need is static HTML, then custom code it. WordPress is sometimes used when it is not needed. In those cases it is unnecessary bloat. For example I’ve seen it used for a simple static landing page.
Static HTML pages will always be more secure than WordPress, faster than WordPress, and require almost no maintenance or software updates. If you are using WordPress for a holding page then you might want to consider going back to basics and writing some pure HTML markup. Simple is good for you, brush off those HTML skills and give it a try.
Another reason to keep your page lightweight? It needs less power and bandwidth so is good for the environment. So skip the CMS when not needed and save a tree or two.
If you need to hire our web development experts in a consultancy or web development capacity just get in touch. Once we learn about your needs we can help advise on the best approach for your website.