Как перенести сайт на HTML?
Николай, Воронеж 0
Сайт стоит на старой CMS, которую страшно обновлять, а хочется избавиться от базы данных и PHP вообще, оставив просто набор HTML-страниц. Это вообще возможно сделать без того, чтобы верстать весь сайт заново вручную?
Дмитрий Акиндинов технический администратор сайтов
ответил
Верстать заново не придётся: готовый сайт на любой CMS можно превратить в статичные HTML-файлы автоматически. Для WordPress есть плагин Simply Static или WP2Static — он обходит весь сайт как поисковый робот и сохраняет каждую страницу отдельным html-файлом со всеми стилями и картинками. Для сайта на другой CMS то же самое делает обход через утилиту wget с флагом —mirror или программу HTTrack: они скачивают страницы такими, какими их видит обычный браузер.
Важное следствие: всё, что требовало работы сервера на каждом запросе, после такого переноса перестаёт работать. Форма обратной связи больше не отправляется без отдельного стороннего обработчика или простой mailto-ссылки, поиск по сайту и комментарии исчезают, любые калькуляторы с расчётом на бэкенде показывают только последний посчитанный результат, а не пересчитывают заново.
Ещё нюанс, который легко упустить: статичная копия замирает в момент экспорта. Если потом что-то поменяется на живом сайте на CMS, эти правки автоматически на html-версию не долетят — нужно запускать экспорт заново. Для сайта, который больше не редактируется, это не проблема, а для действующего блога с новыми статьями — неудобно, там разумнее оставить CMS как есть.
Такой перенос имеет смысл в трёх случаях: сделать архивную копию старого сайта перед его отключением, переехать со связки с уязвимой устаревшей CMS на дешёвый и простой статический хостинг, или просто закрыть типичные для CMS дыры безопасности — без PHP и базы данных там физически нечего взламывать.
Задать свой вопрос
Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.
Вопрос отправлен. После проверки он появится на сайте вместе с ответом.
Вопрос не отправлен: нужно подтвердить согласие на обработку персональных данных.