What is GT Performance? GT Performance is a free WordPress performance plugin that speeds up every step between your server and your visitor’s screen. It caches finished pages on your server, trims the CSS and JavaScript each page sends, and lets Cloudflare’s free plan serve your HTML from its edge
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.6 and PHP 8.1.
SourceWordPress plugins · Oct 25, 2026
01 / Source details
Aboutthistool.
What is GT Performance?
GT Performance is a free WordPress performance plugin that speeds up every step between your server and your visitor’s screen. It caches finished pages on your server, trims the CSS and JavaScript each page sends, and lets Cloudflare’s free plan serve your HTML from its edge network. One plugin does all three, and every step knows about the others.
Most sites get fast by combining a page cache plugin, an unused CSS service, a script optimizer, and a Cloudflare add-on. Each tool guesses at what the others are doing, and when a post changes, not all of them notice. In GT Performance one set of rules decides what is cached at your server and at Cloudflare, what is left out of both, and what gets purged when content changes.
It works in three layers:
On your server : An advanced-cache.php drop-in serves stored pages before WordPress loads. Redis object caching and background database cleanup reduce the work WordPress does when a page isn’t cached.
In the page : Unused CSS is removed per page, JavaScript is deferred or delayed without breaking dependencies, Google Fonts are hosted locally, hero images can be preloaded, and YouTube embeds load the player only after a click.
At the edge : A single managed Cloudflare Cache Rule lets the Free plan cache your HTML, and edits are purged URL by URL. An optional origin-pull CDN serves the static file types you choose.
Speed doesn’t matter if the site breaks, so safety comes first. WooCommerce, Easy Digital Downloads, and FluentCart carts, checkouts, accounts, and session cookies are never cached at your server or at Cloudflare. Cached pages keep their security headers. Riskier optimizations are off until you turn them on, and one wp-config.php constant switches everything off if something looks wrong.
It also shows its work. Explain this page tells you why any URL is or isn’t cached. Each purge comes with a receipt showing whether it actually reached Cloudflare, the health report lists what needs attention, and settings history lets you roll back a change.
GT Performance suits blogs, content sites, online stores, and anyone who manages sites from WP-CLI or deploy scripts. Everything runs on your own WordPress server. There’s no account to create, no telemetry, and the plugin never contacts servers of its own.
Page cache : Pages are served from an advanced-cache.php drop-in before WordPress loads. Files are written atomically, so a visitor never gets a half-written page, and stale pages rebuild in the background.
Unused CSS removal : Each page gets only the CSS it uses, built on your server. On one measured page, CSS dropped from 320 KB to 101 KB.
Cloudflare edge caching on the Free plan : One narrowly scoped Cache Rule and exact-URL purges. No Workers, no APO subscription.
Safe for stores : WooCommerce, Easy Digital Downloads, and FluentCart carts, checkouts, accounts, receipts, and session cookies are kept out of both the origin cache and Cloudflare.
Purges that follow your content : Updating a post also clears the listings, query loops, widgets, reusable blocks, and shop pages that showed it. Unrelated pages stay cached.
Cache warming : Reads your sitemaps in resumable background batches, warms recently changed pages first, and stops at your cache size budget.
JavaScript defer and delay : Defer follows WordPress’s own script dependencies, so inline jQuery keeps working. Analytics plugin scripts are protected automatically.
Explain this page : Shows why any URL is or isn’t cached, what your server holds, and whether Cloudflare agrees.
Safe mode : One constant in wp-config.php switches off every optimization and cache read without touching a setting.
Multisite : Each site on a network keeps its own settings, bypass rules, and page cache, on subfolder and subdomain networks alike.
LiteSpeed’s own cache : On LiteSpeed and OpenLiteSpeed, the server keeps the pages GT Performance would cache and answers hits without starting PHP. Edits and purges clear the server’s copies too.
Compressed once : Every stored page keeps a gzip copy, plus Brotli when PHP has the extension, so no visit compresses it again.
Page caching
Atomic origin cache served before WordPress loads.
Stale pages rebuild in the background instead of in a visitor’s page load.
Security and indexing headers survive caching: Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, Referrer-Policy, Permissions-Policy, X-Robots-Tag, and more.
Optional separate caches for desktop, mobile, and tablet, purged together.
Hourly cleanup of expired entries, with a configurable cap on cached entries.
Core, plugin, and theme updates purge the cache, so cached pages never point at replaced asset files.
Every purge produces a verified receipt, including partial failures.
Optimize-only mode for hosts that already cache pages, such as LiteSpeed, Hostinger, xCloud, and Kinsta: pages are optimized on their way into your host’s cache, and nothing is stored twice.
Query parameters that change the page, such as orderby or lang , can get a cached copy per value instead of skipping the cache. Purging the page clears every copy.
Saving a setting purges only when the change affects cached pages, so a new API token or cleanup schedule leaves the cache and Cloudflare alone.
Each stored page keeps a gzip copy, and a Brotli copy when PHP has the brotli extension. The drop-in sends the one the browser accepts.
Optional server rules let Apache answer hits, compressed copies included, without starting PHP. Nginx gets a copy-ready snippet. LiteSpeed is left out of these rules on purpose: in testing, OpenLiteSpeed served such copies to signed-in visitors.
On LiteSpeed Web Server and OpenLiteSpeed, “Let LiteSpeed cache pages” marks every page GT Performance would cache for the server’s own cache, tagged per site and per URL, and purges it on every edit. Signed-in visitors, commenters, and shoppers get LiteSpeed’s _lscache_vary cookie, so they never receive the public copy. Purges from WP-CLI or a system cron reach the server through a loopback request.
Multisite
Works on subfolder and subdomain networks, including sites on their own domains.
Each site has its own settings, compiled configuration, and page store. One site’s checkout rules or purges never reach another.
The shared advanced-cache.php drop-in finds the site from the host and path before WordPress loads, the way WordPress routes the request.
The network admin screen and wp gt-performance network purge every site, rebuild the site map, and set defaults for sites that have not saved their own settings.
The drop-in, WP_CACHE , and server rules are installed by a network administrator, and the Redis object cache is configured from the main site. Cloudflare and xCloud edge rules are not available on a network yet.
Unused CSS, built on your server
Stylesheet collection, selector analysis, and pruning all happen on your WordPress server. Nothing is sent to an outside service.
Three delivery modes: a generated file, all used CSS inline, or critical CSS inline with the rest in a file.
Built in the background and reused across pages that share a template.
Page builder state styles are kept for Elementor, Bricks, Divi, Beaver Builder, Oxygen, Breakdance, WPBakery, Brizy, Kadence Blocks, Spectra, GenerateBlocks, and SiteOrigin: open menus, active tabs, sticky headers, popups, sliders, and animations.
Fetch important CSS classes checks sample pages in your browser and keeps styles that JavaScript adds later, such as tables of contents, ads, and sliders.
Keeps :focus-visible rules, Tailwind’s escaped class names, inline SVG, and non-Latin text intact. Stylesheets it can’t safely analyze pass through untouched.
CSS Status shows savings, build timings, and failures in plain language, with per-URL and full regeneration.
Cloudflare and CDN
Compiles and syncs one managed Cache Rule on Cloudflare Free. Your other Cloudflare rules are left alone.
Purges exact URLs, retries temporary failures up to three times, and honors Retry-After.
Connects with a scoped API token or a Global API Key with account email.
The connection check also confirms that visitors actually pass through Cloudflare (proxied DNS) and that APO isn’t caching HTML alongside the managed rule.
Deactivating the plugin, or wp gt-performance cloudflare disconnect , deletes this site’s managed rule and purges this site’s pages, so Cloudflare never keeps serving pages nothing will refresh.
Detects xCloud’s Cloudflare Enterprise add-on, reports its edge traffic, and avoids two systems owning the same edge cache.
Optional origin-pull CDN for static files. You pick the exact file extensions it serves, and HTML, API responses, and third-party URLs stay unchanged.
Built for stores
Dynamic paths, session cookies, and transactional query parameters from WooCommerce, Easy Digital Downloads, and FluentCart are compiled into both the origin and Cloudflare bypass rules.
Product pages and shop listings clear when price or stock changes through the store’s own tools, not only when the product is saved.
Speculative loading stays away from cart, checkout, and account pages.
Frontend optimization
JavaScript defer that respects script dependencies and inline code.
JavaScript delay until first interaction or five seconds. Off by default.
Opt-in JavaScript minification, with a fallback to the original script.
Hero image rules with optional responsive preload, plus per-page options in the editor: script handling, hero image, “Don’t cache this page”, and “Use original CSS”.
Local hosting for Google Fonts your theme or plugins already load.
Lightweight YouTube embeds that load the player from youtube-nocookie.com only after a click.
Separate controls for the main feed and secondary feeds.
Database and object cache
Database cleanup runs in the background with live progress and a stop button, and keeps the number of revisions you choose.
Redis object cache with encrypted credentials. Reads the same WP_REDIS_* constants as Redis Object Cache.
01Install and activate GT Performance from Plugins → Add New.
02Open GT Performance in the main WordPress admin menu.
03Open the Setup tab and follow its six steps. It detects whether your host already caches pages, installs the page-cache drop-in or switches to optimize-only mode, and verifies a cached page. Caching starts here.
04Turn on optimization modules one at a time, and check your theme and plugins after each.
05Optional: connect a scoped Cloudflare API token, or a Global API Key with account email, then sync the managed cache rule.
06Optional: set up an origin-pull CDN and choose the exact file extensions it should serve.
Requires WordPress 6.6 or later and PHP 8.1 or later.
03 / Source details
Frequently asked questions.
Will it cache my cart or checkout?
No. GT Performance compiles the dynamic paths, session cookies, and query parameters from active WooCommerce, Easy Digital Downloads, and FluentCart adapters into both the origin and Cloudflare bypass rules.
Does Cloudflare require a paid plan?
No. The baseline uses Cache Rules and targeted purge, both available on Cloudflare Free. No Worker or APO subscription is required.
Something looks wrong. How do I switch everything off fast?
Add define( 'GTPERF_SAFE_MODE', true ); to wp-config.php . Every HTML transformation stops and no page is served from or written to the cache. Your settings stay as they are. Remove the line to turn everything back on.
Does unused CSS work with page builders?
Yes. When Elementor, Bricks, Divi, Beaver Builder, Oxygen, Breakdance, WPBakery, Brizy, Kadence Blocks, Spectra, GenerateBlocks, or SiteOrigin is active, the classes it adds after the page loads (open menus, active tabs, sticky headers, popups, sliders, animations) are kept. GT Page Blocks Builder and Thrive Architect styles are left untouched. Add your own selectors under Exceptions if a custom script needs more.
Is unused CSS processed by an external service?
No. Stylesheet collection, selector analysis, pruning, and file creation run on your WordPress server.
Can used CSS be inlined?
Yes. Choose Generated file, Inline all used CSS, or Critical inline + remaining file. Hybrid mode falls back to a generated file if the critical part exceeds its inline budget.
Can I use another CDN alongside Cloudflare?
Yes. Enter its HTTPS origin-pull URL on the CDN tab and select the static-file extensions it should serve. GT Performance rewrites only same-site assets with those extensions. Third-party URLs, HTML routes, API responses, and unselected file types stay unchanged.
Does it work on multisite?
Yes, from 1.3.0, on subfolder and subdomain networks. Every site keeps its own settings, bypass rules, and page cache, so one store’s cart cookies or one site’s purge never affect another site. Network-activate the plugin, then install the drop-in once from the network admin screen. Cloudflare and xCloud edge rules are not available on a network yet; each site’s own page cache works without them.
Does it work with LiteSpeed’s server cache?
Yes. Turn on “Let LiteSpeed cache pages” on the Cache tab. GT Performance tells the server which pages to keep, tags them per site and per URL, and purges them on every edit. Signed-in visitors and shoppers get the _lscache_vary cookie, which keeps them away from the public copy. The LiteSpeed Cache plugin does the same job, so GT Performance steps aside while that plugin is active.
Can the web server serve cached pages without PHP?
On Apache, yes: turn on “Keep copies the web server can serve” and add the server rules on the Cache tab. On Nginx, paste the snippet shown there. On LiteSpeed, use “Let LiteSpeed cache pages” instead; the server rules skip LiteSpeed because OpenLiteSpeed did not apply their cookie and query conditions reliably.
Can I undo a settings change?
Yes. Tools → Settings history keeps the last 20 saves for up to 90 days and restores earlier values without touching saved credentials. Settings can also be exported to and imported from a JSON file.
Can Redis credentials be configured in wp-config.php?
Yes. GT Performance reads the WP_REDIS_HOST , port, socket path, scheme, database, ACL password array, prefix, timeout, read-timeout, and disable constants used by Till Krüss’s Redis Object Cache. Existing GTPERF_REDIS_* constants remain supported and take highest precedence. The Object Cache screen provides a copy-ready example.
Does GT Performance send my site data to an AI service?
Only when you ask it to. The optional abilities answer requests from an assistant you connect yourself, using an Application Password you create. They’re off by default, require an administrator account, and never include credentials. The optional adviser (also off by default) sends a redacted diagnostic report to the AI provider configured in WordPress only after you review exactly what will be sent and press Send. Nothing is sent automatically, from visitors, or from scheduled tasks.
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati