Nous avons récemment rencontré un problème où nous avons ajouté une variable JavaScript (par exemple var GLOBAL_VAR = true;
) à une page HTML (par exemple /Search/Index
) et mis à jour le fichier JS distinct (par exemple /Scripts/search/index.js
) pour y accéder et l'utiliser. JS variable. Après avoir publié ces modifications en direct sur le Web, nous avons commencé à obtenir des erreurs JS générées par Googlebot qui nous sont envoyées par notre fonction window.onerror
. Les erreurs sont comme:
Uncaught ReferenceError: GLOBAL_VAR n'est pas défini.
Ligne 1
Lorsque je visite la page/Search/Index sur notre site, je vois clairement que la nouvelle variable JS est présente et définie.
C'est presque comme si lorsque Googlebot explorait notre site, il ne détectait pas que la page HTML avait été modifiée. Cela signifie donc qu'il utilise l'ancien code HTML en cache, qui n'inclut pas le paramètre de la variable GLOBAL_VAR
, ce qui provoque l'erreur JS.
Nous avons publié les modifications HTML/JS le 2/6 et nous obtenons toujours des erreurs JS à partir du 2/10. J'aurais pensé que Googlebot reconnaîtrait les modifications HTML maintenant. Nous n'avons jamais connu ce problème par le passé.
Pourquoi Googlebot ne met-il pas à jour son cache si le code HTML d'une page change? Plus important encore, comment pouvons-nous demander à Googlebot de détecter les modifications HTML et de mettre à jour leur cache, de sorte que nous ne puissions plus obtenir ces erreurs JS?
Le moyen le plus simple de résoudre ce problème consiste à mettre à jour vos fichiers JavaScript. Alors seulement les nouvelles pages vont chercher le nouveau JavaScript.