Sitemap generation with Codeigniter Sitemap generation with Codeigniter codeigniter codeigniter

Sitemap generation with Codeigniter


You can use my code:

controllers/seo.php

Class 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>

add line to config/routes.php

$route['seo/sitemap\.xml'] = "seo/sitemap";

Sorry if there are some errors in the code, I made it especially for you.If there are errors, you can fix them easily by understanding the principle.


Must set header :

<?php header('Content-type: text/xml'); ?><?= '<?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>


It's strongly recommended to add the link of the sitemap to the robots.txt like this:

Sitemap: http://www.yoursite.com/seo/sitemap