前端工程师必须要知道的SEO技巧(2):制作比设计还要漂亮的代码(内容和语义化代码)上...

前言:现在的网站设计,大多数不仅仅要求美观,前端代码往往发挥着重要的作用.这意味着很大一部分搜索引擎优化或搜索引擎优化责任应该落在设计师身上.然而,有大量的网页设计师不理解这个问题以及如何在建立一个网站初期就达到是完全的搜寻引擎优化.当然,要达到这个高度,肯定离不开学习.需要花费时间使用.

一.制作比设计还要漂亮的代码(语义化代码)其实就是在适当的位置使用适当的代码.

接下来,我举几个例子就能明白:

H1~H6标签多用于标题.

UL标签多用于无序列表.

OL标签多用于有序列表.

DL标签多用于定义数据列表.

stong和em表示强调,意思就是告诉爬虫这里是重点.

根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析.

二.语义化标签有什么好处?为什么要语义化标签?

一个网页就好像是一栋房子,HTML结构就是一面面的墙,而标签则是一块块的砖,砖要摆放有序,整整齐齐,墙才会牢固.最后css则是装饰材料,美不美就靠她了.因此,我们要有一个优秀的网页,既要提供一个干净而又有清晰结构的HTML,更加离不开css的极致美化.

从上面也说明标签语义化极其重要,HTML每个标签都有自己的语义,都有自己适用的范围.但往往会被我们忽略或者被我们滥用,举个例子:在一个页面中<div>用了几十个甚至上百个,这是个无意义的标签,只是表示一个层而已,非常不利于后期的维护;而<table>标签则是一个数据标签,该用的时候,我们就要大胆使用.

标签语义化的好处

1.去掉或样式丢失的时候能让页面呈现清晰的结构:

html本身是没有表现的,我们看到例如<h1>是粗体,字体大小2em,加粗;

<strong>是加粗的,不要认为这是 html的表现,这些其实html默认的css样式在起作用,所以去掉或样式丢失的时候能让页面呈现清晰的结构不是语义化的HTML结构的优点,但是浏览器都有有默认样式,默认样式的目的也是为了更好的表达html的语义,可以说浏览器的默认样式和语义化的HTML结构是不可分割的.

2.屏幕阅读器(如果访客有视障)会完全根据你的标记来"读"你的网页.

例如,如果你使用的含语义的标记,屏幕阅读器就会"逐个拼出"你的单词,而不是试着去对它完整发音.

3.PDA、手机等设备可能无法像普通电脑的浏览器一样来渲染网页(通常是因为这些设备对CSS的支持较弱).

使用语义标记可以确保这些设备以一种有意义的方式来渲染网页.理想情况下,观看设备的任务是符合设备本身的条件来渲染网页.

语义标记为设备提供了所需的相关信息,就省去了你自己去考虑所有可能的显示情况(包括现有的或者将来新的设备).例如,一部手机可以选择使一段标记 了标题的文字以粗体显示.而掌上电脑可能会以比较大的字体来显示.无论哪种方式一旦你对文本标记为标题,您就可以确信读取设备将根据其自身的条件来合适地 显示页面.

4.搜索引擎的爬虫也依赖于标记来确定上下文和各个关键字的权重.

过去你可能还没有考虑搜索引擎的爬虫也是网站的"访客",但现在它们他们实际上是极其宝贵的用户.没有他们的话,搜索引擎将无法索引你的网站,然后一般用户将很难过来访问.

5.你的页面是否对爬虫容易理解非常重要,因为爬虫很大程度上会忽略用于表现的标记,而只注重语义标记.

因此,如果页面文件的标题被标记,而不是,那么这个页面在搜索结果的位置可能会比较靠后.除了提升易用性外,语义标记有利于正确使用CSS和JavaScript,因为其本身提供了许多"钩钩"来应用页面的样式与行为.
SEO主要还是靠你网站的内容和外部链接的.

6.便于团队开发和维护

W3C给我们定了一个很好的标准,在团队中大家都遵循这个标准,可以减少很多差异化的东西,方便开发和维护,提高开发效率,甚至实现模块化开发.

三.我们应该怎么做?

1.尽可能的少使用无语义的标签:div和span

2.语义不明显时,既可以使用div也可以使用p,尽量使用p,因为p在默认的情况下有上下间距,对兼容特殊终端有利;

3.不要使用纯样式标签:b,font,u,i,del,要用css设置.

4.需要强调的文本,可以包含在strong或者em标签中(浏览器预设样式,能用CSS指定就不用他们),strong默认样式是加粗(不要用b),em是斜体(不用i);

5.使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围.表头和一般单元格要区分开,表头用th,单元格用td;

6.表单域要用fieldset标签包起来,并用legend标签说明表单的用途;

7.每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来.

转载于:https://www.cnblogs.com/liubeimeng/p/4604844.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习笔记(05):Python网络编程并发编程-基于socket实现简单套接字通信

立即学习:https://edu.csdn.net/course/play/24458/296234?utm_sourceblogtoedu 1.服务器端 #以打电话通讯为例子进行说明 #导入相应的模块 import socket#1、设置套接字的类型以及协议(买手机)&#xff0c;其实就是设置一个套接字&#xff0c;phone即为一个套接字 #设置为网…

JeeSite 4.0 说说前端的那些事

2019独角兽企业重金招聘Python工程师标准>>> 引言 一个不得不说的话题&#xff0c;经过近几年的发展&#xff0c;Web前端开发已经不是一个新有的岗位了&#xff0c;前端技术发展非常迅速&#xff0c;技术更新换代也很快&#xff0c;对于前端工程师来说是一个很大的挑…

笔记本换固态硬盘

我换固态硬盘是让熟人修电脑换的&#xff0c;结果跟我要100块钱的服务费&#xff0c;在这我绝得太坑了&#xff0c;所以建议大家自己换固态硬盘 1、首先自己在网上买一块相对较好的固态硬盘&#xff0c;尽量买大点 2、还需要买一个硬盘的托盘&#xff0c;这个是直接换笔记本上的…

Bootstrap富文本编辑器-bootstrap-wysiwyg

在进行英语试题的录入中&#xff0c;因为英语试题经常会有类似如下的试题&#xff1a; My friend watches dragon boat races at the Dragon Boat Festival.(对划线部分提问) ——_______ is the Double Ninth Festival? ——It is in October. 在上面的题目中&#xff0c;我们…

学习笔记(06):Python网络编程并发编程-在简单套接字基础上加上通信循环

立即学习:https://edu.csdn.net/course/play/24458/296235?utm_sourceblogtoedu 1.服务器端 #以打电话通讯为例子进行说明 #导入相应的模块 import socket#1、设置套接字的类型以及协议(买手机)&#xff0c;其实就是设置一个套接字&#xff0c;phone即为一个套接字 #设置为网…

怎么把word转换pdf,pdf转换word ,pdf转换成高清图片

方法一&#xff1a;一个成套的软件&#xff0c;包含了&#xff0c;word -->pdf ,Pdf—>word,pdf-->图片 迅捷PDF在线转换器 地址在这 &#xff08;http://app.xunjiepdf.com/ &#xff09;&#xff0c; 但是上面这个有个限制&#xff0c;只能转一定大小的文件&#x…

程序包com.sun.istack.internal不存在

添加一下依赖 <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl --><dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.2.11</version></dependency&…

iOS微博项目(七)发微博和定位

class a导入class b&#xff0c;class b导入class a 会出现错误 如果keyboard不显示&#xff0c;应该是hardware-》connect选择了 1. 发微博UI 2.定位 一直不回调&#xff0c;后来发现是ios8后方法更新了&#xff1a;http://blog.devzeng.com/blog/ios8-corelocation-framework…

学习笔记(07):Python网络编程并发编程-客户端与服务端代码bug修复

立即学习:https://edu.csdn.net/course/play/24458/296236?utm_sourceblogtoedu 1.修复端口被占用的bug import socketphone socket.socket(socket.AF_INET,socket.SOCK_STREAM)#修复重复多次运行程序断就被占用的bug&#xff0c;在绑定端口前设置 phone.setsockopt(socket.…

设计模式之UML类图

在学设计模式的过程中经常碰到各式各样的UML类图。那些眼花缭乱的符号有什么含义呢&#xff1f; 类图含义 类图中的关系 从网上找来一张图作为实例 依赖关系&#xff1a;比如动物依赖氧气和水&#xff0c;这里如学生要依赖自行车。用虚线箭头表示。关联关系&#xff1a;学生和身…

tomcat启动报:No Spring WebApplicationInitializer types detected on classpath

2019独角兽企业重金招聘Python工程师标准>>> 对于maven项目&#xff0c;tomcat启动不加载spring配置文件&#xff0c;是因为找不到web.xml文件 右键项目properties 选择 Deployment Assembly 编辑 Web Deployment Assembly&#xff0c;注意主要是红色线框中的路径 …

拿到项目怎么开始整理PCB原理图

1、用模块拼接&#xff0c;不停的做实验 2、网上各种搜索资料&#xff0c;确定好方案 3、最后落实PCB板原理图&#xff0c;然后做板子出来

Java中的面向接口编程

面向接口编程是很多软件架构设计理论都倡导的编程方式&#xff0c;学习Java自然少不了这一部分&#xff0c;下面是我在学习过程中整理出来的关于如何在Java中实现面向接口编程的知识。分享出来&#xff0c;有不对之处还请大家指正。 接口体现的是一种规范和实现分离的设计哲学&…

Linux-正则表达式学习(精)

正则表达式30分钟入门教程 来园子之前写的一篇正则表达式教程&#xff0c;部分翻译自codeproject的The 30 Minute Regex Tutorial。 由于评论里有过长的URL,所以本页排版比较混乱,推荐你到原处查看,看完了如果有问题,再到这里来提出. 一些要说的话&#xff1a; 如果你没有正则表…

学习笔记(08):Python网络编程并发编程-实现服务端可以对多个客户端提供服务

立即学习:https://edu.csdn.net/course/play/24458/296237?utm_sourceblogtoedu 链接循环&#xff0c;一个服务器服务多个客户端&#xff0c; 思路1&#xff1a;服务器一个一个地去服务客服端&#xff0c;等服务完一个客户端后&#xff0c;再去服务下一个客户端。 弊端&#…

在win10 或者win7系统下装双系统ubuntu16.04教程

1、制作u盘启动&#xff0c;网上有教程推荐使用软碟通 2、我的是联想电脑&#xff0c;用分区助手将你的硬盘划分出来一块空白的&#xff0c;记得主分区不要超过4个&#xff0c;要不然你划分出来的空白区装系统是无用状态&#xff08;分空白硬盘网上有教程&#xff09; 3、将u盘…

Flume sink=avro rpc connection error

要求 conf 文件 a1.sourcesr1 a1.sinksk1 a1.channelsc1a1.sources.r1.typeavro a1.sources.r1.bindmaster a1.sources.r1.port9999a1.sinks.k1.typeavro a1.sinks.k1.hostnameslave1 a1.sinks.k1.port7777a1.channels.c1.typememory a1.channels.c1.capacity1000 a1.channels.…

【腾许Bugly干货分享】“HTTPS”安全在哪里?

背景 最近基于兴趣学学习了下 HTTPS 相关的知识&#xff0c;在此记录下学习心得。 在上网获取信息的过程中&#xff0c;我们接触最多的信息加密传输方式也莫过于 HTTPS 了。每当访问一个站点&#xff0c;浏览器的地址栏中出现绿色图标时&#xff0c;意味着该站点支持 HTTPS 信息…

CCNP精粹系列之十八--路由映射实战二,博主推荐文章

路由映射实战二 本篇博文和上一篇是紧密结合的&#xff0c;只是在上个试验的基础上作了改动&#xff0c;达到其他的试验效果。试验二&#xff1a;在R1上增加一个网段&#xff0c;并发布路由。这里采用三种方法。 如下是第一种&#xff0c;是在试验一的基础上直接增加一个网段&a…

HDU 1599 find the mincost route

Floyd可解。求最短。在路上来回。使用Floyd 而在 三同时不 找出最短。然后更新。没有推理启动&#xff01;INF。一堆负面结果溢出。 #include<cstdio> #include<cstring> #include<string> #include<queue> #include<algorithm> #include<map…