Deprecated: str_replace(): Passing null to parameter #1 ($search) of type array|string is deprecated in /var/www/jsd/data/www/jsd.ru/plugins/system/admintools/src/Feature/CustomAdminFolder.php on line 83
Создаём статичную копию сайта на WordPress с помощью плагина Simply Static
Skip to main content

Создаём статичную копию сайта на 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/

Дополнительная информация:

2. Установка плагина Simply Static

Установить плагин можно из каталога плагинов или загрузить в WordPress вручную, предварительно скачав по ссылке из предыдущего шага инструкции.

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

Все прочие настройки оставляю без изменений и нажимаю кнопку сохранения настроек.

6. Simply Static – Генерация

Теперь перехожу к первому пункту меню плагина Simply Static – Generate и нажимаю кнопку Generate Static Files.

Генерация прошла успешно и в чёрной области экрана лога активности я получаю ссылку на скачивание ZIP архив статичной версии сайта.

7. Размещение статичной копии

  1. Создаю в корне целевого сайта папку sideloaders (название папки должно полностью соответствовать указанному в настройках плагина Simply Static).
  2. Загружаю в неё скачанный архив со статичной копией сайта – лендинга.
  3. Разворачиваю загруженный архив на сервере.
  4. В моём случае пришлось разрешить в компоненте безопасности Joomla прямой доступ к созданной папке.
  5. Наслаждаюсь сайтом, созданным на WordPress внутри сайта, работающего на Joomla.

На мой взгляд, всё действительно very simply.

Дополнительная информация:

8. Редактирование статичной копии

В принципе, существует два способа, которыми можно вносить правки в статичную копию сайта.

Путь самурая: ковырять непосредственно сохраненные статичные файлы. Тут даже писать ничего не буду, без комментариев, что называется.

Путь стратега:

  1. Войти в панель управления WordPress, где размещена динамичная (полноценная) версия сайта.
  2. Внести нужные изменения в содержимое сайта, используя механизмы WordPress.
  3. Сгенерировать в плагине Simply Static обновленную версию статичной копии сайта. (Если сайт на WordPress закрыт от индексации, то перед генерацией нужно разрешить индексацию, а после генерации вернуть как было.)
  4. Скачать файл с архивом статичной копии.
  5. Открыть на сервере назначения (тот, куда копию заливать) папку, содержащую статичную копию сайта и удалить из неё все файлы.
  6. Загрузить свежий архив в папку назначения.
  7. Развернуть архив.
  8. Удалить сам файл архива (можно забить на этот пункт).
  • Создано
    16 октября 2024
  • Последняя правка
    21 октября 2024