Задача
University Barber — барбершоп, которому нужен был один сайт для трёх задач: представить услуги и команду, продавать средства для волос и ухода онлайн и принимать записи. Также нужен был безопасный способ вносить изменения, потому что каждая правка сразу попадала в работающий магазин.
Что я сделал
Я создал сайт на WordPress с магазином и онлайн-записью, а также процесс развёртывания, который защищает рабочий сервер.
- Интернет-магазин на WooCommerce с собственной линейкой продукции барбершопа: шампуни, кондиционеры, кремы, средства против выпадения волос и для укладки.
- Оплата через PayPal с помощью платёжного шлюза PayPal для WooCommerce.
- Инструменты для покупок: список желаний, сравнение товаров, быстрый просмотр и фильтры, которые обновляются без перезагрузки страницы.
- Онлайн-запись на приём через плагин бронирования для салонов.
- Перевод темы на итальянский с помощью Loco Translate, чтобы каждая надпись на сайте говорила на языке клиента.
- Скрипт развёртывания, который отправляет изменения с моего компьютера на сервер через rsync по SSH и без моего подтверждения работает только в режиме пробного запуска.
- Переиспользуемый стартовый пакет: я превратил проект в документированный пакет с руководством по установке, мастером настройки, процессом развёртывания и 22 предустановленными плагинами, чтобы та же основа могла послужить другому барбершопу.
Технологии
WordPress, тема Barber от ArrowTheme с ArrowPress Core, Elementor с Thim Elementor Kit, Slider Revolution, WooCommerce с расширениями YITH, Contact Form 7, Mailchimp for WordPress, Yoast SEO, Google Site Kit, Really Simple SSL и WP-Optimize, на хостинге с cPanel.
Почему именно так
Скрипт развёртывания читает список исключений и никогда не трогает то, что существует только на сервере: конфигурацию WordPress, .htaccess, загруженные изображения, кеши, резервные копии и журналы. Развёртывание может обновить тему и плагины, но не может перезаписать рабочую конфигурацию или медиафайлы магазина. Стартовый пакет следует той же идее: он поставляется с пустой папкой uploads и без базы данных, так что ничего из контента исходного магазина не попадает в новый сайт, и в нём нет премиум-плагинов, на которые каждый покупатель должен приобрести лицензию сам.


