Власник сайту може надати вам доступ до одного зі своїх сайтів — не до свого облікового запису, не до білінгу, не до інших сайтів — і ви працюєте над ним за допомогою власного облікового запису Zinn Digital® та безкоштовного CLI Zinnector®. Цей посібник охоплює обидві сторони цього процесу: що робить власник і що робите ви.
Якщо ви раніше не користувалися Zinnector®, у статті Початок роботи з Zinnector® описано його встановлення приблизно за дві хвилини. Ніщо тут не вимагає від вас купувати хостинг.
Для власника сайту — спільний доступ до одного сайту
- Відкрийте сайт у своїй панелі керування та перейдіть до розділу Безпека.
- У розділі Хто ще має доступ до цього сайту виберіть Надати доступ до сайту.
- Введіть адресу електронної пошти розробника. Обліковий запис ще не обов'язковий — якщо розробник ніколи не входив у систему, він отримає запрошення, і доступ розпочнеться в момент його прийняття.
- Виберіть роль:
- Глядач — може переглядати, але нічого не може змінювати.
- Редактор — роль, яка зазвичай потрібна розробнику. Він може змінювати файли сайту, користуватися wp-admin і завантажувати архів сайту для локальної роботи. Цей архів містить базу даних.
- Менеджер — усе, що може редактор, плюс відновлення резервної копії.
- Укажіть причину та, якщо робота має кінцеву дату, термін дії. Надання доступу просто припиняється в цю дату; вам не потрібно пам'ятати про його видалення.
- Збережіть зміни.
Хоч би що ви вибрали, співавтор ніколи не зможе видалити сайт, переглядати ваш білинг або отримувати доступ до будь-яких інших ваших сайтів.
Що означає «архів містить базу даних»
Редактор або менеджер може взяти копію сайту для роботи, а копія сайту — це його файли та база даних. База даних WordPress містить усе, що ваші відвідувачі надали сайту — імена коментаторів та адреси електронної пошти, облікові записи клієнтів, замовлення та адреси доставки WooCommerce, надіслані форми.
Зазвичай це саме те, що потрібно розробнику: без цього він дивиться на вашу тему на порожньому сайті. Про це варто знати, оскільки це справжні персональні дані, і люди, яким вони належать, є вашими клієнтами, а не нашими.
З цього випливають дві речі, і платформа робить обидві для вас:
- Кожен експорт записується до вашого журналу аудиту. Відкрийте Журнал аудиту та знайдіть запис
site.backup.exported. У кожному рядку вказано, хто зробив експорт, коли та чи містив той архів базу даних. Вам не потрібно про це запитувати.
- Ви можете припинити це в будь-який момент. Відкликання є миттєвим — див. нижче.
Якщо ви хочете, щоб вони працювали без бази даних, скажіть їм додати --no-database під час виконання pull; це один прапорець, а решта працює так само.
Для розробника — перенесення сайту на ваш комп'ютер
1. Установіть Zinnector®
npm install -g zinnector
zinnector --version
Потрібна версія Node 24 або новіша. node --version має виводити v24 або вище.
2. Увійдіть у систему під власним обліковим записом
zinnector login
Це відкриє ваш браузер і виконає вхід за допомогою вашого власного облікового запису Zinn Digital® — того, на який було надіслано запрошення. Вам ніколи не знадобиться пароль власника, а йому ніколи не доведеться давати його вам.
Перевірте, до чого ви отримали доступ:
zinnector sites
Ви побачите саме ті сайти, до яких вам надали доступ, і нічого більше. Якщо список порожній, запрошення ще не прийнято, або доступ було відкликано чи термін його дії минув.
3. Завантажте сайт локально
zinnector clone client-domain.com
cd client-domain.com
Команда clone створює локальний проєкт із розміщеного на хостингу сайту. Вона завантажує:
wp-content — теми, плагіни, mu-плагіни, мови та медіафайли, які становлять власні напрацювання сайту;
- базу даних, записану у файл
database.sql у проєкті.
Вона навмисно залишає позаду ядро WordPress (ваше локальне середовище виконання надає потрібну версію), wp-config.php (у ньому зберігається пароль до бази даних живого сайту) та будь-які медіафайли, які було вивантажено до об'єктного сховища.
Кожне виконання виводить точно те, що було завантажено, і те, що було залишено, з кількісними показниками. Якщо вам потрібні лише файли, додайте --no-database.
Уже маєте проєкт і хочете отримати лише найсвіжіші зміни? Запустіть усередині нього zinnector pull.
4. Запустіть його локально зі справжнім вмістом
zinnector dev --runtime docker
У середовищі виконання Docker це імпортує database.sql, перепише URL-адресу сайту на вашу локальну адресу та відкриє сайт зі справжнім вмістом клієнта. Увійдіть у систему за допомогою власних облікових записів WordPress сайту.
Середовище виконання за замовчуванням — WordPress Playground, яке не потребує Docker, — швидше запускається і не імпортує базу даних; воно повідомить про це замість того, щоб тихо запускатися порожнім. Використовуйте його, коли працюєте з кодом і вам не потрібен вміст.
5. Подбайте про надану вам копію
database.sql — це база даних робочого сайту. Zinnector® додає її до файлу .gitignore вашого проєкту одразу після створення, щоб неуважний git add -A не міг опублікувати чиїсь клієнти в репозиторії. Не чіпайте цей рядок і видаліть файл, коли роботу буде завершено.
Що співавтор може і чого не може робити
| | Глядач | Редактор | Менеджер | |---|---|---|---| | Переглядати сайт і його налаштування | ✔ | ✔ | ✔ | | Змінювати файли, використовувати wp-admin, розгортати | | ✔ | ✔ | | Завантажувати сайт, включаючи базу даних | | ✔ | ✔ | | Відновлювати резервну копію поверх живого сайту | | | ✔ | | Видалити сайт | | | | | Переглядати білинг або рахунки-фактури | | | | | Отримувати доступ до інших сайтів власника | | | |
Останні три рядки є порожніми для кожної ролі. Це не налаштування.
Припинення доступу
Власник відкриває розділ Безпека сайту та вибирає Відкликати біля імені користувача. Це набуває чинності негайно: наступна команда Zinnector®, яку запускає цей розробник, не зможе побачити сайт, як і будь-що інше, до чого він мав доступ.
Термін дії робить те саме в певну дату, і нікому не потрібно про це пам'ятати. Якщо ви встановили його під час надання доступу, усе вже зроблено.
Коли щось не працює
zinnector sites нічого не показує. Запрошення не прийнято, або доступ було відкликано чи термін його дії минув. Попросіть власника переглянути розділ безпеки сайту — там зазначено очікуване запрошення.
zinnector pull повідомляє, що сайт не має свіжих резервних копій. Команда створює нову резервну копію, якщо це дозволяє тарифний план, і спочатку запитує про це. Якщо тарифний план не включає резервне копіювання на вимогу, збільште значення --max-age, щоб прийняти старішу копію.
zinnector dev запускає порожній WordPress. Ви використовуєте середовище виконання Playground, яке не імпортує базу даних. Запустіть zinnector dev --runtime docker.
- Локальний сайт продовжує перенаправляти на живий домен. Під час імпорту переписується URL-адреса сайту; якщо цей крок не вдався, команда повідомляє про це та виводить рядок
wp search-replace для виконання.
Більше помилок та способи їх усунення: Виправлення неполадок Zinnector®.