针对kml文件类型的搜索引擎优化

时间:2009-12-09 09:37:09

标签: php seo kml

我有一个生成kml文件的网站。像这样的uri: / tokml?GID = 2846

生成如下文件: 公吨。 Dana Summit Trail.kml

在PHP脚本中使用Header('Content-Disposition: inline; filename="Mt. Dana Summit Trail.kml"');并在Apache http服务器上运行。

但是对于filetype:kml的Google搜索不会从我的网站上获得任何结果。我可以缓存所有kml文件并构建一个像这样的uri:/ kml / Mt. Dana Summit Trail.kml

但还有其他解决方案吗?

1 个答案:

答案 0 :(得分:2)

根据我的经验,Google通常会在查询字符串中使用标识符对索引进行索引 - 因此,在搜索filetype:kml时,似乎没有任何内容显示出来。如果您可以发布相关网站的链接,或者将请求的响应标头的完整副本提供给/tokml?gid=2846,那将是很好的 - 这些标题中可能隐藏了某种“阻止程序”。 / p>

为每个文档分配“真实”URL(没有查询字符串参数)通常是个好主意,您不需要对KML文件进行磁盘缓存来实现此目的。如果您的PHP应用程序托管在Apache上,您可以让mod_rewrite将漂亮的URL转换为查询字符串版本,方法是将其包含在应用程序的.htaccess文件中:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^kml/([^.]+)\.kml$ tokml?slug=$1 [NC]

您可能希望在数据模型中添加一个额外字段,以便为每个KML文件保存“url slug”。该值通常与文件名几乎相同,但都是小写的,没有任何特殊字符 - 例如。 mt-dana-summit-trail。通过在URL中使用此字段而不是实际名称,用户和漫游器将避免看到充满丑陋编码字符值的网址。

每当您写出指向KML文件的链接时,请使用新的URL样式:

<a href="/kml/mt-dana-summit-trail.kml">Mt. Dana Summit Trail</a>

tokml脚本中,然后检索slug查询字符串键,并在查找相关数据对象时使用此代码而不是gid。注意重写规则如何捕获url slug并将其作为一个老式的查询字符串参数传递给脚本。