When comparing Ghost vs KeystoneJS, the Slant community recommends Ghost for most people. In the question“What is the best Node.js-based CMS?” Ghost is ranked 1st while KeystoneJS is ranked 2nd. The most important reason people chose Ghost is:
Anyone can view code of Ghost.
Ranked in these QuestionsQuestion Ranking
Pro Open source
Anyone can view code of Ghost.
Pro Real-time preview
You can see markdown on one side of the pane and the result on the other, while writing.
Pro Markdown support
Markdown is a plain text formatting syntax designed so that it can be human-readable and easily converted to HTML. Markdown allows HTML code for complete flexibility.
Pro Extremely simple
It only does a few things and it does them well. Unlike WordPress, with which you can build a universe, a blog or anything in between, Ghost is simple.
Pro Theme marketplace
A built-in way to get and set up themes.
Pro Self-host & paid Ghost(Pro)-host options
You can download the source code and set it up yourself (just make sure your hosting provider supports node.js). Alternatively, you can use their Ghost(Pro) service to let them host it for you. Paid plans start at $10/mo.
Pro Custom domain support
Setting up a custom domain is effortless - fill the in the form and change DNS entries. Done.
Themes may be uploaded, as can logos and covers.
Pro Free hosting on Github Pages via Buster
You can host your Ghost blog for free on Github Pages if you are OK with it being turned into a static site. You can use Buster to generate a static site from Ghost that can then be hosted on Github Pages.
Pro Affordable hosting available
There are lots of affordable hosting plans available for Ghost blogs.
Pro Keystone comes with Express already configured
Express comes out of the box already configured from Keystone or it can be treated like any other Express Middleware.
Pro Out-of-the-box Admin UI
Keystone comes with an auto-generated Admin UI, which makes things very easy for any task that can be completed using Keystone. In any way Keystone is used, the Admin interfaces saves a lot of time and makes any job easier.
Pro Numerous amounts of templating engines are supported
Keystone supports almost all templating engines out there. Although it uses Jade directly after a fresh install and it points to using it further, other template engines can be installed and used instead.
Pro Keystone uses MongoDB through Mongoose
Keystone allows the usage of MongoDB since it comes with Mongoose, the most popular ODM for node and Mongo, this means that anything that is built using Mongo can be built with Keystone.
Pro Easy email management features
With Keystone it is easy to set up an email management system for an application. It has template-based emails and it's also integrated with Mandrill (Mailchimp's transaction email sending service)
Pro Easy to install and use
KeystoneJS is very easy to install and use.
Pro Effective session management
Keystone has advanced and effective session management and authentication features. Logging in and signing up is easy and it even has password encryption out of the box.
Pro Keystone has easy form processing
Using the data models defined by the developer, Keystone can validate forms automatically without any more setup. Form validation doesn't get easier than this.
Con Self-hosted might be hard to setup
Requires NodeJS and NPM which both come with a lot of dependencies. Also requires editting configuration files manually.
Con Commenting must be added
One needs to edit their post.hbs file and add some code from Disqus in order for commenting to be available.
Con Very immature and buggy
Con Inappropriate terminology in the UI
Despite some community support of having it removed, Ghost still prominently uses the following phrase in the UI: "Display a sexy logo for your publication." This terminology can be considered exclusionary and even inappropriate in a professional environment.
Con Finding Ghost host sites can be difficult
If wanting to host elsewhere, some of the other ghost hosting sites are hard to find, and once found they vary in features and functions. There isn't a single standard of service across the board.
Con It does not have a built-in roles system
Although registering a new user is very easy, there is not any roles system out-of-the-box. There is only a check box "Access keystone" which gives a user full administrative power. Adding different kind of users is only possible by editing the user data model.
Con No default option to add pages in admin panel
Con Packaging externals libraries is tricky
Unless you want to import every JS.
Con It's hard for front-end developers with no MVC experience setting up views
Keystone follows MVC practices in managing routes, views and templates. Back-end developers with experience in working with MVC frameworks will find themselves at ease since the beginning, but developers who work on the front-end only will have a hard time finding what they are supposed to do to set up templates and such.
MongoDB is required to be up and running and a Yeoman generator is used to generate the application. Although the prompt based start-up in the command line helps you a lot, it still can be hard for someone inexperienced with NPM and Yeoman.