WordPress媒体迁移至谷歌云存储教程
在之前的教程中,我们曾向您详细演示了如何将媒体文件迁移至Amazon S3平台。今天,我们将深入探讨如何将WordPress网站上的媒体资源卸载至Google Cloud Storage,并为您解析选择直接从Google Cloud Storage或CDN提供媒体服务的多种方案。
谷歌云存储作为谷歌云平台众多产品中的一员,凭借其庞大的基础架构和高效的批量存储能力,能够提供极具竞争力的低存储成本,远低于传统的WordPress主机方案。这类云存储解决方案通常适用于需要额外备份的外部插件(如我们的备份插件)或提供大型文件(如图像、照片、软件、视频、游戏)的网站。其客户群体涵盖Spotify、Vimeo、可口可乐、飞利浦、Evernote和摩托罗拉等知名企业。
### 谷歌云存储与谷歌云CDN
在理解谷歌云存储之前,需明确其与谷歌云CDN(内容交付网络)的区别。CDN专为加速媒体内容交付而设计,而谷歌云存储则专注于大容量存储解决方案。尽管如此,谷歌云存储的多区域存储机制也能有效提升网站速度——其内容存储在选定区域内的多个位置并从这些位置交付,类似CDN的边缘缓存技术。但需注意,这种机制并非全球覆盖,可能比成熟的CDN方案存在更高的延迟。谷歌云存储提供三个存储区域供选择:亚太地区、欧洲联盟和美国。
### 谷歌云存储定价
谷歌云平台为新客户提供为期3个月、总额300美元的免费试用期,适用于从未成为付费客户的用户。这是在支付任何费用前测试谷歌云存储是否适合您网站的理想方式。具体定价方案和免费试用常见问题解答可参考官方文档。
### WP-Stateless的WordPress谷歌云存储设置
将Google Cloud Storage与WordPress网站集成的首选方案之一是使用免费的WP-Stateless插件,由Usability Dynamics团队开发。该插件在文件上传至媒体库时自动将其复制至Google Cloud Storage,并提供多种模式:备份媒体副本、从WordPress中删除本地媒体并直接从Google Cloud Storage提供服务等。
WP-Stateless插件虽属较新项目,但已获得广泛认可,并持续更新维护。截至本文撰写时,该插件拥有超过2,000次活跃安装,且与Easy Digital Downloads、Imagify、ShortPixel、WPForms、WP Smush、Advanced Custom Fields等第三方插件兼容。若未列出某插件,不代表无法集成,仅表示UsabilityDynamics团队未优先修复兼容性问题。
#### 安装与设置步骤
1. **安装插件**:从WordPress插件库下载WP-Stateless,或在仪表盘搜索“WP-Stateless”并安装启用。
2. **启动设置向导**:点击“Begin Setup Assistant”,或参考手动设置指南。
3. **谷歌登录**:使用关联Google账户登录并授权权限。若不愿授权,可选择手动设置。
4. **授权访问**:点击“Allow”以允许插件管理您的Google Cloud Platform数据。
5. **配置存储项目与存储桶**:
– **Google Cloud Project**:选择新建或现有项目。
– **Google Cloud Bucket**:选择新建或现有存储桶。
– **Multi-Regional Location**:选择最贴近您用户群体的区域。
– **Google Cloud Billing**:若无结算账户,点击创建。
**提示**:若需自定义域名或CDN URL,将存储桶命名为“gcs.yourdomain.com”,尽管句点在存储桶名称中可用,但需注意命名规则。
#### WP-Stateless模式配置
在“Media → Stateless Settings”下,您可配置以下模式:
– **Disabled**:禁用无状态媒体。
– **Backup**:上传媒体至Google Cloud Storage并保留本地副本。
– **CDN**:复制媒体至Google Cloud Storage并直接提供。
– **Stateless**:仅存储于Google Cloud Storage,节省本地磁盘空间。
– **File URL Replacement**:扫描文章内容并替换本地URL为Google Cloud Storage URL(不修改数据库)。
此外,插件提供同步功能以备恢复,且您可直接从Google Cloud Storage存储桶访问WordPress上传文件夹,其结构完全模拟媒体库。
#### 附加设置
– **Cache-Control**:默认设置为“public, max-age=36000, must-revalidate”,可自定义。
– **Delete GSC File**:从WordPress媒体库删除时同步删除Google Cloud Storage文件。
– **File URL and Domain**:替换默认GCS域为自定义域(需配置CNAME,域名与桶名需完全匹配)。
– **Organization**:按年份和月份组织上传文件。
– **Cache Busting**:在文件名前添加随机字符以避免缓存冲突。
#### 批量同步
首次配置后,需运行批量同步:
– 重新生成所有无状态图像并同步本地与Google Cloud Storage。
– 同步非图像文件或非媒体库文件。
### WP Offload Media的WordPress谷歌云存储设置
另一解决方案是使用Delicious Brains Inc.提供的WP Offload Media Lite插件(高级版提供更多功能,如PriorityExpert™支持、批量上传、后台删除等)。
#### 安装与设置步骤
1. **安装插件**:从WordPress插件库下载或搜索“WP Offload Media Lite”并安装启用。
2. **配置Google Cloud Storage**:
– 登录Google Cloud Platform (GCP) 控制台。
– 创建服务帐户密钥文件并保存。
– 激活WP Offload Media许可证并配置存储桶。
– 迁移现有媒体库。
### 谷歌云存储CDN集成
尽管谷歌云存储的多区域存储性能不及传统CDN,您仍可通过第三方CDN加速媒体交付。以下以KeyCDN为例:
1. **创建Google Cloud Storage区域**:为媒体设置新区域。
2. **配置KeyCDN**:遵循KeyCDN的Google Cloud Storage集成教程,将Google Cloud Storage作为源服务器。
3. **部署HTTPS**:在新区域上部署Let’s Encrypt。
4. **设置区域别名**:例如“gcs.yourdomain.com”。
5. **配置WP-Stateless**:使用区域别名以使KeyCDN交付Google Cloud Storage文件。
#### 资源与CDN组合
若需通过CDN提供JS、CSS等资源,可:
1. 为资源创建单独的CDN区域(如“cdn.yourdomain.com”)。
2. 安装支持排除的CDN插件(如CDN enabler、Perfmatters或WP Rocket)。
3. 设置排除项,使CDN插件仅加载CSS、JS等。
最终,媒体从自定义CDN URL(源自Google Cloud Storage)加载,而其他资源从独立CDN URL加载。若在“Stateless”模式下运行,WordPress将不占用任何磁盘空间存储图像,效果显著。
### 使用Google Cloud CDN配置WP Offload Media
默认情况下,WP Offload Media使用原始Google Cloud Storage URL提供媒体,如“http://storage.googleapis.com/bucket-name/wp-content/uploads/…”。您可参考官方教程为Google Cloud Storage配置自定义域CDN以优化性能。