
Structural constraints
- Four independent WordPress installs with separate users, plugins, and databases.
- Cache rewrite rules overriding runtime routing and destabilizing admin access.
- Elementor used for page cloning instead of template-driven content.
- Plugin-created content types with unmanaged update parity.
- Forms and CRM logic duplicated across pages and installs.
Leverage moves
- Removed fatal cache rewrite routing that produced 500s and false stability.
- Restored admin access and isolated a corrupted install missing core WordPress tables.
- Collapsed redirects, navigation, and caching into a single control surface.
- Defined a template-driven refactor model (page types → components → data).
Evidence
- 500 errors traced to cache rewrite rules serving WP-Rocket HTML exclusively.
- Payloads observed exceeding 30 MB per page load.
- /water/ install missing core WordPress tables (users and taxonomy among others).
Ruled out
- Server capacity as the limiting factor (CPU, RAM, IO remained low).
- Theme rendering defects as the primary failure driver.
- Hosting upgrades as a meaningful fix.
Before / After
- Before: Multiple slow sites, conflicting redirects, admin coupled to cache state.
- After: Change safety restored, blast radius bounded, refactor scope measurable.
Maintenance delta
- Change scope became definable instead of reactive.
- Forms and routing moved toward single-source management.
- Publishing risk dropped once failures were no longer hidden by cache.
Decision log
- LSCache preferred over WP-Rocket on LiteSpeed for deterministic behavior.
- Non-deterministic DB reconstruction explicitly avoided.
- Multisite deferred unless franchise-style publishing becomes a requirement.
Irreversible outcomes
- Admin access decoupled from cache routing.
- Reduced update surface and fewer failure points per deployment.
- Single source of truth established for routing and content structure.
Intentionally boring
- No new stack.
- No experimental tooling.
- No framework churn.
- No redesign theatre.
Update discipline
- Stage first, verify, then ship with cache-aware checks.
- Backups taken before critical plugin and database changes.
- Elementor assets regenerated when rendering drifted.
Status
Stabilization phase completed and later superseded by a heavier rebuild once risk was removed and scope expanded.
Role: External technical lead. Mandate: Restore control, reduce risk, define next phase.
