来自托管层的 SEO 与外链建设:2026 年运营商视角
虚拟主机如何在 2026 年影响收录与链接资产传递(link equity):保持页面被有效索引、在建站前严格审查老域名、构建无痕迹(footprint)的外链,以及客观剖析底层基础设施在 SEO 方面的能力与局限。
阅读文章 →知识库
每个 Zinnector® 命令均与 zinnector --help 列出的一致——包括参数、标志和默认值、可运行的示例及其输出——直接由 CLI 本身生成,因此与您安装的版本完全一致。
<!-- generated by cli/scripts/command-reference.mjs from the CLI's own command definitions — do not edit by hand -->
Zinnector® 0.1.6 支持的每一个命令——共 43 个,与 zinnector --help 列出的完全一致——并附带其选项、可运行的示例以及您应该看到的内容。本页面由 CLI 本身自动生成,因此绝不会与您安装的工具存在出入;如果您的计算机上缺少此处列出的某个命令,请运行 npm install -g zinnector@latest。
请在 Node 24 或更高版本上通过 npm install -g zinnector 进行安装,然后使用 zinnector --version 和 zinnector --help 检查安装情况。入门指南将向您介绍前五分钟的操作;本页面则是供您日后查阅的参考文档。
每个命令均支持 -h, --help。以下全局选项须置于命令名称之前:
| 选项 | 作用 |
|---|---|
-V, --version | 打印版本信息 |
--profile <name> | 使用指定名称的凭据配置文件 |
zinnector new搭建一个可以立即运行的 WordPress 项目脚手架。
zinnector new [options] [name]
| 参数 | 必填 | 说明 |
|---|---|---|
name | 否 | 用于创建项目的目录以及项目名称 — 必填,除非指定了 --here |
| 选项 | 作用 | 默认值 |
|---|---|---|
-t, --template <kind> | 以下之一:site、plugin、theme | "site" |
--php <version> | 用于开发的 PHP 版本 | "8.3" |
--wp <version> | 本地运行时所用的 WordPress 版本 | "latest" |
--runtime <name> | playground 或 docker | "playground" |
--here | 直接在当前目录而非新目录中搭建项目脚手架 |
示例
zinnector new my-site
所见内容 — 已捕获 — Linux 上的 0.1.2
Created my-site · site
──────────────────────────
+ .gitignore
+ README.md
+ wp-content/mu-plugins/000-zinnector-dev.php
+ wp-content/plugins/.gitkeep
+ wp-content/themes/.gitkeep
+ zinnector.json
php 8.3
wordpress latest
runtime playground
→ run it:
cd my-site
zinnector dev
→ then, when you have a hosting slot:
zinnector link # point it at a site
zinnector check # pre-flight before you push
zinnector push
zinnector dev在本地运行此项目 — 无需 Docker。
zinnector dev [options]
| 选项 | 作用 | 默认值 |\n|---|---|---|\n| --php <version> | 要运行的 PHP 版本(playground 上为 5.2–8.5,docker 上为 7.4–8.5) | |\n| --wp <version> | WordPress 版本 | |\n| -p, --port <port> | 服务运行端口 | |\n| --runtime <name> | playground(默认)或 docker | |\n| --login | 自动以管理员身份登录 | true |\n| --no-login | 不自动登录 | |\n| --once | 启动、报告正在运行的内容,然后停止 | |\n| --yes | 无需询问直接安装本地运行时 | |\n| --reset-runtime | 删除已安装的运行时并重新安装 | |\n| -v, --verbose | 显示运行时自身的输出 | |\n\n示例
cd my-site
zinnector dev
所见即所得 — 已捕获 — 0.1.2。首次运行会提示一次以下载 WordPress 运行时(约 570 MB);传递 --yes 可跳过此提问
my-site · WordPress Playground (WASM, no Docker)
───────────────────────────────────────────────────
serving a WordPress project
from /home/you/my-site
php 8.3
wordpress latest
✔ running at http://127.0.0.1:9400
admin: http://127.0.0.1:9400/wp-admin (already signed in)
Ctrl-C to stop
zinnector login登录 — 在浏览器中使用您自己的账户,或使用 API 密钥。
zinnector login [options]
| 选项 | 作用 | 默认值 |
|---|---|---|
--profile <name> | 存储在指定的配置文件下(默认:default) | |
--api <url> | API 基础 URL | "https://api.zinndigital.com" |
--api-key | 粘贴各组织专用的 API 密钥,而不是以您自己的身份登录 | |
--issuer <url> | 登录服务 | "https://auth.zinndigital.com/realms/zinn" |
--no-browser | 输出登录链接而不尝试打开浏览器 |
示例
zinnector login
您看到的内容 — 密钥在提示符下输入,绝不能在命令行中输入。在 CI 中,请使用管道传输:echo "$ZINN_API_KEY" | zinnector login --profile ci
Sign in to Zinn Digital® · https://api.zinndigital.com
────────────────────────────────────────────────────
API key: ••••••••••••••••••••••••••••
✔ signed in as you@example.com (Acme Ltd) — profile “default”
→ next: zinnector sites
zinnector logout清除已保存的登录信息。
zinnector logout [options]
| 选项 | 作用 | 默认值 |
|---|---|---|
--profile <name> | 要遗忘的配置文件 (默认: default) |
示例
zinnector logout
您所看到的内容
✔ signed out of profile “default”
zinnector whoami显示此 CLI 当前登录的身份及其可访问的资源。
zinnector whoami [options]
| 选项 | 功能 | 默认值 |\n|---|---|---|\n| --profile <name> | 使用指定名称的配置文件 | |\n| --scopes | 列出 API 密钥所包含的权限 | |\n| --json | 机器可读的输出 | |\n\n示例
zinnector whoami --scopes
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
Signed in · https://api.zinndigital.com
──────────────────────────────────────────
account you@example.com
as a person, signed in through the browser
organisations 8 — listed below
mode live
credential profile “default”
· Example Org owner · 01a00000-0000-7000-8000-000000000000
· Example Org· 01a00001-0000-7000-8000-000000000001
· Example Org· 01a00002-0000-7000-8000-000000000002
· Example Org· 01a00003-0000-7000-8000-000000000003
· Example Org· 01a00004-0000-7000-8000-000000000004
· Example Org· 01a00005-0000-7000-8000-000000000005
· Example Org· 01a00006-0000-7000-8000-000000000006
· Example Org· 01a00007-0000-7000-8000-000000000007
scopes belong to API keys — a signed-in person acts with their ROLE in each organisation (shown above).
zinnector sites列出此密钥可以查看的站点。
zinnector sites [options]
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读的输出 | |
--status <status> | 仅限处于此状态的站点 |
示例
zinnector sites
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
Sites · 12
─────────────
domain status php target id
example-2.com active php — fleet 01a00000-0000-7000-8000-000000000000
example-3.com active php — fleet 01a00001-0000-7000-8000-000000000001
example-4.com active php — fleet 01a00002-0000-7000-8000-000000000002
example-5.com active php 8.5 fleet 01a00003-0000-7000-8000-000000000003
example-6.com active php — fleet 01a00004-0000-7000-8000-000000000004
example.com active php 8.4 fleet 01a00005-0000-7000-8000-000000000005
example-7.com active php — fleet 01a00006-0000-7000-8000-000000000006
example-8.com active php 8.5 fleet 01a00007-0000-7000-8000-000000000007
example-9.com active php 8.5 fleet 01a00008-0000-7000-8000-000000000008
example-10.com active php 8.5 fleet 01a00009-0000-7000-8000-000000000009
example-11.com active php 8.5 fleet 01a00010-0000-7000-8000-000000000010
example-12.com active php 8.5 fleet 01a00011-0000-7000-8000-000000000011
zinnector status平台掌握的关于单个站点的全部信息。
zinnector status [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中链接的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读的输出 |
示例
zinnector status example.com
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
example.com · 01a00000-0000-7000-8000-000000000000
────────────────────────────────────────────────────────────────────────
status active
product line footprint_free
stack wordpress
region fsn1
deploy target fleet
plan PBN 10
● PHP
version 8.4
can switch to 8.5, 8.4, 8.3, 8.2, 8.1, 8.0, 7.4
● Quota
disk 188 MB used of 500.0 GB
files 6,313 of 2,000,000
database 1 MB
● Deploy
status building
target fleet
repository —
commit —
live url —
last deployed 2026-09-14T01:29:26.991511Z
● WordPress
version 7.1
up to date yes
multisite no
zinnector share向单个人授予访问单个站点的权限 — 开发人员、设计师或客户。
zinnector share [options] <site> <email>
| 参数 | 必需 | 说明 |
|---|---|---|
site | 是 | 要共享的站点 — ID、主域名或名称 |
email | 是 | 向谁授予访问权限 — 如果对方尚无账户,将向其发送电子邮件邀请 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--role <role> | 其拥有的操作权限:viewer、editor、manager | |
--reason <text> | 所需原因 — 与授权一同保存以供审计跟踪 | |
--until <date> | 访问权限自行终止的时间(YYYY-MM-DD);若需持续至撤销为止请忽略此项 | |
--json | 机器可读的输出 |
示例
zinnector share example.com dev@agency.test --role editor --reason "rebuild the checkout"
您看到的内容 — 该命令打印的确切形式,来自源(在此文件上次被捕获后,W40-DEVTOOL 添加了这些内容);您的域名、ID 和日期将有所不同
Shared example.com · 01a03f39-730a-7dc4-84b0-5d4f7582dd04
────────────────────────────────────────────────────────────
✔ invited dev@agency.test as editor
They have no account yet, so an invitation has been emailed. Until they
sign in and accept it they can see nothing; the moment they do, the site is theirs.
→ what they do next, on their own machine:
npm i -g zinnector && zinnector login # sign in as themselves
zinnector clone example.com # pull the files down
zinnector collaborators谁已获得站点的访问权限,以及他们是否已接受。
zinnector collaborators [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中链接的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读的输出 |
示例
zinnector collaborators example.com
您所看到的内容 — 捕获自 2026-09-14 对生产环境运行 0.1.5 的实际过程;域名、ID 和一次性链接已被替换。该命令打印的确切形式,来自源代码(W40-DEVTOOL 在最后一次捕获此文件后添加了这些内容);您的域名、ID 和日期将有所不同
Access to example.com · 3
───────────────────────────────────────────────────────────
who role status ends why grant
dev@agency.test viewer revoked — Example Org— revoked immediately after 01a00000-0000-7000-8000-000000000000
dev@agency.test viewer revoked — Example Org— revoked at the end of the walk 01a00001-0000-7000-8000-000000000001
dev@agency.test editor revoked — Example Org— revoked at the end of the walk 01a00002-0000-7000-8000-000000000002
zinnector unshare收回某人对站点的访问权限 — 通过电子邮箱或授权 ID (grant id)。
zinnector unshare [options] <site> <who>
| 参数 | 必需 | 说明 |
|---|---|---|
site | 是 | 要收回访问权限的站点 — ID、主域名或名称 |
who | 是 | 要移除的人员 — 其电子邮件地址,或来自 zinnector collaborators 的 grant id |
| 选项 | 作用 | 默认值 |
|---|---|---|
--yes | 不询问 |
示例
zinnector unshare example.com dev@agency.test --yes
您看到的内容 — 该命令打印的确切形式,来自源(在此文件上次被捕获后,W40-DEVTOOL 添加了这些内容);您的域名、ID 和日期将有所不同
✔ withdrew the invitation to dev@agency.test
zinnector invitations等待您的邀请,并接受其中一个。
zinnector invitations [options] [command]
示例
zinnector invitations
您所看到的内容 — 截取自 2026-09-14 针对 production 实际运行的 0.1.5;域名、id 和一次性链接已作替换。该命令从源打印出的确切形式(W40-DEVTOOL 在此文件最后一次截取后添加了这些内容);您的域名、id 和日期会有所不同;在没有子命令的情况下,它将运行 list
Invitations · 0
──────────────────
● nothing waiting for you
zinnector invitations list发送至您登录账户的邀请。
zinnector invitations list [options]
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读输出 |
示例
zinnector invitations list
您所看到的内容 — 捕获自 2026-09-14 对生产环境运行 0.1.5 的实际过程;域名、ID 和一次性链接已被替换。该命令打印的确切形式,来自源代码(W40-DEVTOOL 在最后一次捕获此文件后添加了这些内容);您的域名、ID 和日期将有所不同
Invitations · 0
──────────────────
● nothing waiting for you
zinnector invitations accept接受邀请 — 此命令返回之时,该网站即归您所有。
zinnector invitations accept [options] <id>
| 参数 | 必需 | 说明 |
|---|---|---|
id | 是 | 来自 zinnector invitations 的邀请 ID——输入其唯一前缀即可 |
示例
zinnector invitations accept 01a03f39-9c11-7b02-a7e0-2e4d0c5f1b77
您看到的内容 — 该命令打印的确切形式,来自源(在此文件上次被捕获后,W40-DEVTOOL 添加了这些内容);您的域名、ID 和日期将有所不同
✔ you now have access to example.com
zinnector link将此项目指向一个托管槽位(并连接其代码库)。
zinnector link [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 id、主域名或名称 — 默认指向 zinnector.json 中关联的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--repo <owner/name> | 将此代码仓库连接到平台上的站点 | |
--provider <name> | 用于部署的关联账户:github_app、github 或 gitlab(默认值:您所属组织已连接的账户) | |
--branch <name> | 执行推送部署的分支 | |
--no-repo | 仅写入 zinnector.json;不更改平台配置 |
示例
zinnector link example.com --repo acme/example-site --branch main
您所看到的内容
✔ this project deploys to example.com (01a03f39-730a-7dc4-84b0-5d4f7582dd04)
written to zinnector.json — commit it so everyone deploys to the same slot
✔ the platform will deploy acme/example-site (main)
→ next: zinnector check
zinnector pull将托管网站的文件拉取到此项目中以进行本地开发 — 并重新运行以重新同步。
zinnector pull [options] [site]
| 参数 | 是否必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认值为 zinnector.json 中关联的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--via <seam> | auto(默认)、git 或 backup | "auto" |
--fresh | 创建新的备份,而非使用最新的备份(消耗一个按需配额) | |
--max-age <hours> | 若最新备份早于此时间则予以接受 | "24" |
--full | 整个文档根目录,包含 WordPress 核心(默认值:仅 wp-content) | |
--no-uploads | 忽略 wp-content/uploads(媒体文件) | |
--no-database | 忽略站点数据库 — 仅获取文件 | |
--live-config | 同时写入 wp-config.php — 其中包含线上数据库凭据 | |
--clean | 在解压前清空 wp-content,以便镜像站点上的删除操作 | |
--dry-run | 说明将要执行的操作并停止 | |
--yes | 不进行询问 |
示例
zinnector pull
您所看到的内容
Pull example.com · 01a03f39-730a-7dc4-84b0-5d4f7582dd04
─────────────────────────────────────────────────────────────
● via git — the site syncs to its own repository and this is a clone of it
✔ fast-forwarded 3 commits 4f1c2a9b → 9d2e7c14
● not synced, and why
✖ database the local playground has its own; the site's is not copied
✖ offloaded media objects in storage are not in the site's files
✖ anything outside the repository only wp-content syncs
→ next: zinnector dev
zinnector clone从托管站点创建本地项目:克隆其存储库或拉取其文件。
zinnector clone [options] <site> [dir]
| 参数 | 是否必填 | 说明 |
|---|---|---|
site | 是 | 要复制的托管站点 — ID、主域名或名称 |
dir | 否 | 要创建的目录 — 默认为站点的主域名 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--via <seam> | auto(默认)、git 或 backup | "auto" |
--fresh | 创建新的备份,而非使用最新的备份 | |
--full | 整个文档根目录,包含 WordPress 核心 | |
--no-uploads | 排除 wp-content/uploads(媒体) | |
--no-database | 排除站点数据库 — 仅提取文件 | |
--live-config | 同时写入 wp-config.php — 其中包含生产数据库凭据 | |
--yes | 不进行询问 |
示例
zinnector clone client.example.com
您所看到的内容
Clone client.example.com · client.example.com
──────────────────────────────────────────────────────
✔ wrote client.example.com/zinnector.json (php 8.3, wordpress 6.7.1)
● via backup — the site does not sync to a repository
✔ downloaded 214 MB and extracted wp-content
● not synced, and why
✖ database the local playground has its own; the site's is not copied
✖ offloaded media objects in storage are not in the site's files
✖ wp-config.php holds the live database credentials (--live-config to write it)
✖ WordPress core the runtime supplies the version the slot runs (--full to take it)
→ next: zinnector dev
→ run it:
cd client.example.com
zinnector dev
zinnector sync网站的线上文件与其代码仓库之间的双向同步。
zinnector sync [options] [command]
示例
zinnector sync --help
所见内容 — 在没有子命令的情况下,zinnector sync <site> 等同于 sync status
Usage: zinnector sync [options] [command]
two-way sync between a site's live files and its repository
site → repository zinnector sync run commits the live files and pushes the branch
repository → site zinnector push builds the branch and publishes it
zinnector sync status双向同步状态及其最近的运行记录。
zinnector sync status [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中链接的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读的输出 |
示例
zinnector sync status example.com
您所看到的内容 — 捕获自 2026-09-12 在测试站点上运行 0.1.4 的真实过程;域名和 ID 已替换为示例值
Two-way sync — example.com
──────────────────────────
repository acme/example-site (main)
available yes
sync on
state synced
last sync 2026-09-12T22:51:41.539832Z
note Started from acme/example-site@main.
run files commit when
synced 2 changed da85d73cef5f 2026-09-12T22:52:10.117301Z
zinnector sync on开启双向同步(其本身不推送任何内容)。
zinnector sync on [options] [site]
| 参数 | 是否必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认值为在 zinnector.json 中关联的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--subdir <path> | 仅同步站点的此子目录 | |
--json | 机器可读的输出 |
示例
zinnector sync on example.com
您所看到的内容 — 需要在您自己的 GitHub 账户上关联一个代码仓库;它本身不会推送任何内容
✔ two-way sync is on
Two-way sync — example.com
…
→ next: zinnector sync run
zinnector sync off关闭双向同步。
zinnector sync off [options] [site]
| 参数 | 是否必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认值为在 zinnector.json 中关联的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--subdir <path> | 仅同步站点的此子目录 | |
--json | 机器可读的输出 |
示例
zinnector sync off example.com
您所看到的内容
✔ two-way sync is off
zinnector sync run立即将网站的线上文件提交到其代码库。
zinnector sync run [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中链接的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读的输出 |
示例
zinnector sync run example.com
您所看到的 — 截取自 2026-09-12 在测试站点上运行 0.1.4 的真实记录;域名和 id 已替换为示例值。代码库已越过的运行则会被 HELD(保留):不会推送或覆盖任何内容,命令退出代码为 1 并指出下一步
✔ committed 2 changed files da85d73cef5f
Two-way sync — example.com
…
→ next: git pull in your clone
zinnector sync resolve通过选择胜出方来清除暂停的同步。
zinnector sync resolve [options] [site]
| 参数 | 必填 | 说明 |\n|---|---|---|\n| site | 否 | 站点 ID、主域名或名称 — 默认是在 zinnector.json 中链接的站点 |\n\n| 选项 | 作用 | 默认值 |\n|---|---|---|\n| --keep <side> | site(在顶部提交站点)或 repository(放弃站点未同步的更改) | |\n| --yes | 不询问 | |\n| --json | 机器可读输出 | |\n\n示例
zinnector sync resolve example.com --keep repository --yes
您所看到的内容 — 截取自 2026-09-12 在测试站点上运行 0.1.4 的真实记录;域名和 ID 已替换为示例值。如果不加 --yes,它会先进行提示询问;在没有可供提示的终端时,则会直接拒绝执行
✔ kept the repository
Two-way sync — example.com
…
state synced
zinnector check将此项目与您即将部署到的槽位进行比较。
zinnector check [options] [site]
| 参数 | 必需 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中链接的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--probe | 启动本地运行环境并测量其 php,而不是信任 zinnector.json | |
--all | 同时显示通过的检查项 | |
--strict | 在某些项目无法检查时也视为失败 | |
--json | 机器可读的输出 |
示例
zinnector check
您所看到的内容 — 捕获自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换 — 该次运行发现了一个实际的不匹配(项目中为 PHP 8.3,而槽位中为 8.4),这正是该命令的核心目的
→ reading the slot
size excludes: .git
Pre-flight — example.com · 01a00000-0000-7000-8000-000000000000
────────────────────────────────────────────────────────────────────────
local php 8.4 3 files, 0.0 MB
slot php 8.4 target fleet
local php is the version DECLARED in zinnector.json — run with --probe to measure it
? unknown local php extensions could not be enumerated
try zinnector dev --once
? unknown wordpress versions could not be compared
No WordPress version found in the working copy.
try zinnector status
7 passed · 2 could not be checked
zinnector push执行预检、推送您的提交并进行部署。
zinnector push [options] [site]
| 参数 | 必需 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认是在 zinnector.json 中链接的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
-f, --force | 即使预检有发现项也进行部署 | |
--skip-checks | 完全不运行预检 | |
--probe | 在预检期间测量本地运行环境,而不是信任 zinnector.json | |
--no-wait | 触发部署并退出,不进行监视 | |
--no-git | 不运行 git push;直接部署平台现有的任何内容 | |
--dry-run | 执行除部署以外的所有操作 |
示例
zinnector push
您所看到的内容
Deploy to example.com · 01a03f39-730a-7dc4-84b0-5d4f7582dd04
───────────────────────────────────────────────────────────────
✔ pre-flight: 8 passed · 0 to look at · 2 could not be checked
→ pushing main (4f1c2a9b add the contact form)
✔ pushed
● deploy 7c0e… started — watching
✔ deployed 4f1c2a9b in 48s
status success
commit 4f1c2a9b
url https://example.com
zinnector deploy重新部署平台上已有的内容,而无需推送。
zinnector deploy [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中关联的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--no-wait | 触发后退出 |
示例
zinnector deploy example.com
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
Redeploy example.com · 01a00000-0000-7000-8000-000000000000
────────────────────────────────────────────────────────────────────────
→ starting the deploy
✔ deploy started
zinnector deploys站点的部署历史记录。
zinnector deploys [options] [site]
| argument | required | what it is |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中链接的站点 |
| option | what it does | default |
|---|---|---|
--json | 机器可读的输出 | |
-n, --limit <n> | 显示的数量 | "10" |
示例
zinnector deploys example.com
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
Deploys — example.com · 2
───────────────────────────────────────────────────────────
status commit branch trigger started message
live — — manual 2026-09-14T09:06:39.685554Z —
live — — manual 2026-09-14T01:29:20.196957Z —
zinnector php显示或切换站点的 PHP 版本。
zinnector php [options] [version]
| 参数 | 必填 | 说明 |
|---|---|---|
version | 否 | 要将站点切换至的 PHP 版本,例如 8.4 — 省略则显示当前版本 |
| 选项 | 作用 | 默认值 |
|---|---|---|
-s, --site <site> | 站点 ID 或域名 | |
--list | 列出平台提供的版本 | |
--json | 机器可读的输出 |
示例
zinnector php 8.3 --site example.com
您所看到的内容 — 捕获自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 以及单次使用链接均已被替换。未指定版本时将显示当前版本;--list 显示平台针对该站点的产品线所提供的内容
PHP — example.com
──────────────────────────────────────────────────────
version 8.4
can switch to 8.5, 8.4, 8.3, 8.2, 8.1, 8.0, 7.4
zinnector quota相对于套餐配额的磁盘、文件和数据库使用情况。
zinnector quota [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中链接的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读的输出 |
示例
zinnector quota example.com
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
Quota — example.com
────────────────────────────────────────────────────────
disk used 188 MB
disk limit 500.0 GB
disk granted 500 GB (per_site)
files used 6,313
file limit 2,000,000
database 1 MB
“limit” is what is enforced today; “granted” is what the plan says.
zinnector db数据库大小,以及进入 phpMyAdmin 和文件管理器的一次性链接。
zinnector db [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中链接的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读的输出 |
示例
zinnector db example.com
您所看到的内容 — 捕获自 2026-09-14 在生产环境中 0.1.5 版本的实际运行;域名、ID 和一次性链接已被替换。phpMyAdmin 和文件管理器链接均为一次性且会过期;请勿将它们粘贴到任何地方
Database — example.com
───────────────────────────────────────────────────────────
size 1 MB
tables 14
single-use links, valid for one visit:
phpMyAdmin https://pma.example.com/signon.php?t=<single-use>
file manager https://files.example.com/signon.php?t=<single-use>
zinnector logs实时查看网站的访问和错误日志。
zinnector logs [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认值为在 zinnector.json 中关联的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--access | 仅访问日志 | |
--error | 仅错误日志 | |
--build | 改为显示最新部署的构建日志 | |
--json | 机器可读的输出 |
示例
zinnector logs example.com --error
您所看到的内容 — 捕获自 2026-09-14 针对生产环境的 0.1.5 实际运行;域名、ID 和一次性链接已被替换。--access 用于访问日志,--build 用于上次部署的构建日志(非构建提供商构建的站点将显示部署自身的步骤);如果不带任何标志,则两个站点日志均会显示,无法读取的日志将明确说明而不会显示为空白
Error log — example.com
────────────────────────────────────────────────────────────
2026-09-14 11:06:07.153643 [NOTICE] [1929978] [T0] [config:vhost:zcaffb6eec5abbdab03fb9b2d62a15:epsr:lsphp-zcaffb6eec5abbdab03fb9b2d62a15]'Process Limit' probably is too low, adjust the limit to: 640.
2026-09-14 11:06:37.873060 [INFO] [1929982] [T0] [lsphp-zcaffb6eec5abbdab03fb9b2d62a15] add child process pid: 1933036, procinfo: 0x5555561cfe30
zinnector wp在站点上运行列入允许列表的 WP-CLI 命令。
zinnector wp [options] [command...]
| 参数 | 必填 | 说明 |
|---|---|---|
command... | 否 | WP-CLI 命令及其参数,例如 plugin list — 使用 --commands 可将其省略 |
| 选项 | 作用 | 默认值 |
|---|---|---|
-s, --site <site> | 站点 ID 或域名 | |
--commands | 列出平台将要运行的内容 | |
--json | 机器可读的输出 |
示例
zinnector wp plugin list --site example.com
您所看到的内容 — 捕获自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换。允许列表由平台提供 — zinnector wp --commands 将其打印出来
name status update version update_version auto_update
akismet inactive none 5.7.2 off
hello inactive none 1.7.2 off
imunify-security active none 4.1.0 off
litespeed-cache active none 7.9.1 off
redis-cache active none 2.8.0 off
zinn-cache active none 1.2.2 off
object-cache.php dropin off
zinnector backup列出并创建网站备份。
zinnector backup [options] [command]
示例
zinnector backup list example.com
您所看到的内容 — 捕获自 2026-09-14 在生产环境中运行 0.1.5 的真实记录;域名、ID 和一次性链接已被替换。单独运行 backup 会输出其子命令;请参阅下方的 backup list 和 backup now
Backups — example.com · 3
───────────────────────────────────────────────────────────
status taken size id
stored 2026-09-14T09:06:39.918280Z 4.7 MB 01a00000-0000-7000-8000-000000000000
stored 2026-09-14T01:29:20.403161Z 36 MB 01a00001-0000-7000-8000-000000000001
stored 2026-09-14T01:29:15.898099Z 36 MB 01a00002-0000-7000-8000-000000000002
daily backups on
retention 30 days
off-site copy yes
on-demand left 2 of 3
zinnector backup list列出站点的备份以及其方案所包含的内容。
zinnector backup list [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认为 zinnector.json 中链接的站点 |
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读的输出 |
示例
zinnector backup list example.com
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
Backups — example.com · 3
───────────────────────────────────────────────────────────
status taken size id
stored 2026-09-14T09:06:39.918280Z 4.7 MB 01a00000-0000-7000-8000-000000000000
stored 2026-09-14T01:29:20.403161Z 36 MB 01a00001-0000-7000-8000-000000000001
stored 2026-09-14T01:29:15.898099Z 36 MB 01a00002-0000-7000-8000-000000000002
daily backups on
retention 30 days
off-site copy yes
on-demand left 2 of 3
zinnector backup now创建按需备份。
zinnector backup now [options] [site]
| 参数 | 必填 | 说明 |
|---|---|---|
site | 否 | 站点 ID、主域名或名称 — 默认是在 zinnector.json 中关联的站点 |
示例
zinnector backup now example.com
您所看到的内容
✔ backup started — zinnector backup list example.com shows it when it completes
zinnector domains列出此密钥可以查看的域名。
zinnector domains [options]
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读输出 |
示例
zinnector domains
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
Domains · 1
──────────────
domain status ownership renewal expires
example.com connected connected no auto-renew —
zinnector dns读取并更改 DNS 记录。
zinnector dns [options] [command]
示例
zinnector dns list example.com
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行记录;域名、ID 和一次性链接已作替换。单独输入 dns 会输出其子命令;请参阅下方的 dns list、dns add 和 dns rm
DNS — example.com · 1 records
────────────────────────────────────────
type name value ttl
TXT w4357-verify zinn-w4357-updated ttl 3600
zinnector dns list列出域名的 DNS 记录。
zinnector dns list [options] <domain>
| 参数 | 必填 | 说明 |
|---|---|---|
domain | 是 | 域名,按名称或 id |
| 选项 | 作用 | 默认值 |
|---|---|---|
--type <type> | 仅该类型的记录 | |
--json | 机器可读输出 |
示例
zinnector dns list example.com
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
DNS — example.com · 1 records
────────────────────────────────────────
type name value ttl
TXT w4357-verify zinn-w4357-updated ttl 3600
zinnector dns add创建 DNS 记录。
zinnector dns add [options] <domain> <type> <name> <value>
| 参数 | 必需 | 说明 |\n|---|---|---|\n| domain | 是 | 域名,按名称或 id |\n| type | 是 | 记录类型:A、AAAA、CNAME、MX、TXT、SRV、… |\n| name | 是 | 记录名称 —— 域名本身使用 @,或子域名标签 |\n| value | 是 | 记录指向的内容 —— 地址、主机名或文本 |\n\n| 选项 | 作用 | 默认值 |\n|---|---|---|\n| --ttl <seconds> | 生存时间 | "3600" |\n| --priority <n> | 优先级,用于 MX 和 SRV | |\n| --proxied | 通过 CDN 路由 | |\n| -y, --yes | 不询问 | |\n\n示例
zinnector dns add example.com TXT _acme "token" --ttl 300
您所看到的内容 — 记录在写入前会显示并进行确认;传入 --yes 可跳过此提问
Add a DNS record to example.com
───────────────────────────────
type TXT
name _acme
value "token"
ttl 300
create it? [y/N] y
✔ created TXT _acme
zinnector dns rm删除一条 DNS 记录。
zinnector dns rm [options] <domain> <recordId>
| 参数 | 必需 | 说明 |
|---|---|---|
domain | 是 | 域名,按名称或 id |
recordId | 是 | 记录 id,与 zinnector dns list 输出的一致 |
| 选项 | 作用 | 默认值 |
|---|---|---|
-y, --yes | 不询问 |
示例
zinnector dns rm example.com rec_7f3a
您所看到的内容
⚠ deleting A @ 203.0.113.10 from example.com
delete it? [y/N] y
✔ deleted
zinnector mail列出邮件服务。
zinnector mail [options]
| 选项 | 作用 | 默认值 |
|---|---|---|
--json | 机器可读输出 |
示例
zinnector mail
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行;域名、ID 和一次性链接已被替换
Mail services · 0
────────────────────
● no mail services
zinnector bulk在多个站点上运行一项操作(cache_purge、malware_scan、sitemap、block_ip)。
zinnector bulk [options] <operation>
| 参数 | 必需 | 说明 |
|---|---|---|
operation | 是 | 在每个所选站点上运行的操作:cache_purge、malware_scan、sitemap 或 block_ip |
| 选项 | 作用 | 默认值 |
|---|---|---|
--all | 此密钥可见的每个站点 | |
--site <site...> | 指定站点,按 id 或域名 | |
--status <status> | 处于此状态的每个站点 | |
-y, --yes | 不询问 | |
--json | 机器可读的输出 |
示例
zinnector bulk cache_purge --all
您所看到的内容 — 截取自 2026-09-14 在生产环境中对 0.1.5 的实际运行记录;域名、ID 以及一次性链接均已替换。对整个选择范围仅向平台发起一次调用,而非每个站点一次;先展示并确认所选内容
Bulk cache_purge · 1 sites
─────────────────────────────
· example.com
→ running cache_purge
✔ cache_purge accepted for 1 sites
The platform runs this asynchronously; results appear per site in the dashboard.
zinnector ai在此项目作为背景的上下文下向 Zinn Digital® 助手提问。
zinnector ai [options] <question...>
| 参数 | 必填 | 说明 |
|---|---|---|
question... | 是 | 您想要询问的内容,使用通俗的词语 — 加引号为选填 |
| 选项 | 作用 | 默认值 |
|---|---|---|
-s, --site <site> | 询问关于特定站点的信息 | |
--org <id> | 当您的账户属于多个组织时,作为提问身份的组织 | |
--no-context | 不发送关于本地项目的任何内容 | |
--json | 机器可读的输出 |
示例
zinnector ai "why is my deploy failing?"
您所看到的内容 — 截取自 2026-09-14 针对生产环境的 0.1.5 实际运行;域名、ID 和一次性链接已进行替换。助手会使用账户的语言进行回答 — 该账户的区域设置为阿拉伯语,因此截取的回答是对英文问题的阿拉伯语回复
→ thinking
Zinn Digital® assistant
────────────────────────────
هذا مشروع WordPress تم إنشاؤه بواسطة Zinnector® (مُهيّأ على PHP 8.4، أحدث
إصدار WordPress، وبيئة تشغيل playground)؛ لتشغيله محلياً، انتقل إلى مجلده
وشغّل الأمر: cd <اسم-المشروع> ثم zinnector dev، وسيقوم بتشغيل موقع WordPress
حقيقي على جهازك دون الحاجة إلى Docker.
sources:
· https://zinndigital.com/kb/zinnector-getting-started
· https://zinndigital.com/kb/zinnector-local-development
zinnector mcp运行通往托管 MCP 服务器的 stdio 桥接器 — 适用于 Claude Desktop 和其他仅本地客户端。
zinnector mcp [options]
示例
ZINN_MCP_TOKEN=zmcp_live_… zinnector mcp
您所看到的 — 由诸如 Claude Desktop 等 AI 客户端启动,绝非手动启动 — 它在 stdin 和 stdout 上通过 MCP 进行通信。于 2026-09-12 针对实际运行的服务器通过 Claude Code 2.1.270 进行了验证
zinnector 0.1.4: MCP bridge to https://api.zinndigital.com/v1/mcp
| 变量 | 作用 |
|---|---|
ZINNECTOR_TOKEN | API 密钥,用于替代存储的配置文件——这是 CI 进行身份验证的方式 |
ZINNECTOR_API | API 基础 URL(默认 https://api.zinndigital.com) |
ZINNECTOR_DEBUG=1 | 打印堆栈跟踪及运行时安装程序本身的输出 |
ZINNECTOR_CACHE_DIR | WordPress 运行时和受管 Node 的保留位置(默认 ~/.cache/zinnector) |
ZINNECTOR_CONFIG_DIR | API 密钥配置文件所在位置(默认 ~/.config/zinnector) |
NO_COLOR | 禁用彩色显示 |
0 成功 · 1 发现问题或拒绝 · 70 内部错误 · 77 身份验证或权限问题 · 78 不支持的 Node。
我们关于托管、SEO 和大规模网站运营的撰文。
虚拟主机如何在 2026 年影响收录与链接资产传递(link equity):保持页面被有效索引、在建站前严格审查老域名、构建无痕迹(footprint)的外链,以及客观剖析底层基础设施在 SEO 方面的能力与局限。
阅读文章 →打造快速、安全的 WordPress 的实用核对清单:服务器级缓存、按站点设置的对象缓存、少数几个值得运行的插件、保持技术栈最新,以及绝不能进行缓存的 WooCommerce 页面。
阅读文章 →究竟是什么将优质的托管服务与带控制面板的廉价主机区分开来——迁移、备份、隔离、真正的缓存以及诚实的扩展能力——以及如何在您做出决定之前对其进行评估。
阅读文章 →