Google Crawler ne comprendra pas les cartes propres. Comment résoudre les problèmes?

J'ai trouvé des mots étranges (ont, ici, des images, désolé) qui étaient censés ne pas être sur mon site, étant pris comme mots-clés par le robot de Google

Premier site

Il semble que Google ait des erreurs lors de l'exploration de pages qui utilisent les cartes Google, donc il prend les cordes d'erreur en tant que mots clés géniaux!

J'utilise les openlayers pour afficher des cartes dans les deux sites. Le code est comme celui-ci

<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> 

Comment puis-je faire pour corriger cette "erreur" afin que Google Crawler puisse prendre du bon contenu à partir de mon site?

Bonus Google Search (pour montrer que les erreurs sont indexées)

recherche Google

MISE À JOUR, "Solution" appliquée:

J'ai eu une carte différente pour chaque page de mon site, j'ai fini par convertir toutes les cartes en images et je n'ai qu'une seule carte interactive où j'avais vraiment besoin d'une interaction avec les coordonnées et la cartographie. La solution que j'ai utilisée m'a amené à créer et à générer des cartes osm-statiques . J'espère que ça aide quelqu'un

Le site a eu plusieurs améliorations:

  • Débarrassez-vous de ces mots gênants dans les webmasters google.
  • SEO plus pertinent utilisant des images statiques avec l'attribut "alt" html img au lieu de la carte js "unindexable".
  • Chargement plus rapide de la page (débarrassé de toutes les bibliothèques de mappage et du chargement des tuiles).
  • Performance plus rapide (moins js à traiter par client)
  • Amélioration de l'expérience de l'utilisateur: la page de défilement a provoqué un zoom de carte au lieu de défiler réellement (vous pouvez penser que cela pourrait être résolu en désactivant le défilement de la carte pour zoomer, mais cela conduit à un utilisateur qui s'attend à zoomer la carte sur le défilement, les deux manières étaient correctes et fausses à En même temps ).

À la baisse, j'ai trouvé:

  • Moins d'interactivité utilisateur (page ennuyeuse).
  • Moins de contexte sur la carte (carte moins informative).

Ces deux choses pourraient être "réparées" en chargeant la carte lorsque l'utilisateur clique sur la carte img. Le mauvais côté est que si l'utilisateur clique sur la carte img involontairement, la charge de la carte peut être considérée comme un comportement inattendu par l'utilisateur.

Edit2

J'ai fait un projet opensource à partir de cela. Check-out! Https://github.com/jperelli/osm-static-maps

Malheureusement, j'ai vu cela aussi …

Mon hypothèse est que googlebot n'évalue pas complètement tout le code js sur une page, mais utilisera également des heuristiques. Obtenir ainsi aucune image (qui est indexée). Selon cette hypothèse, j'ai fait ce qui suit:

  1. Créez un div avec un ID "aléatoire" (pour la carte) et style = "afficher: aucun;";

  2. Créez une balise noscript avec une étiquette img avec la même ID "aléatoire" (j'ai utilisé une image de carte statique en tant que repli ici, ce qui est également bon en tant que non-js)

  3. Créez une fonction javascript (personnalisée) où l'ID unique doit être transmise pour initialiser votre carte et basculer le style d'affichage pour bloquer sur l'élément cartographique.

Jusqu'à présent, aucune des cartes «désolé, nous n'avons aucune image» est indexée.

J'espère que cela aide

Peut-être que vous pouvez ajouter des méta-tags plus spécifiques comme

 <meta name="geo.region" content="US-WA" /> <meta name="geo.placename" content="Snohomish" /> <meta name="geo.position" content="-57.954900;-34.917000" /> 

Ajoutant également la description méta de Matt Rowles et certains des filtres de mots dans Google Webmasters.

Cette réponse ne vous aidera pas à supprimer les mots des pages explorées, mais cela pourrait les empêcher d'être ajouté après le prochain démarrage.

Étant donné que votre problème pourrait être lié au fait que le robot ne peut pas charger une carte valide. Ce n'est pas exactement clair pourquoi il ne peut pas. Le fournisseur de carte pourrait bloquer googlebots.

Quoi qu'il en soit, si ce n'est pas trop dur, j'y reviens ici:

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

Créez une liste d'agents utilisateur écrit ici:

J'utiliserai 'Googlebot' comme exemple, mais vous devriez utiliser une liste avec tous les agents utilisateurs bloqués.

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

Google bot exécute JS afin qu'il ne soit pas possible de prévenir les erreurs dans le cas où Googleogle ne peut pas le charger.

Une chose que vous pouvez faire est de changer l'agent d'utilisation de votre navigateur pour «Googlebot» et de charger votre page. Si le fournisseur de carte empêche tout navigateur avec cet agent utilisateur, vous devriez voir exactement ce que googlebot voit. L'autre problème est que googlebot peut également avoir un délai d'attente pour éviter de charger trop de données et ne charge pas d'images.

L'ajout de protections pourrait aider à empêcher Google Bot de charger réellement la carte si le problème est vraiment dans la carte.

1) Peut-être configurer votre Meta Description dans vos balises <head> remplacera-t-il ceci:

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

2) Si la méta-étiquette ne fonctionne pas, je suggérerais que cela est probablement dû à la première chose dans le <body> rendu (ou plutôt tenté par l'aspect de votre capture d'écran) est un affichage de Maps avant Tout autre contenu étant chargé.

Par exemple, si vous placez une <div> ou <p> avec un contenu d'introduction sur votre site Web avant la carte dans votre <body> , vous pouvez éviter cela. Cependant, je ne suis pas vraiment sûr de cela, vous devrez tester et voir les résultats (nous tenir au courant).

Si vous prévoyez de le faire et souhaitez a) le Google Crawler de le récupérer encore et b) souhaite cacher le véritable bloc de mots lui-même des téléspectateurs ( style="display: none;" ou style="position: absolute; left:-9999px;" ), faites-le à votre discrétion ( plus d'informations ici ).

Avez-vous essayé d'ajouter des méta-tags de l'araignée, cela aide vraiment beaucoup à essayer dans la section de la tête.

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

L'araignée indexera maintenant votre site Web entier, indexera non seulement la première page Web de votre site Web, mais aussi toutes vos autres pages Web.

Essayez également de rendre votre description plus unique! Beaucoup plus puissant mais pas surdose de ces clés.

Merci

"Solution" appliquée:

J'ai eu une carte différente pour chaque page de mon site, j'ai fini par convertir toutes les cartes en images et je n'ai qu'une seule carte interactive où j'avais vraiment besoin d'une interaction avec les coordonnées et la cartographie. La solution que j'ai utilisée m'a amené à créer et à générer des données [osm-static-maps] [3]. J'espère que ça aide quelqu'un

Le site a eu plusieurs améliorations:

  • Débarrassez-vous de ces mots gênants dans les webmasters google.
  • SEO plus pertinent utilisant des images statiques avec l'attribut "alt" html img au lieu de la carte js "unindexable".
  • Chargement plus rapide de la page (débarrassé de toutes les bibliothèques de mappage et du chargement des tuiles).
  • Performance plus rapide (moins js à traiter par client)
  • Amélioration de l'expérience de l'utilisateur: la page de défilement a provoqué un zoom de la carte au lieu de défiler réellement (vous pouvez penser que cela pourrait être résolu en désactivant le défilement de la carte pour zoomer, mais cela conduit à un utilisateur qui s'attend à agrandir la carte sur le défilement, les deux manières étaient [ok et incorrect En même temps] [4]).

À la baisse, j'ai trouvé:

  • Moins d'interactivité utilisateur (page ennuyeuse).
  • Moins de contexte sur la carte (carte moins informative).

Ces deux choses pourraient être "réparées" en chargeant la carte lorsque l'utilisateur clique sur la carte img. Le mauvais côté est que si l'utilisateur clique sur la carte img involontairement, la charge de la carte peut être considérée comme un comportement inattendu par l'utilisateur.

Edit2

J'ai fait un projet opensource à partir de cela. Check-out! https://github.com/jperelli/osm-static-maps