Как я переводил старый блог на wodpress в статику wget-ом

В связи с переездом всех сайтов с мощного дедика на минимальный VPS в DigitalOcean (где 512МБ памяти) пришлось некоторые вещи переделывать по-другому. Например, использовать дополнительную виртуализацию типа OpenVZ для изоляции “опасных сайтов” уже не вариант. Я, конечно, еще не знаю как там оно с Docker-ом, но есть и без этого более практичные штуки, которые нужно поменять.

Из этих самых “опасных сайтов” главный у меня – старый блог на старинном WordPress 2.2.3, релиз которого был еще в 2007-м году. 🙂 Обновлять движок не мог, так как я патчил-модифицировал кучу файлов там. Фиг разберешься. В итоге потом много лет оно на старом и работало нормально, так как я и админку закрыл паролем через .htpasswd плюс mod_security настроил в Apache.

Решил перевести его в “замороженное” состояние, т.е. в статику, как я уже делал с одним другим блогом. Перебрал несколько плагинов для генерации статических страниц, но ни один не включился с этим старым движком вордпресса. Выкачал даже самые первые версии подобных плагинов – все равно результата положительного добиться не вышло.

Думал уже взять за основу один из старинных плагинов и допилить его, чтоб заработало все как надо. Но перехотелось. Решил попробовал выкачать блог прям на сервере командой

wget -r -l 7 -p -E -nc http://blog.kmint21.com

(с сохранением структуры сайта) и посмотреть на что же оно будет похоже.

На удивление все выглядело не очень страшно. И вполне перспективно, так как я обнаружил отличнейший инструмент для поиска-замены по группе файлов с возможностью задания regexp-ов – “Sublime Text“. Удалил лишние “фантомные” файлы, сделал много разных автозамен массовых (типа удаления из сайдбара текста виджета “последние комментарии” и т.п.). Даже нерабочие ссылки наружу частично почистил. В этом помогла утилита “Xenu’s Link Sleuth“, которая умеет анализировать весь сайт на предмет исходящих ссылок и “дергать” их.

Static blog

В общем, теперь старый блог обслуживает только nginx, моментально отдавая статические файлы, еще и неплохо кэшируя их. Теперь вот думаю как-нибудь попробовать прикрутить php-fpm для nginx – может вообще получится отказаться от Apache как бэкэнда. Надо бы только не забыть, что кое-где у меня и на perl-е скрипты работают.