Cómo optimizar y rebajar 150% la carga de tu blog

Éste blog lleva ya dos años, cuando lo abrí, no tenía idea de lo que implicaba una andanza sin el respaldo de papá WordPress.com y lo que significaba irte a .org. Los primeros dos meses, el sitio se me cayó dos veces, perdiendo todos los datos que ya había adquirido, que cuando comienzas, son vitales.

speed-up-wordpress-blog

Ayer, puse de nuevo en línea el sitio luego de una semana, no hice cambios muy significativos, más allá del cambio de theme; los cambios que hice fueron internos, porque tenía éstas estadísticas:

  • El tiempo de carga del blog era de 5.6 segundos
  • Consumía 42 mb del servidor (que uso compartido)
  • De 350 páginas, papá Google sólo me había indexado 15

Realizando optimizaciones y usando tips que andan por la web, ahora tengo los siguientes datos:

  • La carga del blog es de 0.56 segundos
  • Consume sólo 21 mb
  • Google ha indexado 286 páginas

Primero, ¿Cómo saber qué tengo que reparar? ¿Cómo sé la situación de mi blog actual?

  • Antes que nada, usa la herramienta para webmasters de Google, te dirá la situación de tu blog en cosas como: tiempo de descarga, cuántas páginas han sido indexadas de tu sitemap, consumo de kbps por día, etc. (necesita tiempo para obtener la información luego de que añadas tu blog)
  • WooRank hace un análisis SEO al completo de tu blog, cómo tu pagerank, tiempo de descarga, complejidad de lectura, a qué directorios web deberías ingresar, si tienes sitemap, idioma declarado, etc.
  • Rank Emezeta, es una página creada por Emezeta, un bloggero canario, te dice todo, si tienes errores de código o css, el tiempo de descarga de tu blog, cuánto dinero ganarías en publicidad, y criterios cómo redirecciones www y cosas intersantes.

Cómo lo logré

  1. Revisa todos tus plugins (actualizalos y quítalos si no son necesarios)

Dicen que si usas más de 15 plugins, debería desactivar algunos… En mi experiencia, yo no uso más de 12, y hasta 4 que uso, son para optimizar la carga, de hecho Mangas Verdes ha confesado usar hasta 50, y su carga es de 0.46 s, más bien creo que es cuestión del host de cada uno, y conocer los límites de éste. Pero es obligatorio revisarlos, y quitar los innecesarios, tu blog lo agradecerá.

  1. Optimiza y respalda la base de datos

Existen plugins para eso, creo que la mejor manera es hacerlo manualmente desde mysql, que es de la siguiente manera:

optimize-database

  1. Debes abrir el administrador de bases de datos PHPMyAdmin.
  2. Selecciona tu bases de datos.
  3. Haces clic en “Marcar todos/as” al fondo de la página.
  4. Elige la opción “Optimizar la tabla” en la lista desplegable que se encuentra al lado.
  5. Y listo!
  1. Elimina las revisiones de los posts

Desde WordPress 2.6 se creó ésta característica, más que nada para blogs con distintos autores, pero si no se ocupa, carga mucho al hosting, así que es mejor desactivarla, se hace colocando ésto en tu archivo wp-config.php:

define('WP_POST_REVISIONS', FALSE);

  1. Deshabilita el hotlinking

Hay muchos listos por ahí, que en vez de alojar imagenes en sus propios sitios, copian la url de alguna imagen tuya, y la publican en su blog, consumiendo recursos tuyos (memoria de carga, transferencia mensual, etc.), ¿Cómo evitarlo? Pues creando un .htaccess para ésto, escribiendo:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?tupagina\.com/.*$ [NC]
RewriteRule .*\.(gif|jpg|png|ico)$ - [F,L]
</ifModule>
  1. Usa algún plugin de caché

Un plugin de cache crea una copia de tu blog, que se muestra a tus lectores, y aparte de hacer que se cargue más rápido, consume menos recursos, los mejores son WP Super Cache o W3 Total Cache.

  1. Comprime el contenido del blog

Estos se hace mediante el archivo .htaccess de tu carpeta raíz y permite comprimir la mayoría de los archivos de tu blog (css, javascript, php, html y xhtml). Basta con añadirlo a tu .htaccess, así:

<ifmodule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifmodule>

  1. Añade caché a todo tu contenido estático

Añadir Cabeceras de Expiración (Expire Headers) y Cabeceras de Control de Caché (Cache-Control Headers) hará que se realicen menos peticiones HTTP lo que disminuirá el tiempo de carga de tu sitio web. Aquí  un ejemplo de lo que deberías poner en tu archivo .htaccess para implementar estas cabeceras:

# EMPIEZA Cabeceras de Expiración
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>
# FIN Cabeceras de Expiración
#EMPIEZA Cabeceras Cache-Control
<IfModule mod_headers.c>
Header unset ETag
FileETag None
<FilesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\.(css)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(js)$">
Header set Cache-Control "max-age=216000, private"
</FilesMatch>
<FilesMatch "\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</FilesMatch>
</IfModule>
# FIN Cabeceras Cache-Control

  1. Optimiza tus archivos de Java y CSS

Éstos archivos consumen memoria también, una forma de optimizarlos es eliminar las líneas en blanco de los archivos CSS, y se disminuye hasta 40% de su consumo de memoria en el blog (depende el theme), hay plugins como WP CSS que comprime los archivos CSS de tu blog; o JavaScript Compressor que hace lo mismo pero con tus scripts de Java. Pero si usas el plugin de cache W3 Total Cache, te lo ahorras, ya que comprime css y javascript automáticamente con su minify.

  1. Optimiza las imágenes

Las imagenes consumen recursos por partida doble: ancho de banda, y tiempo de carga. Claro, hay que optimizar nosotros mismos las imágenes antes de subirlas, con nuestro software favorito, y otra recomendación, es alojarlas en un hosting externo, como los siguientes:

Amazon S3 : Servicio premium, cuesta 15 centavos de dólar por cada GB de almacenamiento y 20 centavos por GB de ancho de banda

Flickr : Provee una cuenta gratuita limitada a 100MB subidos por mes o una cuenta premium por 25 dólares al año

  1. ¿Tu theme es el culpable?

Algunos themes contienen funciones tan avanzados, que casi son plugins incorporados, widgets, etc. Si has optimizado todo, y tu tiempo de carga o consumo de recursos sigue siendo alto, revisa tu theme, para ello usa Firebug, una extensión de FireFox para depurar el problema, o una radiográfía de los elementos de tu blog con Pingdom , para ver cuáles elementos son los que te anclan el blog.

Algunos tips que no sobran recordar

  • Respalda frecuentemente tu base de datos
  • Optimiza tu base de datos, yo lo hago una vez a la semana, depende de ti la frecuencia.
  • No instales muchos plugins a la vez, instala uno, revisa cómo responde tu blog, y luego otro, ya que si instalas varios a la vez, no sabrás cuál plugin fue el que te estropeó tu blog.
  • Lee blogs sobre WordPress, siempre hay tips interesantes.

Fuentes

PD. Sirva éste artículo para decir dos cosas: Regreso con nuevas ideas y ganas, y aclarando que éste theme no es definitivo, ya que estoy viendo cómo responde.

Léenos en tu email

Suscríbete y recibe en tu email los artículos de Regiosfera, recibirás uno diario, sin spam.

Post comment as twitter logo facebook logo
Sort: Newest | Oldest

No me he enterado de nada... En el msn me explicas mejor ;)

Gracias por el enlace a Bloguismo, es un placer ayudaros :)
.-= | Visita el último artículo de juan andrés milleiro, es Demuestra la autoría de tu blog con Safe Creative | =-.

Gracias por el enlace a Bloguismo, es un placer ayudaros :)
.-= | Visita el último artículo de juan andrés milleiro, es Demuestra la autoría de tu blog con Safe Creative | =-.

Trackbacks

  1. [...] This post was mentioned on Twitter by Edmundo Pérez, Cristóbal. Cristóbal said: Optimizando WordPress http://bit.ly/aoV64l [...]

  2. [...] Regiosfera comentan cómo optimizar y rebajar 150% la carga de tu blog, para todos aquellos fans del [...]

Facebook

Twitter

Google Plus