WordPress:页面删除后自动301重定向

时间:2017-10-12 13:43:08

标签: php wordpress .htaccess redirect

我有一个wordpress网站,通过API提供动态内容。我们每天都有数百个新内容页面和数百个自动删除的旧页面。是否有为此页面创建自动301重定向的解决方案?目标是在几周后避免数千个404页面......

1 个答案:

答案 0 :(得分:0)

1a上。决定你将重定向到什么。

确定应该将任何特定的OLD /丢失的网址重定向到哪里,可以根据需要简单[通用网址]或复杂[模式匹配 - 语言 - AI]。至少,您应该尝试通过以下几个字段来匹配类似的文章:网址,标题,元,关键字,内容中的H-tags。

重定向到一个公共网址 IS 404,无论你是否告诉别人它是301。

最终,如果您只是将它们全部重定向到一个页面,为什么还要重新定位呢?你刚刚建立的是一个404页,永远不会404,但会对SEO产生同样的影响。相反,只需使用该内容自定义您的404页面。

1b中。对所有页面进行分类。重定向“类别”页面。

设置导入内容组织方式的一些基本要求将大大简化您的问题。如果你可以把这些页面分成一些基本的标准类别(不会改变,也不需要在任何地方的nav中显示),你的问题就解决了90%。最后一步是简单地从步骤2a创建一些简单的重写规则:url matches a category and page missing? 301 to category.

2a上。使用Rewrite API了解并应用您自己的规则。

这不是一个不常见的问题,这就是为什么有一个工具内置到WP:Rewrite API。这允许您将自己的重写规则(将请求的URL与特定的响应匹配)添加到WP,让WP完成剩下的工作。

我不会告诉你这很容易,但这是最好的解决方案,如果你打算继续进行,尽管我最后的建议。

2B。 Catch-all请求以及 WP加载404之前的wp_redirect

警告: 这里是龙

Wordpress使用.htaccess将大多数请求路由到index.phpwp_redirect( "http://example.com/new-page", 301 );本身充当所有WP的主要加载器。在这个过程中有很多地方可以注入自己的url-rewrite引擎,有效地替换wordpress来处理任何预定义的URL。一旦你在那里,你几乎可以对请求做任何事情,但我建议坚持一些简单的事情,比如{{1}}

请:让您的404s为404,或者只重定向到该页面的旧类别。

这种行为是明确定义的请求/响应周期标准的一部分。不仅仅是在HTTP中,而且这是所有形式的通信响应的4种基本响应状态之一:没有捕获,我的回答,我不知道,窒息。你曾经和那些从未承认自己不认识某事的人一起工作过?这就是你将把你的网站变成什么样的。

实际上,您正在尝试为丢失的URL保存SEO,并避免大量的404错误。要做到这一点,你最好在大多数情况下指导旧网址完全不相关的内容。这实际上与显示404页面的SEO相同。

有关moz.com的详情。