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