Sync media with AWS S3 CloudFront

Plugin Banner

Sync media with AWS S3 CloudFront

by SoftSprint

Download
Description

Upload images, CSS and JavaScript from WordPress uploads to Amazon S3 and serve registered files through S3 or CloudFront. Local copies are retained, and stored post content is not changed.

  • Full or incremental batch uploads with progress reporting.
  • Searchable folder tree with a vertically resizable list.
  • Remote URLs for registered files, including responsive images and common lazy-load markup.
  • Confirmed deletion of tracked S3 files, with options to skip, restore or permanently delete files missing locally.
  • Recovery of supported images into the Media Library, including a separate local-only repair tool. Recovered attachments receive new IDs; deleted captions, alt text and post associations cannot be reconstructed.

Clear your page cache after updates, configuration changes, uploads or deletion; the plugin does not purge it automatically. Existing unregistered S3 objects must be uploaded again to enter the registry.

Deactivation preserves settings and registry records. Uninstall removes local bookkeeping without deleting S3 objects.

  1. Log in to your WordPress dashboard, navigate to the Plugins menu, click on \”Add New\”
  2. Click on \”Upload Plugin\” and upload the archive \”Add-To-Cart-redirect-for-WooCommerce.zip\” then click on \”Install\”.
  3. Activate the plugin through the \”Plugins\” menu in WordPress.
  1. Configuration tab allows you to enter your AWS S3 "Bucket name", "Access key" "Secret key", "Location" and select the directories and file types, which you want to upload to S3.
The saved secret key is never included in the settings HTML. Leave the secret field empty to keep the saved key for the same access key, including when testing the connection. Enter a new secret to replace it; changing the access key requires its corresponding secret key.

    Configuration tab allows you to enter your AWS S3 "Bucket name", "Access key" "Secret key", "Location" and select the directories and file types, which you want to upload to S3. The saved secret key is never included in the settings HTML. Leave the secret field empty to keep the saved key for the same access key, including when testing the connection. Enter a new secret to replace it; changing the access key requires its corresponding secret key.

  2. If you want to use CloudFront service, just select "yes" for "Use Cloudfront" option and enter your CloudFront ID in the appropriate field.

    If you want to use CloudFront service, just select "yes" for "Use Cloudfront" option and enter your CloudFront ID in the appropriate field.

  3. Click "Test link to AWS" to check the selected bucket's region and, when enabled, the CloudFront distribution. Upload, delete, and public file access are not tested.

    Click "Test link to AWS" to check the selected bucket's region and, when enabled, the CloudFront distribution. Upload, delete, and public file access are not tested.

  4. General tab contains the "Upload file to S3" button, which starts the process of the file upload. Besides you can see observe the process thanks to progress bar with the list of the already uploaded files.

    General tab contains the "Upload file to S3" button, which starts the process of the file upload. Besides you can see observe the process thanks to progress bar with the list of the already uploaded files.

  5. You will see the message about your invalidation ID if you have saved a configuration "Use Cloudfront" > "yes" and have indicated your CloudFront ID.

    You will see the message about your invalidation ID if you have saved a configuration "Use Cloudfront" > "yes" and have indicated your CloudFront ID.

  6. Registered files use direct S3 URLs when "Use Cloudfront" is "no". Files without a successful upload registry entry keep their local URLs.

    Registered files use direct S3 URLs when "Use Cloudfront" is "no". Files without a successful upload registry entry keep their local URLs.

  7. With "Use Cloudfront" set to "yes", registered files use the configured CloudFront domain. Each image size is checked separately.

    With "Use Cloudfront" set to "yes", registered files use the configured CloudFront domain. Each image size is checked separately.

How can I know that my AWS bucket credentials and keys are valid?

“Test link to AWS” checks the configured bucket with GetBucketLocation and verifies that its region matches Location. It requires s3:GetBucketLocation on that bucket (for example, arn:aws:s3:::your-bucket), not s3:ListAllMyBuckets. When CloudFront is enabled, it also requires cloudfront:GetDistribution for the configured distribution. The test does not upload or delete objects and does not check upload/delete permissions or public access to file URLs. Other plugin operations require their own permissions. The test works without the PHP gettext extension.

Which images will change their source URLs if CloudFront option is used?

Only files registered for the current bucket and S3 prefix receive remote URLs. WordPress attachment, image src/srcset and rendered img/picture HTML are supported, including common lazy-load attributes in posts and templates. Each thumbnail is checked separately. Stored post content is not modified. Existing page caches must be cleared separately; images inserted by JavaScript after the response require a separate integration.

Can I disable CloudFront with a private S3 bucket?

CloudFront No uses direct S3 URLs for registered files. The plugin does not generate signed URLs or change bucket access policies. If the bucket permits access only through CloudFront, keep CloudFront enabled; anonymous direct S3 URLs will not be accessible.

Can another AWS plugin conflict with this plugin?

Another plugin that loads different versions of the same AWS SDK or its dependencies can cause class conflicts. This plugin includes its SDK and loads it once; avoid replacing individual SDK files.

Which file types does the plugin support?

Supported image extensions are gif, png, jpg, jpeg, svg and webp. The uploader also supports CSS and JavaScript when those file types are included in the saved configuration. PDF, video and ZIP files are not upload candidates and do not receive remote URLs without a registry entry.

There is no documentation or usage tutorial

By Henry Douglas (henrydouglas) on September 9, 2024

There is no documentation or usage tutorial. Therefore, with the developer's guidance through a tutorial, it is difficult to know how to configure it correctly.

Not copy to s3

By masconexion on July 11, 2023

Insufficient documentation.

Plugin work

By tarasshynkler on April 1, 2022

The plugin speeds up media downloads on the site using aws s3!

Plugin is tested and works fine

By SoftSprint (softsprint) on May 21, 2021

Pls, contact us directly - we will help to set it up. Plugin works properly!

Didnt work for me

By murilozilli on April 14, 2021

Unfortunetely requirement for php 7.1 doesnt work for me

1.0.6

  • Add an upload registry, incremental uploads, and safe deletion of tracked files with local and Media Library restoration.
  • Introduce batch uploads with clearer progress reporting.
  • Serve registered files through S3 or CloudFront, including responsive images and common lazy-load markup.
  • Redesign settings with a searchable folder tree and a resizable directory list.
  • Improve credential protection, configuration saving and AWS connection checks.
  • Bundle AWS SDK for PHP 3.401.2 through Composer with official unused-service removal; retain S3, CloudFront and required SDK dependencies. Require WordPress 6.2+ and PHP 8.1+.

1.0

  • Stable tested version with the latest WordPress
Back to top