Hacer un sitemap.xml para Wordpress
Un sitemap es el mapa de un sitio web y sirve para optimizar el posicionamiento en buscadores porque le informa a los robots y crawlers cada vez que actualizamos información en el portal y lanzamos contenido nuevo a la web.
Hay muchos plugins para Wordpress que realizan esta tarea pero a mi el que mejor me ha resultado es éste:
1. Crear un archivo en bloc de notas y guardarlo como sitemap.php
2. Copia y pega este código en tu archivo sitemap.php
<?php require('wp-blog-header.php');
header("HTTP/1.1 200 OK");
header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true);?>
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
<!-- generator="http://www.fafamonge.com/" by Rafael Monge email: rmonge@save-solutions.com-->
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">
<url>
<loc><?php bloginfo('url') ?></loc>
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
<?php
$t = time ();
$today = date ("Y-m-d H:i:s",$t);
$sitemap = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status = 'publish' AND post_date < '$today' ORDER by post_modified DESC"); ?>
<?php foreach ($sitemap as $sitemap) { ?>
<url>
<loc><?php echo get_permalink($sitemap->ID); ?></loc>
<lastmod><?php echo mysql2date('Y-m-d\TH:i:s\Z', $sitemap->post_modified, false); ?></lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<?php } ?>
</urlset>
3. Guárdalo y súbelo vía FTP a tu carpeta raíz donde está instalado Wordpress.
4. Ahora hay que hacer un arreglo para que ese archivo PHP se lea como XML. Edita tu archivo .htacess e inclúye estas líneas debajo de RewriteBase /:
RewriteRule ^sitemap.xml?$ ./sitemap.php [L]
Se verá algo parecido a éste (puedes usar éste):
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap.xml?$ ./sitemap.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
5. Guárdalo y súbelo vía FTP al directorio raíz de tu instalación de Wordpress.
6. Verifica que tienes respuesta en http://www.tudominio.com/sitemap.xml
¡Listo! Ya tienes tu sitemap.xml para enviarlo a servicios de Google como Herramientas para Webmasters.
really cool, dude,
thx a lot
[Responder]