WordPress spends most of its front-end time on images, CSS, JS and webfonts. Put those on a NetDNA pull zone and let EdgeCaching serve them from the nearest PoP. This is the integration NetDNA documented in 2013 with W3 Total Cache — expanded here into a maintained setup guide.

Screenshots below are labeled recreations of the 2013 Control Panel and W3 Total Cache CDN screen, not live product captures.

1. Create a pull zone

In the control panel choose Add Pull Zone. Origin is the WordPress site (https://www.example.com). The zone hostname will look like example.netdna-cdn.com.

cp.netdna.com — Add Pull Zone
Create zone

Leave query-string caching off unless every plugin enqueue uses ?ver= and you want each version stored. See query-string caching.

2. Point a CNAME

Create cdn.example.com CNAME to the zone hostname. Paste that CNAME into W3 Total Cache, not the raw *.netdna-cdn.com name, so you can change providers later. Use Anycast DNS if NetDNA holds DNS.

DNS — example.com zone

3. Configure W3 Total Cache

  1. Plugins → Add New → W3 Total Cache → Activate.
  2. Performance → General → enable CDN.
  3. Performance → CDN → engine Generic Mirror or NetDNA / MaxCDN if the 2013 dropdown is present.
  4. SSL: Auto (EdgeSSL) or HTTPS only.
  5. Replace site’s hostname with cdn.example.com on theme files, wp-includes, custom files. Never the HTML document itself.
  6. Save all settings, then empty caches.
WordPress admin — W3 Total Cache → CDN
Save all settings

2013 blog note this expands: W3 Total Cache + MaxCDN.

4. HTTPS and mixed content

If WordPress is HTTPS, the CDN must be HTTPS. Enable EdgeSSL, then use https://cdn.example.com in W3TC. Protocol-relative URLs are a last resort. Full fix list: mixed content after a CDN move.

5. Purge after deploys

Theme and plugin updates leave stale CSS. Purge the zone or the file. Do not set TTL to zero to fake a purge.

6. Verify

  1. View source. CSS/JS/image hosts should be cdn.example.com.
  2. curl -I https://cdn.example.com/wp-content/themes/…/style.css should return 200 from the edge.
  3. After a CSS edit, purge once; Age should reset.
Does W3 Total Cache work with NetDNA?

Yes. Create a pull zone, then enter the CDN hostname in W3 Total Cache → CDN → Generic Mirror or the NetDNA/MaxCDN engine if present. Mirror wp-content and wp-includes.

Should I enable SSL on the CDN for WordPress?

Yes if the site is HTTPS. Provision EdgeSSL on the zone and use https://cdn.example.com in W3TC so mixed-content warnings do not appear.

How do I purge WordPress after a deploy?

Purge the zone from the NetDNA control panel, the REST API, or a plugin hook. Do not lower TTL to zero as a substitute for purge.