1. 程式人生 > >thinkphp之url的seo優化

thinkphp之url的seo優化

引擎 .so 是我 rul inf spa 框架 引擎優化 首頁

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優化