第七章: SEO与渲染方式
第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与渲染方式的更多相关文章
- “全栈2019”Java异常第七章:try-catch-finally组合方式
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- SEO 第七章
SEO第七章 网站网址链接 路径优化 网站的网址路径分为相对路径和绝对路径 绝对路径:绝对路径是完整的路径,不仅可以在站内打开,去其他地方依然可以打开. 相对路径:不是一个完整的路径,这种路径只能在站 ...
- [GEiv]第七章:着色器 高效GPU渲染方案
第七章:着色器 高效GPU渲染方案 本章介绍着色器的基本知识以及Geiv下对其提供的支持接口.并以"渐变高斯模糊"为线索进行实例的演示解说. [背景信息] [计算机中央处理器的局限 ...
- [书籍翻译] 《JavaScript并发编程》第七章 抽取并发逻辑
本文是我翻译<JavaScript Concurrency>书籍的第七章 抽取并发逻辑,该书主要以Promises.Generator.Web workers等技术来讲解JavaScrip ...
- 精通Web Analytics 2.0 (9) 第七章:失败更快:爆发测试与实验的能量
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第七章:失败更快:爆发测试与实验的能量 欢迎来到实验和测试这个棒极了的世界! 如果Web拥有一个超越所有其他渠道的巨大优势,它就 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (38) ------ 第七章 使用对象服务之动态创建连接字符串和从数据库读取模型
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第七章 使用对象服务 本章篇幅适中,对真实应用中的常见问题提供了切实可行的解决方案. ...
- Java语言程序设计(基础篇) 第七章 一维数组
第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...
- 第七章 LED将为我们闪烁:控制发光二极管
第七章 LED将为我们闪烁:控制发光二极管 本章我们将会看到一个完整的linux驱动程序,通过linux驱动程序控制LED的四个小灯,通俗的说就是通过向linux驱动程序来控制LED小灯的开关.用到 ...
- apue第七章学习总结
apue第七章学习总结 1.main函数 程序是如何执行有关的c程序的? C程序总是从main函数开始执行.main函数的原型是 int main(int argc,char *argv[]); 其中 ...
- [Effective Java]第七章 方法
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
随机推荐
- mongodb logical sessions can't have multiple authenticated users
前言 使用 mongodb db.auth,切换用户时,报以下错误 logical sessions can't have multiple authenticated users 原因是 mongo ...
- MySQL错误码大全
B.1. 服务器错误代码和消息服务器错误信息来自下述源文件:· 错误消息信息列在share/errmsg.txt文件中."%d"和"%s"分别代表编号和字符串, ...
- Django实战项目-学习任务系统-用户管理
接着上期代码框架,开发第6个功能,用户管理,查看用户信息和学生用户属性值,尤其是总积分值,还可以查看积分流水明细,完成任务奖励积分,兑换物品消耗积分. 第一步:编写第6个功能-用户管理 1,编辑模型文 ...
- 安装Realtek RTL8111/RTL8168网卡驱动详解(error~eth0:no such device)
昨天给linux系统重新编了个内核linux2.6.31.9,进入新版本的内核之后,发现机子上不了网了.好像每次新编译一个内核版本,网卡都会出问题,之前也写过解决网卡问题的blog,不过比较简单,这里 ...
- Docker 容器跨主机多网段通信解决方案
一.MacVlan实现Docker的跨主机网络通信的方案有很多,如之前博文中写到的通过部署 Consul服务实现Docker容器跨主机通信 Macvlan工作原理: Macvlan是Lin ...
- gmpy2库
在密码计算中会牵扯大素数的计算模逆等,gmpy2库就是一个这种库 求整数a.b的最大公因数 a = gmpy2.gcd(3,12) 判断一个数是否为素数 a = gmpy2.is_prime(5) 判 ...
- .NET 原生驾驭 AI 新基建实战系列(二):Semantic Kernel 整合对向量数据库的统一支持
1. 引言 在人工智能(AI)应用开发迅猛发展的今天,向量数据库作为存储和检索高维数据的重要工具,已经成为许多场景(如自然语言处理.推荐系统和语义搜索)的核心组件. 对于.NET生态系统的开发者而言, ...
- Python读取CSV文件并存储到MySQL
在项目中对后台进行测试时,经常会遇到要在数据库新增数据,那么如何快速新增数据来提高工作效率呢? 现整理如下: 代码内容(csv_to_mysql.py): # coding=utf-8import p ...
- Coze实现古诗文图集
Coze实现古诗文图集 目标:通过Coze自动化生成古诗配图,并将多张图片排版到画板中,最终直接在对话框展示完整图集(而非链接). 思路: 用户输入诗句 → 2. 补全古诗 → 3.拆分诗文 → ...
- apache/wampserver配置虚拟主机、多站点端口、允许通过ip访问
虽然经常配置这个,但有时一着急想不起来,这里做个记录 步骤: 监听本网络本主机的端口 (Listen 0.0.0.0:端口号) 添加虚拟主机 VirtualHost 配置目录访问权限(Require ...