Je déploie un site de remplacement pour un client mais ils ne veulent pas que toutes leurs anciennes pages se terminent par 404. Garder l'ancienne structure d'URL n'était pas possible car c'était horrible.
J'écris donc un gestionnaire 404 qui devrait rechercher une ancienne page demandée et effectuer une redirection permanente vers la nouvelle page. Le problème est que j'ai besoin d'une liste de toutes les anciennes URL de page.
Je pourrais le faire manuellement, mais je serais intéressé s'il y a des applications qui me fourniraient une liste d'URL relatives (par exemple: / page / chemin, pas http: /.../ page / chemin) juste données à la maison page. Comme une araignée mais qui ne se soucie pas du contenu autre que de trouver des pages plus profondes.
la source
Réponses:
Je ne voulais pas répondre à ma propre question, mais j'ai simplement pensé à exécuter un générateur de plan de site. Le premier que j'ai trouvé sur http://www.xml-sitemaps.com a une belle sortie texte. Parfait pour mes besoins.
la source
faire
wget -r -l0 www.oldsite.com
Ensuite, tout simplement
find www.oldsite.com
révéler toutes les URL, je crois.Sinon, diffusez simplement cette page personnalisée introuvable à chaque demande 404! C'est-à-dire que si quelqu'un utilisait le mauvais lien, il obtenait la page indiquant que la page n'était pas trouvée, et faisant quelques indices sur le contenu du site.
la source
include
/require
/ etc. assemblage de pages, cela ne fonctionnera pas vraiment.Voici une liste de générateurs de plan de site (à partir de laquelle vous pouvez évidemment obtenir la liste des URL d'un site): http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators
la source
Le meilleur que j'ai trouvé est http://www.auditmypc.com/xml-sitemap.asp qui utilise Java et n'a aucune limite sur les pages, et vous permet même d'exporter les résultats sous forme de liste d'URL brutes.
Il utilise également des sessions, donc si vous utilisez un CMS, assurez-vous que vous êtes déconnecté avant d'exécuter l'analyse.
la source
Ainsi, dans un monde idéal, vous auriez une spécification pour toutes les pages de votre site. Vous auriez également une infrastructure de test qui pourrait frapper toutes vos pages pour les tester.
Vous n'êtes probablement pas dans un monde idéal. Pourquoi ne pas faire ça ...?
Créez un mappage entre les anciennes URL bien connues et les nouvelles. Redirection lorsque vous voyez une ancienne URL. J'envisagerais peut-être de présenter un "cette page a été déplacée, sa nouvelle URL est XXX, vous serez bientôt redirigé".
Si vous n'avez pas de mappage, présentez un message "désolé - cette page a été déplacée. Voici un lien vers la page d'accueil" et redirigez-le si vous le souhaitez.
Enregistrez toutes les redirections, en particulier celles sans mappage. Au fil du temps, ajoutez des mappages pour les pages importantes.
la source
wget à partir d'une boîte Linux peut également être une bonne option car il existe des commutateurs vers spider et modifier sa sortie.
EDIT: wget est également disponible sur Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
la source
Écrivez une araignée qui lit chaque html à partir du disque et produit chaque attribut "href" d'un élément "a" (peut être fait avec un analyseur). Gardez à l'esprit quels liens appartiennent à une certaine page (c'est une tâche courante pour une infrastructure de données MultiMap). Après cela, vous pouvez produire un fichier de mappage qui sert d'entrée pour le gestionnaire 404.
la source
J'examinerais un certain nombre d'outils de génération de plan de site en ligne. Personnellement, j'ai utilisé celui-ci (basé sur Java) dans le passé, mais si vous effectuez une recherche Google pour "constructeur de plan de site", je suis sûr que vous trouverez de nombreuses options différentes.
la source