WordPress 自带的评论用了几年,垃圾评论靠插件拦,数据躺在站点的数据库里,换主题换模板的时候评论区样式总得跟着改一遍。真正让我想换掉它的是一个更朴素的原因:我想让评论数据是一个能随手打包带走的文件,而不是混在 wp_comments 表里跟文章、用户、选项挤在一起。
Artalk 就是这个路子,一个 Go 写的自托管评论系统,后端一个容器,数据默认写成本地的 SQLite 文件,前端引一段 JS 就挂上了。我这边用 Docker 部署到自己的服务器,整个过程不到十分钟,下面按顺序说。
一、前置条件
一台能跑 Docker 的服务器,1 核 1G 就够,Artalk 后端本身很轻;一个准备给评论用的二级域名,比如 comments.example.com;站点这边如果是宝塔面板,反代和证书都是点点鼠标的事。另外记住自己是 WordPress 站,接入那步在第五节。
二、起容器
找个目录放数据,官方镜像叫 artalk/artalk-go,容器内监听 23366 端口:
mkdir -p /www/wwwroot/artalk && cd /www/wwwroot/artalk
docker run -d \
--name artalk \
--restart unless-stopped \
-p 127.0.0.1:8080:23366 \
-v $(pwd)/data:/data \
-e "TZ=Asia/Shanghai" \
-e "ATK_LOCALE=zh-CN" \
-e "ATK_SITE_DEFAULT=你的站点名" \
-e "ATK_SITE_URL=https://www.example.com" \
artalk/artalk-go
端口那行写成 127.0.0.1:8080:23366,只在本地监听,外面交给 Nginx 反代。直接写 -p 8080:23366 等于把后台挂到公网上裸奔,等会儿配了 HTTPS 再回头看这个明文端口会很别扭。镜像不写版本号拉的是 latest,写这篇的时候最新是 v2.10.0,不想哪天被更新的版本搞坏就写成 artalk/artalk-go:2.10.0。
-v $(pwd)/data:/data 是重点,SQLite 数据库和上传的图片都在这个目录里。容器可以删了重建,这个目录别删。
三、建管理员账号
刚起好的 Artalk 没有任何用户,后台登不进去,账号要用命令行建:
docker exec -it artalk artalk admin
跟着提示输用户名、邮箱、密码。建完浏览器打开 http://服务器IP:8080,用刚才的账号登录。
四、Nginx 反代加 HTTPS
评论服务单独用一个子域名最省心,证书可以让宝塔直接给这个子域签一张,也可以复用站点那张通配符证书。反代配置大致这样:
server {
listen 443 ssl;
server_name comments.example.com;
ssl_certificate /www/server/panel/vhost/cert/comments.example.com/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/comments.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
证书路径按自己的来,宝塔签的证书目录就是上面那种结构。X-Forwarded-For 这行别省,Artalk 靠它记录评论来源 IP,做限流和封禁的时候要用;不带这行,所有评论在后台显示的 IP 都是 127.0.0.1,有人刷评论你连源头都看不到。
改完先测再 reload:
nginx -t && nginx -s reload
五、验证有没有真的起来
三层都要看。容器还在跑:
docker ps --filter name=artalk
docker logs --tail 20 artalk
域名通不通:
curl -s -o /dev/null -w "%{http_code}\n" https://comments.example.com
返回 200 或者 302 都算正常。最后进后台控制台,把站点 URL 和站点名确认一遍,顺手改掉默认密码。
六、挂到 WordPress 上
Artalk 官方给的是 Typecho、Hexo、VuePress 那些平台的接入和导出工具,没有 WordPress 插件,所以要自己挂。最省事的方式是往 wp-content/mu-plugins/ 丢一个文件,不用动主题模板,换主题也不会丢:
<?php
// wp-content/mu-plugins/artalk-comments.php
add_filter('comments_open', '__return_false', 20);
add_filter('comments_number', '__return_empty_string', 20);
add_filter('the_content', function ($content) {
if (!is_singular('post') || is_admin()) {
return $content;
}
$server = 'https://comments.example.com';
$block = '<link rel="stylesheet" href="' . $server . '/dist/Artalk.css">'
. '<div id="Comments"></div>'
. '<script src="' . $server . '/dist/Artalk.js"></script>'
. '<script>Artalk.init({'
. 'el: "#Comments",'
. 'pageKey: ' . wp_json_encode(get_permalink()) . ','
. 'pageTitle: ' . wp_json_encode(get_the_title()) . ','
. 'server: "' . $server . '",'
. 'site: "你的站点名"'
. '});</script>';
return $content . $block;
});
前面两个过滤器把 WordPress 原生的评论表单关掉,后面那段把 Artalk 的容器和初始化脚本接到正文末尾。pageKey 用的是文章固定链接,这一条后面会变成一个坑。
主题自己那套历史评论列表可能还会显示,多数主题后台有「显示评论」的开关,关掉就行,不行就加一条自定义 CSS。
七、常见坑与回滚
换域名之后评论全不见了。 pageKey 存的是固定链接,域名一换,新页面对不上旧评论。搬家之前先按之前那篇 WordPress 搬家加换域名 的思路理清替换范围,搬完记得去后台把旧 pageKey 一起改掉,或者在 Artalk 控制台里做数据迁移。
发评论报错、控制台刷不出来。 九成是地址不一致:ATK_SITE_URL、前端 server 参数、浏览器地址栏这三个地方的协议和域名必须完全对得上,http 和 https 混用会被浏览器按跨域拦掉。
端口被占。 启动时报 address already in use,换个宿主端口,比如 -p 127.0.0.1:8090:23366,Nginx 里的 proxy_pass 跟着改。
备份和更新。 数据全在 data 目录,tar -czf artalk-$(date +%F).tar.gz data 打一份,直接接进已有的 全站自动备份任务 一起传走。更新就三条命令:docker pull artalk/artalk-go、docker rm -f artalk、把第二节的 run 再执行一遍,卷挂回去数据还在。
回滚。 docker rm -f artalk 删容器,再删掉 mu-plugins 里那个文件,WordPress 立刻退回原生评论,数据库里的老评论一条没少。等确认不要了,./data 目录再删。
自建评论最舒服的地方不是省事,是数据终于是个自己的文件。后台的迁移工具支持 Artrans 格式的导入导出,哪天想换平台,导出一个 json 就走。服务本身还可以接进 Uptime Kuma 那套监控,加一条 https 监测,证书和可用性一起盯着。



![[教程][服务器]在阿里云服务器上卸载AliYunDunMonito(阿里盾)-小绵羊的小窝](https://www.littlesheep.cc/wp-content/uploads/2025/12/114612929920251229005735.png)

![[免费][教程]子比主题美化,优化教程-小绵羊的小窝](https://www.littlesheep.cc/wp-content/uploads/2026/09/3b06fd6a0520260920160148.webp)
![[免费][插件]将WordPress图片上传到LskyPro蓝空图床的插件-小绵羊的小窝](https://www.littlesheep.cc/wp-content/uploads/2026/09/b9e1998d8420260920160152.webp)

![[资源][教程]AI SEO - WordPress插件-小绵羊的小窝](https://www.littlesheep.cc/wp-content/uploads/2026/01/9f396016b220260112151830.png)



暂无评论内容