Puo's 菜园子 学习园地 http://puo.cn
易记网址: http://wordpress.cn.com

WordPress从HTTP迁移到HTTPS,需要解决的

#wordpress

1. 基础HTTPS迁移步骤

(1) 安装SSL证书

  • 在服务器(如宝塔、Nginx、Apache)或主机面板(如cPanel)中安装SSL证书(可通过Let's Encrypt免费获取)。
  • 验证证书是否生效:访问 https://你的域名,确认浏览器地址栏显示安全锁。

(2) 修改WordPress地址和站点地址

  • 登录WordPress后台 → 设置 → 常规,将
    WordPress地址(URL)站点地址(URL)
    http:// 改为 https://,保存更改。

(3) 强制HTTPS跳转

  • 通过服务器配置(推荐):
    • Nginx:在站点配置文件中添加
      nginx

      复制
      return 301 https://$server_name$request_uri;
    • Apache:在 .htaccess 文件中添加
      apache

      复制
      RewriteEngine On
      RewriteCond %{HTTPS} off
      RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
  • 通过插件(适合新手):
    安装插件如 Really Simple SSL,自动处理HTTPS跳转和混合内容修复。

2. 解决七牛云图片HTTP链接问题

(1) 批量替换数据库中的HTTP链接

  • 使用插件 Better Search Replace
    1. 安装并启用插件。
    2. 进入 工具 → Better Search Replace,搜索 http://你的域名,替换为 https://你的域名,选择所有数据表(如 wp_postswp_postmeta),勾选“运行模拟”确认无误后执行替换。
  • 手动SQL替换(高级用户):
    通过phpMyAdmin执行以下SQL语句(提前备份数据库!):
    sql

    复制
    UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://你的域名', 'https://你的域名');
    UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://你的域名', 'https://你的域名');

(2) 七牛云存储桶设置HTTPS

  • 登录七牛云控制台 → 进入对应的存储桶 → 域名管理 → 找到你的自定义域名(如 cdn.你的域名.com)→ 点击 配置 → 开启 HTTPS 并上传SSL证书(若使用七牛云免费证书,可直接申请)。
  • 确保七牛云域名的 CNAME记录 指向正确的HTTPS地址(通常无需修改,但需验证解析是否生效)。

(3) 更新WordPress中的七牛云URL

  • 若通过插件(如 WPJAM Basic)集成七牛云,检查插件设置中的 CDN域名 是否已改为 https://cdn.你的域名.com
  • 若手动替换过图片链接,需确保所有七牛云图片URL从 http://cdn.你的域名.com 改为 https://cdn.你的域名.com(通过上述 Better Search Replace 插件批量处理)。

3. 修复混合内容(Mixed Content)警告

  • 浏览器控制台检查:按 F12 → 切换到 Console 标签,查看是否有类似
    Mixed Content: The page at 'https://...' was loaded over HTTPS, but requested an insecure image 'http://...' 的错误。
  • 批量替换残留HTTP链接
    重点关注以下内容中的HTTP链接:
    • 文章/页面内容(wp_posts表)
    • 主题选项(如主题设置的Logo、背景图,可能在wp_options表)
    • 插件生成的脚本/样式(如缓存插件、CDN插件)
  • 替换示例
    搜索 http://cdn.你的域名.com,替换为 https://cdn.你的域名.com

4. 其他关键检查

  • XML-RPC与Pingback:若使用第三方服务(如IFTTT),需确保其支持HTTPS。
  • ** robots.txt与搜索引擎**:更新 robots.txt 中的站点地图URL为HTTPS(如 Sitemap: https://你的域名/sitemap.xml)。
  • CDN缓存:清除七牛云存储桶的缓存(通过七牛云控制台 → 缓存刷新),避免旧HTTP链接被缓存。
  • 浏览器缓存:访客可能需要清除浏览器缓存才能看到更新后的HTTPS图片。

5. 验证迁移结果


常见问题

  • 图片仍显示HTTP?
    检查是否遗漏了某些自定义字段(如页面构建器插件生成的内容),需手动编辑或扩展 Better Search Replace 的替换范围。
  • 七牛云HTTPS证书错误?
    确保证书已正确上传至七牛云,且域名解析未冲突(如同时存在A记录和CNAME记录)。

完成以上步骤后,你的WordPress网站将完全通过HTTPS运行,七牛云图片也会正常加载,避免因混合内容导致的浏览器警告。
复制
分享
好的,另一个问题,我之前做wordpress,优化的时候,把文章的版本信息那一块优化掉了,现在我写文章,有时候要需要老的版本信息,如何再把这一块打开呢
WordPress 的文章修订(Revision)功能一旦被关闭,只要在 wp-config.php 里把对应的常量删掉或改回 true,就会重新生效;无需“补回”任何文件,也无需重装。下面给你 3 种常见“关法”的对症恢复办法,按自己当时怎么关的,反向操作即可。操作前建议先 备份整站+数据库,以防万一。

  1. 检查 wp-config.php(最常见) 打开站点根目录的 wp-config.php,搜索下面 4 行之一:
php

复制
define( 'WP_POST_REVISIONS', false );   // 完全关闭
define( 'WP_POST_REVISIONS', 0 );      // 等价 false
define( 'WP_POST_REVISIONS', true );   // 已开启,但数量无限制
define( 'WP_POST_REVISIONS', 3 );      // 限制保留 3 份
  • 如果想彻底重新开启 → 把 false/0 改成 true 或者直接 删除这一行(默认就是 true)。
  • 如果想开启但控制数量 → 改成正整数,例如 define( 'WP_POST_REVISIONS', 5 );
    保存后重新登录后台,再写/更新一篇文章,就会出现“修订版本”面板了。

  1. 检查 functions.php(主题层关闭) 有些优化教程会直接在主题 functions.php 里移除修订功能,搜索:
php

复制
remove_action( 'post_updated', 'wp_save_post_revision' );
add_filter( 'wp_revisions_to_keep', '__return_zero', 10, 2 );
只要注释掉或删除这两句即可恢复。

  1. 检查插件(禁用修订插件) 如果装过 “Disable Post Revision”、“WP Disable” 这类插件,进入
    插件 → 已安装插件,先停用删除它们,再按第 1 步确认 wp-config.php 里没有残留 false/0 即可。

恢复后能看到旧版本吗?
  • :数据库里只要当时没手动清理,旧修订记录仍躺在 wp_posts 表(post_type = revision),恢复按钮会重新出现。
  • 不能:若曾用插件/ SQL 把 revision 行全删掉,那就真的没有了,只能以后新生成。

小提示(可选)
  1. 只想对今后的文章生效,不影响已发布内容,无需任何额外操作。
  2. 如果担心数据库膨胀,可以保留修订但定期清理,推荐插件:WP-SweepAdvanced Database Cleaner
  3. 多人协作场景下,建议把修订上限设在 5~10 份,兼顾安全与体积。
照以上步骤改完,再打开任意一篇文章,右侧“发布”模块里就会出现“修订版本:X 篇”链接,点进去就能对比、回滚了。祝你写作顺利!
打赏
谢谢谅解上文的粗糙,允许转载,请注明转载地址:Puo's 菜园子 » WordPress从HTTP迁移到HTTPS,需要解决的
分享到

评论 抢沙发

做一个好的个人学习园地

主要网建,域名、集装箱物流、生活方法论的学习及研究,整理等内容

我的原创博客-忆秋年Puo's菜园子-我的学习园地

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册