Web語義化,使用語義恰當的標籤,可讓頁面具備良好的結構,頁面元素具備良好的含義,從而讓人和機器都能快速理解。語義化的web頁面一方面可讓機器在更少的人類干預狀況下收集並研究網頁的信息,從而能夠讀懂網頁的內容,而後將收集彙總的信息進行分析,結果爲人類所用;另外一方面它可讓開發人員讀懂結構和用戶以及屏幕閱讀器(若是訪客有視障)可以讀懂內容。css
SEO也就是Search Engine Optimization,搜索引擎優化。指經過站內優化好比網站結構調整、網站內容建設、網站代碼優化等以及站外優化,好比網站站外推廣、網站品牌建設等,使網站知足搜索引擎收錄排名需求,在搜索引擎中提升關鍵詞排名,從而吸引精準用戶進入網站,得到免費流量,產生直接銷售或品牌推廣。html
人能夠經過視覺的劃分判斷內容的語義,而搜索引擎只能經過爬取網頁標籤等代碼來判斷內容的語義。獲得搜索引擎的有效爬取,是提升網站流量的有效方法之一。要使頁面儘量地對搜索引擎友好,因此就要儘量地使標籤和內容語義化。html5
web語義化應該是樣式與結構分離的結果,重構中的語義化包含HTML標籤語義化和CSS命名語義化,HTTP的語義化是針對HTTP協議來講。git
HTML爲網頁文檔內容提供上下文結構和含義。對於HTML體系而言,Web語義化是指使用語義恰當的標籤,使頁面有良好的結構,讓頁面元素有含義,便於被瀏覽器、搜索引擎解析。一般咱們所說的HTML應該是徹底脫離表現信息的,其中的標籤應該都是語義化地定義了文檔的結構。web
例如:爲了SEO,咱們會選擇h1標籤來突出標題,用strong標籤來突出關鍵字,這其實就是語義化的體現。SEO的原理實際上是分析源碼來體現或猜想網站要表達的內容。好比咱們想表達某篇文章的標題, 咱們或許會這樣寫:canvas
<div class=」title」>文章的標題</div>
可是爲了更好的討好搜索引擎咱們最好寫成以下形式:segmentfault
<h1>文章的標題</h1>
一些經常使用的標籤元素有:瀏覽器
此外,meta Description/meta keywords等針對搜索引擎和更新頻度的描述和關鍵詞的meta標籤也會用來實現網頁的SEO。
【詳細能夠參考:w3schools.com:... 】網絡
HTML 規範其實一直在往語義化的方向上努力,許多元素、屬性在設計的時候,就已經考慮瞭如何讓各類用戶代理甚至網絡爬蟲更好地理解 HTML 文檔。HTML5 更是在以前規範的基礎上,將全部表現層的語義描述都進行了修改或者刪除,增長了很多能夠表達更豐富語義的元素,也出現不少能夠提到DIV元素的更具象的標籤。
一個經典的頁面結構如圖:
<header> <hgroup> <h1>標題</h1> <h2>副標題</h2> </hgroup> <p> 文本或者圖片</p> </header>
<nav> <ul> <li><a href="#">主頁</a></li> <li><a href="#">關於咱們</a></li> </ul> </nav>
<article> <section> Content </section> <section> Content </section> </article> <section> <article> Content </article> <article> Content </article> </section>
<figure> <img src="/figure.jpg" width="304" height="228" alt="Picture"> <figcaption>Caption for the figure</figcaption> </figure>
媒體元素
audio/video/source/embed
<aside> <h4>Disney in France</h4> <p>Besides Euro Disney, there is a Disneyland in California.</p> </aside>
CSS語義就是class和ID命名的語義。class屬性做爲HTML與CSS銜接的紐帶,其本意是用來描述元素內容的。指用易於理解的名稱對html標籤附加的class或id命名。若是說HTML語義化標籤是給機器看的,那麼CSS命名的語義化就是給人看的。良好的CSS命名方式減小溝通調試成本,易於理解。
CSS命名首先要知足W3C的命名規範和團隊的命名規範。其次是高效和可重用性。
就好像.main/.sidebar會比.left_content/.right_content的class命名靈活性更好。
<!-- 以表現爲中心 --> <div class="lr margin10"> <span>nickName:seg</span> <div> <!-- 以信息爲中心 --> <p class="user-info"> <em>nickName:seg</em> <p>
url語義化,可使得搜索引擎或者爬蟲更好地理解當前url所在目錄所須要表達的內容;而對於用戶來講,經過url也能夠判斷上一級目錄或者下一級目錄想要表示的內容,能夠提升用戶體驗。
例如我司的搜索品類的url:
https://mall.midea.com/index.php/category?id=10049&addr_code=440000,440100,440103 https://mall.midea.com/category?id=10049&addr_code=440000,440100,440103
這兩個url指向的是同一個資源,可是顯然第二個url對於用戶和搜索引擎更加友好。url語義化能夠從如下標準來衡量:
About HTML semantics and front-end architecture
HTML Element Reference
HTML語義化
IBM developerWorks®
url重構
search-engine-optimization-starter-guide-zh-cn