Drupal本身就是相当搜索引擎友好(Search engine friendly)的,例如常常会有基于Drupal的站点的Google ranking在5甚至更高(小于10),而放置同样内容的其它CMS则要低的多。
不过,你还可以通过更改一些默认参数让Drupal更加搜索引擎友好。有很多Drupal的设置你都可以调节来使Drupal更加搜索引擎友好。
默认情况下,Drupal没有使用robots.txt文件,几乎所有搜索引擎都使用这个文件,作为允许管理员控制被索引内容的机制。
通过添加这个文件到你的站点服务器(虚拟目录)根目录,你可以引导搜索引擎的“机器人(Robots)”遍历你的站点或者禁止索引站点的某些部分。一个例子,你可以访问 http://drupal.org/robots.txt 来查看drupal.org的robots.txt文件。
如果你想要使用robots.txt文件,请按照下面的指导,更多详细信息可以访问 http://www.robotstxt.org
用下面的内容创建一个新文件,取名为“robots.txt”
# 小型 robots.txt # 关于此文件的更多信息可以在 http://www.robotstxt.org/wc/robots.html 找到 # 以井号(“#”)标记开始的行表示注释并可以被删除。 # 如果你的drupal站点在文档根目录下的某个子目录(如 /drupal) # 请在下面的路径前面添加子目录路径 # 要阻止某个特定机器人索引目录exampledir # 只要加入下面两行(删除#号) # user-agent: 特定机器人 # Disallow: /exampledir/ # 已知机器人列表可以在 http://www.robotstxt.org/wc/active/html/index.html 找到 # 可以访问 http://www.sxw.org.uk/computing/robots/check.html 进行语法检查 User-agent: * Crawl-Delay: 10 Disallow: /aggregator Disallow: /tracker Disallow: /comment/reply Disallow: /node/add Disallow: /user Disallow: /files Disallow: /search Disallow: /book/print
这个文件告诉索引机器人应该避免索引包含用户个人内容的页面,例如搜索页面,或者节点的“添加评论”表单。
很多机器人遵从“Crawl-Delay:”参数。如果Drupal站点在搜索引擎上很受欢迎,有更多的甚至超过访问者数量的机器人抓取你的站点而变得有攻击性,这种情况下最好减慢机器人的速度,在robots.txt添加如下的行:
User-Agent: *
Crawl-Delay: 10不管是“Slurp”(yahoo和altaVista的索引机器人)还是MSN使用的微软机器人都遵从这个参数,Googlebot还没有使用“crawl-delay”参数,但是可能会在下个版本中实现。
按需要修改好这个文件并保存,然后上传到你的网站服务器,并确保文件在你的网站(虚拟目录)的根目录下。如果你已经把Drupal安装到了子目录中(比如/drupal),那么修改robots.txt中的URL地址并替换服务器根目录的robots.txt文件——而不是放到drupal安装根目录。
现在注意访问你站点的机器人,过一段时间后,查看你的日志文件(logs)("来源日志(referrer log)")可以看到有多少来自搜索引擎的访问者。
这是一份我的robots.txt文件:
# AllTheWeb
User-agent: fast-webcrawler
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# AltaVista
User-agent: scooter
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# Googlebot
User-agent: googlebot
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# Looksmart
User-agent: wisenutbot
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
User-agent: zyborg
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# MSN
User-agent: msnbot
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# Yahoo Vertical Crawler
User-agent: yahoo-verticalcrawler
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# Exclude every other bot (hopefully)
User-agent: *
Disallow: /这是更合理的解决方案,我觉得。
不过,虽然有些离题,但是不要忘了禁止PHP会话的use_trans_sid来获得更干净的搜索引擎列表。