thinkphp之url的seo優化
1.網站url做seo優化的原因
SEO是由英文Search Engine Optimization縮寫而來, 中文意譯為“搜索引擎優化”。SEO是指通過對網站進行站內優化(網站結構調整、網站內容建設、網站代碼優化等)和站外優化,從而提高網站的關鍵詞排名以及公司產品的曝光度。
URL優化的效果跟站點在百度的權重關聯性不大,但是對收錄、蜘蛛爬行和傳遞權重有明顯的提升。
蜘蛛爬行原理:蜘蛛爬行原理有 深度優先和寬度優先了解:
(1)深度優先:深度優先適用於一些大站,蜘蛛很渴望得到他的內容,比如新浪網易他們的目錄很長,也能收錄。假如我們給蜘蛛一個線程只能爬取一個頁面,爬行軌跡:首頁-封面頁-頻道頁-內容頁,那麽你網站的結構是:首頁=> xxx/a=> xxx/a/b=> xxx/a/b/c/1.html=>。蜘蛛會沿著你的深度爬行進去,但是無論多大的站,你的深度也必須有限,否則蜘蛛不可能無窮盡的挖掘進去,爬累了自然就會離開。並且內容也沒帶回去。
(2)寬度優先:這個是我非常推崇的,而且我所有新站都是這種效果。效果說明在扁平化的今天,寬度優先是可以讓蜘蛛非常高效的爬行和返回的。url結構 xxx/a/ xxx/b/ xxx/c/ 這類的叫寬度優化,爬行軌跡 :首頁-頻道頁A-頻道頁B-頻道頁C/首頁-頻道頁A-內容頁A1-內容頁A2-內容頁A*
綜上所述。其實可以看出:寬度優先的效率明顯高於深度優先。而且蜘蛛的任務類別也單一,非常容易識別。同一線程爬取的幾乎是同一類型頁面,頁面樣式,外觀相同。蜘蛛不必花時間過於的去分析你的頁面內結構,層次清晰。
從蜘蛛爬行原理入手,現在討論一下thinkphp框架的網站如何做url的seo優化
1.1.設置URL偽靜態
在config.ini.php中設置,把URL做成偽靜態,那麽需要在config.php文件中設置:
‘URL_MODEL‘=>2, //URL模式為REWRITE模式
PATHINFO模式是Thinkphp系統的默認URL模式,提供了最好的SEO支持,系統內部已經做了環境的兼容處理,所以能夠支持大多數的主機環境。
‘URL_HTML_SUFFIX‘ =>‘.html‘, //配置文件中這句話的意思,在url的結尾以html後綴名結尾,這樣可以看起來是靜態文件,對seo有一定用處!
例如:
普通模式下URL:http://localhost/?m=home&c=user&a=login&var=value
PATHINFO模式下URL:http://localhost/index.php/home/user/login/var/value/
其中‘URL_MODEL‘=>2設置url的方式,‘URL_HTML_SUFFIX‘ =>‘.html‘設置後綴。
1.2.將index.php隱藏。
http://localhost/index.php/home/user/login/var/value/
通常的URL裏面含有index.php,為了達到更好的SEO效果可能需要去掉URL裏面的index.php ,通過URL重寫的方式可以達到這種效果,通常需要服務器開啟URL_REWRITE模塊才能支持。
下面是Apache的配置過程,可以參考下:
1、httpd.conf配置文件中加載了mod_rewrite.so模塊
2、AllowOverride None 將None改為 All
3、確保URL_MODEL設置為2
4、把下面的內容保存為.htaccess文件放到入口文件的同級目錄下
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
重啟Apache之後,原來的
http://localhost/index.php/home/user/login/var/value/
就可以通過訪問
http://localhost/home/user/login/var/value/
簡化了URL地址。
3.URL地址簡化
如果覺得我們以上的偽靜態地址路徑層次夠深,想直接在根目錄下的地址如:
http://www.ipbia.com/index_index.html
對搜索引擎更友好,那麽可以在配置文件中設置:
‘URL_PATHINFO_DEPR‘ => ‘_‘,
前提:PATHINFO模式下面,URL是可定制的,例如,通過下面的配置:
‘URL_PATHINFO_DEPR‘=>‘_‘,
那麽上面的url就變成了:http://localhost/index.php/home_user_login_var_value
根據百度蜘蛛爬行原理:寬度優先的效率明顯高於深度優先,將url模式設置成 http://localhost/index.php/home_user_login_var_value
這種模式,將更有利於百度蜘蛛爬行
2.配置url偽靜態,那麽設置靜態緩存尤為重要
靜態規則的定義方式如下:
‘HTML_CACHE_ON‘ => true, // 開啟靜態緩存 ‘HTML_CACHE_TIME‘ => 60, // 全局靜態緩存有效期(秒) ‘HTML_FILE_SUFFIX‘ => ‘.shtml‘, // 設置靜態緩存文件後綴 ‘HTML_CACHE_RULES‘ => array( // 定義靜態緩存規則 // 定義格式1 數組方式 ‘靜態地址‘ => array(‘靜態規則‘, ‘有效期‘, ‘附加規則‘), // 定義格式2 字符串方式 ‘靜態地址‘ => ‘靜態規則‘, )
當我們的網站某個頁面被百度蜘蛛爬行,收錄以後,那麽在搜索到相關頁面的時候,就會默認訪問我們緩存的這個靜態頁面
thinkphp之url的seo優化