Easy Appointments starts PHP session on every frontend page and breaks full page caching
Hello,
I am contacting you regarding a serious performance issue introduced by Easy Appointments.
After a recent update, the plugin appears to start a PHP session globally on every frontend request, not only on booking-related pages.
Specifically:
β’ The homepage (which does not contain any booking form) returns:
Set-Cookie: PHPSESSID=...
β’ It also sends:
Cache-Control: no-store, no-cache, must-revalidate
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Because of this, full-page caching (server-side Nginx dynamic cache) is completely bypassed.
The hosting provider confirms the cache is skipped due to the session cookie (SKIP_CACHE_SET_COOKIE).
Important details:
WordPress core does NOT use PHP sessions.
When Easy Appointments is deactivated, the PHPSESSID cookie disappears immediately.
Even excluding the booking page URL from cache does not solve the issue, because the session is started globally.
The issue affects all public pages, including the homepage.
This behavior significantly degrades performance (TTFB increases dramatically) and prevents the use of modern server-level caching systems.
Could you please clarify:
Why is session_start() being triggered globally?
Is there a way to disable global session usage?
Can session initialization be limited strictly to booking-related pages or AJAX calls?
Is there a filter or constant that allows disabling session cookies?
Starting a session on every frontend page is not considered best practice in modern WordPress development and causes severe caching incompatibilities.
Thank you in advance for your support.
Best regards,
Alessandro