Hi, @andrew81. The guide you linked to is using a WordPress instance as a CMS. In that scenario WordPress is running “somewhere else”.
does this mean that I must run WP locally and therefore that I must allow access to my own local server in the future for my friend’s blog to be accessible to her and to the rest of the world…
That is one solution. Another solution is to pay for a WordPress instance “somewhere else”. You are correct that you cannot host WordPress itself at Netlify.
Let’s stop for a moment and address the real question here. I think this question is this:
How do you make a a site which does the following?
- My friend be able to log in remotely
- Write content (blog posts)
- Customise the look and feel of the site.
This is all possible without using WordPress. WordPress does it also but you are asking this question on a community site for a platform that specifically does not run WordPress.
So, let’s completely ignore WordPress for now. How do you solve this without WordPress?
First, please understand there are literally countless possible solutions. I’m going to pick one specific solution to highlight what a solution might look like. Picking the right solution for you is up to you though.
One solution is to use Hugo and Netlify CMS:
Hugo is a static site generator (SSG). Netlify CMS is a content management system (CMS). Note, Hugo uses markdown for post content so you friend must still be able to write markdown to make new blog posts using Hugo.
What is a content management system? Well, it is a system to manage content on a website without the save level of knowledge as a web developer. This content might be product inventory, blog posts, collections of images, etc.
Note, using Netlify CMS to update the Hugo site depends on Netlify Identity and Git Gateway.
In the Smashing article you linked to, WordPress is being used as an external CMS. This requires a WordPress instance somewhere. WordPress requires an HTTP server, a PHP application servers, and a MySQL database running.
With the WordPress example, WordPress itself is the CMS and it is using MySQL as the backend datastore.
In the Hugo plus Netlify CMS example, Netlify CMS is the CMS and the Git repository is the backend datastore.
The only thing missing is the customize the look and feel requirement. With a Hugo site, this is done using “themes”:
Note, configuring a new Hugo theme is not done via Netlify CMS (or if it is I don’t know how to do it that way). Configuring the Hugo theme would be something that would be more technical than writing a new blog post but it would only need to be done once (or as often as you decide to change the theme). You would likely need to configure a theme for your friend and make updates if they wanted changes.
Now, all these pieces (the CMS, SSG, and theme) are just like “lego bricks”. What do I mean by this?
There are numerous Hugo themes to choose from or you can write your own. You can pick from many and they can be interchanged similar to adding and removing lego bricks.
Hugo itself is a “lego brick” in the SSG role. There are many SSGs to pick from. Hugo is just one choice.
(Note, Hugo themes probably won’t work with a different SSG but most SSGs have a theme system of some kind, for example Gatsby themes.) You can even write a new SSG if you want to. There are literally countless options for SSGs (countless when you including writing your own).
Netlify CMS is a lego brick in the CMS role. There are many great CMSs to choose from. For example, Forestry can also be used with Hugo (or other SSGs) and can be use instead of Netlify CMS. I hear Forestry is an incredible CMS. (I really love their tree logo too but that is neither here nor there.)
I’m trying to point out is that there are so many options to choose from! Countless options! Write you own options! Use an API powered by potatoes for electricity! The choices are up to you!
What I cannot do is to tell you what is right for your use case. (I can sadly rule out potato power as a reliable long term solution - at least for now.) None of this is designed to be a drop in replacement for WordPress.
If you want to know, “How do I make Netlify exactly like WordPress?” Then the answer is almost certainly “you cannot”. However, you can make something “similar” and what to use depends on you.
If you want to use any of these tools you will need to learn new technologies and what is needed to make them work together. You will need to research the various SSGs (and themes), CMSs, and other tooling available. The choices which are best for you and your site might not be the best fit for someone else. Only you can say what is best for you.
If you have a specific question like: “I’m using SSG X and CMS Y. How do I do Z?” then we can probably help because it is a specific question.
Again, I would say that step one should be deciding what tools you want to use and then move forward with specific solutions from there.
If you are trying to move away from WordPress though, I would not recommend using WordPress in the CMS role. To do so begs the question: Why move to a different platform which isn’t WordPress just to make WordPress a dependency again?
Please also note that, if you do decide to use WordPress for a CMS, I don’t think any of our support team has much (if any) experience with it so any WordPress questions will likely only be answered by other community members.
Maybe other people can recommend their favorite solutions. At the end of the day though, you will still need to make the decision about what is best for you.
Personally don’t use a CMS. I make new posts using a text editor to write markdown, Hugo for the SSG (plus a theme), and a Git repo at GitHub - again not using a CMS at all. Why do I like Hugo? Well, I like Go and Hugo is fast.
If you like Ruby, maybe Jekyll will be the SSG of choice for you. If you are a Node,js person, maybe Gatsby (above) or Hexo is more your style. I do recommend picking a tool that uses a language you enjoy and/or feel most comfortable with.
I’d love to hear what other people are using. If someone else has an opinion and wants to chime in here, please do feel free add your comments here.