Wordpress 移除旧的永久链接?

Wordpress 移除旧的永久链接?,wordpress,url-rewriting,url-redirection,http-status-code-301,Wordpress,Url Rewriting,Url Redirection,Http Status Code 301,我有一个Wordpress网站。我已经换了好几次了。我使用的permalinks的所有以前版本仍然有效。如果我在URL栏中输入它们,我将被带到页面,而URL不会更改/重定向到新的/当前的永久链接 为什么旧的永久链接不能重定向到新的永久链接 这导致了谷歌阅读重复内容的问题 Example: .com/lightbulb .com/shop/lightbulb 第二个URL很旧,但在我键入它时仍然有效 它不应该重定向到新的吗 我如何才能从Google中删除旧的永久链接 提前谢谢 为什么旧的永久链接

我有一个Wordpress网站。我已经换了好几次了。我使用的permalinks的所有以前版本仍然有效。如果我在URL栏中输入它们,我将被带到页面,而URL不会更改/重定向到新的/当前的永久链接

为什么旧的永久链接不能重定向到新的永久链接

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

Example: .com/lightbulb .com/shop/lightbulb
第二个URL很旧,但在我键入它时仍然有效

它不应该重定向到新的吗
我如何才能从Google中删除旧的永久链接

提前谢谢

为什么旧的永久链接不能重定向到新的永久链接

每次添加新的永久链接结构和刷新重写规则时,WordPress都不会将旧链接重定向到新链接。相反,WordPress将完全用新链接更改旧链接

我使用的permalinks的所有以前版本仍然有效

在WordPress中,URL不映射到路由。它是一个真实的URL,可以通过方法将其转换为数据库查询

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

我如何才能从Google中删除旧的永久链接

因为它们已经被谷歌编入索引,我认为这是最好的解决方案

我假设您正在使用Apache,如果没有,请告诉我

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

RewriteEngine On
RewriteRule "^shop/(.+)/?$" "http://example.com/$1" [R=301,L]

如您所见,当您更改永久链接结构时,Wordpress不会处理重定向。有两种方法可通过以下方式处理此问题:

  • htaccess重写规则(手动编辑.htaccess文件)取决于新/旧永久链接结构
    如果
    .com/lightbull
    是新路径,而
    .com/shop/lightbul
    是旧路径:
  • 选项-索引
    选项-多视图
    选项+FollowSymLinks
    重新启动发动机
    重定向匹配301/商店/灯泡(.*)/灯泡$1
    #或
    #重写规则^shop/灯泡?(*)http://www.domain.com/lightbulb$1[R=301,L]
    
    但是,如果您想将旧的permalink结构
    .com/shop/
    重定向到主域,您的
    .htaccess
    规则将是:

    选项-索引
    选项-多视图
    选项+FollowSymLinks
    重新启动发动机
    重定向匹配301/商店/(.*)/$1
    #或
    #重写规则^shop/?(*)http://www.domain.com/$1 
    
    永久重定向用于最佳SEO实践,将旧永久链接重定向到新永久链接,避免重复内容,并告诉搜索引擎您的旧永久链接已被移动到新永久链接

  • 重定向Wordpress免费插件(有很多):
    • 插件是最流行的,它提供了易于管理的301重定向和404错误跟踪。它还提供了更先进的工具,帮助您跟踪网站上的松散内容,如断开的链接和孤立页面
    • 该插件很简单,当您将内容从一个位置永久移动到另一个位置时,可以处理301重定向创建
    • 通过指定重定向URL和类型(301、302、307、meta),插件可以轻松地将页面/帖子或自定义帖子类型重定向到另一个页面/帖子或外部URL
    • 插件附带了一个额外的白名单功能,增加了安全性
    • 插件提供了对生成301、302和307重定向的支持,还支持404错误监控和简单的一键重定向

  • 转换数据库中的旧路径(URL)(如果它们仍然存在):

    您可以使用免费插件,轻松地在数据库中找到一些旧的相关URL或路径,并用新的URL或路径替换它们。这是一个非常强大的插件,有点小错误,但如果您知道它,它可以正常工作(但之前要使始终备份

    最近的参考资料:

    我认为旧的永久链接是用
    \u wp\u old\u slug的
    meta\u键存储在表
    postETA
    中的

    如果您想清除所有旧的鼻涕虫,可以使用以下方法:

    DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';
    

    选项+FollowSymLinks RewriteEngine关于RewriteRule(.*)[R=301,L]请检查并让我知道?我是带着不同的要求来回答这个问题的。一个slug被编辑了,我想让旧slug现在可以使用。wordpress给出了一个301,但我想删除它。最后我找到了这篇文章来解决我的问题。把它贴在这里,希望它能对有需要的人有所帮助。旧的permlink存储在哪里?它存储在某个数据库中?为什么不能从数据库中选择并删除它?@it__是文献通过
    init
    hook添加的重写规则不会保存在数据库中。或者也可以缓存它。根据当前问题的信息,很难知道问题是什么。我的答案只是一些指导方针,可以帮助您找出问题,但我希望它能有所帮助:)删除默认路由说明-。如果谷歌已经建立了索引,仍然要确保你正在重定向。如果他不确定为什么会发生这种情况,wp_Posteta中的条目是否重复,我建议不要删除,而是通过用新链接替换旧链接来更新表。此外,表格前缀是否为“wp”?出于好奇,
    \u wp\u old\u slug
    是如何导致问题的?如果用户通过旧slug到达post,wp将通过读取
    \u wp\u old\u slug
    元值重定向到post。它的作用类似于301重定向。我知道为什么旧链接没有重定向到新链接?正如OP所说的:我使用的所有以前版本的永久链接仍然在工作……没有URL更改/重定向到新的/当前的永久链接。