Wordpress plugin
Transparent Edge Cache is the official WordPress plugin for the Transparent Edge CDN platform. Unlike generic plugins such as WP Rocket or W3 Total Cache, it's built specifically to take advantage of the exclusive Varnish Enterprise features that Transparent Edge offers.
With this plugin your WordPress site:
Serves pages from the CDN cache instantly
Updates automatically when you publish or edit content
Pre-warms purged pages so no visitor ever gets a slow page
Optimizes images on the fly without touching your server
Reduces the weight of CSS, JavaScript and HTML for faster loading
What makes it different from other cache plugins?
Traditional cache plugins don't know about Transparent Edge's capabilities. This plugin uses features no other plugin supports:
Surgical invalidation (Surrogate-Keys)
No
No
Yes
Soft Purge (zero downtime)
No
No
Yes
Automatic pre-warming
No
No
Yes
Image optimization on the CDN (i3)
No
No
Yes
Tag-based invalidation (not URL-based)
No
No
Yes
CSS/JS minification + Combine
Yes
Yes
Yes
Lazy Load + LCP Preload
Yes
Partial
Yes
Object Cache (Redis)
No
Yes
Yes
Installation
Prerequisites
WordPress 5.5 or higher (6.0+ recommended)
PHP 7.4 or higher (8.1+ recommended)
A Transparent Edge account with API access (Company ID, Client ID, Client Secret)
Your site must be configured to route through the Transparent Edge CDN
Installation steps
Download the
transparent-edge-cache.zipfileIn WordPress, go to Plugins → Add New → Upload Plugin
Select the ZIP file and click Install Now
Click Activate Plugin
A new TE Cache menu appears in the left sidebar
Quick setup wizard
The first time you open the plugin, a setup wizard walks you through the whole process:
Step 1 — Site type. The plugin automatically scans your install and detects the type of site (blog, corporate, online store with WooCommerce, membership), along with language plugins (WPML, Polylang), page builders (Elementor, Divi) or SEO plugins (Yoast, Rank Math). You can confirm the detection or change it manually.
Step 2 — Credentials. Enter your Company ID, Client ID and Client Secret. The plugin verifies the connection to the Transparent Edge API.
"Connect and Configure" button. With one click, the plugin verifies the credentials, applies the optimal configuration for your site type, enables the recommended features, and is ready to go.
Dashboard
The Dashboard is the first tab you see inside TE Cache. It gives you an at-a-glance status of every feature:
CDN Status — shows whether the plugin is connected to the Transparent Edge API and displays the current TTL configuration. ✓ Active in green means everything is working correctly.
Object Cache — shows whether object caching is enabled (Redis or APCu) and its hit ratio. A high ratio (>90%) means most database queries are served from memory.
Minification Cache — number of CSS and JS files the plugin has minified and stored on disk. Clear it with the "Clear Minify Cache" button.
WPO Features — how many web performance optimizations are active out of those available.
Invalidation History — direct link to the Transparent Edge dashboard showing every purge event: what was purged, when, and with what result.
Connection
This tab is where you configure API credentials and find the quick actions.
API credentials
You'll need three values, available in your Transparent Edge dashboard (Settings → API):
Company ID — your company's numeric identifier in Transparent Edge
Client ID — your application's API identifier
Client Secret — the secret key used to authenticate
Once entered, click "Test Connection" to confirm they're correct.
Quick actions
Purge All Cache — sends an order to Transparent Edge to remove all cached content for your site. Use it after large-scale changes (theme update, content migration). In normal use you shouldn't need it — the plugin purges what's needed automatically.
After a Purge All, the following visits will be slower until the cache rebuilds. If Preload via Sitemap is enabled, the plugin will pre-warm the pages automatically.
Pre-warm Cache via Sitemap — crawls your site's sitemap (Yoast, Rank Math or native WordPress) and visits every URL so Varnish caches it. Runs in the background with real-time progress, and can be stopped at any time. It processes 3 URLs every 3 seconds to avoid overloading your server; a 100-page site pre-warms in about 2 minutes.
Cache configuration
Controls how long content stays cached, both on the CDN and in the visitor's browser.
What is TTL?
TTL (Time To Live) is how long content stays in cache before it's considered expired. There are two types:
s-maxage (CDN TTL) — how long Varnish keeps a copy of the page. While it's valid, visits are served instantly from the CDN.
max-age (Browser TTL) — how long the visitor's browser keeps a local copy, without even checking the CDN.
Dynamic content (HTML)
HTML pages are dynamic content generated by WordPress; the plugin sends cache headers directly from PHP.
CDN TTL (s-maxage)
172,800s (48 hours)
Varnish keeps the page for 48h. When new content is published, the plugin automatically purges the affected pages.
Browser TTL (max-age)
3,600s (1 hour)
The visitor's browser serves its local copy for 1h, reducing requests to the CDN.
Static content (CSS, JS, images, fonts)
Static files don't go through PHP. The plugin sets their cache headers depending on your web server:
Apache/LiteSpeed — the plugin writes rules automatically into
.htaccessNginx — the plugin generates a config snippet you copy into your
server {}block
CDN TTL (s-maxage)
2,592,000s (30 days)
Static assets rarely change; 30 days is safe because WordPress versions CSS/JS (?ver=X).
Browser TTL (max-age)
86,400s (1 day)
The browser caches static assets for one day.
Static asset invalidation is automatic: when you upload an image or update a theme/plugin, the plugin purges those files in Varnish without any action on your part.
Surrogate-Keys
This is the plugin's most powerful feature. Every page is tagged with unique identifiers (Surrogate-Keys) describing its content — for example, the homepage might carry the tags front-page, post-123, type-post, author-1, term-5, tax-category.
When you publish a new post in the "Sports" category (term-5), the plugin tells Varnish: "purge every page tagged term-5." Only the pages showing that category get purged; the rest of the site keeps serving from cache untouched.
Vary by device and language
Vary by Device — enable this if your theme shows different content on mobile and desktop; Varnish will keep two versions of each page.
Vary by Language — enable this if you use WPML or Polylang; Varnish will keep one version of each page per language.
Automatic invalidation
The plugin automatically detects when your content changes and purges only what's needed in the CDN.
Publish or edit a post
The post + homepage + categories + tags + author
Yes
New approved comment
Only the post's page
Yes
Edit a menu
Pages using that menu + homepage
Yes
Edit a widget
Pages using that sidebar
Yes
Switch theme
The whole site (Purge All)
Optional
Upload or edit an image
The file's URL + thumbnails
No
Update a theme or plugin
All CSS and JS
No
Only a theme switch triggers a Purge All. Every other event is surgical: it purges only the pages containing the changed content.
Purge methods
Soft Purge (recommended) — marks content as stale in Varnish but keeps serving it while a fresh copy is fetched from origin. The visitor never experiences downtime. If your server temporarily fails, Varnish keeps serving the last valid version.
Hard Purge — removes content immediately; the next request goes to origin. Use it only when you need the change to be instant and don't mind a possible MISS.
Automatic pre-warming (Warm-up)
After every purge, the plugin automatically visits the purged pages so Varnish caches them again, so no real visitor ever gets an uncached page. Example, publishing in "Sports":
The plugin sends a
tag_invalidateto Varnish with the affected tagsVarnish purges the homepage, the Sports archive, the feed…
The plugin does a GET on those pages
Varnish goes to origin, generates the fresh pages, and caches them
The next visitor gets a HIT with the story already visible
Preload via Sitemap
When this option is enabled, after a Purge All the plugin automatically crawls your sitemap (Yoast, Rank Math or native WordPress) and pre-warms every URL in the background, without blocking your work.
Image optimization (i3)
i3 is Transparent Edge's image optimization service: it transforms images at the CDN edge, without touching your server or modifying the original files.
Auto WebP — automatically converts JPEG and PNG images to WebP for supporting browsers (25-50% lighter)
Quality control — adjusts JPEG and WebP quality (80% by default, a good balance of size and visual quality)
Size limit — set a maximum size (e.g. 500KB); images are progressively compressed to stay under it
Enabled from the "i3 Images" tab. The plugin generates a VCL snippet you need to deploy from your Transparent Edge dashboard (Configuration → VCL), copying it with the "Copy VCL" button.
The VCL snippet includes a domain filter so it doesn't affect other sites on your account. Don't modify the snippet unless you know what you're doing.
Frontend optimization (WPO)
Optimizations that improve Core Web Vitals:
CSS minification — strips comments and whitespace; cached to disk; already-minified
.min.cssfiles are skippedCombine CSS — merges local CSS files into a single file, cutting down HTTP requests; external and conditional CSS is preserved
JS minification — more conservative than CSS: strips block comments and extra whitespace while preserving code structure; jQuery and already-minified files are skipped
Combine JS — only combines footer scripts, for safety; jQuery and WordPress core scripts stay separate
Defer JS — adds the
deferattribute so scripts don't block HTML parsing, improving LCPDelay JS — scripts don't load at all until the user interacts with the page; improves INP
Lazy Load for images and iframes — defers off-screen content until scroll brings it into view; the first 2 images load immediately to avoid hurting LCP
Preload LCP — detects the page's main image and adds a preload hint in the
<head>Self-host Google Fonts — serves fonts from your own domain: improves TTFB, is GDPR-friendly, and is cached for 30 days
Automatic DNS Prefetch — detects the third-party domains your site uses and adds DNS prefetch/preconnect hints
Remove Unused CSS — generates, per template, a version of the CSS containing only the rules that template actually uses; computed in the background and never breaks your site's appearance if generation fails
Lazy Load for CSS background images — defers CSS-defined background images until they're about to enter the viewport; the first 2 stay active
If Delay JS breaks something, add the affected script to the exclusion list. jQuery is always excluded automatically.
Delay JS, Defer JS and Combine JS respect WordPress's script dependency tree, avoiding errors like "Backbone is not defined" or issues with forms that depend on libraries like Backbone or Underscore, with no manual configuration needed.
Speculation Rules (prefetch and prerender)
A modern standard that lets the browser load pages ahead of time that the visitor is likely to visit next, so pages appear almost instantly on click. The plugin generates these rules automatically, with smart exclusions so it never preloads cart, checkout, account area, forms, etc.
Operating modes
Conservative — only preloads on click or mouse-down. The lowest load on origin; recommended for high-traffic sites.
Balanced — preloads on link hover. A good balance between speed and load; recommended for most sites.
Aggressive — preloads on hover and prerenders (fully renders) on click. The fastest option, but it executes JavaScript on speculated pages, which can trigger analytics or remarketing pixels before the actual visit. Requires explicit confirmation to enable.
You can choose which content types get preloaded (posts, pages, products, etc.).
The header can be injected via PHP (origin, no extra config needed) or via VCL (edge, more efficient — the plugin generates the recommended snippet). Either way, the plugin never deploys VCL automatically: it only generates the recommendation for you to apply.
If it detects another prefetch/prerender plugin active (WordPress Speculative Loading, Flying Pages, WP Rocket's Preload Links, etc.), it warns you to avoid duplicate preloading.
Security
Combines protections that work on any WordPress install with Transparent Edge's own security services.
At the top of this tab you'll see which security services you have with Transparent Edge (WAF, Bot Mitigation, Perimetrical, Anti-DDoS), detected automatically from your account. Features that require active protection (rate limiting, anti-bot, automatic anomaly response) require the Perimetrical suite and are managed from the Transparent Edge platform, not from the plugin.
Local hardening
Available to all customers, regardless of contracted security services:
Block PHP in uploads — prevents PHP files from executing inside
/wp-content/uploads/, a common attack vector. Applied automatically via.htaccesson Apache; on Nginx the equivalent rule is shown.Disable XML-RPC — disables
xmlrpc.php, unless you use Jetpack or the WordPress mobile app.Limit login attempts — temporarily blocks an IP after several failed login attempts, mitigating brute-force attacks.
Security headers
The plugin helps you configure the main HTTP security headers (Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy and Permissions-Policy), generating a recommended VCL snippet you apply from your Transparent Edge panel — or, alternatively, issuing them from PHP.
The CSP header starts by default in Report-Only mode: it logs violations without blocking anything, so you can test it safely before enforcing it.
Advanced configuration
Excluded URLs — URLs that should never be cached; one pattern per line, regex supported (e.g.
/my-private-page/,/api/)Excluded cookies — if a visitor has one of these cookies, the page isn't cached; WordPress and WooCommerce cookies are already included by default
Ignored query strings — tracking parameters (UTM, fbclid, gclid, etc.) create duplicate cache entries; the plugin generates a VCL snippet that strips them from the cache key using
urlplusHeartbeat control — WordPress sends AJAX requests every 15-60 seconds for autosave and post locking. You can reduce the frequency (60-120s), disable it in the admin, or disable it in the editor too (which also disables autosave — use with caution)
WooCommerce
If you have WooCommerce installed, the plugin integrates automatically.
Pages excluded from cache:
Cart — contains data unique to each visitor, so it must not be cached
Checkout — a personalized payment process
My Account — the customer's personal data
Order confirmation page — order-specific data
Product invalidation:
Edit a product
Product page + categories + shop + homepage
Stock change
Product page + categories
Order completed/cancelled
All products in the order
Product review
Product page
Scheduled sales (start/end)
Shop + on-sale products
Object Cache
Object Cache stores database query results in memory (Redis or APCu), drastically cutting the number of SQL queries WordPress needs to render a page.
A typical WordPress site runs 100-300 database queries per page; with Object Cache, most are served from memory in microseconds. This especially helps when Varnish gets a MISS and needs to go to origin.
To enable it: go to the plugin's Dashboard — if Redis or APCu are available on your server, you'll see an "Activate" button.
WordPress Multisite
If your install is a multisite network, the plugin supports network activation with:
Shared credentials — configure API credentials once for the whole network; individual sites inherit them
Force credentials — optionally prevent individual sites from changing them
Auto-activation — new sites created in the network are configured automatically with the network settings
Network overview — from Network Admin → TE Cache you can see the status of every site
Purge All Network — button to purge the cache of every site in the network at once
Troubleshooting
Pages always show MISS
The site isn't routed through the CDN, or active session cookies are present
Verify the domain points to the CDN. Test as an anonymous visitor (logged out).
Fonts broken after enabling Minify CSS
The minification cache has stale files
Go to the Dashboard and click "Clear Minify Cache," then run a Purge All.
Purge doesn't work
Incorrect or expired credentials
Check the credentials in the Connection tab and review the invalidation history in the TE dashboard.
Delay JS breaks the site
A critical script is being delayed
Add the affected script to Delay JS's exclusion list (jQuery is already excluded).
Object Cache unavailable
Redis or APCu aren't installed
Contact your hosting provider to install the PHP Redis extension.
Combine JS breaks functionality
A script depends on being loaded in a specific order
Add that script's handle to Combine JS's exclusion list.
Browser shows old content
Browser TTL (max-age) is too high
Do a hard refresh (Ctrl+Shift+R). Optionally, lower the HTML max-age.
Static assets aren't cached in Varnish
Headers aren't reaching Varnish (Nginx)
On Nginx, copy and apply the config snippet shown by the plugin in the Cache tab.
Glossary
CDN
Content Delivery Network. A network of distributed servers that serve your content from the point closest to the visitor.
Varnish
High-performance HTTP cache software used by Transparent Edge to store and serve your pages.
TTL
Time To Live. How long content stays in cache before expiring.
s-maxage
HTTP header indicating the TTL for intermediate caches (like Varnish). Doesn't affect the visitor's browser.
max-age
HTTP header indicating the TTL for the visitor's browser.
HIT
When Varnish has a valid cached copy and serves it directly. Fast.
MISS
When Varnish has no copy (or it expired) and needs to go to the origin server. Slower.
Soft Purge
Invalidation method that marks content as stale but keeps serving it while a fresh copy is fetched
Surrogate-Keys
Tags identifying a page's content to allow surgical invalidation.
Warm-up
Process of pre-warming the cache by visiting pages so Varnish caches them before real visitors arrive.
WPO
Web Performance Optimization. A set of techniques to make a website load faster.
LCP
Largest Contentful Paint. Google metric measuring when the page's main content appears.
INP
Interaction to Next Paint. Google metric measuring how long a page takes to respond to user input.
VCL
Varnish Configuration Language. Language used to configure Varnish's behavior.
i3
Transparent Edge's image optimization service that transforms images at the CDN edge.
Object Cache
In-memory cache (Redis/APCu) for WordPress database query results.
Drop-in
A special PHP file that WordPress loads automatically to replace core functionality (e.g. object-cache.php).
Last updated
Was this helpful?
