导入到 WordPress 而不会丢失页面排名和永久链接
Importing to WordPress without losing page ranking and permalinks
我已将我所有的博客文章从不同的 CMS 导入到本地 WordPress 设置,以便在上线前进行测试。这是包含来自旧 CMS 的帖子的 XML 文件的布局:
<PublishingArticles>
<ID></ID>
<CategoryID></CategoryID>
<AllowComments></AllowComments>
<AllowPingback></AllowPingback>
<Body></Body>
<Categories></Categories>
<ContentFormat></ContentFormat>
<IsAppoved></IsAppoved>
<IsPrivate></IsPrivate>
<IsPublished></IsPublished>
<Language></Language>
<LastModified></LastModified>
<ParentID></ParentID>
<PermaLink>/home/year/month/day/id/blog-post-name.html</PermaLink>
<Pos></Pos>
<Posted></Posted>
<Ratings></Ratings>
<Slug></Slug>
<Title></Title>
<TotalReads></TotalReads>
<TotalComments></TotalComments>
<TotalVotes></TotalVotes>
<UserName></UserName>
<Version></Version>
</PublishingArticles>
到目前为止,我在导入帖子时没有遇到任何问题,所以我的下一步是确保旧的 URL 重定向到新的 URL。
我使用 WP All Import 导入帖子,但没有保存永久链接以进行重定向的选项。我现在已经安装了 Redirection 插件,但设置似乎没有达到我想要的效果。
我想将所有旧的永久链接重定向到新位置。有没有人对如何去做有任何想法?我尝试四处查看重定向,但我不确定这是否是正确的方法。
我目前的想法是我应该从 XML 文件中提取所有永久链接并告诉重定向插件应用这些,因为 ID 也将从 XML 文件中导入并且导入到 WordPress 时使用。我不知道如何大规模地执行此操作,但是因为有 1700~ 个帖子。
有多种方法可以做到这一点:
- 您可以通过转至
Settings > Permalinks
在 WordPress 中构建您的 URL,类似于您之前的 CMS 设置。这样 WordPress 将自动生成与您的旧网址相似的新网址,您甚至不需要进行重定向。
- 您可以像这样通过 .htaccess 文件将所有旧网址重定向到新网址(如以下聊天中所讨论的,新 URL 的结构将与旧网址完全相同):
旧域 URL: http://old-domain.com/home/year/month/day/id/blog-post-name.html
新域URL:http://new-domain.com/home/year/month/day/id/blog-post-name.html
将此添加到您的 .htaccess 文件中以将所有旧 URL 重定向到新 URL 不变:
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirects Entire Old Domain URLs to New Domain Unchanged
RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR]
RewriteRule ^(.*)$ http://new-domain.com/ [R=301,L]
</IfModule>
我已将我所有的博客文章从不同的 CMS 导入到本地 WordPress 设置,以便在上线前进行测试。这是包含来自旧 CMS 的帖子的 XML 文件的布局:
<PublishingArticles>
<ID></ID>
<CategoryID></CategoryID>
<AllowComments></AllowComments>
<AllowPingback></AllowPingback>
<Body></Body>
<Categories></Categories>
<ContentFormat></ContentFormat>
<IsAppoved></IsAppoved>
<IsPrivate></IsPrivate>
<IsPublished></IsPublished>
<Language></Language>
<LastModified></LastModified>
<ParentID></ParentID>
<PermaLink>/home/year/month/day/id/blog-post-name.html</PermaLink>
<Pos></Pos>
<Posted></Posted>
<Ratings></Ratings>
<Slug></Slug>
<Title></Title>
<TotalReads></TotalReads>
<TotalComments></TotalComments>
<TotalVotes></TotalVotes>
<UserName></UserName>
<Version></Version>
</PublishingArticles>
到目前为止,我在导入帖子时没有遇到任何问题,所以我的下一步是确保旧的 URL 重定向到新的 URL。
我使用 WP All Import 导入帖子,但没有保存永久链接以进行重定向的选项。我现在已经安装了 Redirection 插件,但设置似乎没有达到我想要的效果。
我想将所有旧的永久链接重定向到新位置。有没有人对如何去做有任何想法?我尝试四处查看重定向,但我不确定这是否是正确的方法。
我目前的想法是我应该从 XML 文件中提取所有永久链接并告诉重定向插件应用这些,因为 ID 也将从 XML 文件中导入并且导入到 WordPress 时使用。我不知道如何大规模地执行此操作,但是因为有 1700~ 个帖子。
有多种方法可以做到这一点:
- 您可以通过转至
Settings > Permalinks
在 WordPress 中构建您的 URL,类似于您之前的 CMS 设置。这样 WordPress 将自动生成与您的旧网址相似的新网址,您甚至不需要进行重定向。 - 您可以像这样通过 .htaccess 文件将所有旧网址重定向到新网址(如以下聊天中所讨论的,新 URL 的结构将与旧网址完全相同):
旧域 URL: http://old-domain.com/home/year/month/day/id/blog-post-name.html
新域URL:http://new-domain.com/home/year/month/day/id/blog-post-name.html
将此添加到您的 .htaccess 文件中以将所有旧 URL 重定向到新 URL 不变:
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirects Entire Old Domain URLs to New Domain Unchanged
RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR]
RewriteRule ^(.*)$ http://new-domain.com/ [R=301,L]
</IfModule>