GoogleSitemapを作成するPHP Cakephpでも~

自動で全部だしたかったんですが、できなそうだったので
せめてってことで、 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がみれるはずです。

Class.Sitemap.zip