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