从站点获取URL列表[关闭]


94

我正在为客户端部署替换站点,但他们不希望所有旧页面都以404结尾。保留旧的URL结构是不可能的,因为它很丑陋。

因此,我正在编写一个404处理程序,该处理程序应查找被请求的旧页面并永久重定向到新页面。问题是,我需要所有旧页面URL的列表。

我可以手动执行此操作,但是如果有任何应用可以为我提供相对网址(例如/ page / path,而不是http:/.../ page / path)的列表,我会很感兴趣页。就像蜘蛛一样,但是除了查找更深的页面外,它并不关心内容。


Answers:


65

我并不是要回答自己的问题,而是想着要运行站点地图生成器。我发现第一个http://www.xml-sitemaps.com具有不错的文本输出。非常适合我的需求。


但有5000个链接极限.. :(我在寻找任何免费的PHP站点地图生成器脚本!
简森中号约翰·

13
当前限制为500 —越来越小…
Oli Studholme 2014年

对我来说,它出错了:::::::::发生错误在访问指定的URL时发生错误:159.121.sssss请确保指定正确的网站URL并重新提交您的请求。
JustJohn '16

仅供参考:如果您使用前端路由,则不会从此方法获得那些路由。
jasonleonhard

仅供参考:如果网站使用身份验证和/或授权,您也不会获得所有路由。
jasonleonhard

46

wget -r -l0 www.oldsite.com

find www.oldsite.com我相信,然后就可以显示所有网址。

另外,只需在每个404请求上提供该自定义未找到的页面!即,如果有人使用了错误的链接,他将得到告诉该页面未找到的页面,并提示一些有关网站内容的信息。


15
值得注意的是,由于此方法返回的是文件列表,而不是URL,因此仅对静态HTML文件集合的网站有效。如果网站上有网址查询参数,服务器端的URL重写,或任何形式的include/ require的/ etc。组装页面,这实际上是行不通的。
TJ Schuck

我可能对wget有误解。我以为“ wget”是用于下载网站内容的?
Cosmic Hawk

@Doomsy是的,但是当您下载了所有内容后,您肯定会知道该内容的所有URL,并且没有下载就无法找到URL。
alamar


1
@alamar是的,有“ -r -l inf”用于无限递归,但是我建议人们检查一下文档-有很多不错的选择!“ -m”选项将镜像,我将尝试“ -R.jpg,.jpeg,.gif,.png”,我认为它会跳过图像。
PJ Brunet

24

这是站点地图生成器的列表(显然,您可以从中获取站点的URL列表):http : //code.google.com/p/sitemap-generators/wiki/SitemapGenerators

网站地图生成器

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

请注意:Google尚未测试或验证此网站上列出的第三方软件的功能或安全性。请将有关软件的任何问题直接告知软件作者。我们希望您喜欢这些工具!

服务器端程序

  • Enarion phpSitemapsNG(PHP)
  • Google Sitemaps生成器(Linux / Windows,32/64位,开源)
  • Outil en PHP(法语,PHP)
  • Perl网站地图生成器(Perl)
  • Python Sitemaps Generator(Python)
  • 简单站点地图(PHP)
  • SiteMap XML动态Sitemap生成器(PHP)$
  • OS / 2的站点地图生成器(REXX脚本)
  • XML Sitemaps Generator(PHP)$

CMS和其他插件:

  • ASP.NET-Sitemaps.Net
  • DotClear(西班牙语)
  • 点清除(2)
  • Drupal
  • 电子商务模板(PHP)$
  • 电子商务模板(PHP或ASP)$
  • 生命类型
  • MediaWiki网站地图生成器
  • mnoGoSearch
  • 操作系统商务
  • phpWebSite
  • 克隆人
  • RapidWeaver
  • 文字模式
  • v公告
  • Wikka Wiki(PHP)
  • WordPress的

可下载的工具

  • GSiteCrawler(Windows)
  • GWebCrawler和站点地图创建器(Windows)
  • G-Mapper(Windows)
  • Inspyder Sitemap Creator(Windows)$
  • IntelliMapper(Windows)$
  • Microsys A1网站地图生成器(Windows)$
  • Rage Google Sitemap Automator $(OS-X)
  • Screaming Frog SEO Spider and Sitemap generator(Windows / Mac)$
  • 站点地图专业版(Windows)$
  • Sitemap Writer(Windows)$
  • DevIntelligence的Sitemaps生成器(Windows)
  • Sorrowmans站点地图工具(Windows)
  • TheSiteMapper(Windows)$
  • Vigos Gsitemap(Windows)
  • Visual SEO Studio(Windows)
  • WebDesignPros Sitemaps生成器(Java Webstart应用程序)
  • Weblight(Windows / Mac)$
  • WonderWebWare网站地图生成器(Windows)

在线发电机/服务

  • AuditMyPc.com网站地图生成器
  • 自动贴图
  • 自动站点地图
  • Enarion phpSitemapsNG
  • 免费站点地图生成器
  • Neuroticweb.com网站地图生成器
  • ROR网站地图生成器
  • ScriptSocket网站地图生成器
  • SeoUtility网站地图生成器(意大利语)
  • SitemapDoc
  • 网站地图
  • 提交地图
  • 咨询智能IT的Google Sitemap XML验证器
  • XML Sitemaps生成器
  • XML-Sitemaps生成器

带有集成Sitemaps生成器的CMS

  • 混凝土5

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

  • WordPress Google新闻插件

代码段/库

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

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


是否有人提供所有网址的打印屏幕?
ValRob '18 -4-6


2

因此,在理想的情况下,您将对站点中的所有页面都有规范。您还将拥有一个测试基础架构,可以击中所有页面以对其进行测试。

您大概不在理想的世界中。为什么不这样做...?

  1. 在众所周知的旧URL和新URL之间创建映射。看到旧的URL时重定向。我可能会考虑显示“此页面已移动,它的新网址是XXX,您将很快被重定向”。

  2. 如果没有映射,请显示“对不起-此页面已移动。这是指向主页的链接”消息,并根据需要重定向。

  3. 记录所有重定向-尤其是没有映射的重定向。随着时间的流逝,为重要的页面添加映射。



1

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.