Создаём статичную копию сайта на WordPress с помощью плагина Simply Static
Теоретическая часть.
ВордПресс – самая популярная система управления сайтом, где с помощью административной части (панели управления) вы можете создавать прекрасные странице ни фига при этом не понимая ни в HTML коде, ни в СУБД.
Проще говоря, перед вами визуальный конструктор страниц с большим или меньшим набором возможностей (что зависит от установленных дополнений, - плагинов) и с помощью него вы творите, совершенно не задумываясь о том, как оно работает «под капотом».
Если сильно всё упрощать, то можно сказать, что WordPress состоит из:
- Файлов, отвечающих за корректное отображение сайта и работу панели управления;
- Служебных медиафайлов и медиафайлов пользователя (картинки, короче);
- Базы данных, в которой хранится служебная информация и весь контент, созданный пользователем.
В итоге мы получаем динамически работающую систему, в которой для отображения любой страницы сайта одни файлы запускают другие, а те в свою очередь, обращаются к базе данных и таким образом формируется тело страницы, HTML код которой собирается «на лету», при обращении к URL, т.е. динамически.
Если просто взять все файлы сайта и перенести их копии куда-либо, то ничего работать не будет.
Статичная копия сайта – это набор файлов (HTML, CSS, JS, media), которые взаимодействуют друг с другом (например, если требуется подгрузить стили или отобразить картинку), но не обращаются к БД (базе данных). Все тексты страниц хранятся непосредственно в HTML файлах.
Плюсы статичной версии сайта:
- Платформонезависимость (не требует CMS, т.к., по сути, нечем управлять);
- Максимальная устойчивость к взлому (нечего ломать кроме самих файлов);
- Минимальные требования к хостингу (не требуется СУБД, интерпретатор PHP, по сути, можно запускать на локальном компьютере).
- Возможный прирост скорости загрузки страниц.
Минусы статичной версии сайта:
- Условная невозможность управления контентом (HTML код править можно, но кому ж такое надо?).
- Вероятность ошибок при создании (генерации) статичной версии сайта: нет полной гарантии, что абсолютно всё, что работало под управлением CMS будет отображено корректно в статике.
В дополнение к последнему пункту поясню, что успех генерации зависит от двух основных факторов:
- Инструмент генерации (в рамках этой инструкции будем рассматривать один конкретный, а вообще, способов получения статичной версии сайта явно больше одного).
- Набор компонентов CMS (некоторые специфичные плагины могут быть несовместимы с инструментом генерации статичной копии).
Из набора плюсов и минусов очевидно напрашивается вывод, что статична копия идеально подходит для сайтов «сделал и забыл», например для лендингов. Конечно, в любой момент можно внести нужные правки в CMS, сгенерировать новую статичную копию и перезалить её вместо существующей, но, очевидно, что часто этим заниматься не захочется.
Практическая часть.
Начальник у нас редкостный баловник и очень любит что-нибудь во что-нибудь засовывать, при этом желательно, чтобы одно с другим было принципиально несовместимо. На сей раз он пожелал запихнуть одностраничный лендинг в существующий сайт.
Казалось бы, задача тривиальная: открывай CMS и лепи. Но не тут-то было.
У нас в команде все очень заняты (или просто лендинг никто клепать не хочет), поэтому решили обратиться к пехоте IT индустрии – фрилансерам.
В процессе поиска исполнителя очень быстро выяснилось, что на связке Joomla + YooTheme Builder (на которой фунциклирует сайт) умеет работать только один кворкер, но его нет в сети с 1996 года, после того, как у него сгорел модем на 14400.
Зато вот на ВордПрессе (чаще в связке с Элементором) умеют делать лендинги примерно столько же процентов фрилансеров, сколько процентов голосов было отдано за Путина на выборах 2024 года. А это весомый аргумент в пользу выбора платформы для создания лендига.
При таком раскладе осталось решить пустяковый вопрос о том, как запихнуть ВордПресс в Джумлу, да чтобы оно при этом ещё и работало. Допускаю, что такое извращение доступно с помощью штатных средств обеих CMS, но для нас оказался предпочтительнее ответ «никак».
А отсюда и родилась мысль создать отдельно (неиндексируемый, чтобы не задвоилось) сайт для лендинга, поставить туда ВордПресс, получить нарядный лендинг и сделать его статичную копию, которую можно пихать куда угодно, в нашем случае – в отдельную директорию сайта под управлением CMS Joomla.
1. Simply Static
Для создания статичной копии сайта, созданного на WordPress будем использовать инструмент (плагин) Simply Static.
На странице плагина в каталоге плагинов wordpress.org можно ознакомиться с его преимуществами и возможностями.
Также можно посетить официальный сайт плагина: https://simplystatic.com/
3. Белый экран после установки Simply Static
Совершенно неожиданно для себя вместо интерфейса установленного приложения получил белый экран в любом из пунктов меню Simply Static.
Сильно удивился, т.к. Simply Static был успешно проверен в работе мною на сайте с аналогичной технической начинкой. Начал искать причину, которая, если опустить все подробности её поиска, оказалась достаточно удивительной.
Почему-то в настройках сайта панели управления сервером для сайта была выбрана кодировка Windows-1251. На самом деле я даже знаю почему, но описывать здесь это смысла нет.
Поменял кодировку сайта в настройках на стандартную UTF-8 и всё чудесным образом починилось.
Описанное в этом шаге скорее всего с Вами никогда не приозойдёт, но пусть заметочка о такой ошибке и способе её решения живёт в интернете на всякий случай.
4. Simply Static – Диагностика
Начнём работу с плагином с конца, т.е. с последнего пункта его меню, с его самодиагностики. Здесь показывается информация о том, что может препятствовать корректной генерации статичной копии.
В моём случае плагин ругается на кэш и предлагает отключить его в плагине WP Rocket. А поскольку такой настройки нет, а служебный плагин для принудительно отключения кэша не помог, то пришлось деактивировать плагин WP Rocket, предварительно экспортировав его настройки.
Собственно, в нашей ситуации этот плагин и не нужен, т.к. на скорость загрузки статичной копии он никак влиять не должен, а динамичный оригинал не планируется использовать по назначению.
5. Simply Static – Настройки
На нужные настройки плагин вполне себе богат, но детальное их рассмотрение не является целью данной инструкции, поэтому сосредоточимся только на том, что имеет отношение к получению желаемого результата в нашей ситуации.
На вкладке основных настроек есть область ** Replacing URLs**, нужно проверить, что для настройки «Replacing URLs» выбрана опция «Relative Path».
Самой важной для нас является следующая за ней настройка «Path». Если Вам нужно загрузить статичную копию в корень сайта (а в большинстве случаев так и будет), то оставьте эту опцию как есть, пусть в поле стоит слэш. Мне нужно поместить статичную копию в конкретную директорию - sideloaders, поэтом в настройках пишу /sideloaders
Все прочие настройки оставляю без изменений и нажимаю кнопку сохранения настроек.
7. Размещение статичной копии
- Создаю в корне целевого сайта папку sideloaders (название папки должно полностью соответствовать указанному в настройках плагина Simply Static).
- Загружаю в неё скачанный архив со статичной копией сайта – лендинга.
- Разворачиваю загруженный архив на сервере.
- В моём случае пришлось разрешить в компоненте безопасности Joomla прямой доступ к созданной папке.
- Наслаждаюсь сайтом, созданным на WordPress внутри сайта, работающего на Joomla.
На мой взгляд, всё действительно very simply.
8. Редактирование статичной копии
В принципе, существует два способа, которыми можно вносить правки в статичную копию сайта.
Путь самурая: ковырять непосредственно сохраненные статичные файлы. Тут даже писать ничего не буду, без комментариев, что называется.
Путь стратега:
- Войти в панель управления WordPress, где размещена динамичная (полноценная) версия сайта.
- Внести нужные изменения в содержимое сайта, используя механизмы WordPress.
- Сгенерировать в плагине Simply Static обновленную версию статичной копии сайта. (Если сайт на WordPress закрыт от индексации, то перед генерацией нужно разрешить индексацию, а после генерации вернуть как было.)
- Скачать файл с архивом статичной копии.
- Открыть на сервере назначения (тот, куда копию заливать) папку, содержащую статичную копию сайта и удалить из неё все файлы.
- Загрузить свежий архив в папку назначения.
- Развернуть архив.
- Удалить сам файл архива (можно забить на этот пункт).
-
Создано16 октября 2024
-
Последняя правка21 октября 2024