Анализ URL-структуры сайта (тестирование целостности URL-структуры при переносе сайта)

HELP-ME-24.COM (Freelance Team), Черноусов Антон

Сегодня мы поговорим о еще одном важном техническом SEO-аспекте, а именно сохранении url-структуры при миграции сайта или смене CMS.

При переносе web-сайта на другой хостинг или смене движка сайта необходимо убедиться, что URL-структура осталась прежней и поисковые роботы при обходе сайта не будут натыкаться на 404-ые ответы сервера, а для проведения такого рода аудита достаточно двух linux-утилит curl и wget.

Некоторые вопросы SEO-оптимизации

Для начала тестируем сайт источник:

$ wget --spider -o ~/wget-spider.log -e robots=on -r http://help-me-24.com

Сбор данных с исходного сайта похож на рассмотренный в статье "Скрипт для поиска битых ссылок на сайте", но теперь мы ставим целью составление URL-структуры сайта и конвейер для обработки полученных данных будет выглядеть иначе:

$ cat ./wget-spider.log | grep "https\:\/\/" | awk -F"--" '{ print $3 }' | tr -d " " | sort | uniq

В результате такого рода обработки мы получаем полную URL-структуру исходного сайта в виде:

https://help-me-24.com/blog/corp-mail-server-part-three-security-issues
https://help-me-24.com/blog/cpu-z-linux-version
https://help-me-24.com/blog/exe-to-msi-converter
https://help-me-24.com/blog/how-to-free-up-disk-space-in-linux
https://help-me-24.com/blog/how-to-install-dell-vpn-client-netextender
https://help-me-24.com/blog/how-to-install-hardware-drivers-from-ubuntu-console

Следующим этапом нам потребуется заменить адрес домена на адрес тестового сервера и удостовериться, что все URL-доступны. Вы конечно можете попробовать сделать это вручную, но в случае даже относительно небольшого сайта такая операция займет кучу времени.

Для решения этой задачи можно использовать простой скрипт который в результате своей работы выдаст список битых ссылок которые появятся после переноса:

#!/bin/sh

cat ~/wget-spider.log | grep "https\:\/\/" \
   | awk -F"--" '{ print $3 }' \
   | tr -d " " | sort | uniq | while read url_line;
   do
   uri=`echo $url_line | awk -F "https://help-me-24.com" '{ print $2 }'`
   url=`echo "http://127.0.0.1:8000""$uri"`
   status=`curl -s --head "$url" | grep "HTTP\/" | grep "404"`
   if [ ! -z "$status" ];
       then
       echo $url
       fi
   done

Метод довольно удобный, быстрый и сключает возможность ошибки, надеюсь вам пригодится. Скрипт естественно потребуется отредактировать под ваши нужды.

Оставьте комментарий

Вы должны быть вошедший в чтобы отправить комментарий