sitemap para SMF

Hace tiempo comenté en un post que el foro SMF es un desastre para que lo indexe google y, de hecho, no aparecía en google ninguno de los temas de mi foro de java. Intenté instalar el plugin seo4smf para tratar de arreglarlo, pero no conseguí que me funcionara. Al final, como comenté en aquel post, me hice un pequeño programa java que generara un fichero sitemap.xml para colgarlo en el foro.

Esa opción no era buena del todo. Conseguí que google indexara los temas del foro, pero tenía que actualizar el sitemap periódicamente a mano. Así que decidí hacerme un pequeño script sitemap.php que hiciera de sitemap para google de forma automática.

Este script, al llamarlo, consulta en la base de datos el campo id_topic de la tabla smf_topics. Es la única información que necesita para generar el fichero XML de sitemap. El script dice que devuelve un "Content-Type : application/xml" para que cuando google lo consulte piense que es un fichero XML, luego envía los tags XML correspondientes al sitemap.

Adjunto el código php por si a alguien le interesa

<?php
header(‘Content-Type: application/xml’);
include (‘Settings.php’);

print (‘<?xml version="1.0" encoding="UTF-8"?>’);
print (‘<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">’);

$link = mysql_connect ($db_server, $db_user, $db_passwd) or die ("<center>No se puede conectar con la base de datos\n</center>\n");
$query=’select id_topic from smf_topics’;
$result=mysql_db_query ($db_name, $query, $link);

while ($row = mysql_fetch_array ($result))
{
   print (‘<url>’);
   print (‘<loc>’);
   print (‘http://foro.chuidiang.com/index.php?topic=’.$row[0]);
   print (‘</loc>’);
   print (‘</url>’);
}
mysql_free_result($result);
print (‘</urlset>’);
?>

El include "Settings.php" únicamente incluye un fichero de configuración del foro, en el que están las variables con el nombre de la base de datos $db_name, el usuario $db_user y la password $db_passwd. Ojo, no le busqueis pegas, que las tiene. Yo no tengo ni idea de PHP.

 

Esta entrada ha sido publicada en google, php, web y etiquetada como , , , , , . Guarda el enlace permanente.

11 respuestas a sitemap para SMF

  1. Hola! Muy buena la idea, tío. ¿Has confirmado que funciona? Me gustaría usarlo en mi web (con tu permiso, claro). Un saludo y gracias por adelantado 🙂

  2. Chuidiang dijo:

    Pues ha funcionado, al menos google indexa ahora las páginas. En tu caso, si es la página que has puesto en el enlace, veo que hay un PHPSESSID que yo no tengo. Quizás tengas que modificar un poco el script.

    Se bueno.

  3. manix dijo:

    que tal chui… mira me pasa lo mismo que a vos, nada que aparecen las paginas de mi smf. Con respecto al codigo, donde lo tengo que poner? gracias desde ahora

    saludos

  4. Chuidiang dijo:

    Hola manix:

    Ponlo en un fichero sitemap.php en tu sitio web. Luego, vete a Webmaster tools de google y date de alta. Ahí les puedes indicar dónde está tu fichero sitemap.php

    Se bueno.

  5. fabbc dijo:

    Interesante implementación. Muy sencilla y se ven buenos resultados con tu foro, un detalle mas el SMF en sus nuevas versiones (al menos en la 1.1.4 está) trae una opción para SEO: hay que ir a administración y en «Características y Opciones» marcar la opción que dice «Mostrar URLs sin ?s ¡Sólo Apache!» esto pasara las URLs de «index.php?topic=1488.0» a «index.php/topic,1488.0.html» haciendo las más amigable para los buscadores.

    Saludos

  6. Chuidiang dijo:

    Hola fabbc.

    Sí, esa opción es de las primeras que probé, pero no me funciona, Mi hosting es apache, pero quizás no funcione bien en un subdominio. No lo śe, el caso es que no va, al igual que tampoco me funcionó el seo4smf.

    De todas formas, hace poco actualizaron en el hosting el servidor apache. Acabo de volver a probarlo ahora que lo mencionas y sí funciona. Modificaré el sitemap o quizás símplemente lo quite.

    Se bueno.

  7. fabbc dijo:

    Quizas tu apache no soportaba mod_rewrite.
    Hablando de SEO para SMF hay un reciente mod se llama Pretty URLs y sirve para hacer las URLs mas SEO Optimized supuestamente.

    Saludos

  8. Chuidiang dijo:

    Hola:

    Lo del mod_rewrite me funcionaba bien (aparte de preguntar al soporte de mi hosting, hice una pequeña prueba). Lo que no sé (falta de conocimientos) es si hay que configurarlo para los subdominios o si hay algún otro problema.

    Gracias por el enlace, no lo conocía, voy a mirarlo mañana o pasado y así podre quitar el sitemap. El sitemap ayuda a que los temas del foro sean indexados, pero desde luego, no ayuda a que salgan en buenas posiciones dentro de las búsquedas en google.

    Gracias y se bueno.

  9. Pingback: Diario de Programación » Blog Archive » Pretty URLs en el foro SMF

  10. manix dijo:

    listo!! al pareer el seo4smf solo funciona con el default theme (en mi caso) y ha loggrado indexar las paginas, de todas formas l sidemap de chui funcione de igual forma, pero al ver que querian elimar su uso opté por probar dicho mod y sirvió, al menos pueden contar con esa opcion los que tienen el default theme

    saludos

  11. Chuidiang dijo:

    Hola:

    El sitemap funciona bien, pero sólo sirve para que google indexe tus páginas. Algo como seo4smf o pretty urls hacen además que salgan bien colocadas en las búsquedas. Por ello, si se puede, son mejores estas segundas opciones.

    No sé si afecta, pero quité el sitemap porque si no, un mismo tema, tendría para google dos urls distintas: la del sitemap que es index.php?id=33 y la de pretty url con el título del tema. Google penaliza páginas duplicadas, así que por si las moscas prefiero que google sólo vea una url para cada tema.

    Se bueno.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.