HTMLpad

What Is a Static Website? A Practical Guide

By · · 8 min read

A neat stack of printed pages bound with a clip, resting on a wooden shelf in soft daylight

A static website is a set of ready-made files, mostly HTML, CSS and images, that a server sends to visitors exactly as they are. Every visitor gets the same page. It is fast, cheap and secure, which makes it ideal for simple sites, but anything that changes per visitor needs a dynamic site or outside services.

The word "static" sounds dull, but static sites are having a long second life. Most of the HTML that AI assistants produce is static. So are many documentation sites, portfolios and landing pages. After years of building sites of every kind for clients, my rule of thumb is simple: start static when you can, and move to something dynamic when you have a reason, not before.

Static versus dynamic in one picture

On a static site, the pages exist before anyone asks for them. The file about.html sits on a server; a visitor requests it; the server sends it.

On a dynamic site, pages are assembled when someone asks. A visitor requests /about/; code on the server queries a database, picks a template, fills it in and sends the result. WordPress, online shops and social networks work this way.

CloudCannon's guide puts the difference neatly: static sites are built before anyone asks for them. I go deeper into the comparison in static vs dynamic websites.

What a static website is made of

Notice what is missing: no database and no code running on the server for each visit. Static does not mean lifeless, though. A static page can be very interactive, because JavaScript runs in the visitor's browser. What it cannot do on its own is remember things on the server, such as accounts, orders or comments.

Single page or whole site

A static website can be one HTML file or thousands of pages.

A single page is the simplest case: one self-contained HTML file. A landing page, an event invitation, a report, a mockup, a calculator from an AI assistant. A pad such as HTMLpad is made for this: paste, save, share.

A multi-page static site is a folder of files linked together. Small sites can be written by hand. Larger ones are usually produced by a static site generator, a tool that takes your content, often written in Markdown, and builds all the HTML pages for you. Hugo, Jekyll, Eleventy and Astro are well-known examples.

What static sites are good at

Speed. The server does almost no work: it sends a file. Served from a content delivery network, static pages load quickly from anywhere in the world.

Security. With no database and no server code per request, there is much less to attack. No plugins to patch, no admin login to brute-force. This is the reason many organisations publish important pages as static files.

Cost. Static hosting is cheap or free. GitHub Pages, Cloudflare Pages and Netlify all host static sites at no cost for small and medium traffic.

Durability. A folder of HTML files will open in browsers for decades. There is no software stack to update, and nothing breaks because a plugin was abandoned.

Portability. Moving a static site means copying a folder. You can change hosts in an afternoon.

What static sites struggle with

Anything per visitor. Logins, shopping carts, personal dashboards and member areas need a server, or outside services bolted on.

Forms. A static page can display a form but cannot process it. You need a form service, a serverless function, or a host that handles forms.

Editing by non-technical people. Changing a static site traditionally means editing HTML or Markdown and publishing again. Git-based content tools have improved this, but for a team of writers who want a familiar editor, a CMS such as WordPress is still easier.

Frequent content at scale. A blog with hundreds of posts, categories, search and comments can be done statically, but it takes tooling. A CMS does it out of the box.

Search engine work on single files. Search engines can read static pages perfectly well, but a lone HTML file needs its titles, descriptions and links set by hand. I cover this in SEO for a static website.

Where to host a static website

Size of the site Good homes
One page, shared quickly A pad such as HTMLpad
A few pages, simple upload Tiiny Host, Static.app, Netlify Drop
A real site that will grow GitHub Pages, Cloudflare Pages, Netlify
A page on a domain you already host Your existing web hosting

For a single page, the full walkthrough is in how to host an HTML file. For a site, the platforms in the third row are the standard choice, all with free tiers. GitHub's documentation, for example, allows sites up to 1 GB with a soft bandwidth limit of 100 GB a month.

How a static site gets built

There are three common ways to produce the files of a static site, and they suit different people.

By hand. You write HTML and CSS in a code editor, or take them from a template or an AI assistant. Perfect for one to five pages. Beyond that, keeping menus and footers consistent across copies becomes the main job.

With a static site generator. You write content in Markdown, keep the shared parts such as header and footer in templates, and the generator builds every page. Change the menu once and every page updates on the next build. This is how most documentation sites and many developer blogs work.

Exported from another tool. Some design tools and website builders can export a static version of a site. Handy for a quick snapshot, though exported code is often harder to edit by hand later.

Whichever way you build, the result is the same: a folder of files that any static host can serve.

A worked example

Picture a small bakery that wants a website. It needs a home page with opening hours, a page with the menu, a page with the address and a map, and a way for customers to order cakes for collection.

The first three pages are a perfect fit for static. They change a few times a year, they must load fast on phones, and nobody needs to log in. Three HTML files on a free static host do the job, with the map embedded from a mapping service.

The cake orders are the part that is not static. The page can show an order form, but the orders need to go somewhere: an email through a form service, or an online ordering tool linked from the page. If the bakery later wants online payments, a customer account area and a weekly blog of new recipes, it is time to look at a dynamic platform.

That is the pattern for most small projects: start with the static part that covers 90% of what you need, and add services or move platforms only when a real need appears.

Performance and accessibility

Static does not guarantee a good site. A static page with a 10 MB background video and five tracking scripts will still be slow. Keep images compressed and sized for the screen, load only the scripts you need, and test the page on a phone over a normal mobile connection.

Accessibility works the same way on static and dynamic sites: use real headings in order, describe images in alt text, make sure text contrasts with its background, and check that the page can be used with a keyboard alone. Plain HTML, written with the right elements, is accessible by default, which is one more argument for keeping things simple.

Static sites and AI

AI assistants have quietly made static HTML popular again. Ask one for a page and you usually get a single file with the styles inside, which is a static website of one page. That is why tools for publishing single HTML files have grown so fast: lots of people now own HTML without having planned to.

The same principles apply. If the page only needs to be seen, publish it as it is. If people need to log in, buy something or leave data, the page is the front of something bigger, and it needs more than a static host.

Signs you have outgrown a static site

A static site can serve you for years. These are the signs it is time to move on:

  1. You edit it every week and each change means touching HTML.
  2. Someone else needs to publish, and they do not want to learn code.
  3. You need a blog with categories, archives and search.
  4. You need accounts, payments or member content.
  5. You are stitching together outside services for forms, comments and search, and the site is now harder to manage than a CMS would be.

When two or three of these are true, a content management system is usually the better tool. I wrote a fuller guide on when a single HTML page isn't enough, and a practical one on moving from HTML to WordPress if that is where you are heading.

Frequently asked questions

Is a static website free to host?

Usually, yes. GitHub Pages, Cloudflare Pages and Netlify host static sites for free on their basic tiers, and single pages can go on a pad such as HTMLpad at no cost. You pay for a custom domain and for extras on some hosts.

Can a static website have a contact form?

Yes, but the form needs something to receive its data: a form service, a serverless function, or a host with built-in form handling. The static page itself only displays the form.

Is a static website good for SEO?

It can be very good. Static pages load fast and are easy for search engines to read. What matters is the content and the basics: titles, descriptions, headings, links and a sitemap, which you set by hand or with a generator.

Is WordPress a static website?

No. WordPress builds pages dynamically from a database. Some plugins can export a WordPress site to static files, but a normal WordPress site is dynamic.

Do I need to know code to build a static website?

For one page, no: an AI assistant or a template gives you the HTML, and a pad publishes it. For a multi-page site you maintain over time, basic HTML or a static site generator helps a lot.

More in Static Sites