Wordpress博文重定向(1000篇帖子)

时间:2017-02-13 18:47:06

标签: php wordpress .htaccess redirect

我有一个带有以下网址结构的wordpress博客:

www.mysite.com/2016/09/the-name-of-the-post /

但是我注意到,对于SEO原因,最好有一个像:

这样的结构

www.mysite.com/blog/the-name-of-the-post /

我有大约1000个帖子与" old"网址结构。我可以在wordpress中更改url结构。但是,如果有人试图使用旧网址访问帖子,我需要301重定向。

E.g。

person / google bot尝试通过/ 2016/09 / the-name

访问页面

- > 301重定向到/ blog / the-name

这样做的最佳做法是什么?我是否会在.htaccess文件中添加1000行并进行重定向?这会对服务器响应时间产生负面影响,因为apache必须首先检查一长串重定向吗?

我可以在wordpress文件structe中调整一个文件,如果所请求的页面包含在例如一个数组,它会将它重定向到新的URL?

非常感谢你的建议

4 个答案:

答案 0 :(得分:2)

您只需将WordPress中的网址结构更改为您想要的网址结构即可。您无需修改​​.htaccess或其他任何内容。

WordPress将了解网址引用的帖子,并自动重定向到新的规范网址。

只需转到Permalinks管理页面,然后选择“帖子名称”选项as described in the Codex

但是,如果您也引入了/blog/之类的前缀,则必须通过.htaccess重定向到新的网址,例如

RedirectMatch 301 ^/[0-9]{4}/[0-9]{2)/(.+)$ http://example.com/blog/$1 // taken from stackoverflow.com/a/42211746/

答案 1 :(得分:1)

您可以使用以下重定向

RedirectMatch 301 ^/[0-9]{4}/[0-9]{2)/(.+)$ http://example.com/blog/$1

这会将此表单 / 1234/12 / foobar 中的所有网址重定向到此 / blog / foobar

答案 2 :(得分:1)

将固定链接更改为新结构并将其添加到.htaccess

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(.*)/$ http://example.com/blog/$3

答案 3 :(得分:0)

之前我遇到了同样的问题,但我使用简单的301重定向插件解决了这个问题。 https://wordpress.org/plugins/simple-301-redirects/ 您可以使用此插件的批量上传附加组件批量上传301重定向。 希望这会对你有所帮助。