Static HTML sites
A static HTML site is a collection of hand-coded HTML files served directly by a web server. There is no database, no admin panel, and no content management system. Every page is a file on disk.
How it models content
It does not, in any structured sense. Content lives inside HTML tags within individual files. There is no separation between content and presentation unless the author imposed one through includes or a build tool.
- Pages are individual .html files
- Navigation is typically hard-coded into every page or pulled in via a server-side include
- Styling lives in CSS files, sometimes inline
- Forms are HTML with a server-side handler, often a CGI script or a third-party service
- Images sit in the file system alongside the pages
The key challenge is that there is no structured data to extract. A CMS stores content in a database with defined fields. A static site stores it in HTML markup that varies from page to page.
Static HTML and WordPress compared
| Static HTML | Closest in WordPress |
|---|---|
| Each .html file | A page (content extracted from the markup) |
| Navigation links | Menu |
| CSS files | Theme stylesheets |
| Contact form handler | A forms plugin |
| Image files | Media library |
Moving static HTML to WordPress is largely a rebuild. You copy the text content into pages, recreate the navigation as a WordPress menu, choose or build a theme, and replace any form handlers with plugins. Images can be uploaded to the media library, but internal links and paths will all change. URL structures almost never match without redirect rules.
When it still makes sense to stay static
If the site is small, rarely updated, and does not need user-generated content, a static site is simpler to host and harder to hack. Moving to WordPress adds a database, a login page, and ongoing update responsibilities. Make sure you need those before taking them on.