wparc — как создать цифровой архив сайта на WordPress
Подготовлена бета-версия утилиты командной строки wparc для архивации данных из сайтов, созданных на движке WordPress, на котором работает огромное число сайтов СМИ и личных блогов.
Утилита использует стандартное REST API, предоставляемое CMS
WordPress и доступное по адресу /wp-json/. Это позволяет
значительно быстрее собирать дампы данных, чем классические
веб-краулеры: вместо обхода HTML-страниц и извлечения ссылок
инструмент напрямую читает структурированные данные.
Подробнее о структурах данных сайтов на WordPress — в документации WordPress REST API.
Когда использовать wparc
- На сайте десятки тысяч постов и страниц (wparc справится за минуты вместо часов у wget/Browsertrix).
- Нужна только структура контента (посты, рубрики, теги, комментарии), без визуального оформления.
- WordPress стоит на «глубоком» домене, где классический кроулер может упасть на динамической подгрузке.
Когда НЕ подходит
- Сайт с большим объёмом JavaScript-контента, SPA-поведением — там лучше Browsertrix.
- Сайт с включённой аутентификацией для контента.
- Сайт, на котором REST API отключён или ограничен.
Команды
dump— выгрузить все данные через обход точек подключения к API. Результатом исполнения команды являются файлы в форматах.jsonи.jsonl.getfiles— выгрузка всех медиа-файлов, перечисленных в файлеwp_v2_media.jsonl, полученного после исполнения командыdump.pack— упаковка результата в WARC-архив для дальнейшей обработки metawarc.
Пример использования
# Установка
pip install wparc
# Дамп всех постов и страниц
wparc dump --url https://example.com --output ./dump/
# Скачивание всех медиафайлов по списку из дампа
wparc getfiles --input ./dump/wp_v2_media.jsonl --output ./media/
# Упаковка в WARC
wparc pack --input ./dump/ --output example.warc.gz
Примеры сайтов на WordPress
- duma-rad.ru — депутаты.
- paperpaper.ru — региональная пресса.
- agentura.ru — правозащитная тематика.
И сотни других региональных СМИ, общественных проектов и личных блогов.
Ограничения
- Некоторые владельцы сайтов на WordPress блокируют доступ к
/wp-json/для неавторизированных пользователей — из таких сайтов невозможно извлечь данные этим способом. - У старых версий WordPress (до 4.7) точка подключения
/wp-json/отсутствует — из них тоже невозможно скачать данные утилитой. - Плагины безопасности (Wordfence, iThemes Security) могут ограничивать частоту запросов к API.
- Медиафайлы с hotlink-protection сохраняются с оригинальными URL, при переносе архива на другой хостинг ссылки могут не работать.
Что в планах
- Команда
check— проверка сайта на возможность выгрузки данных. - Упаковка в Data Package (Frictionless Data) для долгосрочного сохранения.
- Поддержка выгрузки данных без доступного API (по определённым шаблонам этой CMS).
Найденные ошибки заполняйте в issues репозитория проекта wparc.
Связанные разделы
- wparc в каталоге инструментов Ruarxive — наш справочник.
- Пайплайн wparc → metawarc — практический пример связки инструментов.
- Браузерные кроулеры — альтернативы для сайтов без REST API.