The Case For OctoberCMS

I've been looking for something to build websites for small and medium businesses. Something that is flexible, gives a great developer experience and can be easy for clients to use.

OctoberCMS started in 2014 and was built with Laravel. It is intended to be easy to use but also friendly for developers. It has around 10 and half thousand stars on Github which show it is well liked by the developer community.

The Client User Experience

The backend interface is quite simple, clean and nicely laid out. Anybody who has used WordPress, Drupal or Joomla will not have trouble adapting.

The main backend menu icons are spread across the top. If sub menu items are needed, the they are on the left hand side. This makes it logical and intuitive.

It comes with a WYSIWYG editor. Which makes it easy to edit content. The default editor is Fraola. It is a nice, we regarded editor. This makes it easy for clients to update their own sites.

For most CMS's media and asset manage still have a way to go to be properly user friendly. Many lack the ability to simply drop a picture onto a page like you can with MS Word. Behind the scenes, this type of feature requires a lot of work with JavaScript. The OctoberCMS experience is more akin to standard WordPress or Drupal. You add the files to a media manager before they go onto a page or post. The Fraola editor offers this workflow with no fuss.

October is fast. Fast sites make search engines happy. I did a Google Lighthouse test on my site and it came up with a perfect 100% score. This was on a local development server so it is not representative of real world conditions. Running the same test on the live server wasn't 100%, but still a respectable score.

SEO is quite good with October. There are a couple of nice plugins that handle things like meta tags, canonical links, xml sitemaps and open graph. It doesn't have the sophistication of Yoast for WordPress but it still does a very good job.

Commerce

October can also be extended for commerce. There are a number of free and paid plugins that can be used to build a shop. Most of the plugins seem to be quite fast which will give users a good experience. Good user experience is better for SEO and sales.

The Developer Experience

October is built on top a Laravel. It is relatively new. It has minimal functionality to start with. This also means it doesn't come with a bunch of stuff you don't need. You add to it what need. This makes it easy to build fast websites.

It has a smooth installation process. There is a nice graphical install script or you can use commands in the terminal. You can use Laravel artisan commands plus a few specific to October tor un updates/ It also uses the Composer PHP package manager.

Out of the box, it handles flat files only. You need to install and attach to a database to get access to a backend.

It uses Twig templating engine which helps to organise templates. You can set up layouts and extend them for pages. It makes maintaining template code easy.

The backend editor has some Emmet functionality. It won't match an editor like VS Code or an IDE like PHPstorm but still does a good job. It's a nice feature to be able to edit files online.

The documentation is very good which helps developers find answers to questions. There is a user forum. This could be used better. There are around 3,300 on Stack Overflow.

Plugins for October are not part of the core. This makes it easier to build custom plugins. It also means you can add or remove plugins without effecting the core.

October comes with its an AJAX framework. This gives developers a head start in making interactive sites. It is based on jQuery which won't be to everybody's taste.

Plugins

October has around 900 plugins including paid ones. That is considerably fewer than WordPress or Drupal. This is probably a case of less is more.

My personal favourite is RainLab's builder plugin which allows you to easily scaffold your own. Great for creating custom content types. Most projects also include RainLab's Pages & Blog plugins plus Arcane SEO. That set up allows me to build lean and fast websites for clients without the overhang you get from WordPress and Drupal.

Themes

Drupal and WordPress themes are like a skin for content. Change the theme, you keep to content with a different look. Themes work a little differently in OctoberCMS. They also include content in flat files. This means you can't change themes without porting over a lot of content.

Theme development in October is relatively straight forward. It is based on the Twig templating engine. You start with a layout template and add partials for repeated content blocks.

Security

October is built on Laravel so it inherits many of Laravel's features. The default backend url for October is /backend/ but this can be easily changed in the settings to something more difficult to guess. That can help mitigate brute force attacks. Another feature is it separates admin users from site users. This means accounts that sign up will never be able to gain backend admin privileges.

It can be run as flat file CMS without a database. This avoids database related vulnerabilities such as SQL injection.

Advantages

Disadvantages

Conclusion

OctoberCMS is not perfect. Perfection doesn't exist. It is a solid platform for a small business site. It is flexible and developer friendly. It has a refreshing back to basics approach. The backend is nicely designed and easy to use.

It doesn't have the bells and whistles of WordPress or Drupal. This makes it fast. Sometimes you need something that does one job and does it well. OctoberCMS fits that bill.

Posted in Thoughts on Mar 01, 2021