将WordPress移动到新域

时间:2014-03-03 19:00:12

标签: wordpress

我正在寻找一些帮助将WordPress网站迁移到新域名。当我在网上寻找时,我只找到使用各种插件的教程。我想通过使用FTP和PHPmyAdmin来实现另一种方式。当我将表导入新域的数据库时,我做了一些测试并遇到了一些问题。我不确定我是以正确的方式做到这一点,我想要一些反馈或建议我会怎么做。这就是我想要做的事情。

  1. 我将所有WordPress文件下载到我的电脑。

  2. 我将所有数据库/表导出到.sql文件到我的电脑。

  3. 我使用PHPmyAdmin从我的计算机将数据库/表导入新的doamin。 (这对我来说也不起作用!我只是得到各种错误信息!)

  4. 我使用新用户密码更改PHP配置文件,然后将该文件与其余文件一起上传。

  5. 准备好了?或者我错过了什么?

  6. 我想这并不容易。我在某处读到,在从旧域下载WordPress文件到我的计算机之前,我应该将webbsite的名称改为新的,然后对旧版本不做任何操作!?这是对的吗?

    预先准备一些可以移动此Wordpress网站的指南。我的老板正在等待,但我告诉他我需要一些时间进行测试,因为这是我的第一次。

3 个答案:

答案 0 :(得分:1)

如果您只是在同一主机帐户上更改域名,则有一种非常简单的方法:

只需在phpmyadmin数据库的wp_options部分更改这两个值:“siteurl”和“home”。将其中的域更改为新域,您的新域将立即开始工作。

答案 1 :(得分:0)

你走在正确的轨道上。

  1. 下载MySql数据库的转储。 PhpMyAdmin应该能够通过导出功能执行此操作。然后将此数据库导入新服务器(再次通过PhpMyAdmin)。
  2. 将文件从旧的Wordpress复制到新的Wordpress安装。
  3. 关注Wordpress's official guide on changing your URLWordpress's guide to moving your site(如评论中提到的@csanonymous)。这将涉及编辑您提到的配置文件。可能还有其他步骤,具体取决于您的网站设置,因此请遵循指南。
  4. 看起来,从描述中,你会挂起phpMyAdmin导出/导入。如果您对此感到困惑,请在评论中发布更有意义的错误消息吗?

答案 2 :(得分:0)

我发现更改了siteurl,主页网址永远无法正常工作。帖子文本中经常存在不迁移的链接,尤其是图像资源链接。 最好的方法是在MySQL中。我使用的标准查询是:

START TRANSACTION;
    SET @OLDSITE = 'http://oldsite.net';
    SET @NEWSITE = 'http://newsite.com';
    UPDATE wp_posts SET guid = replace(guid, @OLDSITE,@NEWSITE);
    UPDATE wp_posts SET post_content = replace(post_content, @OLDSITE, @NEWSITE);
    UPDATE wp_posts SET post_excerpt = replace(post_excerpt, @OLDSITE, @NEWSITE);
    UPDATE wp_links SET link_url = replace(link_url, @OLDSITE, @NEWSITE);
    UPDATE wp_links SET link_image = replace(link_image, @OLDSITE, @NEWSITE);
    UPDATE wp_postmeta SET meta_value = replace(meta_value, @OLDSITE, @NEWSITE);
    UPDATE wp_usermeta SET meta_value = replace(meta_value, @OLDSITE, @NEWSITE);
    UPDATE wp_options SET option_value = replace(option_value, @OLDSITE, @NEWSITE);
COMMIT;

请确保在运行此操作之前先进行备份!

整个陈述都包含在一个交易中,这样你就不会找到一份工作。如果一个语句失败,那可能是一个真正的痛苦,一些域迁移而其他域没有迁移。如果您无权访问交易,则只需删除 START TRANSACTION COMMIT 语句,然后先执行测试运行。

理论上,这可以打破postmeta中的序列化数据。在实践中,这很容易解决。它可能会破坏您的菜单和其他一些结构化数据,但这很容易解决。

NB:此sql事务也适合从 http 更改为 https 。你只需要添加:

define('FORCE_SSL_ADMIN', true);

到你的wp-config.php。