【问题标题】:SEO for PHP URLs?PHP URL 的 SEO?
【发布时间】:2012-02-26 08:50:52
【问题描述】:

我有成千上万的个人资料 URL,目前看起来像这样:

view_profile.php?id=12345

将它们更改为以下内容对我有什么 SEO 好处:

member12345.htm

我可以在我的 .htaccess 文件中进行更改,但我很好奇是否需要它?

【问题讨论】:

标签: php seo


【解决方案1】:

简单的解决方案编辑您的 .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)的处理方式相同。

【讨论】:

【解决方案2】:

如果您希望在搜索引擎中找到这些成员页面,最好进行这样的更改。但仅移动数字将没有多大帮助。

要真正发挥作用,您需要在 URL 中加入有意义的词,例如member-12345-max-weller.htm 我的个人资料 ;-)

这是因为 Google & Co. 据称比动态页面更喜欢静态页面。

【讨论】:

  • 我想我的下一个问题是 .htaccess 会是什么样子?
  • @Paul 我认为 “我可以在我的 .htaccess 文件中进行更改” 意味着您可以处理其中的那一部分。如果您需要知道如何编辑您的 .htaccess 来完成此操作,请先进行一些谷歌搜索并尝试自己学习。如果你不能让它工作,然后发布另一个问题。
  • 我可以做到...我应该更清楚。我猜这更像是一个 PHP 问题。一切就绪,谢谢!
  • @Paul 如果您的问题得到了回答,请标记答案。
  • “静态页面优于动态页面”这不是由文件的扩展名决定的,而是由服务器的标头响应决定的。在重写的情况下,它们在这些方面是相同的。
【解决方案3】:

是的,查询 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(); 

【讨论】:

    【解决方案4】:

    是的,需要静态页面 url,以便机器人更有效地理解页面内容。使用 url 你还必须管理页面的标题和描述。用 .htaccess 文件重写 url 最好的选择。

    【讨论】:

      猜你喜欢
      • 2016-04-13
      • 2011-05-09
      • 2018-05-22
      • 2012-08-21
      • 2014-10-18
      • 2014-05-19
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      相关资源
      最近更新 更多