【发布时间】:2010-10-27 10:37:33
【问题描述】:
我的 URL 看起来像“/pages.php?page=pageName”,因为我使用数据库来提供页面内容。将 URL 重写为“/pageName”之类的内容是否有助于搜索引擎找到页面?如果是这样,我该如何重写它们?
【问题讨论】:
标签: php url seo search-engine rewrite
我的 URL 看起来像“/pages.php?page=pageName”,因为我使用数据库来提供页面内容。将 URL 重写为“/pageName”之类的内容是否有助于搜索引擎找到页面?如果是这样,我该如何重写它们?
【问题讨论】:
标签: php url seo search-engine rewrite
这并不能帮助搜索引擎更轻松地找到页面(事实上,如果实施不当,可能会使搜索引擎更难抓取您的网站),但如果处理得当,它会使您的网页在相关方面获得更好的排名关键词
对于 PHP,请查看用于 Apache 的 mod_rewrite
我不是正则表达式专家,但它使用模式匹配规则来执行重写,网上会有很多关于 mod_rewrite 的文档和教程
【讨论】:
Google 的 SEO Guide 在“改进 URL 的结构”部分下提到了一些有关 URL 的提示。
【讨论】:
也许更好的问题是“重写 URL 是否有助于用户在搜索引擎中找到页面?”。答案是“是”。例如,假设您的页面内容讨论了海豚。 Google 将“海豚”这个搜索词的权重放在:
/Dolphins.php
比
/pages.php?page=1323
您会发现这是大多数现代网站正在做的事情(包括 stackoverflow)。
【讨论】:
它可能不会帮助爬虫找到页面,但它可能会对如何对它们进行排名产生积极影响,因为更好的 URI 通常会获得更好的排名(当然,在其他条件相同的情况下)。将它们永久保存也很好。
关于您如何在 Apache 世界中拥有 mod_rewrite 和在 IIS 世界中拥有一些 other options。
示例(Apache 的语法):
RewriteEngine On
RewriteRule ^(.*)$ pages.php?page=$1
这会将 URI 中域名之后的所有内容(关于尾部斜杠有一个警告)作为页面参数传递给 pages.php。
这是
http://yourdomain.com/bears
将返回由
提供的内容http://yourdomain.com/pages.php?page=bears
【讨论】:
$_SERVER['REQUEST_URI'] 变量访问请求的 URI 路径和查询。
它不会帮助搜索引擎更容易地找到它们。为确保搜索引擎找到您的网页,您可以做的最重要的两件事是:
创建一个sitemap,在你的robots.txt中引用它,然后用Google WebMaster tools注册它
确保您确实有指向您网站上所有页面的可抓取的非 JavaScript 链接(最好是文本链接)。
【讨论】:
您可以在站点根目录中创建 .htaccess 文件并将其添加到文件中:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^/pages/(.*) pages.php?page=$1
【讨论】:
搜索引擎会喜欢您的网页更多。如果有一个动态的文件结尾和一个查询字符串,大多数搜索引擎认为它是一个动态页面,它很快就会改变,因此不会像静态页面那样排名。
然后你已经完成了重写,你可以很容易地在你的 PHP 中解析它并用 php 决定你的 url 结构。
【讨论】:
【讨论】:
想强调页面扩展的必要性,例如.html 以及 url 中的斜线被解释为站点“树形图”中的虚拟目录路径。
Keltex 在 category.html 等路径中所说的“权重”比 /category/subcategory.html 更多
无论如何,必须实施友好的网址以及站点地图。所有这些与基本的 SEO 标题相结合,正确的标题会给你一个很好的结果。
【讨论】:
出于 SEO 目的,最好在 URL 中包含您的关键字。但是,如果它已经是已发布的页面,请确保在进行更改之前设置从现有 URL 到新 URL 的重定向。没有人喜欢broken link。
【讨论】: