Description
CDNTR connects your WordPress site to the CDN.com.tr content delivery network. It rewrites the URLs of your static files — CSS, JavaScript and images — so they are served from CDN edge servers close to each visitor instead of your single origin. The result is faster page loads, less load on your server, and a site that stays fast during traffic spikes.
Connect your CDN.com.tr account and CDNTR also gives you one-click cache purging from the WordPress admin bar, plus automatic purging when your content changes — so updates go live immediately without waiting for the cache to expire.
Connect in one click
No API keys to copy. Press Connect to CDN.com.tr, approve the site in your own CDN.com.tr panel — exactly the way you connect a GitHub or Google account — and the site is connected. The key it receives can only clear your cache: it gives no access to your storage, your FTP or your account settings, and you can revoke any single site from your panel without touching the others. Sites on CDN.com.tr WordPress hosting arrive connected already.
See your whole speed stack at a glance
The plugin page opens with an Optimization dashboard: a live test that proves your files really are served from the CDN edge (with cache HIT and response time), plus checks for a persistent object cache, an active page cache, conflicting CDN plugins, and cache blockers — no-cache headers or cookies sent to anonymous visitors. Everything CDNTR can fix, it fixes in place; everything else links you to exactly where to fix it — and when something on your own site is stopping pages from being cached, the dashboard names the theme or plugin doing it, with the file and line.
Serve images in next-gen formats, for free
Clear the PageSpeed Insights / Lighthouse “Serve images in next-gen formats” recommendation without paying a cloud service. CDNTR converts your images to WebP (and AVIF where your server supports it) right on your own server using PHP’s GD or Imagick — no per-image fees and nothing leaves your host — then serves them from the CDN via <picture> with the original as an automatic fallback. Turn on universal coverage and it optimizes your whole site: media-library uploads, theme and plugin images, and even CSS background-image. It only ever serves a converted file when it is genuinely smaller than the original.
Keep your CDN cache hot (cache warm-up / preload)
CDNTR can warm up (preload) your CDN cache so real visitors never pay for a cold page render. After you purge — or on a light background schedule — it pre-requests your cacheable pages through the CDN so the edge always holds a fresh copy and every visitor gets an instant cached hit. You can watch it work: the Warm-up tab lists every page it requested, the response it got, whether the edge served it from cache, and how long it took.
Why use a CDN with WordPress?
By default WordPress serves every asset from one server. The further a visitor is, the slower it loads — and heavy images and scripts make it worse. A CDN keeps copies of your static files at the edge, close to visitors, which is one of the biggest wins for WordPress speed and Core Web Vitals. New to CDNs? Start with What is a CDN?
Features
- Fast, efficient rewrite engine — automatically rewrites static asset URLs (CSS, JS, images) to your CDN hostname.
- Include by file extension / exclude by string — precise control over exactly which URLs are served from the CDN.
- One-click cache purging — purge everything or selected paths from the WordPress admin (requires a connected CDN.com.tr account).
- Automatic purging — built-in hooks purge affected pages when you edit posts, terms, the customizer or switch themes, with a coalesced queue that de-duplicates API calls.
- One-click connection — approve the site in your CDN.com.tr panel; the site receives a purge-only key, never your password. Revocable per site, and re-checked daily so a connection that stops working tells you instead of failing silently.
- Speed health dashboard — one screen that tests your CDN live, checks your object cache, page cache and cache blockers, and points at whatever is holding your site back.
- Free next-gen images (WebP/AVIF) — optionally convert your images on your own server (GD/Imagick) and serve them from the CDN via
<picture>, with automatic fallback for older browsers. No per-image cloud fees. Converts new uploads in the background and includes a bulk converter for your existing media library. - Universal next-gen coverage — optionally next-gen every local image, not just your media library: theme and plugin images too, and CSS background images via
image-set(). Only serves a converted file when it is actually smaller than the original, so photos are never upgraded to a bigger file. - CDN cache warm-up — keep your CDN edge hot by pre-requesting your cacheable pages, so real visitors get a fast cached hit instead of waiting for a cold origin render. Runs automatically after a purge and on a gentle background schedule.
- WP-CLI support — manage and purge from the command line.
- Multisite ready — works across a WordPress multisite network.
- WordPress REST API support.
Learn more about CDN.com.tr
CDN.com.tr is a CDN and managed hosting platform with edge locations across multiple countries, plus DDoS protection, WAF and automatic SSL.
Third Party Service Usage
This plugin utilizes external services to provide its functionality. Specifically, it interacts with the CDN.com.tr service for content delivery network (CDN) related operations. This includes actions like purging cached content and checking account status.
- Service Name: CDN.com.tr
- Purpose: Used to connect the site to a CDN.com.tr account, to purge cached content, and to check the account status.
- Endpoints:
- Purge All Cache: https://cdn.com.tr/api/purgeAll
- Purge Selected Paths: https://cdn.com.tr/api/purge
- Check Account Status: https://cdn.com.tr/api/checkAccount
- Connect this site (you are sent here to approve it, in your browser): https://cdn.com.tr/connect/wordpress
- Collect the connection key after you approve (server to server): https://cdn.com.tr/api/wp/connect/exchange
- What is sent: your site address and the connection key issued to this site. Warm-up and the live CDN test request your own public URLs through the CDN; no visitor data is sent to CDN.com.tr.
- Privacy Policy: https://cdn.com.tr/en/privacy
- Terms of Use: https://cdn.com.tr/en/privacy
Please be aware that using this plugin means that your data will be sent to the aforementioned service. Ensure that you review the service’s terms and policies to understand how your data is being used and to comply with any legal requirements.
Screenshots





Installation
- Install CDNTR from Plugins Add New in your WordPress admin, or upload the
cdntrfolder to/wp-content/plugins/. - Activate the plugin through the Plugins screen.
- Open Settings CDNTR, go to the Connection tab and press Connect to CDN.com.tr. Approve the site in your panel; you are sent straight back, connected. (Sites on CDN.com.tr WordPress hosting are connected already.)
- On the CDN delivery tab pick your CDN hostname, adjust the file extensions to include and any strings to exclude, then save. Your static assets are now served from the CDN.
- Use the Purge button in the admin bar whenever you need to clear the cache; content changes are also purged automatically.
- Optional: turn on next-gen images on the Images tab and edge warm-up on the Warm-up tab.
FAQ
-
Do I need a CDN.com.tr account to use the plugin?
-
Yes — CDNTR rewrites your asset URLs to the CDN hostname tied to your CDN.com.tr account, and a connected account unlocks one-click and automatic cache purging from inside WordPress.
-
How does connecting work, and what can the site do with my account?
-
You press Connect to CDN.com.tr and approve the site in your own panel; the site never sees your password. It receives a key scoped to a single permission — clearing your cache — which cannot read or change your storage, FTP or account settings. Every connected site is listed in your panel and can be revoked on its own. If your site cannot complete the redirect (a local or password-protected install), you can create the same key in the panel and paste it by hand.
-
Will this work with my existing theme and plugins?
-
Yes. CDNTR only rewrites the URLs of static files; it does not change your theme or content. You can include specific file extensions and exclude specific URLs as needed.
-
Does it support WooCommerce and dynamic sites?
-
Yes. Only static assets (CSS, JS, images) are served from the CDN; dynamic pages such as cart, checkout and account keep working normally. Automatic purge hooks help keep category and shop pages fresh.
-
How does cache purging work?
-
With a connected account you can purge all cache or selected paths manually from the admin bar, and the plugin also purges automatically when relevant content changes. Purges are queued and de-duplicated to avoid unnecessary API calls.
-
Does it work on WordPress multisite?
-
Yes, CDNTR supports multisite networks.
-
Can I use it from WP-CLI?
-
Yes, CDNTR registers WP-CLI commands so you can manage and purge from the command line.
-
Does it convert my images to WebP/AVIF?
-
Optionally, yes. Enable “Next-Gen Images” in the settings and CDNTR creates WebP versions of your images on your own server using PHP’s GD or Imagick — no cloud service and no per-image fees. Browsers that support WebP get the smaller file (served from the CDN via a
<picture>element); older browsers automatically get the original. AVIF is offered too when your server supports it. New uploads are converted in the background, and a bulk converter handles your existing media library. If your server can’t create WebP, the option is hidden with a note. CDNTR only advertises a converted file when it is genuinely smaller than the source, so it never upgrades a well-compressed photo to a bigger file. -
Can it convert theme images and CSS backgrounds too?
-
Yes. Turn on the “universal” next-gen option and CDNTR covers every local image on the page — including images shipped by your theme and plugins, and images used as CSS
background-image(delivered viaimage-set()with a graceful fallback) — not just your media library. -
What is CDN cache warm-up?
-
After a purge (or on a light background schedule) CDNTR can pre-request your cacheable pages through the CDN so a fresh copy is stored at the edge. That way your visitors get an instant cached response instead of being the one that waits for a cold page render. It skips non-cacheable pages such as cart, checkout, account and search, and can warm both desktop and mobile variants.
Reviews
Contributors & Developers
“CDNTR – Image Optimization, Next-Gen Images (WebP/AVIF) & CDN Cache” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “CDNTR – Image Optimization, Next-Gen Images (WebP/AVIF) & CDN Cache” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.1.1
- New: Optimization dashboard. The plugin page opens with a one-look health check of your whole delivery stack: is the CDN really serving your files (live edge test with cache HIT/MISS and timing), do you have a persistent object cache, is a page cache — or a conflicting second CDN plugin — active, and is anything blocking caching. Every row either fixes the issue in place or links you to exactly where it can be fixed.
- New: Connect to CDN.com.tr in one click. Press the button, approve the site in your own CDN.com.tr panel — the way you would connect a GitHub or Google account — and you are done. Nothing to copy, no password to type. Sites on CDN.com.tr WordPress hosting arrive connected already, and can be pointed at another account at any time.
- Security: the plugin no longer asks for your CDN.com.tr account password. Connecting issues a purge-only key that can clear your cache and nothing else, and any single site can be disconnected without touching the others.
- Security: your credentials are now verified on the server. They used to be sent from the browser, which exposed them to any script running on the admin page.
- The plugin screen is now one row of tabs — Optimization, Connection, CDN delivery, Images, Warm-up — instead of one long column of settings. Each tab has its own address, so a reload or a bookmark keeps you where you were, and saving one tab leaves the others untouched.
- The connection panel names the account the way your CDN.com.tr panel does, with the account ID kept underneath for support.
- The homepage check now tells the truth about HTML caching — and names the culprit. If your own theme or a plugin sends no-cache headers (or WordPress internally resolves your pages as 404s), the check says so with the exact file, instead of blaming your CDN settings; only when the origin is truly clean does it point at the CDN account.
- Fix: “Max pages to warm” is finally respected. The Warm cache now button asked for a fixed 200 pages and ignored the setting entirely.
- New: the Warm-up tab shows what warming actually did — every page it requested, the response it got, whether the CDN edge served it from cache, and how long it took, updating live while a run is in progress.
- Fix: approving the connection twice (a browser Back, a reload, a second tab) no longer reports the connection as invalid. A repeated approval is recognised, and a site that is already connected is told so instead of being shown an error.
- Fix: the plugin re-checks its connection once a day. A site whose credentials stopped being accepted used to go on claiming it was connected forever, while every purge failed in silence.
- A saved connection key is no longer printed back into the settings page; leave the field empty to keep the stored key.
- Sites on CDN.com.tr WordPress hosting connect themselves — no username, no key, nothing to enter.
2.0.0
A major release: CDNTR grows from a CDN URL rewriter + purge tool into a full CDN performance plugin — free next-gen images and CDN cache warm-up, all on-server and opt-in.
* New: Local next-gen images — optional on-server WebP (and AVIF where supported) conversion, served from the CDN via <picture> with the original as an automatic fallback. Background conversion on upload + a bulk converter for your existing media library (with progress and cancel). Runs on GD/Imagick — no per-image cloud fees, nothing leaves your server.
* New: Universal next-gen coverage — optionally next-gen every local image, not just the media library: theme and plugin images, and CSS background-image via image-set(). Understands page-optimizer image proxies so it still works alongside them.
* New: Smart size guard — a converted file is only served when it is actually smaller than the original (photos are never upgraded to a bigger WebP).
* New: CDN cache warm-up — keeps your CDN edge hot by pre-requesting cacheable pages, so visitors get a fast cached hit instead of a cold origin render. Fires automatically after a purge, batched so it never hammers your origin, and can warm desktop + mobile variants.
* New: Warns in the admin when another image-optimization plugin is active, to avoid double processing.
* Tested up to WordPress 7.0.
1.2.5
- Added async purge mode support for runtime-triggered invalidations
- Added coalesced purge queue with short window to reduce duplicate API calls
- Added lightweight purge telemetry counters for operational diagnostics
- Added purge mode/coalescing filters (
cdntr_purge_mode,cdntr_purge_coalesce_window)
1.2.4
- Added built-in term change purge hooks (create/edit/delete) with focused taxonomy support
- Added built-in sitewide purge hooks for customizer and theme switch events
- Added short purge burst throttling for noisy event streams to reduce duplicate API calls
- Reduced need for site-specific CDNTR auto-purge mu-plugins by moving common logic into core plugin
1.2.3
- Security hardening for path-based purge normalization (control-char stripping, traversal-like path guard, length bound)
- Safer taxonomy purge handling by skipping invalid term links
- Improved delete-flow purge coverage by collecting related post/category/shop paths before deletion
1.2.2
- screenshots and assets added
1.2.1
- Minor security updates
