What is a CDN? A CDN, or Content Delivery Network, is a global service provided by major cloud providers that efficiently delivers files and other content to users worldwide. It distributes your content across multiple servers located around the globe, ensuring fast and reliable access for visitors wherever they are.
Why do we use CDN? We use a CDN to reduce server load by offloading the delivery of static content. For example, on a WordPress site, certain elements like page text and comments are dynamic, while others—such as images and design elements—are static. By default, WordPress relies on the same server for both dynamic and static content, which consumes computing resources that could otherwise be dedicated to dynamic tasks. As a result, handling both content types on a single server often leads to slower overall website performance.
The WordPress ecosystem offers many free and paid plugins for integrating a CDN with your website. However, experienced developers often find these solutions bulky and difficult to manage. That’s where S3-Uploads by Human Made comes in. It’s free, lightweight, AWS-specific, and has a proven track record—I’ve been using it for years.
The plugin requires installation with composer. So, in your WordPress directory (not in the plugins or themes dirs) run:
composer require humanmade/s3-uploads
Then, in your wp-config.php
add following line and constants which are well documented so please get familiar with that documentation on the GitHub page.
require_once ABSPATH . 'vendor/autoload.php';
define( 'S3_UPLOADS_BUCKET', '' );
define( 'S3_UPLOADS_REGION', 'us-east-2' );
define( 'S3_UPLOADS_KEY', '' );
define( 'S3_UPLOADS_SECRET', '' );
define( 'S3_UPLOADS_OBJECT_ACL', 'private' );
If you found this post interesting, you might want to learn about another free, lightweight solution favored by experienced developers for sending emails: Ditch the Overkill: How to Send WordPress Emails Using PHPMailer and Amazon SES.