• November
  • 7th
  • 2008

Ajax y la indexación en buscadores

A simple vista, pareciera que ajax es totalmente incompatible con la indexación en buscadores, debido a que los crawlers (spiders) que utilizan los motores de búsqueda para recorrer la web y descargar las páginas que luego serán indexadas, no ejecutan código javascript, por lo que el contenido ajax nunca es accedido. La solución es justamente utilizar esto como herramienta, como no ejecutan javascript, podemos reemplazar los links de la página por llamadas ajax luego de la carga. Sería algo así:

  1. Dejamos links absolutos a las paginas que generen ese contenido (estos links seguirán los crawlers).
  2. Reemplazamos en el onload de la página todos aquellos links que queremos que en realidad sean llamadas ajax.

Por ejemplo, si usamos links ficticios con el rewrite de .htaccess (hay mucha info en la web) y llamamos a los links por ejemplo como www.dominio.com/contenido/categoria/pagina y queremos reemplazar todos esos links de contenido, el código sería así:

[code lang="javascript"]
function cambiarLinks(){
 var menu = document.getElementById("menu_ID");
 var link_cms = "^(.)*/contenido/(.)*$";
 var links_menu = menu.getElementsByTagName("a");

 for(i=0; i

Donde cambiarPagina es la función ajax que trae el nuevo contenido. Pueden ver como funciona en mi página personal: http://www.fernandohernandez.com.ar.

En mi caso solo cargo el contenido principal, lo único para considerar es que para todo lo que mostramos con ajax debe haber un requerimiento concreto que genere la mismo info, con una llamada absoluta, pero utilizando el rewrite por ejemplo es siempre el mismo script que toma el requerimiento como una lista de parámetros y genera el contenido deseado.

  • October
  • 14th
  • 2008

PHP MySQL Ajax Grid

Nuestro primer componente en ser presentado al mundo fue una grilla para PHP que se actualiza con AJAX. La misma se conecta a una base de datos MySQL y en base a un constructor se proporciona la información necesaria para obtener los registros que poblarán la misma.

Soporta joins entre tablas, mapeo de valores constantes de campos (ej: 0,1,2…) a cadenas de texto, filtros por valores de columnas, paginar y ordenar el resultado, entre otras cosas. La página del proyecto se encuentra en http://www.freelance-soft.com/phpajaxgrid/, ahí se pueden ver ejemplos de la grilla en funcionamiento y como es el constructor para lograr tal resultado. En cuanto tengamos tiempo seguramente también publiquemos mayor información o algún tutorial para el uso, pero cualquier consulta la pueden hacer en nuestro foro: http://www.freelance-soft.com/foro

Ejemplo de constructor para mostrar una grilla (es lo único que se debe especificar, más alla de algunas constantes para que funcione):

[code lang="php"]
$cityGrid = AjaxGrid::create(
    "cityGrid",
     array(
       new DBQueryDescriptor("city",
                             array("ID","Name", "CountryCode", "District", "Population")
                            )
     ),
     array(
       "ID" => new ColumnMapped("%s", array("city.ID"),true,'5%'),
       "Name" => new ColumnMapped("%s", array("city.Name"), true),
       "CountryCode" => new ColumnMapped("%s", array("city.CountryCode"), true),
       "District" => new ColumnMapped("%s", array("city.District"), true),
       "Population" => new ColumnMapped("%s", array("city.Population"), true)
      )
);
[/code]

Se puede descargar desde Source Forge: http://sourceforge.net/project/platformdownload.php?group_id=204427

Se distribuye bajo licencia GPL, puede ser utilizado en cualquier proyecto personal o de software libre. Proyectos comerciales deberán obtener una licencia alternativa y pueden solicitarla en http://www.freelance-soft.com/es/web/contacto

Con el tiempo iremos publicando la información de los demás componentes con ejemplos.

  • October
  • 14th
  • 2008

Primer Post!

Este es nuestro primer post, este es el blog oficial de Freelance Soft, un grupo de desarrollo de software de Argentina. Nuestra página web en español: www.freelancesoft.com.ar

El motivo del nombre “Bytes Libres” es porque promovemos el desarrollo y uso de software open source, de hecho nuestros componentes son de licencia GPL. Nuestra intención con este blog es mostrar nuestros proyectos, presentar ideas y tutoriales sobre programación en general y mostrar el desarrollo de investigación que llevamos adelante en áreas como generación de código y usos avanzados de la tecnología existente.

Los invitamos a recorrer nuestro blog y esperamos poder contribuir en algo a la comunidad de desarrolladores.