[CodeIgniter2] サイトマップを作る
スポンサーリンク
CodeIgniterでサイトマップを作成する方法のまとめです。サイトマップは検索エンジン向けのサイトマップの方の話です。
controllerとviewファイルの作り方はstack overflowに良い作例があるので使わせてもらいます。
Sitemap generation with Codeigniter – Stack Overflowcontrollers/seo.phpClass Seo extends CI_Controller { function sitemap() { $data = "";//select urls from DB to Array header("Content-Type: text/xml;charset=iso-8859-1"); $this->load->view("sitemap",$data); } }views/sitemap.php<?= '<?xml version="1.0" encoding="UTF-8" ?>' ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc><?= base_url();?></loc> <priority>1.0</priority> </url> <!-- My code is looking quite different, but the principle is similar --> <?php foreach($data as $url) { ?> <url> <loc><?= base_url().$url ?></loc> <priority>0.5</priority> </url> <?php } ?> </urlset>config/routes.php$route['seo/sitemap\.xml'] = "seo/sitemap";
分かりやすいですなー。ありがたいことです。
ただ、これだとURLとpriorityしかないかなりシンプルなサイトマップなので、最終更新日や更新頻度なども入れるなら以下のようなかんじで自分好みのものに変えていけば良いです。
$data[] = array( 'url' => '', 'priority' => 0.5, 'lastmod' => '2014-10-20 18:37:00', 'changefreq' => 'hourly' ); header("Content-Type: text/xml;charset=iso-8859-1"); $this->load->view("sitemap", array('data'=>$data) );views/sitemap.php
<?= '<?xml version="1.0" encoding="UTF-8" ?>' ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc><?php echo base_url();?></loc> <priority>1.0</priority> </url> <?php foreach($data as $url) { ?> <url> <loc><?php echo base_url().$url ?></loc> <priority><?php echo $priority;?></priority> <lastmod><?php echo $lastmod;?></lastmod> <changefreq><?php echo $changefreq;?></changefreq> </url> <?php } ?> </urlset>
スポンサーリンク
CodeIgniterカテゴリーの投稿
- [CodeIgniter3] クエリービルダーのINSERTでエスケープを行わない
- [CodeIgniter3] CRONでコントローラーのメソッドを呼び出す
- [CodeIgniter3] さくらレンタルサーバー設置時の.htaccess
- [CodeIgniter3] ControllerとViewを作成
- [CodeIgniter3] xampp開発環境へのインストール
- [CodeIgniter2] form_open()のメソッドをGETにする
- [CodeIgniter2] 多言語化時にオートロードで任意言語ファイルを読み込む
- [CodeIgniter2] ActiveRecordクラスjoinメソッド
- [CodeIgniter2] アクティブレコードでReplace文を使う
- [CodeIgniter2] アクティブレコードで複雑なWHERE句を生成する