Как найти неработающие ссылки на сайте

Какие методы или инструменты рекомендуются для поиска неработающих ссылок на веб-сайте?

У меня есть доступ к файлам журналов, поэтому я мог бы проанализировать их на предмет ошибок 404, но хотел бы что-то автоматизированное, которое будет следовать (или пытаться перейти) по всем ссылкам на сайте.

Также есть HTTrack, который неплохо справляется с этой задачей.

David d C e Freitas 26.05.2014 04:30

Если вы заинтересованы в поиске неработающих ссылок, включая рассмотрение, является ли идентификатор фрагмента активным, рассмотрите github.com/gajus/deadlink.

Gajus 02.11.2014 16:03

@DaviddCeFreitas: Создайте ответ, чтобы мы могли увидеть, как именно мы можем использовать httrack для поиска мертвых ссылок?

Frederick Nord 10.01.2015 17:19

Лучший вариант - попросить провести обзор доступного программного обеспечения. Такой список, хотя он будет быстро обновляться из-за смены программного обеспечения, по-прежнему будет полезен. Это, если сделать это беспристрастно и объективно, позволяет избежать спама и проблем с мнениями в достаточной степени, чтобы оставить полезный ответ.

Sherwood Botsford 09.02.2015 02:46

Я построил это, lnkchk.com, я использую его все время, но опять же, я предвзято лол

Dan 26.07.2017 15:04

Лучший способ - создать небольшого бота, который будет работать по всему сайту и записывать результат. Я сделал это, чтобы протестировать свои сайты перед развертыванием, и это действительно хорошо работает.

Nick Berardi 15.09.2008 22:41

Другой вариант - brokenlinkfinder.com

eicksl 18.05.2020 06:54
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
43
7
36 116
10
Перейти к ответу Данный вопрос помечен как решенный

Ответы 10

Ответ принят как подходящий

Для расширения Chrome есть гексометр

См. LinkChecker для Firefox.

Для Mac OS существует инструмент Честность, который может проверять URL-адреса на наличие битых ссылок.

Для Windows есть Сыщик Зену.

Сыщик Зену Link выглядит как раз билет.

Ian Nelson 15.09.2008 22:45

Честность - это здорово! Спасибо, что поделился.

Chuck Burgess 12.04.2013 23:23

Я за checkerr.org

zupa 12.11.2013 13:51

вы можете использовать этот онлайн-инструмент для проверки неработающих ссылок 99webtools.com/broken-links-checker.php

Sunny 06.02.2014 07:42
crawlmysite-tgugnani.rhcloud.com works great
Tushar 04.07.2014 16:19

Братан! это круто! Thakns mang! Целостность работает в Mac OS X 10.9 (Mavericks) (на случай, если кому-то интересно).

racl101 13.11.2014 22:42

Ссылка LinkChecker не работает

Gus 21.09.2019 22:08

Либо используйте инструмент, который анализирует ваши файлы журналов и выдает отчет о «битых ссылках» (например, Аналоговый или Google Инструменты для веб-мастеров), либо запустите инструмент, который проверяет ваш веб-сайт и сообщает о битых ссылках (например, W3C Link Checker).

Я здесь с 2020 года, и сейчас доступны довольно крутые, быстрые и информативные онлайн-инструменты, которые помогают находить не только неработающие ссылки, но и любые другие плохие для сотрудников UX и SEO. Рассмотрим попробовать https://seofy.io или Siteguru

Arsen Ibragimov 15.06.2020 19:30

Мне нравится W3C Link Checker.

Я тоже. Если вы отметите Check linked documents recursively и оставите поле recursion depth пустым, кажется, что в указанном домене будет выполняться бесконечная рекурсия.

mb21 29.05.2013 13:14

См. Инструмент Linkchecker:

LinkChecker is a free, GPL licensed website validator. LinkChecker checks links in web documents or full websites.

Это хорошо, потому что он работает локально и показывает как источник, так и попытку назначения неработающих ссылок.

Jim Hunziker 04.04.2014 23:33

Действительно хороший инструмент. У него есть графический интерфейс, версия интерфейса командной строки и веб-версия.

Geert 30.09.2014 15:41

Лучше всего собрать собственного паука на выбранном вами языке сценариев, это можно сделать рекурсивно, используя следующие строки:

// Pseudo-code to recursively check for broken links
// logging all errors centrally
function check_links($page)
{
    $html = fetch_page($page);
    if (!$html)
    {
        // Log page to failures log
        ...
    }
    else
    {
        // Find all html, img, etc links on page
        $links = find_links_on_page($html);
        foreach($links as $link)
        {
            check_links($link);
        }
    }
}

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

Написание собственного скрипта, как указано выше, покажет вам все возможные битые ссылки, не дожидаясь, пока Google (инструмент для веб-мастеров) или ваши пользователи (404 в журналах доступа) наткнутся на них.

У меня больше нет времени на такие интеллектуальные задачи (как бы забавно это ни звучало), и я как бы надеялся, что кто-то уже мог написать такого паука! :-)

Ian Nelson 15.09.2008 22:55

Если кто-нибудь когда-нибудь напишет удобный конвертер псевдокода -> PHP / Perl, тогда мы будем в деле!

ConroyP 15.09.2008 23:05

+1 информация всегда хорошо, подробнее: P

hhh 15.12.2011 20:10

Я бы вообще не рекомендовал этот подход, если у вас нет МНОГО свободного времени. Существует так много разных способов встраивания ссылки на страницу, что для написания точного парсера требуется много времени (например, javascript / AJAX, CSS, а также стандартные теги href, link, script и iframe), плюс вам нужно взять учитывать любой указанный «базовый» тег и все различные способы выполнения одного и того же действия. Написание функции find_links_on_page () потребует нескольких человеко-дней работы и бессмысленно, учитывая, что существует так много хороших (бесплатных и / или с открытым исходным кодом) инструментов.

NickG 16.10.2012 16:03

Есть приложение для Windows под названием CheckWeb. Его больше не разрабатывают, но он хорошо работает, и код открыт (я считаю, C++).

Вы просто даете ему URL-адрес, и он будет сканировать ваш сайт (и внешние ссылки, если вы выберете), сообщая о любых ошибках, «весе» изображения / страницы и т. д.

http://www.algonet.se/~hubbabub/how-to/checkweben.html

В приложении .NET вы можете настроить IIS для передачи всех запросов в ASP.NET, а затем в вашем глобальном обработчике ошибок вы сможете перехватывать и регистрировать ошибки 404. Это то, что вы должны сделать в дополнение к сканированию своего сайта, чтобы проверить наличие внутренних недостающих ссылок. Это может помочь найти неработающие ссылки с ДРУГИХ сайтов, а затем вы сможете исправить их с помощью переадресации 301 на правильную страницу.

Чтобы помочь внутреннему тестированию вашего сайта, существует также набор инструментов Microsoft SEO.

Конечно, лучший способ - избежать проблемы во время компиляции! В ASP.NET вы можете приблизиться к этому, потребовав, чтобы все ссылки создавались из статических методов на каждой странице, чтобы всегда было только одно место, где генерируется любой заданный URL. например http://www.codeproject.com/KB/aspnet/StronglyTypedPages.aspx

Если вам нужен полный сканер C#, вот он: - http://blog.abodit.com/2010/03/a-simple-web-crawler-in-c-using-htmlagilitypack/

LinkTiger кажется очень отполированным (хотя и платным) сервисом для этого. Не использую, просто хотел добавить, потому что еще не упоминалось.

Наш коммерческий продукт DeepTrawl делает это и может использоваться как на Windows, так и на Mac.

Раскрытие информации: я ведущий разработчик DeepTrawl.

Только что нашел сценарий wget, который делает то, о чем вы просите.

wget --spider  -o wget.log  -e robots=off --wait 1 -r -p http://www.example.com

Кредит для этого принадлежит эта страница.

32-битную версию wget для Windows можно найти на SourceForge здесь. (Ссылки на другие двоичные файлы GNU для Windows можно найти здесь). страница руководства для wget можно найти как здесь.

DavidRR 17.09.2014 00:29

Проблема с этим методом в том, что интерпретация журнала - не самая простая задача. Вы можете использовать grep для 404 и broken link, но ясно, где находится ссылка.

Flimm 01.05.2015 11:37

Другие вопросы по теме