
How to Create Dynamic Xml Sitemap in Codeigniter
In this tutorial, we will explain to you how to create dynamic xml sitemap in codeigniter. It helps us to we can easily submit XML sitemap into the google console. so our website can easily rank on google.
A sitemap is described navigate of the website. users can easily search to navigate the site by sitemap. it is creating in the XML coding.
We have given below an example of how to generate a dynamic XML sitemap using Codeigniter. Add the below code in your controller file and Get the data from the database you want to create sitemap URL and pass it in the view file.
So you can follow the below steps.
Create Sitemap Controller
Add the below code in your controller file and Get the data from the database you want to create sitemap URL and pass it in the view file.
application/controllers/Sitemap.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php defined('BASEPATH') OR exit('No direct script access allowed');` class Sitemap extends CI_Controller { function __construct() { parent::__construct(); } public function index() { $que = 'SELECT * FROM product'; $arrData['product_detail'] = $this->db->query($que)->result_array(); $this->load->view('sitemap', $arrData); } } ?> |
Create XML File.
Add the below code in this file. in this below code in the product name wise create a dynamic XML sitemap and when this code run at that time sitemap.xml file is automatically uploaded to your root directory of the project folder.
application/views/sitemap.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php $xmlString = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com</loc> </url>'; foreach ($product_detail as $pd) { $xmlString .= '<url>'; $xmlString .= '<loc>'.base_url('product/'.$pd['name'].'</loc>'; $xmlString .= '</url>'; } $xmlString .= '</urlset>'; $dom = new DOMDocument; $dom->preserveWhiteSpace = FALSE; $dom->loadXML($xmlString); if($dom->save($_SERVER["DOCUMENT_ROOT"].'/sitemap.xml')){ echo "<h2>Site Map Created SuccessFully</h2>"; }else{ echo "<h2>Site Map Created Failed</h2>"; } ?> |
you can run on following URL for submit XML sitemap into the google console.
1 | http://your-project-dir/sitemap.xml |