删除旧的永久链接?

问题描述 投票:3回答:3

我有一个WordPress的网站。我已经改变了我的永久链接几次。所有过去的版本我使用仍在工作的永久链接。如果键入他们到地址栏,我被带到页面而不URL变化/重定向到新的/当前固定链接。

为什么不老的永久链接重定向到新的?

这导致与谷歌阅读重复内容的问题。

Example: .com/lightbulb .com/shop/lightbulb

第二个URL是旧的,但是当我键入它仍然有效。

难道不应该重定向到新的? 如何从由谷歌被发现删除旧的永久链接?

提前致谢

wordpress url-rewriting url-redirection http-status-code-301
3个回答
3
投票

正如你所看到的,当你改变你的永久链接结构的WordPress不处理重定向。有2种方法来处理这个问题,通过:

  1. 根据您的新新/旧永久链接结构的htaccess重写规则(手动编辑.htaccess文件)。 如果.com/lightbulb是新的路径和.com/shop/lightbul旧:
Options -Indexes
Options -Multiviews
Options +FollowSymLinks 
<IfModule mod_rewrite.c>
  RewriteEngine on
  RedirectMatch 301 /shop/lightbulb(.*) /lightbulb$1
  # or
  # RewriteRule ^shop/lightbulb?(.*) http://www.domain.com/lightbulb$1 [R=301,L]
</IfModule>

但是,如果你想重定向旧永久链接结构.com/shop/主域您.htaccess规则将是:

Options -Indexes
Options -Multiviews
Options +FollowSymLinks 
<IfModule mod_rewrite.c>
  RewriteEngine on
  RedirectMatch 301 /shop/(.*) /$1
  # or
  # RewriteRule ^shop/?(.*) http://www.domain.com/$1 
</IfModule>

永久重定向来获得最佳的搜索引擎优化的做法,明确重定向旧的永久链接到新的,避免重复的内容,并告诉你的旧的永久链接已经明确转移到新的搜索引擎。

  1. 重定向的WordPress插件免费(有很多): Redirections插件是最流行的,并提供了一个易于管理的301个重定向和404错误跟踪。它还提供了更先进的工具来帮助您跟踪零星的在您的网站存在损坏的链接和孤儿的网页。 Simple 301 redirects插件很简单,与301重定向创造交易的,当你永久地从一个位置移动内容到另一个。 Quick Page/Post Redirect插件容易通过指定重定向URL和类型(301,302,307,间位)重定向页/柱或自定义后的类型到另一个页面/后或外部URL。 Safe Redirect Manager插件还会为增加安全性的附加白名单功能... SEO Redirection Plugin插件提供支持生成301,302,和307重定向,同时还支持404,方便一键重定向错误监控...

在数据库转换老路(URL)的(如果它们仍然存在):

您可以使用Search and Replace免费的插件,可以轻松地找到你的数据库和散装一些老的相关网址或路径由新的替换它们。这是一个非常强大的插件,一个小马车,但做工精细,当你知道它(但在此之前一直做一个备份)。

最近的一个参考: A Simple Guide to Changing Your Permalinks Without Breaking Your WordPress Website


2
投票

我觉得老固定链接存储在表postmetameta_key_wp_old_slug

如果你想清除所有的老蛞蝓,你可以使用这个的:

DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';

1
投票

为什么不老的永久链接重定向到新的?

每次添加新的永久链接结构,并刷新重写规则的时间,WordPress的不重定向旧链接到新的链接。取而代之的是,WordPress会改变与完全的新链接的旧链接。

所有过去的版本我使用仍在工作的永久链接。

在WordPress中,一个网址不映射到路线。这是looped through rewrite rules to find a match - 可以通过parse_request方法转化为数据库查询一个真正的URL。

这意味着,如果匹配的旧链接,其中旧重写规则不会被删除。旧的链接仍然有效。

如何从由谷歌被发现删除旧的永久链接?

因为他们已经被谷歌收录,我觉得permanent redirects是最好的解决办法。

我假设你使用Apache,如果没有,请让我知道。

在你的情况,只需在您的.htaccess文件WordPress的规则之前,添加以下代码:

RewriteEngine On
RewriteRule "^shop/(.+)/?$" "http://example.com/$1" [R=301,L]
© www.soinside.com 2019 - 2024. All rights reserved.