纠正与Google搜索有关的JavaScript问题

纠正与Google搜索有关的JavaScript问题

本指南将帮助您确定和解决JavaScript的问题,该指南可以阻止您的页面或与JavaScript一起搜索Google的页面上的某些内容。尽管Google搜索可以处理JavaScript,但在开发页面和应用程序以考虑Google机器人如何获得访问和显示您的内容时,要考虑一些差异和限制。我们关于JavaScript SEO基础知识的指南提供了有关如何使用JavaScript优化网站的更多信息。

了解Googlebot的工作及其与您在Google网站的互动

Googlebot旨在成为真正的网络用户。主要的任务是扫描,而GoogleBot应避免在网站上使用用户体验恶化。 Googlebot及其Web渲染服务(WRS)组件正在不断分析和识别不影响页面主要内容并且可能不会加载的资源。例如,对于主要内容而言,报告和错误不重要。使用搜索控制台中扫描统计信息的报告来监视Googlebot和WRS在Google网站上的活动。

检查和纠正您网站上的JavaScript错误影响Google搜索

如果您怀疑JavaScript问题可以通过显示搜索Google的JavaScript在页面上阻止您的页面或页面上的特定内容,请执行以下步骤。如果您不确定是JavaScript是主要原因,请按照我们的一般调试手册来确定特定问题。

  • 要测试Google扫描和显示URL的方式,请在搜索控制台中使用Rich Rusticy测试工具或URL测试工具。您可以看到加载的资源,JavaScript控制台的输出以及异常,独立的DOM和许多其他有用的信息。
  • 此外,建议收集和检查用户在您的网站上所面临的JavaScript错误,以确定影响内容渲染的可能问题。用于记录JavaScript错误的代码的一个示例可以在全局OnError中使用:
window.addEventListener('error', function(e) {
 var errorText = [e.message, 'URL: ' + e.filename, 'Line: ' + e.lineno + ', Column: ' + e.colno, 'Stack: ' + (e.error && e.error.stack || '(no stack trace)')].join('
');
 var DOM_ID = 'rendering-debug-pre';
 if (!document.getElementById(DOM_ID)) {
 var log = document.createElement('pre');
 log.id = DOM_ID;
 log.style.whiteSpace = 'pre-wrap';
 log.textContent = errorText;
 if (!document.body) document.body = document.createElement('body');
 document.body.insertBefore(log, document.body.firstChild);
 } else {
 document.getElementById(DOM_ID).textContent += '

' + errorText;
 }
});

预防错误404及其对您网站在Google中的影响

应特别注意防止“软404”之类的错误,尤其是如果您的网站使用单个页面应用程序(SPA)。为了使错误不会被搜索引擎索引,请使用以下策略:

  • 如果不存在内容,则重定向具有状态代码404的页面:
  •  fetch(`https://api.example.com/page/${id}`).then(res => res.json()).then((page) => {
     if (!page.exists) {
     window.location.href = '/not-found';
     }
     });
     
  • 使用具有NOINDEX参数的元标记机器人:
  •  fetch(`https://api.example.com/page/${id}`).then(res => res.json()).then((page) => {
     if (!page.exists) {
     const metaRobots = document.createElement('meta');
     metaRobots.name = 'robots';
     metaRobots.content = 'noindex';
     document.head.appendChild(metaRobots);
     }
     });
     

如果您的水疗应用程序使用客户端JavaScript处理错误,那么当错误页面符合200的状态而不是所需的错误代码时,通常会出现问题。

使用用户许可及其对您的Google网站的影响

GoogleBot将无法提供访问诸如使用相机或其他用户分辨率之类的功能的权限。如果您的页面需要提供此类许可以访问内容,请为用户提供另一种查看的方式,而无需提供许可证。

使用网站中的URL片段及其对Google搜索可见性的影响

先前使用URL片段的方法(例如,https://example.com/#/products)不再支持扫描GoogleBot,自2015年以来,Ajax-Crawling方案已停止。建议将历史API用于SPA中的动态内容加载,而不是URL片段。

有关缓存和使用您在网站上的数据的建议,以改善Google的索引

为避免缓存问题,请使用内容打印。这将避免使用过时的JavaScript或CSS资源,GoogleBot将始终接收相关文件。一个示例是用作main.2bb85551.js中的内容版本文件。有关长期缓存策略的详细信息在Web.dev上阅读。

使用Web组件在Google中检查网站的性能

使用富含结果测试工具或URL测试工具检查您的Web组件是否正确渲染。重要的是要记住,WR可能不支持与DOM合作的某些机制,例如一种机制 对于光和阴影dom。如果网站的组件不使用它,请联系文档以消除可能的问题。

在您的网站上进行更正后的页面测试以在搜索Google中显示

纠正指示问题后,请再次使用Rich结果测试或Google搜索控制台中的URL测试工具进行测试。如果解决了问题,您将看到一个绿色的选中标记,并且不会显示错误。如果存在错误,请向搜索中央社区寻求帮助。

有关其他问题和咨询,您可以通过邮件与SEO.com.computer SEO公司联系 info@seo.computer 或通过whatsapp: +79202044461

ID 115

发送请求,我们将提供咨询 在 谢奥 推广您的网站