Cómo acelerar el sitio de WordPress: Optimización de htaccess

Hoy en día un aspecto llamativo de su sitio web o un contenido perfecto puede no ser suficiente para atraer a los usuarios potenciales.

Si usted es propietario de un sitio, debe saber que Google utiliza un algoritmo que hace que la velocidad de carga del sitio sea uno de los factores que influyen en la posición del sitio en los resultados de búsqueda.

Así que cuando el tiempo de carga del sitio tarda sólo unos segundos, para los usuarios de Internet y Google suele ser demasiado largo.

Las estadísticas dicen que casi la mitad de los usuarios de Internet esperan que un sitio se cargue en dos segundos o menos.

Es importante tener cuidado con esto, particularmente que los resultados puedan ser mejorados sin mucho esfuerzo.

Hay muchas técnicas para mejorar el tiempo de carga de su sitio. Algunos de los temas son básicos y relativamente simples.

Una de las soluciones es un archivo .htaccess, que permite introducir la optimización básica del sitio en cuestión de minutos.

¿Qué es un archivo.htaccess?

.htaccess es un archivo de configuración para su uso en servidores web Apache ubicados en el directorio raíz.

Le da la capacidad de controlar una carpeta específica o el pedazo de servidor. Usando el archivo .htaccess podemos modificar la configuración del software del servidor para detener o comenzar a ejecutar algunas funcionalidades y características del servidor, por ejemplo (teniendo en cuenta el propósito de este tutorial) podemos hacerlo:

  • Optimizar su sitio.
  • Mejorar la velocidad de carga de la página.
  • Crear directorios protegidos por contraseña.
  • IP específica del bloque y muchos más.

¿Dónde encontrar el archivo.htaccess en WordPress?

El archivo debe estar ubicado en la carpeta raíz de la instalación de WordPress. .htaccess comienza con un punto (.) al principio, que especifica que se trata de un archivo oculto.

Recuerde activar «show hidden file feature» cuando intente acceder a su archivo .htaccess usando el cliente FTP o el cPanel de su hosting.

¿Por qué no puede encontrar el archivo.htaccess?

Puede ocurrir que su sitio WordPress no haya generado un archivo .htaccess todavía. Se genera cuando usted configura permalinks en Ajustes >> Ajustes de Permalinks.

Simplemente haga clic en el botón «Guardar cambios» para forzar a WordPress a generar un archivo .htaccess en el directorio raíz de su sitio.

Si en este paso tiene un problema con la generación de archivos, al principio compruebe los permisos del directorio, deben ser escribibles.

Opcionalmente, si el archivo .htaccess no existe, puede crearlo y cargarlo.

Vale la pena mencionar que no todos los servidores soportan el uso de archivos .htaccess (por ejemplo, servidores libres) y el servicio puede ser bloqueado – téngalo en cuenta cuando algo va mal al crear el archivo.

Código de optimización para el archivo.htaccess

Compresión

La compresión simplemente reduce el tamaño del documento. Es más efectivo para archivos HTML, JavaScripts, hojas de estilo CSS y archivos XML.

Generalmente, la compresión reduce el tamaño de los datos entre un 60% y un 80%. De esta manera puede reducir el tiempo de respuesta del servidor y el ancho de banda, es decir, el volumen de datos que debe enviar el servidor al navegador del cliente.

La mejor manera de habilitar la compresión es usando mod_gzip o mod_deflate para el software Apache (o su equivalente para otro servidor web).

Ambos módulos básicamente hacen lo mismo, comprimen los datos, pero mod_deflate está mejor soportado y documentado, y también es más fácil de configurar.

Si mod_deflate no funciona correctamente en su sitio web o servidor web por alguna razón, por supuesto puede utilizar mod_gzip.

Ambos métodos de compresión se pueden habilitar añadiendo un código simple en el archivo .htaccess:

DEFLATE

# BEGIN DEFLATE COMPRESSION

# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml

# END DEFLATE COMPRESSION

GZIP

# BEGIN GZIP COMPRESSION

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.*

# END GZIP COMPRESSION

Almacenamiento en caché del navegador

Al configurar el almacenamiento en caché del navegador, se le indica al navegador que mantenga algún tipo de archivos durante un período específico de tiempo en la memoria local (caché).

Cuando se vuelva a necesitar un archivo cacheado, el navegador cargará desde su unidad local en lugar de solicitarlo al servidor.

Podemos usar para ello dos módulos de Apache – mod_expires y mod_headers (o equivalente para otro servidor web).

Ambos métodos se pueden configurar al mismo tiempo en el archivo .htaccess:

Expires headers

#BEGIN EXPIRES HEADERS

# Enable expirations
ExpiresActive On
# Default expiration: 1 hour after request
ExpiresDefault «now plus 1 hour»
# CSS and JS expiration: 1 week after request
ExpiresByType text/css «now plus 1 week»
ExpiresByType application/javascript «now plus 1 week»
ExpiresByType application/x-javascript «now plus 1 week»
# Image files expiration: 1 month after request
ExpiresByType image/bmp «now plus 1 month»
ExpiresByType image/gif «now plus 1 month»
ExpiresByType image/jpeg «now plus 1 month»
ExpiresByType image/jp2 «now plus 1 month»
ExpiresByType image/pipeg «now plus 1 month»
ExpiresByType image/png «now plus 1 month»
ExpiresByType image/svg+xml «now plus 1 month»
ExpiresByType image/tiff «now plus 1 month»
ExpiresByType image/vnd.microsoft.icon «now plus 1 month»
ExpiresByType image/x-icon «now plus 1 month»
ExpiresByType image/ico «now plus 1 month»
ExpiresByType image/icon «now plus 1 month»
ExpiresByType text/ico «now plus 1 month»
ExpiresByType application/ico «now plus 1 month»
# Webfonts
ExpiresByType font/truetype «access plus 1 month»
ExpiresByType font/opentype «access plus 1 month»
ExpiresByType application/x-font-woff «access plus 1 month»
ExpiresByType image/svg+xml «access plus 1 month»
ExpiresByType application/vnd.ms-fontobject «access plus 1 month»

#END EXPIRES HEADERS

Cache-Control

# BEGIN Cache-Control Headers

<filesmatch «\.(ico|jpe?g|png|gif|swf)$»=»»>
Header set Cache-Control «public»

<filesmatch «\.(css)$»=»»>
Header set Cache-Control «public»

<filesmatch «\.(js)$»=»»>
Header set Cache-Control «private»

<filesmatch «\.(x?html?|php)$»=»»>
Header set Cache-Control «private, must-revalidate»

# END Cache-Control Headers

Nota: No es necesario establecer la directiva max-age con la cabecera Cache-Control ya que ya está establecida por el módulo mod_expires. En otro caso debemos usar :

# BEGIN Cache-Control Headers

<filesmatch «\.(ico|jpe?g|png|gif|swf)$»=»»>
Header set Cache-Control «max-age=2592000, public»

<filesmatch «\.(css)$»=»»>
Header set Cache-Control «max-age=604800, public»

<filesmatch «\.(js)$»=»»>
Header set Cache-Control «max-age=216000, private»

<filesmatch «\.(x?html?|php)$»=»»>
Header set Cache-Control «max-age=600, private, must-revalidate»

# END Cache-Control Headers

¿Qué te ha parecido?
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Deja una respuesta