我有一个为大型网站自动生成的站点地图,其中包含许多导致我需要删除的 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
关于SEO、Google 网站站长工具 - 如何为站点地图中的错误 URL 生成 404 抓取错误报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14855272/