本站的静态资源因为有 CloudFlare 的 CDN 加速,所以加载速度很快,但是网页本身是动态生成的,加载速度经常需要 500 多毫秒,成为了对加载速度影响最大的瓶颈。
CloudFlare 的 APO 功能(Automatic Platform Optimization)会自动把页面的 HTML 代码缓存到边缘节点,走 CDN 加速,可以大幅降低 TTFB(首字节到达时间)。这有点像静态化,但是不需要在服务器上保存静态化的 HTML 文件,也无需配置规则,非常省心。
我博客里的很多文章都有一张图片显示在首屏,最近我发现打开页面时这些图片会闪烁一下才渲染出来,视觉效果不好。我印象里以前没有这个问题,检查图片元素才发现 WordPress 自动给 img 元素添加了 decoding="async" 属性,去掉就好了。
我刚才发现文章页面的源码里有个 canonical 链接,例如:
<link rel="canonical" href="https://saber.love/xxxxx.html" />
我搜索了下这个东西,说是“规范 URL”,作用是当一个页面可能有多个 URL 时,指定一个 canonical URL,让搜索引擎只收录这一个网址。
因为如果多个 URL 里的内容相同,可能会导致搜索结果的排名受到影响,因此需要指定一个唯一的 canonical URL。
本站文章标题下面会显示有多少条回复(或显示“无回复”),它是有 URL 的:


上图的链接是我修改后的。之前一直存在的问题是,WordPress 生成的这个链接的末尾是 #comments,但我使用的这个主题的评论区的 id 不是 comments,而是 cmt,所以之前的导航链接并不能起到定位的作用。我怀疑是主题作者图方便所以用了个缩写,但结果却是埋了个坑。
这里说的 emoji 是文字形式的表情,如 😆。它不是图片,而是一个文字,只不过显示出来是个表情的样式。
之前本博客的评论框下面有个“添加颜文字”的功能,但是颜文字的实用性不太好,我经常都找不到合适的颜文字。而且作为“表情”来说,颜文字看起来也不太直观,于是我想将其换成 emoji 表情。
代码改起来倒是很简单,但是出现了预料之外的问题:在评论里添加 emoji 并提交评论之后,发出来的评论里并没有显示 emoji 表情。
新旧对比:

以前的格式是 月/日+时:分,这看似没问题,但是在查看以前年份发布的文章时,就不知道是哪一年发布的了。
而且时分感觉没什么意义,于是我直接把它换成年份了。
备份 MySQL 数据库可以使用 mysqldump 命令:
// 导出单个数据库
mysqldump -u root -p database_name > back.sql
// 恢复
mysql -u root -p database_name < back.sql
也可以直接拷贝数据库文件,Linux 上的 MySQL 数据库文件位于 /var/lib/mysql,每个数据库都有一个对应名称的文件夹。将其打包即可。
tar -zcvf back.tar.gz database_folder
刚才我注意到文章页面的控制台有个报错:

一看是有一处 js 代码没判空,费了好大劲才找到是插件 WP Githuber MD 添加的代码,将其删除或修改就好了。

本站长期以来把新注册用户的角色设置为“贡献者”,这样他们可以提交投稿。结果天天都会收到一些垃圾投稿。
翻看了一些投稿之后,我大开眼界,它们的语言五花八门,包括英语、俄语、法语、德语、西班牙语、波兰语、保加利亚语、印尼语……
内容包括:成人网站广告、线上赌球广告、互联网赌场广告、商业软件广告、购物网站广告、清洁用品广告、空调广告、印刷业务广告、松露广告、手提包广告、貂皮大衣广告、运动鞋广告、旅游景点广告、社交媒体广告、贷款广告、克服暴饮暴食的健康生活指南等等。
我想把贡献者用户都改为订阅者,这样他们就不能投稿了。但是现在已经有三万多个贡献者用户,在网站后台不能一次性修改他们的角色,所以只能去改数据库了。