DEV Community

Discussion on: How do you convince a client to a static website?

Collapse
 
whoisryosuke profile image
Ryosuke • Edited

How do you convince a client to a static website?

I show them the benefits, whether it's the savings on hosting/bandwidth costs, or the lightning fast load times of static vs server-side. I also show them the process of adding content, and managing the behemoth.

If by the end of the short presentation they're impressed enough, we go static! If not, I lean towards more common solutions like Wordpress.

It also depends on the situation. I'm obviously assuming the site benefits from being static. If it was a dynamic community site like dev.to, I wouldn't recommend static. It's easier to recommend when there are pros to outweigh cons.

What are your favorite players?

NextJS is great for simpler projects with a few, non-dynamic pages (/about vs /blog/).

GatsbyJS is fantastic for generating larger static sites with dynamic pages. Since Gatsby loads all your content during development and runs the build process, it can generate physical static pages for anything you need. So you can take hundreds of Wordpress blog posts and generate real HTML pages.

Netlify CMS is an admin panel for static websites. It seems to be the solution to brining a human element to static sites, since most are deployed via Git using Markdown -- not the most non-dev friendly process.

I haven't tried it yet, but Jigsaw looks like a great static site option for PHP/Laravel devs.

Solutions like Gitbook, Docusaraurus, React-Styleguidist, etc -- all do an excellent job of creating a (nearly) zero-config build process for documentation. Drop a Markdown file, or run a CLI, and you've got yourself an entire documentation website, looking slick and styled.

Do you have any tricks or tips you want to share?

Make lots of boilerplates (or find/clone some). Most SSG solutions are great, but they're far from fully featured out-of-the-box. GatsbyJS for example has plugins for sitemaps, RSS, etc -- but you have to install and configure it for each project.

Having structured projects for certain situations, like documentation, make the process of rolling out another static site so much easier.