What is CDN?
A Content Delivery Network (CDN) is a service that can help the static content on your site (images, CSS, Javascript) load much more quickly.
How does a CDN work? A CDN is a collection of servers located all around the world. When a browser loads static content, the request is automatically routed to the server geographically closest to the browser. This helps the content load much more quickly. In addition, because your content is loaded from many servers in separate locations, bursts of traffic are less likely to cause issues, because the burst is spread out over hundreds of servers, rather than just one.
WP Engine offers the ability to put all of your static content on a CDN with little to no configuration required. We manage distributing the content and rewriting URLs in the code. We give you control over enabling or disabling the CDN as needed. In short, you just write your blog as usual and we transparently make your blog faster and more scalable. CDN is included at no extra charge for Startup, Growth, Scale, Professional, and Business plans. Personal plan clients can add CDN service for a monthly fee.
What CDN provider do you use?
Our CDN services are provided via our partner MaxCDN. (Formerly called NetDNA).
Where are your CDN servers located?
MaxCDN’s network is comprised of servers located all over the world, including North America, Europe, and Asia. You can find more information about their data center locations on their page here.
Why are my CDN URL’s different than my domain name?
Normally your URL paths shown in your page source code would be something similar to:
href="http://domain.com/wp-content/uploads/image.jpg
With a CDN enabled, they become:
http://<cdnzonename>-wpengine.netdna-cdn.com/wp-content/uploads/image.jpg
This is because those static assets are now loading from a third party server, rather than the same server where your WordPress site is hosted. If you’d like, the cdnzonename.wpengine.netdna-
What content is served by the CDN?
By default, we serve all the static assets (images, JavaScript, CSS) located in your wp-content folder from CDN. This includes thumbnail-generation systems and minified files. WordPress core files are also served from CDN. If you have static assets you’d like served from the CDN that are stored outside the wp-content folder, please contact support with the path to the directory or file and we will include it for you.
Content not being found and delivered by CDN.
When you enable CDN through your User Portal, a script automatically rewrites your site’s assets to use the CDN URL once activated. However, there are some circumstances when our script will not catch the URLs as normal. These can include:
- A direct URL inside a CSS file. This is a link that uses a full URL For example, http://yourdomain.com/… as opposed to a path only i.e. /image.gif or image.gif. For our rewrite to work properly, paths in your CSS code need to be relative and not use full URLs, because we don’t search/replace inside CSS. You can edit the CSS code to use the CDN domain, but it’s best to structure your CSS code so all URLs are relative. This will help ensure compatibility overall, rather than just with CDN.
- JavaScript which calls back to the server or references assets on the server, especially if AJAX is producing new HTML. We can’t “see into” the JavaScript process, and we don’t post-process AJAX requests.
How do I enable the CDN for my site?
To enable the CDN on your site, you’ll first log into the User Portal. Select the WordPress environment that you wish to enable, and click on the CDN link in the left-hand navigation. Then, check the box for the domain for which you wish to enable CDN. The list for domains on which CDN can be enabled is generated from the list of domains that have been attached to your install using the Domains section. There will not be any domains listed if your account does not include CDN support.
Note: The CDN can take up to 10 minutes to configure and everything to clear through the cache, so don’t be alarmed if you don’t see the change right away. If after 10 minutes you’re still seeing issues, just let us know.