我正在将一个网站迁移到drupal CMS。
我想知道谷歌如何回应从重定向重定向。我会试着解释我想要完成的任务:
旧情况:www.old-site.com/page?pid=123
新形势:www.new-site.com/page/pagetitle
我想在我的。htaccess文件中创建一个301重定向,因为我已经为许多其他页面做了。但是在这种特殊情况下,旧的页面id (pid)在新网站中是不知道的。
我的计划是创建以下重写规则:
RewriteCond %{QUERY_STRING} ^pid=(.*)$
RewriteRule ^page.aspx$ page-redirect/%1? [R=301,L,NC]
现在我有正确的页面id。然后我想做的是创建一个小脚本,将url从page-redirect/123重写为page-redirect/newtitle,因为我知道id
的标题。然后我想有以下规则处理新的标题:
RewriteRule ^page-redirect/(.*)$ page/%1? [R=301,L,NC]
所以最基本的问题是:这对谷歌索引有什么影响?我们的客户希望在谷歌上保持他的(良好的)有机结果。
代替将从page.aspx
重定向到page-redirect
,为什么不重写到page-redirect
呢?这样page-redirect
就可以计算出最终url 页面重定向/newtitle并为其发出单个301重定向,即
RewriteCond %{QUERY_STRING} ^pid=(.*)$
#just do a server side rewrite instead of a redirect
RewriteRule ^page.aspx$ page-redirect/%1? [L,NC]
重定向逻辑将存在于页面重定向代码中。
如果你仍然选择做2301重定向,这是不理想的,但谷歌应该把旧网址的页面排名转移到新的。
请注意,无论哪种方式,当您通过301(1或2)移动内容时,您应该期望您的页面排名暂时下降,因为您的旧页面从索引中删除而新页面被添加。