CDN Implementation for Nashville Business Sites

On this page

A content delivery network does most of its useful work through configuration. Turning on a CDN puts it between your server and your visitors; what it then caches, compresses, blocks and lets through is decided by settings. An owner who switches on Cloudflare and stops there can have a dashboard that looks active while part of the useful work waits in settings nobody changed.

Distance depends on where your server is

The classic CDN pitch is distance. Google’s post on CDNs and crawling puts it this way: “CDNs can drastically speed up your site by serving users from a location that’s close to them,” and gives the example of a visitor in Australia reaching a site hosted in Germany (Crawling December: CDNs and crawling).

For a Nashville business, the distance that matters runs from the visitor to your origin server, not to your office. A local audience is close to you, but your host may run the site from a data center in another region. Check where your server is before deciding how much of the benefit is distance. Either way, the gains that do not depend on distance, caching, compression and protection, apply to every visitor.

What a CDN does

Google’s post names three benefits:

  • Caching. If media, JavaScript, CSS or even HTML are served from the CDN’s caches, “your servers don’t have to spend compute and bandwidth on serving those resources.”
  • Traffic flood protection. CDNs identify and block excessive or malicious traffic, and the same controls can block traffic you do not want.
  • Reliability. Some CDNs can keep serving a site while the origin is down, which the post notes may work only for static content.

What Cloudflare caches by default

Cloudflare caches by file extension. Its documentation says “The Cloudflare CDN does not cache HTML or JSON by default” and lists the cached extensions, which include images, CSS, JavaScript and font files (Default Cache Behavior). The same page says Cloudflare does not cache a resource when the response sets Cache-Control to private, no-store, no-cache or max-age=0, when a Set-Cookie header exists, or when the request method is anything other than GET.

So out of the box, your pages still come from your server and the heavy static files come from the edge. To cache more, such as whole HTML pages on a brochure site, Cloudflare’s Cache Rules let you adjust what is eligible to cache, for how long and where.

Compression and images

Cloudflare’s compression documentation says it can deliver Gzip, Brotli or Zstandard responses, depending on the accept-encoding header the visitor’s browser sends, “Your Cloudflare plan” and any compression rule that matches the request (Content compression). Check what your plan delivers rather than assuming a setting.

Image optimization depends on the plan. Cloudflare Polish, which strips metadata and compresses images in Cloudflare’s cache, is listed as unavailable on the Free plan and available on Pro, Business and Enterprise (Cloudflare Polish). On the free plan, image weight has to come down at the origin: through your CMS, an image plugin or modern formats you serve yourself.

One image feature is gone. Cloudflare’s documentation says “Mirage was deprecated on September 15, 2025 and is no longer available,” and recommends lazy loading and responsive images instead (Cloudflare Mirage).

Configuration that matters

Encryption mode

The SSL/TLS encryption mode controls two connections: visitor to Cloudflare, and Cloudflare to your origin. Cloudflare’s documentation says “If possible, Cloudflare strongly recommends using Full or Full (strict) modes to prevent malicious connections to your origin” (Encryption modes). If your origin already has a valid certificate, Full (strict) is the mode to aim for.

What to cache and what to bypass

The WordPress admin area, logged-in sessions, cart and checkout pages, and form endpoints should never be served from a shared cache; otherwise visitors can see stale or someone else’s content. Cloudflare’s default behavior already skips responses that set cookies or mark themselves private. The risk arrives when you add rules that cache HTML: write the bypass list before you write the caching rule.

Speed features one at a time

Rocket Loader defers the loading of JavaScript until after rendering. Cloudflare’s documentation says it handles inline and external scripts “while maintaining order of execution,” and also says “If you observe JavaScript or jQuery issues for your website, disable Rocket Loader and retest your website” (Rocket Loader). Turn on one speed feature at a time and test the pages that matter, including forms and booking tools, before turning on the next.

Purging after updates

When you change a page or replace an image, the edge can keep serving the old copy until it expires or you purge it. Cloudflare’s purge documentation names single-file purging, purge by URL, as the recommended method (Purge cache). If your CMS or caching plugin can purge the changed URLs automatically on publish, set that up.

Do not let the CDN block Googlebot

This is where a CDN touches search directly. Google’s post warns that because of flood protection, “occasionally the bots that you do want on your site may end up in your CDN’s blocklist,” typically in the web application firewall, which “may prevent your site from showing up in search results.”

The post separates two kinds of block:

  • Hard blocks. A 503 or 429 status code is “the preferred way to signal a temporary blockage.” Network timeouts are worse: the post says they cause the affected URLs to be removed from Google’s index. An error message served with a 200 status is also bad, because Google may treat it as an error or as duplicate pages.
  • Soft blocks. For bot-verification interstitials, the post recommends sending “a clear signal in the form of a 503 HTTP status code” to automated clients like crawlers, so the content is not removed from the index automatically.

To check, use the URL Inspection tool in Search Console and look at the rendered page. Google’s advice: if it shows your page, you are fine; if it shows an empty page, an error or a bot challenge, talk to your CDN. Google publishes the IP ranges of its crawlers so you can confirm a request is really from Google before you allow or block it (Verify requests from Google crawlers and fetchers).

The same post notes two crawl effects worth knowing. Google allows higher crawl rates on sites it detects are backed by a CDN, and the first request for each URL still reaches your origin, because the CDN’s cache starts cold. For a small Nashville business site, neither changes much; for a site launching thousands of URLs at once, both matter.

Watch the cache hit ratio

The number that shows whether the configuration works is the share of requests answered from the edge rather than passed to your server. A low share means the CDN is caching little and your origin is still doing the work, which points to a configuration gap rather than a CDN that does not help. Check it in your provider’s analytics after setup and after every change.

Sites with large photo libraries, such as restaurants and venues with galleries or real estate sites with property images, carry heavy static weight that can move to the edge. They also have more to lose if a cached page hides an update, so keep caching aggressive on files and current on content.

Troubleshooting

  • Slower after activation. Turn off speed features and retest, then turn them back on one at a time.
  • Old content after an update. The edge is serving a cached copy. Purge the changed URLs.
  • Broken admin or failed forms. A page that should bypass the cache is being cached. Check your caching rules against the bypass list.
  • Redirect loop. Cloudflare’s troubleshooting page says that in Flexible mode Cloudflare sends unencrypted requests to your origin over HTTP, and “Redirect loops will occur if your origin server automatically redirects all HTTP requests to HTTPS” (ERRTOOMANYREDIRECTS). Move to Full or Full (strict).
  • Missing images or broken layout on HTTPS. Cloudflare traces this to “a request for HTTP resources from a web page served over HTTPS” (Mixed content errors). Update the resource URLs to HTTPS.

Sources

Leave a comment

Your email address will not be published. Required fields are marked *