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 a dns-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:

WP Offload Media Lite

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:

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

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.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.