
SEO y Url amigables
Para un Consultor SEO, la url de cada página tiene un valor similar sino mayor, al title de la misma página, es decir, si te has esforzado en conseguir titles SEO, y cabeceras de página con descripciones, keywords y demás, ahora te falta dedicar un poco de tiempo a configurar tu servidor apache para que muestre url limpias o amigables.
Entendiendo el concepto de url amigable
Lo primero que nos debemos preguntar es porque se dice amigable, pues bien, se le dice url amigable o limpia porque va a ser mucho más amiga de buscadores como el todo poderoso google y además también se dice limpia porque si se ha construido bien podrá ser leida por cualquier humano y se hará una idea exacta de en que parte de tu aplicación web está.
Ejemplo de url amigable vs no amigable
Por ejemplo si estuviésemos hablando de un nicho o nido de empresas podríamos poner este ejemplo
- url no amigable: http://impressas.es/empresa.php?empresa=embutidos-la-serena
- url amigable: http://impressas.es/empresa/embutidos-la-serena
Como puede observarse en la url limpia o friendly no se muestran los car acteres ? ni =, tampoco aparece el nombre del fichero php. Básicamente hacer una url de estas características consiste en usar el nombre de la variable ($_GET) como si fuese una carpeta de nuestro directorio y el valor de la variable como si fuese el nombre de una página.
Terminaciones aconsejadas de nombres de archivos
Como de costumbres los buscadores valoran más unos tipos de archivos que otros y aunque la diferencia no sea mucha es aconsejable intentar pulir nuestra url tanto como se posible, sobre todo en aquellas páginas que queremos posicionar al máximo, para ello vaemas esta clasifcación.
- Fichero terminados en html o htm, es el formato que se muestra en el navegador, por tanto es el formato que se debe esperar para cualquier página web. A mi juicio es la terminación más válida.
- Fichero php o asp también puede ser una terminación válida y yo la colocaría justo después de html.
- Terminar en /, dala impresión de ser una carpeta y vamos a acceder al index.
- No terminar en nada, tambíen puede ser daría la impresión de ser una carpeta pero es mejor y más correcto que termine en /
- Terminaciones distintas a estas no son aconsejables para url que apuntan a páginas web estandar, es decir, el buscador verá html luego la extendión del fichero se deberá corresponder ¿no?.
Hacer url limpias y amigables con .htaccess
Bueno pues vamos a lo que vamos, para hacer url limpias o amigables con PHP y apache, se pùeden usar varios modos, pero hoy nos vamos a centrar en el más extendido de todos, el uso del fichero .htaccess. Veamos de forma resumida que es el fichero .htaccess.
Un fichero .htaccess (hypertext access), también conocido como archivo de configuración distribuida, es un fichero especial, popularizado por el Servidor HTTP Apache que nos permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache.
Para hacer las url limpias con .htaccess necesitamos 4 puntos básicos:
- El fichero .htaccess, normalmente se sitúa en la raiz de nuestro servidor (/www o /httpdocs), pero algunos alojamientos lo incluyen en otras carpetas.
- El módulo mod_rewrite instalado y activado, podemos saber si esta activo o instalado usando esta función de php “php_info()”, simplemente debemos hacer un fichero donde la llamemos y se nos mostrará en el navegador una tabla con los distintos módulos cargados e instalados. En esa tabla deberá aparecer mod_rewrite.
- Creación del contenido de .htaccess donde usaremos el módulo y pondremos la expresión regular que va a limpiar nuestra url.
- Cambiar los <a href=…. de nuestra aplicación y el sitemap para que la nueva configuración de url sea real.
Expresiones regulares con las que limpiar la url
Continuemos con el ejemplo anterior, queremos convertir http://impressas.es/empresa.php?empresa=embutidos-la-serena en http://impressas.es/empresa/embutidos-la-serena. Para hacerlo tendremos que utilizar una expresión regular, que convierta todo lo que sea de la forma empresa.php?empresas=valor a un simple empresa/valor.
La instrucción concreta sería:
- RewriteRule ^empresa/(.*) empresa.php?empresa=$1
- RewriteRule, índica que empieza nuestra regla de reescritura de url
- ^empresa/(.*) es la cadena que queremos convertir, es decir, el formato de la url limpia, lo que el usuario pondrá en barra de direcciones. en este caso se podría leer como todo lo que empiece por empresa/lo_que_sea
- La siguiente parte es el nombre real, es decir, el sucio. Y $1 es donde se va a guardar el valor de la variable $_GET. Y coincide con lo que vemos despues de la / en la url limpia.
- Por ejemplo para hacer que las terminaciones sean html pondríamos: RewriteRule ^empresa/(.*).html empresa.php?empresa=$1
- Si quisieramos cambiar un fichero de categorías (que surgen de una búsqueda) pondríamos poner: RewriteRule ^categoria/(.*) buscar.php?categoria=$1.
Ejemplo de fichero .htaccess
Un ejmplo sencillo para un fichero .htaccess que limpie url será:
<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^empresa/(.*).html empresa.php?empresa=$1RewriteRule ^categoria/(.*).html buscar.php?categoria=$1</IfModule>
- Comprobamos que el módulo este instalado
- Lo ponemos en marcha
- La base será la raíz, aqui se pueden poner distintas carpetas
- Dos expresiones regulares para limpiar
- Fin del módulo
Bola extra!!! artículos relacionados que te recomiendo leer
- Mejorar el rendimiento eliminando JS y CSS que bloquea la carga de la página
- Usar Gzip para mejora el rendimiento.
- ¿Qué es un sitemap.xml?
- Mejorar la seguridad de WordPress con .htaccess
Aprovecha los comentarios
En todos los años que esta entrada lleva publicada muchos visitantes que han dejado en los comentarios sus preguntas y yo o ellos mismos se las han respondido. Seguramente si tienes alguna duda encontrarás allí la solución o de lo contrario no dudes en comentar para preguntar o dar tu opinión y ayudar a la comunidad.
¿Con ganas de aprender más? Conóceme y sigue mis perfiles sociales AQUÍ.
También puedes conocer mis servicios:.
Servicios personalizados como Consultor SEO Freelace para profesionales, eCommerce, agencias y PYMES
Fran Almajano
jlmora
jlmora
Salva
jlmora
ibi206
ibi206
Francisco
Pedro
Jorge
Joshua
Antonio
Victor
jose
Pedro
jlmora
jlmora
Jhoed ram
carlos arturo
carlos arturo
jlmora
jlmora
Jose
jlmora
Noelia
Carolina
jlmora
Manuelcm
Juanfran
Paco
Camila
jlmora
licea
Daniel
jlmora
jlmora
jlmora
jlmora
jlmora
Mario
Marta
jlmora
Santi
jlmora