Buenas Tardes amigos/as

Hoy voy a intentar crear una buena guía para tener URLs amigables en nuestro Website para de esta manera intentar posicionarnos mejor en Google y otros buscadores.
Es cierto que Guías y Tutoriales para las Urls amigables hay muchos en Internet, pero voy a intentar que sea mas fácil de entender para vosotros.
Las Urls amigables son Urls con palabras que identifican lo mejor posible el contenido de la página o post al que están enlazadas, en vez de usar las típicas urls con parámetros GET. El funcionamiento de la página va a ser exactamente el mismo pero sin embargo para la gente que visita nuestra página o blog va a ser mucho más fácil de recordar y a su vez google va a valorar más nuestro sitio Web.

A continuación os dejo un ejemplo de URL normal y su correspondiente en URL amigable:

  • http://www.tusitio.com/products.php?id=7&order=asc
  • http://www.tusitio.com/productos-cosmeticos-pinturas

Bien, ya sabemos la diferencia entre URLs amigables y URLs típicas, ahora voy a explicar cómo conseguir que nuestro sitio muestre éstas URLs, mediante la configuración de htaccess, bueno antes de explicar la configuración del htaccess os comento que podemos hacerlo de dos maneras.

  • Eliminando la extensión de tu archivo
  • Generando URLs amigables a partir de los parámetros.

Bien, la primera es la más fácil de todas, es tan simple como que a la hora de hacer tu sitio Web, pongas a tus archivos directamente el nombre que a ti te gustaría que tuviera después tu URL amigable, por ejemplo:

  • En vez de ponerle el nombre típico a tu página de contacto que normalmente en castellano sería contacto.php, elige un nombre amigable, por ejemplo contacto-taller-mecanico-madrid.php.
  • O en vez de servicios.php, elige servicios-de-mantenimiento-mecanico-barcelona.php

Pero has de tener en cuenta que esto solo te valdrá si estamos hablando de una página estática, o que siempre muestre los mismo, porque si fuera dinámica, nuestro archivo servicios.php podría mostrar muchos mas resultados como por ejemplo:

  • Cambio de aceite
  • Revisión Pre-Itv
  • Equilibrado de ruedas
  • Tapizado de interiores

Por lo tanto, si nuestro archivo es dinámico adelanta un poco ésta guía y pasa a la parte dinámica.

Bueno continuo…, una vez hecho esto solo tendremos que crear nuestro htaccess y  meterle las siguientes líneas de código que se encargarán de eliminar la extensión de tu archivo. Es imprescindible que tengáis activado el Módulo MOD REWRITE en vuestro server.

  • RewriteEngine On
  • RewriteCond %{HTTP_HOST} !^www.
  • RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  • RewriteCond %{REQUEST_FILENAME} !-f
  • RewriteCond %{REQUEST_FILENAME} !-d
  • RewriteRule ^(.*)$ $1.php [L,QSA]

Bien amigos/as, ya tenemos la parte fácil,  ahora vamos con la parte dinámica que es un poco más complicada. Para hacerlo bien hecho tendremos que tener cuenta que a la hora de programar deberemos de ir poniendo en los enlaces la URL amigable si la extensión, y como consejo, cada vez que pongáis un enlace en vuestro código enseguida ir a vuestro htaccess y dejarlo ya configurado y definido, un ejemplo de como deberán de ser vuestros enlaces de la manera dinámica sería el siguiente:

  • http://tudominio.com/categoria/esto-es-una-url-dinamica-de-la-categoria/idCategoria/numPag

Pero esto deberíamos generarlo de manera dinámica también, con lo cual una buena técnica es crear una función que coja los 60 primero caracteres del titulo o descripción, sustituya los espacios en blanco por “-” guiones y las letras con acento por letras sin acento, etc…

Os dejo una función que que hará las URLs de tu sitio amigables.

//FUNCION SEO
function makeSeo($text, $limit=75){
//Reemplazamos caracteres extraños por guiones –
$text = preg_replace(‘~[^\\pL\d]+~u’, ‘-’, $text);
//Cambiamos espacios en blanco por guiones –
$text = trim($text, ‘-’);
//Lo pasamos todo a minúsculas
$text = strtolower($text);
//Eliminamos caracteres no buscados
$text = preg_replace(‘~[^-\w]+~’, ”, $text);
//Si es mayor de 70 caracteres lo recorto
if(strlen($text) > 70) {
$text = substr($text, 0, 70);
}
//Si vacio devuelvo el Time
if (empty($text)){
return time();
}
return $text;
}

Una vez tengamos implementada nuestra función lo que haremos es aplicarla dentro de nuestro código en el enlace que queramos, quedando algo así:

  • <a href=”makeSeo($variableTitulo)” title=”‘.$variableTitulo.’”>’.$variableTitulo.’</a>

De manera que $variableTexto contendrá el texto del titulo y con nuestra función haremos que quede un enlace amigable, después para que esto funcione, en nuestro .htaccess deberemos poner las siguientes líneas de código:

  • <IfModule mod_rewrite.c>
  • RewriteEngine on
  • Options +FollowSymLinks
  • RewriteBase /
  • </IfModule>

Y la línea que tratará nuestras URLs amigables será la siguiente:

  • RewriteRule ^([a-zA-Z0-9-]*)$ tuArchivo.php [L]

E Voila¡¡¡, con esto ya tendríamos nuestro sitio configurado para URLs amigables, por supuesto habría muchísimos usos, por lo tanto si tienes dudas de tu uso en concreto, pregunta e intentaré contestarte.

NOTA: Si estas interesado en contratar los servicios de una Empresa de Diseño Gráfico y Programación Web, puedes visitar Gráfico y Web Valencia, una empresa Joven, eficiente y económica, que es los que hace falta hoy en dia.