In short
- A static site's pages are finished files, the same for every visitor. A dynamic site assembles pages when requested, and can differ per visitor.
- Brochure sites, service pages and landing pages are naturally static. Stores, portals, bookings and dashboards are naturally dynamic.
- Modern frameworks build most pages statically and add live pieces only where needed. That middle is where most business sites should sit.
- Static is faster and has almost nothing to attack. Dynamic needs a server, a database and patching, and earns that cost only when the site does real work.
- Ask what on your site actually changes per visitor. That list, usually short, is the dynamic part. Everything else should be static.
The definitions
Two windows in the same bank lobby. At the first is a rack of printed brochures: rates, hours, the branch map. Everyone who walks up takes the same sheet, and it is in their hand instantly. At the second is a teller, who looks up your account, checks your balance, and prints a statement that exists for you alone. It takes longer, it requires a person and a computer behind the counter, and it is the only way to get that particular piece of paper.
A static website is the brochure rack. Its pages are finished files sitting on a server. When a visitor asks for one, the server hands it over unchanged. Every visitor gets the same page, and nothing has to be computed to produce it. Static does not mean the site never changes; it means the change happens when the owner updates the files, not when a visitor arrives.
A dynamic website is the teller. Its pages do not exist until someone asks. A request comes in, code runs on the server, a database is consulted, and a page is assembled for that request, possibly different for each visitor. A logged-in customer sees their orders. A shopper sees a cart with their items. A search returns results for their query. None of that can be printed in advance.
For most of the web's history, business sites landed on the dynamic side by default, because systems like WordPress assemble every page on request whether or not the page needed it. The WordPress versus Next.js guide walks through that assembly step by step. This guide is about the underlying choice, and about the fact that it is no longer either-or.
Static is the brochure rack: printed once, handed over instantly. Dynamic is the teller: made for you, while you wait.
Examples of each
| Naturally static | Naturally dynamic |
|---|---|
| A service business site: home, services, areas, about, contact | An online store with a cart, checkout and order history |
| A landing page for an ad campaign | A customer portal where people log in to see their own account |
| A restaurant site with menu, hours and location | An online booking system with live availability |
| A portfolio or gallery | A dashboard showing data that updates by the minute |
| A guide or documentation section, like this one | A site search that returns results for whatever was typed |
| A law firm or clinic site with practice pages and bios | A quote calculator that prices a job from the visitor's inputs |
Left column: the page is the same for everyone and changes only when the owner changes it. Right column: the page depends on who is asking or what they asked.
Notice how much of a typical business site the left column covers: the home page, every service page, every area page, about, reviews, contact. For a plumber, a dentist, a law firm or a contractor, that is the entire site except the form. The page count guide lists those pages; every one can be static.
Each item in the right column does something a printed sheet could not. That is the test. Dynamic pages earn their cost by doing work per visitor. If a page does no such work, making it dynamic is paying the teller to hand you a brochure.
The modern middle: static pages with dynamic pieces
The choice used to be binary because the tools were. A static site was a folder of hand-written files. A dynamic site was a program. If you wanted one live element on an otherwise static page, you built the whole site as a program.
Modern frameworks removed that constraint. A site built with a framework such as Next.js is rendered ahead of time into finished pages, like the brochure rack, and any single piece that needs to be live is marked as such and runs on demand, like a teller who steps in only when called. The service pages are static files. The contact form posts to a small piece of code that runs only when someone submits. The store's product pages are static; the cart and checkout are live. The clinic's pages are static; the "book now" widget checks a live calendar.
The framework also rebuilds a single page when its content changes, so an editor pressing Save in a CMS updates the live page in seconds. The CMS guide explains the content side. The effect is a site that behaves as static for the great majority of requests, which are someone reading a page, and as dynamic for the few that are someone doing something.
That is where most business sites belong now, and it is why the question in the title has a better answer than "it depends." It is: static, with the dynamic pieces you can name.
What static and dynamic mean for speed and security
Speed. A static page is the fastest thing a web server can do: find a file, send it. It can be copied to servers around the world so the file comes from a city near the visitor, and nothing waits on a database. On a phone in a driveway, a well-built static page is readable in under a second. A dynamic page has to be assembled first, and that time stacks on top of everything else the speed guide describes. Caching narrows the gap, but a cached dynamic page is a static page with extra steps and an expiry date.
Security. A static file cannot be hacked in any interesting way; there is no code running on the server to exploit and no database to inject into. A dynamic site runs code on every request, keeps a database, and often carries plugins written by strangers, and every one of those is a door. This is why the malware removal service is almost entirely a WordPress service, and why a site with fewer dynamic pieces needs fewer patches and less monitoring.
Cost follows from both. Serving files is cheap. Dynamic pieces need a server or a function platform, a database with backups, and someone to update the software. Keeping the dynamic part small keeps the bill small, and the maintenance cost guide shows how wide the gap gets over a few years.
< 1 s
Typical load for a static page served from a nearby server
0
Server-side code an attacker can reach on a purely static page
1–3
Dynamic pieces most small business sites actually need
Which fits which business
| Business | What the site has to do | Fit |
|---|---|---|
| Contractor, plumber, HVAC, roofer | Be found, be trusted, get the call. One form, maybe a booking link. | Static, with a form |
| Dentist, clinic, law firm | Practice pages, bios, reviews, a request form, sometimes online booking. | Static, with a form and a booking widget |
| Restaurant | Menu, hours, location, reservations through a third party. | Static |
| Retail with online sales | Product pages that rank, a cart, checkout, inventory. | Static product pages with a live cart and checkout |
| Service business with a customer portal | Marketing pages plus a login where customers see jobs, invoices or schedules. | Static marketing site plus a dynamic portal, often as a separate app |
| SaaS or a data product | Marketing pages plus the application itself. | Static marketing site; the application is fully dynamic and built as software |
| Directory, marketplace, community | Thousands of pages generated from data, search, user accounts. | Dynamic, or static generation at scale with dynamic search |
You need real dynamic capability if
- Visitors log in and see something that belongs to them.
- Money changes hands on the site itself, not through a link to a third party.
- Availability, pricing or stock has to be true to the minute.
- Visitors search, filter or sort data that lives in a database.
- Visitors enter inputs and get a result computed for them.
- If none of these apply, your site is static with a form, and paying for a dynamic platform is paying for a teller you never visit.
The first three rows describe most businesses in Texas. For them, static pages with a form are faster, safer and cheaper to keep than anything else, and that is what custom web development means in practice. The last three rows describe businesses whose site is partly or wholly an application, which is web app development: a different discipline with a different budget, as the web application financing page reflects. A store sits in between, and e-commerce development is the craft of keeping the static half fast while the dynamic half sells.
What to ask a vendor
Three questions separate a shop that understands this from one that sells the platform it always sells.
"Which of my pages will be built ahead of time, and which on request?" The good answer names the dynamic pieces and says everything else is pre-built. "It is all dynamic, that is how the CMS works" means you will pay the speed and security tax on every page for the sake of one form.
"What runs on the server when someone loads my home page?" The right answer for a business site is: nothing, it is a file. If the answer is a list of plugins, ask what each one does for the visitor.
"What has to be updated each month, and what happens if it is not?" A static site with two dynamic pieces has a short answer. A dynamic site has a long one, and the length is the cost.
We build most business sites as static pages with the live pieces named up front, because that is where the answers point. A fixed-price quote lists which pages are which, and the DIY versus professional guide is the honest comparison if you are weighing a page builder instead.
Get a number before you compare anyone else.
Tell us what you have and what you want more of. A real person looks before we quote, and the quote is a fixed price you can hold us to.
Want a plain-language answer to a technical question?
Tell us what you have been told, or what you are paying for, and a developer will explain it in words you can repeat to your partner. Free, no jargon, no pitch.
Which of these sounds like you? (pick any)
Questions people ask
Straight answers
A static website's pages are finished files that the server hands to every visitor unchanged. A dynamic website's pages are assembled on request by code and a database, and can differ per visitor. Static is faster and has almost no attack surface; dynamic can do things like logins, carts and live search that static cannot.
For pages that are the same for everyone, yes: faster, cheaper to host and safer. For pages that must change per visitor, such as a cart or an account, dynamic is the only option. Most business sites are best built as static pages with a small number of dynamic pieces, which modern frameworks make routine.
Yes. The page itself is static; the form sends its contents to a small piece of code that runs only when someone submits, or to a third-party form service. The visitor never waits for a server to build the page, and the form still delivers the message. This is the most common dynamic piece on an otherwise static site.
Dynamic. WordPress builds every page on request by running PHP, querying its database and executing active plugins, even for pages whose content never changes. Caching plugins store recent results to imitate static behavior. Frameworks like Next.js take the opposite approach and build pages ahead of time.
A tool that takes content and templates and produces a folder of finished pages, which are then uploaded to a host. Next.js, Astro, Hugo and Eleventy are examples. Modern ones also allow individual pages to be rebuilt when content changes and let specific pieces run live, which is why they suit business sites with a form or a cart.
You need dynamic pieces: the cart, checkout, inventory and account. The product pages themselves, which is where the ranking and most of the traffic is, are best built as static pages so they load instantly. A well-built store is static where visitors read and dynamic where they buy, and the headless e-commerce article explains how that split is done.
Where to go from here
