
State of Self-Serve Website Building in 2020 - nreece
https://sprune.com/blog/state-of-self-serve-website-building-in-2020/
======
ovi256
I really like forestry.io, which lets you choose the static site generator
system and then host the generated static site on Github Pages or other static
hosters.

It's basically the missing glue for the manual operations you would normally
do on your own computer if you went the Jekyll/Hugo static site generator way.
But you don't need to maintain a development environment on your machine.

After the initial setup, a non-developper can use forestry as easily as
Wordpress.

------
bloudermilk
As someone who's been building websites for 15 years, I can't say enough good
things about this trend. I work primarily with early stage startups, often
pre-product, building prototypes and V1s. The primary objective of the teams I
work on is to validate product strategy, which requires moving quickly to de-
risk initial development and iterate.

The past few years has completely changed the way I execute this strategy.
Leaning heavily on products like these that allow us to develop software with
very little or sometimes no code at all. It's nuts what you can build in a few
days.

Discovering Rails in 2009 was the last big shift for me in this way, with
tools like scaffolding to build out the skeleton of any dynamic CRUD section
in a few seconds. Still, it wasn't uncommon to subsequently spend days or
weeks getting specific sections of the site to reach parity with designs.

Some people talk about how this trend is a threat to web developers like me.
While it's true that it's never been easier for anyone to build high-quality
dynamic websites, that position completely overlooks the benefits for
traditional web developers. This new toolchain is like having superpowers for
a very specific type of development. Pairing that with solid knowledge of web
fundamentals and the ability to "grow up" beyond the limitations of the system
is a recipe for delivering work faster than ever before. For most early-stage
startups, fast & cheap is #1, but if you can deliver quality on top of that,
you're golden.

------
volkandkaya
Thanks for mentioning [https://versoly.com/](https://versoly.com/)

One of our coolest features especially for the HN crowd is a code editor built
into the browser that updates the website in real time.

Something that I felt was missing from all the other website builders at the
time and still is.

------
asicsp
I'm currently using a Jekyll based theme to host my blog via GitHub pages.
I'll most likely switch to static-site generator using zola [0]. I don't much
know about web development, but fine with markdown based site generation. Was
struggling with zola docs, until I found that I can simply clone themes [1]
and replace the sample posts. I'll go through settings later. Best thing I
like about zola is that I get a single binary (this is based on rust) and I
don't have to fiddle with npm, etc.

[0] [https://github.com/getzola/zola](https://github.com/getzola/zola)

[1] [https://www.getzola.org/themes/](https://www.getzola.org/themes/)

~~~
AnonC
I had a quick look at Zola sometime ago while looking for alternatives to Hugo
(which is written in Go, but is also distributed as a single binary). But it
seemed like Zola had fewer themes available. As a non-designer, having great
themes available (for free, preferably) would be a good starting point.

~~~
asicsp
I wondered why you say _fewer_ themes for Zola, there were so many to choose
from and I had a hard time to decide (and I might still change it in future).

I just checked for Hugo, and it certainly has so many more compared to Zola.
Something to keep in mind for future, but I am more than satisfied with Zola
for now.

------
seriocomic
I've recently jumped on the static bandwagon after being an early adopter and
user of WordPress since CafeLog/0.71 days. What a blessing it has been.

I've taken two different approaches: 1\. Maintain a local WordPress instance
that builds the site using all the theme/plugin magic that WordPress is famous
for, but have a static-export of that into Github -> Netlify.

2\. Small sites being powered by Cloudflare Workers - using pure JS.

The jump to React.js / Vue / Go / Ruby et.al for an old PHP/HTML/CSS hack like
me was too hard (and I tried them all!), so I settle for WordPress (the devil
I know) for the build/back-end, and incorporate and embrace static on the
front end. This separation is key - in my mind - for speed and security.

~~~
justaguyhere
How do you handle search?

~~~
seriocomic
Search and comments are the casualties of static-sites - unless you bow and
crumble to the use of something 3rd party (Disqus or Google Site Search to
name some poor examples)

~~~
vidar
Can't you point algolia at a static site and get decent search or have I
misunderstood?

~~~
andreasha
You can check out Lunr. The Jekyll theme Minimal Mistakes has that as a search
option and builds a JSON index file.

The demo site uses Algolia though [https://mmistakes.github.io/minimal-
mistakes/](https://mmistakes.github.io/minimal-mistakes/)

------
jake_morrison
We built a website for a film festival using a static site generator,
deploying to AWS S3 + CloudFront Content Delivery Network. A few months later,
the client asked about shutting it down to save money. Turns out it cost $0.05
for the month it was active, and $0.01 in the previous month.

~~~
tehbeard
How much traffic did it handle for that $0.05?

~~~
coldtea
Static, with S3 below and Clouflare on top? Tons...

~~~
dclusin
CloudFront != Cloudflare

~~~
dexterdog
For almost everybody it is == just not ===

------
laurieg
Often I show people how to write simple HTML and CSS sites. They are usually
just making simple single page sites but they are extremely satisfied by being
able to do it themselves.

What is the simplest way to get these single file HTML sites hosted?
Preferrably without having to teach another tool or language?

~~~
mellavora
Put it in an AWS S3 bucket.

use aws command line tools to sync to your local repo

easy way:

aws s3 copy index.html s3://<mybucketname.com> \--profile <awskeys for this
client>

hard way:

cd <mywebsiteroot dir>

git pull ## if needed

<website builder> ## i.e. webpack, angular, whatever

aws s3 sync public_html s3://<mybucketname.com>/ \--profile <awskeys for this
client>

~~~
yonixw
The problem with beginners and S3, is that they can't handle the billing side.
Both calculating (outbound? same region? edge location?) and monitoring if
things go south. Beginners will prefer the site going down rather than paying
extra.

~~~
ghaff
Yeah, I use S3 myself for a static website (as well as podcast hosting and
misc other stuff). But the lack of hard cost circuit breakers make me hesitant
to recommend AWS in general to beginners for casual storage and hosting.

------
codeulike
Odd not to mention services like Wix and Weebly and Squarespace, which is
where most non-techie people wanting to self build a website would end up.
Perhaps this post is aimed at the more technical end.

edit: Oh right self-serve means self-host, not just self-build.

~~~
arkitaip
Squarespace et. al. are not self-serve.

~~~
jerrygoyal
if you mean self-host by that, then the author has also mention webflow which
is not self-host afaik

~~~
DoctorOW
IIRC it provides a download (or at least it did a few years ago when I used
it) for selfhosting if you just generate static HTML.

------
lksnmnn
I've recently discovered Publii
([https://getpublii.com/](https://getpublii.com/)).

The single big plus for me is, that it allows me (as a DEV) to provide the
typical non-DEV user (aka my mother) with a simple, non markdown user
interface to edit and update the page on her own.

~~~
arkitaip
Publii almost gets it right. There's still the issue of getting hosting,
setting that up, managing it etc for non-tech people. Your use case is great,
though.

~~~
marc_io
Hosting a static website is not that difficult. The quickest way is to upload
the zip file generated by Publii on the Netlify “drop” page. The domain
configuration is more challenging than that.

------
rapnie
Site.js fits the use case really well. Designed for simplicity, based on small
technology principles by Aral Balkan.

[https://sitejs.org/](https://sitejs.org/)

------
bitxbit
I will be honest, I didn’t think Wordpress would last this long. However,
there are some great (free) alternatives to getting a website up and running.
Google Sites is one not mentioned in the article. It can handle basic needs
for most people without technical skills. Speed is not the greatest however.
With something like Tailwind CSS it’s very easy to create a static webpage to
host on Github/Netlify.

~~~
k__
_" I didn’t think Wordpress would last this long"_

Same here.

Funny thing is, just a week ago I read that some people would say WP is "no
code". I had the impression almost all of WP's success was based on countless
web agencies coding customizations for it.

~~~
dageshi
Page builders have come a long way, a lot of agencies will use something like
Elementor now because designers can effectively build a lot of pages in real
time as opposed to doing the traditional psd->custom theme route.

------
onion2k
I've been rebuilding a couple of sites using
[https://11ty.dev](https://11ty.dev) lately and it's by far the best static
site generator I've ever used, and I've used most of them. Everything I've
tried to do has worked pretty much first time in exactly the way I'd have
expected.

~~~
mbajkowski
Been enjoying 11ty very much as well as of lately. Most of the things have
worked for me first time around as well. One thing which has tripped me up has
been the flexibility of the different template engines, and in what order
files get processed during build when one mixes markdown, njk, liquid etc.
That section is worth reading carefully in the manual. Other than that, simple
as heck with very few constraints.

------
neiman
We (Almonit) focus on Dwebsite: websites that connect decentralized storage
with decentralized name service. Works great at the moment without any server
or 3rd party.

[http://blog.almonit.eth.link/2020-05-21/Introduction_to_Dweb...](http://blog.almonit.eth.link/2020-05-21/Introduction_to_Dwebsitse.html)

------
sgt
Apple should bring back iWeb. It was an easy way for non-technical people to
design a web page as if they were creating a document in Pages. Sometimes all
you need is a simple static page for yourself or for your small business.

~~~
benbristow
Microsoft FrontPage!

~~~
arkitaip
I've been thinking about creating a spiritual successor to Frontpage and
Dreamweaver for years. A good ol desktop program built for easy and fast
publishing and app prototyping.

~~~
ObsoleteNerd
I feel like we’re at a point where a modern frontpage would work. Make it
cross platform (including maybe a simple mobile version) and have it push
static sites to Github Pages (with an option for other hosts). Integrate some
domain purchasing and setup with info@domain redirecting to an email address
of choice.

Squarespace but with an actual layout editor like Word.

~~~
sgt
Lets do this. Maybe this comment thread will spark the creation of an actual
app. How do we get in touch?

------
avec_fromage
Good article. Pity that it doesn't mention RocketCake in the list of website
builders, but apart from that it gives a very good overview.

Ironic that we are moving back to static websites, but I think that's actually
a good thing.

~~~
potatoketchup
Why should RocketCake be included in the list?

------
axegon_
On that topic, I am all in favor of static sites hosted on github. But the
static site generators, the way I see it, weren't self-contained. That is, you
still needed to go through a build process. And after a lot of poking around
and digging about, I built(and subsequently open sourced) this[1]. Kind of a 1
hour coding-session kind of thing but for anyone out there looking for
something entirely self-contained and stupid simple, there you are...

[1] [https://rorigami.site/](https://rorigami.site/)

------
worldmerge
I really wanted to like Ghost but it seems out of touch. Like the only social
media options by default are Twitter/Facebook, the plugin system is just
zapier connections, themes are limited, and when I tried to self host because
the official ghost hosting is expensive I only ran into bugs with it. After
spending a week with Ghost I moved to Wordpress. I wish I could use the themes
on Ghost with Wordpress because all of the ghost themes are what I want for my
site. I want the nice parts of Ghost with a Wordpress backend.

~~~
Zippogriff
WordPress has an official REST API. It's pretty easy to rip post/page content
out of it either on a schedule (cron) or dynamically, in either case rendering
finished pages from templates or similar, and serve it without involving WP
directly. I'm not too familiar with static site generators but I'd expect any
that can take raw HTML for post/page bodies to be trivial to automate to serve
such a pipeline.

[https://developer.wordpress.org/rest-
api/](https://developer.wordpress.org/rest-api/)

~~~
marc_io
Sure, pretty easy for developers, not for the general user.

------
messo
A question for people that have experience with both Hugo and 11ty: What are
the main differences and which one do you like the best (and why)?

~~~
ValentineC
They're battery-included in different ways. Hugo is fairly opinionated, while
11ty seems to be a bit more extendable with JavaScript.

------
FrontAid
If you are using any tool that stores its content in JSON, you can use
[https://frontaid.io/](https://frontaid.io/) for that. FrontAid is basically a
CMS for JSON files. And based on that JSON content, you can then generate a
static page or use it for whatever you want.

------
x87678r
As a non-front end guy I thought nextjs would be an easy way to create a good
site. Do not go this route!

------
quyleanh
Great article about summarizing building a website.

I have recently switch from Wordpress to Hugo with Gitlab and I never complain
about speed and performance anymore.

11ty is gaining more attention and it looks like a good choice for the one
considering static site.

------
aczerepinski
This isn't a solution for non-tech people, but I've really enjoyed making a
blog that sort of sits in between database-backed and Jekyl/Hugo. Got the idea
from Jose Valim's dashbit blog. Basically a folder of markdown files that gets
parsed into memory on startup and then served dynamically from there.

A Go app that doesn't need to hit a database has response times nearly as fast
as static, and you can still do things like including related content ("more
like this") at the bottom of a post, or pagination/filtering on the index
page.

~~~
withinboredom
The same can be said for vanilla WordPress with modern PHP. I generally see
sub-100ms responses, even better with fpm caching built into Nginx.

------
ourcat
Re: 'Headless CMS' in the article: Since the introduction of the JSON REST
API, I've been using Wordpress as the back-end to various personal and
professional projects, built on various web and native mobile frameworks.

One of the good things about Wordpress is the familiarity to it from the
people who have to use it. (Authors/Editors/Contributors). (Though, I'd say
Gutenburg might stir that up a bit).

Also, once you learn how to write plugins, the sky's the limit really.

------
cbm-vic-20
A bit of a side-question for those using static site generators: how do you
manage binary assets like images? I keep my Markdown, configuration files,
etc. in git, but I don't want to put binary blobs into git. git-LFS seems to
be an option, but it doesn't look like there's much support for self-hosting.
For now, I'm rsyncing assets to the right place as part of the generation
process, but There's Got To Be A Better Way.

~~~
efficax
Why not put them in git? Works just fine

~~~
tpxl
Git is not exactly well suited to having large blobs. If you change a single
bit and git doesn't know how to diff it, you'll get a whole new version of the
file, balooning repo size.

------
phendrenad2
I wish for a simplified, security-focused fork of Wordpress.

~~~
Jiocus
Maybe a longshot for your case, but Ghost[1] was developed as a simplified
alternative to Wordpress. Their feature list[2] bring up several security-
focused design choices.

The original idea of Ghost was made by John O'Nolan, then a lead dev at
Wordpress Foundation.

[1] [https://ghost.org](https://ghost.org) [2] [https://ghost.org/feature-
index/](https://ghost.org/feature-index/)

------
SahAssar
Considering the title of the article and that it's only talking about self-
hosted(-ish) solutions it feels very weird that it only mentions one CMS. I
get that it says "I'll review my top choice to keep things simple", but CMS'es
are probably the most common solution to what the article talks about and the
title implies that it will be comprehensive.

------
maple3142
I am currently using Hexo to generate my blog, then post processing
(optimization) using gulp, and using CircleCI to build on push and publish to
GitHub pages for me. Contents are just several Markdown files.

Whole setup:
[https://github.com/maple3142/Blog](https://github.com/maple3142/Blog)

------
CJefferson
Is there any static website builders which make it easy to execute code at
build time?

They all have a templating language, and sometimes I just wanna write a quick
function to do something like read a file, chop something out and wrap it in
some html -- something that would take 8 lines of Python.

~~~
lattice_epochs
Probably mentioned earlier but I'd recommend Gatsby if you're just looking for
a simple static site.

Though, we switched over to Next recently to take advantage of SSR.

~~~
CJefferson
I'll have a look -- I've previously tried Hugo, pelican and Jekyll and while
pelican and Jekyll provide extensions, they just seem so heavyweight to write.

------
tonyedgecombe
I still miss CityDesk from Fogcreek, it was spot on for my requirements.

[https://www.joelonsoftware.com/2001/10/12/what-does-
citydesk...](https://www.joelonsoftware.com/2001/10/12/what-does-citydesk-do/)

------
vicjicama
I am working on www.pagews.com, it's a self service alternative, the static
sites are based on the content of a spreadsheet/api and deployed to a CDN.

The site pagews.com is generated using the service for example (including
capture forms back to the sheets).

------
ignoramous
> _You can self-host it on a small server (one-click deployment on a $5 VM on
> Vultr or DigitalOcean will do)_

Having hosted a ghost blog before, this is the wrong way to think about it.
You'd need to run a separate instance of a database which costs $15 on
Lightsail with periodic backups.

Running the database instance on the same $5 machine is one disaster away from
a lot of pain. It is so much better to use github pages or static page
generators over Netlify, since a database really seems like an overkill for
simpler blogs.

Someone wiser than me once said [0]: _Why are you doing all this? Your entire
database fits in RAM_.

[0]
[https://twitter.com/apenwarr/status/1095441483065380867](https://twitter.com/apenwarr/status/1095441483065380867)

~~~
Jiocus
As a Ghost self-hoster, I can confirm I don't require the use of any database
for "$15 on Lightsail with periodic backups".

Depending on your requirement you can use any instance of MySQL/MariaDB -
managed or self-managed. You could run a separate $5 MariaDB DigitalOcean
droplet. Ghost Foundation provides their 1-click Ghost droplet bundled with
MySQL, but you're not restricted to it.

And yes, SQLite is also an option.

Suggesting a "need" to run fault-tolerant database operations doesn't quite
concile with running it in RAM only.

~~~
ignoramous
> _I can confirm I don 't require the use of any database for "$15 on
> Lightsail with periodic backups"._

Yep and then you'd be subject to what they call
[https://en.wikipedia.org/wiki/Single_point_of_failure](https://en.wikipedia.org/wiki/Single_point_of_failure).

> _Suggesting a "need" to run fault-tolerant database operations doesn't quite
> concile with running it in RAM only._

The wisdom is: You don't need a database at all to avoid SPOF. Use static
pages and let Netlify and others cache them in their CDNs world-wide ("RAM").

> _Ghost Foundation provides their 1-click Ghost droplet bundled with MySQL._

And how much does that cost?

~~~
selykg
> Yep and then you'd be subject to what they call
> [https://en.wikipedia.org/wiki/Single_point_of_failure](https://en.wikipedia.org/wiki/Single_point_of_failure).

It's a blog, not a mission critical site. I suspect MOST blogs get so few
views that it really isn't a huge deal. If you have the need for more
stability and availability, then paying extra isn't a huge deal.

~~~
ignoramous
> _If you have the need for more stability and availability, then paying extra
> isn 't a huge deal._

There, that was my point: One could pay exactly somewhere in the region of $0
to Netlify and still have that.

~~~
selykg
I see you're one of those people that base everything on price and not on
other things. Got it.

~~~
ignoramous
You'd do better to take arguments at their merits than resort to ad hominem
attacks.

To your point: Yes, Ghost is much more than Hugo / Jekyll will ever be, but
then again, most people aren't building a News site to actually want the
features Ghost has to offer.

I mean, there's absolutely a market for software like Ghost and WordPress (or
they wouldn't exist, especially in WordPress' case they absolutely dominate
that market), but if you're the kind to run Ghost with SQLite then may be you
should instead give static site generators a look.

------
js4ever
Please add Cloud CMS and Cloud Backend from
[https://appdrag.com](https://appdrag.com) to the list. It's giving more power
to developers compared to other tools

------
brainlessdev
There is also [https://www.jimdo.com/](https://www.jimdo.com/)

It offers a good experience for e-commerce and blogging.

------
petra
Given those tools, and especially Webflow, is Wordpress mostly on the way out
for new sites, and only be used in maintenance mode ?

------
nefasti
Dude, you just made me cry. Intense experience. You got something good there
on the guided and the naration experience.

------
reiichiroh
Nothing about security?

~~~
PudgePacket
Most of the options are hosted or static, which are generally "secure enough"
for the intended audience.

As soon as you're self hosting now you're doing server admin etc and that
would be outside the scope of the article.

