Configurar WordPress desde cero

Esta es una lista con optimizaciones, tips y consejos, algunos conocidos y otros no tanto, para no olvidarnos nada a la hora de instalar y configurar un blog nuevo con WordPress.
La lista está ordenada por prioridad y eficacia, lo cual nos permite empezar por lo esencial y no perder tiempo en los detalles que podemos pulir más tarde. Al mismo tiempo agrupa las tareas en un patrón lógico que no produzca demasiadas vueltas.
Seguridad y prevención en WordPress
- Cambiar la contraseña de admin: Una vez terminada la instalación recibimos una contraseña temporal para poder acceder al sistema.. cambienla inmediatamente!
- Cambiar las claves de seguridad: En el archivo wp-config.php se almacenan 3 claves de seguridad con valores por defecto que debemos cambiar. No hay que memorizarlas, y mientras más dificiles mejor.
- Quitar el meta tag “generator”: Esta línea (solo visible al abrir el código fuente de cualquier página de nuestro blog) informa sobre la versión de WordPress que estamos utilizando. Esta información es útil para los que hacen estadísticas, pero más útil para los hackers, que pueden filtrar los blogs y explotar vulnerabilidades específicas de nuestra versión.
Aunque a los muchachos de WP no les gusta, para evitar que se genere esta línea debemos agregar el siguiente código al archivo functions.php en la carpeta del theme que usemos:<?php remove_action('wp_head', 'wp_generator'); ?> - Evitar el “listado de directorios”: Salvo que indiquemos lo contrario, cualquiera puede entrar a los directorios de nuestro blog (wp-content, wp-includes, etc) y navegarlos como si estuviera en su disco. Para impedirlo debemos editar el archivo “.htaccess” ubicado en el directorio donde instalamos WordPress. Es posible que dicho archivo no exista todavía, en ese caso conviene saltearse este paso, continuar con el siguiente (mejorar los permalinks), y luego volver a este punto, donde probablemente encontraremos el archivo ya creado por el propio WordPress. Una vez ubicado y abierto, agregamos la siguiente línea:
Options All -Indexes
Estructura de enlaces (permalinks) y SEO
- Mejorar los permalinks: Mi recomendación es utilizar
/%postname%/
pero pueden experimentar con otras opciones, lo más importante es que siempre esté presente el título del post en la URL, por el beneficio que esto trae ante los buscadores.
- Ajustar la base de categorías: Este paso es opcional, pero les permite cambiar la leyenda “category” (que figura en las urls de las categorías) por cualquier otra palabra que sea de su agrado. La mayor utilidad de esto se la lleva el SEO, ya que por ejemplo, si estamos haciendo un blog sobre programación y las categorías corresponden a lenguajes, podremos cambiar la palabra “category” por “programar” o “programacion-en” y obtener direcciones del tipo “http//www.example.com/programar/php”.
Un tip: desde las últimas versiones de WordPress (>2.5) podemos cambiar este valor por “/.” (sin las comillas) y haremos desaparecer por completo la palabra “category”, algo que antes solo se podía hacer editando el “core” de WordPress (no recomendado) o con plugins. Sin embargo al hacer esto, los links a dichas categorías devuelven un error “404 Not found”. A muchas personas esto les resultará todavía más util, por ejemplo si quieren deshacerse por completo de la “categorización” y solo quieren organizar los posts mediante “tags”. - Generar el robots.txt: Esto es tan sencillo como poner un archivo de texto en el directorio raíz de nuestro sitio web (”el de arriba de todo”) con el nombre “robots.txt” (sin las comillas). Este archivo contendrá una serie de instrucciones que indican a los buscadores que deben y que no deben indexar de nuestro sitio web. Este paso es esencial para el SEO, ya que evita que figure contenido duplicado e información poco relevante en los índices de búsqueda, mientras que también cuida un poco más la privacidad de nuestro blog.
El siguiente es un ejemplo práctico (modelo base) que ilustra un robots.txt para WordPress:User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /trackback Disallow: /feed Disallow: /comments Disallow: /2008/* Disallow: /category/*/* Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /*.php Disallow: /*?* Allow: /wp-content/uploads # Google Image User-agent: Googlebot-Image Disallow: Allow: /* # Google AdSense User-agent: Mediapartners-Google* Disallow: Allow: /* Sitemap: http://www.example.com/sitemap.xml
Obviamente tienen que cambiar esta última línea por la dirección correspondiente a su blog para que apunte a su sitemap.
En caso de que el blog esté en una subcarpeta (ej: http://www.example.com/blog/) agregar “/blog” (sin las comillas) antes de cada ruta que se indique en el robots.txt. Ej: en vez de “Disallow: /wp-admin” quedaría “Disallow: /blog/wp-admin” y así con todas.
Añadiendo funcionalidad con Plugins
- Activar Askimet: Este plugin anti-spam se encarga de filtrar todo lo que entra por los comentarios en los posts. Viene con WordPress pero por defecto está desactivado, para ponerlo en funcionamiento necesitamos ingresar una API Key de WordPress. Una vez obtenida podremos usarla para cualquier nuevo blog que hagamos.
- Instalar FeedSmith: FeedBurner es un servicio casi estandarizado por la comunidad de bloggers que nos permite replicar nuestro RSS feed con otra dirección, e integrarlo a nuestro blog. Esto nos quita de la cabeza el preocuparnos por el ancho de banda que nuestro feed pueda consumir, y además nos permite brindar una mejor experiencia a nuestros usuarios ofreciendoles links a aplicaciones web y otros servicios dentro de cada post. También nos permite tener una estadística sobre quiénes leen nuestro feed y la posibilidad de monetizarlo (conectandolo a nuestra cuenta de Google AdSense). Al instalar el plugin FeedSmith, el mismo nos guiará para crear una cuenta en FeedBurner e integrarla a nuestro blog en un proceso muy simple.
- Instalar Google XML Sitemaps: Con esto WordPress generará automáticamente un archivo “sitemap.xml” (que ya habiamos referenciado en el “robots.txt”) en el directorio raíz de nuestro sitio web, que contiene la estructura de nuestro blog en un formato que Google y otros pueden leer para entender mejor la cohesión entre nuestras páginas, y beneficiarnos mejorando la lógica con que se muestra nuestro sitio en las páginas de resultados de los buscadores, entre otras aplicaciones. Recuerden ingresar a las opciones de este plugin y generar este archivo “manualmente” (haciendo click sobre el botón que lo indique) por lo menos una vez, luego se encargará de actualizarse solo.
Ya está?!
Cambiar el título, el theme, las categorías, el blogroll, hay un montón de cosas más que se pueden hacer, pero a partir de aca es a gusto y disponibilidad de cada uno.
Incluso hay algunas cosas que estoy obviando y que a muchos les deben parecer esenciales (a mi también!) como instalar Google Analytics, registrar el sitio en Google Webmaster Tools y finalmente enviarlo a Google. Mi explicación es la siguiente:
- Google Analytics es excelente, y las estadísticas (y evaluación correcta de las mismas, por supuesto) son esenciales para el éxito de un sitio, pero realmente no son necesarias para el funcionamiento técnico del mismo, y utilizar este servicio o cualquier otro es parte del trabajo del Webmaster y/o SEO, que requeriría un capítulo aparte, al igual que optimizar WordPress para Google y demás buscadores.
- Registrar el blog en Google Webmaster Tools también es esencial para quien se encargue del SEO, pero a diferencia de lo que la mayoría cree, no es un requisito para exhibir nuestro sitemap a Google! Una vez que el buscador encuentre nuestro sitio y lea el robots.txt, si hicimos las cosas correctamente también va a estar leyendo el sitemap.xml y provocando el mismo efecto que si lo hubieramos enviado manualmente a través de GWT.
- Para finalizar, el “enviar” el sitio a Google (rellenar el formulario de inclusión) no es del todo beneficioso en esta etapa. En mi opnión es preferible esperar a que el robot de Google indexe “naturalmente” nuestro blog siguiendo un enlace desde otro sitio, y de mayor preferencia que esto sea una vez que tengamos buen contenido entre nuestros posts.
Si creen que omití algo importante (seguramente!) o estoy haciendo algo diferente a como lo harían, por favor comentenlo, la lista está abierta y justamente la idea es enriquecerla lo más posible para que nos sirva de referencia.
Tags: wordpress






April 13th, 2009 at 2:07 pm
Muy interesante tu artículo. Lo acabo de implementar en uno de mis sitios. Lo que mas me intereso fue la parte del robots.txt donde excluyes el contenido del wp content y otros archivos del servidor que no deberian indexar en google. Si puedes comentar algo sobre el asunto de seguridad que implica cambiar los permisos del servidor en el directorio public-html para hacer funcionar el plugin de sitemaps seria bueno. gracias, chao.
April 13th, 2009 at 11:31 pm
Hola DeeJay Marulla, muchas gracias por tu comentario. Como vos bien decís, para que el plugin Google XML Sitemaps funcione correctamente es necesario modificar los permisos de los archivos sitemap.xml y sitemap.xml.gz. Esto es lógico ya que el plugin va a estar encargado de modificar esos archivos periodicamente, sin intervención del usuario. Las instrucciones de instalación del mismo indican usar chmod 666, que a pesar de sonar diabólico, es un número sobrio para estos casos. Con esto quiero decir que otorgarle al servidor los permisos para modificar estos archivos no representa una brecha de seguridad per se, siempre y cuando se aplique unicamente a estos dos archivos. No es necesario (y NO es prudente) cambiar los permisos del directorio raíz ni del propio plugin por algo más permisivo que los valores por defecto.
Posiblemente en un futuro escriba un post acerca del tema de los permisos, pero por ahora le recomiendo al que no esté inmerso en el tema, que averigüe o que pregunte antes de actuar!
November 20th, 2009 at 7:49 pm
Gracias por tu aporte es muy bueno