in 2017 companies are expected to have greater content and functionality on their websites; but most businesses fall short in these areas. Having a good content management system can really help things and make the web design and development process a whole lot easier. In this article I compare the popular open source Php content management options such as WordPress, Drupal 8, and Laravel .
Where do we start
We have an existing business or a business idea and we want the website to be a key part of the business, so where do we start. First, we get all major company stakeholders to sit down and create user stories.
A user story is a piece of functionality that you want your users to be able to do it. For, example on a blog you want users to create content, editors to edit content and visitors to create comments.
A useful formula for creating content would be as a _____ I would like ____ because ____. We can write user stories, with notes, software, or on a chalkboard but having all the stakeholders on the same page will save time and money later. After assessing user stories we can make on what Content Management System(CMS) we would like to use
WordPress is the most popular web site builder used the web today with over 25% of webites on the web use WordPress. WordPress started out as a blog but with updates such as custom post types and taxonomies has become more of a CMS.
What I like about WordPress
At first glance WordPress looks slick with its dashboard and makes creating content an enjoyable experience. Also, with ith it’s large community there is wide range of free and premium themes and plugins that can suit most all business use cases. Plugins can make site building easier especially for the non coder.
There are themes on themeforest, that satisfy average business use case such as realtor, ecommerce store, recruiters, marketing agency etc. and with minimal expense we can get something up quickly.
What I don’t like about WordPress
If you have a lot of user stories and functionality there might not be a theme or a plugin that suit your needs. Also, sites with many plugins can become slow and buggy, many plugins can also cause security issues, many experts suggest WordPress is the not the best platform for sensitive data.
When would I use WordPress
No question when I have site like a blog, where I am creating content, WordPress is the right choice. Themeforest with its’ many design options and woo commerce(ecommerce) are a big help to a blog or shopping cart up easily.
When would I not use WordPress
When you find you need something where you are going to have sorts different users, roles, and you want have a complex site where you filter content, rather then just sticking content intor categores
Drupal has been popular since 2001. A full fleged content management system there is a lot you can do with Drupal including: adding content, grouping content and sorting/filtering content.
What I like about Drupal 8
out of the box with Drupal 8 you get so much with functionality, you can create content, add validation to content, and filter and sort content with views, all done right in the user interface. Drupal has been used by all of organization such as the white house, big companies and universities and has big brand name credibility.
Drupal is perfect complex website that include: creating content, pages need to be restricted by user and we need to filter and sort content both statically and dynamically.
What I don’t like about Drupal
Not as enjoyable publishing experience as WordPress and Drupal lacks the themes making the front end development experience more time consuming. The user interface has vastly improved in Drupal 8 but I like the authoring experience of WordPress to greater
When would I use Drupal
I use Drupal for content rich sites, particularly admin sections where data and the security of data is the most important thing. With content types and the ability to create fields, it is very easy to constrict users based on role, page viewed and content types.
For example if I was going to build a car lot of the box I could create conent type cars, create a taxonomy for brand and create a user role that allowed administravtive staff to enter cars inventory. With Drupal visitors can easily search car based on car or brand.
When wouild I not use Drupal
For a large complex website creating content Drupal is great. However, when working on teams of developers Drupal configuration scares me. I would like a Git friendly framework where the Database is not pre configured and can be altered using Git. A framework such as Laravel might be a better option.
Laravel is a newer popular Php framework. A framework unlike WordPress and Drupal does not come with a user interface. Often frameworks are used to build CMS such as WordPress.
Lavarel has MVC architecture, and comes with different service class options such as email, sessions, database abstraction.
What I like about Laravel
Lavarel’s active record pattern to build your friendly is developer friendly. Looking at drupal database you are going to see nodes, fields etc, and be hard to grasp what your application does.
For example, with Laravel an accounting application you could have tables, journal entry, users, assets, expenses … etc and when looking at the database you would know within 5 minutes the gist of your app. Consequently, adding developers and getting them started can be painless. Also, with Laravel migrations, Git can be used to create database schema and roll backs can be used if a bad merge occurs.
What I Don’t like about Laravel
Basically using any framework there needs a specific reason for doing so. Building with a framework is time consuming and if your use case can be easily be achieved by WordPress and or Drupal, than you are just wasting time.
Also, using Larvel on a shared hosting account is difficult. With some hosting providers they only allow ftp and a file manager to import and export files. Consequently, we would have to use a which can increase your hosting expenditures.
When would I use Laravel
With it s great documentation and artisan the command link tool, you can get big projects up quickly. A Saas application a good use case for Laravel.
When would I not use Laravel
When either Drupal or WordPress will satisfy your needs.