Skip to main content
Cloud & DevOps (AWS)

πŸš€ How to Set Up WP Offload Media Lite with Amazon S3 (Step-by-Step WordPress Guide)

πŸš€ How to Set Up WP Offload Media Lite with Amazon S3 (Step-by-Step WordPress Guide) If you're running a WordPress website and struggling with media s...

4 min read
625 words
πŸš€ How to Set Up WP Offload Media Lite with Amazon S3 (Step-by-Step WordPress Guide)
Featured image for πŸš€ How to Set Up WP Offload Media Lite with Amazon S3 (Step-by-Step WordPress Guide)

πŸš€ How to Set Up WP Offload Media Lite with Amazon S3 (Step-by-Step WordPress Guide)

If you're running a WordPress website and struggling with media storage or site speed, this guide is for you. Offloading your media files to Amazon S3 with WP Offload Media Lite can dramatically reduce server load, improve performance, and scale your storage cost-effectively.

In this post, I’ll show you how to professionally set up WP Offload Media Lite with Amazon S3 β€” step by step β€” using best practices for security, scalability, and WordPress performance.


βœ… Benefits of Offloading Media to S3

  • πŸ”„ Reduces local server storage usage
  • πŸš€ Boosts site loading speed (especially on shared hosting)
  • ☁️ Uses secure, scalable AWS S3 infrastructure
  • 🎯 Prepares your site for global delivery via CloudFront (optional)

🧰 Prerequisites

Before you begin, make sure you have:

  • An AWS account with access to S3
  • IAM user credentials with S3 permissions
  • A WordPress website with admin access
  • WP Offload Media Lite plugin installed and activated

πŸ” Step 1: Create IAM User and Access Keys

  1. Go to IAM Console > Users > Add User
  2. Choose:
    • Programmatic access βœ…
    • Attach policies directly β†’ Select: AmazonS3FullAccess (for testing) or a custom restricted policy.
  3. After creation, copy the Access Key ID and Secret Access Key
  4. Important: Save these securely β€” they won’t be shown again!

πŸ“¦ Step 2: Create and Configure an S3 Bucket

  1. Navigate to S3 Console > Create Bucket
  2. Choose a unique bucket name (e.g., your-media-bucket)
  3. Region: Choose one closest to your audience
  4. For testing: Disable Block All Public Access
  5. Click Create bucket

πŸ‘‰ Tip: Use a naming convention like yourbrand-media-bucket for future clarity.


πŸ›‘οΈ Step 3: Set Bucket Permissions (Bucket Policy)

Click into your bucket β†’ Permissions β†’ Bucket Policy

Paste this sample public read policy (adjust for production):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadGetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::your-media-bucket/wp-content/uploads/*"
    }
  ]
}

⚠️ Don’t expose full bucket if you're not serving public assets. Use CloudFront or signed URLs for production.


πŸ”§ Step 4: Install & Configure WP Offload Media Lite

  1. Go to your WordPress Admin Panel β†’ Plugins β†’ Add New
  2. Search for "WP Offload Media Lite" β†’ Install and Activate
  3. Go to Settings > Offload Media
  4. Choose Amazon S3 as your storage provider
  5. Enter your AWS Access Key and Secret Key
  6. Select your S3 Bucket and configure the following:
  • βœ… Offload New Media
  • πŸ”„ Optional: Remove local media after upload (use with caution)
  • πŸ“ Add prefix: wp-content/uploads/
  • πŸ“… Add year/month path structure
  • πŸ”– Add versioning for cache-busting

πŸ–₯️ Step 5: Verify Your Setup

  1. Upload a new image in Media Library
  2. Go to the S3 Bucket and confirm the image appears there
  3. Right-click the image β†’ Copy S3 URL
  4. Open it in a browser β€” the image should load

πŸ§ͺ Bonus: Useful Sudo Commands for Server Setup

If you're managing the server yourself:

# Install unzip and AWS CLI (Ubuntu/Debian)
sudo apt update && sudo apt install unzip awscli -y

# Configure AWS CLI (optional, for debugging)
aws configure

# List buckets to test access
aws s3 ls

# Sync uploads folder to S3 manually (advanced use)
aws s3 sync /var/www/html/wp-content/uploads s3://your-media-bucket/wp-content/uploads --acl public-read

πŸ› οΈ Troubleshooting Tips

  • Access Denied? ➝ Check bucket policy or IAM permissions
  • Media not appearing in S3? ➝ Check plugin settings & AWS credentials
  • URL returns XML AccessDenied? ➝ Ensure correct ACL and bucket policy

βœ… Final Thoughts

Using WP Offload Media Lite with Amazon S3 is one of the most effective ways to offload storage, improve WordPress speed, and reduce server stress β€” especially if your site hosts lots of images, videos, or downloadable content.

For advanced performance, you can later connect CloudFront to serve images via CDN.


πŸ”— Example File URL (Live):

https://example-media-bucket.s3.eu-west-2.amazonaws.com/wp-content/uploads/2025/07/09205226/albert-salim-XV7OUFLfB8Q-unsplash-scaled.jpg


πŸ’Ό Need help setting this up for your own site or client?

I offer professional setup & optimization β€” feel free to reach out!

Engr Mejba Ahmed

About the Author

Engr Mejba Ahmed

I'm Engr. Mejba Ahmed, a Software Engineer, Cybersecurity Engineer, and Cloud DevOps Engineer specializing in Laravel, Python, WordPress, cybersecurity, and cloud infrastructure. Passionate about innovation, AI, and automation.

Related Topics

Continue Learning

Browse All Articles