前端工程師必須要知道的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.pswp.cn/news/257117.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257117.shtml
英文地址,請注明出處:http://en.pswp.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…