自動で全部だしたかったんですが、できなそうだったので
せめてってことで、 URLリストを渡したらそれをsitemapにするものをつくっていました。
まあ必要があって作成していたので、一応公開しておきます。
たいしたものじゃないですが。
Class.Sitemap.zip
一応googleのSitemapの説明のとか書いた前の記事
http://dev.neoinspire.net/archives/category/seo/page/4
使い方
・前準備
.htaccessで
RewriteRule sitemap.xml$ sitemap.php
として
/sitemap.xml
でsitemap.phpが呼ばれるようにする。
・PHP作成
sitemap.phpを作って
require(Class.Sitemap.php);
//URLデータ作成
$array[0][‘url’] = “http://www.a.com”; //url
$array[0][‘lastmod’] = “2008-01-01”; //LastModified Date
$array[0][‘changefreq’] = “daily”; //Change Frequency
$array[0][‘priority’] = “0.5”; //Priority//以下必要なだけArrayに突っ込む
$array[1][‘url’] = “http://www.a.com”;
$array[1][‘lastmod’] = “2008-01-02”;
$array[1][‘changefreq’] = “monthly”;
$array[1][‘priority’] = “0.5”;//クラスを呼び出してGO
$Sitemap = new Sitemap();
$Sitemap->create($array);
$Sitemap->output();
こんな感じの中身を書く。
これで Arrayをバラしてsitemapっぽいxmlを吐き出します。
ちなみに中では headerコマンド使ってますので、一切のprintとかができません。
CakePHPで使うには
1:
/app/webroot/files/
にClass.Sitemap.phpをおく
2:
/app/webroot/.htaccessに
RewriteRule sitemap.xml$ sitemap.php
を追加する。
3:
/app/webroot/sitemap.phpを作る
sietmap.phpは
require(/files/Class.Sitemap.php);
$array[0][‘url’] = “http://www.a.com”; //url
$array[0][‘lastmod’] = “2008-01-01”; //LastModified Date
$array[0][‘changefreq’] = “daily”; //Change Frequency
$array[0][‘priority’] = “0.5”; //Priority//以下必要なだけArrayに突っ込む
$array[1][‘url’] = “http://www.a.com”;
$array[1][‘lastmod’] = “2008-01-02”;
$array[1][‘changefreq’] = “monthly”;
$array[1][‘priority’] = “0.5”;$Sitemap = new Sitemap();
$Sitemap->create($array);
$Sitemap->output();
こんなかんじ!
これで http://www.a.com/sitemap.xml
でsitemapがみれるはずです。