Grav CMS | Self-Hosted WordPress Alternatives Part 2

#

When I started the Self-Hosted WordPress Alternatives series in July with a review of Craft CMS, there were several comments asking what I thought of Grav – an open source flat-file CMS that also has a really cool looking website.

I had never heard of Grav before, but was immediately drawn to it for a few reasons. It’s open source, which is one of the things that I really love about WordPress since it enables a much larger community to work on the project. And since it’s a file-only CMS, there is no database to mess around with which in theory could make development and migrations easier in the long run.

All of this sounds great, so let’s see how it stacks up!

Installation

There are two versions of Grav that can be installed – a standalone version without a UI, and a version that includes an admin plugin that creates a user dashboard much like we’re used to in WordPress.

You can download both versions at getgrav.org. Once you’ve downloaded the .zip files, you just unzip them and drop them where needed on the server.

If you’re using the Grav + Admin version, you’ll also need to configure the .htaccess or NGINX config file (there are examples supplied in the webserver-configs directory), and visit the site to run the installer, which sets up your admin account.

Winner: Grav – without the need to create a database, it’s much simpler to set up Grav. You just download the files and drop them into your server’s webroot – it doesn’t get much easier than that.

Usage

The Grav + Admin bundle includes a neat-looking dashboard that lets you manage the website and create new pages without having to manually edit any files. If you’ve used any CMS dashboard before, you’ll feel right at home:

Grav CMS dashboard

Digging into it further reveals some areas where I think WordPress handles things just a bit better. The Configuration tab contains what seems like hundreds of settings, some of which are loosely organized and lacking explanation. By contrast, WordPress has relatively few settings available in the dashboard, and most have inline explanations which can help avoid a few trips to the documentation.

Another area where WordPress has the edge on Grav is in the Media Library. Since there’s no database with Grav, there’s also no media library or centralized place to view all of the files that have been added to a page or post.

Winner: WordPress. Maybe it’s because of Grav’s developer-focused nature, or the fact that WordPress has had longer to tweak itself, but WordPress feels more intuitive in most dashboard-related actions.

Core Architecture

Right off the bat, Grav requires PHP 5.5.9 or above, which means it can take advantage of many features of PHP that WordPress can’t, due to WordPress still supporting PHP 5.2.4.

This advantage really shows when looking through the Grav codebase as it takes full advantage of PHP namespaces, dependency injection, and event dispatchers. This doesn’t just affect Grav’s core – all of this can be utilized to build cleaner themes and plugins as well.

Winner: Grav. As a newer CMS, it hasn’t stood up to the test of time like WordPress, but there’s little doubt that it’s starting off on a better foot and has a much cleaner codebase.

Themes

Like WordPress, Grav has an integrated theme repository that is available straight from the Grav Admin dashboard:

Grav theme repository

WordPress definitely has the edge in the number of themes available, but like Craft CMS, Grav bundles the Twig templating engine to make creating templates faster and easier.

Winner: Tie. While WordPress obviously wins in regards to the amount of themes available, Grav wins in having a clean templating system.

Plugins

Grav has an integrated plugin repository, which makes finding and installing plugins as easy as it is in WordPress. However, much like with Grav themes, there are a limited number of plugins (only 210 at the time of writing), compared to over 50,000 WordPress plugins. This could be good or bad depending on your perspective and the number of plugins you need for your site.

Winner: WordPress. I think at this point it’s going to take a long time for any other CMS to catch up to the number of plugins that WordPress offers, and this will continue to be one of the main selling points of WordPress for years to come.

Custom Fields

The WordPress custom field system currently leaves something to be desired. By default you can only add text fields, or use other plugins to add other types of fields.

By contrast, Grav offers support for a wide range of custom fields by default. Custom fields are defined in Blueprints, YAML files that are placed in a theme or plugin that contain information about the available fields used for a given template.

Winner: Grav. Core support for multiple custom field types is something that I’d love to see in WordPress.

SEO

Both Grav and WordPress offer SEO-friendly permalinks right out of the box, but leave the rest up to either custom code or plugins. WordPress has several time-tested SEO plugins like Yoast SEO and All in One SEO Pack.

Grav offers a few SEO plugins as well, but since they are relatively new, they haven’t had as many eyes on them and are still adding new features.

Winner: WordPress. While both Grav and WordPress have some SEO plugins to help in this area, the older and more feature-rich plugins available for WordPress beats having to set everything up yourself or use a plugin that isn’t yet feature complete.

eCommerce

This is where I think WordPress really has the upper hand. With pre-made plugins like WooCommerce and Easy Digital Downloads, it’s dead simple to create a eCommerce website with WordPress.

Grav doesn’t have any major pre-made eCommerce solutions as of yet, so you’re left to create your own solution or integrate with something like Shopify. While this may be no problem for smaller stores that just have a few products, most eCommerce websites will likely want to go with WordPress.

Winner: WordPress. I think most eCommerce stores will prefer a time-tested solution like WooCommerce, and will likely shy away from Grav for this reason.

Documentation

The documentation is one area where Grav really shines. It’s intuitive to navigate, and everything is organized well. Like WordPress, it has both regular documentation and code documentation.

Grav CMS documentation

Winner: Grav. Having the documentation so well-organized goes a long way, and it’s super easy to find anything you need. By comparison the WordPress documentation feels kind of all over the place.

Pricing and Licensing

Grav and WordPress are both open-source, with Grav using the MIT license and WordPress using GPL. Both content management systems are also free, although Grav plans to create a paid version of the admin plugin.

While I couldn’t find any hard info on the price of the pro version or a potential release date, it will be interesting to see how the pro version of the Grav Admin plugin enhances the Grav experience.

Winner: Tie. Both WordPress and Grav are open-source, which is just awesome in my book.

Conclusion

Even though I’ve only spent a few hours with it, I love Grav. I love that it’s open-source, I love that it is a file-only CMS, I love the clean codebase, the design, and almost everything else about it. There’s no doubt that it will be a strong contender to WordPress, and I look forward to seeing where it goes in the future.

While it may not be right for everyone (especially eCommerce sites), if you’re looking for a solid alternative to WordPress, I highly recommend that you check out Grav.

Have you tried out Grav or used it for any projects? If so, what did you think of it? Let us know in the comments.

About the Author

Matt Shaw

Matt is a WordPress plugin developer located near Philadelphia, PA. He loves to create awesome new tools with PHP, Javascript, and whatever else he happens to get his hands on.