Mis Plugins preferidos en WordPress

Llevo ya 12 años utilizando WordPress y he hecho tantas instalaciones y migraciones que lo conozco como si fuera mi propia casa. Durante todo este tiempo he probado cientos de plugins y esta es la lista de los mejores y más indispensables:

      • All-in-One WP Migration. Probablemente el único plugin que funciona perfectamente cuando tienes que migrar tu WP entre hostings o símplemente si quieres hacer una copia de seguridad con todo (a diferencia de las herramientas nativas de importar/exportar que no copian plugins ni configuraciones ni algunos medios).
      • Akismet Anti-Spam. Imprescindible para detener los comentarios de spam en nuestros posts.
      • Jetpack by WordPress. Incluye varios servicios importantes para que tu sitio web funcione perfectamente. Se incluyen estadísticas, compartición en redes sociales, mejora de rendimiento, botones de Me Gusta, seguridad, etc.
      • WP Offload SES Lite. Se utiliza para conectar WP a AWS Simple Email Service para permitir el envío y recepción de correos. Esta es una alternativa mucho mejor que tener instalado nuestro propio servidor de email para evitar problemas de seguridad.
      • WooCommerce. Es algo más que un plugin. Es el comercio electrónico que más crece ahora mismo. Está repleto de funcionalidades y frente a otros productos como Magento o Prestashop es mucho más fácil de configurar y está nativamente integrado con WP por lo que solo necesitarás una única plataforma para tener tu web, tu eCommerce y tu blog.
      • Login with Ajax. Se utiliza para añadir un widget de login en la librería de widgets de tu sitio. Después de su activación, puedes añadirlo en una de las barras laterales o símplemente para reemplazar la página estándar de login de WP. Tiene un funcionamiento sencillo y limpio.
      • WP User Frontend. Es perfecto para crear formularios y convertir sus datos en posts o páginas. Tiene muchas opciones de configuración y es muy potente y fiable.
      • Site Kit by Google. Sin duda, este es el mejor plugin que puedes instalar para conectar Google Analytics en WordPress. Es mucho mejor que otras opciones, como MonsterInsights, en los cuales cedes el control de tu cuenta de Analytics a empresas externas. Site Kit, además, no solo viene con Analytics sino que también integra Search Console, AdSense y PageSpeed Insights.

Habrás notado que no he añadido nada relacionado con SEO y es que soy un gran amante del posicionamiento natural a base de interacciones, comentarios y actualización de contenido. Las cosas más imprescindibles como los mapas XML ya los genera automáticamente Jetpack.

Cambiar la URL en WordPress con SSH y VIM

Dejando de lado todo el proceso de creación de la URL, configuración de las Hosted Zones y cambios de DNS que es bastante trivial, especialmente si sabes hacerlo, uno de los puntos donde podemos quedar parados es en la página de configuración de WordPress a la hora de cambiar las direcciones. El problema suele ser que no es posible hacerlo desde la propia página y tenemos que ir a cambiar los parámetros al archivo wp-config.php.

Este paso es especialmente crítico cuando añadimos un certificado SSL para securizar nuestra página porque aunque parezca que funciona bien y que aparece el candado junto a la URL en nuestro navegador, el cambio no estará perfectamente finalizado hasta que tengamos las URLs actualizadas en wp-config.php mostrando https en vez de http.

Si disponemos de una conexión SSH, como en mi caso donde utilizo Lightsail de AWS en una instancia de Linux, podemos hacer el cambio usando el editor VIM y realizando los siguientes pasos:

      • Conectar a la cónsola de Linux con SSH
      • Ir al directorio apps/wordpress/htdocs/
      • Abrir el archivo con vim wp-config.php
      • Localizar las líneas define(‘WP_SITEURL’, ‘http://’ . $SERVER[‘HTTPHOST’] . ‘/‘); y define(‘WP_HOME’, ‘http://’ . $SERVER[‘HTTPHOST’] . ‘/‘);
      • Cambiar el texto en rojo con las nuevas URLs o símplemente añadir S al http si hemos instalado un certificado SSL
      • No olvidarse de añadir / al final de la URL.
      • Una vez realizado el cambio, tenemos que pulsar la tecla ESC y después teclear :wq para grabar y salir.
      • Finalmente cerramos la sesión SSH y ya debería estar hecho el cambio.

Si no queremos utilizar VIM, otra opción es hacerlo a través de FTP, accediendo al archivo y modificándo el archivo.

Migrar WordPress de Bluehost a AWS Lightsail

Como comentaba en mi último post, hace unos días terminé de migrar mi blog en WordPress de Bluehost a AWS Lightsail.

Aunque no es tan simple como un «siguiente-siguiente-siguiente», siguiendo algunos detalles clave, se puede completar en unas pocas horas. Estos son los pasos a seguir:

      • Crear una instancia en Lightsail, por ejemplo en Linux, y seleccionar la instalación de WordPress.
      • Una vez creada la instancia, crear una IP fija en vez de la IP dinámica que se asigna por defecto.
      • En Bluehost, instalar el plugin «All-in-One WP Migration«. Lo utilizaremos para realizar una copia de todos los posts, archivos, imágenes, configuraciones, plugins, etc.
      • Crear una copia del contenido de WordPress en Bluehost utilizando el plugin anterior. El archivo tenemos que guardarlo en nuestro ordenador.
      • Ir al WordPress que hemos instalado en Lightsail e instalar «All-in-One WP Migration».
      • Asegurar que hemos creado en el WP de Lightsail los usuarios que utilizaremos posteriormente.
      • Importar el archivo de copia que hemos guardado en nuestro ordenador anteriormente. Probablemente tengamos que descargarnos una extensión del plugin (gratuita) para poder importar archivos grandes.
      • Comprobar con la IP fija de la instancia de Lightsail que todo funciona correctamente, tanto a nivel de lectura como de administrador de WP.
      • Iniciar la migración del dominio desde Bluehost utilizando Route53. Este paso puede durar algunos días.
      • Mientras esperamos que Bluehost autorice el movimiento del dominio, crear las zonas DNS que queramos utilizar en Route53.
      • Una vez que ha finalizado el movimiento del dominio, tenemos que instalar un certificado de seguridad para habilitar HTTPS. Se puede hacer fácilmente a través de un script de Bitnami. Es gratuito.

Y ya está. Algunos de los pasos son algo complejos pero hay mucha información a través de Bitnami por lo que no es excesivamente complicado. Los dos pasos más delicados son la exportación e importación de datos de WP y la transferencia del dominio.

Recuperar Usuarios y Contraseñas en WordPress

La mejor opción cuando has perdido el nombre de usuario, la contraseña y el correo electrónico de tu usuario en WordPress es acceder a través de línea de comando. Para ello necesitas tener acceso al servidor donde está instalada la aplicación.

WP-CLI es la interfaz por línea de comando de WordPress y a través de ella es posible realizar multitud de tareas. Para recuperar usuarios y contraseñas tenemos que comenzar con:

$ wp user list

Con ella accederemos al listado de usuarios de nuestra instalación en WordPress junto con sus permisos. Una vez hemos identificado el ID del usuario que queremos recuperar tenemos que utilizar la siguiente instrucción:

$ wp user update 1 --user_pass=newpassword

donde «1» es el ID del usuario y «newpassword» es la contraseña que queremos asignarle.

La forma en la que tenemos que acceder a la línea de comandos es diferente dependiendo del sistema operativo que utilicemos. Por ejemplo, en Windows 10, tenemos que pulsar la tecla de Windows+R y ejecutar la aplicación «cmd».

Google Sheets en WordPress

Por fin he cambiado el sistema de publicación del listado y estadísticas de países visitados, carreras disputadas y libros leídos de mi blog personal que hasta este momento eran texto plano editado a mano.

He traspasado todos los datos en forma tabulada a Google Sheets y de ahí he generado con la opción «Publish to the web» el código embebido que he pegado en la página de wordpress.

La diferencia entre el código que ofrece Google y lo que últimamente he publicado es básicamente este conjunto de atributos: Width y Heigth para definir el tamaño del iframe y Frameborder para quitar el borde que viene por defecto. En este caso, además, he modificado el atributo Range que no pertenece al iframe sino al código que genera Google Sheets.

<figure><figure><figure><iframe src="https://docs.google.com/spreadsheets/d/e/2PACX-1vQhJB-4sS4wAbWYxRn6e1qrAxshUUWyUF8jeMwdsbKzi8sRlyhcblJNTHDggyGxLI6O65UdK4jy8gC4b7/pubhtml?gid=237186781&single=true&widget=true&headers=false&range=A1:E500" width="1000" height="8000" frameborder=0></iframe></figure></figure></figure>

Al final, este ha sido el código que he insertado como HTML en la entrada de WordPress y que nos da mucha más flexibilidad que la normal función de tablas o de texto formateado que viene estándar con la plataforma.

Como traducir una plantilla de WordPress

En la galería de plantillas de WordPress hay miles de opciones pero muy pocas tienen soporte para español. Sin embargo, crear nuestro propio fichero de traducciones es muy sencillo:

  1. Descárgate el archivo «NOMBRE_DE_PLANTILLA.POT» en el directorio de idiomas de la plantilla que nos hayamos descargado (normalmente en «wp-contents>themes>NOMBRE_DE_PLANTILLA>languages>»).
  2. Necesitaremos una aplicación de traducción que nos instalaremos en nuestro ordenador local: Poedit.
  3. Abrimos con el Poedit el archivo .POT y creamos un nuevo archivo para español. Automáticamente se creará un archivo «es_ES.po».
  4. Tenemos ahora que traducir con Poedit todas las frases que aparecen en la aplicación o las que creamos que vamos a utilizar.
  5. Una vez que hayamos terminado tenemos que generar el archivo «es_ES.mo» yendo a «Archivo>Compilar en MO…» en el menú superior.
  6. Esto nos generará el archivo compilado MO que ya podremos subir de nuevo al directorio «wp-contents>themes>NOMBRE_DE_PLANTILLA>languages>».
  7. Por último solo queda activar el nuevo idioma yendo al menú de WordPress en «Ajustes>Generales» y seleccionar el idioma Español.

Y listo. Nuesto blog ya estará en español.

Quitar blancos en Style Outlet

Me estoy preparando para volver con Gadgets para Correr y la primera tarea que me he planteado es la de cambiar la plantilla de WordPress. Después de mucho buscar la elegida ha sido Style Outlet por varias razones (buscador, sencillez, posts completos en página principal y sidebar claro) aunque había algo que no me gustaba: demasiado espacio en blanco entre el header y el título del post en la home page.

Después de volverme loco intentado reducirlos, con la ayuda de Laura lo he conseguido finalmente.

Básicamente hay que modificar el «Style.css» yendo dentro de WordPress a Appearance>Editor y pulsando sobre el theme file «Stylesheet» en el menú de la derecha, buscar una línea donde pone «.home.blog .site-content {» y cambiar el valor de «padding-top: 100px;}» para poner la cantidad exacta de blancos que queramos. En mi caso lo he dejado a 10px.

Archivo CSS de Style Outlet
Archivo CSS de Style Outlet

De esta forma, las dos líneas de código CSS quedan así:

.home.blog .site-content {
padding-top: 10px;}

Solo nos falta pues guardar el archivo pulsando sobre el botón azul «Update file» y ya está listo.

VaultPress para WordPress

Desde hace unos días estoy utilizando VaultPress, la aplicación de backup automático para WordPress de la que estoy ciertamente contento y que viene con Jetpack.

VaultPress
VaultPress

Por tan solo 39$ al año, VaultPress realiza un backup diario asegurando la recuperación de toda la aplicación, plantillas, personalizaciones y contenido de WordPress.

VaultPress desde WordPress.com
VaultPress desde WordPress.com

La interfaz es bastante sencilla y se puede acceder directamente desde el escritorio de tu WordPress o desde wordpress.com en el caso de que tú instancia esté inaccesible o haya desaparecido (en cuyo caso necesitarás restaurar la última copia realizada por VaultPress).

Quitar blancos en la cabecera de Twenty Sixteen

Uno de los problemas de la plantilla Twenty Sixteen de WordPress es la cantidad de blancos en el header. La forma más sencilla de quitarlos, aunque no la más purista (debería estar en el CSS), consiste en abrir el archivo «header.php», buscar <header id=»masthead» class=»site-header» role=»banner»> y añadir el espaciado (padding) dejando la línea de código como <header id=»masthead» class=»site-header» role=»banner» style=»
padding-top: 10px; padding-bottom: 15px»>.

En este caso he dejado 10 píxeles antes del título y 15 después del menú.

El plugin de Affiliate Window

Después de más de un año y medio en blanco he vuelto con Gadgets para Correr, el que un día fue el blog de running más importante de España con más de 600.000 visitas al mes.

Y como no, también he retomado mi antigua cuenta de afiliados en Affiliate Window (AW), comprada por Zanox hace unos años, y me he quedado maravillado con las mejoras que el servicio ha experimentado en menos de 2 años. Lo más interesante de todo es la nueva opción que te permite afiliar un link sin tener que montarlo manualmente o yendo a la página de AW.

El mecanismo es muy sencillo, solo tienes que añadir un trozo de código HTML en el footer del blog y automáticamente los links a productos promocionales son capturados con el código correcto de tu cuenta (NNNNNN):

wp_enqueue_script('convert-a-link', 'https://www.dwin2.com/pub.NNNNNN.min.js', array(), false, true);

Y lo mejor de todo es que hay un plugin en WordPress que lo hace por ti y así no hace falta modificar el código HTML del footer. Es muy importante que no lo descarguemos de ningún sitio que no sea la web de AW porque tiene que estar personalizado con nuestro identificador de cuenta. Las instrucciones detalladas están aquí.

Con esta novedad, creo que puedo ahorrar unos 5 minutos por post.