WordPress.org

Plugin Directory

CDNTR – Image Optimization, Next-Gen Images (WebP/AVIF) & CDN Cache

CDNTR – Image Optimization, Next-Gen Images (WebP/AVIF) & CDN Cache

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. Converting on your own server is free and needs no account.

Or let the CDN edge convert them

CDN.com.tr is also an image CDN. On a CDN.com.tr account, image optimization is a switch for your whole account or a single delivery rule. The edge converts JPEG and PNG images to WebP, or to AVIF and WebP if you choose WebP + AVIF (automatic), and each browser gets a format it accepts; browsers that accept neither get the image in its original format. Your image URLs stay the same. With WebP + AVIF, one URL answers every browser (Vary: Accept); with WebP alone, browsers that accept WebP are redirected to a .webp copy. At full size, a newly converted image goes out only when it is smaller than the original. If a conversion fails, the edge serves the original image instead. Nothing runs on your server and there are no extra files to keep. Processing counts toward your monthly CDN.com.tr quota; your panel shows the current rate.

Measured on cdn.com.tr’s own images by our edge (2026-10-05): a 262,025-byte photo JPEG went out as 86,936 bytes of AVIF (113,860 bytes as WebP), and a 105,078-byte PNG hero image as 27,942 bytes of AVIF. See what your own site serves with the free image format checker, or read AVIF vs WebP.

CDNTR’s dashboard asks for one of your images the way a browser does and shows which format really comes back, and it links to the switch in your panel for the account this site is connected to. If the edge converts your images and local conversion is on too, one click — Let the CDN edge handle image formats — turns local conversion off and keeps your converted files. If your server makes AVIF copies and the edge sends WebP only, CDNTR suggests WebP + AVIF in your panel first, so visitors keep getting AVIF.

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.
  • AVIF and WebP at the CDN edge — on a CDN.com.tr account the edge converts JPEG and PNG to WebP, or to AVIF and WebP if you choose WebP + AVIF, and your image URLs stay the same. The dashboard measures what your visitors receive and links to the switch in your panel. Edge processing counts toward your CDN.com.tr quota; local conversion stays free.
  • 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. The account check returns the account name, its CDN hostnames, the package expiry date, and whether image optimization is on (for the whole account, or for a delivery rule) and whether AVIF is on. The plugin only reads those settings and cannot change them; links to them open your CDN.com.tr panel in your browser, on the account this site is connected to (its account ID is part of the link).
  • 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
    • Image settings of the connected account (links that open in your browser): https://cdn.com.tr/management/cdn/advanced-management-open/{account ID}
  • What is sent: your site address and the connection key issued to this site. Warm-up and the live CDN tests request your own public URLs through the CDN (the image test asks for one of your images with a browser’s AVIF/WebP Accept header); 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

  1. Install CDNTR from Plugins Add New in your WordPress admin, or upload the cdntr folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins screen.
  3. 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.)
  4. 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.
  5. Use the Purge button in the admin bar whenever you need to clear the cache; content changes are also purged automatically.
  6. 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?

Not for converting images. WebP/AVIF conversion on your own server and the speed health dashboard work without any account, for free. CDN delivery, cache purging, CDN cache warm-up and image conversion at the CDN edge need a CDN.com.tr account: CDNTR rewrites your asset URLs to the CDN hostname tied to that 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. On a CDN.com.tr account the CDN edge can convert your images instead; see the next two questions.

Local or edge conversion: which should I use?

If your site is on CDN.com.tr, let the edge do it: nothing runs on your server, your image URLs stay the same, and if a conversion fails the edge serves the original image instead. Choose WebP + AVIF (automatic) in your panel and browsers that accept AVIF can get AVIF. Edge processing counts toward your monthly CDN.com.tr quota; your panel shows the current rate. Choose local conversion if your site is not on CDN.com.tr, or if you would rather spend server time than quota; it is free and needs no account.

Do not run both. The edge converts the original again instead of reading the local .webp copies, and the <picture> markup keeps browsers on the local copies instead of the original URL, where the edge picks the best format each browser accepts. When CDNTR sees both, the dashboard and the Images tab offer Let the CDN edge handle image formats: one click turns local conversion off and keeps your files, so you can switch back at any time. Nothing is switched off without that click. Two cases come first: if your server makes AVIF copies and the edge sends WebP only, CDNTR suggests WebP + AVIF in your panel, because switching local conversion off would move those visitors from AVIF to WebP; and if image optimization is on for a delivery rule only, CDNTR offers the click only after its live test sees the edge convert one of your uploads.

Does CDN.com.tr serve AVIF?

Yes. Turn on image optimization for your account or a delivery rule, and choose WebP + AVIF (automatic) as the image format in your CDN.com.tr panel. Browsers that accept AVIF get AVIF, browsers that accept WebP get WebP, and the rest get the image in its original format, all from the same URL (Vary: Accept). With the default, WebP alone, browsers that accept WebP are redirected to a .webp copy and nobody gets AVIF. The edge converts JPEG and PNG images; GIF, SVG and files that already are WebP are served as they are. At full size, a newly converted image goes out only when it is smaller than the original; images resized with ?w= or ?h= are not compared. Images the edge has already cached keep their format until they expire or you purge them. The Next-gen images (live) row of the CDNTR dashboard asks for one of your images the way a browser does and shows which format came back.

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 via image-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

August 29, 2026
Kendi altyapımı doğru kullanıp görsellerimi doğru optimize etmemi sağlıyor. Ücretsiz şekilde ve sınırsız şekilde bu işlemleri yapabiliyorum. cdn.com.tr cdn bağlantısı sadece cdn tarafı için gerekli.
July 15, 2026
We run an online store on WooCommerce (himan.com.tr) and installed CDNTR to serve our static files through CDN.com.tr. Setup was quick — we added our CDN hostname, connected our account, and our CSS, JS and product images started loading from the edge instead of our server. The difference on product pages and images is easy to notice, and pages stay fast even when we get busy. The one-click purge from the WordPress admin is the part I use most: when we update a product or a category, I clear the cache and the change is live right away. Everything on the WooCommerce side — cart, checkout, account — keeps working normally. It just does its job quietly in the background. Happy to recommend it to other shop owners who want a faster site without a complicated setup.
Read all 2 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.

Contributors

“CDNTR – Image Optimization, Next-Gen Images (WebP/AVIF) & CDN Cache” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “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.5.0

  • Fixed: a converted image could be served although it was bigger than the original. The size check ran only in universal mode; it now runs on every page. A <source> also keeps every width of its image (the original stands in where there is no smaller copy), so a browser never jumps to a larger file.
  • New: the dashboard’s Next-gen images (live) row tells WebP, AVIF and the original apart, and whether the CDN edge sent them, and says what to do next: choose WebP + AVIF (automatic) in your panel, turn on image optimization at the edge, or convert on this server.
  • New: when the CDN edge already converts your images and local conversion is on too, the dashboard and the Images tab explain why that is wasted work and offer Let the CDN edge handle image formats. One click turns local conversion off and keeps your converted files; nothing is switched off without it. While your server makes AVIF copies and the edge sends WebP only, they suggest WebP + AVIF in your panel instead, and for image optimization on a delivery rule only, the dashboard offers the click once its live test sees the edge convert one of your uploads.
  • New: the Images tab opens with where your image formats come from: this server, the CDN edge, or both.
  • New: on a site connected to CDN.com.tr, the first-run offer recommends conversion at the CDN edge first, with conversion on your own server as the free alternative. It waits for the account check, so a site whose edge already converts is not offered it. Sites without an account get the same free offer as before.
  • New: links to the image settings open your CDN.com.tr panel on the account this site is connected to, not on whichever account the panel had selected.
  • Improved: in an AVIF <source>, a width without a smaller AVIF copy now offers its smaller WebP copy before the original.
  • The account check now also reads whether image optimization is on for your CDN.com.tr account or a delivery rule, and whether AVIF is on. It only reads them: the connection key still clears your cache and nothing else.
  • Fixed: dashboard links pointed at a Settings tab that no longer exists. They now open the Connection, CDN delivery, Images or Warm-up tab.
  • Fixed: the next-gen row says “WebP and AVIF” when AVIF conversion is on.
  • Removed an image-weight percentage we had not measured from the dashboard and the first-run offer.
  • Fixed: the FAQ said an account is required. Converting images on your own server never needed one.
  • Fixed: on WordPress 6.7 and later the bundled Turkish, Spanish, French, Russian, Arabic and Persian translations never loaded, so the plugin showed in English. A second, outdated registration pointed WordPress at a folder that does not exist.
  • All new text is translated into Turkish, Spanish, French, Russian, Arabic and Persian.

2.4.0

  • New: the health dashboard now measures four more things on the live connection instead of reading them from a setting — whether visitors really get HTTP/2, whether the TLS certificate actually covers the hostname and how long it has left, whether your CDN hostname is genuinely answered by our edge, and whether browsers asking for AVIF/WebP really receive it.
  • Each finding says what to do next: the ones the plugin owns link straight to the setting, and the server-side ones link to the exact page in your CDN.com.tr panel.
  • When this server’s PHP cannot perform a test (for example a cURL built without HTTP/2), the row says “not measured” instead of reporting a problem you do not have.
  • Fixed: two “learn more” links in the dashboard pointed at pages that no longer exist.
  • Fixed: a percent sign was shown twice in the WebP suggestion.
  • All new text is translated into Turkish, Spanish, French, Russian, Arabic and Persian.

2.3.0

  • New: a first-run offer. Installing a plugin and seeing nothing happen is a poor introduction, and next-gen image conversion — which needs no CDN account and runs entirely on your own server — shipped switched off, behind a tab you had to go and find. It is now offered once, on the screen you are already looking at, with a single button. Choosing “Not now” is remembered; nothing is switched on without you.
  • The offer only appears when your server can actually create WebP, so it never asks for something that would fail.

2.2.0

  • New: the plugin is fully translated into Turkish, Spanish, French, Russian, Arabic and Persian — all 155 strings, including the health-check diagnostics that explain what is wrong and how to fix it. Translations ship with the plugin, so they work as soon as you update; WordPress.org language packs, where they exist, still take precedence.
  • Fix: two notices about your CDN package were hard-coded in Turkish and appeared that way to everyone, whatever their language.
  • Fix: the package-expiry notice never fired. It compared an always-positive day count, so an expired package announced “less than 7 days remain” for a week after it had already lapsed, and the “expired” notice never showed at all.

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