ファイルサイズを抑えるためにgzip形式にしてみました。
ファイル関連の関数はあまり使わないので、ちょっと手こずりました。
ファイル(sitemap.xml.gz)は事前にアップロードし、パーミッションは707で指定しました。
$urlやdateを任意に変更しループ処理すれば、URL数の多いサイトでも簡単にサイトマップの生成ができます。
注意点
1ファイルに指定できるURLは50000までです。
50000を超える場合には、ファイルを分け、インデックスファイルを作成してください。
<?php
$xml = '<?xml version="1.0" encoding="UTF-8"?>'."\n";
$xml .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n";
$xml .= ' <loc>'.$url.'</loc>'."\n";
$xml .= ' <lastmod>'.date("Y-m-d").'</lastmod>'."\n";
$xml .= ' </url>'."\n";
$xml .= '</urlset>'."\n";
//gzipで圧縮
$zp = gzopen("sitemap.xml.gz", "w9");
gzwrite($zp,$xml);
gzclose($zp);
?>
0 件のコメント:
コメントを投稿