我有一个带有以下网址结构的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?
非常感谢你的建议
答案 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重定向。 希望这会对你有所帮助。