Engineering Insight
When a Laravel service belongs behind WordPress
The join between an editorial site and an application backend, and where teams usually get it wrong.
The question comes up on almost every enterprise build: the marketing team wants WordPress, and the product needs real application logic. Teams usually resolve it badly in one of two directions — they bend WordPress into an application framework, or they rebuild the entire marketing site inside Laravel because "it is all one codebase".
Split on who edits what
The useful line is not technical. It is editorial. Anything a marketer should be able to change on a Tuesday afternoon without a deployment belongs in WordPress. Anything with a state machine, a permissions model or money attached belongs in the application.
Once you draw the line that way, the integration becomes small. WordPress renders pages. Laravel exposes a documented API. A shared design system means the visitor never sees the seam.
Where it goes wrong
- Duplicated identity. Two user tables, two password reset flows, two sets of session rules. Pick one system of record and let the other consume it.
- Rendering the app inside a shortcode. It works in the demo and collapses the moment full-page caching is switched on.
- No cache boundary. If authenticated application state leaks into cacheable pages, you get the worst of both systems.
The join should be boring. If explaining it takes more than a whiteboard sketch, the line is in the wrong place.
What we ship
A documented API contract, one design system consumed by both sides, and a cache policy written down before the first endpoint is built. That is usually the whole of the integration work, and it holds up for years.