【发布时间】:2012-02-26 08:50:52
【问题描述】:
我有成千上万的个人资料 URL,目前看起来像这样:
view_profile.php?id=12345
将它们更改为以下内容对我有什么 SEO 好处:
member12345.htm
我可以在我的 .htaccess 文件中进行更改,但我很好奇是否需要它?
【问题讨论】:
-
交叉引用关闭链:create new page on user entry
我有成千上万的个人资料 URL,目前看起来像这样:
view_profile.php?id=12345
将它们更改为以下内容对我有什么 SEO 好处:
member12345.htm
我可以在我的 .htaccess 文件中进行更改,但我很好奇是否需要它?
【问题讨论】:
简单的解决方案编辑您的 .htaccess 文件:
RewriteEngine On
RewriteBase /
RewriteRule ^member([0-9]+)\.htm(l)?$ view_profile.php?id=$1 [L,NC]
#or /member-1234.html
RewriteRule ^member\-([0-9]+)\-([^/])\.htm(l)?$ view_profile.php?id=$1 [L,NC]
#or /member-1234-user-name/
RewriteRule ^member\-([0-9]+)\-([^/]+)/?$ view_profile.php?id=$1 [L,NC]
L 表示最后一条规则,所以如果正则表达式匹配,它将停在那里。
NC 表示不区分大小写,因此大写字母(如 ABC)与小写字母(如 abc)的处理方式相同。
【讨论】:
如果您希望在搜索引擎中找到这些成员页面,最好进行这样的更改。但仅移动数字将没有多大帮助。
要真正发挥作用,您需要在 URL 中加入有意义的词,例如member-12345-max-weller.htm 我的个人资料 ;-)
这是因为 Google & Co. 据称比动态页面更喜欢静态页面。
【讨论】:
是的,查询 url 不是 SEO 的最佳选择。
但你应该使用适当的 php url 映射器而不是 .htaccess。
看看Silex,url映射是它的核心功能之一。例如:
require_once __DIR__.'/silex.phar';
$app = new Silex\Application();
$app->get('/hello/{name}', function($name) use($app) {
return 'Hello '.$app->escape($name);
});
$app->run();
【讨论】:
是的,需要静态页面 url,以便机器人更有效地理解页面内容。使用 url 你还必须管理页面的标题和描述。用 .htaccess 文件重写 url 最好的选择。
【讨论】: