一、數(shù)據(jù)庫表清理
創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站制作、網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元穆棱做網(wǎng)站,已為上家服務,為穆棱各地企業(yè)和個人服務,聯(lián)系電話:18982081108
1. wordpress數(shù)據(jù)庫表
wp_commentmeta: 用于保存評論的元信息,在將評論放入回收站等操作時會將數(shù)據(jù)放入此表,Akismet等插件也會生成此表的數(shù)據(jù)。此表不太重要
wp_comments: 用于保存評論信息的表
wp_links: 用于保存用戶輸入到Wordpress中的鏈接(通過Link Manager)的表
wp_options: 用于保存Wordpress相關設置、參數(shù)的表,里面包括了大量的重要信息
wp_postmeta: 用于保存文章的元信息(meta)的表
wp_posts: 用于保存你所有的文章相關信息的表,非常的重要。一般它存儲的數(shù)據(jù)是最多的
wp_terms: 文章和鏈接分類以及文章的tag分類可以在表里找到
wp_term_relationships: 日志與wp_terms中的類別與標簽聯(lián)合起來共同存儲在wp_terms_relationships表中。類別相關鏈接也存儲在wp_terms_relationships中
wp_term_taxonomy: 該表格對wp_terms表中的條目分類(類別、鏈接以及標簽)進行說明
wp_usermeta : 用于保存用戶元信息(meta)的表
wp_users:用于保存Wordpress使用者的相關信息的表
2. 清理涉及到的表
更換主題,刪除插件會在將數(shù)據(jù)留在數(shù)據(jù)庫中,在卸載后無法被清理。除此之外,在由于一些操作,會導致數(shù)據(jù)庫的冗余,比如已經(jīng)沒有的評論,不應該在評論元數(shù)據(jù)表中有記錄,由于沒有外鍵的約束,這些記錄沒有被刪除,會造成數(shù)據(jù)的冗余。本文的宗旨是刪除掉不必要的數(shù)據(jù)庫內(nèi)容,提高wordpress的效率
在此,主要涉及到一下幾張表:wp_options,wp_posts,wp_postmeta,wp_commentmeta
注意清理之前進行備份
3. wp_options的清理
wp_options 這個數(shù)據(jù)表是wordpress設置的全局數(shù)據(jù),這個表會經(jīng)常有數(shù)據(jù)膨脹。主要原因是:
(1)以前用過的一些插件、主題在刪除之后沒有進行設置的清理,造成殘留數(shù)據(jù)
(2)占用數(shù)據(jù)的大戶–RSS緩存,后臺的數(shù)據(jù)調用竟然會放到數(shù)據(jù)庫里面
處理方法:
①網(wǎng)上對RSS處理方法有兩種一個是修改后臺的文件直接不去調用,這個是我不喜歡的畢竟修改了程序,其實這個很容
易忘記WP升級是太頻繁的哪次更新覆蓋了新文件還是照樣緩存.另外一種就是在配置文件里面填寫define(‘MAGPIE_CACHE_ON’, ’0′); 這個是管用的,添加以后后臺首頁的調用明顯變慢
②使用插件clean options
③費力但是簡單的清除方法:刪除wp_options表,會刪除一些設置,需要重新設置wordpress,推薦新手使用
TRUNCATE TABLE wp_options;
4.wp_posts清理
wordpress的文章有好多:wp_posts表中包括
文章種類:文章、修訂版本、頁面、文章的附件、菜單
其中每種文章又會有很多狀態(tài):繼承、發(fā)布、私有、草稿、自動草稿、回收站中
冗余原因:
(1)在博主寫文章的時候,系統(tǒng)會保存很多的中間狀態(tài),在文章發(fā)布之后其很多的中間狀態(tài)沒有被刪除
解決辦法:
①使用插件:WP Cleaner,使用插件的好處就是有保護機制,無論怎么操作都無法影響已發(fā)布的貼子,請放心使用
②自己動手刪除,數(shù)據(jù)庫中的標志刪除文章,注意備份
說明:wp_posts的重要字段含義:
post_type:文章類型,post表示為文章,revision表示為修訂版本,page為頁面,attachment是文章的附件信息,nav_menu_item是菜單。這里我們需要的是文章、頁面、和菜單
post_status:文章狀態(tài),inherit是繼承的附件和文章的附帶信息,publish是已經(jīng)發(fā)布、private是私有的,draft是草稿,auto-draft是自動草稿,trash是在回收站。這里我們需要的是publish的狀態(tài)的
這里我們主要是要 已經(jīng)發(fā)布的文章、頁面和菜單,除此之外的都可以刪除,當然可以根據(jù)自己的需求選擇刪除哪些
DELETE FROM wp_posts
WHERE NOT(post_status = ‘publish’ AND post_type IN(‘post’,'nav_menu_item’,’ page’));
③去除WP保存修訂版本的功能
WordPress默認的功能并不都是我們想要的,比如修訂版本歷史對于大多數(shù)人來說是無用的雞肋功能。所以我么需要禁止一些博客功能,來達到較為符合個
人要求的博客應用。對于高手來說,可以直接修改程序的配置文件,來禁止相關功能。對于我等程序小白來說還是利用插件是最佳的選擇
推薦中文插件SuperSwitch來關閉一些我們不需要的博客功能。這個插件可以關閉自動保存和修訂歷史版本,還可以關閉博客程序、主題、插件的自動更新。功能非常強大,操作及其簡單。用SuperSwitch禁止了保存修訂版本之后,文章序號就不會斷得太厲害了
5.wp_postmeta清理
wp_postmeta是文章的元信息表,其數(shù)據(jù)是系統(tǒng)或者插件使用
冗余原因:
(1)文章被刪除之后,其在wp_postmeta中的數(shù)據(jù)理應被刪除,在系統(tǒng)中多數(shù)情況是系統(tǒng)自動刪除,但是由于人為刪除文章,系統(tǒng)不知道被刪除,就不會刪除wp_postmeta表中的數(shù)據(jù),造成冗余
(2)很多主題、插件沒有做好及時清除的工作
解決辦法:
① 手動刪除
規(guī)矩刪除
刪除文章中不存在文章的元信息
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts);
安全刪除
刪除_edit_lock和_edit_last條目是安全的,所以這里給出SQL語句
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_lock’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_last’;
風險刪除
除了這兩條還執(zhí)行了一些其他語句由于有些風險:自己酌情考慮
DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_old_slug’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_revision-control’;
DELETE FROM wp_postmeta WHERE meta_value = ‘{{unknown}}’;
特殊插件刪除
postnav插件會記錄每個文章的訪問數(shù),如果不需要,可以刪除
DELETE FROM wp_postmeta WHERE meta_key = ‘views’;
特殊操作刪除
在WordPress的后臺上傳圖片或者附件后會在wp_postmeta中生成_wp_attached_file和_wp_attachment_metadata兩個項,wp_posts也會記錄附件的信息。如果使用FTP工具上傳文件,表中就不會有這些信息
DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attached_file’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attachment_metadata’;
潔癖刪除
這幾條條語句執(zhí)行完畢能夠刪除掉95%以上的數(shù)據(jù),算的上是極限優(yōu)化了,最后考慮到這個數(shù)據(jù)表并不是很重要,有潔
凈癖的人可以嘗試清空這個表,當然我測試清空表會讓一些原本的數(shù)據(jù)丟失
TRUNCATE TABLE wp_postmeta;
6. wp_commentmeta清理
冗余原因:
(1)評論被刪除之后,其在wp_commentmeta中的數(shù)據(jù)理應被刪除,在系統(tǒng)中多數(shù)情況是系統(tǒng)自動刪除,但是由于人為刪除文章,系統(tǒng)不知道被刪除,就不會刪除wp_commentmeta表中的數(shù)據(jù),造成冗余
(2)很多主題、插件沒有做好及時清除的工作
解決辦法:
一下語句去除沒有用的數(shù)據(jù),如果評論中沒有此條評論,那么在wp_commentmeta也沒有意義,好像wordpress在清空回收站的時候會刪除wp_commentmeta相應的數(shù)據(jù)。如果不出意外,下面的操作我們應該不需要做
DELETE FROM wp_comments WHERE comment_approved = ‘trash’;
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);
在wp_commentmeta里面會記錄評論被刪除的時間,這些信息用處不是很大,當評論被從回收站刪除之后,這些刪除的時間意義就不是很大,就可以刪除了,所以用下面的語句一樣達到刪除的目的
DELETE FROM wp_commentmeta WHERE meta_key LIKE ‘%trash%’;
如果直接全部刪除wp_commentmeta,影響不會太大,這里面不會涉及重要的數(shù)據(jù)
TRUNCATE TABLE wp_commentmeta
7. 總結
其實大部分無用的數(shù)據(jù)均在這幾張表中,清理過后應該不會又太多的冗余數(shù)據(jù)了。但這里沒有針對特殊插件或主題做數(shù)據(jù)庫清理,有時這些插件和主題會悄悄動了一些數(shù)據(jù)庫表,這樣給清理帶來很大難度,需要看代碼才知道哦
二、數(shù)據(jù)庫表優(yōu)化
原理:數(shù)據(jù)庫優(yōu)化不
涉及數(shù)據(jù)的刪除,是將數(shù)據(jù)庫的表的狀態(tài)調整好。在使用phpmyadmin時候,或許您會看到數(shù)據(jù)庫表后面有多余xxMB的字樣,這個指的是那些已經(jīng)分配
給當前表但是卻沒有使用的空間。這個多余是沒有什么害處的,他不會占用你的空間。當刪除一個表的一部分記錄時,這些記錄仍然保持在一個linked
list 中,當插入新數(shù)據(jù)時會再次使用這些老紀錄的位置。所以刪除紀錄會閑置一些空間造成你說的“多余”
優(yōu)化:
(1)在phpmyadmin手動 優(yōu)化或者修復表即可
(2)運行SQL:
OPTIMIZE TABLE wp_commentmeta;
OPTIMIZE TABLE wp_comments;
OPTIMIZE TABLE wp_links;
OPTIMIZE TABLE wp_options;
OPTIMIZE TABLE wp_postmeta;
OPTIMIZE TABLE wp_posts;
OPTIMIZE TABLE wp_terms;
OPTIMIZE TABLE wp_term_relationships;
OPTIMIZE TABLE wp_term_taxonomy;
OPTIMIZE TABLE wp_usermeta;
OPTIMIZE TABLE wp_users;
(3)插件:Optimize DB
我是使用SQL語句進行清理與優(yōu)化的,附我的優(yōu)化SQL語句(我的表前綴是wp1):
DELETE FROM wp1_posts WHERE NOT(post_status = ‘publish’ AND post_type IN(‘post’,'nav_menu_item’,’ page’));
DELETE FROM wp1_postmeta WHERE meta_key in (‘_edit_lock’,
‘_edit_last’, ‘_wp_old_slug’, ‘_revision-control’, ‘{{unknown}}’,
‘_wp_attached_file’, ‘_wp_attachment_metadata’);
DELETE FROM wp1_postmeta WHERE post_id NOT IN (SELECT id FROM wp1_posts);
DELETE FROM wp1_comments WHERE comment_approved like ‘%trash%’;
DELETE FROM wp1_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp1_comments);
OPTIMIZE TABLE wp1_commentmeta;
OPTIMIZE TABLE wp1_comments;
OPTIMIZE TABLE wp1_links;
OPTIMIZE TABLE wp1_options;
OPTIMIZE TABLE wp1_postmeta;
OPTIMIZE TABLE wp1_posts;
OPTIMIZE TABLE wp1_terms;
OPTIMIZE TABLE wp1_term_relationships;
OPTIMIZE TABLE wp1_term_taxonomy;
OPTIMIZE TABLE wp1_usermeta;
OPTIMIZE TABLE wp1_users;
有時候在登錄Wordpress時報錯:隨機數(shù)校驗失敗,或者認證失敗等等。其實,這是WordPress的隨機數(shù)和緩存導致的問題。其實就是其中一個人把登錄頁面緩存了,而緩存時間已經(jīng)超過12個小時。Wordpress默認隨機數(shù)nonce時間在12-24小時之內(nèi)就會失效。只能清空緩存才能再次正常登陸。接下來搬主題就分享一下加大WordPress的隨機數(shù)nonce過期時間解決緩存過期錯誤問題。
針對上面的問題,要么清空登錄頁面的緩存,要么把WordPress隨機數(shù)nonce有效時間改成48小時,網(wǎng)頁緩存(WP Super Cache等緩存插件)時間改成24小時。
實際上,WP會為那些涉及安全問題的地方,比如ajax加載之類,會提供一個隨機數(shù),每個用戶不同。而這個隨機數(shù)有個有效期,默認為24小時。事實上,按照WP官方描述,這個時間上是12-24小時之間,隨機失效。所以,當使用各類WordPress緩存插件緩存頁面超過12小時,這個隨機數(shù)就有可能失效,直接導致認證失敗,登陸失敗等問題。
如何快速刪除 WordPress外貿(mào)網(wǎng)站后臺的垃圾評論?使用WordPress搭建外貿(mào)網(wǎng)站的朋友們一定遇到過當打開網(wǎng)站后臺時出現(xiàn)大量垃圾評論的情況。一般只有幾個垃圾評論的話,直接選中,然后刪除就可以,但由于一些原因,你突然發(fā)現(xiàn)網(wǎng)站的后臺積壓著大量待處理的垃圾評論,上百甚至上千條,這就變得非常棘手了,叫人一個頭兩個大。
可能導致 WordPress網(wǎng)站 產(chǎn)生大量垃圾評論的幾種情況:
Akismet反垃圾評論的插件被你的網(wǎng)站禁用,所以后臺會產(chǎn)生大量待審核的垃圾評論
一段時間沒有登錄網(wǎng)站后臺,發(fā)現(xiàn)網(wǎng)站多了數(shù)百上千條不相關的評論
網(wǎng)站文章內(nèi)容帶來的很多不痛不癢的灌水評論
之前的文章沒有關閉評論遺留下來的大量垃圾評論
這種情況有什么好的解決方法呢?
首先,我們建議你在WordPress后臺開啟評論審核功能。這意味著所有用戶留在網(wǎng)站上的所有評論需要經(jīng)過管理員的審核批準才可以發(fā)布到前臺,防止網(wǎng)站前臺出現(xiàn)大量垃圾評論而影響到你的Wordpress外貿(mào)網(wǎng)站的信譽。其次是啟用Akismet,來更有效率的屏蔽垃圾評論。
單個去審核每個評論需要花費大量的時間,如果你確定待審評論都是垃圾評論,則可以全部刪除。
如果你只有幾十條上百條待審的垃圾評論,可以選擇手動刪除。
登錄WordPress網(wǎng)站后臺,進入管理區(qū)域中的評論頁面,點擊待審標簽即可查看垃圾評論列表。默認情況下,此列表只顯示20條待審的評論。更改此設置需點擊頁面右上角的“Screen Options“標簽。
然后在Number of items per page中輸入100,點擊應用?,F(xiàn)在每頁顯示的評論數(shù)量已更改為100條,單擊“作者”前面的全選列表,即可選中當前頁面中的100條評論,然后單擊“批量操作”,在下拉菜單中選擇“移動到回收站”,接著單擊“應用”按鈕,就可以將所有選中的垃圾評論移到回收站。
WordPress系統(tǒng)在完成你的指令,將評論移動到垃圾箱之后,將自動刷新頁面,并且顯示接下來的100條評論,重復此過程即可將其全部移動到垃圾箱。所有在垃圾箱里面的評論會保留30天,30天之后將被自動永久刪除。
如果你想立即將其永久刪除,可以單擊“清空回收站”按鈕。
刪除之后,將看到一條確認已刪除的提示消息。
注意:每頁的評論顯示數(shù)量最多可設置為999條,但如果設置數(shù)量過大會增加我們網(wǎng)站服務器的負擔,降低網(wǎng)站的運行速度。而且當你嘗試全選幾百條評論移到回收站時,可能收到下圖所示錯誤信息提示。這種情況下可以適當減少一次性刪除評論的數(shù)量,多操作幾次即可。
如果你有大幾百上千條的待審評論需要刪除,那么你也可以使用插件將其全部刪除。使用插件將直接永久刪除待審評論,而不是移動到垃圾箱里,所以操作之前最好先備份WordPress網(wǎng)站,以防內(nèi)容丟失或者你改變主意。
首先,安裝并激活 Delete Pending Comments 插件。激活之后,轉到WordPress后臺,進入評論頁面,查看Delete Pending Comments部分,將看到有多少待審的評論。
注意:如果待審評論中既有垃圾評論又有需要保留的評論,請對于需要保留的評論先進行批準,然后在使用插件刪除。
如果你想要刪除所有的待審評論,可以復制粘貼 “I am sure I want to delete all pending comments and realize this can’t be undone”到確認刪評的文本框中,然后單擊“刪除待審評論”。
完成之后,可以看到確認已刪除所有待審評論的消息提示。
首先打開網(wǎng)站后臺,進入評論頁面,單擊“Spam”標簽,如圖
接著,單擊“Empty Spam button”清空垃圾評論,將永久刪除Spam列表下的所有評論。
想了解更多Wordpress外貿(mào)建站的相關知識請查看 歪貓筆記網(wǎng)站