Descripción
What happens when a sale, a campaign, or a viral post sends more visitors than your server can comfortably handle?
GIL Waiting Room creates a virtual waiting room in front of your site. You choose how many visitors may browse at the same time; everyone above that limit is placed in a fair, first-come-first-served queue and sees a clean lobby page with their live position and an estimated wait. As soon as a spot opens, the next visitor in line is admitted automatically, no refresh or action needed.
How it works
- Each visitor gets a signed, HttpOnly cookie so their place in line survives reloads and short absences.
- Admission is atomic at the database level, so the limit holds even under bursts of concurrent traffic.
- Admitted visitors keep their spot for a session length you configure; when it expires, the spot goes to the next person in line.
- The lobby page polls a lightweight status endpoint every few seconds, shows live progress, and lets the visitor in the moment they are admitted.
- The lobby adapts to the visitor’s light or dark system theme, respects reduced-motion preferences, and announces progress to screen readers.
- Preview the waiting room from the settings page before enabling it, and watch live admitted/waiting counts during a spike.
- The lobby is served with HTTP 503 and a Retry-After header, so search engines understand the site is temporarily busy and do not index the lobby.
- Administrators are never gated, so you cannot lock yourself out.
What this plugin is not
GIL Waiting Room manages capacity, it is not DDoS protection. Requests still reach PHP; the plugin decides who may browse. If you are under attack, you need protection at the network or CDN layer.
If a full-page cache or CDN serves your pages without hitting PHP, those cached hits cannot be queued. The waiting room works for requests that reach WordPress.
Capturas


Instalación
- Upload the plugin to
/wp-content/plugins/, or install it through the WordPress plugins screen. - Activate the plugin.
- Open the “GIL Waiting Room” menu in your admin sidebar.
- Set the concurrent visitor limit and session length, then enable the waiting room.
FAQ
-
Does the waiting room apply to wp-admin or the login page?
-
No. Only the front end is gated. Administrators are also exempt on the front end.
-
Clearing cookies discards the visitor’s identity, so they re-enter at the back of the line. The cookie is signed, so it cannot be forged to gain admission.
-
How is the estimated wait calculated?
-
It is a simple upper-bound estimate: your position divided by the visitor limit, times the configured session length.
-
Where is the queue stored, and can I reset it?
-
In a dedicated database table. The settings page shows live admitted and waiting counts and has a button to clear the queue.
-
Does the plugin collect any personal data or contact external servers?
-
No. The plugin makes no external requests of any kind, includes no analytics, and collects no personal data. The visitor cookie contains only a random identifier and a signature, nothing identifying, and the queue table stores that identifier with timestamps. Uninstalling removes the table and all plugin options.
-
Does it work with page caching?
-
Only requests that reach PHP can be queued. If a full-page cache or CDN answers a request by itself, the waiting room never sees it.
Reseñas
No hay reseñas para este plugin.
Colaboradores y desarrolladores
«GIL Waiting Room» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
ColaboradoresTraduce «GIL Waiting Room» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
2.0.1
- The lobby page now loads its CSS and JavaScript through wp_enqueue_style() and wp_enqueue_script() instead of inline blocks.
- Fixed the lobby favicon, which was stripped and rendered as an empty reference.
2.0.0
- Complete rework of the admission engine: atomic admission under a database lock, FIFO promotion, and a fatal-error fix at exact capacity.
- Visitor identity moved from PHP sessions to a signed, HttpOnly cookie.
- New lobby page: self-contained, served with HTTP 503 and Retry-After, polls a REST status endpoint and admits automatically.
- Administrators are never gated.
- Queue clearing is now nonce-protected; settings are validated server-side.
- All external assets removed; everything ships with the plugin.
- Redesigned lobby (light/dark themes, progress bar, reduced-motion and screen-reader support) and settings page (live-updating counts, status line, lobby preview).
1.0.0
- Initial release.
