【问题标题】:301 redirect all ugly permalinks from old site to new site301 将所有丑陋的永久链接从旧站点重定向到新站点
【发布时间】:2015-04-06 11:43:19
【问题描述】:

于是我前几天翻修了一个完整的网站,在google搜索结果中发现了一些旧页面sn-ps。旧页面有一个丑陋的链接结构,例如domain.com/index.php?article_id=123。新网站使用漂亮的固定链接,例如domain.com/pagetitle

我可以将一段代码放入 .htaccess 文件中,以便将所有丑陋的永久链接重定向到新网站吗?

编辑

附加信息:旧链接不再存在。旧站点和新站点的结构差异很大,并非所有站点的所有内容都进行了改编。主要问题是我不希望谷歌搜索结果中的旧链接总是向用户抛出 404。

【问题讨论】:

  • 你能解释一下你想知道的吗?
  • 我并没有特别询问这两个链接。我想知道是否会有一个 .htaccess 的 sn-p 获取所有那些丑陋的永久链接(具有类似 domain.com/index.php?article_id=123 的结构)并将它们重定向到新站点(使用 domain.com/pagetitle 永久链接结构)
  • 对,这将是两个不同的页面,内容不同。页面结构和内容不适合新页面,我们不希望 google 搜索结果中的旧链接总是向用户抛出 404。旧链接不再存在。我将其编辑为我的问题以澄清。

标签: .htaccess redirect seo


【解决方案1】:

也许有点

重定向匹配 ^/index.php?$ http://www.example.com/somepage

这会将所有从 index.php 开始的页面重定向到另一个位置

【讨论】:

  • 使用这种方法意味着我的新网站不会丢失旧网站的seo-juice,对吧?
  • 我们已经完成了 SEO 告诉我们的事情。当然最好不要将它们全部重定向到一个页面,而是重定向到相关页面,这将是最好的方法。或者您可以为一些重要的旧页面编写个人重定向并通过 RedirectMatch 重定向其他页面
  • 完全有道理。非常感谢!
【解决方案2】:

我没有代表对其他答案发表评论,但如果您完全重视您的 SEO,这是一个非常不合适的解决方案。重定向是您告诉 Google “我有相同的页面,我只是移动了它”的方式。有一种更好的方法可以做到这一点,根本不会对您的 SEO 产生负面影响。

您应该创建一些逻辑来将这些旧链接重定向到您的新链接。

下面是一个例子:

  1. 在任何逻辑发生之前转到程序的开头。
  2. 使用代码检索请求的页面。在这种情况下,您可能只需检查与 article_id 匹配的 GET 变量即可。
  3. 如果请求的页面与您的 GET 变量匹配,请运行查询以查看文章是否存在。 (显然,您仍然需要 404 不存在的文章)。
  4. 检索用于生成新的、对 SEO 更友好的 URL 的内容。这可能是文章标题之类的。
  5. 编写一些代码来生成新的文章标题。此时,如果这工作正常,您应该能够系统打印该新 URL 以确保它是正确的。
  6. 301 重定向到新 URL。不要302或任何其他号码,301重定向它。这让搜索引擎知道它是相同的页面和内容,但它已永久移动。

【讨论】:

  • 2. 和 3. 是否会导致 301 将这些 URL 重定向到新站点上的匹配内容?我之所以问,是因为新站点的内容和结构与旧站点有很大不同,旧站点已经脱离了网格。你介意举个例子吗?假设我们有 article_id=123,它在新站点上没有匹配的内容,而 article_id=345,在 url.com/matching-content 上有匹配的内容。我很感激你帮我解决这个问题。抱歉格式错误(我在手机上)。
  • @okiedokey 是的,您可以 301 将旧 article_id=345 重定向到 /new-article。回答如果没有匹配内容的 article_id=123 应该怎么做。那么你会想要 404 那个页面。
猜你喜欢
  • 2019-07-03
  • 2012-04-18
  • 1970-01-01
  • 1970-01-01
  • 2016-06-07
  • 1970-01-01
  • 1970-01-01
  • 2017-01-08
  • 2017-07-25
相关资源
最近更新 更多