2013-07-02 2 views
12

я обнаружил странные слова, (которые, вот, образность, извините), что, как предполагалось, не быть на моем сайте, принимаются в качестве ключевых слов искателем от 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 может занять хорошее содержание с моего сайта?

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

Google search

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

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

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

  • избавились от этого неудобных слов в Google веб-мастеров.
  • Более релевантный SEO с использованием статических изображений с атрибутом «alt» html img вместо «unindexable» js map.
  • Более быстрая загрузка страницы (избавилась от всех библиотек сопоставления и загрузки плитки).
  • Ускоренное js-производительность (меньше js для обработки клиентом)
  • Усовершенствованный пользовательский интерфейс: прокрутка страницы вызывала изменение карты вместо фактической прокрутки (вы можете думать, что это можно решить, отключив прокрутку карты для увеличения, но это приведет к пользователь, ожидающий масштабирования карты на прокрутке, в обоих направлениях был ok and wrong at the same time).

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

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

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

Edit2

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

ответ

0

«Решение» применяется:

У меня был одна другой карты за каждую страницу на моем сайте, я в конечном итоге преобразовать все карты с изображениями и только держать одну интерактивную карты, где я действительно необходимо взаимодействие с координатами и картографией. Решение, которое я использовал, привело меня к созданию и открытию [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

1

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%, вам придется протестировать и увидеть результаты (держите нас в курсе).

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

+0

1) Я попробовал это, чтобы «переопределить» ключевые слова, но он, похоже, не работает. Я думаю, что проблема возникает при запуске javascript (потому что плохие сгенерированные карты каким-то образом разбираются с искателем). Обратите внимание, что странные слова не являются частью письменного содержимого сайта. – jperelli

+0

2) Я понял, что у меня есть другой сайт с этой же проблемой, и у него больше контента до рендеринга карты. Это похоже на то, что эти слова отображаются вместо всех фрагментов карты, поэтому они повторяются слишком много раз и в конечном итоге становятся более актуальными, чем фактическое содержимое страницы, независимо от того, существует ли реальный контент до – jperelli

2

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

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



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



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

также добавив, что такое Мэтт Rowles мета описание и некоторые из слов фильтров в Google Вебмастера.

+0

. t найти «фильтры слов» в Google Webmasters, но это похоже на возможное решение! – jperelli

+0

Возможно, вы просматриваете эту страницу на Google Google, ее соответствие руководству веб-мастеров для достижения необходимого вам качества [link] https://support.google.com/webmasters/answer/35769?hl=ru – Hashes

2

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

Поскольку ваша проблема может быть связана с тем, что искатель не смог загрузить действительную карту. Не совсем понятно, почему это невозможно. Поставщик карты может блокировать 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 поэтому он должен работать ошибки, мешающие в случае, если бот Google не может загрузить его.

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

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

+0

Может ли это влияние на снижение PageRank? из-за попытки скрыть (обманывать) контент от пользователяAgent – jperelli

+0

Ну, это сложно сказать. Я ожидаю, что googlebot оценит страницу по ее содержимому, а не как загружается страница. Если загруженный контент имеет значение. Он не должен менять ранг страницы. Изображение или карта не должны иметь большого влияния. Я не ожидаю, что googlebot передаст изображения в OCR, чтобы индексировать контент внутри изображений, но кто знает. Во всяком случае, на мой взгляд, на самом деле важно, чтобы контент был загружен после загрузки страницы. Как он загружается, не имеет значения. –

0

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

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

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

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

благодаря

3

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

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

  1. Создать DIV с «случайной» ID (для карты) и стиль = «дисплей: нет;»

  2. Создать NoScript тег с IMG тег в нем с той же «случайной» ID (я использовал статическое изображение карты в качестве запасного варианта здесь, который также хорошо, как и не-JS запасной вариант)

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

Пока что ни одна из карт «извините, у нас нет изображений» будет проиндексирована.

Надеется, что это помогает

+0

Отличный ответ. Я не понимаю, что это «тот же идентификатор». Разве это не приведет к проблемам с проверкой html? Или он должен иметь один и тот же идентификатор, потому что он находится внутри тега noscript, таким образом, делая переписку с использованием идентификатора? Другое дело, почему это должно быть случайным? – jperelli

+1

Мое предположение заключалось в том, что, поскольку google индексирует теги noscript, он увидит «новый» элемент с идентификатором, если он попытается создать карту на теге img, это провалится. Поскольку googlebot (предположительно) по-прежнему не всегда заполняет оценку JavaScript (но частично), использование случайных идентификаторов делает частичную оценку более сложной. Вы также можете попробовать с не случайным идентификатором –

Смежные вопросы