什(shén)麽是僞靜态?要明(míng)白這(zhè)個(gè)概念首先我們需要先弄清楚兩個(gè)前提概念:靜态網站和(hé)動态網站。靜态網站。
1.什(shén)麽是靜态網站
靜态網站不能簡單地理(lǐ)解成靜止不動的(de)網站,它主要指的(de)是網頁中沒有程序代碼,隻有HTML(即:超文本标記語言),一般後綴爲.html、.htm,或者.xml等。
靜态網站由存儲在 Web 服務器上的(de)固定數量的(de)預構建文件組成。這(zhè)些文件是用(yòng)HTML、CSS 和(hé) JavaScript 編寫的(de),因爲它們在用(yòng)戶的(de) Web 浏覽器中執行。當用(yòng)戶使用(yòng) URL 向服務器請求頁面時(shí),服務器會返回由 URL 指定的(de) HTML 文件以及任何随附的(de) CSS 或JavaScript 文件。
交換期間,Web 服務器在将文件發送給用(yòng)戶之前不會更改文件,因此該網站對(duì)于所有請求它的(de)人(rén)來(lái)說都是完全相同的(de)。即内容是“靜态的(de)”不管任何人(rén)任何時(shí)間打開的(de)頁面的(de)内容都是不變的(de)。更新網站唯一方法是手動更改文件的(de)内容。
靜态頁面優點:(1)訪問效率較高(gāo)(2)頁面内容固定不變,容易被搜索引擎收錄(3)頁面程序在用(yòng)戶浏覽器端解析,當客戶端向服務端請求數據時(shí),服務器會直接從磁盤文件系統上返回數據。
靜态網站的(de)缺點:(1)可(kě)擴展性差,任何時(shí)候我們想要進行站點範圍内的(de)内容更新,我們都必須更改每個(gè)單獨的(de) HTML 文件。此外,每當我們想添加新頁面時(shí),都必須手動創建一個(gè)新的(de) HTML 文件。更新維護起來(lái)非常麻煩。(2)缺乏個(gè)性化(huà),無法爲訪問者定制内容,錯過爲訪問者創造更具吸引力的(de)體驗的(de)機會。,有許多(duō)類型的(de)站點是無法靜态構建的(de)。例如,線上商城(chéng)要允許用(yòng)戶将産品添加到他(tā)們的(de)購(gòu)物(wù)車并結帳,這(zhè)就是靜态網站無法實現的(de)功能,除非依賴第三方工具。
所謂“動态”并不是指網頁上簡單的(de) GIF 動态圖片或是動畫(huà)、視頻(pín)。動态網站在頁面裏嵌套了(le)程序,這(zhè)種網站對(duì)一些框架相同,更新較快(kuài)的(de)信息頁面進行内容與形式的(de)分(fēn)離,将信息内容以記錄的(de)形式存入了(le)網站的(de)數據庫中,以便于網站各處的(de)調用(yòng)。這(zhè)樣,我們看到的(de)一個(gè)頁面,可(kě)能在服務器上不一一對(duì)應某個(gè) html 的(de)文件了(le),網頁框架裏套了(le)很多(duō)數據庫裏的(de)記錄中的(de)内容。此外動态網頁是與靜态網頁相對(duì)應的(de),也(yě)就是說,網頁URL 的(de)後綴不再是.htm、.html 、.shtml、.xml 等靜态網頁的(de)常見形式,而是以 .asp、 .jsp 、.php 、.perl 、.cgi 等形式爲後綴。無論網頁是否具有動态效果,采用(yòng)動态網站技術生成的(de)網頁都稱爲動态網站。
動态頁面優點:(1)更具吸引力的(de)用(yòng)戶體驗,能夠爲每個(gè)訪問者個(gè)性化(huà)網站内容,這(zhè)意味著(zhe)更具吸引力的(de)用(yòng)戶體驗會帶來(lái)更多(duō)的(de)轉化(huà)和(hé)購(gòu)買。除了(le)個(gè)性化(huà)之外,服務器端腳本非常強大(dà),并爲功能提供了(le)無數可(kě)能性。動态代碼使我們能夠構建靜态方法根本無法實現的(de) Web 應用(yòng)程序、SaaS 軟件和(hé)豐富的(de)體驗。(2)更新内容的(de)便利性,管理(lǐ)員(yuán)可(kě)以快(kuài)速輕松地對(duì)其站點進行全面更改,而無需更新每個(gè)HTML文件的(de)源代碼。
(3)更好的(de)擴展性,同樣以線上商城(chéng)網站爲例,假設您想向網站添加幾個(gè)新産品。無需在HTML中構建單獨的(de)産品頁面,您隻需将産品信息存儲在數據庫中即可(kě)。服務器端腳本可(kě)以提取這(zhè)些數據來(lái)自動構建産品頁面。
動态網站的(de)缺點:(1)訪問效率比較低,由于動态網頁實際上并不是獨立存在于服務器上的(de)網頁文件,隻有當用(yòng)戶請求時(shí)服務器才返回一個(gè)完整的(de)網頁,其中涉及到數據的(de)連接訪問和(hé)查詢等一系列過程,所以響應速度相對(duì)較慢(màn)(2)不便于被搜索引擎收錄, 動态網頁中的(de)“?”對(duì)搜索引擎檢索存在一定的(de)問題,搜索引擎一般不可(kě)能從一個(gè)網站的(de)數據庫中訪問全部網頁,或許出于技術方面的(de)考慮,搜索引擎不會抓取網址中“?”後面的(de)内容,因此采用(yòng)動态網頁的(de)網站在進行搜索引擎推廣時(shí)需要做(zuò)一定的(de)技術處理(lǐ)才能适應搜索引擎的(de)要求。
靜态頁面與動态頁面區(qū)别:
理(lǐ)解以上兩個(gè)概念後,就能非常容易的(de)理(lǐ)解什(shén)麽是僞靜态了(le),即從文件後綴來(lái)看和(hé)靜态頁面一樣,但是實際上他(tā)是個(gè)動态頁面,隻是通(tōng)過技術手段僞裝成立靜态頁面的(de)樣子,僞靜态頁面的(de)内容是通(tōng)過讀取數據庫生成的(de)。
按目前網站的(de)功能日益複雜(zá)化(huà)、個(gè)性化(huà)趨勢,所以大(dà)部分(fēn)需求都要動态網站才能滿足需求,但是由于動态頁面的(de)生成是采用(yòng)數據庫的(de)内容,網頁内容主題的(de)永恒性不能保證。這(zhè)樣造成了(le)搜索引擎的(de)閱讀困難,即搜索引擎抓不住一個(gè)永恒的(de)主題,因此不能輸入到搜索引擎中的(de)緩存( cache )中。動态網址裏往往包含“?”和(hé)很多(duō)參數,這(zhè)讓目前技術條件下(xià)的(de)搜索引擎在判斷和(hé)識别造成了(le)很大(dà)的(de)困難。
那既然靜态隻是給SEO看的(de),我們隻需要僞靜态給SEO就行了(le),不需要給用(yòng)戶使用(yòng)。所以把動态網址進行 URL 重寫優化(huà)使其靜态化(huà),是一個(gè)非常重要的(de) SEO 技巧。動态頁面的(de)鏈接是動态産生的(de),在返回頁面内容之前,動态腳本需要一些信息,如 cookie data 、 session id 或字符串。動态頁面是基于數據庫驅動的(de),通(tōng)過腳本語言動态産生的(de)頁面。動态網站中有模闆,内容一般存放于數據庫中。要浏覽頁面時(shí),模闆調用(yòng)數據庫中的(de)内容,參數被添加到 URL 上 , 這(zhè)種複合型 URL 告訴了(le)模闆要裝載的(de)具體内容。浏覽者在動态網站中通(tōng)過使用(yòng)查詢字符串發現信息,這(zhè)種查詢字符串被鍵入表單中或被預先編碼在主頁上的(de)鏈接中。
搜索“蜘蛛”不清楚如何使用(yòng)查詢功能,若“蜘蛛”用(yòng)沒有查詢字符串的(de)不完整請求向服務器提交,服務器會要求信息完整地址,這(zhè)是“蜘蛛”不能理(lǐ)解的(de),從而可(kě)能陷入了(le)一種死循環 中。搜索引擎難以處理(lǐ)動态網站,因不能提供産生頁面需要的(de)信息,會陷入到動态頁面服務器中而不能自拔,蜘蛛和(hé)服務器陷入無限循環之中,會導緻服務器癱瘓。因此,動态網頁内容對(duì)大(dà)多(duō)數搜索引擎蜘蛛是不可(kě)見的(de),大(dà)多(duō)數蜘蛛反感動态頁面,在識别出這(zhè)種 URL 後會敬而遠(yuǎn)之。不會檢索它。
因此需要把這(zhè)些有價值的(de)内容轉換成随蜘蛛可(kě)見的(de)形态。參數越多(duō),越難以被檢索到。爲了(le)克服這(zhè)種不完整地址問題。最好是修改URLs參數越少越好,最好把頁面靜态化(huà)。便于得(de)到更快(kuài)的(de)百度搜索引擎好感度,得(de)到更快(kuài)的(de)排行。