Este scrip en bash permite cambiar todas las claves de akismet de los blogs de un servidor. Simplemente busca todos los wp-config.php, saca los datos de acceso al mysql, comprueba si la clave que tienen metida es diferente de la nueva y si es así la cambia. Funciona perfectamente con wordpress multisite.

Acordaros de cambiar la clave y la ruta por la de vuestros servidores.

#!/bin/bash
 
CLAVE_AKISMET='mi_clave_akismet'
RUTA_WEB='/var/www/html/'
 
for WPCONFIG in $(find $RUTA_WEB -type f -name "wp-config.php")
        do
                DBNAME=$(grep "DB_NAME" $WPCONFIG | awk '{split($0,a,","); print a[2]}' | awk '{split($0,a,";"); print a[1]}' | sed -e 's/)//g' | sed -e "s/'//g" | tr -d " ")
                DBUSER=$(grep "DB_USER" $WPCONFIG | awk '{split($0,a,","); print a[2]}' | awk '{split($0,a,";"); print a[1]}' | sed -e 's/)//g' | sed -e "s/'//g" | tr -d " ")
                DBPASS=$(grep "DB_PASSWORD" $WPCONFIG | awk '{split($0,a,","); print a[2]}' | awk '{split($0,a,";"); print a[1]}' | sed -e 's/)//g' | sed -e "s/'//g" | tr -d " ")
                DBHOST=$(grep "DB_HOST" $WPCONFIG | awk '{split($0,a,","); print a[2]}' | awk '{split($0,a,";"); print a[1]}' | sed -e 's/)//g' | sed -e "s/'//g" | tr -d " ")
 
 
                if [ $(mysql -u $DBUSER -p$DBPASS -h $DBHOST $DBNAME -Ns -e "show tables;" | grep -c _options) -gt 0 ];
                then
 
                        for TABLA_OPTIONS in $(mysql -u $DBUSER -p$DBPASS  -h $DBHOST $DBNAME -Ns -e "show tables;" | grep "_options")
                        do
                                clave=$(echo "select option_value from "$TABLA_OPTIONS" where option_name='wordpress_api_key';" | mysql -u $DBUSER -p$DBPASS  -h $DBHOST $DBNAME -Ns)
                                if [ "$clave" != "$CLAVE_AKISMET" ];
                                then
                                        echo "Actualizando TABLA_OPTIONS:" $TABLA_OPTIONS
                                        echo "update "$TABLA_OPTIONS" set option_value='"$CLAVE_AKISMET"' where option_name='wordpress_api_key';" | mysql -u $DBUSER -p$DBPASS -h $DBHOST $DBNAME  -Ns
                                fi;
                        done
                fi;
        done


Se espera que este mes salga a la luz la última versión de WordPress. Para mi va a ser también la versión de salida de mi nuevo proyecto, del que os hablaré en breve, por lo que es especialmente importante.
La lista de novedades de esta versión es bastante grande así que sólo os voy a comentar algunas de las que más me han llamado la atención.

  • Desaparece WordPress Mu y se integra en wordpress 3.0.
  • Ya no existirá el usuario admin. El administrador será un usuario con cualquier otro nombre.
  • Nuevos temas por defecto, ya iba siendo hora de que los renovaran.
  • Cambia el escritorio por defecto.
  • Menús personalizados.
  • BuddyPress incluido en WordPress, un paso lógico ya que hasta ahora sólo se podía instalar con WordPress MU.
  • Nuevos tipos de «páginas» definidos por el usuario además de las entradas del blog o las páginas, como por ejemplo una galería de imágenes.

Si quieres ver la lista completa puedes ir a codex.wordpress.org

Ya está disponible la versión 2.9 de WordPress y en Ayuda WordPress han publicado un lista con las novedades de esta versión.

  1. Deshacer/papelera, de manera que si borras una entrada o un comentario puedes recuperarlo..
  2. Editor de imágenes integrado con el que recortar, editar, rotar y escalar imágenes.
  3. Actualización en lote y comprobación de compatibilidad de plugins, con lo que podrás actualizar varios plugins a la vez y poder ver antes de actualizar si los plugins son compatibles con tu versión de WordPress.
  4. Incrustación sencilla de vídeos solo con pegar la URL, gracias a Oembed. Puedes incrustar contenido de YouTube, Daily Motion, Blip.tv, Flickr, Hulu, Viddler, Qik, Revision3, Scribd, Google Video, Photobucket, PollDaddy, y WordPress.tv (más próximamente).
  5. Soporte por defecto de rel=canonical para mejorar el SEO.
  6. Optimización automática de la base de datos desde el fichero wp-config.php solo con añadir define('WP_ALLOW_REPAIR', true);.
  7. Los temas pueden tener ?miniaturas de entrada? para tener una imagen asociada a la entrada.

  8. Nueva tabla commentmeta.
  9. Tipos de entrada personalizados, algo que estaba previsto para la versión 3.0.
  10. Carpetas de temas personalizadas, muy util para esos plugins que llevan temas incorporados.
  11. TinyMCE WYSIWYG y Simplepie actualizados.
  12. Las barras laterales ahora pueden tener descripciones para que sea más fácil identificarlas.
  13. Posibilidad de especificar plantillas de categoría no solo por ID, como antes, sino por URL, lo que facilitará a los desarrolladores de temas realizar personalizaciones con las categorías.
  14. Los registros y perfiles son extensibles, para que recojas más información (cuentas de Twitter, etc).
  15. La API XML-RPC se ha mejorado para poder cambiar la opción de registro de usuario.
  16. Creación de galerías a medida, con nuevos atributos con los que incluir o excluir adjuntos de cualquier otra entrada, no solo de la actual.
  17. Cuando estás editando archivos con el editor de plugins o temas este recuerda la posición y te lleva al sitio donde estabas cuando guardaste.
  18. El bookmarlet Publica esto se ha mejorado y es ahora mucho más rápido, para que puedas publicar allá donde te encuentres navegando en la red.
  19. Las taxonomías personalizadas se incluyen en el fichero de exportación WXR y también se importan correctamente.
  20. Mejores filtros y hooks para los extractos, emoticonos, peticiones HTTP, perfiles de usuario, enlaces a autor, taxonomías, soporte SSL,  nubes de etiqueras, query_posts y WP_Query

Ayer me dediqué a actualizar todos los blogs con wordpress que administro ya que tenía desde la versión 2.7 a la 2.8.1 y la verdad es que con todos los problemas de seguridad que están saliendo merecía la pena dedicarle un rato a la tarea.

Al intentar actualizar directamente desde el enlace que te aparece en el blog en alguno de ellos me dio el error: «Datos de conexión: Para realizar la acción solicitada se necesitan los datos de la conexión.»

datos_conexion_wordpress

La verdad es que como error me pareció bastante raro ya que nunca había tenido problemas para actualizar hasta hoy y no suelo utilizar servidor ftp ya que accedo directamente por ssh a la máquina y trabajo directamente en ella por shell. Curiosamente en esos blogs tampoco me dejaba actualizar los plugins.

Después de buscar información en foros especializados la mayor parte de los sitios comentaban que podría ser por la traducción, pero tampoco me cuadraba ya que me pasaba lo mismo en alguno que tenía sin la traducción al español.

Al final me puse a actualizarlo «a mano» y me di cuenta de que en todos los que fallaban no tenía correctamente puestos los permisos de algunos ficheros y directorios, por lo que con un simple sudo chown -R www-data.www-data * en cada home de la instalación de los blogs y problema solucionado. A veces las cosas mas sencillas y estupidas te parecen cosa de magia.

Espero que si alguno de vosotros le pasa esto mismo se acuerde de este pequeño post.

Saludos.

Acabo de ver en Ayuda WordPress un post sobre un plugin para wordpress que nos permite emitir facturas desde el propio wordpress y me ha parecido de los más original.

WordPress ha ido evolucionando desde un simple gestor de blogs a un completo cms con infinidad de temas y plugins que nos permiten hacer casi cualquier cosa.

El plugin lo podéis descargar desde la página del autor.

WassUp es un plugin para WordPress que nos permite tener estadísticas de nuestros visitantes en tiempo real.

Ya había probado varios pero este me parece que es el mejor, permite:

  • Ip / hostname
  • referer
  • arañas
  • Buscador utilizado
  • keywords
  • SERP (search engine result page)
  • Sistema operativo / idioma / navegador
  • Páginas vistas
  • User agent
  • Gráficos para clicks, páginas vistas y spam

Aquí tenéis varias imágenes de mi instalación.

wassup_detalles_visitante

Podemos espiar de donde vienen nuestros visitantes en tiempo real a través de google maps.

wassup_espiar_visitantes

O directame.

wassup_visitantes_linea

Incluso un Top Ten de visitas.

wassup_top_ten1

Acabo de finalizar la mudanza de este blog desde mi antiguo servidor vps en axarnet a un privado en ovh.

La verdad es que me ha costado un poco ya que en el otro servidor estaba utilizando una versión un poco vieja del wordpress que no podía actualizar debido a que en proveedor antiguo no podía actualizar el mysql por estar utilizando una versión vieja del S.O..

He aprovechado para cambiar el tema ya que el otro tenía bastantes críticas y la verdad es que al final me estaba resultando un poco cansino a mi también.

Una de las razones principales del cambio es el poder actualizar y mantener de forma centralizada todos los blogs y webs que mantengo y sacarle todo el provecho a este servidor. Ahora mismo tengo instalados 25 dominios en este servidor y me quedarán otros tantos más o menos por instalar. A ver que tal se porta.

Saludos.