What it does
Heavy images are the most common reason a blog feels slow. This plugin connects your VeloCMS media library to your own Cloudflare Images account. Each time you upload a picture, the original is saved as usual and the upload finishes straight away. In the background, a copy is sent to Cloudflare Images, which serves resized variants from its global network. When Cloudflare answers, the media record is updated with the new image ID and its main delivery address, and the media library then lists that address ahead of the original. Delete the picture in VeloCMS and its Cloudflare copy is deleted with it, so nothing is left behind and billing for it stops.
Who it's for
Site owners who already have, or are happy to create, a Cloudflare account with Cloudflare Images switched on, and who publish photo-heavy posts where page weight matters. It suits photographers, travel and food bloggers and shops with many product pictures. It is a bring-your-own-account plugin, so it is a poor match if you do not want a second vendor in your image path.
How it works
In Cloudflare, copy your Images account ID and create an API token with the Cloudflare Images Edit permission. In the plugin settings, paste both and save. The token is encrypted before it is stored.
You upload an image to the media library or from the editor. The original is stored first and your upload completes without waiting for Cloudflare.
In the background VeloCMS fetches the stored image and uploads it to your Cloudflare Images account. It keeps the variant named public when one exists, or the first variant Cloudflare returns, and records the image ID and address on the media record.
The media library now prefers the Cloudflare address over the original for that image. If the Cloudflare step fails for any reason, the original address keeps working and the upload is not affected.
Settings you configure
- Cloudflare Images Account ID
- Found in the Cloudflare dashboard under Images. It identifies which of your accounts receives the copies.
- API Token
- A scoped token with the Cloudflare Images Edit permission. It is stored encrypted and is never shown again. Leave the field blank when you save to keep the one already stored.
What it can access
The plugin can read an image you have just uploaded and send it to Cloudflare Images on your account. It contacts only api.cloudflare.com, with your own token. It writes the Cloudflare image ID and delivery address back to the media record, and removes the Cloudflare copy when you delete the image. The token is encrypted at rest and never logged. It adds a settings section to the admin area.
Permissions
- Make external HTTP requests to: api.cloudflare.com
- Add settings sections
External network access
This plugin makes requests to the following domains:
api.cloudflare.com
Capabilities
network:fetchui:settings
Screenshots

Honest limits
It needs your own Cloudflare account with Cloudflare Images enabled and a token that can edit it. Cloudflare bills that service to you under its own plans, separately from VeloCMS.
Only new image uploads are processed. Pictures that were already in your media library before you switched the plugin on are not sent, and a picture that already has a Cloudflare address is never uploaded a second time.
Only image files are sent. Other uploads such as PDFs are left alone.
The upload to Cloudflare happens after your own upload has finished, so for a short while the original address is the live one. If the Cloudflare step fails, nothing is retried and the image simply stays on its original address.
Which sizes and formats you get depends on the variants you have set up in Cloudflare Images. VeloCMS records one main address per picture, preferring the variant called public.
Frequently asked questions
Does it replace the original file?
No. The original stays where it was uploaded and keeps working. The plugin adds a Cloudflare Images copy and the library prefers its address once it exists.
What happens if Cloudflare is down or my token is wrong?
The upload still succeeds and the image keeps its original address. The failed Cloudflare step is logged on the server and the image is simply not optimized.
Will my existing images be converted?
Not automatically. Only images uploaded while the plugin is enabled and configured are sent to Cloudflare. Re-upload an older picture if you want it to get a copy.
What happens to the Cloudflare copy when I delete an image?
It is deleted too, using the stored image ID and your saved credentials. If that clean-up fails, the image is still removed from VeloCMS.
Related plugins
Specifications
- Category
- Media
- Price
- Included
- Version
- 1.0.0
- Source
- First-party
Browse more integrations
58 free first-party integrations available.