We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Add-Ons
default app icon

CF Image

By Codebit
Integrations Performance Image Management

Description

Wrap your EE image URLs through the Cloudflare Image Resizing API for right-sized, format-negotiated delivery; with explicit template tags, automatic HTML rewriting, a debug overlay, and tooling to find unbound patterns before users do.

  • Presets (Live example site)
  • Site audit (Live example site)
  • Image suggestions (Live example site)
  • Documentation (Live example site)
  • Debug overlay (Live example site)

CF Image routes the images your EE site already serves through Cloudflare’s Image Resizing API, delivering the right size in the right format: AVIF, WebP, JPEG — for every device, with zero changes to how you author content.

Three ways to use it

  • Template tags. {exp:cf_image:url}, {exp:cf_image:img}, {exp:cf_image:picture}. Full responsive srcset (DPR for fixed-size presets, width descriptor for responsive presets), sizes attribute, ad-hoc inline parameters when you don’t want a preset.
  • Auto-rewrite extension. Toggle on per site and the template_post_parse hook rewraps every matching URL in <img src>, srcset, <a href> (image links), and CSS background-image: url(...). Ships with a per-element skip class for opt-outs.
  • Ad-hoc parameters. Pass w, h, fit, q, etc. inline without defining a preset; handy for one-off transforms.

Built for production sites

  • Live debug overlay via ?cfdebug=1 — floating panel with hit/miss/skip counts and a colored badge on every image showing which preset wrapped it (or why it wasn’t).
  • Misses log captures URLs the auto-rewriter didn’t bind, tagged with the page URI where they appeared. One log file per site, so MSM installs stay clean.
  • Audit statically scans every EE template, every custom field table, and (if you use it) the ChannelImages addon’s full filename-variant set. For example, 65k+ images compress to ~20 patterns you can act on.
  • Suggestions consolidates unbound patterns from the runtime log and the static scan, pre-selects the best matching preset by keyword, and lets you batch-create bindings in one submit.
  • Drift diffs presets and bindings between sites on an MSM install; one-click copy across the gap.
  • Pre-warm fires parallel HEAD requests against wrapped URLs after each entry save so Cloudflare’s edge cache is populated before the first visitor (in case of full page caching).
  • Import / Export for moving presets + bindings between installs.
  • Diagnostics card with safe-uninstall (drops tables, hooks, menu item, log dir in the right order).

What you need

  • ExpressionEngine 7+
  • PHP 7.4+
  • A Cloudflare zone with Image Resizing enabled on the host that serves your images. This is gated by Cloudflare’s plan; Pro+ includes it, Free does not. The full setup walkthrough is built into the addon’s Docs page.

Smoke-tested before every release

Every release is installed cold on a vanilla EE 7 install via an ExpressionEngine test harness and walked through every CP route before release.

Tested at scale

Running in production against an EE 7 install with 65,000+ ChannelImages images across two MSM sites.

Information
Version 1.3.5
Last Update one day ago
Compatibility EE 7
License Commercial
Links
  • Documentation
  • Change Log
  • Support
ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.