tcS3 | TC McCarthy, McCarthy Digital Consulting | amazon,media,multisite,s3,upload


This all-inclusive plugin uses the AWS SDK for PHP to facilitate uploads directly from your WordPress instance to S3. Amazon’s inexpensive, unlimited cloud storage system is an excellent asset backend for all websites and this plugin allows you to seamlessly interact with your S3 bucket right from within your dashboard. Best of all, this plugin requires nothing special from you — it has been tested for performance on shared hosting, VPS and dedicated servers and worked on each, out of the box, both on Apache and nginX. tcS3 has been tested on wordpress 3.7 – 4.9 and worked well on all versions.

This plugin is being released in beta — the wide popularity of S3 makes it difficult for me, the only developer on this project, to know every possible use case for it, so I’m relying on feedback from its use to provide further enhancements.


Requires PHP >= 5.5.0 because of the AWS SDK.

Current capabilities

  • Use EC2 instance profile, environment variables or IAM keys to connect to S3
  • Upload directly to S3 (with the option to delete from your local instance immediately after a successful upload)
  • Delete media from S3 when it’s deleted from your library
  • Update URLs to point directly at your S3 bucket using the link you specify (adding flexibility to point to CDN services like CloudFlare or Cloudfront or pointing directly to your bucket)

Advanced features

  • The plugin’s use of the AWS SDK for PHP allows for a more flexible configuration. Out of the box the plugin is set up to do two things, and if you never change them you’ll probably be fine.
  • Set cache headers on your image so repeat visitors load the image faster and don’t cost you a GET against S3
  • Performs multithreaded uploads on files larger than 5MB — larger files can take longer for your webserver to send to S3… those can really slow down your site! So, the plugin will split your files up into chunks no smaller than 5MB and send them to S3 that way, seamlessly, without your having to ask.
  • Plugin kept light and fast by breaking plugin and dependencies up into classes and autoloading them via Composer


This plugin is installed just like any other. Simply upload the zip file you can download from github and upload it using the WordPress dashboard or FTP. This plugin has been submitted to the WordPress team for review as well and will hopefully be available in the WordPress plugin repository soon.

Unsolicited advice

While S3 is relatively inexpensive (very inexpensive the more you use it), it’s not free and it’s not just how much you upload to it, but how much traffic you’re getting. If your bucket is receiving a lot of GET requests (which happens when you have a lot of traffic on your site) it could get expensive (take a look at Amazon’s S3 pricing guide). The cache headers being assigned by this plugin will certainly help, but if you sign up for a free Cloudflare account and set up your S3 bucket as a subdomain that Cloudflare is caching, responses to initial requests will come from S3, but many subsequent requests will hit Cloudflare and cost you nothing (and images will load faster because Cloudflare is a CDN).


This plugin is installed just like any other. Simply upload the zip file you can download from GitHub and upload it using the WordPress dashboard or FTP. You can also install it right from the WordPress Plugin Repository!

Plugin author

TC McCarthy, McCarthy Digital Consulting

Plugin official website address
If you encounter problems in using the tcS3 plugin, you can comment below, and I will try my best to help you solve the problem

Leave a Comment

Your email address will not be published.