新安裝的WP站點,訪問默認模板和后臺訪問速度非常慢,抓包查看請求的情況,發現有 http://0.gravatar.com/ 的請求被pengding了,導致訪問速度下降,gravatar是國外的一個頭像服務,國內也被墻了,因此請求失敗,有三種解決方法:
1、替換法
這種方法的基本思路為兩類,一類是在尋找一個國內的gravatar鏡像站,將wordpress中的gravatar替換成國內鏡像站,這樣提高請求成功率和訪問速度。例如 http://gravatar.duoshuo.com ,這個站點就提供了gravatar的國內鏡像。這種做法的缺陷在于這種鏡像站不知道什么時候會被關閉,因此也不是唯一解決之道。另外一類將頭像緩存到國內其他站點,甚至于緩存到vps本地,也能解決這個問題。具體做法見這個鏈接:http://www.freehao123.com/wordpress-gravatar/
2、插件法
安裝 Wp Super Cache 插件,可以將頭像文件靜態化到html文件中,這樣提高訪問速度,具體做法見:http://www.freehao123.com/wp-super-cache/ 不過這種方法我并沒有使用,所以無法給出驗證效果。
3、直接禁止gravatar服務
這是一勞永逸的簡便做法,直接禁止gravatar服務有兩種做法,4.0版本中提供了一個簡單的設置方法,在 后臺->設置->討論中,有一個選項為頭像顯示,取消這個選項,即可取消gravatar服務,另外有網友提供了直接代碼修改的方法,在wp-includes/pluggable.php中有get_avatar函數,修改代碼如下:
- if ( !function_exists( ‘get_avatar’ ) ) :
- function get_avatar( $id_or_email, $size = ’96’, $default = ”, $alt = false ) {
- if ( ! get_option(‘show_avatars’) )
- return false;
- if ( false === $alt)
- $safe_alt = ”;
- else
- $safe_alt = esc_attr( $alt );
- if ( !is_numeric($size) )
- $size = ’96′;
- $default = includes_url(‘images/blank.gif’);
- $avatar = “”;
- return apply_filters(‘get_avatar’, $avatar, $id_or_email, $size, $default, $alt); //Vevb.com
- }
- endif;
使用該函數,僅可能返回一個默認頭像(位于wp-includes/images/blank.gif內),也能達到提高速度的效果.
新聞熱點
疑難解答
圖片精選