我跟大家说,这个《卢德岛》的官网,之前那个版本真是让我头疼死了。也不知道当初找谁做的,用了个老掉牙的模板,稍微流量大一点就卡得跟什么似的。每次要放新的更新日志,那个后台操作起来比玩游戏还累,我每次点保存都心惊胆战,生怕又给我蹦出个数据库错误。
下定决心:彻底推翻重写
上个月,一个忠实玩家给我发邮件,他本来想查查某个版本更新了什么,结果点开更新日志,页面直接白屏了,就显示一个非常难看的错误代码。我一看,好家伙,网站又崩溃了。那一刻我就决定了,必须彻底推翻重写。那种修修补补的日子,我真是受够了。
我第一步就是把服务器上的旧文件全部打包备份,然后毫不留情地删除了。看着那些乱七八糟的PHP文件和一大堆不知道干啥用的脚本消失,心里别提多痛快了。既然这个网站只是用来发布更新日志和基本信息的,那就要简单、快速、稳定,不搞那些花里胡哨的动态加载或者复杂的框架。
我选了个最笨但也最可靠的办法,用纯静态页面来搞定。这样至少不会因为什么奇怪的服务器配置或者数据库连接而动不动就崩溃。我主要做了这么几件麻烦事:
-
确定基本架构:我直接画了个草图,就一张纸,左边是导航栏和日志列表的索引,右边是日志内容的显示区。页面布局要极度干净,黑白灰为主,让大家一眼就能找到想看的内容。
-
内容迁移与整理:这是最要命的一环。我把以前所有历史日志从备份里一个一个复制出来。因为格式五花八门,很多以前是直接贴在文本框里的,现在都要重新用HTML标签包裹起来,保证排版的一致性。有些早期的图片链接都失效了,我不得不去仓库里翻老素材,重新上传,然后校对每一个日志的发布日期。这个过程搞了我整整两天,盯着屏幕都快对眼了。
-
样式优化:我没去套用任何流行的CSS框架,就是自己手写了一点点基础样式,保证字体可读性强,而且最重要的是,在手机上看也能自动适配,不能跑偏。字号我故意调得大了一点,让大家看着舒服。
你别看我说的这么顺畅,实际操作中各种小问题简直层出不穷。比如我发现早期的日志里,有几个用了奇怪的特殊字符,可能是以前编辑手打的时候按错了,导致新页面解析的时候直接乱码了。我得打开代码,一行一行去排查,去把那些奇怪的符号替换成标准的空格或者分号。还有就是日志的索引逻辑,我花了好几个小时才确定用一个简单的JSON文件来管理所有的日志文件名和标题,这样以后更新日志,只需要修改这个JSON文件和新增一个HTML文件就行,操作难度降低到最低。
最终上线:速度和维护性才是王道
前天晚上,我终于把所有的页面和脚本都整理完毕。我把新的官网文件打包,然后通过FTP工具拖拽上传到服务器,点击覆盖发布的那一刻,心里一块石头才算真正落地。现在大家看到的这个版本,就是新的“卢德岛_更新日志”网站。速度比以前快了不是一点半点,加载基本是秒开。
以后我更新日志就简单了,直接写好新的日志内容,保存成一个干净的HTML文件,扔到指定的文件夹里,再更新一下索引文件。全程不用再点那个复杂的后台“发布”按钮,也不用担心它莫名其妙地卡死。实践证明,搞这些官网、博客之类的东西,越是追求简单和纯粹,后期维护起来就越轻松,少给自己挖坑才是真正的王道。我可以把更多精力放在《卢德岛》本身的内容更新上了,不用天天盯着官网会不会又出幺蛾子了。