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