
Ask HN: Do you suggest static site generators to your customers? - 12s12m
Do you suggest static site generators to your customers? How has your experience been with this? What are the services you use for a complete setup?
======
tombrossman
Yes, definitely, but I have no expectation that they will be the ones managing
or updating it. My pitch is basically "I'll do the site and you can email me
.docx, PDF, giant 20MB JPEGs, whatever, and I'll manage it for you".

This is even easier then something like WordPress for them, and much simpler
for me. WordPress deserves credit for its ease of use for non-technical
people, however I don't view this as a good metric for what to choose for a
website.

I deliver the _site folder as a finished product and put it on Cloudfront with
HTTPS. That's about as simple and unbreakable as it gets. Customers can then
pay a monthly retainer or occasional hourly rates for updates. If they want
the source files to run the generator on their own machine that's fine too,
but it costs extra.

The model isn't that much different from a wedding photographer.

------
michaelt
I use a static site generator for my blog - but as I only post once or twice a
year, I generally find I'm fixing broken static site generation about as often
as I'm writing a blog post.

Using a mac? I hope you've got xcode installed to give you command line tools.
No, you can't get that to work without logging into your Apple account. Right,
now just install these tools using homebrew. Oh, homebrew's giving some git
error? Sorry, you're on your own. Got homebrew working? Right, better make
sure you've got ruby and gem and python and nodejs installed. Still doesn't
work? Oh, that's because you're missing redcarpet, just gem install redcarpet.
It didn't work? Oh, guess I actually need a development version of ruby.

Moved to Linux? Good news, there's a jekyll package right there. Bad news is
it's outdated and won't build your site. Time to install ruby and gem then use
them to install jekyll. Didn't work? Oh, you don't want that version of ruby,
you need the development version, gotta have the right files so you can
compile things as they download.

So no, I don't recommend static site generation to anyone who isn't a veteran
error-message-googler.

~~~
thangngoc89
Hey, I think you're mistaking static site generator === Jekyll. My favorite is
Hugo[1]. Just grab the binary and it can run everywhere. I mean everywhere. No
need to setup the build tools, environment

[1]: [https://gohugo.io/](https://gohugo.io/)

~~~
beat
I switched to Hugo too. I haven't really dug deeply enough into it, though.

~~~
thangngoc89
If it's working for you, no need to dig it. That's my principle.

------
rolae
There are now several competing nice services, that give you and your customer
a UI to edit your static site with a webtool.

[https://cloudcannon.com](https://cloudcannon.com) /
[https://forestry.io/](https://forestry.io/) /
[https://www.siteleaf.com/](https://www.siteleaf.com/)

With all of them you can set up nice content type templates and get your
client to put structured content.

edit: formatting

~~~
thangngoc89
Also * [https://datocms.com](https://datocms.com) *
[https://prismic.io/](https://prismic.io/) *
[https://www.contentful.com/](https://www.contentful.com/)

~~~
tootie
Contentful and Prismic are ones I'm familiar with and they actually support
both static generation and API-driven so you can take an incremental approach.

------
yawninganalyst
Many clients simply don’t need a website let alone a framework such as jekyll
/ git-pages. Keep it simple. Knock up a Facebook page. “Hey! We make pies,
come buy some”. Job done.

~~~
leipert
My advice would be: Add a simple landing page on a matching domain which
contains opening hours, address phone number and the logo. And add an entry to
google maps, (bing?) and apple maps.

------
caseysoftware
Depends on the use case.

For a general site that's going to be maintained by a non-technical audience?
Absolutely not. They need a WYSIWYG editor instead of markdown. "Deploy" for
them has to be a "publish" button. Keep it simple with a self-updating
WordPress on WPEngine or similar.

For API documentation sites, I use Jekyll and Slate all the time. They're
going to be maintained by developers so markdown is easy. Version control is
key. And syntax highlighting is important. We use Jekyll at Okta and it's easy
but powerful enough to solve the big problems quickly and easily.

~~~
xref
Second just deploying wordpress on WPEngine for them, maybe put them behind a
free CloudFlare account for the CDN. But offloading the security and caching
instead of dealing with WordFence and W3 Total Cache plugins etc is well worth
the "expense" of wpengine, which isn't much expense at all for any kind of
actual business that generates revenue.

------
shakna
Yes. But they don't know it. They just know that their site is faster than
their competitors.

I've got a smallish piece of JS that gives the client a WYSIWYG editor, which
speaks to Firebase.

When Firebase gets an update, it triggers a rebuild.

Best of both worlds.

~~~
lenomad
That's very interesting. Is any of this code open-source?

~~~
shakna
The Firebase part?

I'm afraid not, but mostly because it's both simple, and fairly reliant on
architecture.

Basically the process is:

Firebase authentication -> Content editable editor -> Firebase database update
-> GitLab CI -> Pandoc & bash to update static site to latest Firebase ->
Deploy to website

------
fimdomeio
No. It's very easy/cheap to setup something like wordpress. Teaching a client
how to generate a static site is dificult and clients will have to go back to
the documentation if they don't use it for a while. If you have a ui you only
have to remember the /admin url and everything else is just looking at the
screen and clicking the right thing.

~~~
BeetleB
The issue with any dynamic site is security. You can't set up Wordpress and
forget about it. There has to be some mechanism for updating to the latest
version for security (which may break any plugins/themes).

~~~
xiaoma
WordPress has had one-click updates for years and makes it easier than any
other CMS I've seen. It's been doing a fine job and powering 25% of all pages
on the net and growing.

~~~
qznc
The problem is that updating plugins very often breaks stuff.

~~~
ComputerGuru
I've been running a heavily customized WordPress with literally dozens of
plugins since 2005 and that has most definitely not been my experience.

~~~
qznc
One I can remember is that Facebook's official plugin stopped working and we
had to switch to some other social integration plugin.

Another one was the embeded media player which just disappeared. That was
somehow related to shortcodes.

------
Rjevski
Static site generators are too complicated for the general public. I usually
recommend Ghost, which is like Wordpress but done right, without the security
issues and the awful code.

------
RobGav
I strongly recommended Publii, new true static CMS. It comes with GUI and
themes and supports a lot modern, popular hosting option: S3, GitHub Pages,
Netlify, Google Cloud or SFTP.

[https://getpublii.com](https://getpublii.com)

------
garethsprice
Went through a phase of recommending SSGs for some client projects. Worked
well for very small projects (landing pages or one-off microsites) or for
clients where we had ongoing maintenance agreements. However many clients
ended up feeling short changed that they couldn't update the site themselves
(despite being told this up front and opting for SSG as the cheaper option).
I'd not recommend it for non-technical clients.

------
alexcabrera
Plug: Our publishing platform — [https://proof.pub](https://proof.pub) —
combines an editorial suite, API-based CMS, and Javascript/Sass SDK for
creating static compilers using server-side React. When content is released
through the editorial suite, we perform a static compilation and push the
resulting archive to CloudFront. Works great, sites load quickly, and it all
scales very simply.

A real-world example would be the First Round Review
([http://firstround.com/review/](http://firstround.com/review/)), designed by
our studio ([https://marquee.studio](https://marquee.studio)) and running on
Proof.

------
bigmanwalter
If the client is somewhat technical, and doesn't mind mucking around in
markdown and the occasional html then sure, why not? But most of my clients
prefer having a simple to use backend for updating the site.

~~~
gwbas1c
But can a web-based updater can still generate a static back-end?

~~~
soft_dev_person
There already exists some nice projects for this, like
[https://www.netlifycms.org/](https://www.netlifycms.org/)

~~~
icebraining
There's also Movable Type, which has been around for 16 years now.

------
laktek
I'm working on a project to make it easy to have best in both worlds - static
page generation with a browser front-end. Take a look at the intro blog post
for a detailed explanation of idea
[https://www.laktek.com/2016/11/29/introducing-
pragma/](https://www.laktek.com/2016/11/29/introducing-pragma/)

I'll be doing a private release in few weeks for the beta subscribers.

------
Symbiote
We have a custom SSG in Github. Any commit triggers a Jenkins build, which
deploys it to our test site. Clicking the "Release" button in Github triggers
a production build.

Non-developer staff have been fine with this, editing Markdown files within
the Github interface and adding the occasional PDF. If something doesn't look
right on the test site, they can ask for advice.

------
claudiulodro
I suggest WordPress using WP Super Cache. Best of both worlds. You get static
pages with all the ease-of-use that WordPress provides.

------
tootie
Yes. I built a statically generated site to a Fortune 50 company. Not a
microsite either, but one that was highly visible.

~~~
JoshTriplett
Using which site generator?

~~~
tootie
I made one. That was probably unnecessary, but they weren't super comfortable
with open source. I probably could have sold them on Jekyll or Harp, but I
wanted something fun to do :)

------
cacozen
Definitely yes. It's performant and safe by default, and you have lot's of
free or cheap quality hosting with CDN (example: Netlify.com).

The developer experience is great in static site generators such as Hugo,
Gatsby, among others.

And finally, if your client needs to update content, you can use headless CMS
such as Contentful, NetlifyCMS, Dato etc.

------
thangngoc89
Most of my customers are small business and they only update their website
like 2-3 times per years. I built all of these websites with a static site
generator and all text is extracted from a YAML/JSON files. If some customers
requires editing the data themselves, I put a dead simple frontend on top of
it for them.

------
Jemm
I miss Apple's iWeb. Wish they would bring it back.

