你知道SEO中的TDK吗?iframe的作用以及优缺点?从浏览器地址栏输入url到显示页面的步骤由哪些?

本文主要是介绍你知道SEO中的TDK吗?iframe的作用以及优缺点?从浏览器地址栏输入url到显示页面的步骤由哪些?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你知道SEO中的TDK吗?

在SEO中,TDK其实就是titledescriptionkeywords 这三个标签,title 表示标题标签,description 是描述标签,keywords 是关键词标签。

需要注意的SEO

合理的 titledescriptionkeywords
搜索对着三项的权重逐个减小, title 值强调重点即可,重要关键词出现不要超过2次, 而且要靠前,不同⻚面 title 要有所不同;
description 把⻚面内容高度概括,⻓度合适,不可过分堆砌关键词,不同⻚description 有所不同;
keywords 列举出重要关键词即可。

语义化的 HTML 代码,符合 W3C 规范: 语义化代码让搜索引擎容易理解网⻚。

重要内容 HTML 代码放在最前: 搜索引擎抓取 HTML 顺序是从上到下, 有的搜索引擎对抓取⻓度有限制,保证重要内容一定会被抓取。

重要内容不要用 js 输出: 爬虫不会执行js获取内容。

少用 iframe 搜索引擎不会抓取 iframe 中的内容。

非装饰性图片必须加 alt

提高网站速度: 网站速度是搜索引擎排序的一个重要指标。

iframe的作用以及优缺点?

iframe也称作嵌入式框架,嵌入式框架和框架网页类似,它可以把一个网页的框架和内容嵌入到现有的网页中。

优点:

可以用来处理加载缓慢的内容,比如:广告

缺点:

  • iframe 会阻塞主页面的 Onload 事件 无法被一些搜索引擎识别,搜索引擎的检索程序无法解读这种⻚面,不利于 SEO
  • iframe 和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。但是可以通过javascript 动态给 ifame 添加 src属性值来解决这个问题,当然也可以解决iframe会阻塞主页面的Onload事件的问题
  • 会产生很多页面,不易管理 浏览器的后退按钮没有作用

从浏览器地址栏输入url到显示页面的步骤由哪些?

浏览器根据请求的 URL 交给 DNS 域名解析,找到真实 IP , 向服务器发起请求;

服务器交给后台处理完成后返回数据, 浏览器接收文件 ( HTML、JS、CSS 、图象等); 浏览器对加载到的资源 ( HTML、JS、CSS 等) 进行语法解析,建立相应的内部数据结构( 如HTMLDOM );

载入解析到的资源文件 ➔ 渲染页面 ➔ 完成。

1、在浏览器地址栏输入URL
2、浏览器查看缓存, 如果请求资源在缓存中并且新鲜,跳转到转码步骤
  1. 如果资源未缓存,发起新请求。
  2. 如果已缓存,检验是否足够新鲜,足够新鲜直接提供给客户端, 否则与服务器进行验证。
  3. 检验新鲜通常有两个HTTP头进行控制 ExpiresCache-Control :

HTTP1.0提供Expires,值为一个绝对时间表示缓存新鲜日期 HTTP1.1增加了Cache-Control:
max-age=,值为以秒为单位的最大新鲜时间

3、浏览器解析URL获取协议, 主机,端口, path
4、浏览器组装一个HTTP ( GET) 请求报文
5、浏览器获取主机ip地址, 过程如下:
  1. 浏览器缓存
  2. 本机缓存
  3. hosts文件
  4. 路由器缓存
  5. ISP DNS缓存
  6. DNS递归查询 ( 可能存在负载均衡导致每次IP不一样)
6 、 打开一个socket与目标IP地址,端口建立TCP链接,三次握手如下:
  1. 客户端发送一个TCP的SYN=1,Seq=X的包到服务器端口。
  2. 服务器发回SYN=1, ACK=X+1, Seq=Y的响应包。
  3. 客户端发送ACK=Y+1, Seq=Z。
7、TCP链接建立后发送HTTP请求
8、服务器接受请求并解析,将请求转发到服务程序,如虚拟主机使用工TTP工ost头部判断请求的服务程序
9、 服务器检查HTTP请求头是否包含缓存验证信息如果验证缓存新鲜, 返回304等对应状态码
10、处理程序读取完整请求并准备工TTP响应, 可能需要查询数据库等操作
11、服务器将响应报文通过TCP连接发送回浏览器
12、浏览器接收工TTP响应,然后根据情况选择关闭TCP连接或者保留重用,关闭TCP连接的四 次握手如下:
  1. 主动方发送Fin=1, Ack=Z, Seq=X报文 。
  2. 被动方发送ACK=X+1, Seq=Z报文 。
  3. 被动方发送Fin=1, ACK=X, Seq=Y报文 。
  4. 主动方发送ACK=Y, Seq=X报文。
13、浏览器检查响应状态吗:是否为1XX, 3XX, 4XX, 5XX, 这些情况处理与2XX不同
14、 如果资源可缓存, 进行缓存
15、对响应进行解码 (例如gzip压缩)
16、根据资源类型决定如何处理(假设资源为工TML文档)
17、解析HTML文档,构件DOM树,下载资源,构造CSSOM树,执行js脚本, 这些操作没有严 格的先后顺序, 以下分别解释
18、 构建DOM树:
  1. Tokenizing:根据工TML规范将字符流解析为标记。
  2. Lexing:词法分析将标记转换为对象并定义属性和规则。
  3. DOM construction:根据工TML标记关系将对象组成DOM树 。
19、 解析过程中遇到图片 、样式表 、js文件,启动下载
20、 构建CSSOM树:
  1. Tokenizing:字符流转换为标记流。
  2. Node:根据标记创建节点。
  3. CSSOM:节点创建CSSOM树。
21、 根据DOM树和CSSOM树构建渲染树 :
  1. 从DOM树的根节点遍历所有可见节点,不可⻅节点包括:
  • script , meta 这样本身不可⻅的标签。
  • 被css隐藏的节点, 如display:none
  1. 对每一个可⻅节点,找到恰当的CSSOM规则并应用。
  2. 发布可视节点的内容和计算样式。
22、 js解析如下:
  1. 浏览器创建Document对象并解析HTML,将解析到的元素和文本节点添加到文档中,此时document.readystateloading
  2. HTML解析器遇到没有asyncdeferscript时,将他们添加到文档中,然后执行行内 或外部脚本 。这些脚本会同步执行, 并且在脚本下载和执行时解析器会暂停 。这样就可 以用document.write()把文本插入到输入流中 。同步脚本经常简单定义函数和注册事件 处理程序,他们可以遍历和操作script和他们之前的文档内容。
  3. 当解析器遇到设置了async属性的script时, 开始下载脚本并继续解析文档 。脚本会在它 下载完成后尽快执行,但是解析器不会停下来等它下载 。异步脚本禁止使用 document.write(), 它们可以访问自己script和之前的文档元素。
  4. 当文档完成解析,document.readState变成interactive
  5. 所有defer脚本会按照在文档出现的顺序执行,延迟脚本能访问完整文档树, 禁止使用document.write()
  6. 浏览器在Document对象上触发DOMContentLoaded事件。
  7. 此时文档完全解析完成, 浏览器可能还在等待如图片等内容加载, 等这些内容完成载入 并且所有异步脚本完成载入和执行,document.readState变为completewindow触发load事件。
23、 显示页面 ( HTML解析过程中会逐步显示页面)
  1. 从浏览器接收 url 到开启网络请求线程 ( 这一部分可以展开浏览器的机制以及进程与线程 之间的关系)。

  2. 开启网络线程到发出一个完整的 HTTP 请求 ( 这一部分涉及到dns查询, TCP/IP 请求, 五层因特网协议栈等知识)。

  3. 从服务器接收到请求到对应后台接收到请求 (这一部分可能涉及到负载均衡, 安全拦截以 及后台内部的处理等等)。

  4. 后台和前台的 HTTP 交互 ( 这一部分包括 HTTP 头部 、响应码 、报文结构 、 cookie 等知 识, 可以提下静态资源的 cookie 优化, 以及编码解码, 如 gzip 压缩等)。

  5. 单独拎出来的缓存问题, HTTP 的缓存 ( 这部分包括http缓存头部, ETagcatch-control 等)。

  6. 浏览器接收到 HTTP 数据包后的解析流程 ( 解析 html 词法分析然后解析成 dom 树 、解析css生成css规则树、合并成render树,然后layoutpainting渲染、复合图 层的合成 、 GPU 绘制 、外链资源的处理 、 loadedDOMContentLoaded 等)。

  7. CSS 的可视化格式模型 ( 元素的渲染规则, 如包含块,控制框, BFCIFC 等概念) 。

  8. JS 引擎解析过程 ( JS 的解释阶段,预处理阶段,执行阶段生成执行上下文, VO ,作用域链 、回收机制等等)。

  9. 其它 ( 可以拓展不同的知识模块, 如跨域,web 安全, hybrid 模式等等内容)。

这篇关于你知道SEO中的TDK吗?iframe的作用以及优缺点?从浏览器地址栏输入url到显示页面的步骤由哪些?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/445588

相关文章

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们