Sistemas de Clasificados en PHP

1

Posted by deambulando | Posted in Internet, Programación, Software, php | Posted on 24-02-2009

Etiquetas: , , , , , , , , , ,

UPDATE: He desarrollado un sistema de clasificados totalmente gratuito (GPL) en PHP, Open Classifieds

He hecho un poco de research para plataformas de sistemas de clasificados. La verdad me he desilusionado un poco, al ver que no hay nada como un wordpress de los clasificados. Es mas he encontrado bastante mejores realizados en ASP, que en PHP.

Estos son los de gratuitos o código libre:

  • http://sourceforge.net/projects/fladsclassified/
  • http://www.forgani.com/root/wpclassified-plugins/ es un pluggin para wordpress (ejemplo: http://www.forgani.com/classified/)
  • http://www.matterdaddy.com/4/scripts/matterdaddy_market.php (ejemplo: http://www.matterdaddy.com/market_test/)

De pago:

  • http://www.craigslistclone.info/ desde 18$ (ejemplo: http://snetworks.biz/classifieds/)
  • http://noahsclassifieds.org/ 150$ (ejemplo: http://noahsclassifieds.org/v8rss)

Se que hay muchos mas pero no me han gustado la verdad :S

Opinión después de buscar:

  • Casi ninguno tiene implementado un sistema de pago
  • Muchos están abandonados en el desarrollo
  • Otros tantos no están terminados o bien finalizados
  • Ni implementan sistema de adds
  • Los mejores son de pago :(

Si alguien conoce alguno que no haya mencionado, y sepa funciona bien, por favor comentarlo.

Búsqueda personalizada de Google en Wordpress

2

Posted by deambulando | Posted in Internet, Programación, Software, Tecnologia | Posted on 18-02-2009

Etiquetas: , , , ,

El buscador que tiene Wordpress no me acaba de convencer. Gasta muchos recursos al buscar,  muestra información sólo de los post y la información no suele ser relevante.

Hasta yo uso google para buscar posts en Deambulando.

Así que hoy me he decidido a poner Google Custon Search para el dominio.

Hay algunos plugins que te hacen esto automáticamente, así que si no te quieres comer la cabeza usa este plugin que hará todo lo que explico aquí de golpe, y acabarás antes.

¿Y por que no uso el plugin?

Buena pregunta…la cuestión es que quiero que la búsqueda no cargue nada dinámico, sólo la plantilla. Es decir no lanza ni una sola consulta SQL al servidor, y google se encarga de la búsqueda. Perfecto (hasta que cambie la plantilla y me cague en todo xD)

Voy a describir los pasos que he seguido:

  • Date de alta en Google Custom Search
  • Crea tu motor de búsqueda
  • Indicarle que abra las consultas en /search/
  • Copia los códigos (Luego los usamos)
  • Crea una carpeta en tu servidor /search/
  • Si quieres hacer como yo copia pega el código fuente html generado de una página web y pegala en   /search/index.php
  • Yo lo he limpiado y he dejado casi nada sólo la cabecera ;) (si quieres que sea dinámica click aquí)
  • He añadido algunas cosas dinámicas, unas tonterías para que sepas en todo momento que buscas <?=$_GET['q'];?> devuelve el valor de la búsqueda
  • Cambia el formulario de tu blog por el del código
  • En /search/index.php, en el contenido copia el código del DIV de google
  • Listo!

Truco: Ahora puedes poner le adsense para búsqueda, y todo el proceso funciona exactamente igual.

Si quieres probarlo busca algo en la parte superior derecha del blog ;)

Optimizar velocidad de Wordpress con plugins

1

Posted by deambulando | Posted in Internet, Software, Tecnologia | Posted on 09-02-2009

Etiquetas: , , , , , ,

Hace poco hablamos de como optimizar tu LAMP para wordpress. Pues esto no ha sido suficiente para el blog, la carga de visitas es muy grande, teniendo hasta 150 conexiones simultaneas, esto genera mucho estrés en el servidor. La CPU, esta al 100% casi siempre.

Pero hay formas de “relajar”, la carga del servidor, disminuyendo las peticiones o consultas al servidor MySql.

Con WP Super Cache todos los últimos post, o páginas visitadas, generan un fichero estático, el cual al volver a consultar por el mismo post o página, se devuelve, en vez de realizar otra vez la consulta. Muy bueno para aguantar chaparrones tipo meneame o barrapunto.

Desde el panel podemos configurar cada cuanto expiran, o si queremos que expiren cada vez que pongamos un post, o actualicemos etc… el inconveniente puede ser como en mi caso, que te genera cientos de ficheros.

Realmente funciona muy bien, pero yo aun  seguía teniendo un problema, las consultas a la base de datos eran continuas, y destroza la bbdd. Por desgracia este plugin tiene lo que es para mí una gran falta, no cachea los plugins. De este modo aunque tuvieras la página cacheada aún te seguian llegando muchas consultas, y muchas veces las mismas, esto lo solucionas con WP Widget Cache.

Este plugin lo que hace es añadirte un campo extra en cada uno de los widgets que tienes en el sidebar, en el cuál puedes poner cuando quieres que expire, mientras no esta expirado genera un fichero cacheado del widget en cuestión.

Ahora ya tenemos un combo casi perfecto Páginas + Widgets, cacheados.

Si pruebas de ir activando estos plugins puedes ver la reducción de tiempo, y de consultas realizadas al final del código fuente de tu sitio:

<!--53 consultas. 1,785 segundos-->

De momento parece que con esto es suficiente…aunque he tenido varias caídas del servidor :(

El siguiente paso (y aún estoy probando pero no lo tengo activado siempre), es cachear todas las querys que se realizan a la bbdd, esto es posible gracias a DB Cache. (el autor se jacta a decir es muchísimo mas superior que wp-cache)

Este plugin funciona muy bien para su cometido, pero desde luego no me ha dado nada de velocidad en el blog, si mas bien, el load time ha aumentado, las querys disminuyen de una forma increíble!

Y en la misma web mostrada anteriormente estos son los resultados:

<!--16 consultas. 1,515 segundos-->

Si bien las consultas han bajado de una forma impresionante, el tiempo es prácticamente el mismo, y en algunos casos he llegado a observar incluso mas lentitud.

Ahora mismo estoy probando experimentando con los 3 pluggins a la vez, y esperando resultados a ver que pasa ;)

Crear error personalizado para Wordpress

0

Posted by deambulando | Posted in Programación, php | Posted on 04-02-2009

Etiquetas: , , , , ,

No hay nada que mas odie que la web este caída y yo sin enterarme… (esta noche 2 horas el mysql pillado :’( )

Wordpress tiene un buen sistema de gestión de errores, pero debería de notificarlos.

Y eso es lo que vamos a hacer, al menos nos notifique del error más común, la Base de Datos.

Valido para Wordpress 2.7

Abrir fichero /wp-content/db.php en wordpress 2.7.1 (/wp-includes/wo-db.php), busca y reemplaza la función Bail, debe de comenzar así:

function bail($message) {
	/*
	custom error page hack
	shows a custom error page and emails error instead of showing the default wordpress database error page
	*/
	include('http://deambulando.s3.amazonaws.com/wp-content/themes/DeambulandoAeros/error.php');
	mail('user@domain.com', 'WordPress Error!', $message);
        die;
	/* end custom error page hack */

Luego el resto de código que tuvieras en la función

En vez de esto wp-content/themes/DeambulandoAeros/error.php, pon tu web de error ;)

Puedes ver la mía, que por supuesto no contiene nada dinámico (te recomiendo lo mismo sino malo), y he puesto un vídeo para entretener de mientras.

También he dejado el código de google analytics, de ese modo siempre se cuantas veces se ha mostrado el error ;)

He encontrado muchos documentos acerca de como hacer esto mismo, desde cambiar el .htaccess, crear un fichero en /wp-content/db.error.php…. este es el único que me funciona (por lo menos a mí)

Plugin para Wordpress, Datediff_Post

0

Posted by deambulando | Posted in Internet, Programación, Software, php | Posted on 13-01-2009

Etiquetas: , , , , , , ,

Bueno este es mi primer pluggin para Wordpress, hasta ahora no me había animado ya que había encontrado siempre lo que necesito.

Necesidad:

Poner publicidad es la única manera que tengo para mantener el site y el trabajo realizado.

Pero no me gusta que esta siempre aparezca. Por ejemplo en los post nuevos que acabo de escribir no quiero que salga publicidad en el artículo, es molesto y las personas que siguen el feed, no deben de ver esa publicidad.

De esta manera el artículo que es nuevo será mas limpio fácil de leer, y mas substancial para promocionarlo.

Sin embargo los artículos antiguos, no me importa que tengan esa publicidad, debido a que quienes leen esas entradas son usuarios desde buscadores, no suelen ser usuarios habituales.

No he encontrado ningún plugin que haga esto, así que me he puesot a programarlo, y encontré el Datediff de maseko en la que se basa este mini proyecto.

Ejemplos de uso:

Poner publicidad en un post o no:

  • Recibe un INT, con la cantidad de días, si no se pone nada, pone 30 por defecto.
  • Devuelve true o false.
< ?php if (post_is_expired(0)) adsensem_ad();?>

< ?php if (post_is_expired(60)) adsensem_ad();?>

Diferencia de fechas de un post:

  • Puede recibir 2 valores, la fecha en formato YYYY-MM-DD, y la unidad “D”, “M”, “Y”.
  • Devuelve un INT con la diferencia.
$p_time=datediff_post("2008-01-12","M");

Como instalar:

  • Descargar la última versión
  • Worpdress menú Plugins –> Añadir–>Instalar un plugin en formato .zip
  • Seleccionas el fichero recién descargado–>Instalar Ahora
  • Activar plugin
  • Editas el fichero que quieras de tu theme (Aspecto–>Editor–>por ejemplo single.php), e introduces el código necesario

Descarga versión 0.1

Para ver como funciona lo puedes probar en este mismo blog ;)

¿Dudas?,  escribe en los comentarios.

Deja un comentario ya! Ir Abajo Ir Arriba
Clasificados Barcelona