Faster pages on WordPress hosting
Serve static HTML to guests on the WordPress host you already pay for.
Placeholder embed
Replace videoId and poster when the recording is published.
Production script:
docs/tivlo-ssg-video-scripts/16-use-case-wordpress-hosting.md.
Who this is for
Blogs, brochure sites, and marketing WordPress installs that stay on the host you already pay for. You want anonymous page views to skip a full PHP cook. You still need WordPress online for the admin, previews, forms, REST, AJAX, and anything that POSTs.
This is the default Tivlo SSG story. No S3. No second domain. No file upload to Netlify. If that sounds boring, good — boring is fast.
The problem
Every anonymous visit to a typical WordPress page loads PHP, plugins, and the theme even when the content has not changed. That work shows up as Time to First Byte and often as Largest Contentful Paint on the HTML document. Guests wait while the kitchen redraws a plate it already made yesterday.
Tivlo does not replace a CDN for images, and it is not another full-page cache plugin stacked on the same request. It writes HTML ahead of time and, when serving is on, sends that file and exits.
What visitors and editors see
| Role | Experience |
|---|---|
| Anonymous visitor | File from wp-content/tivlo-static/ and X-Tivlo-Static: hit |
| Logged-in editor (default) | Live WordPress — skip static delivery is on |
| Someone posting a comment or form | POST is never served statically; processing stays on PHP |
| WooCommerce shopper with cart cookies | Live PHP; cart, checkout, and account URLs are never exported |
The setup
Leave WordPress where it is. Public Base URL stays empty.
Pretty permalinks (Post name or anything except Plain).
Settings → Tivlo Static Site → Plugin Settings: Enable static generation, Serve static HTML directly, Skip static delivery for logged-in users. Defaults for posts and pages are enough for a typical site. You can ignore the rest of the chips on day one.
Save Settings if you changed anything. Saving does not write HTML.
Build Console → Full Rebuild. On a quiet site, Process Queue
Now until Queue Pending Tasks is 0.
In a private window, open a published URL. Confirm
X-Tivlo-Static: hit. Optionally run
Lighthouse before and after
on the same URL, logged out.
[IMAGE: build-console]
Build Console after a successful first rebuild: file count, queue at zero, Direct Static Delivery active. Caption: “Same-origin static serving — no extra host.”
Daily routine
Publish and update posts as usual. Tivlo enqueues that URL and, when related rebuilds are on, home, archives, and taxonomies. WP-Cron (or Process Queue Now) overwrites the files. You do not Full Rebuild for every typo. That would be a grim hobby.
Full Rebuild after you change export scope, theme/Customizer/menus (a soft full rebuild is also queued automatically), or serving settings.
When this is the wrong guide
- WordPress should not be on the public internet — use Local WordPress, static hosting plus Static export + S3.
- You only want faster images on an already-public site — add Live WordPress + CloudFront on top of this workflow (CDN Scenario 1).
Related reading
How is this guide?