Para crear un sitemap en formato xml con CodeIgniter 2, para enviarlo a google, necesitamos de los siguientes pasos.
Paso 1: Modificar el archivo routes.php, ubicado en la carpeta config
El cual se encuentra en la carpeta config/. Agregamos
una nueva línea al arreglo:
$route['sitemap.xml'] = 'sitemap/index';
Paso 2: Crearemos entonces el controlador sitemap.php
<?php
class Sitemap extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
# este helper se puede cargar en el archivo autoload.php
# para evitar cargarlo cada vez
$this->load->helper('url');
$this->load->model('sitemap_model');
$view_data['vw_content'] = $this->sitemap_model->get_articulos();
$this->load->view('sitemap_view', $view_data);
}
}
Paso 3: Creamos el modelo sitemap_model.php
<?php
class Sitemap_model extends CI_Model
{
public function __construct()
{
parent::__construct();
# esta librería se puede cargar desde el archivo autoload.php
# para evitar cargarlo cada vez
$this->load->database();
}
public function get_articulos()
{
$this->db
->select('articulo_id, alias, modificado')
->from('articulos')
->where('activo', 1)
->order_by('articulo_id')
;
$query = $this->db->get();
return $query->result();
}
}
En nuestro ejemplo, vamos a suponer que la estructura de la tabla es como la siguiente:
Paso 4: Creamos la vista sitemap_view.php
<?php ob_start(); ?>
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc><?php echo base_url(); ?></loc>
<priority>1.0</priority>
</url>
<!-- Sitemap de mi blog.com -->
<?php foreach ($vw_content as $url) : ?>
<url>
<loc><?php echo base_url() . 'index.php/blog/articulos/' . $url->articulo_id . '/' . $url->alias . '/'; ?></loc>
<lastmod><?php echo substr($url->modificado, 0, 10); ?></lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<?php endforeach; ?>
</urlset>
<?php ob_end_flush(); ?>
Paso 5: Probar tu sitemap ejecutando (por ejemplo) http://localhost/ci2/index.php/sitemap.xml
¡Listo! Si todo salió bien pueder ver el codigo fuente generado y verás un archivo .xml bien formado, el cual estará listo para enviarlo a Google en su página de herramientas para Webmasters.



No hay comentarios:
Publicar un comentario