Using WP Rocket with a CDN
Forget configuration headaches, WP Rocket has now its own premium CDN service, RocketCDN. Our automatic configuration provides the best speed results!
CDN Compatibility: This feature is generally compatible with most CDN providers, including Amazon Cloudfront, MaxCDN, KeyCDN and others.
Depending on your needs, you can of course use any CDN in addition to Cloudflare. If you need information about Cloudflare, it's here:
Using WP Rocket with Cloudflare
In this article
RocketCDN
RocketCDN is a premium, optimized CDN service with easy integration from the WP Rocket CDN tab:
Default: “Pull” CDN
A “pull” CDN (or “pull zone”) will automatically import (“pull”) files from your WordPress site. To use WP Rocket with a “pull” CDN, activate the Enable Content Delivery option, copy the CNAME (domain) given to you by your CDN provider and enter it in CDN CNAME field into the CDN tab of WP Rocket settings:
WP Rocket's CDN feature will:
- Rewrite all URLs for your assets (static files like images, CSS/JS files) that are present in the HTML of the page.
- Add a
preconnect
resource hint for your CDN CNAME, with adns-prefetch
as a fallback.
Heads up! If you see that a file is not being served from your CDN, it might be because it's being loaded from an AJAX request, or being dynamically inserted into the page after the HTML has already been generated.
Advanced: “Push” CDN
A “push” CDN (or “push zone”) does not import any files from your website by itself; instead your website must send (“push”) all required files to the CDN.
WP Rocket does not handle the push process itself. If you use a "push" CDN, you will need an extra plugin to send your assets.
Amazon Cloudfront
If you use Amazon Cloudfront as a “push” CDN, we recommend this plugin (plus the add-on for the other static files) to get your assets uploaded to Cloudfront automatically:
Important: WP Offload Media Lite Rewrite Asset URLs option (found on Offload Media > Assets) will prevent WP Rocket from minifying CSS and minifying and combining JavaScript files. It needs to be turned off.
Further reading on Cloudfront:
- What is Amazon Cloudfront? Developer Guide
- How to use Amazon Cloudfront to speed up your WordPress site
MaxCDN
MaxCDN provide these resources for WordPress site administrators:
KeyCDN
KeyCDN have a tutorial for setting up WP Rocket with their service here:
Kinsta
Kinsta’s CDN is powered by Cloudflare therefore it will work automatically with WP Rocket.
Checking the “Enable Content Delivery Network” option is not required.
WP Engine
If you are using WP Engine's Global Edge Security or advanced network, you should keep the CDN option in WP Rocket disabled. Both services have the CDN feature at the DNS level.
Optimole
If your site is using Optimole for image optimization and delivery using their free CDN, you don't need to enable the CDN option in WP Rocket and add CDN CNAME.
GoDaddy CDN
If your site is hosted at GoDaddy Managed WP and you are using their CDN service, you still have to enable the CDN option in WP Rocket, and enter your CDN URL in our CNAME field (e.g. https://secureservercdn.net/166.62.107.20/wmr.xxx.myftpupload.com/
) so our plugin can detect it and function correctly. If you’re not sure what your CNAME is, please contact your GoDaddy support.
Siteground CDN
Siteground's own CDN works at the domain level (like Cloudflare) so there is nothing you need to do in the CDN option in WP Rocket.
WPX CDN
WPX’s custom-build CDN is completely integrated with WP Rocket, so there is nothing you need to do in WP Rocket's CDN tab.
CDN on SSL sites
If your site is SSL-enabled, i.e. it uses HTTPS, your CDN must also serve files via HTTPS. To check if your CDN is SSL-enabled, visit the HTTPS version of your CDN URL in your browser. If it is NOT SSL-enabled, you will see a security warning like the one below:
You have to contact your CDN provider to enable HTTPS for your account.
Troubleshooting
If you experience any other issues with your CDN setup in WP Rocket, you should first confirm this is the problematic feature. You can do this by temporarily deactivating this option and checking if the issue is resolved.
Once you've confirmed CDN rewriting is the problematic feature, please review the following tip and articles:
Exclude files from the CDN
If you're having issues with serving certain type of files from the CDN, you can exclude them like this:
- JavaScript files:
/(.*).js
- CSS files:
/(.*).css
- Images:
/(.*).jpg
,/(.*).png
,/(.*).webp
or/(.*).svg
- PDFs:
/(.*).pdf
Articles
- CDN not working, files not sent to CDN
- Resolving issue with CDN and fonts (icons)
- Manually adding our CDN function to an image
Technical notes
You can use the following filters and snippet to customize CDN rewrite as per your needs:
- Filter to enable CDN rewrites on inline script tags:
add_filter( 'rocket_cdn_exclude_inline_scripts', '__return_false' );
- Filter to disable CDN rewrites on relative paths:
add_filter( 'rocket_cdn_relative_paths', '__return_false' );
Please note: If you're using a custom media uploads directory, the wp_uploads_dir function is used to determine the correct path.