Поиск потерянных URL после миграции CMS с помощью командной...
245
Поиск потерянных URL после миграции CMS с помощью командной строки и Internet Archive
После миграции CMS всякое может таинственным образом пропасть.
Вместо полноценного сайта у вас может остаться только раздел с гитарами — очевидно, что никто не стал бы делать такое специально, верно?
Вот быстрый и грязный хак для проверки важных потерянных URL.
Internet Archive (IA) предоставляет способ извлечения известных URL.
Поскольку постоянно дергать archive.org немного некрасиво (и иногда не срабатывает — в таком случае закиньте донат в $5 и попробуйте снова), давайте сохраним вывод в текстовый файл:
curl "http://web.archive.org/cdx/search/cdx?url=colored.house.com*&output=txt&from=20241201&to=20241231" --output - > archive-wh-urls.txt
Архив включает нерабочие и не-HTML URL, поэтому фильтруем их с помощью grep " text/html 200 ".
Это также отфильтрует http URL, потому что, будем надеяться, вы настроили редирект на https.
Затем оставляем URL из каждой строки (3-й элемент): awk '{print $3}'.
Теперь каноникализация — у нас есть URL с параметрами запроса, которые нужно почистить.
Обрежем всё после знака вопроса с помощью sed 's/\?.*//'.
Не нужно беспокоиться о фрагментах ("#"), так как в IA их нет (хэштеги же для JavaScript, верно, а кому он нужен?).
Это отражает базовую каноникализацию, которую делают поисковики.
Oтсортируем по частоте встречаемости URL: sort | uniq -c | sort -nr | awk '{print $2}'.
Теперь мы практически Гугл (только без GPU).
Вот промежуточный шаг:
cat archive-wh-urls.txt | grep " text/html 200 " | awk '{print $3}' | sed 's/\?.*//' | sort | uniq -c | sort -nr | awk '{print $2}' > archive-wh-urls-clean.txt
Теперь самая забавная часть — проверка работоспособности URL.
Разумный человек создал бы простой, читаемый скрипт.
Но мы здесь не для этого.
Возьмем топовые URL (head -n 50) и используем xargs для передачи их в curl.
Кто-то реально делает так в жизни?
Это дичь.
Но опять же, если бы ракетные инженеры занимались чистыми миграциями CMS, нас бы здесь не было.
Финальная проверка:
cat archive-wh-urls-clean.txt | head -n 50 | xargs -I {} curl -s -o /dev/null -w "%{http_code} %{url_effective}\\n" {} | grep -v "^[23]"
Это показывает топовые "важные" URL, которые работали в декабре, но теперь не работают или редиректят.
Серьезные владельцы сайтов могут затем решить, какой исторический контент сохранить, что нуждается в новых URL, а что может остаться 404.
https://johnmu.com/2025-trust-issues/
@MikeBlazerX

– https://t.me/MikeBlazerX
Источник новости https://t.me/mikeblazerx/4635...

