Obtenha uma lista de URLs de um site [fechado]

94

Estou implantando um site substituto para um cliente, mas ele não quer que todas as páginas antigas terminem em 404. Manter a antiga estrutura de URL não era possível porque era horrível.

Portanto, estou escrevendo um manipulador 404 que deve procurar uma página antiga solicitada e fazer um redirecionamento permanente para a nova página. O problema é que preciso de uma lista de todos os URLs das páginas antigas.

Eu poderia fazer isso manualmente, mas estaria interessado se há algum aplicativo que me forneça uma lista de URLs relativos (por exemplo: / página / caminho, não http: /.../ página / caminho) apenas fornecidos a página inicial página. Como uma aranha, mas que não se importa com o conteúdo a não ser para encontrar páginas mais profundas.

Oli
fonte
superuser.com/questions/329736/…
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Respostas:

65

Não tive a intenção de responder à minha própria pergunta, mas apenas pensei em executar um gerador de mapa do site. O primeiro que descobri que http://www.xml-sitemaps.com tem uma boa saída de texto. Perfeito para minhas necessidades.

Oli
fonte
Mas há um limite de 5.000 links! .. :( Estou procurando qualquer script gerador de mapa de site php gratuito.
Jenson M John
13
O limite atual é 500 - ficando menor ...
Oli Studholme
Para mim, ocorreu um erro: ::::::: Ocorreu um erro Ocorreu um erro ao acessar o URL especificado: 159.121.ssss Certifique-se de especificar o URL correto do site e reenvie sua solicitação.
JustJohn
FYI: Se você estiver usando o roteamento de front-end, você não obterá essas rotas com este método.
jasonleonhard
Para sua informação: se o site usar autenticação e / ou autorização, você também não receberá todas as rotas.
jasonleonhard
46

Faz wget -r -l0 www.oldsite.com

Então, apenas find www.oldsite.comrevelaria todos os urls, acredito.

Como alternativa, apenas exiba essa página personalizada não encontrada em cada solicitação 404! Ou seja, se alguém usasse o link errado, ele obteria a página informando que a página não foi encontrada e dando algumas dicas sobre o conteúdo do site.

alamar
fonte
15
Notavelmente, como isso retorna uma lista de arquivos , não URLs, isso só funcionaria realmente para sites que são coleções de arquivos HTML estáticos. Se o site tiver parâmetros de consulta de URL, URLs reescritos do lado do servidor ou qualquer tipo de include/ require/ etc. montagem de páginas, isso realmente não funcionará.
TJ Schuck
Posso estar entendendo mal wget. Achei que 'wget' fosse para baixar o conteúdo do site?
Cosmic Hawk
@Doomsy sim, mas quando você baixou todo o conteúdo, certamente conhece todos os URLs desse conteúdo e, sem baixar, não há como descobrir os URLs.
alamar
1
Considere a profundidade padrão. gnu.org/software/wget/manual/html_node/…
PJ Brunet
1
@alamar Sim, há "-r -l inf" para recursão infinita, mas recomendo que as pessoas verifiquem a documentação - tantas opções legais! A opção "-m" se espelhará e vou tentar "-R.jpg, .jpeg, .gif, .png" que acho que pula as imagens.
PJ Brunet de
24

Aqui está uma lista de geradores de mapas de sites (dos quais, obviamente, você pode obter a lista de URLs de um site): http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators

Geradores de mapas de sites da web

A seguir estão links para ferramentas que geram ou mantêm arquivos no formato XML Sitemaps, um padrão aberto definido em sitemaps.org e suportado por mecanismos de pesquisa como Ask, Google, Microsoft Live Search e Yahoo !. Os arquivos de mapa de site geralmente contêm uma coleção de URLs em um site da Web junto com alguns metadados para esses URLs. As ferramentas a seguir geralmente geram Sitemap XML do "tipo da web" e arquivos de lista de URLs (alguns também podem oferecer suporte a outros formatos).

Observação: o Google não testou ou verificou os recursos ou a segurança do software de terceiros listado neste site. Por favor, encaminhe quaisquer questões relacionadas ao software ao autor do software. Esperamos que você goste dessas ferramentas!

Programas do lado do servidor

  • Enarion phpSitemapsNG (PHP)
  • Google Sitemap Generator (Linux / Windows, 32/64 bits, código aberto)
  • Outil en PHP (francês, PHP)
  • Gerador de Sitemap Perl (Perl)
  • Gerador de Sitemap Python (Python)
  • Sitemaps simples (PHP)
  • SiteMap XML Dynamic Sitemap Generator (PHP) $
  • Gerador de Sitemap para OS / 2 (script REXX)
  • Gerador de Sitemap XML (PHP) $

CMS e outros plug-ins:

  • ASP.NET - Sitemaps.Net
  • DotClear (espanhol)
  • DotClear (2)
  • Drupal
  • Modelos de comércio eletrônico (PHP) $
  • Modelos de comércio eletrônico (PHP ou ASP) $
  • LifeType
  • Gerador de Sitemap MediaWiki
  • mnoGoSearch
  • OS Commerce
  • phpWebSite
  • Plone
  • RapidWeaver
  • Padrão de texto
  • vBulletin
  • Wikka Wiki (PHP)
  • WordPress

Ferramentas para download

  • GSiteCrawler (Windows)
  • GWebCrawler e Sitemap Creator (Windows)
  • G-Mapper (Windows)
  • Inspyder Sitemap Creator (Windows) $
  • IntelliMapper (Windows) $
  • Gerador de Sitemap Microsys A1 (Windows) $
  • Rage Google Sitemap Automator $ (OS-X)
  • Screaming Frog SEO Spider e gerador de Sitemap (Windows / Mac) $
  • Mapa do site Pro (Windows) $
  • Escritor do Sitemap (Windows) $
  • Sitemap Generator por DevIntelligence (Windows)
  • Sorrowmans Sitemap Tools (Windows)
  • TheSiteMapper (Windows) $
  • Vigos Gsitemap (Windows)
  • Visual SEO Studio (Windows)
  • WebDesignPros Sitemap Generator (aplicativo Java Webstart)
  • Weblight (Windows / Mac) $
  • WonderWebWare Sitemap Generator (Windows)

Geradores / serviços online

  • AuditMyPc.com Sitemap Generator
  • AutoMapIt
  • Autositemap $
  • Enarion phpSitemapsNG
  • Gerador de Sitemap Gratuito
  • Neuroticweb.com Sitemap Generator
  • ROR Sitemap Generator
  • ScriptSocket Sitemap Generator
  • SeoUtility Sitemap Generator (italiano)
  • SitemapDoc
  • Sitemapspal
  • SitemapSubmit
  • Validador de XML do Google Sitemaps Smart-IT-Consulting
  • XML Sitemap Generator
  • XML-Sitemaps Generator

CMS com geradores de Sitemap integrados

  • Betão 5

Geradores de Sitemap do Google Notícias Os plug-ins a seguir permitem que os editores atualizem os arquivos do Sitemap do Google Notícias, uma variante do protocolo sitemaps.org que descrevemos em nossa Central de Ajuda. Além das propriedades normais dos arquivos de Sitemap, os Sitemaps do Google Notícias permitem que os editores descrevam os tipos de conteúdo que publicam, juntamente com a especificação de níveis de acesso para artigos individuais. Mais informações sobre o Google Notícias podem ser encontradas em nossa Central de Ajuda e Fóruns de Ajuda.

  • Plug-in WordPress Google Notícias

Snippets de código / bibliotecas

  • Script ASP
  • Script Emacs Lisp
  • Biblioteca Java
  • Script Perl
  • Aula de PHP
  • Script gerador de PHP

Se você acredita que uma ferramenta deve ser adicionada ou removida por um motivo legítimo, deixe um comentário no Fórum de Ajuda para webmasters.

Franck Dernoncourt
fonte
Existe alguém que fornece uma tela de impressão de todos os url?
ValRob
6

O melhor que encontrei é http://www.auditmypc.com/xml-sitemap.asp, que usa Java e não tem limite de páginas, e ainda permite exportar resultados como uma lista bruta de URLs.

Ele também usa sessões, portanto, se você estiver usando um CMS, certifique-se de estar desconectado antes de executar o rastreamento.

Collins
fonte
3
soou bem, mas está quebrado.
NoobishPro
2

Portanto, em um mundo ideal, você teria uma especificação para todas as páginas do seu site. Você também teria uma infraestrutura de teste que poderia atingir todas as suas páginas para testá-las.

Você provavelmente não está em um mundo ideal. Por que não fazer isso ...?

  1. Crie um mapeamento entre os URLs antigos bem conhecidos e os novos. Redirecione quando você vir um URL antigo. Eu possivelmente consideraria apresentar um "esta página foi movida, seu novo url é XXX, você será redirecionado em breve".

  2. Se você não tiver nenhum mapeamento, apresente uma mensagem "desculpe - esta página foi movida. Aqui está um link para a página inicial" e redirecione-os se desejar.

  3. Registre todos os redirecionamentos - especialmente aqueles sem mapeamento. Com o tempo, adicione mapeamentos para páginas importantes.

Martin Peck
fonte
2

O wget de uma máquina Linux também pode ser uma boa opção, pois há opções para o spider e alteram sua saída.

EDITAR: wget também está disponível no Windows: http://gnuwin32.sourceforge.net/packages/wget.htm

Thomas Schultz
fonte
1

Escreva um spider que leia cada html do disco e produza todos os atributos "href" de um elemento "a" (pode ser feito com um analisador). Lembre-se de quais links pertencem a uma determinada página (essa é uma tarefa comum para uma estrutura de dados MultiMap). Depois disso, você pode produzir um arquivo de mapeamento que atua como entrada para o manipulador 404.

Mork0075
fonte
0

Eu examinaria qualquer número de ferramentas de geração de mapas de sites online. Pessoalmente, usei este (baseado em java) no passado, mas se você fizer uma pesquisa no Google por "construtor de mapa de site", tenho certeza de que encontrará muitas opções diferentes.

Eric Petroelje
fonte