Obtener una lista de URL de un sitio [cerrado]

94

Estoy implementando un sitio de reemplazo para un cliente, pero no quieren que todas sus páginas antiguas terminen en 404. Mantener la antigua estructura de URL no era posible porque era espantoso.

Así que estoy escribiendo un controlador 404 que debería buscar una página antigua que se solicita y hacer un redireccionamiento permanente a la nueva página. El problema es que necesito una lista de todas las URL de las páginas antiguas.

Podría hacer esto manualmente, pero me interesaría si hay alguna aplicación que me proporcione una lista de URL relativas (por ejemplo: / página / ruta, no http: /.../ página / ruta) que acaba de dar la página de inicio página. Como una araña, pero a la que no le importa el contenido más que buscar páginas más profundas.

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

Respuestas:

65

No quise responder mi propia pregunta, pero solo pensé en ejecutar un generador de mapas del sitio. El primero que encontré http://www.xml-sitemaps.com tiene una buena salida de texto. Perfecto para mis necesidades.

Oli
fuente
¡Pero hay un límite de 5000 enlaces! .. :( Estoy buscando cualquier script generador de mapa de sitio php gratuito.
Jenson M John
13
El límite actual es 500 - cada vez más pequeño…
Oli Studholme
Me produjo un error: ::::::: Se produjo un error Se produjo un error al acceder a la URL especificada: 159.121.ssss Por favor, asegúrese de especificar la URL correcta del sitio web y vuelva a enviar su solicitud.
JustJohn
FYI: Si está utilizando el enrutamiento frontend, no obtendrá esas rutas de este método.
jasonleonhard
FYI: si el sitio web utiliza autenticación y / o autorización, tampoco obtendrá todas las rutas.
jasonleonhard
46

hacer wget -r -l0 www.oldsite.com

Entonces solo find www.oldsite.comrevelaría todas las URL, creo.

Alternativamente, ¡solo envíe esa página personalizada no encontrada en cada solicitud 404! Es decir, si alguien usaba el enlace incorrecto, obtendría la página diciendo que no se encontró la página y dando algunas pistas sobre el contenido del sitio.

alamar
fuente
15
En particular, dado que esto devuelve una lista de archivos , no URL, esto solo funcionaría realmente para sitios que son colecciones de archivos HTML estáticos. Si el sitio tiene parámetros de consulta de URL, URL reescritas del lado del servidor o cualquier tipo de include/ require/ etc. ensamblaje de páginas, esto realmente no funcionará.
TJ Schuck
Podría estar malinterpretando wget. Pensé que 'wget' era para descargar el contenido del sitio.
Cosmic Hawk
@Doomsy sí, pero cuando haya descargado todo el contenido seguramente conocerá todas las URL de ese contenido, y sin descargar no hay forma de averiguar las URL.
alamar
1
Considere la profundidad predeterminada. gnu.org/software/wget/manual/html_node/…
PJ Brunet
1
@alamar Sí, hay "-r -l inf" para la recursividad infinita, pero recomiendo a la gente que consulte la documentación: ¡hay tantas opciones interesantes! La opción "-m" se reflejará y voy a probar "-R.jpg, .jpeg, .gif, .png", que creo que omite las imágenes.
PJ Brunet
24

Aquí hay una lista de generadores de mapas de sitios (de los cuales, obviamente, puede obtener la lista de URL de un sitio): http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators

Generadores de mapas de sitios web

Los siguientes son enlaces a herramientas que generan o mantienen archivos en formato XML Sitemaps, un estándar abierto definido en sitemaps.org y compatible con motores de búsqueda como Ask, Google, Microsoft Live Search y Yahoo !. Los archivos de mapa del sitio generalmente contienen una colección de URL en un sitio web junto con algunos metadatos para estas URL. Las siguientes herramientas generalmente generan archivos de listas de URL y mapas del sitio XML de "tipo web" (algunas también pueden admitir otros formatos).

Nota: Google no ha probado ni verificado las funciones o la seguridad del software de terceros que se incluye en este sitio. Dirija cualquier pregunta relacionada con el software al autor del software. ¡Esperamos que disfrute de estas herramientas!

Programas del lado del servidor

  • Enarion phpSitemapsNG (PHP)
  • Generador de mapas de sitios de Google (Linux / Windows, 32/64 bits, código abierto)
  • Outil en PHP (francés, PHP)
  • Generador de mapas de sitios de Perl (Perl)
  • Generador de mapas del sitio de Python (Python)
  • Sitemaps simples (PHP)
  • SiteMap XML Dynamic Sitemap Generator (PHP) $
  • Generador de mapas del sitio para OS / 2 (script REXX)
  • Generador de mapas de sitios XML (PHP) $

CMS y otros complementos:

  • ASP.NET - Sitemaps.Net
  • DotClear (español)
  • DotClear (2)
  • Drupal
  • Plantillas de comercio electrónico (PHP) $
  • Plantillas de comercio electrónico (PHP o ASP) $
  • LifeType
  • Generador de mapas del sitio de MediaWiki
  • mnoGoSearch
  • OS Comercio
  • phpWebSite
  • Plone
  • RapidWeaver
  • Patrón de texto
  • vBulletin
  • Wiki de Wikka (PHP)
  • WordPress

Herramientas descargables

  • GSiteCrawler (Windows)
  • GWebCrawler & Sitemap Creator (Windows)
  • G-Mapper (Windows)
  • Creador de mapas del sitio de Inspyder (Windows) $
  • IntelliMapper (Windows) $
  • Generador de mapas del sitio Microsys A1 (Windows) $
  • Rage Google Sitemap Automator $ (OS-X)
  • Screaming Frog SEO Spider y generador de mapas del sitio (Windows / Mac) $
  • Mapa del sitio Pro (Windows) $
  • Escritor de mapas del sitio (Windows) $
  • Generador de mapas del sitio de DevIntelligence (Windows)
  • Herramientas de mapa del sitio de Sorrowmans (Windows)
  • TheSiteMapper (Windows) $
  • Vigos Gsitemap (Windows)
  • Visual SEO Studio (Windows)
  • WebDesignPros Sitemap Generator (Aplicación Java Webstart)
  • Weblight (Windows / Mac) $
  • Generador de mapas del sitio WonderWebWare (Windows)

Generadores / Servicios en línea

  • Generador de mapas del sitio AuditMyPc.com
  • AutoMapIt
  • Mapa del sitio automático $
  • Enarion phpSitemapsNG
  • Generador de mapas de sitio gratuito
  • Generador de mapas del sitio de Neuroticweb.com
  • Generador de mapas del sitio ROR
  • Generador de mapas del sitio ScriptSocket
  • Generador de mapas del sitio de SeoUtility (italiano)
  • SitemapDoc
  • Sitemapspal
  • Mapa del sitio
  • Validador XML de mapas de sitios de Google de consultoría inteligente de TI
  • Generador de mapas de sitios XML
  • Generador XML-Sitemaps

CMS con generadores de mapas del sitio integrados

  • Concreto5

Generadores de sitemaps de Google News Los siguientes complementos permiten a los editores actualizar los archivos de sitemaps de Google News, una variante del protocolo sitemaps.org que describimos en nuestro Centro de ayuda. Además de las propiedades normales de los archivos de sitemaps, los sitemaps de Google Noticias permiten a los editores describir los tipos de contenido que publican, además de especificar los niveles de acceso para artículos individuales. Puede encontrar más información sobre Google News en nuestro Centro de ayuda y en los foros de ayuda.

  • Complemento de WordPress Google News

Fragmentos de código / Bibliotecas

  • Secuencia de comandos ASP
  • Secuencia de comandos Emacs Lisp
  • Biblioteca Java
  • Secuencia de comandos de Perl
  • Clase PHP
  • Script generador PHP

Si cree que se debe agregar o eliminar una herramienta por un motivo legítimo, deje un comentario en el Foro de ayuda para webmasters.

Franck Dernoncourt
fuente
¿Hay alguien que proporcione una pantalla de impresión de todas las URL?
ValRob
6

Lo mejor que he encontrado es http://www.auditmypc.com/xml-sitemap.asp, que usa Java y no tiene límite en las páginas, e incluso le permite exportar resultados como una lista de URL sin procesar.

También utiliza sesiones, por lo que si está utilizando un CMS, asegúrese de haber cerrado la sesión antes de ejecutar el rastreo.

Collins
fuente
3
sonaba bien, pero está roto.
NoobishPro
2

Entonces, en un mundo ideal, tendría una especificación para todas las páginas de su sitio. También tendría una infraestructura de prueba que podría llegar a todas sus páginas para probarlas.

Es de suponer que no estás en un mundo ideal. ¿Por qué no hacer esto ...?

  1. Cree un mapeo entre las URL antiguas conocidas y las nuevas. Redirigir cuando vea una URL antigua. Posiblemente consideraría presentar un "esta página se ha movido, su nueva URL es XXX, será redirigido en breve".

  2. Si no tiene mapeo, presente un mensaje de "lo siento, esta página se ha movido. Aquí hay un enlace a la página de inicio" y rediríjalo si lo desea.

  3. Registra todos los redireccionamientos, especialmente los que no tienen mapeo. Con el tiempo, agregue asignaciones para las páginas que son importantes.

Martín Peck
fuente
1

Escriba una araña que lea en cada html del disco y genere cada atributo "href" de un elemento "a" (se puede hacer con un analizador). Tenga en cuenta qué enlaces pertenecen a una página determinada (esta es una tarea común para una estructura de datos MultiMap). Después de esto, puede producir un archivo de mapeo que actúa como entrada para el controlador 404.

Mork0075
fuente
0

Buscaría varias herramientas de generación de mapas de sitios en línea. Personalmente, he usado este (basado en Java) en el pasado, pero si buscas en Google "creador de mapas de sitios", estoy seguro de que encontrarás muchas opciones diferentes.

Eric Petroelje
fuente