Larave:サイトマップバンドル

タグ: Laravel3  

シンプルなサイトマップ生成バンドルの紹介です。Googleに登録しておくと、インデックスが早くなりますので、サイト運用には、必須ですね。

Laravelのバンドル紹介ページはこちらです。

インストール

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で直接書いても、それほど手間はかかりませんね。