Using WP Rocket with a CDN

CDN Compatibility: WP Rocket is generally compatible with most CDN providers, including Amazon Cloudfront, MaxCDN, KeyCDN and others. If you need information about Cloudflare, it's here: 
 Using WP Rocket with Cloudflare

In this article

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, all you have to do is copy the CNAME (domain) given to you by your CDN provider and enter it into the CDN tab of WP Rocket settings:

WP Rocket will rewrite all URLs for your assets (static files) that are added using WordPress functions, for example post thumbnails, stylesheets and the like.

Heads up! In case you see that an image is not being served from your CDN, it might be because your theme, or a plugin does not use a WordPress function to retrieve said image. In that case you can use a PHP function to add the image to your CDN.

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 to get your assets uploaded to Cloudfront automatically:

WP Offload S3 Lite plugin

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:

WP Engine

If your site is hosted at WP Engine and you have enabled the CDN option there, you still have to enable the CDN option in WP Rocket, and enter your CDN URL so the plugin can detect it and function correctly.  

If you're not sure what your CDN URL is, you can find it in the  CDN section of your WP Engine User Portal.

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, please review these articles from this documentation:

 CDN not working, files not sent to CDN
 Resolving issue with CDN and fonts (icons)
 Manually adding our CDN function to an image

Please note: If you're using a custom media uploads directory, the wp_uploads_dir function is used to determine the correct path.