web-dev-qa-db-fra.com

Googlebot exécute-t-il Google Tag Manager?

Je voulais comprendre comment Googlebot (et d'autres robots d'exploration) explorait mon site. Spécifiquement si elle passe un document.referrer et si elle maintient les clés localStorage, j'ai donc implémenté un script via Google Tag Manager qui détecte ces robots et enregistre les données dans Logstash.

C’est la condition que j’utilise pour détecter les agents utilisateurs du robot (renvoie vrai pour les robots):

function() {
if(navigator.userAgent.indexOf('robot de Google') < 0 &&
   navigator.userAgent.indexOf('Googlebot') < 0 &&
   navigator.userAgent.indexOf('bingbot') < 0 &&
   navigator.userAgent.indexOf('msnbot') < 0 &&
   navigator.userAgent.indexOf('BingPreview') < 0 &&
   navigator.userAgent.indexOf('Yahoo! Slurp') < 0) {
      return false;
   } else {
      return true;
   }
}

Et c'est la balise qui envoie envoie une requête à Logstash via un pixel d'image sur l'événement GTM Pageview:

<script type="text/javascript">
(function (d) {

var pagePath = encodeURIComponent(document.location.pathname);
var pageReferrer = encodeURIComponent(document.referrer) || "null";
var userAgent = encodeURIComponent(navigator.userAgent);

var viewCount = Number(localStorage.getItem("preview_view_count")) + 1 || 1;
localStorage.setItem("preview_view_count", viewCount);

var js;
js = d.createElement('img');
js.style = 'display:none;';
js.alt = 'tracking img';
js.src = 'http://MY_LOGSTASH_ENDPOINT_DOMAIN/pixel.gif?EVENT=LogCrawl&USER_AGENT=' + userAgent + '&PAGE_PATH=' + pagePath + '&PAGE_REFERRER=' + pageReferrer + '&VIEW_COUNT=' + viewCount;
d.body.appendChild(js);
})(window.document);
</script>

Maintenant, lorsque je regarde Logstash, je ne vois que 40 occurrences au cours des 4 derniers jours de Googlebot, mais Search Console signale environ 50 000 pages explorées par jour.

Quelqu'un a-t-il déjà essayé de connecter Googlebot avec GTM? J'essaie de déterminer si mon script a un problème ou si Googlebot n'exécute pas le langage Javascript la plupart du temps.

Toutes les idées sont très appréciées. Merci.

3
Ralph

La console de recherche indique le nombre total de fichiers (!) Téléchargés ( source ). Cela inclut les fichiers JS/CSS/image, etc., et conduit à des nombres assez énormes, en fonction de la quantité de cache utilisée.

Vous pouvez donc obtenir des chiffres plus précis pour les pages HTML explorées en analysant les journaux de votre serveur (si vous faites cela: n'oubliez pas de vérifier les occurrences dans Googlebot, il existe de nombreux prétendants).

Concernant votre tag: GoogleStorage devrait prendre en charge le stockage local, mais il est peu probable qu'il fonctionne avec plusieurs impressions de page. Donc si vous prenez ces 40 hits directement de VIEW_COUNT, vous voudrez peut-être consulter votre journal et ajouter ces hits par vous-même.

(très intéressant!)

1
schwarzbrot