Продукт CMS, над которым я работаю, имеет интеграцию с Google Maps для адресов, и это действительно простая стандартная настройка (немного упрощенная для ясности здесь):
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc = results[0].geometry.location;
initMap(loc); // renders map into DOM
} else {
var errorMessage = 'We\'re sorry, our request for a map showing "' + address + '" failed. Google Maps may be down, or the address may be incorrect.';
// render errorMessage into the DOM
}
});
В последнее время некоторые клиенты отмечают, что, хотя карта отлично работает на своих страницах, в описании результатов поиска Google для этой страницы отображается errorMessage
. Похоже, что робот Google выполняет запрос геокодера, но он не работает, а затем сообщение об ошибке индексируется.
Это возможные результаты, определенные в google.maps.GeocoderStatus
:
{
"OK": "OK",
"UNKNOWN_ERROR": "UNKNOWN_ERROR",
"OVER_QUERY_LIMIT": "OVER_QUERY_LIMIT",
"REQUEST_DENIED": "REQUEST_DENIED",
"INVALID_REQUEST": "INVALID_REQUEST",
"ZERO_RESULTS": "ZERO_RESULTS",
"ERROR": "ERROR"
}
Просто исходя из этих имен, наш подход кажется мне вполне подходящим - там нет сообщения о статусе, которое кажется идентифицированным как трафик ботов, и мы предпочитаем определять, для наших клиентов и посетителей их сайтов, что карта должна отображаться там, и для ее исправления могут потребоваться какие-то действия.
Можем ли мы обработать этот сценарий таким образом, чтобы сообщение об ошибке не индексировалось как содержимое страницы и не включалось в результаты поиска?
Похоже, что это скорее проблема с роботом / индексатором Google, чем с API геокодирования, но с тегами обоих в надежде найти ответ.