我正在向现有的CMS添加‘漂亮’URL的过程中,菜单是自动生成的,新的‘漂亮’URL将作为一个单独的模块独立处理。自动生成的菜单总是有像这样的index.php?menu_id=n,当然我们希望看到的是例如。/news或/products
我现在必须决定是重写当前系统的所有输出,还是简单地放入一个钩子,重定向到“漂亮”的URL。
换句话说,我是应该连接到数据库,获取所有“漂亮”的index.php?menu_id=3,运行所见即所得的现有输出,新闻模块,论坛等,并做一些str_replace或其他字符串操作(我认为这将是一个相当乏味和无聊的过程),或者我应该简单地挂钩,并抛出一个301重定向index.php?menu_id=3到/news,谷歌(或其他搜索引擎)会惩罚我在菜单中有301吗?
发布于 2010-04-27 21:23:59
301是一个永久的重定向,搜索引擎可以理解它们。他们不会因为你的301分而惩罚你。
我的建议--两者兼而有之。对于控件中的页,请修改urls。对于那些你无法控制的网站(第三方博客,其他网站等)和你自己的网页来说,301就足够了。
301也有性能方面的问题,所以尽量避免使用它们。但如果你别无选择,那也没关系。
发布于 2010-04-27 23:16:52
301重定向在这种情况下是正确的行为,因为资源已经“移动”了,谷歌根本不应该惩罚你。
发布于 2010-04-27 23:20:18
我建议您尝试使用简单的清理过程来替换尽可能多的。我也遇到了同样的问题,并通过...
1)检测对旧URL的请求并发出301重定向(特别适用于指向页面的外部链接)
2)任何自动生成的URL (如菜单)都会随着代码的更改而更新,以生成友好的URL
3)对于WYSIWYG,我对所有内容执行了一次清理,用新的友好URL替换旧的URL,这意味着发送到客户端的重定向更少,状态栏中也不会显示“旧”样式的URL。
https://stackoverflow.com/questions/2719563
复制相似问题