谷歌搜索引擎优化指南 谷歌搜索引擎优化指南 谷歌搜索引擎优化指南 谷歌搜索引擎优化指南
  • 首页
  • 谷歌SEO工具
    • 关键词工具
    • 内容SEO工具
    • 链接查询分析工具
    • 排名监控工具
    • 网站SEO分析工具
    • 谷歌浏览器SEO插件
  • WordPress主题
  • WordPress插件
  • 谷歌SEO优化官方文档
  • 排行榜
  • 提交工具
谷歌搜索引擎优化指南 谷歌搜索引擎优化指南
  • 首页
  • 谷歌SEO工具
    • 关键词工具
    • 内容SEO工具
      • AI写作工具
    • 链接查询分析工具
    • 排名监控工具
    • 网站SEO分析工具
    • 谷歌浏览器SEO插件
  • WordPress主题
    • WordPress插件
  • 谷歌SEO优化指南
    • Google搜索要素
    • SEO基础知识
    • Google抓取和编入索引
    • Google排名和搜索结果呈现
      • 排名算法系统
      • 结构化数据
      • 页面体验
    • 监控和调试
    • 针对特定网站的指南
  • 谷歌SEO技术
    • 谷歌SEO入门教程
  • SEO工具使用指南

谷歌SEO优化指南(新版)

  • 谷歌搜索引擎优化(SEO)简介
  • Google搜索要素
    • Google 搜索要素概览
    • Google 搜索技术要求
    • 适用于 Google 网页搜索的垃圾内容政策
  • SEO基础知识
    • 使您的网站显示在 Google 搜索结果中
    • 关于 Google 搜索运作方式的深度指南
    • 创建实用、可靠、以用户为中心的内容
    • 谷歌搜索引擎优化 (SEO) 新手指南
    • 您需要 SEO 吗?什么是 SEO 专家?
    • 维持网站的SEO效果(技术型SEO技巧与策略)
    • Google 搜索使用入门:开发者搜索指南
  • Google抓取和编入索引
    • 抓取和索引编制主题概览
    • Google可编入索引的文件类型
    • GoogleSEO网址结构最佳实践(Google网址结构准则)
    • GoogleSEO链接最佳实践(内链、外部链接)
    • 关于移动网站和优先将移动版网站编入索引的最佳实践
    • 站点地图Sitemap
      • 了解站点地图(什么是站点地图Sitemap)
      • 创建和提交站点地图(Sitemap格式规范)
      • 使用站点地图索引文件管理站点地图(拆分较大的站点地图)
      • 图片站点地图格式和规范
      • Google新闻站点地图格式和规范
      • 视频站点地图和替代方案(视频站点地图示例)
      • 如何结合使用站点地图扩展
    • 抓取工具管理
      • 请求 Google 重新抓取您的网站网址
      • 减慢Googlebot的抓取速度
      • 验证Googlebot和其他Google抓取工具
      • 面向大型网站所有者的抓取预算管理指南
      • HTTP 状态代码以及网络连接错误和 DNS 错误对 Google 搜索有何影响
      • Google抓取工具和抓取器(用户代理)概览
      • Googlebot-什么是Googlebot
      • Google Read Aloud 用户代理
      • APIs-Google 用户代理
      • Feedfetcher
    • Robots.txt
      • Robots.txt简介与指南
      • 如何编写和提交robots.txt文件(robots协议规则写法)
      • 更新robots.txt文件
      • Google如何解读robots.txt规范
    • 网址规范化
      • 什么是网址规范化
      • 如何使用rel=”canonical”及其他方法指定规范网址
      • 解决规范化问题
    • AMP
      • 与 Google 搜索中的 AMP 网页相关的准则
      • 了解AMP在搜索结果中的运作原理
      • 增强在Google搜索结果中显示的AMP内容
      • 验证AMP内容是否可以显示在Google搜索结果中
      • 从 Google 搜索结果中移除 AMP 网页
    • JavaScript
      • 了解JavaScriptSEO基础知识
      • 解决与 Google 搜索相关的 JavaScript 问题
      • 修正延迟加载的网站内容
      • 将动态呈现作为临时解决方法
    • 网页和内容元数据
      • Google搜索的有效页面元数据
      • Google支持的meta标记和属性
      • 漫游器元标记规范(Robots meta标记、data-nosnippet和X-Robots-Tag规范)
      • 使用noindex阻止搜索引擎编入索引
      • 安全搜索功能和您的网站
      • 向Google说明您的出站链接的用意(rel属性)
    • 删除
      • 控制您在Google搜索中分享的内容
      • 从Google搜索结果中移除您网站上托管的网页
      • 从搜索结果中移除您网站上托管的图片
      • 让隐去的信息不显示在 Google 搜索中
    • 网站迁移和变更
      • 重定向和Google搜索
      • 网站更换托管服务提供商或迁移到内容分发网络 (CDN)
      • 在更改网址的情况下迁移网站
      • 有关在Google搜索中进行A/B测试的最佳实践
      • 暂停或停用网站
  • Google排名和搜索结果呈现
    • Google搜索结果呈现 主题概览
    • AI概览和您的网站
    • Google搜索的视觉元素库
    • Google搜索结果中的标题链接(Title)
    • Google搜索结果中的摘要(如何撰写元描述)
    • 图片搜索引擎优化 (SEO) 最佳实践
    • 视频搜索引擎优化 (SEO) 最佳实践
    • 影响您在Google搜索中的署名日期
    • 定义要在搜索结果中显示的网站图标(Favicon)
    • 经过翻译的功能-1 Google搜索中的翻译搜索结果
    • 经过翻译的功能-2 让广告网络能够使用与翻译相关的Google搜索功能
    • 精选摘要和您的网站
    • 使内容出现在Google探索中
    • Google搜索结果中的网站名称
    • 搜索结果中的站点链接
    • 在Google上启用网络故事、创建网络故事的最佳做法及内容政策
    • 实施灵活抽样时需遵循的常规指南
    • 本地功能-1 向Google添加商家详情
    • 本地功能-2 热门地点列表优化
    • 本地功能-3 退出Google Local
    • Google搜索和您网站上的备注(实验性功能)
    • “包裹跟踪”功能尝鲜者计划
    • 排名系统
      • Google搜索排名系统指南
      • Google搜索实用内容系统
      • Google搜索的评价系统
    • 页面体验
      • 了解Google搜索结果中的网页体验
      • 了解核心网页指标和Google搜索结果
      • 避免使用干扰性插页式广告和对话框
      • 在Google搜索中使用 Signed Exchange
    • 结构化数据
      • Google搜索中的结构化数据标记简介及其运作方式
      • 结构化数据常规指南
      • 丰富且互动的搜索结果
      • 使用 JavaScript 生成结构化数据
      • Google搜索支持的结构化数据标记(结构化数据列表)
      • 文章(Article、NewsArticle、BlogPosting)结构化数据
      • 图书操作 (Book) 结构化数据
      • 面包屑导航 (BreadcrumbList) 结构化数据(路径)
      • 轮播界面 (ItemList) 结构化数据
      • 课程信息(Course 和 CourseInstance)结构化数据
      • 课程列表 (Course) 结构化数据
      • 数据集(Dataset、DataCatalog、DataDownload)结构化数据
      • 论坛 (DiscussionForumPosting) 结构化数据
      • 知识问答(Quiz、Question 和 Answer)结构化数据
      • 雇主总体评分 (EmployerAggregateRating) 结构化数据
      • 估算工资 (Occupation) 结构化数据
      • 活动 (Event) 结构化数据
      • 事实核查 (ClaimReview) 结构化数据
      • 常见问题解答FAQ(FAQPage、Question、Answer)结构化数据
      • 居家活动 (VirtualLocation) 结构化数据
      • Google 图片中的图片元数据
      • 职位搜索的招聘信息 (JobPosting) 结构化数据
      • 学习视频(LearningResource、VideoObject、Clip)结构化数据
      • 本地商家 (LocalBusiness) 结构化数据
      • 数学求解器 (MathSolver) 结构化数据
      • 影片轮播界面 (Movie) 结构化数据
      • 单位组织 (Organization) 结构化数据
      • 练习题 (Quiz) 结构化数据
      • 产品/商品(Product、Review、Offer)结构化数据简介-0
      • 产品/商品(Product、Review、Offer)结构化数据-1商品摘要
      • 产品/商品(Product、Offer)结构化数据-2商家信息
      • 产品/商品结构化数据(ProductGroup、Product)-3变体(商品款式/规格)
      • 个人资料页面 (ProfilePage) 结构化数据
      • 问答 (QAPage) 结构化数据
      • 食谱(Recipe、HowTo、ItemList)结构化数据
      • 评价摘要(Review、AggregateRating)结构化数据
      • 站点链接 (WebSite) 结构化数据
      • 软件应用 (SoftwareApplication) 结构化数据
      • 订阅和付费内容结构化数据 (CreativeWork)
      • 民宿 (VacationRental) 结构化数据
      • 车辆详情 (Car) 结构化数据
      • 视频(VideoObject、Clip、BroadcastEvent)结构化数据
      • 可朗读(Article、WebPage)结构化数据(Beta 版)
      • COVID-19 通知 (SpecialAnnouncement) 结构化数据(Beta 版)
  • 监控和调试
    • 调试 Google 搜索流量下降问题
    • 通过Search Console进行监控
      • Search Console使用入门
      • 利用Search Console气泡图改进搜索引擎优化 (SEO) 效果
    • 使用搜索运算符进行调试
      • Google 搜索运算符概览
      • site: 搜索运算符
      • cache: 搜索运算符
      • Google图片src: 搜索运算符
    • 预防和监控滥用行为
      • 预防和监控网站上的滥用行为概览
      • 防止网站和平台存在用户生成的垃圾内容
      • 恶意软件和垃圾软件
      • 防止感染恶意软件
      • 社会工程学(钓鱼式攻击和欺骗性网站)
      • Google安全浏览屡次违规网站政策
  • 针对特定网站的指南
    • 电子商务网站
      • 在Google搜索中推广电子商务网站的最佳做法 概览
      • 电子商务内容可以展示在Google上的什么位置
      • 与 Google 分享商品数据
      • 添加电子商务网站的结构化数据
      • 如何在Google上发布新的电子商务网站
      • 撰写优质评价
      • 设计电子商务网站的网址结构
      • 电子商务网站导航结构
      • 分页和增量加载以及它们对 Google 搜索的影响
    • 国际网站和多语言网站
      • 国际性和多语言网站主题概览
      • 管理多区域网站和多语言网站
      • 将网页的本地化版本告知Google
      • Google如何抓取语言区域自适应网页

Google搜索引擎优化 (SEO) 指南(旧版)

  • 谷歌搜索引擎优化(SEO)简介
  • Google搜索基础知识
    • 1.快速入门:了解 Google 搜索的基础知识
    • 2.在 Google 上占有一席之地
    • 3.搜索的工作方式(面向新手)
    • 4.针对搜索引擎优化您的网站
    • 5.衡量您的网站在 Google 上的效果
  • Google新手SEO
    • 1.Google搜索新手入门指南
    • 2.Google 搜索的工作方式
    • 3.Google搜索引擎优化 (SEO) 新手指南
    • 4.您需要 SEO 吗?
    • 5.在 Google 上建立商家详情
    • 6.谷歌站长工具Search Console 新手指南
  • Google高级SEO
    • 1.Google高级SEO使用入门
    • 2.进阶内容:Google 搜索的运作方式
    • 3.Google 搜索使用入门:开发者指南
    • 4.谷歌站长工具Search Console 高级指南
    • 5.Google优化指南
      • 5.1Google优化指南概览(目录)
      • 5.2Google网站站长指南
      • 5.3Google常规指南
        • 5.3-1保持简单的网址结构
        • 5.3-2向 Google 说明您的出站链接的用意
        • 5.3-3将网站标记为面向儿童的内容
        • 5.3-4浏览器兼容性
        • 5.3-5避免创建重复内容
        • 5.3-6确保链接可供抓取
        • 5.3-7确保 Googlebot 未被阻止
        • 5.3-8借助 Google 搜索进行网站测试的最佳做法
      • 5.4针对特定内容的指南
        • 5.4-1Google图片最佳做法
        • 5.4-2Google视频最佳做法
        • 5.4-3Google有关富媒体文件的最佳做法
        • 5.4-4与 Google 搜索中的 AMP 网页相关的准则
        • 5.4-5AJAX增强型网站
        • 5.4-6关于 AJAX 的常见问题解答
        • 5.4-7Google 搜索提供的 COVID-19 资源和提示
      • 5.5网站页面质量指南
        • 5.5-1自动生成的内容
        • 5.5-2欺骗性重定向
        • 5.5-3链接方案
        • 5.5-4付费链接
        • 5.5-5伪装真实内容
        • 5.5-6隐藏文字和链接
        • 5.5-7门页
        • 5.5-8抄袭内容
        • 5.5-9联属计划
        • 5.5-10不相关的关键字(关键字堆砌)
        • 5.5-11创建会执行恶意行为的网页
        • 5.5-12用户生成的垃圾内容
        • 5.5-13阻止垃圾评论的方法
        • 5.5-14举报网络垃圾、付费链接或恶意软件
    • 6.控制抓取和索引编制
      • 6.01抓取和索引编制主题概览(目录)
      • 6.02编入索引简介
      • 6.03创建网址列表
      • 6.04向 Google 提交网址
      • 6.07从 Google 中移除信息
      • 6.08暂停在线商家
      • 6.09整合重复网址
      • 6.10创建自定义 404 网页
      • 6.11转移、移动或迁移网站
      • 6.13Google 可以识别的特殊标记
      • 6.14漫游器元标记、data-nosnippet 和 X-Robots-Tag 规范
      • 6.15管理抓取速度:请求 Google 重新抓取您的网址和减慢 Googlebot 的抓取速度
      • 6.05管理站点地图
        • 6.5-1了解站点地图
        • 6.5-2创建和提交站点地图
        • 6.5-3拆分较大的站点地图
        • 6.5-4视频Sitemap及其替代方案
        • 6.5-5图片站点地图
        • 6.5-6创建 Google 新闻站点地图
      • 6.06阻止访问您的内容
        • 6.6-1阻止访问您的内容
        • 6.6-2控制与 Google 分享的内容
        • 6.6-3使用”noindex”阻止搜索引擎编入索引
        • 6.6-4.1通过 robots.txt 阻止访问-robots.txt 简介
        • 6.6-4.2创建 robots.txt 文件
        • 6.6-4.3向 Google 提交更新后的 robots.txt
        • 6.6-4.4有关漫游器robots.txt的常见问题解答
        • 6.6-4.5Robots.txt 规范
        • 6.6-5阻止您页面上的图片出现在搜索结果中
      • 6.12管理多区域和多语言网站
        • 6.12-1管理多区域和多语言网站
        • 6.12-2将网页的本地化版本告知 Google
        • 6.12-3Google 如何抓取语言区域自适应网页
        • 6.12-4跨语言搜索结果
      • 6.16Google 抓取工具
        • 6.16-1Google 抓取工具(用户代理)概览
        • 6.16-2谷歌机器人Googlebot
        • 6.16-3Google Read Aloud 用户代理
        • 6.16-4APIs-Google 用户代理
        • 6.16-5Feedfetcher
        • 6.16-6网页上的 Duplex”用户代理
        • 6.16-7验证 Googlebot
      • 6.17管理JavaScript内容
        • 6.17-1了解 JavaScript SEO 基础知识
        • 6.17-2解决与 Google 搜索相关的 JavaScript 问题
        • 6.17-3修正延迟加载的内容
        • 6.17-4实现动态呈现
    • 7.更改搜索结果呈现
      • 7.1搜索结果呈现主题概览
      • 7.2控制搜索结果中的标题链接
      • 7.4为网站启用搜索结果功能
      • 7.3控制搜索结果中的摘要
      • 7.5精选摘要和您的网站
      • 7.6站点链接
      • 7.7向 Google 搜索提供发布日期
      • 7.8定义要在搜索结果中显示的网站图标
View Categories
  • 首页
  • 谷歌SEO优化官方文档
  • 谷歌SEO优化指南(新版)
  • Google抓取和编入索引
  • JavaScript

解决与 Google 搜索相关的 JavaScript 问题

本指南介绍了如何识别和解决一些 JavaScript 问题,这些问题可能会导致您的网页(或 JavaScript 网页上的特定内容)无法显示在 Google 搜索结果中。虽然 Google 可以运行 JavaScript,但您在设计网页和应用时需要考虑一些差异和限制,以顺应抓取工具访问和呈现您的内容的方式。我们的 JavaScript SEO 基础知识指南详细介绍了如何针对 Google 搜索优化 JavaScript 网站。

Googlebot 经过精心设计,是一名优秀的网上公民。它的主要任务是抓取网站,同时确保其抓取操作不会导致网站的用户体验下降。Googlebot 及其网页呈现服务 (WRS) 组件会不断分析和识别对基本网页内容没有贡献的资源,并且可能不会抓取此类资源。例如,对基本网页内容没有贡献的报告和错误请求,以及在提取基本网页内容时不使用或没必要使用的其他类似类型的请求。客户端分析可能无法完整或准确地体现您网站上的 Googlebot 和 WRS 活动。使用 Search Console 可以监控您网站上的 Googlebot 和 WRS 活动及反馈。

如果您怀疑 JavaScript 问题可能会导致您的网页或 JavaScript 网页上的特定内容无法显示在 Google 搜索结果中,请按以下步骤操作。如果您不确定 JavaScript 是否是主要原因,请按照我们的一般调试指南确定具体问题。

  1. 如需测试 Google 抓取和呈现网址的效果,请使用 Search Console 中的富媒体搜索结果测试或网址检查工具。您可以查看已加载的资源、JavaScript 控制台输出和异常、呈现的 DOM 以及更多信息。
    警告:请勿使用缓存链接调试网页。建议改用网址检查工具,因为该工具会检查网页的最新版本。
    此外,我们还建议您收集和审核用户(包括 Googlebot)在您网站上遇到的 JavaScript 错误,确定可能会影响内容呈现效果的潜在问题。以下示例演示了如何记录全局 onerror 处理程序中记录的 JavaScript 错误。请注意,某些类型的 JavaScript 错误(如解析错误)无法使用此方法进行记录。

    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('\n');
    
        // Example: log errors as visual output into the host page.
        // Note: you probably don't want to show such errors to users, or
        //       have the errors get indexed by Googlebot; however, it may
        //       be a useful feature while actively debugging the page.
        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 += '\n\n' + errorText;
        }
    
        // Example: log the error to remote service.
        // Note: you can log errors to a remote service, to understand
        //       and monitor the types of errors encountered by regular users,
        //       Googlebot, and other crawlers.
        var client = new XMLHttpRequest();
        client.open('POST', 'https://example.com/logError');
        client.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8');
        client.send(errorText);
    
    });
  2. 请务必防范 soft 404 错误。 在单页应用 (SPA) 中,这可能会非常困难。 为防止将错误网页编入索引,您可以使用以下一种或两种策略:
    • 重定向至服务器响应 404 状态代码的网址。
      fetch(`https://api.kitten.club/cats/${id}`)
       .then(res => res.json())
       .then((cat) => {
         if (!cat.exists) {
           // redirect to page that gives a 404
           window.location.href = '/not-found';
         }
       });
    • 添加 robots meta 标记或将其更改为 noindex。
      fetch(`https://api.kitten.club/cats/${id}`)
       .then(res => res.json())
       .then((cat) => {
         if (!cat.exists) {
           const metaRobots = document.createElement('meta');
           metaRobots.name = 'robots';
           metaRobots.content = 'noindex';
           document.head.appendChild(metaRobots);
         }
       });

    SPA 使用客户端 JavaScript 处理错误时,通常会报告 200 HTTP 状态代码,而不是相应的状态代码。 这会导致错误网页被编入索引并可能会显示在搜索结果中。

  3. Googlebot 可能会拒绝用户权限请求。需要用户权限的功能不适用于 Googlebot 或所有用户。例如,如果您需要 Camera API,而 Googlebot 无法向您提供相机。在这种情况下,应为用户提供一种方式,使其无需授予相机访问权限便能访问您的内容。
  4. 请勿使用片段网址加载不同的内容。SPA 可能会使用片段网址(例如 https://example.com/#/products)加载不同的视图。 自 2015 年起,我们已弃用 AJAX 抓取方案,因此您不能提供片段网址让 Googlebot 抓取。我们建议您使用 History API 根据 SPA 中的网址加载不同的内容。
  5. 不要依赖数据持久性来提供内容。和常规浏览器一样,WRS 会加载每个网址(请参阅 Google 搜索的工作原理,简要了解 Google 如何发现内容),并执行服务器和客户端重定向。不过,在网页加载过程中,WRS 不会保留状态:
    • 在网页加载过程中,系统会清除本地存储空间和会话存储空间中的数据。
    • 在网页加载过程中,系统会清除 HTTP Cookie。
  6. 使用内容指纹避免 Googlebot 缓存问题。Googlebot 会主动缓存内容,以减少网络请求和资源使用量。WRS 可能会忽略缓存标头。这可能会导致 WRS 使用过时的 JavaScript 或 CSS 资源。为了避免这个问题,您可以创建内容指纹,使其成为文件名的一部分(如 main.2bb85551.js)。 指纹取决于文件的内容,因此每次更新都会生成不同的文件名。如需了解详情,请参阅 web.dev 长效缓存策略指南。
  7. 确保您的应用针对其所需的所有关键 API 使用功能检测,并在适用情况下提供后备行为或 polyfill。某些网页功能可能不会被所有用户代理采用,而一些用户代理可能会刻意停用特定功能。例如,如果您在浏览器中使用 WebGL 呈现照片效果,功能检测会显示 Googlebot 不支持 WebGL。若要修复此问题,您可以跳过照片效果呈现步骤或使用服务器端呈现来预呈现照片效果,这样一来,所有用户(包括 Googlebot)都可访问您的内容。
  8. 确保您的内容适用于 HTTP 连接。Googlebot 会使用 HTTP 请求从您的服务器检索内容。它不支持其他类型的连接,例如 WebSockets 或 WebRTC 连接。为避免此类连接出现问题,请务必提供用于检索内容的 HTTP 回退机制,并使用强大的错误处理和功能检测机制。
  9. 确保网络组件能按预期呈现。 使用富媒体搜索结果测试或网址检查工具检查呈现的 HTML 是否包含您期望的所有内容。WRS 会扁平化 light DOM 和 shadow DOM。如果您使用的网络组件没有针对 light DOM 内容使用 <slot> 机制,请参阅相应网络组件的文档以了解详情,或使用其他网络组件。如需了解详情,请参阅网络组件最佳做法。
  10. 修正此核对清单中的内容后,请再次使用 Search Console 中的富媒体搜索结果测试或网址检查工具测试您的网页。
    如果问题已解决,系统会显示一个绿色对勾标记,并且不会显示任何错误。如果仍看到错误,请在 JavaScript Sites in Search Working Group 中发帖咨询。
分享这篇文章 :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
更新 2024年1月19日

暂无评论

再想想
暂无评论...
SEO算法教程

Copyright © 2021 SEO工具导航 粤ICP备15089945号-7 粤公网安备 44098102441079号

  
常用
搜索
工具
社区
生活
    热门推荐: