OpenSEO 开源:控制台可自托管,外部数据另计费
OpenSEO 把站点审计、排名和 MCP 放进一个开源控制台,外部 SEO 数据仍由第三方 API 提供。

关键词、竞品、外链和排名追踪常常分散在几个付费工具里。想让 Claude 或 Codex 参与分析,还要手工复制数据。
OpenSEO 把这些入口整合到一个 Web 控制台。项目、保存的关键词、审计结果和排名快照可以存放在自己的部署环境中,再通过 MCP 供 AI Agent 查询;关键词、排名和外链等请求仍会把相应参数发送给 DataForSEO 。
它在 GitHub 上的介绍是“Semrush 和 Ahrefs 的开源替代品”。这句话适合说明方向,不能直接理解为免费复刻。 OpenSEO 没有自己的全球关键词和外链索引,大量数据仍来自 DataForSEO;AI 助手 SAM 还会调用 OpenRouter 。
它已经做到了什么
截至 2026 年 7 月 21 日,OpenSEO 最新 GitHub Release 和 Tag 为 v0.1.0,采用 MIT 许可证,仍处于早期快速迭代阶段。它是浏览器 Web 应用,支持 Docker 和 Cloudflare 自托管,也提供 HTTP MCP 接口。

OpenSEO 项目仓库中的官方界面截图。
当前源码已经实现这些主要能力:
- 关键词研究、保存、标签、筛选和 CSV 导出,可查看搜索量、 CPC 、难度、意图和趋势。
- 域名概览、排名关键词、 SERP 竞争者和外链分析。
- 桌面端与移动端排名快照,可手动检查,也可按日、周或月执行。
- 连接 Google Search Console 后读取 clicks 、 impressions 、 CTR 、 position 和 URL Inspection 。
- AI 搜索可见性、 Prompt Explorer,以及应用内 SEO 助手 SAM 。
- v0.1.0 源码注册了 23 个 MCP 工具,可供 Claude Code 、 Claude Desktop 、 Cursor 、 Codex 等兼容客户端调用。 MCP 是让这些 AI 工具按权限查询 OpenSEO 数据的接口。
站点审计也有实际源码,不是只摆了一个页面。它会读取 robots.txt 和 sitemap,从起始页做同源抓取,保存内部链接关系,再检查 25 类问题,包括缺失 title 、重复 description 、多个 H1 、内部坏链、 canonical 冲突、 noindex 、图片缺 alt 、孤儿页和页面层级过深。
开源软件不等于零成本

OpenSEO 的 UI 、项目存储、审计爬虫、规则和 MCP 可以自己部署。关键词、 SERP 、域名排名、外链和部分 AI 搜索数据由 DataForSEO 提供,按其规则计费;SAM 的模型调用走 OpenRouter,也可能收费。 GSC 数据来自自己的 Google 账号,不消耗 DataForSEO credits 。 Docker 主机或 Cloudflare 资源则是另一笔基础设施成本。
Prompt Explorer 里看 ChatGPT 、 Claude 、 Gemini 和 Perplexity 的回答,走的也是 DataForSEO 服务链,不是把四个模型下载安装到本地。 v0.1.0 还不能切换到 Ollama 、 vLLM 或 LM Studio 这类本地兼容端点。
所以更准确的定位是:OpenSEO 是一套可自托管、可改造的 SEO 控制台和 Agent 数据层。你可以不订阅 OpenSEO 的托管版,但外部 SEO 数据与模型调用仍可能产生费用。

*项目仓库中的关键词研究示例,指标来源仍取决于 DataForSEO *。
用 Docker 在本机跑起来
最稳妥的试用方式是固定 v0.1.0,在本机或内网启动。先不要接公网反向代理。
准备 Docker Desktop,或 Docker Engine + Compose v2,然后执行:
git clone https://github.com/every-app/open-seo.git
cd open-seo
git checkout v0.1.0
cp .env.example .env
编辑 .env。示例里不要放真实凭据:
DATAFORSEO_API_KEY=[REDACTED]
PORT=3001
OPEN_SEO_IMAGE=ghcr.io/every-app/open-seo:v0.1.0
OPENSEO_TELEMETRY_DISABLED=1
DATAFORSEO_API_KEY 使用 DataForSEO 直接提供的 Base64 credential 。 Base64 只是编码,不是加密;已经编码好的值不要再编码一遍,也不要把 .env 提交到 Git 。
v0.1.0 的官方 compose.yaml 没有把 OPENROUTER_API_KEY 和 OPENROUTER_MODEL 传入容器。需要 SAM 时,要在自己的 Compose override 或 environment 中加入:
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
- OPENROUTER_MODEL=${OPENROUTER_MODEL:-}
随后执行 docker compose up -d --force-recreate open-seo。不使用 SAM 就不用配置 OpenRouter 。
启动并查看日志:
docker compose up -d
docker compose logs -f open-seo
v0.1.0 每次启动都会执行数据库迁移和前端构建,较慢的机器可能要等一两分钟。看到服务就绪后按 Ctrl+C 退出日志查看,不会停止容器。
服务就绪后打开:
http://localhost:3001
停止但保留数据:
docker compose down
彻底删除容器和本地 volume 会清掉项目数据:
docker compose down -v
这条命令不可逆。要升级或迁移,先备份 open_seo_data volume 。
第一次别急着导入一千个词
先建一个只包含自己网站的项目,确认 location 和 language 。用一个种子词跑关键词研究,去 DataForSEO 后台核对实际扣费;再保存 3 到 5 个词,做一次手动排名检查。
站点审计先跑默认 50 页。 404 、 canonical 、 noindex 这类结果要人工复核,字符长度和薄内容阈值只是排查提示。 OpenSEO 的爬虫用普通 HTTP fetch,不执行浏览器 JavaScript 渲染,SPA 、网站防火墙或机器人挑战、大型网站都可能出现漏抓或误判。源码里还有 10,000 页的付费上限常量,自托管能否使用更高预算取决于部署模式,不能理解为无限抓取;当前也没有正式的定时审计与版本差异对比流程。
确认 UI 和费用都符合预期后,再连接 GSC 。自托管需要已验证的 GSC property 、 Google OAuth 回调配置,以及 GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET 和至少 32 字符的 BETTER_AUTH_SECRET。 GSC token 会用这个 secret 加密后存进数据库,丢失或更换会影响既有 token 解密。
最后再接 MCP 。 v0.1.0 还不能通过 MCP 创建项目,项目需先在 UI 建好;部分竞争与排名工具仍限制美国市场。让 Agent 先列出项目并确认 project ID,涉及 DataForSEO 付费请求时先说明准备调用哪些工具。
自托管时最容易忽略的安全问题
Docker Compose 默认使用 AUTH_MODE=local_noauth,应用里没有登录检查,所有请求都按本地管理员处理。官方 Compose 默认只绑定 127.0.0.1,本机使用问题不大;一旦通过 Nginx 、 Caddy 或 Tunnel 暴露到公网,必须在外层补认证。ALLOWED_HOST 只是主机名白名单,不能代替账号系统。
本地 volume 会保存项目、关键词、排名快照、审计结果以及部分连接信息。 GSC token 虽会用 BETTER_AUTH_SECRET 加密保存,部署主机和备份仍要控制权限。
自托管生产环境默认还会向 PostHog 发送匿名使用统计(telemetry),包括安装版本、项目数、审计数和已追踪关键词数等。按 v0.1.0 当前自托管 heartbeat 源码,其 payload 不含 URL 、关键词、 prompt 或 email 。若不需要,可以设置:
OPENSEO_TELEMETRY_DISABLED=1
# 或
DO_NOT_TRACK=1
修改后执行 docker compose up -d --force-recreate open-seo。 OpenSEO 还会按功能把数据发往不同服务:SEO 查询到 DataForSEO,SAM 上下文到 OpenRouter,GSC 查询到 Google,站点审计由部署服务器访问目标网站。自托管控制的是应用和本地项目数据放在哪里,不代表所有数据都留在本机。
现在适合谁用
如果你维护自己的站点,愿意用 Docker,想把关键词、审计、排名和 Agent 接口放进一套可修改的系统,OpenSEO 值得做一次小规模试用。它也适合需要研究 SEO 工作流或自建内部工具的开发者。
需要成熟多用户权限、完整中国搜索市场覆盖、纯本地模型、自动写文发布、 IndexNow 提交,或者希望工具保证排名的人,v0.1.0 还不合适。 Cloudflare 自托管路径也有未关闭的构建与 Hyperdrive 配置问题,当前先跑 Docker 更省事。
对愿意维护 Docker 、控制 API 用量并人工复核结果的用户,v0.1.0 适合小规模试用。它已经有能工作的关键词、审计、排名和 MCP 链路,目前还不是成熟的企业级 Semrush 或 Ahrefs 替代品。