再见,WordPress!

终于是时候对Wordpress说一声再见了,从2013年注册ijiandao.com域名,搭建爱尖刀网站,到现在已有接近七年时间,以前都是时而兴起就弄弄这个网站,直到去年夏天离职后,开始无聊的时候给爱尖刀搞起SEO。

 

毕竟是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,你如果有动手能力也可以看看其他语言的框架。

为什么这样讲呢?我给大家随便贴个数据库的表结构图:

一表多用问题

guid是动态的,post_type属性不同,guid的用途不一样,我这里只是随手给个截图,其实整个数据库的风格和结构都差不多是这样,一表多用对数据少的博客没问题,但是对我们这种数据十万级以上的就要吃很多苦头了。

数据表结构问题

有人会提出优化数据表结构来解决这些,比如wp_postmeta这张表它存储的每篇文章/页面的元数据信息,文章的阅读量、封面、以及自定义的内容都在这里。

正常情况是一篇wp_posts对应一行wp_postmeta,他们之间用post_id来关联,但是wp_postmeta是一张纵表,明明查一次就可以搞定的事儿,可能就要变成查3-4次才能搞的定,可是这不是唯一的问题!

数据拉取问题

WordPress拉取数据也是存在问题的,比如在post列表的时候,会把文章数量一起拉出来。

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' ) ORDER BY wp_posts.post_date DESC LIMIT 0, 20SELECT FOUND_ROWS()

 

正常情况下我让你列一下首页最新10篇文章出来给我看,你倒序最新十篇就行了,但是WordPress不这样干,它非常任性的在全库里查询一次告诉我,咱们家一共有15万篇文章,最新的十篇文章都是XXXX。

但凡是首页、文章列表、标签、以及搜索都要触发SQL_CALC_FOUND_ROWS,都要用这个神操作。

忍痛重构!

考虑了各种问题,最终还是对爱尖刀下了狠手整体重构,更换了开发语言从PHP换到了Golang、重新做了数据库老数据一条条的导出、里面的坑真的能弄死个人,真的实在不想再弄第二次了,如果可以我觉得围绕爱尖刀这次重构经验,我完全可以写个付费阅读篇《WordPress重构深坑指南》。

目前爱尖刀已经顺利完成重构,因为实在不想折腾了,老的用户量也没多少人,除了密码数据真的不想再折腾简单粗暴的集体给大家随机重置匹配了一个(其实可以掉原来的登陆接口再强制更改密码,只是觉得没必要)、头像数据因为年前服务器到期搬家的时候忽略了中文问题导致导出失败,图片封面内容因为数据太大还在慢慢导出基本也算完成了。

今天开始我们迎接个新开始吧,给大家个建议如果数据量很大、且流量也认为未来会很多,千万不要用WordPress!本身就已经不止于一个博客过度臃肿了,我真的怕你吃不消。

新版爱尖刀改版后流量基本没有减少,SEO方面反而比之前还要友好一些,之前有爱尖刀平台的用户可以直接以注册邮箱发邮件至miao@1aq.com找回密码,企业会员直接WX联系阿喵。

定位服务企业级服务市场的科技媒体,服务于企业品牌营销及内容推广,爱尖刀V8.0版本正式启用,给大家秀一波我们的SEO收录量吧。

当前Alexa排名2236,人均停留时长1:36秒,如不出意外我们将在4月份进入2000内。

我们将复用这个新框架到知娱旗下的所有媒体平台,今年知娱围绕文娱方面会做一系列的内容站,欢迎撩。

了解更多的联系我们(微信):kinnah333

未经允许不得转载:云技术 » 再见,WordPress!

赞 (0)