妈的,真受不了那些一开口就让你上全站静态生成的“大佬”,云服务器那点小鸡配置,生成十万个页面CPU直接拉满客户电话能把你打爆,你信不信?我之前就是信了邪,用某开源程序搞批量生成,好家伙,蜘蛛半夜一来爬,数据库连接数直接飙红,整个站卡得跟PPT一样,用户留言骂街的帖子比我网站文章都多。
真的,兄弟们。
后来我想通了,我们这种小站要个狗屁的纯静态啊,伪静态才是亲爹!服务器压力?不存在的。我直接在Nginx里配好伪静态规则,把那些带问号带参数的动态链接,统统变成 `/article/123.html` 这种格式,蜘蛛看着舒服,权重传递也直接。关键是千万别手贱,改完了规则一定要去试试我这个死磕出来的规则库里对一下,不然一个字符写错,全站404,那才是叫天天不应。
血泪教训啊!有一次我为了图省事,直接用了个网上抄的Apache伪静态规则扔到.htaccess里,结果特么的写错了重写条件,除了首页,所有内页全部打不开,我盯着日志看了半小时才反应过来,那感觉就像你辛苦搭了三年的积木,被自己一脚踹塌了。想死的心都有。
另外,对于动态内容(比如用户中心、搜索页),别硬转静态,那是不给自己活路。交给程序动态生成,但前面一定要套一层缓存,Memcached或者Redis,把生成好的HTML片段存起来,下次直接吐,速度快到蜘蛛都以为你是静态站。再配合CDN全站缓存,只要源站不更新,CDN节点直接响应,服务器压力?那是什么?可以吃吗?
吐了。
最后说一嘴,老域名做301重定向到新静态链接的时候,一定要做好映射关系,不然权重全丢。这玩意没捷径,就是个细致活儿,我当初为了一个权重3的老站改版,整理301映射表整理到凌晨三点,抽了半包烟,但改完一周后新链接全部收录,权重大部分都继承了,那一刻觉得一切都值了。别总想着一步登天,网页静态化说到底,是为了速度和SEO,但前提是你别把自己先作死。
