lunes, 1 de julio de 2013

Optimizar el htaccess para que sea SEO Friendly ¿lo que?

El fichero htaccess se utiliza para los servidores web Apache, la mayoría de los hosting actuales utilizan este archi-conocido servidor web para dar servicio a los usuarios que tienen sus páginas web alojadas en sus dominios. Bien, en el fichero htaccess se configuran todos los parámetros referentes a la forma en la que el servidor web debe servir las peticiones de los usuarios. Por ejemplo, es el que se utiliza para definir una página 404 (si tecleamos un enlace que no existe dentro del dominio nos saldrá el error 404 indicado que no existe documento). Existe varios trucos, bueno nos son trucos, sino formas de utilizar este fichero para ganar en velocidad y optimización a la hora de servir el contenido de nuestra página web. 

 El htaccess se debe alojar en la raíz de nuestra página web y este será recogido por el servidor web y aplicará los parámetros que tengamos definidos en el para mostrar el contenido al usuario. 

 A continuación les dejo un ejemplo del contenido del un htaccess funcional para apache 2.0 con comentarios incluidos en cada opción:


# .htaccess personalizado - script escrito por Eduardo L. Arana - info@arananet.net.

# Esta opcion fuerza al navegador cliente a que utilice los parametros Cache-Control y Expires para ganar en velocidad.
FileETag None

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css application/javascript


# Solucion para redireccionar nuestro dominio, cuando el usuario teclea http://ejemplo.com en vez de http://www.ejemplo.com, a esto lo llamamos redirección 301.

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.grupov10\.com [NC]
RewriteRule ^(.*)$ http://www.grupov10.com/$1 [L,R=301]

# Modulo utilizado para acelerar el contenido servido por el servidor web.
<IfModule mod_gzip.c>

mod_gzip_static_suffix .gz

AddEncoding gzip .gz

AddEncoding gzip .gzip

mod_gzip_on YES

mod_gzip_handle_methods GET

mod_gzip_temp_dir /tmp

mod_gzip_can_negotiate Yes

mod_gzip_dechunk Yes

mod_gzip_send_vary On

mod_gzip_update_static No

mod_gzip_keep_workfiles No

mod_gzip_minimum_file_size 250

mod_gzip_maximum_file_size 1048576

mod_gzip_maximum_inmem_size 60000

mod_gzip_min_http 1000

mod_gzip_item_exclude reqheader "User-agent: Mozilla/4.0[678]"

mod_gzip_item_include mime ^application/pdf$

mod_gzip_item_include mime ^image/

mod_gzip_item_include mime ^application/x-javascript$

mod_gzip_item_include file .js$

mod_gzip_item_include file .woff$

mod_gzip_item_include file .css$

mod_gzip_item_include mime ^text/.*

mod_gzip_item_include file .html$

mod_gzip_item_include file .pl$

mod_gzip_item_include file .cgi$

mod_gzip_item_include handler ^cgi-script$

mod_gzip_item_include mime ^httpd/unix-directory$

mod_gzip_item_include mime ^application/postscript$


</IfModule>

#Con esta opcion le indicamos al servidor web que muestre una página de error cuando intentan acceder a un recurso que no existe en la página web actual.
ErrorDocument 404 /noencontrado.html

# Con esta opción le indicamos al servidor web que debe comprimir la información (imágenes, scripts, código) antes de enviarla, ganamos en velocidad.
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddType x-font/otf .otf
AddType x-font/ttf .ttf
AddType x-font/eot .eot
AddType x-font/woff .woff
AddType image/x-icon .ico
AddType image/png .png


<IfModule mod_expires.c>
## Activamos la caducidad para las distintas extensiones de nuestra página web ##
ExpiresActive On

## imagenes##
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"

## CSS ##
ExpiresByType text/css "access plus 1 month"

## PDF ##
ExpiresByType application/pdf "access plus 1 month"

## JS & Flash ##

ExpiresByType application/x-javascript "access plus 2 month"
ExpiresByType text/javascript "access plus 2 month"
ExpiresByType application/javascript "access plus 2 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"

## Favicon ##
ExpiresByType image/x-icon "access plus 1 year"

## Por defecto ##
ExpiresDefault "access plus 2 days"

</IfModule>

<Files .htaccess>
order allow,deny
deny from all
</Files>

 Espero que les resulte útil.

No hay comentarios:

Publicar un comentario