Подтвердить что ты не робот

Google искатель не поймет собственные карты. Как обходиться?

Я нашел странные слова, (вот, вот, изображения, извините), которые, как предполагалось, не были на моем сайте, будучи взятыми в качестве ключевых слов от искателя Google

first site

Похоже, что у Google возникают ошибки при сканировании страниц, использующих карты Google, поэтому он берет строки ошибок как отличные ключевые слова!

Я использую openlayers для отображения карт на обоих сайтах. Код похож на этот

<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script src="http://maps.google.com/maps/api/js?v=3&amp;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 мог получать хороший контент с моего сайта?

Бонусный поиск Google (чтобы показать, что ошибки индексируются)

Google search

UPDATE, применяется "Решение":

У меня была одна карта на каждую страницу на моем сайте, и я превратил все карты в изображения и только сохранил одну интерактивную карту, где мне действительно нужно взаимодействие с координатами и картографией. Решение, которое я использовал, привело меня к созданию и открытию osm-static-maps. Надеюсь, это поможет кому-то!

Сайт получил несколько улучшений:

  • Вы избавились от этих неудобных слов в веб-мастерах Google.
  • Более релевантный SEO с использованием статических изображений с атрибутом "alt" html img вместо "unindexable" js map.
  • Более быстрая загрузка страницы (избавилась от всех библиотек сопоставления и загрузки плит).
  • Более высокая производительность js (меньше js для обработки клиентом)
  • Улучшенный пользовательский интерфейс: прокрутка страницы вызывала изменение карты вместо фактической прокрутки (вы можете думать, что это можно решить, отключив прокрутку карты для увеличения, но это приведет к тому, что пользователь ожидает увеличения карты на прокрутке, в обоих направлениях нормально и неправильно в то же время).

С другой стороны, я обнаружил:

  • Меньше интерактивности пользователя (скучная страница).
  • Меньший контекст на карте (менее информативная карта).

Эти две вещи могут быть "исправлены" при загрузке карты, когда пользователь нажимает на карту img. Плохая сторона заключается в том, что если пользователь нажимает на карту img непреднамеренно, нагрузка на карту может рассматриваться как неожиданное поведение пользователя.

Edit2

Я создал проект с открытым исходным кодом. Проверять, выписываться! https://github.com/jperelli/osm-static-maps

4b9b3361

Ответ 1

"Решение":

У меня была одна карта на каждую страницу на моем сайте, и я превратил все карты в изображения и только сохранил одну интерактивную карту, где мне действительно нужно взаимодействие с координатами и картографией. Решение, которое я использовал, привело меня к созданию и открытию [osm-static-maps] [3]. Надеюсь, это поможет кому-то!

Сайт получил несколько улучшений:

  • Вы избавились от этих неудобных слов в веб-мастерах Google.
  • Более релевантный SEO с использованием статических изображений с атрибутом "alt" html img вместо "unindexable" js map.
  • Более быстрая загрузка страницы (избавилась от всех библиотек сопоставления и загрузки плит).
  • Более высокая производительность js (меньше js для обработки клиентом)
  • Улучшенный пользовательский интерфейс: прокрутка страницы вызывала изменение карты вместо фактической прокрутки (вы можете подумать, что это можно решить, отключив прокрутку карты для увеличения, но это приведет к тому, что пользователь ожидает увеличения карты на прокрутке, в обоих направлениях [ нормально и неправильно в то же время] [4]).

С другой стороны, я обнаружил:

  • Меньше интерактивности пользователя (скучная страница).
  • Меньший контекст на карте (менее информативная карта).

Эти две вещи могут быть "исправлены" при загрузке карты, когда пользователь нажимает на карту img. Плохая сторона заключается в том, что если пользователь нажимает на карту img непреднамеренно, нагрузка на карту может рассматриваться как неожиданное поведение пользователя.

Edit2

Я создал проект с открытым исходным кодом. Проверять, выписываться! https://github.com/jperelli/osm-static-maps

Ответ 2

К сожалению, я тоже это видел...

Мое предположение заключается в том, что googlebot не будет полностью оценивать весь код js на странице, но также будет использовать эвристику. Таким образом, получение изображений (которые индексируются). Исходя из этого предположения, я сделал следующее:

  • Создайте div с "случайным" идентификатором (для карты) и style = "display: none;"

  • Создайте тег noscript с тегом img в нем с SAME "случайным" идентификатором (я использовал изображение статической карты как резерв здесь, что также хорошо, как резерв no-js)

  • Создайте (настраиваемую) функцию javascript, где уникальный идентификатор должен быть передан для инициализации вашей карты и переключения стиля отображения на блок карты.

До сих пор ни одна из карт "жаль, что у нас нет изображений" индексируется.

Надеюсь, что это поможет

Ответ 3

возможно, вы можете добавить несколько более конкретные метатеги, такие как

<meta name="geo.region" content="US-WA" />



<meta name="geo.placename" content="Snohomish" />



<meta name="geo.position" content="-57.954900;-34.917000" />

также добавляет, что мета-описание Мэтта Роуля и некоторые фильтры слов в веб-мастерах Google.

Ответ 4

Этот ответ не поможет вам удалить слова обскакиваемых страниц, но это может помешать их добавить после следующего обхода.

Так как ваша проблема может быть связана с тем, что искатель не может загрузить действительную карту. Не совсем понятно, почему это невозможно. Поставщик карты может блокировать googlebots.

В любом случае, если это не слишком сложно, я бы посмотрел здесь:

https://support.google.com/webmasters/answer/1061943?hl=en

Создайте список агентов пользователя, написанных здесь:

В качестве примера я буду использовать "Googlebot", но вы должны использовать список со всеми заблокированными пользовательскими агентами.

if (navigator.userAgent !== 'Googlebot') {
   // load the map and other stuff
} else {
   // show a picture where the map should be or do nothing.
}

Google бот выполняет JS, поэтому он должен работать, предотвращая ошибки, если бот не может загрузить его.

Одна вещь, которую вы можете сделать, - это изменить свой пользовательский аккаунт браузера на "Googlebot" и загрузить свою страницу. Если поставщик карт предотвращает использование какого-либо браузера с этим пользовательским агентом, вы должны точно увидеть, что видит googlebot. Другая проблема заключается в том, что googlebot может также иметь некоторый тайм-аут, чтобы предотвратить загрузку слишком большого количества данных, и он не будет загружать изображения.

Добавление защитников может помочь предотвратить загрузку бота Google на самом деле, если проблема действительно на карте.

Ответ 5

1) Возможно, установка Meta Description внутри тэгов <head> приведет к этому:

<meta name="description" content="This is an example of a meta description. This will often show up in search results.">

2) Если метатег не работает, я бы также предположил, что это возможно из-за того, что первое, что отображается в <body> (или, скорее, попытка просмотра вашего снимка экрана), - это Карты пока не загрузится какой-либо другой контент.

Например, если вы поместите тег <div> или <p> с некоторым содержимым о вашем веб-сайте до на карте в <body>, вы можете избежать этого. Тем не менее, я не уверен в этом на 100%, вам придется протестировать и увидеть результаты (держать нас в курсе).

Если вы планируете сделать это и хотите, чтобы a) искатель Google все равно его подбирал и b) хотел скрыть фактический блок слов от зрителей (style="display: none;"или style="position: absolute; left:-9999px;"), сделайте это самостоятельно (подробнее здесь).

Ответ 6

Вы пытались добавить мета-теги-пауки, это действительно помогает много попробовать это в разделе главы.

<meta name="robots" content="index, follow">

Паук теперь проиндексирует весь ваш сайт, также будет не только индексировать первую веб-страницу вашего сайта, но и все ваши другие веб-страницы.

Также попробуйте сделать описание более уникальным! гораздо более мощные, но не передозировка этих ключей.

спасибо