正在寻找 WordPress S3 教程来让你的 WordPress 网站使用 Amazon S3?或者你只是想将 WordPress 媒体文件卸载到 S3?在本文中,我将为你介绍关于 WordPress、Amazon S3 以及如何将两者结合使用的一切知识。
首先,我将从什么是 Amazon S3 实际上 入手,以及它如何惠及你的 WordPress 网站。然后,我将带你了解将 WordPress 网站文件卸载到 Amazon S3 需要遵循的具体步骤。
内容很多,让我们开始吧…

Amazon S3 是亚马逊网络服务提供的对象存储服务。你可能没有意识到,但互联网的很大一部分都依赖 Amazon S3,这就是为什么即使是一个地区的 S3 短暂中断也会导致整个互联网……惊慌失措。
我不太想深入讲解对象存储的具体细节(维基百科可以帮你了解)。相反,我更感兴趣的是 Amazon S3 和对象存储如何与你的 WordPress 网站连接。
Amazon S3 最常见的用途是将你通常存储在 WordPress 媒体库中的所有文件存储在云端。基本上,你可以存储("卸载")你的:
- 🖼️ 图片
- 📹 视频
- 🎵 音频文件
- 📁 PDF 文档
- 等等
除此之外,有些人还使用 S3 存储 CSS、JavaScript 等资源。
每个 Amazon S3 存储区域称为一个"存储桶"。存储桶基本上是文件的集合(如果你想知道这些文件实际是如何存储的,可以阅读有关对象存储的内容)。
因此,从本质上讲,你不是将文件存储在自己的服务器上,而是将它们存储在 Amazon S3 的存储桶中。
使用 Amazon S3 为你的 WordPress 网站带来哪些好处?
- 减少服务器请求 – 因为你的服务器不再需要提供媒体文件(或可能的资源),你可以减少页面加载时间。
- 更实惠的存储 – 如果你正在接近主机商的存储限制,我几乎可以保证 S3 的存储价格比你主机商收取的要便宜。
- 分离的媒体 – 因为你的媒体文件与网站分离,移动 WordPress 网站(例如在主机之间)要容易得多。你基本上只需要移动 PHP 文件,几乎不占空间。
- 可扩展性 – 因为 Amazon S3 为整个互联网提供支持(好吧,这有点夸张),你可以相当有把握地相信亚马逊能够适应你网站发生的任何情况。
还有有趣的部分:
Amazon S3 第一年免费(最高 5GB 存储)。而且即使之后,价格也出人意料地实惠。
Amazon S3 和 CDN 有什么区别?
很多人把 Amazon S3 说得好像和 CDN 一样。我理解为什么——两者确实有一些表面上的相似之处,容易混淆。
也就是说,和 CDN 一样,你可以选择从 Amazon S3 加载图片,而不是从 WordPress 网站的服务器加载。
但与 CDN 不同的是:
当你在 Amazon S3 创建存储桶时,它位于一个物理位置(你可以选择)。
另一方面,CDN 在全球各地都有分布式节点。
在这方面,亚马逊S3实际上与您自己的服务器(单一物理位置)有更多共同点,而不是CDN(全球多个位置)。
简而言之:
Amazon S3:虽然您完全可以从S3向访问者提供文件,但S3的主要重点是存储。
CDN:CDN专注于尽可能快速地分发文件,而不是像S3那样经济实惠地存储文件。
那么为什么不直接使用CDN呢?
嗯,情况是这样的:
您仍然可以使用CDN。将您的Amazon S3存储桶连接到您喜欢的CDN非常简单。您可以将其与从Cloudflare到KeyCDN再到Stackpath的任何服务一起使用。
Amazon Web Services甚至有自己的CDN,称为CloudFront,连接到Amazon S3也非常容易。
事实上,如果您有全球受众,我建议您这样做。
通过同时使用两者,您可以:
- 仍然获得S3的存储优势
- 还可以获得CDN的性能优势
您可能也有兴趣了解:
- 最佳Elementor托管:2025年针对Elementor优化的4个网络托管服务商
- 如何制作WordPress网站:面向所有用户的终极指南——初学者、中级、高级
- 2026年最佳WordPress托管服务商对比和测试
WordPress S3连接解析
如果您按照本文的说明操作,以下是本WordPress S3教程结束时您的WordPress网站将如何运作:
- 您像往常一样将文件上传到WordPress媒体库(即通过常规的添加媒体按钮)
- 您选择的WordPress S3插件会自动将这些文件复制或移动到Amazon S3
- 您的WordPress网站要么提供存储在S3上的文件,要么使用连接到S3存储桶的CDN
设置WordPress S3集成所需的内容
要将WordPress连接到Amazon S3,您需要:
- 一个Amazon Web Services账户——注册免费。
- 一个公共Amazon S3存储桶——第一年免费(最多5GB)。我将向您展示如何创建一个。
- 一个WordPress S3插件——这可以帮助您自动将上传到WordPress的文件卸载到S3存储桶。
应该使用哪个WordPress S3插件?
您可以选择几个不同的WordPress S3插件。我们将主要关注两个最易上手的:
- Optimole——简单选项。只需简单配置,您的媒体就会被发送到Amazon。
- WP Offload Media Lite——有一个相当慷慨的免费版本,但该免费版本仅适用于新上传的文件。如果您升级到专业版,您还可以从S3存储和提供您的资产,并上传现有文件。还可以让您非常轻松地稍后使用CDN(如果在您的计划中)。
其他选项:
- W3 Total Cache——W3 Total Cache包含一个功能,允许您如果在其设置中选择S3作为CDN,则将您的网站连接到Amazon S3。
- Media Library Folders Pro S3——让您使用文件夹管理WordPress媒体库,同时将所有或部分这些文件卸载到Amazon S3并保持相同的文件夹结构。
- Human Made S3 Uploads——这个来自Human Made的GitHub托管项目没有实际界面,不是为普通用户构建的。但开发者应该会喜欢它。您可以在此处阅读更多信息。
介绍Optimole——简单选项

Optimole 是一款全功能的 WordPress 网站图片优化解决方案,提供实时处理和优化功能。
它可以处理网站图片优化的各个方面,包括:
- 提供针对每个用户设备进行实时优化的自适应图片。
- 以最佳方式压缩每个设备的图片。
- 调整图片尺寸以适应每个设备的最佳尺寸。
- 转换为最佳格式,支持 WebP 和 Avif。
- 通过内置的 Amazon CloudFront CDN 提供图片。
如果你想将图片卸载到 S3,Optimole 还提供一键式选项来完成这项操作。
启用后,图片将从你的服务器迁移到 S3。Optimole 仍会通过 Amazon CloudFront 提供图片,这比直接从 S3 提供具有更好的性能。
如果你想将卸载的图片恢复到服务器,也可以一键完成。
Optimole 的主要优势在于其简单性。你只需要启用一个开关并点击按钮,就能完全卸载图片——你找不到比这更简单的将 WordPress 媒体文件卸载到 S3 的方法了。
👉 但是,有两件事你需要考虑:
- Optimole 主要专注于卸载图片。虽然它确实提供了一个处理短视频 GIF 的功能(包括将 GIF 转换为 MP4 和 WebM),但如果你想卸载长视频(例如在线课程的视频内容),Optimole 并不是最佳选择。
- 你无法控制自己的 S3 存储桶。Optimole 能够让这个过程变得如此简单,是因为它消除了创建自己的 S3 存储桶并将其同步到 WordPress 的需要。然而,如果你确实想拥有自己的 S3 存储桶,你可能也需要考虑其他工具。
Optimole 对你网站每月最多 5,000 次访问免费。之后,付费计划起价为每月 19 美元,可支持 50,000 次访问。
介绍 WP Offload Media – 技术方案

WP Offload Media 是一款免费增值模式的 WordPress 插件,可以将所有 WordPress 媒体文件卸载到 S3,还额外支持 DigitalOcean Spaces 和 Google Cloud Storage。
你可以通过 AWS 控制台创建自己的 S3 存储桶,然后通过创建 AWS 用户将其连接到 WordPress。
如果你想通过 CDN 提供媒体文件,你还需要设置自己的 CDN 集成,因为它的内置功能不像 Optimole 那样完善。
这些是主要缺点——设置起来不那么简单,你需要负责配置所有内容。
👉 然而,这种方法也有一些潜在优势:
- 你控制自己的 S3 存储桶,如果你是一名希望进行自定义开发的开发者,这可能很重要。
WP Offload Media 有一个受限的免费版本。然而,一个巨大的限制是免费版本只能卸载新文件——它不能对你的现有媒体文件进行操作。免费版本也不允许你在卸载后从服务器删除文件。
如果你想修复这些限制(以及获得其他增强功能),付费版本起价为 39 美元,可卸载最多 2,000 个媒体项目,最高可达 199 美元,可卸载 40,000 个媒体项目。
如何使用 Optimole 将 WordPress 媒体文件卸载到 S3
Optimole 提供了将 WordPress 媒体上传到 S3 的最简单方法。只需点击几次即可。
让我们来一步步操作…
1. 安装 Optimole 并连接 API 密钥
首先,从 WordPress.org 安装免费的 Optimole 插件。
激活插件后,Optimole 会提示您注册免费的 API 密钥(或者如果您已经拥有免费的 Optimole 账户,请提供您现有的 API 密钥)。
如果没有自动看到这个界面,您可以进入 媒体 → Optimole 来访问。
如果是第一次使用 Optimole,请输入您的电子邮件地址,然后点击 创建并连接账户。

Optimole 将自动为您的网站进行设置——只需大约 30 秒即可完成。
完成后,您将看到一条成功消息:

您马上就能完成了!
2. 将 WordPress 图片上传到 S3
要将 WordPress 图片上传到 S3,请按照以下步骤操作:
- 进入 Optimole 的 设置 选项卡(在您的 WordPress 仪表盘中)。
- 点击侧边栏中的 云集成 选项卡。
- 点击 保存更改。

Optimole 现在将自动上传您上传的所有 新 图片。
如果您还想上传媒体库中已有的图片,可以点击 同步图片 按钮(您需要先保存更改,此按钮才会出现)。

完成了!
如果您想将已上传的图片恢复到 WordPress 网站的服务器上,只需点击 回滚图片 按钮,Optimole 就会为您恢复所有图片。
3. 配置其他 Optimole 图片优化设置
至此,您已成功将图片上传到 S3。
但是,正如我上面提到的,Optimole 还提供许多其他功能,帮助您以最佳方式提供 WordPress 图片。
虽然很多优化是自动进行的,但您可以探索 高级 设置区域来自定义您的偏好设置,包括图片压缩、图片调整大小(包括智能裁剪选项)、延迟加载等。

如何使用 WP Offload Media 将 WordPress 媒体上传到 S3
要设置 WP Offload Media,这个过程比 Optimole 更复杂,需要更多时间。同样,这是您为了获得对自己的 S3 存储桶的控制权而做出的权衡。
以下是步骤的快速摘要 – 继续阅读以获取更详细的工作原理说明:
- 在AWS中创建IAM用户。
- 为IAM用户附加正确的访问策略。
- 为您的用户创建程序化访问密钥。
- 将您的访问密钥添加到插件设置中。
- 为您的WordPress站点创建新的S3存储桶(您可以直接从插件设置中完成此操作)。
- 配置插件以将媒体卸载到S3。
- 设置CDN来提供您的媒体(可选)。
本教程使用的是插件的免费版本,但付费版的基本步骤相同。
1. 在AWS中创建新的IAM用户
首先,登录到您现有的AWS账户,或者如果还没有账户,请创建一个新账户。
登录后,点击此链接打开IAM用户仪表板,然后点击添加用户按钮:

在下一个屏幕上:
- 为您的用户设置一个唯一的名称,以便您记住它——例如
[站点名称]-wp-offload-media。 - 点击下一步。

2. 为IAM用户附加正确的策略
现在,您需要为此用户附加一个权限策略,以便它能够访问S3:
- 选择直接附加策略选项,这将在下方显示一个权限策略搜索框。
- 在权限策略框中搜索
s3full。 - 勾选AmazonS3FullAccess旁边的复选框(这应该是您搜索返回的唯一策略)。
- 点击下一步。

在下一个屏幕上,确认信息正确后,点击创建用户按钮。

3. 为您的用户创建访问密钥
现在,返回主IAM用户列表,选择您刚刚创建的用户。

接下来:
- 进入用户设置中的安全凭证选项卡。
- 向下滚动到访问密钥框。
- 点击创建访问密钥按钮。

在下一个屏幕上,选择在AWS外部运行的应用程序选项,然后点击下一步。

然后,添加描述——例如WP Offload Media——并点击创建访问密钥。

AWS现在将向您显示两条信息:
- 访问密钥
- 私有访问密钥

将它们两个都复制到一个安全的地方,因为你稍后需要用到,而 AWS 在你离开此页面后不会再次向你显示它们。
不过别担心——如果你真的不小心丢失了访问密钥,只需重复这些步骤即可创建新的。
将它们复制到安全的地方后,点击完成。
4. 将访问密钥添加到 WP Offload Media 设置
现在,打开你的 WordPress 仪表盘。
如果你还没有安装并激活 WP Offload Media 插件,现在就去做。
然后,转到设置 → WP Offload Media。
选择 Amazon S3 作为你的提供商。
然后,选择你的连接方式。
我建议将访问密钥添加到网站的 wp-config.php 文件中,使用插件提供的代码片段。不过,如果你可以接受安全性较低的方法,也可以选择我了解风险…选项,将访问密钥添加到插件的设置中(这会将它们保存在你的数据库中)。

以下是将访问密钥添加到你的 wp-config.php 文件的方法:
- 先备份你的网站,以防万一出现问题。
- 使用 FTP 或 cPanel 文件管理器等工具连接到你的服务器。
- 编辑 wp-config.php 文件。
define( 'AS3CF_SETTINGS', serialize( array(
'provider' => 'aws',
'access-key-id' => '********************',
'secret-access-key' => '**************************************',
) ) );Code language: PHP (php)
它看起来可能是这样的:

保存 wp-config.php 文件后(如有需要请重新上传),点击插件设置中的保存并继续按钮。它也可能自动检测到更改并重新加载页面,无需你点击任何内容。
5. 为你的网站创建 S3 存储桶(或选择现有存储桶)
现在,你将看到从你的 AWS 账户选择现有存储桶或让插件为你创建一个的选项。
在本教程中,我将选择创建新存储桶选项,但如果你已经创建了存储桶,也可以自由选择现有存储桶。

然后,点击创建新存储桶按钮。
6. 配置如何将 WordPress 媒体卸载到 S3
现在,你将看到大量设置,用于控制如何卸载媒体。
默认设置在大多数情况下应该没问题,但你需要特别注意两个设置:
- 卸载媒体 – 确保已启用此选项。
- 删除本地媒体 – 如果你希望在媒体被卸载后删除本地版本,请启用此选项。如果保持禁用状态,文件将同时存在于你的网站服务器和 S3 存储桶上。

7. 设置内容分发网络(CDN)
与 Optimole 不同,使用 WP Offload Media 不会自动通过 CDN 提供你的媒体。相反,你的媒体将直接从 S3 存储桶提供,这不是最佳性能选择。
如果您想使用内容分发网络,该插件确实包含一项功能,可以让您重写媒体URL,使其从CDN而不是S3存储桶提供。
您可以在投递设置选项卡中执行此操作。点击投递设置旁边的编辑按钮查看该选项。

但是,设置CDN不在本文讨论范围内。如果从CDN提供S3媒体对您很重要,您可以参考WP Offload Media的文档或使用Optimole来简化CDN设置。
WordPress S3:有益的合作
通过使用WordPress S3插件,您可以轻松地卸载文件并利用亚马逊网络服务的基础设施。
虽然设置过程可能需要30分钟左右,但一旦完成,WordPress S3集成就非常顺畅,不需要任何进一步的工作。
如果您想以最简单的方式实现卸载图片的好处,Optimole可能是最佳选择,因为设置快速且无痛。
另一方面,如果您希望能够访问自己的S3存储桶(或者如果您主要想卸载长视频),WP Offload Media可能是更好的选择。
您还有关于如何将WordPress媒体卸载到S3的问题吗?请在评论中告诉我们。
…
别忘了参加我们关于加速WordPress网站的速成班。了解更多:
如何加速您的WordPress网站
通过一些简单的修复,您可以将加载时间减少甚至50-80%🚀
通讯表单 – 侧边栏
名 *
您的邮箱 *
立即订阅!
如果是人类,请留空此字段。
Δ
输入您的邮箱即表示您订阅了我们的每周通讯。您可以随时更改主意。我们尊重您的收件箱和隐私。




