Back to technical articles index.

A Content Delivery Network (CDN) is a system using advanced software for organizing, storing, and streaming website content for the purpose of optimizing the flow of content to users. It distributes the content to multiple, geographically diverse nodes and then serves the content from the node that is closest to the user, minimizing packet travel and increasing speed and efficiency.

A CDN delivers content more efficiently than standard Internet content delivery, letting businesses meet the growing demand for rich, online media that require large bandwidths. Any company or individual that wants to make content available on the Internet needs to consider a CDN.

This article shows you how to use a SoftLayer® CDN to accelerate your WordPress blog in the IBM® Cloud.


Featured services

The following services of the IBM Cloud marketplace are used in this article:

IBM SoftLayer
Virtual Servers
IBM SoftLayer
SoftLayer CDN

SoftLayer Logo

softlayer_cdn

Overview

The following diagram illustrates the solution that was created with this example. A WordPress, which is deployed in the IBM Cloud, uses a SoftLayer CDN to deliver its static content.

SoftLayer_CDN_final
Overview diagram

There are two types of stakeholders: users viewing the content and the SoftLayer customers who run the WordPress site. In this article, we use “user” for the first type and “customer” for the second type.


Step by step

Step 0: Prepare your environment

  1. If you don’t have a SoftLayer account already, obtain a SoftLayer account.
  2. Ensure that you have permissions to manage the CDN account and CDN File Transfers for your SoftLayer account.
  3. If you don’t have an IBM ID already, obtain an IBM ID and register for the IBM Cloud marketplace.

Step 1: Set up your WordPress in the IBM Cloud

Follow the steps in Hosting your WordPress blog in the IBM Cloud to deploy a WordPress blog in the IBM Cloud.

Step 2: Order the SoftLayer CDN

There are two ways that a SoftLayer CDN can distribute your content:

  • Origin Pull: Store your content on a SoftLayer server or computing instance, or on another location on the Internet. The content’s location is registered with the CDN. When the first user requests the content, it’s pulled to the network and delivered from the closest point to that user. The content does not have to be manually uploaded to the CDN. The content then remains on the network for other users to access it. Using Origin Pull requires a bandwidth plan, but no storage charges are incurred.
  • POP Pull: Customers can preload content through the EdgeCast API, SoftLayer API, SoftLayer Portal, or the customer’s own portal. That content is pulled from the CDN FTP server as opposed to being pulled from the customer’s original location. Pay As You Go or monthly pricing is based on the bandwidth and storage used, and mix and match rate plans are available.

Typically, sites with heavy traffic loads will benefit from an Origin Pull CDN, because the content is pulled from the host server and users can pull the cache content from the CDN. Alternatively, customers can benefit from a POP Pull CDN by controlling the content that gets uploaded to a CDN FTP site when it expires. Regardless of the type of CDN chosen, deploying a CDN means getting content to users faster and more efficiently. For WordPress in this article, we’ll use an Origin Pull CDN.

Log in to the SoftLayer customer portal and add a CDN service by navigating to Sales -> Add CDN Service. There is no configuration at this point, so just place the order.

order_cdn
Order a CDN in the SoftLayer customer portal

Step 3: Get your CDN account name

After the order is processed, the new CDN account is displayed in the SoftLayer customer portal (Public Network -> Content Delivery Network). Remember the account name of the newly created CDN account, because it will be used in the next step. In this example, the account name is 10D24.

cdn_account
CDN accounts in the SoftLayer customer portal

Step 4: Update your DNS zone

In addition to your WordPress site domain, you also need a custom domain for your CDN content. In this example, we use blog.playvm.com for our WordPress site domain, and we use cdn.playvm.com for our CDN domain. Our demo domain name is playvm.com, which is registered in GoDaddy. Your CDN domain must be set as a CNAME record that points to your SoftLayer CDN account domain. The SoftLayer CDN account domain is your CDN account name with the suffix of .http.cdn.softlayer.net. In this example, our SoftLayer CDN account domain is 10D24.http.cdn.softlayer.net.

Add the CDN CNAME record to your domain DNS zone in your domain DNS provider. In this example, we use GoDaddy as the domain provider. We see that the host blog is mapped to the IP address 119.81.143.66 and that the cdn hostname is mapped to the account domain assigned for our SoftLayer CDN, 10d24.http.cdn.softlayer.net.

dnszone
Update your DNS zone

Step 5: Add Origin Pull mapping in your SoftLayer CDN account

After the update of your DNS zone, you can add the Origin Pull mapping in your SoftLayer CDN account. Click More to the right of your CDN account and select Origin Pull from the pop-up menu.

origin_pull
Add Origin Pull mapping

Select HTTP url for the Media Type, enter your WordPress site domain (blog.playvm.com in this example) in the Origin Domain field, enter your CDN domain (cdn.playvm.com in this example) in the CNAME Record field, and save the changes.

origin_pull_mapping
Origin Pull mapping

Step 6: Install the WordPress CDN plug-in

To distribute your WordPress static content by using the SoftLayer CDN, you need to rewrite all URIs referencing static content to point to your SoftLayer CDN domain, and you need to configure the WordPress cache policy to use the CDN. It’s not an easy job; fortunately, there are several WordPress plug-ins that can help you. In this example, we use the WP Super Cache plug-in to enable the SoftLayer CDN for your WordPress.

You can install the WP Super Cache plug-in from the WordPress admin panel:

  1. Navigate to Plugins -> Add New.
  2. Search for WP Super Cache.
  3. Find the WP Super Cache plug-in in the search results, and click Install Now to install the plug-in.
  4. wp_super_cache_search_a
    WP Super Cache search results
  5. After the plug-in is installed, click Activate Plugin to activate the WP Super Cache plug-in.
  6. wp_super_cache_activate_a
    Activate the WP Super Cache plug-in

Step 7: Configure the WordPress CDN plug-in

Navigate to Settings -> WP Super Cache.

On the Easy tab, select Caching On for the Caching option and click Update Status.

wp_super_cache_easy
WP Super Cache Settings

On the CDN tab, select Enable CDN Support, type http://cdn.playvm.com in the Off-site URL field, and select Skip https URLs to avoid “mixed content” errors. Keep the other configuration defaults and save the changes.

wp_super_cache_cdn
WP Super Cache Settings

Step 8: Check the results

You have completed the SoftLayer CDN support for your WordPress. Open your WordPress site in a Firefox browser. Now, the static contents of your WordPress site are from the SoftLayer CDN. In the following figure, Firebug was opened in the lower part of the panel. It shows the GET requests from WordPress for a page with static content that is pulled from cdn.playvm.com. HTTP response code 304 means that the requested content has not changed from your last request.

wordpress_cdn
WordPress site with SoftLayer CDN support

References and further reading

  1. For technical information about the IBM Cloud, see the SoftLayer Knowledge Base.
  2. To get started with the IBM Cloud marketplace, see https://developer.ibm.com/marketplace/docs/getting-started-2/.
  3. For more information about the SoftLayer CDN, see http://www.softlayer.com/content-delivery-network and the CDN topic on SoftLayer KnowledgeLayer.
  4. For more information about GoDaddy, see http://www.godaddy.com/.
  5. For more information about WP Super Cache, see https://wordpress.org/plugins/wp-super-cache/.

 


Learn more:

    Join The Discussion

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