第7章: SEO与渲染方式

在现代Web开发中,JavaScript扮演着越来越重要的角色。然而,JavaScript的广泛使用也为搜索引擎优化(SEO)带来了新的挑战。本章将深入探讨JavaScript SEO的核心问题,不同的渲染机制对SEO的影响,以及如何优化JavaScript驱动的网站以获得更好的搜索引擎排名和用户体验。

1. Google爬虫类型及其工作原理

搜索引擎爬虫是SEO的核心组成部分,了解它们的工作原理对于优化网站至关重要。本节将重点介绍Google爬虫,因为Google是当今最主要的搜索引擎。

1.1 Google爬虫的演变

传统爬虫的局限性

早期的搜索引擎爬虫主要设计用于处理静态 HTML 页面。它们通过解析 HTML 文档的结构来理解页面内容,但对于 JavaScript 生成的动态内容却无能为力。这导致了许多 JavaScript 驱动的网站在搜索结果中表现不佳 。


现代 JavaScript 渲染爬虫的出现 ⚙️

为了适应 Web 技术的发展,Google 在 2015 年推出了能够渲染 JavaScript 的爬虫。这种新型爬虫能够执行 JavaScript 代码,从而更好地理解和索引动态生成的内容。这是搜索引擎技术的一个重大进步,为 JavaScript 驱动的网站提供了更公平的竞争环境


1.2 主要的 Google 爬虫类型

Google 使用多种专门的爬虫来索引不同类型的网络内容,以下是一些主流爬虫

  • Googlebot(网页爬虫):这是 Google 的主要爬虫,负责抓取和索引网页内容。它有桌面版和移动版两种形式。

  • Googlebot Images(图片爬虫):专门用于发现和索引网络上的图片内容 ️。

  • Googlebot Video(视频爬虫):负责抓取和索引视频内容,包括视频元数据和缩略图 ️。

  • AdsBot(广告质量评估爬虫):这个爬虫用于评估 Google 广告的落地页质量


1.3 Googlebot 的工作原理

Googlebot 的工作过程可以分为三个主要阶段

抓取阶段

在这个阶段,Googlebot 会访问网站并解析 HTML。通过解析 HTML,Googlebot 会发现页面中链接的其他资源,如 JS 文件、图片和其他 HTML 页面。它会选择性地下载资源,特别是那些影响页面布局的文件。️ 通常不会在这个阶段下载 JavaScript 文件或其他大型资源

渲染阶段和下载阶段

在这个阶段,Googlebot 会像浏览器一样执行 JavaScript 代码进行渲染。这个过程可能会延迟几秒到几天不等,具体取决于 Google 的资源分配和页面复杂度。

索引阶段

渲染完成后,Googlebot 会分析页面内容,包括文本、图片、视频等,并将这些信息存储在 Google 的索引中。这个索引随后会用于响应用户的搜索查询 。

了解这些基本概念后,我们将在下一节继续探讨不同的网页渲染机制及其对 SEO 的影响

欢迎加入群聊,我们一起讨论一些更有趣的技术、商业、闲聊。

第七章: SEO与渲染方式的更多相关文章

  1. “全栈2019”Java异常第七章:try-catch-finally组合方式

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  2. SEO 第七章

    SEO第七章 网站网址链接 路径优化 网站的网址路径分为相对路径和绝对路径 绝对路径:绝对路径是完整的路径,不仅可以在站内打开,去其他地方依然可以打开. 相对路径:不是一个完整的路径,这种路径只能在站 ...

  3. [GEiv]第七章:着色器 高效GPU渲染方案

    第七章:着色器 高效GPU渲染方案 本章介绍着色器的基本知识以及Geiv下对其提供的支持接口.并以"渐变高斯模糊"为线索进行实例的演示解说. [背景信息] [计算机中央处理器的局限 ...

  4. [书籍翻译] 《JavaScript并发编程》第七章 抽取并发逻辑

    本文是我翻译<JavaScript Concurrency>书籍的第七章 抽取并发逻辑,该书主要以Promises.Generator.Web workers等技术来讲解JavaScrip ...

  5. 精通Web Analytics 2.0 (9) 第七章:失败更快:爆发测试与实验的能量

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第七章:失败更快:爆发测试与实验的能量 欢迎来到实验和测试这个棒极了的世界! 如果Web拥有一个超越所有其他渠道的巨大优势,它就 ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (38) ------ 第七章 使用对象服务之动态创建连接字符串和从数据库读取模型

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第七章 使用对象服务 本章篇幅适中,对真实应用中的常见问题提供了切实可行的解决方案. ...

  7. Java语言程序设计(基础篇) 第七章 一维数组

    第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...

  8. 第七章 LED将为我们闪烁:控制发光二极管

     第七章 LED将为我们闪烁:控制发光二极管 本章我们将会看到一个完整的linux驱动程序,通过linux驱动程序控制LED的四个小灯,通俗的说就是通过向linux驱动程序来控制LED小灯的开关.用到 ...

  9. apue第七章学习总结

    apue第七章学习总结 1.main函数 程序是如何执行有关的c程序的? C程序总是从main函数开始执行.main函数的原型是 int main(int argc,char *argv[]); 其中 ...

  10. [Effective Java]第七章 方法

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

随机推荐

  1. mongodb logical sessions can't have multiple authenticated users

    前言 使用 mongodb db.auth,切换用户时,报以下错误 logical sessions can't have multiple authenticated users 原因是 mongo ...

  2. MySQL错误码大全

    B.1. 服务器错误代码和消息服务器错误信息来自下述源文件:· 错误消息信息列在share/errmsg.txt文件中."%d"和"%s"分别代表编号和字符串, ...

  3. Django实战项目-学习任务系统-用户管理

    接着上期代码框架,开发第6个功能,用户管理,查看用户信息和学生用户属性值,尤其是总积分值,还可以查看积分流水明细,完成任务奖励积分,兑换物品消耗积分. 第一步:编写第6个功能-用户管理 1,编辑模型文 ...

  4. 安装Realtek RTL8111/RTL8168网卡驱动详解(error~eth0:no such device)

    昨天给linux系统重新编了个内核linux2.6.31.9,进入新版本的内核之后,发现机子上不了网了.好像每次新编译一个内核版本,网卡都会出问题,之前也写过解决网卡问题的blog,不过比较简单,这里 ...

  5. Docker 容器跨主机多网段通信解决方案

    一.MacVlan实现Docker的跨主机网络通信的方案有很多,如之前博文中写到的通过部署 Consul服务实现Docker容器跨主机通信    Macvlan工作原理:    Macvlan是Lin ...

  6. gmpy2库

    在密码计算中会牵扯大素数的计算模逆等,gmpy2库就是一个这种库 求整数a.b的最大公因数 a = gmpy2.gcd(3,12) 判断一个数是否为素数 a = gmpy2.is_prime(5) 判 ...

  7. .NET 原生驾驭 AI 新基建实战系列(二):Semantic Kernel 整合对向量数据库的统一支持

    1. 引言 在人工智能(AI)应用开发迅猛发展的今天,向量数据库作为存储和检索高维数据的重要工具,已经成为许多场景(如自然语言处理.推荐系统和语义搜索)的核心组件. 对于.NET生态系统的开发者而言, ...

  8. Python读取CSV文件并存储到MySQL

    在项目中对后台进行测试时,经常会遇到要在数据库新增数据,那么如何快速新增数据来提高工作效率呢? 现整理如下: 代码内容(csv_to_mysql.py): # coding=utf-8import p ...

  9. Coze实现古诗文图集

    Coze实现古诗文图集   目标:通过Coze自动化生成古诗配图,并将多张图片排版到画板中,最终直接在对话框展示完整图集(而非链接). 思路: 用户输入诗句 → 2. 补全古诗 → 3.拆分诗文 → ...

  10. apache/wampserver配置虚拟主机、多站点端口、允许通过ip访问

    虽然经常配置这个,但有时一着急想不起来,这里做个记录 步骤: 监听本网络本主机的端口 (Listen 0.0.0.0:端口号) 添加虚拟主机 VirtualHost 配置目录访问权限(Require ...