Google Sitemaps のフォーマットって何やらめんどくさいXML形式だけだと思いこんでた。
だから、Sitemap Generator なんてめんどいものが必要なんだと思ってた。
よく見たら、テキストファイルでも良いらしい。
一行につきひとつのURLを記述した UTF-8 なテキストファイル。
を用意して、Google Sitemaps に登録するだけでよかった。これならかんたん。
wget -c -x -r -L -l 0 -np http://hostname/dirname/
という感じで wget で既存のサイトをファイルとしてすべて取得してから、
以下のスクリプトで、ディレクトリ内ファイル名のリストを作って、
#!/usr/bin/env perl
#
# rlf - Recursive Listing Files
#
$SEPARATOR = '/';
for(@ARGV){
& showdir($_);
}
# This function is based on a original function from
# uebu: Perlの覚え書きメモ
# http://kamakura.cool.ne.jp/oppama/misc/perltips.html
sub showdir {
my($indir) = shift @_;
opendir(INDIR, $indir) || die $!;
my(@files) = readdir(INDIR);
closedir(INDIR);
for(@files){
if($_ ne '.' && $_ ne '..'){
$path = $indir . $SEPARATOR . $_;
if(-d $path){
&showdir($path);
}else{
print "$path\n";
}
}
}
}
C:\> perl rlf.pl hostname/dirname
Windows なら \ があったら / に変更する、と。
URLの先頭には http:// を付けて、
できあがり。
何か、もっと良い方法がありそうなもんだけど、とりあえず。
# wget で取得中に キーワード http で grep した結果だけを出力するとか?
参考:
- Google Sitemaps (BETA) Help
- Google Sitemaps グーグル・サイトマップ(ベータ版)FAQとプロトコル全訳。新しいURL登録方法はSEOに必須になる? [絵文録ことのは]2005/06/04
- uebu: Perlの覚え書きメモ
2006-09-22: 追記
ファイル一覧取得は tree コマンドを使うともっとラクかも
→ Google Webmaster Tools (Google Sitemaps) にサイトマップを登録する
tags: zlashdot Internet
Posted by NI-Lab. (@nilab)
コメント
づらねこにゃんたちが、良いらしいリストとか、めんどくさい必要など見たら
NI-Lab.が、ネットで必須とかを登録しないかも。
投稿者: BlogPetのづらねこにゃん | 2005年08月21日 09:48