wordpress資料庫優化
『壹』 如何在WordPress後台直接優化Mysql資料庫
為什麼需要優化資料庫
隨著
MySQL
的使用,包括
BLOB
和
VARCHAR
位元組的表將變得比較繁冗,因為這些欄位長度不同,對記錄進行插入、更新或刪除時,會佔有不同大小的空間,記錄就會變成碎片,且留下空閑的空間。就像具有碎片的磁碟,會降低性能,需要整理,因此要優化。
如何優化
WordPress
資料庫
而
WordPress
使用的資料庫正是
MySQL,所以當你覺得
WordPress
速度比較慢的時候,對
MySQL
進行優化下,可以相當程度上提高
WordPress
的速度。我們可以通過
phpMyAdamin
對
MySQL
表進行優化:
在
PHPMyAdmin
優化
MySQL
表
使用
Optimize
DB
插件在WordPress
後台直接優化
MySQL
資料庫
但是如果每次都要進入
PHPMyAdmin
優化
MySQL表,這樣是非常麻煩的,今天推薦的插件:Optimize
DB
就能讓你在
WordPress
後台直接優化
MySQL
數據表。
該插件安裝非常簡單,上傳激活即可,激活之後,在
WordPress
後台
>工具(Tools)>
Optimize
DB
就能優化
MySQL
數據表了:
在
WordPress
後台優化
MySQL
表
上圖中的
overhead
就是資料庫冗餘,點擊
Optimize
Now,就可以優化。
文:我愛水煮魚
『貳』 WordPress 新的建網站速度太慢了,怎麼辦
第一、選擇速度好的主機
一款優秀、穩定、速度快的虛擬主機、VPS是影響我們WORDPRESS網站打開速度的關鍵因素之一,不管我們是使用哪種CMS搭建網站,我們需要選擇好主機。不同的商家、不同的數據中心,速度是不一樣的。比如我們一般選擇VPS搭建中文網站,選擇較多的是日本、洛杉磯等物理距離離我們距離較近的海外商家機房。如果是英文網站,即便海外的差距比較小,但是還是要根據不同的用戶群體選擇機房,比如我們有針對歐洲用戶的,那最好還是選擇歐洲的機房產品。
即便我們在國內主機需要BEIAN,但是鑒於速度和穩定性、長久性考慮,如果我們是正規的,希望長期堅持的,老左還是建議選擇國內的服務商。
第二、選擇合適的主題
很多WordPress用戶,尤其是剛剛接觸網站的看到WP擁有無數個漂亮的主題都希望自己的博客/網站也裝扮的很漂亮(每一個新站長都是這樣的),然後就會選擇各種復雜的,甚至是海外的商務主題。其實越是復雜的主題載入的圖片、外部調用、JS等信息就多,勢必會導致整個頁面的載入速度。
所以,我們在選擇主題的時候,就要考慮主題的載入速度,我們國內的網速與國外不好比,有些外部載入的資源需要本地化,以及圖片的尺碼大小需要考慮我們的帶寬速度。不能為了好看導致用戶訪問還沒打開,就給你的漂亮網站關閉。
第三、控制圖片以及JS的使用
不論是在頁面裝飾的圖片,還是我們文章中的圖片,建議選擇和使用合理的壓縮尺碼和大小,這樣有利於載入圖片。有必要的時候也需要用到圖片緩沖lazyload.js插件(最好不用插件,直接代碼化)。對於樣式和JS的調用,目前比較流行的做法是CSS放到頁面上部,JS放到頁面底部,這樣載入速度比較好。
第四、有必要使用CDN加速
老左個人不建議使用所謂的第三方CDN加速(分享5款國內免費CDN服務商及使用點評),即便在一定程度上起到加速功能,但是據說有些地區用了加速之後反而不如直接的打開快。但是,如果有存儲資源的,比如圖片或者文檔資源類,可以單獨使用加速服務,比如七牛等第三方CDN存儲服務,把佔用資源的信息用於第三方加速存儲。
第五、解決Google 字體載入問題
不論是默認的WORDPRESS程序主題也好,還是下載的第三方主題中也包括GOOGLE 字體。我們需要安裝Disable Google Fonts插件可以解決問題,如果主題中也有字體載入,我們還需要到對應的主題代碼中把googleapis替換成useso就可以。當然,對應的其他外部資源調用的,也需要考慮本地化。
第六、定期整理資料庫以及草稿版本
WORDPRESS默認的時候會自動生成一些版本信息,佔用比較大的資料庫緩存,我們可以使用WP Cleaner插件定期清理。同時,我們的MYSQL資料庫也需要定期維護優化,一般一周維護一次足夠。WP-Optimize資料庫優化插件也是可以的。對於這些插件我們用的時候安裝、啟動就可以,不用的時候刪除。
總之,我們如果希望Wordpress輕便,在主題的選擇上要輕便,在內容上要盡量的少圖片、小圖片,最好使用第三方存儲CDN加速資源,我們使用的主機/VPS速度也要好。每一個細節都完善一些,WORDPRESS還是一款不錯的CMS選擇。
『叄』 wordpress 資料庫多大時,訪問速度變慢
第一、取消谷歌Open sans字體載入
如果我們使用的默認主題,可能前台也會有,如果我們使用的自己製作的或者第三方的主題,一般前台是沒有的,只有我們在登陸賬戶後的前台和後台打開變慢,主要是不便於我們自己的訪問和維護。我們可以通過在後台插件搜索"Disable Google Fonts",下載安裝激活這個插件就可以解決這個問題。
第二、清除不必要的頭部載入
看到這里的時候我們可以到自己的WP網站源代碼看看,在頭部位置是不是看到很多的JS和CSS載入項目,多達十幾條,然後我們可以看看類似大前端這樣的主題源代碼,頭部基本上沒有多餘的載入,所所以他們的這類主題載入速度和打開速度非常的快,所以我們有必要清除不必要的JS載入,在"WordPress提速優化篇:清理HEAD頭部多餘腳本"也有提到,但是研究的還不夠細致,等下面有時間把大前端主題的屏蔽JS功能研究一下。
第三、刪除不必要的插件
理論上,能不用插件不用插件,在上周老左在幫網友解決問題的時候,看到他的網站使用的是阿里雲機房,照理說速度應該比較好,但是打開速度都不如美國東部機房速度,登陸其網站後台發現使用將近20多個插件,1G內存的VPS,內存已經佔用70%,一個新建立的網站開始就有這樣的負載,以後如果有流量後咋辦?
第四、是否使用商業化主題
我個人在使用WORDPRESS的時候喜歡使用簡單的主題,然後慢慢修改成自己喜歡的用戶體驗效果,不喜歡使用主題太復雜的,尤其是海外那些有特別復雜後台的主題,這樣的主題一來不太安全,二來載入速度特別慢,畢竟要實現這樣的絢麗效果需要用到很多JS和CSS,甚至還嵌入前端框架。我個人理解的是網站不需要太復雜和絢麗,簡單輕便,主要在於內容夠有內涵和吸引力。
第五、資料庫緩存文件負擔
在默認的時候,我們在後台寫文章會時隔一段時間自動給我們保存成修訂版本,這樣的修訂版本會自動保存到數據中心,即便我們在前台是看不到的,這樣像老左博客更新一篇文章需要花費幾十分鍾甚至1-2個小時的時候修訂版本會很多很多,這就是為什麼很多人發現ID不連續的原因,這樣在我們有1000篇文章時候可能會有3000個記錄文章,甚至在長久的運營之後會產生幾千上萬的記錄(這就是為什麼很多人說開始速度還可以,以後速度越來越不好)。我們需要刪除修訂版本,不讓修訂版本添加到數據中心。
解決方法:在wp-config.php文件中添加"define('WP_POST_REVISIONS', false);"代碼。
第六、檢查是否有垃圾評論
這一點很重要,之前老左的一台LINODE VPS一直給我發報警郵件說機器CPU超標達到400%,而且在其上面的網站打開速度特別慢,我開始以為又被人攻擊,然後通過日誌和後台一看,每秒鍾有幾十個的評論在增加,即便評論內容不會顯示在前台,但是會載入到資料庫中,這樣就增加了整個網站和機器的負載。我們需要用工具屏蔽、驗證垃圾評論,尤其是軟體群發的評論需要搞定他們。
比如我們需要激活Akismet以及使用類似需要驗證碼才可以評論的功能/插件,增加軟體群發評論的難度。
第七、優化圖片緩存
尤其是當下扁平化體驗的需求,我們喜歡用較多的圖片內容,比如老左博客教程中用到大量的圖片,但載入圖片是比較慢的,我們可以用到類似圖片緩沖的插件或者JS效果,比如可以用到jQuery lazy load plugin插件解決圖片緩沖,而且用戶體驗也比較好,圖片是從上到下載入的,有一個漸變效果。
同時,我們也需要用到WP-Super-Cache插件,這樣可以緩存內容,尤其是我們的WP是用偽靜態的時候,數據越大,佔用的CPU資源就比較大,甚至有很多虛擬主機商比較討厭用戶使用WP程序。(當然也比較討厭DEDECMS,安全性差)
總之,wordpress既然能成為當下用戶最大,最流行的CMS系統,肯定有他的優勢之處,但我們也要學會如何從細節優化。
『肆』 wordpress博客MySQL資料庫容量用超,求解怎麼給MySQL資料庫瘦身
惡意加的廣告是加在常用表裡了嗎?還是別的表?別的表還好說,常用表就麻煩了,用sql語句也要找到相應的正則吧。
DELETE FROM wp_comments WHERE 'wp_comments'.'comment_ID' > 10000;
是刪除表單中文章ID編號10000以後的文章,文章ID是按照創建時間遞增的,這命令應該可以實現你們要求。
『伍』 Wordpress插件過多很臃腫,怎麼優化
緩存就指很多方便了,比如CDN緩存、靜態緩存、資料庫緩存、瀏覽器緩存等等。
1、CDN緩存:CDN的話最好是備案了再起飛,因為大多數沒備案的CDN都是給美國節點,而很多人是香港伺服器,那豈不是繞著太平洋跑?另外,CDN需要正確的配置(寫緩存規則)才能夠達到最好的效果。
2、靜態資料庫緩存:這個呢就不做推薦了,各有各的優點,自己比較效果吧。
3、瀏覽器緩存:這里呢說一下,如果長期更新瀏覽器緩存不要搞太久,很多人在網路雲加速設置個一年什麼的。ServiceWorker的話可以試試,離線打開是不是很裝逼呢
精簡是重要的
很多優秀的主題包含了很多不必要的功能,這時候就需要適當的精簡,畢竟只有骨骼輕才可以飛。
插件的話能用純代碼就用純代碼,插件什麼的卡死了。
一些CSS/JS文件要適當的壓縮合並,減少請求數,因為在HTTP/1.1中每個文件都要握手。
Gzip的話是有必要開的,大家也知道打包文件更小吧。
HTTP/2壓縮了請求頭,而且合並了請求,也就是說全站兩個域名只需兩次請求。
SPDY的話是谷歌的一個項目,本身是為了加快HTTP,不過現在的HTTP/2已經包含了其大部分功能,谷歌也要放棄該項目了
支持HTTP/2的CDN有CloudFlare、騰訊雲、又拍雲、上海雲盾、360網站衛士、魔門雲(非聯盟已回源,備案無國內,只有一兩個節點,巨坑!)等等。
定時清理WordPress的垃圾
壓縮合並讓請求更快
動靜分離讓靜態資源國內載入
如果你是國外主機的話,這個方法十分管用,可以把圖片、CSS、JS文件等託管到國內,不過如果有了HTTP/2的話建議不要搞,因為又要與一個域名握手了。
HTTP/2 SPDY大法好
InstantClick預載入
這個之前提到過,InstantClick當訪客滑鼠懸浮在a鏈接時,InstantClick會非同步請求這個頁面,當訪客點擊時,便瞬間切頁,有木有飛起?不過這玩意會扯出一大堆Bug,像統計、高亮什麼的都需要重載,萌新就別弄了,國內估計也就澤澤大佬的Yo模板自帶了,至於WordPress還沒見過,主題作者也不想撤扯出一大堆問題讓用戶天天問吧。
經常聽一群人說清電腦辣雞,windows有垃圾,WordPress當然也有,例如自動草稿這樣的肯定是不要的東西,這里呢推薦WP Clean Up插件,國人寫的。
希望可以幫助到你,望採納!
『陸』 如何提高WordPress訪問速度與性能的四大方法
一、插件加速WordPress
主要是通過控制插件數量,配合使用頁面緩存插件,以及資料庫優化插件等結合。具體使用教程這里不詳細說明,大家可以搜索相關教程即可。
二、主題優化加速WordPress
1.主題代碼加速:
代碼決定了WordPress載入的速度,瀏覽你博客的速度在很大程度上是這個因素決定的(在同樣的網路環境下),用戶載入網頁的時間有80%花在這上面。要想你的WordPress飛速跑起來,代碼層次的優化是非常必要的。其實,壓縮CSS和JS也是非常簡單的事情,真的,不是你想像中的那麼難。壓縮CSS,推薦使用styleneat.com,操作方式非常簡單,但是卻能帶來很大的速度提升。
推薦方法是:把CSS放在開頭,把JS放在結尾 ;用Gzip壓縮網頁,WP CSS插件也可以實現這一功能;不要把CSS和js直接寫入網頁中,應載入外部;去除JS和CSS中的冗餘,最好把JS文件放在主題的footer.php里,在CSS和JS的優化上,CSS要首先載入,JS要最後載入;外部調用調用Google Code裡面的大型框架 – Ajax Libraries API。對這些框架的載入,讓Google的服務去承擔:) 常用的有:
jQuery
prototype
script.aculo.us
MooTools
dojo
調用方法就不必介紹了吧。
2.主題圖片優化:
優化圖片的好處是顯而易見的,首先減少HTTP請求數,可以節省大量的帶寬資源,這是代碼優化中很基礎也很重要的一個環節,其次,圖片優化,可以大大提供博客整體的載入速度。而一個網頁中的所使用到的圖片(諸如小圖標之類的)往往佔有很大部分的HTTP請求,所以將這些圖片合並成一張大的背景圖時,不但可以減少圖片整體的大小外,最重要的還是可以減少HTTP請求數。
相關方法就是利用CSS SCRIPT技術和一些圖片壓縮優化的方法來實現。
圖片壓縮建議使用,smush.it。
3.刪除冗餘的主題函數:
WordPress主題函數很多,每個函數也都有自己的作用,但是在一些時候,我們可以不使用函數,而直接使用具體的鏈接地址,這樣就避免了函數對資料庫的操作,從而提高了WordPress主題整體的載入速度。
三、資料庫優化加速WordPress
優化和修復你的資料庫
你應該定時(每周或每半個月)登錄一下你的phpmyadmin,然後對你的各個WordPress表進行優化和修復,很簡單,你只需要選中這些表,然後進行」Optimize table」和」Repair table」即可。(如果要慎重起見,你最好還是同時備份一下你的資料庫。安全和性能同時抓,何樂而不為?)
或者使用插件優化資料庫:目前公認最好的資料庫優化插件是:Optimize DB
四、其他方法加速WordPress:
1.使用可靠的圖片託管服務
盡可能將文章中的圖片保存到其他地方,如Google Picasa、Flickr等。而不是上傳到你的伺服器上。這樣做可以使Web伺服器減少很多平均CPU負載/存儲要求。
2.伺服器層次加速WordPress
置換更好的主機,部分博友有自己的伺服器或者VPS,可以針對VPS或者獨立伺服器的。使用輕量級、高性能的Nginx,PHP位元組碼緩存組件apc
3.為網頁靜態元素設置過期時間(以Nginx為例),以及增加Etags等。
4.關閉日誌修訂記錄功能
禁用並刪除 WordPress 文章修訂記錄,或者定期用Delete-Revision插件清理。
『柒』 wordpress 源代碼中內嵌了一些無法訪問的url拖累訪問速度
wordpress必裝插件,wordpress網站裝好了之後,為了更好的優化網站少不了安裝插件優化。今天給大家推薦wordpress必裝插件以及工具。只需輸入域名選擇wordpress主題或模板(內置90000套主題模板選擇)。一個網站就這樣搭建完成。軟體上還覆蓋各種主題功能以及全套SEO插件。等下會以圖片的形式給大家展示。大家注意看圖。一鍵建站+行業內容採集+偽原創+主動推送給搜索引擎收錄。
網站地圖,又稱站點地圖,它就是一個頁面,上面放置了網站上需求搜索引擎抓取的一切頁面的鏈接(註:不是一切頁面)。大多數人在網站上找不到本人所需求的信息時,可能會將網站地圖作為一種彌補措施。搜索引擎蜘蛛十分喜歡網站地圖。
製作網站地圖的工具十分多,如sitemapX,其他軟體功用大同小異。網站地圖放置在網站的根目錄,有一份或者多份,只要一份的狀況是頁面比較少,網站地圖文件較小,蜘蛛讀取速度快,反之蜘蛛讀取速度慢,所以分開多個文件放置,不由於讀取問題影響權重。另外,robots協議文件控制搜索引擎抓取范圍、時間頻率等,所以應該把網站地圖放在robots的最後面,先恪守robots抓取范圍。
出現404錯誤是在網站頁面被收錄了之後,後面又被刪除,在搜索引擎再次點擊即出現404錯誤。這對用戶體驗來說是相當糟糕的,但404錯誤又是無法避免的,中小型網站頁面數量不會很多,但是大型門戶網站,論壇等,數量就多了。404在seo優化中,尤其是在跳出率和PV上,起到關鍵作用。
什麼是404錯誤
先看看seo名詞解釋:HTTP 404或Not Found錯誤信息是HTTP的其中一種「標准回應信息」(HTTP狀態碼),此信息代表客戶端在瀏覽網頁時,伺服器無法正常提供信息,或是伺服器無法回應且不知原因。
出現404錯誤的影響
自定義404錯誤頁面是增強用戶體驗的很好的做法,但在應用過程中往往並未注意到對搜索引擎的影響。 搜索引擎蜘蛛在請求某個URL時得到「404」狀態回應時,即知道該URL已經失效,便不再索引該網頁,並向數據中心反饋將該URL表示的網頁從索引資料庫中刪除,刪除過程有可能需要很長時間;
搜索引擎得到「200」狀態碼時,則會認為該url是有效的,便會去索引,並會將其收錄到索引資料庫,結果是這兩個不同的url具有完全相同的內容,搜索贏球認為這是復制的網頁。輕則被搜索引擎降權,重則會K掉網站。靜態頁面為路徑的網站,在優化和刪除某些後台編輯的文章時,一定要把網站的生成靜態頁面(完整路徑的頁面)刪除,同時向網路進行死鏈提交。
這里要提到特殊的tag功能,dedecms能按照文章關鍵字自動生成tag標簽。如果tag標簽也被收錄,而你刪除了某些tag標簽,都會彈出「dedecms提示:該標簽已刪除」的錯誤頁面,會產生非常多重復且低質量的頁面。由於不是返回404,無法通過提交404錯誤,刪除這些快照。如果你有大量的tag標簽頁被收錄,404頁面的設置方法很多,以萬網虛擬機為例,Apache下設置404錯誤頁面。方法很簡單,只需在.htaccess 文件中加入如下內容即可:ErrorDocument 404 /notfound.php。也可在萬網空間設置裡面設置404頁面,只要選好404模板。
製作死鏈文件篩查網站內部存在的死鏈,並將這些死鏈頁面設置成為404頁面,即網路訪問它們時返回404代碼。將需提交的死鏈列表製作成一個死鏈文件,製作方法請參閱網路錯誤頁面提交幫助文檔(與sitemap格式及製作方法一致)
『捌』 怎麼清理優化wordpress資料庫
使用資料庫優化清理插件
『玖』 如何清理WordPress殘留垃圾數據
1、徹底清除殘留WordPress主題垃圾數據
經常換WP主題刪WP主題,裝插件刪插件很正常,但是簡單的刪除並不徹底,資料庫會有殘留,多餘的數據保留在post_meta表格里,久而久之就成了一堆可觀的垃圾。可使用下面的SQL語句來清除不需要的post meta值。有益於加快資料庫運行速度,減小數據。
處理方法:清理wp_postmeta數據表,刪除文章Meta標簽,執行SQL語句,(建議先備份資料庫,以上商法,後進者網路均已測試無誤)
DELETE FROM wp_postmeta WHEREmeta_key = 『_edit_lock』;
DELETE FROM wp_postmeta WHEREmeta_key = 『_edit_last』;
2、徹底刪除WP草稿修訂版本殘留數據
後台編輯文章時,系統會自動保存多個修訂的副本。過多的修訂記錄會加重資料庫負擔造成資源浪費,資料庫越來越龐大,增加了數據檢索影響頁面的載入時間。
處理方法:清理wp_posts數據表,刪除草稿修訂版本,執行SQL語句
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships bON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID =c.post_id)
WHERE a.post_type = 『revision』
注意: 此方法將刪除所有的文章的所有修訂版,包括相關的meta數據。
也可以使用插件WP-Cleane處理。
3、批量刪除WordPress所有垃圾評論
遇到N多垃圾評論,一個一個刪除的話會崩潰。可使用下面的SQL語句查詢,批量刪除WP垃圾評論也不是難事。
處理方法:執行SQL語句
DELETE FROM wp_comments WHEREcomment_approved = 『spam』;
0 = Comment Awaiting Moderation
1 = Approved Comment
spam = Comment marked as Spam
先用上面方法刪除之前的垃圾評論,以後推薦使用Akismet插件,Akismet擁有廣泛的垃圾留言過濾系統,省下很多事。
4、刪除WordPress未使用標簽垃圾數據
WordPress資料庫中,如果你使用一個查詢語句手動來刪除舊的文章,舊的標簽卻仍然會保留並在你的標簽雲/列表中出現。你可以使用下面的方法識別未使用的標簽並將它刪除。
處理方法:執行SQL語句
SELECT * FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ONwt.term_id=wtt.term_id
INNER JOIN wp_term_relationshipswtr ON wtr.term_taxonomy_id=wtt.term_taxonomy_id
LEFT JOIN wp_posts wp ONwp.ID=wtr.object_id
WHERE taxonomy=』post_tag』
AND ID IS null
AND NOT EXISTS(SELECT * Fromwp_terms wt2
INNER JOIN wp_term_taxonomy wtt2 ONwt2.term_id=wtt2.term_id WHERE wtt2.parent=wt.term_id) ORDER BY name;
有的人也許會問,這么復雜的SQL語句,應該有WP插件開發者開發相應的資料庫優化插件吧。沒錯還真有相關的優化WP資料庫插件。
WordPress資料庫優化插件 wp db manager :可以優化、修復、定期備份、執行mysql命令的插件。安裝好這個插件之後,可以選擇Optimize DB優化資料庫。