Клиент делал инфопродукты на Tilda. Появилась жалоба на слово в доменном имени - возник риск блокировки домена и потери многолетнего сайта.
Задача: сделать независимое зеркало с автосинхронизацией, чтобы правки не переносить вручную.
Мы собрали решение: статическая копия на отдельном хостинге, вебхуки Tilda, очередь, нормализация ссылок и синхронизация через rsync.
Результат: изменения на зеркале появляются до 5 минут, клиент управляет синхронизацией через панель.
Срок: 2 недели.
В процессе проработки было еще одна важная вводная в ТЗ – надо было, чтобы сайт синхронизировался с зеркалом «на лету», чтобы руками не переносить все правки.
Я приступил к проработке. У Tilda есть Webhook, посредством которого можно получать правки сайта по URL, который можно задать на Tilda. Это подошло для получения любых обновлений, которые были на боевом сайте.
Систему построил следующим образом:
1. Создать полную текущую копию 1:1 сайта как он выглядит сейчас. Регулярками заменить вхождения старого домена на новый. Поменять все абсолютные пути со ссылками URL на Tilda cdn статики(js css, картинок, шрифтов и прочего) на относительные пути к папкам на новом хостинге.
2. Настроить обработчик, который принимает Webhook и складывает файлы сайта в отдельную папку.
3. Из отдельной папки настроил слияние обновлений через rsync, но предварительно нужен был пайплайн очистки: заменяем старый домен на новый, меняем пути для статики, убирая пути CDN Tilda.
4. Добавляем простую систему очередей, которую только с тестами посчитал нужной – при нажатии сохранения Tilda по Webhook может передавать немалый объем данных. Чтобы это все надежно фиксировалось на новом сайте нужен был надежный обработчик очередей.
5. Сделать наблюдаемость: Отдельную web страницу, где можно было видеть и настраивать всю синхронизацию клиенту.
Итоги:
1. Создано резервное зеркало сайта на отдельном хостинге.
2. Создана синхронизация контента с Tilda версией сайта прямо «на горячую» – изменения появлялись на зеркале сайта в течение 5 минут после правок на боевом сайте. Можно было не беспокоиться, что сайт заблокируют и у бизнеса будут длительные простои с потерей правок.
Вопросы:
- Зачем и где надо было менять старый домен на новый в коде статического сайта?
Ответ: Были кастомные JS скрипты от разработчика, которые согласно ТЗ надо было оставить.
- Какие были сложности?
Ответ: Из проблем – сырые данных со стороны Tilda обрабатывалось некорректно и ломалась кодировка у js файлов. Благодаря обратной связи это удалось быстро обнаружить и решить.
📝 Консультация 📌 Tg 📌 MAX
Задача: сделать независимое зеркало с автосинхронизацией, чтобы правки не переносить вручную.
Мы собрали решение: статическая копия на отдельном хостинге, вебхуки Tilda, очередь, нормализация ссылок и синхронизация через rsync.
Результат: изменения на зеркале появляются до 5 минут, клиент управляет синхронизацией через панель.
Срок: 2 недели.
В процессе проработки было еще одна важная вводная в ТЗ – надо было, чтобы сайт синхронизировался с зеркалом «на лету», чтобы руками не переносить все правки.
Я приступил к проработке. У Tilda есть Webhook, посредством которого можно получать правки сайта по URL, который можно задать на Tilda. Это подошло для получения любых обновлений, которые были на боевом сайте.
Систему построил следующим образом:
1. Создать полную текущую копию 1:1 сайта как он выглядит сейчас. Регулярками заменить вхождения старого домена на новый. Поменять все абсолютные пути со ссылками URL на Tilda cdn статики(js css, картинок, шрифтов и прочего) на относительные пути к папкам на новом хостинге.
2. Настроить обработчик, который принимает Webhook и складывает файлы сайта в отдельную папку.
3. Из отдельной папки настроил слияние обновлений через rsync, но предварительно нужен был пайплайн очистки: заменяем старый домен на новый, меняем пути для статики, убирая пути CDN Tilda.
4. Добавляем простую систему очередей, которую только с тестами посчитал нужной – при нажатии сохранения Tilda по Webhook может передавать немалый объем данных. Чтобы это все надежно фиксировалось на новом сайте нужен был надежный обработчик очередей.
5. Сделать наблюдаемость: Отдельную web страницу, где можно было видеть и настраивать всю синхронизацию клиенту.
Итоги:
1. Создано резервное зеркало сайта на отдельном хостинге.
2. Создана синхронизация контента с Tilda версией сайта прямо «на горячую» – изменения появлялись на зеркале сайта в течение 5 минут после правок на боевом сайте. Можно было не беспокоиться, что сайт заблокируют и у бизнеса будут длительные простои с потерей правок.
Вопросы:
- Зачем и где надо было менять старый домен на новый в коде статического сайта?
Ответ: Были кастомные JS скрипты от разработчика, которые согласно ТЗ надо было оставить.
- Какие были сложности?
Ответ: Из проблем – сырые данных со стороны Tilda обрабатывалось некорректно и ломалась кодировка у js файлов. Благодаря обратной связи это удалось быстро обнаружить и решить.
📝 Консультация 📌 Tg 📌 MAX
Просмотры: 14