我发现一些奇怪的单词(have,here,imagery,sorry)被谷歌爬虫作为关键词从我的网站抓取,但这些单词本不应该出现在我的网站上。
似乎谷歌在抓取使用谷歌地图的页面时出现了错误,因此将这些错误字符串视为重要关键词!
我在两个网站中都使用了openlayers来显示地图。代码如下:
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script src="http://maps.google.com/maps/api/js?v=3&sensor=false"></script>
<script type="text/javascript">
$(function() {
$("#mapOuter").html('<div class="thumbnail"><div id="map" style="height:250px"></div></div>')
map = new OpenLayers.Map("map")
//map.addLayer( new OpenLayers.Layer.OSM ("OpenStreeetMap") )
map.addLayer( new OpenLayers.Layer.Google("Google v3" ) )
vectors = new OpenLayers.Layer.Vector("vector")
map.addLayer( vectors )
map.addControl( new OpenLayers.Control.LayerSwitcher() );
map.addControl( new OpenLayers.Control.Navigation({documentDrag:true}) );
map.addControl( new OpenLayers.Control.PanZoom() );
var in_options = {
'internalProjection': map.baseLayer.projection,
'externalProjection': new OpenLayers.Projection("EPSG:4326")
};
var lon=-57.954900
var lat=-34.917000
map.setCenter(new OpenLayers.LonLat(lon, lat) // Center of the map
.transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
), 15 // Zoom level
)
});
</script>
如何修复此“错误”,以便Google爬虫可以从我的网站获取良好的内容?
奖励谷歌搜索(以显示这些错误已被索引)
更新,“解决方案”已应用:
我在网站中每个页面上都有一个不同的地图,最终我将所有地图都转换为图像,并只保留了一个互动地图,在那里我确实需要用户与坐标和映射相关的交互。我使用的解决方案导致我创建了一个开源的osm-static-maps。希望它能帮助别人!
该网站得到了多项改进:
- 摆脱了谷歌网络管理员中的这些尴尬词语。
- 使用具有“alt”HTML img属性的静态图像而不是“不可索引”的js地图来获得更相关的SEO。
- 更快的页面加载(摆脱了所有映射库和瓦片加载)。
- 更快的js性能(客户端需要处理更少的js)。
- 提高用户体验:滚动页面会导致地图缩放而不是实际滚动(您可以认为这可以通过禁用地图滚动以缩放来解决,但它会导致用户期望在滚动时缩放地图,两种方式都是对和错的)。
不利方面是:
- 更少的用户互动性(无聊的页面)。
- 地图上的上下文信息更少(信息较少的地图)。
这两件事可以通过在用户单击地图img时加载地图来“修复”。坏处是,如果用户无意中点击地图img,则可能会将地图加载视为用户的意外行为。
编辑2
我基于此做了一个开源项目。请查看!https://github.com/jperelli/osm-static-maps