{"id":356628,"date":"2026-08-27T15:51:19","date_gmt":"2026-08-27T15:51:19","guid":{"rendered":"https:\/\/en-gb.wordpress.org\/plugins\/titanium-service-zones\/"},"modified":"2026-08-27T15:50:59","modified_gmt":"2026-08-27T15:50:59","slug":"titanium-service-zones","status":"publish","type":"plugin","link":"https:\/\/ug.wordpress.org\/plugins\/titanium-service-zones\/","author":23516984,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Titanium Service Zones \u2013 Maintenance Mode, Coming Soon & Page Control","header_author":"AdminPlugins","header_description":"Selective maintenance and service-status zones that keep unaffected parts of WordPress online.","assets_banners_color":"4f5e70","last_updated":"2026-08-27 15:50:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/adminplugins.com\/titanium-service-zones","header_author_uri":"https:\/\/adminplugins.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":65,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"aplugins","date":"2026-08-27 15:50:59","revision":3669176}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3669175,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3669175,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3669175,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3669175,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3669175,"resolution":"1","location":"assets","locale":"","width":3338,"height":1734},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3669175,"resolution":"2","location":"assets","locale":"","width":3280,"height":991},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3669175,"resolution":"3","location":"assets","locale":"","width":3385,"height":1801},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3669175,"resolution":"4","location":"assets","locale":"","width":2744,"height":1568},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3669175,"resolution":"5","location":"assets","locale":"","width":3399,"height":1774},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3669175,"resolution":"6","location":"assets","locale":"","width":3110,"height":1851},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3669175,"resolution":"7","location":"assets","locale":"","width":3275,"height":1800},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3669175,"resolution":"8","location":"assets","locale":"","width":3092,"height":1804}},"screenshots":{"1":"Service Zones dashboard with selective page and URL path targeting, status controls, visitor messages, and impact preview tools.","2":"Automatic Public Service Status page settings with the generated public status page URL and REST API endpoint.","3":"Whole-Site Status controls with Normal, Visitor Service Notice, Coming Soon, and Maintenance Mode, plus Pro scheduling and conditional logic.","4":"Pro Custom Notices library for creating and reusing visitor service messages with live message previews.","5":"Whole-Site Maintenance Mode with administrator bypass options and full maintenance page customization.","6":"Public Maintenance Mode page shown to visitors while the website returns an HTTP 503 maintenance response.","7":"Visitor Service Notice mode with predefined service messages while the website remains fully accessible.","8":"Public website displaying a Visitor Service Notice for slower-than-usual website performance."}},"plugin_section":[],"plugin_tags":[14908,802,732,277916,133604],"plugin_category":[52],"plugin_contributors":[269334],"plugin_business_model":[],"class_list":["post-356628","plugin","type-plugin","status-publish","hentry","plugin_tags-14908","plugin_tags-coming-soon","plugin_tags-maintenance","plugin_tags-outage","plugin_tags-service-status","plugin_category-performance","plugin_contributors-aplugins","plugin_committers-aplugins"],"banners":{"banner":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/banner-772x250.png?rev=3669175","banner_2x":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/banner-1544x500.png?rev=3669175","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/icon-128x128.png?rev=3669175","icon_2x":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/icon-256x256.png?rev=3669175","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/screenshot-1.png?rev=3669175","caption":"Service Zones dashboard with selective page and URL path targeting, status controls, visitor messages, and impact preview tools."},{"src":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/screenshot-2.png?rev=3669175","caption":"Automatic Public Service Status page settings with the generated public status page URL and REST API endpoint."},{"src":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/screenshot-3.png?rev=3669175","caption":"Whole-Site Status controls with Normal, Visitor Service Notice, Coming Soon, and Maintenance Mode, plus Pro scheduling and conditional logic."},{"src":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/screenshot-4.png?rev=3669175","caption":"Pro Custom Notices library for creating and reusing visitor service messages with live message previews."},{"src":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/screenshot-5.png?rev=3669175","caption":"Whole-Site Maintenance Mode with administrator bypass options and full maintenance page customization."},{"src":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/screenshot-6.png?rev=3669175","caption":"Public Maintenance Mode page shown to visitors while the website returns an HTTP 503 maintenance response."},{"src":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/screenshot-7.png?rev=3669175","caption":"Visitor Service Notice mode with predefined service messages while the website remains fully accessible."},{"src":"https:\/\/ps.w.org\/titanium-service-zones\/assets\/screenshot-8.png?rev=3669175","caption":"Public website displaying a Visitor Service Notice for slower-than-usual website performance."}],"raw_content":"<!--section=description-->\n<p>Titanium Service Zones lets you put only the affected part of a WordPress site into a Service Notice or HTTP 503 maintenance state while the rest of the website remains available.<\/p>\n\n<p>Create up to three independent Service Zones in Free. Target a published WordPress Page, an exact URL path such as <code>\/checkout\/<\/code>, or a trailing-wildcard path such as <code>\/account\/*<\/code>. Each zone can be Operational, show a non-blocking Service Notice, or return a proper temporary-unavailable Maintenance response.<\/p>\n\n<p>Before activating a zone, use Impact Preview and Safety Check to see known matching WordPress Pages and review broad, critical, or transaction-related routes. The Conflict Detector identifies overlapping zones and explains the deterministic priority rule. More-specific targets win, so an Operational child zone can deliberately keep a smaller area live inside a broader maintenance path.<\/p>\n\n<p>Titanium Service Zones also keeps the original whole-site controls for situations where the complete website really should change at once: Normal, Visitor Service Notice, Coming Soon, or Maintenance Mode.<\/p>\n\n<h4>Service Zones included in Free<\/h4>\n\n<ul>\n<li>Up to three independent Service Zones<\/li>\n<li>WordPress Page or URL-path targeting<\/li>\n<li>Exact paths and trailing <code>*<\/code> path prefixes<\/li>\n<li>Operational, Service Notice, or Maintenance state per zone<\/li>\n<li>Zone-specific visitor title and message<\/li>\n<li>Proper HTTP 503 response for zone maintenance, including Retry-After and no-cache\/search-engine headers when headers can still be sent<\/li>\n<li>Maintenance Impact Preview for known published WordPress Pages<\/li>\n<li>Built-in Safety Check for very broad, protected WordPress, account, checkout, payment, callback, and similar sensitive-looking routes<\/li>\n<li>Zone Conflict Detector for overlapping targets<\/li>\n<li>Deterministic specificity priority; more-specific targets win and equal targets use the earlier zone<\/li>\n<li>Operational exceptions inside broader Service Notice or Maintenance paths<\/li>\n<li>Optional automatic public Service Status page at <code>\/service-status\/<\/code><\/li>\n<li>Optional read-only JSON status endpoint at <code>\/wp-json\/titanium-service-zones\/v1\/status<\/code><\/li>\n<li>Public status output exposes zone names and states, not private target paths or internal rules<\/li>\n<\/ul>\n\n<h4>Whole-Site controls included in Free<\/h4>\n\n<ul>\n<li>Normal, Visitor Service Notice, Coming Soon, and Maintenance Mode states<\/li>\n<li>Proper HTTP 503 whole-site maintenance response with Retry-After<\/li>\n<li>Separate indexable HTTP 200 Coming Soon page<\/li>\n<li>Four ready-made service notices for hosting, performance, feature, and service interruptions<\/li>\n<li>Separate Coming Soon and maintenance titles, messages, logos, background colours, accent colours, and optional login buttons<\/li>\n<li>Custom internal login path such as <code>\/login<\/code>; the exact page stays accessible while the login button is enabled<\/li>\n<li>Independent administrator frontend access and wp-admin reminder visibility<\/li>\n<li>Responsive public output and a clear light\/dark WordPress admin interface<\/li>\n<li>Cache-purge integrations for LiteSpeed Cache, WP Rocket, WP Super Cache, and W3 Total Cache<\/li>\n<li>Verified settings rollback, shared Free\/Pro data, and bounded multisite lifecycle and cleanup<\/li>\n<\/ul>\n\n<p>Whole-Site Status has priority over Service Zones. Keep Whole-Site Status set to Normal when you want only selected zones to affect visitors.<\/p>\n\n<h4>Pro features<\/h4>\n\n<p>Pro includes the complete Free core above and keeps the existing premium feature set:<\/p>\n\n<ul>\n<li>Up to 500 reusable Custom Notices with separate headings and messages<\/li>\n<li>Start\/end dates, weekdays, daily time windows, overnight schedules, and WordPress-site timezone handling<\/li>\n<li>Optional schedule countdown that reloads the page when maintenance ends<\/li>\n<li>Up to 1,000 validated conditions using AND inside groups and OR between groups<\/li>\n<li>Login-state, standard\/custom role, and WordPress capability targeting<\/li>\n<li>Specific pages, posts, public custom content, front page, posts page, blog home, search, 404, singular content, and archives<\/li>\n<li>Post-type archives, taxonomy archives, and specific taxonomy terms<\/li>\n<li>URL-path, query-parameter, mobile\/desktop, and browser targeting<\/li>\n<li>WooCommerce shop, product, cart, checkout, My Account, account endpoints, product categories\/tags, specific products, purchased products, and active subscription products<\/li>\n<li>Paid Memberships Pro, MemberPress, WooCommerce Memberships, Restrict Content \/ Pro, Paid Member Subscriptions, LifterLMS, and LearnDash course\/group targeting<\/li>\n<li>Supported active, inactive, expired, cancelled, pending, paused, trial, complimentary, delayed, changed, abandoned, and other recorded membership states where the integration provides them<\/li>\n<\/ul>\n\n<p>Premium modules load only with valid premium access. If Pro becomes unavailable, the included Free core and shared settings remain available.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin uses Freemius for optional licensing, updates, checkout, and product communication. Freemius shows its own consent screen before optional data sharing is enabled.<\/p>\n\n<ul>\n<li>Service: https:\/\/freemius.com\/<\/li>\n<li>Terms: https:\/\/freemius.com\/terms\/<\/li>\n<li>Privacy policy: https:\/\/freemius.com\/privacy\/<\/li>\n<\/ul>\n\n<p>Current prices on the Upgrade to Pro page are hidden by default. Prices are requested from AdminPlugins only after an administrator clicks Enable Current Prices or Show Current Price.<\/p>\n\n<p>Pricing endpoint:<\/p>\n\n<ul>\n<li>https:\/\/adminplugins.com\/wp-json\/titmm-freemius\/v1\/pricing?source=plugin<\/li>\n<\/ul>\n\n<p>The request sends only the plugin edition and version. It does not send the site URL, user data, passwords, email addresses, license keys, website content, Service Zone targets, or plugin settings.<\/p>\n\n<p>Price display can be disabled again at any time.<\/p>\n\n<ul>\n<li>Service: https:\/\/adminplugins.com\/<\/li>\n<li>Privacy policy: https:\/\/adminplugins.com\/privacy-policy\/<\/li>\n<li>Terms: https:\/\/adminplugins.com\/terms-and-conditions\/<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>Service Zone matching, Impact Preview, Safety Check, conflict detection, Coming Soon, maintenance, and Visitor Service Notice runtime are evaluated locally in WordPress. Zone definitions and plugin settings are stored in the site's WordPress database.<\/p>\n\n<p>The optional public Service Status page and JSON endpoint expose configured zone names and their current public states. They do not expose target paths, selected Page IDs, messages, internal rules, credentials, or administrator data. Public Service Status is disabled until an administrator enables it.<\/p>\n\n<p>The public runtime does not send visitor data to AdminPlugins or Freemius. Remote communication is limited to the optional Freemius integration and the administrator-only pricing and checkout actions described in External services.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload and activate Titanium Service Zones.<\/li>\n<li>Open Service Zones &gt; Settings.<\/li>\n<li>Keep Whole-Site Status set to Normal when you want selective Service Zones to control only part of the website.<\/li>\n<li>Configure up to three zones using a WordPress Page or URL path, then choose Operational, Service Notice, or Maintenance.<\/li>\n<li>Use Preview Impact &amp; Safety before activating a new path rule and review any overlap warning.<\/li>\n<li>Optionally enable Automatic Public Service Status to publish <code>\/service-status\/<\/code> and the read-only JSON status endpoint.<\/li>\n<li>Use Whole-Site Status when the entire website should show a Visitor Service Notice, Coming Soon page, or Maintenance Mode page.<\/li>\n<li>Save the settings and use a private browser window when comparing the visitor view.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20a%20service%20zone%3F\"><h3>What is a Service Zone?<\/h3><\/dt>\n<dd><p>A Service Zone is one selected part of the public site. It can target one WordPress Page, an exact URL path, or a trailing-wildcard path prefix. That zone can remain Operational, show a Service Notice, or return an HTTP 503 Maintenance page while unrelated site areas remain online.<\/p><\/dd>\n<dt id=\"how%20many%20service%20zones%20are%20included%20in%20free%3F\"><h3>How many Service Zones are included in Free?<\/h3><\/dt>\n<dd><p>Three. The shared Free core in both editions uses the same three-zone system.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20two%20zones%20overlap%3F\"><h3>What happens when two zones overlap?<\/h3><\/dt>\n<dd><p>The more-specific target wins. A Page target outranks path rules, an exact path outranks a wildcard prefix, and a longer wildcard prefix is more specific than a shorter one. If specificity is equal, the earlier zone wins. This also lets an Operational zone create a live exception inside a broader maintenance path.<\/p><\/dd>\n<dt id=\"what%20does%20impact%20preview%20show%3F\"><h3>What does Impact Preview show?<\/h3><\/dt>\n<dd><p>For saved WordPress Pages, the preview shows known published Pages that match the selected target. URL paths can also match dynamic endpoints that are not stored as WordPress Pages, so the interface clearly notes that the preview is not a complete crawler of every possible runtime URL.<\/p><\/dd>\n<dt id=\"what%20does%20the%20safety%20check%20do%3F\"><h3>What does the Safety Check do?<\/h3><\/dt>\n<dd><p>It warns about extremely broad patterns, protected WordPress routes, and transaction\/account-looking paths such as checkout, payment, webhook, callback, cart, or My Account routes. WordPress admin, login, REST, AJAX, cron, and XML-RPC requests are intentionally protected from Service Zone blocking.<\/p><\/dd>\n<dt id=\"does%20a%20maintenance%20zone%20return%20http%20503%3F\"><h3>Does a Maintenance Zone return HTTP 503?<\/h3><\/dt>\n<dd><p>Yes. A matched Maintenance Zone returns HTTP 503 with Retry-After and noindex\/no-cache handling when WordPress can still send headers. Unaffected URLs continue to use their normal responses.<\/p><\/dd>\n<dt id=\"can%20i%20still%20use%20whole-site%20maintenance%20mode%20or%20coming%20soon%3F\"><h3>Can I still use whole-site Maintenance Mode or Coming Soon?<\/h3><\/dt>\n<dd><p>Yes. Whole-Site Status remains available. When it is anything other than Normal, it takes priority and Service Zones stay saved but do not independently affect visitors.<\/p><\/dd>\n<dt id=\"can%20administrators%20still%20access%20the%20website%3F\"><h3>Can administrators still access the website?<\/h3><\/dt>\n<dd><p>Yes. The existing administrator visibility setting applies to the public runtime. When administrator application is disabled, administrators can work on the frontend without receiving the public maintenance replacement.<\/p><\/dd>\n<dt id=\"what%20is%20automatic%20public%20service%20status%3F\"><h3>What is Automatic Public Service Status?<\/h3><\/dt>\n<dd><p>When enabled, Titanium Service Zones generates a read-only <code>\/service-status\/<\/code> page and JSON endpoint from Whole-Site Status and the configured zone states. It publishes zone names and state labels only; target paths and matching rules are not exposed.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20the%20plugin%20is%20deactivated%3F\"><h3>What happens when the plugin is deactivated?<\/h3><\/dt>\n<dd><p>The lifecycle process returns Whole-Site Status to Normal and resets configured Service Zones to Operational while preserving their definitions. Supported page caches are purged when a public state had been active.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%20or%20a%20cdn%3F\"><h3>Does it work with page caching or a CDN?<\/h3><\/dt>\n<dd><p>The plugin marks eligible Service Zone, Coming Soon, maintenance, and service-notice responses as non-cacheable and purges supported WordPress page caches after relevant state changes. Server-level caches, reverse proxies, and external CDNs can serve content before WordPress runs, so their own purge controls may still be required.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Selective maintenance and service-status control for WordPress. Keep unaffected parts online with up to three independent Service Zones.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/356628","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=356628"}],"author":[{"embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aplugins"}],"wp:attachment":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=356628"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=356628"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=356628"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=356628"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=356628"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=356628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}