首先是我自己理解的HTML5正确布局:

HTML5

header:一般包含标题和副标题等。当有多个标题时需要使用hgroup将元素包裹。

nav:网站的导航信息和介绍性内容。通过使用ol、ul组成路径集合。其他介绍性元素还可以使用有hgroup、h包裹。

article:描述页面实际内容,可以使用hgroup、h,或者section、h、p进一步结构化内容,。当然添加header、footer都是可以的。

section:描述分组内容信息。在正文需要分组时可以使用。而内容信息还宽裕通过媒体元素(audio、video)描述。embed经常被用来描述flash内嵌内容。当内容需要被描述时,可以使用figure描述与内容有关的信息。

aside:描述与正文不相干的附属信息,一些文章的注意信息或者网站小工具可以通过aside来描述。

foot:页脚信息

 

更详细的内容可以看shyleokingIBMDW

 

什么是Web语义化?

简单来说就是为了让机器可以理解数据内容,从而提升人类使用网络获取信息的体验。除了web语义化外,还可以通过人工智能AI来增强机器对于数据的理解。随着email发展的文档模型(BOM、DOM)是方便人类阅读的,要使机器能够理解,从数据到表述的本体的映射,就要使用web语义化。(Hypertext是在文本协议上扩展文档关系的能力)

HTML规范其实一直在往语义化的方向上努力,许多元素、属性在设计的时候,就已经考虑了如何让各种用户代理甚至网络爬虫更好地理解HTML文档。就像上文描述,HTML5更是在之前规范的基础上,将所有表现层(presentational)的语义描述都进行了修改或者删除,增加了不少可以表达更丰富语义的元素。

更多理解可以看知乎问答

 

关于语义化的SEO

搜索引擎就算通过网络爬虫来抓取网站信息并建立索引。比如google的robot和百度的baiduspider。而搜索引擎优化(SEO)是网站相关工作人员用来提高搜索引擎的爬取水平、提高网站排名。这有分为白帽方法和黑帽方法。白帽方法企图发现并纠正使得排名不好的错误,使得对搜索引擎和用户更加友好。比如优化图形内容、包括ALT属性和增加文本说明。

搜索引擎一般都会发布相关指南,文档内包含遵循搜索引擎哪些可接受哪些不能接受的指导方针。

比如百度的百度搜索引擎优化指南

  • 使用文字而不是flash、图片、Javascript等来显示重要的内容或链接
  • 如果必须使用Flash制作网页,建议同时制作一个供搜索引擎收录的文字版,并在首页使用文本链接指向文字版
  • Ajax等搜索引擎不能识别的技术,只用在需要用户交互的地方,不把希望搜索引擎“看”到的导航及正文内容放到Ajax中
  • 不使用frame和iframe框架结构,通过iframe显示的内容可能会被百度丢弃
  • 为每个页面都加上导航栏,让用户可以方便的返回频道、网站首页,也可以让搜索引擎方便的定位网页在网结构中的层次。
  • 通过面包屑导航,用户可以很清楚的知道自己所在页面在整个网站中的位置,可以方便的返回上一级频道或者首页也很方便。
  • 内容较多的网站,建议使用面包屑式的导航,这更容易让用户理解当前所处的位置:网站首页 > 频道 > 当前浏览页面
  • 导航中使用文字链接,不使用复杂的js或者flash
  • 使用图片做导航时,可以使用Alt注释,用Alt告诉搜索引擎所指向的网页内容是什么
  • 如果网站中同一网页,只对应一个url
  • 如果站点临时关闭,当网页不能打开时,不要立即返回404,建议使用503状态。503可以告知百度spider该页面临时不可访问,请过段时间再重试。
  • 如果百度spider对您的站点抓取压力过大,请尽量不要使用404,同样建议返回503。这样百度spider会过段时间再来尝试抓取这个链接,如果那个时间站点空闲,那它就会被成功抓取了。
  • 有一些网站希望百度只收录部分内容,例如审核后的内容,累积一段时间的新用户页等等。在这种情况,建议新发内容暂时返回403,等审核或做好处理之后,再返回正常状态的返回码。
  • 站点迁移,或域名更换时,请使用301返回。
  • 善用Meta description

google也发布了谷歌搜索引擎优化初学者指南

  • 创建独特、准确的页面标题
  • 更好地使用描述元标签
  • 优化URL的结构
  • 让您的网站更易于检索和浏览
  • 提供高质量的内容和服务
  • 写好链接锚文本
  • 优化图片的使用
  • 正确使用heading标签
  • 更加有效地使用robots.txt文件
  • 谨慎使用rel=“nofollow”

上述都属于白帽方法,而黑帽方法利用和放大搜索引擎的策略缺陷(实际上完美的系统是不存在的)获取更多用户访问量。这也是web开发不提倡的。

总之白帽、黑帽的判断方法,就是你做这个东西是否对用户有价值。

 

HTML5常用标签解释

一、主体结构

header 页面头部,不同与<head></head>
aside 边栏
nav 外部链接集合
section 章节或段落
article 类似文章、摘要或留言POST等形式的记录(一般搭配内嵌头部、尾部、底部结构使用)
hggroup 类似子标题,标题信息、可选标题、TAG标签这样的数据,还是英文更好理解一些,heading of a section
address 联系信息,一般用在article或body锚元素周围
footer 页脚

 

二、HTML 5元素标记汇总表

文档类型宣告 <!DOCTYPE html>
根元素元素 html
META元素 head、 title、base、link、meta、style
部件元素 body、section、nav、article、aside、h1、 h2、 h3、h4、 h5、 h6、hgroup、header、footer、address
分组内容元素 p、hr、br、pre、blockquote、ol、ul、li、dl、dt、dd、figure、figcaption、div
文本层次语义元素 a、em、strong、small、cite、q、dfn、abbr、time、code、var、samp、kbd、sub、sups、i、b、mark、ruby、rt、rp、bdo、span
编辑元素 ins、del
嵌入内容元素 img、iframe、embed、object、param、video、audio、source、canvas、map、area
表格元素 table、caption、colgroup、col、tbody、thread、tfoot、tr、td、th
表单元素 form、fieldset、legend、label、button、select、datalist、optgroup、option、textarea、keygen、output、progress、meter
互动元素 details、summary、command、menu
脚本元素 script、noscript

 

三、HTML5元素标记释义

标记 意义 介绍
文件标记
<html> 根文件标记 让浏览器知道这是HTML 文件
META标记
<head> 开头 提供文件整体信息
<title> 标题 定义文件标题,显示于浏览器顶端
<base> 基准标记 可将相对URL转绝对及指定链接
<link> 外部资源连接 必须带rel属性描述
<meta> 其它META数据 不能被title, base, link, style, 和script元素描述的META数据
<style> 嵌入文档风格信息
部件标记
<body> 文档主体开始 文档内容容器
<section> 代表通用文档或应用部件
<nav> 导航链接 外部链接或文档内部链接
<article> 页面模块 类似文章、摘要或留言POST等形式的记录
<aside> 孤立模块 一般作为边栏广告、说明、引用、导航等,aside围堵部分一般与正文耦合较小
<h1> 标题标记 此外还有h2, h3, h4, h5, h6
<hgroup> 群组标题 用在一组h1-h6这样的元素集合时使用,用来区分主副标题??
<header> 组说明或组导航 也可叫页头标题
<footer> 页脚标题 作用范围跟最近部件元素有关
<address> 地址或联系信息
分组内容标记
<p> 段落标记
<hr> 水平分割线
<br> 换行
<pre> 预格式化分本块
<blockquote> 块引用
<ol> 编号列表
<ul> 项目列表
<li> 列表项
<dl> 定义列表
<dt> 定义名称
<dd> 定义说明
<figure> 流内容区块说明 多结合figcaption使用
<figcaption> figure内容属性
<div> 定位标记 无实际意义
文本层次语义标记
<a> 链接标记
<em> 强调标记
<strong> 加重标记
<small> 字体缩小
<cite> 斜体标记
<q> 引用标记内容 原文是phrasing content,暂不清楚如何翻译
<dfn> 术语定义
<abbr> 缩略语
<time> 日期时间
<code> 程序代码
<var> 变量
<samp> 范例
<kbd> 键盘字
<sub><sups> 上标字/下标字
<i> 斜体标记
<b> 粗体标记
<mark> 标记或高亮
<ruby> 注解标记
<rt> ruby子元素 结合ruby使用,比如:<ruby>天<rt>Tian</rt>缘<rt>Yuan</rt></ruby>
<rp> ruby子元素 一般做rt元素注释使用
<bdo>
<span> 自定义标记
编辑标记
<ins>
<del>
嵌入内容标记
<img> 图片标记
<iframe> 框架标记
<embed> 嵌入标记
<object> 对象标记
<param> 参数标记
<video> 视频标记
<audio> 音频标记
<source> 来源标记
<canvas> 制图标记
<map> 地图标记
<area> 区域标记
表格标记
<table> 表格标记 设定该表格的各项参数
<caption> 表格标题 做成一打通列以填入表格标题
<colgroup>
<col>
<tbody>
<thread>
<tfoot>
<tr> 表格列 设定该表格的列
<td> 表格栏 设定该表格的栏
<th> 表格标头 相等于<TD>,但其内文字字体会变粗
表单标记
<form> 表单标记 决定该表单的运作模式
<fieldset>
<legend>
<input> 输入标记
<label>
<button> 按钮
<select> 选择标记
<datalist>
<optgroup>
<option> 选项
<textarea>
<keygen>
<output>
<progress>
<meter>
互动元素
<details>
<summary>
<command>
<menu>
其他标记
<script>
<noscript>

 

参考链接:

Edward Desire:HTML5:web语义化与SEO

黑妞HAHA:html5 常用 标签