호스팅 계층에서의 SEO 및 링크 빌딩: 2026년 운영자의 관점
2026년 호스팅이 색인 생성과 링크 자산에 미치는 영향: 페이지의 색인 상태 유지, 구축 전 기존 도메인 검증, 검색 엔진 흔적 없는 링크 빌딩, 그리고 인프라가 SEO를 위해 할 수 있는 것과 할 수 없는 것에 대한 솔직한 분석.
게시물 읽기 →지식 베이스
zinnector --help에 나열된 그대로의 모든 Zinnector® 명령 — 인수, 플래그 및 기본값, 실행 가능한 예제 및 출력 내용 — 설치하신 버전과 차이가 없도록 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를 통해 설치 상태를 확인하십시오. 시작 가이드에서 첫 5분 동안 진행할 과정을 안내합니다. 이 페이지는 필요할 때 다시 참조할 수 있는 레퍼런스 문서입니다.
모든 명령어는 -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]
| 옵션 | 동작 설명 | 기본값 |
|---|---|---|
--php <version> | 실행할 PHP 버전 (playground에서는 5.2–8.5, docker에서는 7.4–8.5) | |
--wp <version> | WordPress 버전 | |
-p, --port <port> | 서비스할 포트 | |
--runtime <name> | playground(기본값) 또는 docker | |
--login | 관리자로 자동 로그인 | true |
--no-login | 자동으로 로그인하지 않음 | |
--once | 부팅 후 실행 중인 항목을 보고한 다음 중지 | |
--yes | 확인 메시지 없이 로컬 런타임 설치 | |
--reset-runtime | 설치된 런타임을 삭제하고 다시 설치 | |
-v, --verbose | 런타임 자체 출력 표시 |
예제
cd my-site
zinnector dev
보이는 화면 — 캡처됨 — 0.1.2. 처음 실행할 때 WordPress 런타임(~570MB) 다운로드 여부를 한 번 묻습니다. 질문을 건너뛰려면 --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]
| 옵션 | 기능 | 기본값 |
|---|---|---|
--profile <name> | 지정된 프로필 사용 | |
--scopes | API 키에 부여된 권한 목록 표시 | |
--json | 기계 판독 가능 출력 |
예시
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 프로덕션 환경에서 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]
| 인수 | 필수 여부 | 설명 |\n|---|---|---|\n| site | 아니요 | 사이트 ID, 기본 도메인 또는 이름 — 기본값은 zinnector.json에 연결된 사이트입니다 |\n\n| 옵션 | 동작 | 기본값 |\n|---|---|---|\n| --repo <owner/name> | 이 리포지토리를 플랫폼의 사이트에 연결합니다 | |\n| --provider <name> | 배포에 사용할 연결된 계정: github_app, github 또는 gitlab (기본값: 귀하의 조직에서 연결한 계정) | |\n| --branch <name> | 푸시 시 배포를 진행할 브랜치 | |\n| --no-repo | zinnector.json만 작성하며, 플랫폼은 수정하지 않습니다 | |\n\n예시
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 파일도 작성 — LIVE 데이터베이스 자격 증명 포함 | |
--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]
| 인수 | 필수 여부 | 설명 |
|---|---|---|
site | 아니요 | 사이트 id, 기본 도메인 또는 이름 — 기본값은 zinnector.json에 연결된 사이트입니다 |
| 옵션 | 동작 | 기본값 |
|---|---|---|
--keep <side> | site (사이트를 최상위에 커밋) 또는 repository (사이트의 동기화되지 않은 변경 사항 삭제) | |
--yes | 묻지 않음 | |
--json | 시스템 판독 가능 출력 |
예시
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 | zinnector.json을 신뢰하는 대신 로컬 런타임을 부팅하고 해당 php를 측정합니다 | |
--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 | 사전 점검(pre-flight) 결과에 문제가 있어도 배포합니다 | |
--skip-checks | 사전 점검(pre-flight)을 전혀 실행하지 않습니다 | |
--probe | zinnector.json을 신뢰하는 대신 사전 점검(pre-flight) 중에 로컬 런타임을 측정합니다 | |
--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]
| 인수 | 필수 여부 | 설명 |\n|---|---|---|\n| site | 아니요 | 사이트 ID, 기본 도메인 또는 이름 — 기본값은 zinnector.json에 연결된 사이트입니다 |\n\n| 옵션 | 동작 | 기본값 |\n|---|---|---|\n| --no-wait | 트리거하고 종료 | |\n\n예시
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]
| 인수 | 필수 여부 | 설명 |
|---|---|---|
site | 아니요 | 사이트 ID, 기본 도메인 또는 이름 — 기본값은 zinnector.json에 연결된 사이트입니다 |
| 옵션 | 동작 | 기본값 |
|---|---|---|
--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 dnsDNS 레코드를 확인하고 변경합니다.
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 addDNS 레코드를 생성합니다.
zinnector dns add [options] <domain> <type> <name> <value>
| 인수 | 필수 여부 | 설명 |
|---|---|---|
domain | 예 | 도메인(이름 또는 id) |
type | 예 | 레코드 유형: A, AAAA, CNAME, MX, TXT, SRV, … |
name | 예 | 레코드 이름 — 도메인 자체의 경우 @, 또는 서브도메인 라벨 |
value | 예 | 레코드가 가리키는 대상 — 주소, 호스트 이름 또는 텍스트 |
| 옵션 | 동작 | 기본값 |
|---|---|---|
--ttl <seconds> | 유효 시간(TTL) | "3600" |
--priority <n> | 우선순위(MX 및 SRV용) | |
--proxied | CDN을 통해 라우팅 | |
-y, --yes | 묻지 않음 |
예시
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 rmDNS 레코드를 삭제합니다.
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년 호스팅이 색인 생성과 링크 자산에 미치는 영향: 페이지의 색인 상태 유지, 구축 전 기존 도메인 검증, 검색 엔진 흔적 없는 링크 빌딩, 그리고 인프라가 SEO를 위해 할 수 있는 것과 할 수 없는 것에 대한 솔직한 분석.
게시물 읽기 →빠르고 안전한 WordPress를 위한 실용적인 체크리스트: 서버 수준 캐싱, 사이트별 객체 캐시, 사용할 가치가 있는 소수의 플러그인, 최신 스택 유지, 그리고 절대 캐시해서는 안 되는 WooCommerce 페이지.
게시물 읽기 →제어판이 있는 저렴한 서버와 우수한 매니지드 호스팅을 실제로 구분 짓는 요소(마이그레이션, 백업, 격리, 진정한 캐싱 및 정직한 확장성), 그리고 계약하기 전에 이를 평가하는 방법.
게시물 읽기 →