首页  >  文章  >  web前端  >  HTML5:web语义化与SEO_html/css_WEB-ITnose

HTML5:web语义化与SEO_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-21 08:49:261129浏览

标签的语义认知是HTML5中的一个内容,下图就算HTML5中的元素。

按照元素的默认表现形式还可以分为:块、行内(内联)、内联块3类元素。

  • 块元素:

    ...

      、、
      其样式为: { display: block ; } 。每个块元素从新的一行开始,其后元素也另起一行。元素高度、宽度、行高以及顶和底边距都可设置。宽度默认为100%
    • 行内元素:
    • 内联块: HTML5:web语义化与SEO_html/css_WEB-ITnose 其样式为: { display: inline-block; } 。内联块元素和其他元素在一行上。但是元素高度、宽度、行高以及顶和底边距都可设置。
    • 使用HTML5风格编写html文件时通过DOCTYPE告知客户端应该怎样解析文档,而HTML直接为 'html', 比如下列例子。

      <!DOCTYPE html>    <html>    <head>        <title></title>    </head>    <body>    </body></html>

      html5有许多基于结构的元素是来替代div功能或者部分替代功能。所以使用html5时应该遵守的原则:自圆其说,不勉强。

      依据html5规范,一个经典的页面设计如上图。

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

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

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

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

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

      这一部分更详细的内容可以看 shyleoking 、 IBMDW

      html5为了语义化增补这么多内容,那么语义化到底是什么呢?

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

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

      更多理解可以看知乎 问答

      搜索引擎就算通过网络爬虫来抓取网站信息并建立索引。比如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开发不提倡的。

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

      上述还说道搜索引擎对于AJAX的信息抓取。百度好像是不支持抓取,而google已经支持抓取了。而我们可以通过html的history API来让搜索引擎获取单页网页更新内容。具体可以看ruanyifeng的 文章

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn