我有一个为大型网站自动生成的站点地图,其中包含许多导致我需要删除的 404 错误的 URL。我需要仅基于站点地图中的 URL 生成报告,而不是由站点上的错误链接引起的抓取错误。我看不到任何过滤抓取错误报告以仅包含这些 URL 的方法。有谁知道我可以实现这一目标的方法?
谢谢
我有一个为大型网站自动生成的站点地图,其中包含许多导致我需要删除的 404 错误的 URL。我需要仅基于站点地图中的 URL 生成报告,而不是由站点上的错误链接引起的抓取错误。我看不到任何过滤抓取错误报告以仅包含这些 URL 的方法。有谁知道我可以实现这一目标的方法?
谢谢
我不确定您是否可以通过网站管理员工具轻松完成此操作,但您自己检查它们很简单。这是一个 perl 程序,它将接受站点地图文件并检查每一行,打印每个 url 及其状态。
#!/usr/bin/perl
use strict;
require LWP::UserAgent;
my $ua = LWP::UserAgent->new;
while (my $line = <>){
if ($line =~ /\<loc\>(.*?)\<\/loc\>/){
my $url = $1;
my $response = $ua->get($url);
my $status = $response->status_line;
$status =~ s/ .*//g;
print "$status $url\n";
}
}
我将它保存为 checksitemapstatus.pl 并像这样使用它:
$ /tmp/checksitemap.pl /tmp/sitemap.xml
200 http://example.com/
404 http://example.com/notfound.html
WMT 本身没有任何内容。你会想做一些Excel。
您还可以将 sitemap.xml 导入 A1 网站分析器并让它扫描它们。请参阅:http: //www.microsystools.com/products/website-analyzer/help/crawl-website-pages-list/
之后,您可以通过例如过滤扫描结果。404 响应代码并在需要时将其导出为 CSV。(包括如果想要从它们链接的地方。)