从网站获取url列表

我正在为客户部署一个replace站点,但他们不希望所有的旧页面都以404结束。 保持旧的URL结构是不可能的,因为它是可怕的。

所以我正在写一个404处理程序,应该寻找一个旧的页面被请求,并做一个永久的redirect到新的页面。 问题是,我需要一个所有旧页面URL的列表。

我可以手动执行此操作,但是如果有任何应用程序能够提供给我一个相对的列表(例如:/ page / path,而不是http:/…/page/path),那么我会感兴趣页。 就像一只蜘蛛,除了find更深的页面之外,它不关心内容。

我不是故意回答我自己的问题,但我只是想运行一个网站地图生成器。 第一个我发现http://www.xml-sitemaps.com有一个很好的文本输出。; 完美满足我的需求。

wget -r www.oldsite.com

那么只要find www.oldsite.com就会揭示所有的url,我相信。

或者,只需在每个404请求中提供自定义未find的页面! 也就是说,如果有人使用了错误的链接,他会看到页面没有被find,并且提示网站的内容。

这里是一个网站地图生成器列表(显然你可以从网站获得URL列表): http : //code.google.com/p/sitemap-generators/wiki/SitemapGenerators

网站地图生成器

以下是生成或维护XML Sitemaps格式文件的工具的链接,Sitemaps格式是在sitemaps.org上定义的开放标准,并由search引擎(如Ask,Google,Microsoft Live Search和Yahoo!)支持。 Sitemap文件通常包含网站上的一系列url以及这些url的一些元数据。 以下工具通常会生成“网站types”XML Sitemap和URL列表文件(有些也可能支持其他格式)。

请注意:Google尚未testing或validation本网站上列出的第三方软件的function或安全性。 请将有关软件的任何问题直接发给软件的作者。 我们希望你喜欢这些工具!

服务器端程序

  • Enarion phpSitemapsNG(PHP)
  • Google Sitemap生成器(Linux / Windows,32 / 64bit,开源)
  • Outil PHP(法语,PHP)
  • Perl站点生成器(Perl)
  • Python站点生成器(Python)
  • 简单的Sitemaps(PHP)
  • SiteMap XMLdynamic站点生成器(PHP)$
  • OS / 2的Sitemap生成器(REXX脚本)
  • XML Sitemap生成器(PHP)$

CMS和其他插件:

  • ASP.NET – Sitemaps.Net
  • DotClear(西class牙文)
  • DotClear(2)
  • Drupal的
  • 电子商务模板(PHP)$
  • 电子商务模板(PHP或ASP)$
  • LifeType的
  • MediaWiki Sitemap生成器
  • 例如mnoGoSearch
  • OS Commerce
  • phpWebSite
  • Plone的
  • 的RapidWeaver
  • 的Textpattern
  • vBulletin
  • Wikka Wiki(PHP)
  • WordPress的

可下载的工具

  • GSiteCrawler(Windows)
  • GWebCrawler&Sitemap Creator(Windows)
  • G-Mapper(Windows)
  • Inspyder Sitemap Creator(Windows)$
  • IntelliMapper(Windows)$
  • Microsys A1 Sitemap生成器(Windows)$
  • 愤怒Google Sitemap Automator $(OS-X)
  • 尖叫青蛙SEO蜘蛛和地图生成器(Windows / Mac)$
  • 网站地图Pro(Windows)$
  • 站点作家(Windows)$
  • DevIntelligence的Sitemaps Generator(Windows)
  • Sorrowmans网站地图工具(Windows)
  • TheSiteMapper(Windows)$
  • Vigos Gsitemap(Windows)
  • Visual SEO Studio(Windows)
  • WebDesignPros站点地图生成器(Java Webstart应用程序)
  • Weblight(Windows / Mac)$
  • WonderWebWare Sitemap生成器(Windows)

在线生成器/服务

  • AuditMyPc.com站点地图生成器
  • AutoMapIt
  • Autositemap $
  • Enarion phpSitemapsNG
  • 免费的Sitemap生成器
  • Neuroticweb.com Sitemap生成器
  • ROR站点地图生成器
  • ScriptSocket站点地图生成器
  • SeoUtility Sitemap生成器(意大利语)
  • SitemapDoc
  • Sitemapspal
  • SitemapSubmit
  • Smart-IT-Consulting Google Sitemaps XMLvalidation程序
  • XML Sitemap生成器
  • XML-Sitemaps生成器

带有集成Sitemap生成器的CMS

  • Concrete5

Google新闻站点地图生成器以下插件允许发布商更新Google新闻站点地图文件,这是我们在帮助中心中描述的sitemaps.org协议的一个变体。 除了Sitemap文件的正常属性之外,Google新闻站点地图还允许发布者描述他们发布的内容types,并指定各篇文章的访问级​​别。 有关Google新闻的更多信息,请参阅我们的帮助中心和帮助论坛。

  • WordPress的新闻插件

代码片段/库

  • ASP脚本
  • Emacs Lisp脚本
  • Java库
  • Perl脚本
  • PHP类
  • PHP生成器脚本

如果您认为应出于正当理由添加或删除工具,请在网站站长帮助论坛中留言。

我发现最好的是使用Java的http://www.auditmypc.com/xml-sitemap.asp ,并且对页面没有限制,甚至可以将结果作为原始URL列表导出。

它也使用会话,所以如果您使用CMS,请确保在运行爬网之前注销。

所以,在一个理想的世界里,你会有一个网站所有页面的规范。 你也可以有一个testing基础设施,可以打你的所有网页来testing它们。

你大概不在一个理想的世界。 为什么不这样做?

  1. 在众所周知的旧url和新url之间创build一个映射。 当你看到一个旧的URL时redirect。 我可能会考虑提出一个“这个页面已经移动,这是新的url是XXX,你会很快redirect”。

  2. 如果您没有映射,请提供一个“对不起 – 此页面已移动,此处有一个指向主页的链接”消息,如果您愿意,可将其redirect。

  3. logging所有redirect – 特别是没有映射的redirect。 随着时间的推移,为重要的页面添加映射。

我会研究任何数量的在线网站地图生成工具。 就我个人而言,过去我使用过这个 (基于Java),但是如果你做一个谷歌search“网站地图生成器”,我相信你会发现很多不同的select。

从一个Linux的盒子wget也可能是一个不错的select,因为有切换到蜘蛛和改变它的输出。

编辑:wget也可在Windows上: http : //gnuwin32.sourceforge.net/packages/wget.htm

写一个蜘蛛,它读取磁盘上的每个html,并输出“a”元素的每个“href”属性(可以用parsing器完成)。 记住哪些链接属于某个页面(这是MultiMap数据结构的常见任务)。 之后,您可以生成一个映射文件,作为404处理程序的input。