Вопрос или проблема
Можно ли сделать развертывание WordPress только для чтения? Для сайта, который не будет обновляться, я хотел бы сделать его только для чтения/статическим, чтобы архив оставался, но никто не мог публиковать, чтобы мне не приходилось иметь дело с взломами и обновлениями?
Если у вас есть доступ к оболочке или доступ к любой Linux/Unix системе, вы можете использовать wget
для загрузки всего сайта в статические html файлы:
wget --recursive --no-clobber --page-requisites --adjust-extension --domains domain.com http://domain.com
Затем либо загрузите, либо переместите эти файлы в корневую директорию вашего веб-сайта (после резервного копирования и удаления вашей установки WP).
Я предполагаю, что это также возможно сделать через какую-либо настройку прокси/кэша, но я не могу с уверенностью комментировать относительную безопасность такого подхода.
В конце концов, я выбрал решение Simply Static (бесплатный плагин) – он генерирует статическую копию сайта (включая пользовательский контент).
Ответ или решение
Архивирование WordPress-сайта с целью перевода его в режим только для чтения — это важная задача, которая может значительно повысить безопасность вашего сайта. Это позволяет избежать уязвимостей и частых производственных обновлений, которые иногда могут нарушить работу сайта. Преобразование сайта в статическую версию означает, что несанкционированные пользователи не смогут вносить изменения в сайт, тем самым уменьшая риск утечек данных и других угроз.
Теория
Архивирование сайта WordPress и его перевод в режим только для чтения могут быть достигнуты несколькими способами. Теоретически, цель заключается в преобразовании всех динамических элементов и баз данных в статические форматы, такие как HTML, CSS и JavaScript. Это будет означать, что страницы загружаются быстрее, так как исчезает зависимость от серверных обработчиков PHP и запросов к базе данных MySQL.
Основные подходы, которые могут быть рассмотрены:
-
Использование утилиты wget: Этот метод требует доступа к командной строке и основан на сохранении всего сайта в виде локальной копии. Команда
wget
может рекурсивно загрузить все необходимые файлы, создавая статическую версию, которую затем можно разместить на сервере. -
Использование плагинов WordPress: Существуют специализированные плагины, такие как Simply Static, которые создают статическую копию вашего сайта, включая обработку пользовательского контента и URL-адресов.
-
Технологии прокси и кэширования: Они могут использоваться для предоставления статической версии сайта через прокси-сервер, но требуют дополнительных настроек и обладают своей спецификой безопасности.
Пример
Хорошим примером использования wget
является следующая команда:
wget --recursive --no-clobber --page-requisites --adjust-extension --domains вашдомен.ком http://вашдомен.ком
Эта команда загружает весь сайт, включая необходимые файлы CSS, JavaScript и изображения, и сохраняет их в виде статических HTML-файлов. После этого вы можете загрузить эти файлы в корневой каталог вашего веб-сайта, предварительно резервировав и удалив существующую установку WordPress.
Для применения плагина Simply Static вам необходимо установить его через админскую панель WordPress и сгенерировать статическую версию сайта, следуя инструкциям плагина. Simply Static автоматически преобразует динамические части в статическую форму и предоставляет ссылки, соответствующие сохраненной структуре сайта.
Применение
Ваша окончательная реализация будет зависеть от специфики вашего хостинга и доступного комплекса инструментов. Ниже представлен пошаговый процесс, который поможет достичь цели:
-
Создание резервной копии вашего сайта: Перед любыми изменениями важно создать резервную копию всех ваших данных. Это включает в себя файлы сайта и базу данных MySQL. Выполнить это можно с помощью плагинов резервного копирования или вручную через FTP и phpMyAdmin.
-
Выбор метода архивирования: Определите, какой подход будет лучшим для вашей конкретной ситуации. Если у вас нет доступа к командной строке, создайте статическую версию с помощью плагина Simply Static. В случае наличия доступа к серверу Linux,
wget
будет простым и эффективным вариантом. -
Предварительная настройка среды хостинга: Если сайт будет размещаться на том же сервере, убедитесь, что установка WordPress не мешает работе статической версии. Переместите существующую установку в резервный каталог или удалите её после успешного развертывания статической версии.
-
Размещение статических файлов: Перенесите созданные статические файлы в корневую директорию хостингового пространства. Убедитесь, что все пути сохранены правильно и вся статическая структура работает корректно.
-
Проверка и оптимизация: Важно проверить все страницы на предмет их корректного отображения и работоспособности ссылок. Также можно провести дополнительные тесты на выдерживание нагрузки для проверки скорости и производительности нового статического сайта.
Преобразование сайта в статическую версию имеет большое значение для безопасности и обслуживания, так как отпадает необходимость в частых обновлениях и снижается риск кибератак. Однако важно помнить о том, что такие сайты не будут поддерживать функционал, напрямую использующий серверные технологии, как формы обратной связи или динамические комментарии.