After managing WordPress websites for over a decade, we’ve found that the most successful website owners all have one thing in common: they have a reliable backup system.
That's why we strongly advocate using Amazon S3 as a backup destination - it's reliable, affordable, and completely independent of your hosting provider.
Many WordPress site owners we know use it because it provides an extra layer of security that every website needs, and it works well with popular backup plugins.
Today, we’ll walk you through the process of setting up WordPress backup to Amazon S3.
We’ve researched and tested multiple methods, and we’ll share the free and premium solutions that work best to protect your WordPress site and keep your data safe.
Why Use Amazon S3 to Backup WordPress?
We have helped thousands of WordPress users backup and restore their websites. Amazon S3 has some key advantages over other cloud storage options like Google Drive or Dropbox, especially when it comes to website backups.
Amazon S3 provides enterprise-grade reliability, making it ideal for commercial websites. It can consistently handle large backup files no matter when you run a backup. This makes it ideal for commercial websites that cannot afford backup failures.
Additionally, S3's security goes far beyond simple file sharing. While services like Google Drive and OneDrive offer simple sharing options, S3 provides enterprise-grade security through IAM (Identity and Access Management).
This allows you to create specific security rules, such as limiting access to certain time periods or applying automatic encryption to backup files.
Amazon offers a free tier that includes 5 GB of storage and 2,000 PUT and 20,000 GET requests per month for the first year.
In practical terms, this means that you can store several full backups of your small WordPress site and perform regular backups in the meantime at no additional cost.
In terms of pricing, S3 adopts a flexible pay-as-you-go model and provides different storage classes. This means you can choose a more economical long-term backup storage solution while ensuring that recent backups are always available.
Now that you know the benefits, let’s take a look at how to send your WordPress backups to Amazon S3. You can use the quick links below to jump to the required section:
- First things first: Configure your Amazon S3 account
- Method 1: Back up WordPress to S3 using Duplicator (more customizable)
- Method 2: Back up WordPress to S3 using UpdraftPlus (Free)
First things first: Configure your Amazon S3 account
Before we can back up your WordPress site to Amazon S3, we need to set up your storage space correctly.
Step 1: Create an Amazon S3 bucket
First, log in to your Amazon Web Services (AWS) account. Then, click the menu button in the upper left corner and select "S3".
On the S3 dashboard page, you need to look for the Create Bucket button and click on it.
A bucket in Amazon S3 is like a file container. You can think of it as a special folder where all your WordPress backups are kept.
For the Bucket Type, you need to select Generic. Then, give your bucket a name.
We recommend that you include your domain name in the name, such as backups.yourwebsite.com as your bucket name. This format ensures that your bucket name is unique and makes it easy to identify your WordPress backup files in the future.
You will also be presented with several configuration options. For most WordPress backup needs, you can leave these settings at their default values. These default settings include keeping your bucket private and enabling encryption for increased security.
At this stage, you can simply scroll to the bottom of the page and click on the Create Bucket button.
Your new storage space will be ready in just seconds.
Step 2: Create a security policy
Now, let's set up a security policy for your backups. This policy is a set of rules that controls access permissions for your backup files.
First click on the menu again and select “IAM.” This will take you to the security management area of AWS.
From here you can navigate to the Policies page.
Here you need to click on the Create Policy button. Here you will set up the backup permissions.
When you see the policy editor, you can select the JSON tab to enter your security rules.
This is where you'll add your special permission code. It's a set of rules that tells the AWS plugin exactly what actions it's allowed to perform. You can copy and paste the following policy into the editor:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads"
],
"Resource": "arn:aws:s3:::BUCKETNAME",
"Condition": {}
},
{
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:GetObjectVersion",
"s3:GetObjectVersionAcl",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::BUCKETNAME/*",
"Condition": {}
},
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*",
"Condition": {}
}
]
}
This code will enable your backup plugin to list the files in your backup bucket and add, retrieve, and delete backup files from it. It will also prevent the plugin from performing any other actions, keeping your account safe.
IMPORTANT! You will need to replace all instances of "BUCKETNAME" with the actual bucket name you created earlier. For example, if your bucket is named backups.example.com, you will need to update both instances of "BUCKETNAME" to that name.
At this point, you can move down the page.
Then, click “Next”.
You can now give the policy a friendly name. You might want to name it WordPress-Backup-Policy
, , Duplicator-Backup-Policy
or UpdraftPlus-Backup-Policy
.
Feel free to choose a name that works for you. This strategy works perfectly with the WordPress backup plugins we'll cover later .
Once you are happy with the name, you can click Create Policy to finish.
This will save all of your security settings and prepare them for the next step.
Step 3: Create a User
Now that we have our security policies set up, let’s create a user that can access your cloud storage. You can think of this as creating a special account specifically for handling WordPress backups.
First, go to the "Users" menu of the IAM page. You will see a "Create User" button. Click it.
Next, you'll name the new user.
You can name it anything you want, as long as it identifies its purpose. Then click Next.
When you get to the "Set permissions" section you need to select "Directly attach policy".
Here you can connect the security policy we just created to your new user. You can think of it as granting your backup user a specific set of permissions.
Browse the list of policies until you find the policy we created in the previous step. You can easily find it by typing the policy name in the search box.
Once you find it, just check the box next to it.
Once you have checked everything, you can scroll down and click on Create User.
AWS will set up all the correct permissions for your new user to securely handle your WordPress backups.
Remember, we'll need to get some important security details for this user in the next step, so don't close this window.
Step 4: Copy your access key
Let's set up your access keys. These keys are like special passwords that allow your WordPress backup plugin to connect to Amazon S3 securely.
First, you can click on the username we just created to view its details.
Look for the Security Credentials tab.
We will create your access keys here.
Move the page down slightly.
When you see the Create Access Key button, go ahead and click it.
Amazon will now ask you about your use case.
Since we plan to use a WordPress backup plugin, you can select “Third-Party Service” from the options.
Now, scroll further down the page.
Check the box next to I understand the above suggestions and want to continue creating access keys, and then click Next.
Before you see the access keys, you can choose to set some descriptive tags.
We’re going to skip this step since it’s not required, so go ahead and click on the “Create Access Keys” button.
Now you will see two important pieces of information: Your Access Key ID and Your Secret Access Key. You can think of this as a username and password pair that the backup plugin will use.
You'll want to keep these keys somewhere safe, or at least keep this window open while you set up your chosen backup method. Once you close this window, you will no longer be able to see the Secret Access Keys.
Method 1: Back up WordPress to S3 using Duplicator (more customizable)
In our experience, Duplicator is the most reliable solution for Amazon S3 backups. We use it ourselves to back up some of our partners’ websites and personal projects, so we are pretty confident in recommending it as our top choice.
What makes Duplicator stand out is its robust feature set. You can schedule automatic backups, migrate your entire WordPress site, and connect to multiple cloud storage services from a single dashboard. Plus, its integration with Amazon S3 is solid and well-tested.
While you can browse our detailed Replicator review for a full feature breakdown, let’s focus on setting up your S3 backup.
Keep in mind that you need Duplicator Pro for Amazon S3 integration, but you can start with the free version to get familiar with the basics.
Step 1: Install and activate Duplicator
Getting started is easy. You need to install Duplicator on your WordPress site first . If you are new to installing WordPress plugins, don’t worry. We have prepared a beginner-friendly guide to installing WordPress plugins .
Once installed, you can activate your Duplicator Pro license key. Simply go to Duplicator Pro » Settings in your WordPress dashboard , enter your license key, and click Activate. You will see a confirmation message upon successful activation.
Step 2: Connect to Amazon S3
Now, let's connect Duplicator to your Amazon S3 account. Navigate to Duplicator Pro » Storage and click the "Add New" button.
To help you easily identify this storage connection, you can give it a simple name such as "Amazon S3 Backups".
Also, look for the Type drop-down menu and select Amazon S3.
Go ahead and scroll down.
You will then see the Authorization section where you can paste the Access Key and Secret Key we saved earlier.
In the configuration section, you need to enter the exact same bucket name that you created in Amazon S3. This helps Duplicator identify where to store the backup files.
You can also decide how many backup versions to keep. For example, if you set it to "10", Duplicator will automatically delete the oldest backup when the 11th backup is created. Setting it to "0" means it will keep all backups indefinitely.
Finally, click Save Provider to keep your settings safe.
After saving S3 as a new cloud storage provider, the Test Storage button will become active.
You can click that button to make sure everything is working properly.
If the test backup is successful, a pop-up window will appear stating that the plugin has stored and deleted the file.
Click OK to close this pop-up window.
Step 3: Back up your WordPress site to Amazon S3
Now comes the exciting part: creating your first Amazon S3 backup. Let's walk through the process step by step.
First, visit Duplicator Pro » Backups in your WordPress dashboard . You will see an Add New button. Click on it.
Here's a helpful tip: you can use a smart naming system to make your backups easier to find.
Duplicator allows you to use special tags in your backup names, such as %year%, %day%, and %hour%. For example, "mysite-backup-%year%-%month%" will automatically create a name like "mysite-backup-2024-12".
When you scroll down to the Storage tab, you will see the local and remote storage options available.
Just check the box next to Amazon S3 and Duplicator will know to send your WordPress backups to S3.
Now you can choose what to back up.
In the Backups section, you’ll see several options. We recommend starting with Full Website to create a complete backup of your WordPress website files. You can think of it as taking a snapshot of all your content, such as your posts, pages, images, and settings.
Alternatively, you can select “Database Only” to back up only your WordPress database.
If this is an option for you, you can read our guide on how to restore WordPress using only a database backup for more information.
Want an extra layer of security? Visit the Security tab where you can password protect your backup files.
This is especially useful if you store sensitive information.
The installer section comes with pre-configured settings that are suitable for most websites.
You can keep these and click Next to continue.
Before creating a backup, Duplicator will do a quick health check of your website.
Think of it as a pre-flight check. If everything is OK, you'll see a green "Good" status. If there are any issues, Duplicator will let you know exactly what needs to be fixed.
Finally, click on the “Create Backup” button.
When the process is complete, you will be returned to your dashboard where you can view all your WordPress backups.
That's it!
Want to make sure everything is working? You can check your S3 bucket directly.
Simply log into your Amazon S3 account, navigate to your bucket, and you'll see your new backup file safely waiting there.
Method 2: Back up WordPress to S3 using UpdraftPlus (Free)
While Duplicator Pro is our top choice, we understand that sometimes you need a free solution. That’s where UpdraftPlus comes in. It’s a reliable free plugin that we’ve tested extensively for Amazon S3 backups.
It’s worth noting that the free version has some limitations compared to the professional version. For example, you can’t create redundant backups in multiple locations at the same time.
However, for basic plan backups to S3, the free version works great
Let's install the free version of UpdraftPlus on your website . You will need to first install the WordPress plugin through the admin page.
Once installed, you can find UpdraftPlus in your WordPress dashboard. Go to the Settings tab.
Here you will see various backup options.
Scroll down until you find the Cloud Storage section and click on “Amazon S3.”
This is where the access key we created earlier comes in handy. You can paste your access key and secret key into the corresponding fields. You will also need to enter the bucket name here.
Before you proceed, it is a good idea to click on “Test Amazon S3 Settings.” This ensures that Amazon S3 is connecting properly with this WordPress migration plugin.
If the connection is successful, you will see a push notification with a success message as shown in the screenshot below.
From here, you can just click “OK” and save your changes.
Ready to back up your WordPress site? Go ahead and switch to the Backup/Restore tab.
Then, click the Back Up Now button.
A friendly pop-up will appear with some options to choose from.
Be sure to check “Send this backup to remote storage” to send your WordPress backup to S3. We also recommend that you check both “Include your database in the backup” and “Include your files in the backup” to get a complete website backup.
Once you click Back Up Now, UpdraftPlus will start backing up your files.
Once completed, your backup will appear in the Existing backups list. You can find this section by scrolling down the page.
Want to double-check that your backup was uploaded to S3? You can log in to your Amazon S3 account and view your buckets.
You should see your WordPress backup files safely stored there.
We hope this article helped you learn how to backup your WordPress site to Amazon S3.
If you liked this article, you can also share it on Twitter and Facebook.
Disclosure: Some of the links in this article contain affiliate links, which means we may earn a commission if you click through to visit us, at no extra cost to you. See how SidelinePlay is funded, why it’s important, and how you can support us.
Was this helpful?