Larave:サイトマップバンドル
タグ: Laravel3
シンプルなサイトマップ生成バンドルの紹介です。Googleに登録しておくと、インデックスが早くなりますので、サイト運用には、必須ですね。
インストール
php artisan bundle:install sitemap
もしくはgithubから直接ダウンロードします。
インストール後、application/bundles.php
を設定し、バンドルを有効にしましょう。
'sitemap' => array('auto' => true)
サンプルコード
良いサンプルコードが用意されています。コメント部分を翻訳します。それだけで、使えると思います。
Route::get('sitemap', function(){ $sitemap = new Sitemap(); // アイテムのURL、日付、プライオリティ、更新頻度をセット $sitemap->add(URL::to(), '2012-08-25T20:10:00+02:00', '1.0', 'daily'); $sitemap->add(URL::to('page'), '2012-08-26T12:30:00+02:00', '0.9', 'monthly'); $posts = DB::table('posts')->order_by('created', 'desc')->get(); foreach ($posts as $post) { $sitemap->add($post->slug, $post->modified, $post->priority, $post->freq); } // サイトマップの表示 // オプション:'xml' (デフォルト), 'html', 'txt', 'ror-rss', 'ror-rdf' return $sitemap->render('xml');
ちなみに、当サイトのサイトマップページは、これを使っていません。直接編集しています。Googleに登録するxmlだけ利用しています。まあ、これを使用せずとも、Bladeで直接書いても、それほど手間はかかりませんね。