wp-content/themes/bastion/
Bastion
A theme for a site that has to stay up during the week everyone visits it.
== Description ==
Emergency information sites, election results and outage pages share one requirement: they must work on the day the traffic arrives. Bastion is built so every page is fully cacheable — no per-visitor markup, no session-dependent output, nothing that forces a cache to bypass.
Personalised elements are loaded after the fact from a separate endpoint, so the page itself is identical for everyone and can be served from an edge node without ever touching PHP.
The critical layout is 6KB of inline-free CSS in one request. There is no webfont, because a webfont is a single point of failure for legibility on the day it matters.
== Screenshots ==
Numbered the way they ship in /assets/. Click any one to see it full width.
== Installation ==
- Install and activate the theme.
- Set your cache headers using the bundled example configuration.
- Test with the origin blocked, which the readme walks through.
The readme includes load-test figures and the configuration that produced them.
== Frequently asked questions ==
Logged-in users?
The admin bar loads after the page from a separate request, so a logged-in view does not defeat the cache for everyone else.
Is it ugly?
It is plain. Plain and fast is the brief; there are two style variations and neither is decorative.
== Changelog ==
= 1.6.0 =
- Admin bar deferred to a separate request so logged-in views stay cacheable.
- Critical CSS reduced to 6KB.
= 1.4.0 =
- Removed the last per-visitor markup: the greeting in the header, which nobody needed.