DAMR.NET

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.

One Response to “Hacer un sitemap.xml para Wordpress”

  1. rudolf says:

    really cool, dude,
    thx a lot
    ;)

    [Responder]

Leave a Reply




Identifíquese con su cuenta de Twitter presionando el siguiente botón o llene el formulario siguiente:

Acerca de

DAMR.NET es un blog en el cual encuentras artículos sobre tecnología, cosas geek, fotografía, software, acontecer nacional e internacional, y muchas cosas más. Su sede central está en El Salvador, pero es expansible a toda habla hispana, siempre manteniendo nuestra hermandad.

Leer más...