Si tienes un blog hecho en WordPress.org, ya te habrás dado cuenta de que como sistema de gestión de contenido (CMS) es bastante completo gracias al enorme listado de plugins gratuitos a tu disposición. Hay un plugin para cada casi todo lo que se te pueda ocurrir y que pueda necesitar tu blog para sobrevivir en la red: seguridad, posicionamiento SEO, métricas, limpieza… Su inmensa variedad y la facilidad con la que se pueden instalar, hacen que al final nos encontremos con un blog sobrecargado de plugins con sus terribles consecuencias: ralentización de web, problemas de estabilidad, errores de indexabilidad, etc. La alternativa a esto es conocer un poquito mejor nuestro WordPress, el funcionamiento de un site y su hosting o cacharrear con sus tripas; y claro, con cacharrear me refiero a introducir código. Pero no se me asusten, vamos a ver unas sencillas alternativas que ayudarán a potenciar tu blog de WordPress sin necesidad de recurrir a ningún plugin, mediante el clásico método de «hágalo usted mismo».
Subir un Buen Archivo Robots.txt
Vaya, se da por supuesto que existe, pero la verdad, hay muchas webs que no disponen de él. Un archivo robots.txt es aquel que está situado en raíz del dominio y da instrucciones a las arañas de los buscadores sobre el contenido que tienen que indexar de nuestro site; el robot entra en el dominio y lo primero que lee es este archivo, sigue las instrucciones que están detalladas y guarda la información que el archivo permite. Si no existe el archivo robots.txt, los buscadores indexarán toda la web, y eso a veces no es nada recomendable.
A través de él, podemos decirle a las arañas que ignore determinados archivos y directorios cuando indexen la web; esto es muy importante en WordPress para evitar que aparezca en las búsquedas contenido irrelevante y que afecte a nuestro posicionamiento SEO, o la posibilidad de dejar agujeros de seguridad que puedan aprovechar los amigos de lo «ajeno online». La única pega es que algunos links incluidos en el robots.txt pueden todavía aparecer en los resultados de búsqueda si están enlazados a una página que ha sido indexada.
Para evitar no caer en el azar, un archivo robots.txt ideal y muy recomendado para montar en nuestro WordPress sería:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Con él estamos diciendo a cualquier araña de cualquier buscador que puede visitar nuestro blog e indexar todo el contenido menos los directorios indicados; son los que tienen información crítica acerca del blog y, por ejemplo, cualquier archivo que pueda contener alguno de los plugins o temas puede dar problemas desde dentro si dejamos que se indexe. Más vale prevenir, y lo ideal sería subirlo antes de empezar a montar el blog, pero si no es así, no te preocupes, nunca es tarde; añádelo cuanto antes y utiliza Google Webmaster Tools para eliminar cualquier enlace no deseado (autobombo: para más información sobre esta herramienta, échale un vistazo a mi tutorial).
Optimización de las Tablas de las Bases de Datos
WordPress funciona como una gran plataforma de bases de datos; cada elemento es la unión de varias tablas que definen las directrices de lo que se muestra finalmente por pantalla. Con cada publicación, edición o actualización, nuestra base de datos va creciendo con elementos que ya no son necesarios para el buen funcionamiento del blog, y al aumentar su tamaño provoca la ralentización de la carga de la web.
Para solucionarlo, tendremos que dirigirnos al hosting de nuestra web y pinchar en la pestaña de administración de MySQL; seleccionamos la base de datos que corresponda a nuestro WordPress y en la pestaña «Estructura» escogemos las tablas con la opción de marcar todas. Desplegando el menú que encontraremos, elegimos «Optimizar tabla«, y después de unos segundos aparecerá un cuadro con el resultado de la operación y tendremos todas nuestras tablas optimizadas y sus registros depurados.
La optimización de las tablas es una tarea que deberías hacer a menudo, el intervalo de tiempo dependerá de tu ritmo de actualizaciones de la página web, pero mínimo una vez al mes sería suficiente.
Eliminar las Revisiones de Entradas
De cada publicación, WordPress crea una revisión con una copia distinta cada vez que añades un texto, una imagen o descartas cualquier cosa mientras estás editando el borrador. Una vez que ya has publicado la entrada, estas revisiones se pueden suprimir ya que no sirven de nada y ocupan demasiado espacio. Si además sueles hacer copias de seguridad de tu contenido alojado, vas a agradecer poder quitar un buen peso de encima.
Para ello, se puede ejecutar una sencilla consulta SQL; desde nuestro hosting, y justo en la misma sección en nuestro alojamiento del paso anterior, seleccionamos la pestaña «SQL» y en la ventana que aparece, copiamos la siguiente línea:
DELETE FROM wp_posts WHERE post_type = "revision";
Ejecutamos la instrucción y todas las revisiones que tengamos de cualquier entrada se borrarán permanentemente. Recuerda que si has cambiado el nombre de las tablas, ya sea por algún plugin de seguridad o por programación, el código no la reconocerá y devolverá un mensaje de error, así que debes sustituir en la consulta anterior las letras wp_ por el nombre genérico que tengan tus tablas (está en la pestaña «Estructura» por si tienes dudas).
Crear un Tema Hijo Personalizable (Child Theme)
Un tema hijo es aquel que, heredando las propiedades del tema fuente o padre, permite añadir o modificar funcionalidades sin tener que alterar ninguna línea de código del original; se carga por encima del que tengas instalado y los cambios que tenga prevalecerán sobre el tema en el que se basa.
La razón principal para crear uno es que si realizas cualquier modificación sobre el tema existente (ya sea por cuestiones de seguridad, usabilidad o por simple diseño estético), y luego se actualiza a una nueva versión, tus cambios se perderán. Actualmente, casi todos los temas existentes permiten modificar muchas de sus funcionalidades y estructuras, adaptándose a las necesidades de nuestra web; pero también es verdad que la mayoría imponen algún matiz que quisiéramos cambiar y no dan opción (como por ejemplo la presencia de un enlace en nuestro footer a la página web del tema, con los correspondientes problemas de SEO y link juice).
Para crear nuestro propio child theme, tendremos que acceder al directorio wp-content/themes y crear una carpeta con el mismo nombre que el tema que estemos utilizando, pero añadiendo un sufijo como «2» o «hijo»: así por ejemplo, si tenemos el tema twentyfourteen creamos una carpeta con el nombre twentyfourteen-hijo. Dentro de ella, creamos un archivo style.css con el siguiente contenido:
/*
Theme Name: Twenty Fourteen Hijo
Template: twentyfourteen
*/
@import url("../twentyfourteen/style.css");
Para el Theme Name puedes usar cualquier nombre que describa tu tema, pero en Template debes poner el directorio del tema del que heredará las características. Nuestro archivo de estilo se cargará en lugar del style.css que tiene el tema padre; ya sólo tendremos que ir a nuestro WordPress, y en Apariencia -> Temas seleccionar el tema hijo y activarlo. Nada habrá cambiado, tendremos nuestro tema normal funcionando, pero ahora podremos añadirle funciones para cambiar muchas cosas que antes no podríamos; para ello, sólo hay que crear en el directorio del tema hijo un archivo functions.php con la función que queremos añadir para que se cargue en la página. En este caso, el archivo functions.php no sustituye al del tema padre, sino que se carga justo antes, por lo que sólo tendremos que añadir en el código la función que queremos añadir al tema; para el resto de archivos del tema original, podemos hacer una copia y editarla directamente en el directorio del tema hijo.
De esta manera, no tendremos que estar pendientes de actualizaciones que nos puedan borrar funciones agregadas a nuestra web y tenerla totalmente personalizada a nuestros gustos e intereses. Veamos un par de ejemplos para probarlo:
Quitar mensajes de error de acceso al WordPress
Si usas un usuario o contraseña errónea al intentar acceder al panel de administrador de tu blog, WordPress muestra información de qué campo has introducido incorrectamente. Esto es un grave problema de seguridad que los hackers pueden utilizar en tu contra para comprometer la web; para ponérselo difícil, vamos a evitar que se muestre esta información usando un código:
add_filter('login_errors',create_function('$a', "return null;"));
Impleméntalo en el archivo functions.php de tu tema hijo nuevo y así lo pruebas. 😉
Mantener una extensión mínima para comentarios
Muchas veces, nos podemos encontrar que en los comentarios de las entradas del blog los internautas dejan un escueto «gracias» o «buen post», y nada más; ni un triste tema para polemizar o una frase que aporte algo al asunto tratado. Si quieres forzar a que se curren un poquito el texto que dejan, y así evitar que se encuentren un enlace fácil a su propia página, puedes usar el siguiente código:
add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata ) {
$minimalCommentLength = 20;
if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ){
wp_die( 'Los comentarios deben tener ' . $minimalCommentLength . ' caracteres mínimo.' );
}
return $commentdata;
}
Lo incluyes en tu functions.php hijo, y en la línea «$minimalCommentLength = 20;» puedes cambiar el valor 20 por lo que consideres mínimo para poder escribir en un comentario.
Confío en que podáis ver el potencial que tiene ver más allá de un plugin, ya que no lo es todo para nuestro WordPress; mi idea con el post es que os pique la curiosidad y que veáis que no es tan complicado a veces remangarse la camisa y buscar soluciones para tener a punto el blog. Si os surge cualquier duda o sugerencia, los comentarios os aguardan… y no, no hay espacio mínimo para comentar. 😛