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

    Общий рейтинг статьи: 0 (проголосовало 0 )
    Опубликовано:  [просмотров 189]


    Сегодня мы поговорим о еще одном важном техническом 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

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


    Связанные записи в блоге

    Обсуждение статьи
    Вопрос нашего пользователяВынесите названия сайта исходника и тестового в переменные.
    Ответ на комментарийСкрипт был написан как одноразовый для тестирования модификации движка этого сайта и когда будут похожие заказы сделаю полноценный инструмент.

    Ваш комментарий: