Foros del Web » Programando para Internet » PHP »

como puedo crear un sitemap con php

Estas en el tema de como puedo crear un sitemap con php en el foro de PHP en Foros del Web. hola amigos como puedo crear un sitemap en donde ancle mi bd y se valla actualizando constantemente ? como empiezo çgracias...
  #1 (permalink)  
Antiguo 14/10/2011, 07:24
 
Fecha de Ingreso: abril-2008
Mensajes: 310
Antigüedad: 16 años
Puntos: 4
como puedo crear un sitemap con php

hola amigos como puedo crear un sitemap en donde ancle mi bd y se valla actualizando constantemente ?
como empiezo
çgracias
  #2 (permalink)  
Antiguo 14/10/2011, 07:32
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 13 años, 6 meses
Puntos: 55
Respuesta: como puedo crear un sitemap con php

crea una tabla que se llame sitio con los campos

id | nombre | url | padre |

ej:

nombre --> articulos.php
url --> blog/
padre --> blog


luego impremir el resultado el campo padre es para poder anidar-los fácilmente si quieres representarlo como un arbol de directorios

espero que se entienda
  #3 (permalink)  
Antiguo 14/10/2011, 12:22
 
Fecha de Ingreso: octubre-2011
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: como puedo crear un sitemap con php

Este es un ejemplo de SiteMap que uso para mis sitios. Espero sirva:

Código PHP:
Ver original
  1. <?php
  2.  
  3. function toUrl($href, $changefreq, $priority)
  4. {
  5.    echo
  6.       "<url>\n" .
  7.       "   <loc>$href</loc>\n".
  8.       "   <changefreq>$changefreq</changefreq>\n" .
  9.       "   <priority>$priority</priority>\n".
  10.       "</url>\n";
  11. }
  12.  
  13. function getSiteMapItems()
  14. {
  15.  
  16.    // La URL de nuestro sitio que servirá como base para las páginas que queremos indexar
  17.    
  18.    $site = "http://www.midominio.com/";
  19.  
  20.    // Este array contiene los valores admitidos para CHANGE_FREQ y codificaciones posibles para cada caso
  21.    // Se puede optar por asignar números o guardar los valores sin codificar (de la forma en que aquí está
  22.    // planteado, este campo se podrá indicar como VARCHAR(1), con lo cual se ahorra espacio en la base de
  23.    // datos.
  24.    
  25.    $changefreqs = array
  26.    (
  27.       "a" => "always",
  28.       "h" => "hourly",
  29.       "d" => "daily",
  30.       "w" => "weekly",
  31.       "m" => "monthly",
  32.       "y" => "yearly",
  33.       "n" => "never"
  34.    );
  35.  
  36.    // tabla_a_procesar será la tabla de la base de datos con el contenido de las páginas que queremos
  37.    // que aparezcan en el SiteMap. Esta tabla podra contener los siguientes campos:
  38.    //
  39.    // change_freq VARCHAR(1) --> en este caso, se guardarán los códigos del array anterior
  40.    // url VARCHAR(255)       --> la longitud variará según nuestras necesidades
  41.    // priority SMALLINT      --> será un valor entre 0 y 1
  42.  
  43.    // Conectamos apropiadamente con la base de datos
  44.    
  45.    $conn     = mysql_connect("host", "usuario", "password");
  46.    $dbhandle = mysql_select_db("database_name", $conn);
  47.  
  48.    // Consultamos nuestra tabla
  49.    
  50.    $sql = "SELECT * FROM tabla_a_procesar";
  51.    $sql = mysql_query($sql);
  52.  
  53.    while ($row = mysql_fetch_array($sql))
  54.    {
  55.       $changefreq  = $changefreqs[$row["change_freq"]];
  56.       $priority    = $row["priority"];
  57.       $url         = $row["url"];
  58.      
  59.       // ¡ATENCIÓN CON LA $url! Debemos tener en cuenta que la codificación de nuestro SiteMap debe ser UTF-8
  60.       // Cualquier cosa que tengamos problemas para visualizarlo, recomiendo leer el protoclo de SITEMAPS en
  61.       // http://www.sitemaps.org/es/protocol.php
  62.      
  63.       // Aquí se pude ir haciendo una consulta anidada si existen subcarpetas o parámetros que dependen de una URL
  64.       // determinada, por ejemplo, el caso (ya sea con parámetros u otra forma de presentar la URL):
  65.       //
  66.       // http://www.midominio.com/pagina.php
  67.       // http://www.midominio.com/pagina.php?parametro=1
  68.       // http://www.midominio.com/pagina.php?parametro=2
  69.       //
  70.       // http://www.midominio.com/pagina
  71.       // http://www.midominio.com/pagina/parametro1
  72.       // http://www.midominio.com/pagina/parametro2
  73.       //
  74.       // http://www.midominio.com/pagina
  75.       // http://www.midominio.com/pagina-parametro1
  76.       // http://www.midominio.com/pagina-parametro2
  77.       //
  78.       // etc.
  79.  
  80.       toUrl($site . $url, $changefreq, $priority);
  81.      
  82.    }
  83. }
  84.  
  85. function getSiteMap()
  86. {
  87.    header("Content-Type: text/xml; charset=UTF-8");
  88.    echo
  89.       "<?xml version='1.0' encoding='UTF-8'?>\n" .
  90.       "<!-- Archivo Autogenerado -->\n" .
  91.       "<urlset\n" .
  92.       "   xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'\n" .
  93.       "   xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'\n" .
  94.       "   xsi:schemaLocation='http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd'\n" .
  95.       ">\n";
  96.    getSiteMapItems();
  97.    echo "</urlset>\n";
  98. }
  99.  
  100. getSiteMap();
  101.  
  102. ?>
  #4 (permalink)  
Antiguo 05/01/2012, 22:08
 
Fecha de Ingreso: abril-2008
Mensajes: 310
Antigüedad: 16 años
Puntos: 4
Respuesta: como puedo crear un sitemap con php

fgrudolph gracias pero como lo puedo integrar ??
  #5 (permalink)  
Antiguo 06/01/2012, 09:30
 
Fecha de Ingreso: octubre-2011
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: como puedo crear un sitemap con php

Cita:
Iniciado por charlescuellar Ver Mensaje
fgrudolph gracias pero como lo puedo integrar ??
El código lo guardas como "sitemap.php" (o el nombre que quieras). Luego, creas una tabla o un array con las URL que quieres que contenga el Sitemap y se lo pasas al proceso. Fíjate que la estructura de la tabla está indicada en el código.

Pruebas el código y verificas que te devuelva un XML válido (Sitemap, válido). En la Web puedes encontrar herramientas para validar tu Sitemap. Si lo quieres probar localmente, necesitas instalar un servidor Apache, PHP y MySQL (WampServer, puede servir). Creas un dominio local y haces la prueba desde cualquier Browser (IE, Firefox, Opera, Safari, Chrome, etc.). Copias el código XML y lo verificas.


Por último, copias el archivo a tu servidor Web y lo agregas en Google WebMaster Tools, en Bing y Ask (cada buscador tiene su propio método para subir un Sitemap).

Puedes adaptar la tabla y el código para que procese un listado de productos, noticias, un índice de libros, o lo que quieras.

El formato que debe respetar el Sitemap lo encuentras en http://www.sitemaps.org/es/

Etiquetas: sitemap
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.