it-swarm-pt.tech

Como encontrar links quebrados em um site

Quais técnicas ou ferramentas são recomendadas para encontrar links quebrados em um site?

Eu tenho acesso aos arquivos de log, portanto, é possível analisar esses erros 404 à procura, mas gostaria de algo automatizado que siga (ou tente seguir) todos os links em um site.

43
Ian Nelson

Para Chrome Extensão, existe hexômetro

Veja LinkChecker para Firefox.

Para o Mac OS, existe uma ferramenta Integrity que pode verificar os URLs quanto a links quebrados.

Para Windows, existe Link Sleuth do Xen .

36
jrudolph

Acabei de encontrar um script wget que faz o que você está pedindo.

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

O crédito para isso vai para esta página .

25
wjbrown

Eu gosto do W3C Link Checker .

10
Paul Reiners

Consulte linkchecker ferramenta:

O LinkChecker é um validador de site licenciado e gratuito pela GPL. O LinkChecker verifica os links em documentos da Web ou em sites completos.

7
Roman Romanchuck

Use uma ferramenta que analise seus arquivos de log e forneça um relatório de 'links quebrados' (por exemplo, Analógico ou Google Ferramentas para webmasters ) ou execute uma ferramenta que mostre seu site e relata links quebrados (por exemplo, W3C Link Checker ).

2
Peter Hilton

Em um aplicativo .NET, você pode definir IIS para passar todas as solicitações ao ASP.NET) e, em seu manipulador de erros global, você pode capturar e registrar erros 404. Isso é algo que você faria além para localizar seu site para verificar se há links internos ausentes.Fazer isso pode ajudar a encontrar links quebrados de OUTROS sites e, em seguida, você pode corrigi-los com redirecionamentos 301 para a página correta.

Para ajudar a testar seu site internamente, também há o kit de ferramentas de SEO da Microsoft.

Obviamente, a melhor técnica é evitar o problema em tempo de compilação! No ASP.NET, você pode se aproximar disso exigindo que todos os links sejam gerados a partir de métodos estáticos em cada página, para que haja apenas um local em que qualquer URL seja gerado. por exemplo. http://www.codeproject.com/KB/aspnet/StronglyTypedPages.aspx

Se você deseja um rastreador C # completo, existe um aqui: - http://blog.abodit.com/2010/03/a-simple-web-crawler-in-c-using-htmlagilitypack/

1
Ian Mercer

Nosso produto comercial DeepTrawl faz isso e pode ser usado no Windows/Mac.

Divulgação: eu sou o principal desenvolvedor do DeepTrawl.

1
Jonathan

Sua melhor aposta é reunir sua própria aranha na linguagem de script de sua escolha; isso pode ser feito recursivamente, de acordo com as seguintes linhas:

// 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);
        }
    }
}

Depois que seu site recebe um certo nível de atenção do Google, as ferramentas para webmasters são inestimáveis ​​para mostrar links quebrados que os usuários podem encontrar, mas isso é bastante reacionário - os links mortos podem ficar por várias semanas antes do google indexa-os e registra o 404 no seu painel para webmasters.

Escrever seu próprio script, como acima, mostrará todos os links quebrados possíveis, sem ter que esperar o google (ferramenta para webmasters) ou seus usuários (404 nos logs de acesso) tropeçarem neles.

0
ConroyP

LinkTiger parece ser um serviço muito polido (embora não gratuito) para fazer isso. Eu não estou usando, só queria adicionar porque ainda não foi mencionado.

0
akauppi