首頁美食 > 正文

再見,Wordpress!

2022-11-28由 愛尖刀科技媒體 發表于 美食

終於是時候對Wordpress說一聲再見了,從2013年註冊ijiandao。com域名,搭建愛尖刀網站,到現在已有接近七年時間,以前都是時而興起就弄弄這個網站,直到去年夏天離職後,開始無聊的時候給愛尖刀搞起SEO。

再見,Wordpress!

畢竟是04年老站長出身,從折騰搭網站到今天也算熬過了16個年頭,從之前搞站群到後面搭建各種識別蜘蛛的SEO引擎,在這個基礎上造了新的邏輯演算法引擎,原本就不是特別適合做媒體的WordPress,在大量資料增長以及流量、各搜尋引擎爬蟲增加的過程中終於無法承受壓力,終於崩了。

粗略的整理一下愛尖刀當時的情況,文章15萬+、標籤8萬+、Alexa排名2200+、百度收錄20萬+、日訪問IP5萬+、日各搜尋引擎爬蟲爬取150萬餘次。

其實早就該放棄WordPress了。

WordPress最佳化

之前發朋友圈吐槽愛尖刀因WordPress卡成狗,出現了幾個槓精給我聊各種Wp Supper Cache、去除谷歌字型、以及各種最佳化問題。

其實是不想吐槽的,快取肯定早就做了、模板自己寫的、不但這樣我們還上了CDN、連上傳一個圖片被分拆成小中大三個圖片佔資源的問題我們都考慮了,甚至還有定期幹掉除了publish狀態外,刪了auto-draft及inherit給資料瘦身,但這只是基礎最佳化。

基礎最佳化解決不了我們遇到的核心問題,資料量太大了,資料庫結構設計不合理導致查詢也跟著蝴蝶效應造成持續慢查詢啊。

WordPress慢查詢

我一定要給各位朋友一個嚴重宣告,使用WordPress之前一定要搞清楚,它是一個部落格系統,不是一個大CMS框架,如果你的資料量未來會達到萬級亦或者十萬級,從開始就建議你放棄這個念頭,thinkPHP原生開發亦或者看看discuz!當然這裡我說的是PHP,你如果有動手能力也可以看看其他語言的框架。

為什麼這樣講呢?我給大家隨便貼個資料庫的表結構圖:

再見,Wordpress!

一表多用問題

guid是動態的,post_type屬性不同,guid的用途不一樣,我這裡只是隨手給個截圖,其實整個資料庫的風格和結構都差不多是這樣,一表多用對資料少的部落格沒問題,但是對我們這種資料十萬級以上的就要吃很多苦頭了。

資料表結構問題

有人會提出最佳化資料表結構來解決這些,比如wp_postmeta這張表它儲存的每篇文章/頁面的元資料資訊,文章的閱讀量、封面、以及自定義的內容都在這裡。

正常情況是一篇wp_posts對應一行wp_postmeta,他們之間用post_id來關聯,但是wp_postmeta是一張縱表,明明查一次就可以搞定的事兒,可能就要變成查3-4次才能搞的定,可是這不是唯一的問題!

資料拉取問題

WordPress拉取資料也是存在問題的,比如在post列表的時候,會把文章數量一起拉出來。

正常情況下我讓你列一下首頁最新10篇文章出來給我看,你倒序最新十篇就行了,但是WordPress不這樣幹,它非常任性的在全庫裡查詢一次告訴我,咱們家一共有15萬篇文章,最新的十篇文章都是XXXX。

但凡是首頁、文章列表、標籤、以及搜尋都要觸發SQL_CALC_FOUND_ROWS,都要用這個神操作。

忍痛重構!

考慮了各種問題,最終還是對愛尖刀下了狠手整體重構,更換了開發語言從PHP換到了Golang、重新做了資料庫老資料一條條的匯出、裡面的坑真的能弄死個人,真的實在不想再弄第二次了,如果可以我覺得圍繞愛尖刀這次重構經驗,我完全可以寫個付費閱讀篇《WordPress重構深坑指南》。

目前愛尖刀已經順利完成重構,因為實在不想折騰了,老的使用者量也沒多少人,除了密碼資料真的不想再折騰簡單粗暴的集體給大家隨機重置匹配了一個(其實可以掉原來的登陸介面再強制更改密碼,只是覺得沒必要)、頭像資料因為年前伺服器到期搬家的時候忽略了中文問題導致匯出失敗,圖片封面內容因為資料太大還在慢慢匯出基本也算完成了。

今天開始我們迎接個新開始吧,給大家個建議如果資料量很大、且流量也認為未來會很多,千萬不要用WordPress!本身就已經不止於一個部落格過度臃腫了,我真的怕你吃不消。

新愛尖刀定位

定位服務企業級服務市場的科技媒體,服務於企業品牌營銷及內容推廣,愛尖刀V8。0版本正式啟用,給大家秀一波我們的SEO收錄量吧。

再見,Wordpress!

當前Alexa排名2236,人均停留時長1:36秒,如不出意外我們將在4月份進入2000內。

再見,Wordpress!

我們將複用這個新框架到知娛旗下的所有媒體平臺,今年知娛圍繞文娛方面會做一系列的內容站,歡迎撩。

頂部