What tech to use for CMS and store


I have an exciting project I’m starting soon. It’s an education platform so it will need a CMS for the teachers to upload written and video (could just be an iframe from vimeo) content. There will also be classic site related material, blogs, information pages…

It will be subscription based with also the option to buy single courses for a set price.

I come from a Wordpress background so whilst I’ve been learning Vue this is my first main project.

It’s going to be a website that needs to take into consideration SEO and page speed for ranking.

I’m looking at strapi as a headless CMS but was also wondering if it’s possible to use something like netlifyCMS for the sites needs?

When it comes to using VuePress/Gridsome, Nuxt or Vue - what are the best recommendations based on the needs and where would be a good place to host?


I haven’t used NetlifyCMS - but I can offer feedback regarding Strapi.

I’ve built with Strapi, and the flexibility and ease of use is really good. You’d be able to set up majority of custom options, kind of like how you would with WordPress’ custom post types.
The only caveat that got me with Strapi, is if you need to allow a list of options for the CMS user to select. (ie, lets say you had a layout option with 3 different dropdown values). You’d need to use the Enumeration field to do so, but due to limitations of providing the data (I believe to do with GraphQL), it only has the actual “Values” displayed, not labels, which can get a little confusing for users.

Also keep in mind - coming from WordPress, there’ll be a few gotchyas. You need to manage all the services. Ie, file uploads/storage, mail servers, etc.
I normally use Cloudinary with Strapi to handle image uploads, and you can utilise services like MailGun, or even Netlify Forms for form handling.

Might be worth checking out: https://serverless.css-tricks.com/

Other than that, it’s great.

In terms of performance, as you’d be decoupling the site anyway, I don’t believe the CMS you use will impact performance too much as the data will be retrieved via an API anyway.

Nuxt and Gridsome are both super fast. VuePress is more for smaller applications / blogs.
If you’re looking at using site generators though, Nuxt is capable of doing more, and benefits from server side rendering. With all the subscription based stuff you’re doing, I’d probably choose Nuxt. Both will give you optimal speed rankings. Nuxt’s server side rendering will possibly give you a better SEO ranking, but that’s also debatable and opinionated. Nuxt also comes pre-built with Vue-Meta too.

Hosting - I’ve used Heroku for Strapi, and Netlify for the Vue site. Netlify is free, and allows for builds and continuous deployment with Git integration, so it’s a bit of a no brainer.

1 Like

Nice - you’re right, strapi has a nice crossover in terms of the wordpress custom post and field feel, which is familiar for me.

Thanks for the gotchyas! I’ll look into the options you suggested.

Think I’ll look into Nuxt as it seems the best fit for the requirements and without knowing too much about the pros and cons of all of the options I’m comfortable knowing that Nuxt should handle everything.

Do you use Mongo with Heroku?

Really appreciate your detailed response.

No problem.

I used Postgres - since that’s what Heroku’s service is mostly about.
I never really steered into Strapi’s database, it handles most of it via the Strapi UI - so database wasn’t really important to me. Either I assume would work perfectly well either way though. Strapi’s got the docs for both Postgres and Mongo for Heroku deployment.

If you were going to manage other features that wasn’t part of the CMS or handled via Strapi, for some sort of micro-service, I don’t think using Mongo would be an issue either.

1 Like

I would recommend to check out Storyblok as a CMS solution. It has a live preview of your content integrated into your site, components, and it works nicely with Nuxt and Vue. And yes, you can use MongoDB with Heroku

Thanks, I’d briefly looked at Storyblok so will give it another look. I’m not sure how important the live preview would be but it does sound like a good feature.

Appreciate the responses, it’s given me a lot of clarity. :+1: