When I rebuilt this site, I deliberately left a few things out. There’s no database. There’s no admin panel to log in to. And there’s no contact form: if you want to ask something, you e-mail me.

That may look old-fashioned. It’s actually a choice for security, speed and peace of mind.

How most websites work

Many websites are put together the moment you open them. Your browser asks for a page, the server fetches the text from a database, drops it into a template and sends the result back. That happens again on every visit.

There’s nothing wrong with that, and for many sites it’s exactly what’s needed. But it does mean software is always running that has to be kept up to date: the server, the database, the content management system and often quite a few plugins.

How this site works

This site is built once, on my own computer. What comes out is plain files: HTML, a stylesheet, a few scripts and the fonts. I put those files on the server, and the server just hands them out. Nothing is put together anymore when you open a page.

That has a few advantages:

  • Less to attack. Without a database and without a login page, there’s no password to guess and no database to break into. What isn’t there can’t leak.
  • Less to maintain. There’s no content management system that needs a security update every few weeks.
  • Fast. The server doesn’t have to work anything out; it just sends files.
  • As much as possible under my own control. Even the fonts are on this server, so they don’t send a request to another company.

On top of that, the site has a strict security policy (a Content Security Policy) that decides which scripts may run. That’s easier to keep strict when the site is this simple.

What it costs

There are a few things a site like this can’t do:

  • No forms that store anything. That’s why you e-mail me. I’m actually fine with that: you get an answer from me directly, and there’s no form anywhere attracting spam or abuse.
  • Changes need a new build. Editing a text means building and uploading the site again. For me that’s a few minutes of work, but for someone who wants to update texts themselves without technical knowledge, an admin panel is easier.
  • No web shop. Orders and payments need a server that keeps track of things. That’s perfectly possible, but as a separate part that’s properly secured and maintained.

Does this fit your site?

A site that mostly tells people who you are and what you do, with a few pages that don’t change every day, can often be built this way. If you want to edit texts yourself every day, or you sell online, you need more. Then I choose a setup that fits, and make sure it stays secure.

Curious what fits your business best? Have a look at websites and web shops, or e-mail me your situation.