Buenas tardes amigos/as, hoy voy a intentar crear una buena guía sobre cómo configurar htaccess para obtener URLs amigables en nuestro website para 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 más sencilla de entender para vosotros.

Lo primero es entender que primero hay que tener un buen diseño web profesional, para que esto genera más interés y no abandonen nuestra página web antes de tiempo, ya que, si no, el resto de esfuerzos serían en vano.

Hoy 16-06-2023 ampliamos este artículo para añadir cómo hacer URLs amigables en WordPress.

Diferencias entre URLs amigables y no amigables

Lo primero es entender que son las URLs amigables. No son más que 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.

O sea, tenemos esto

http://www.dominio.com/php/servicios.php?id=1

y lo queremos convertir en

http://www.dominio.com/servicio-de pinturas-domesticas/

por ejemplo…

A través el archivo htaccess podremos cambiar la forma en la que el navegador lee y muestra nuestras URLs, convirtiéndolas en URLs amigables que es como a google le gustan.

El funcionamiento de la página web va a ser exactamente el mismo, pero sin embargo para la gente que visita nuestra página web 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, aunque ya hemos puesto un ejemplo en los párrafos anteriores:

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

Cómo configurar URLs amigables a través del archivo htaccess

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.

Conseguir urls amigables eliminando la extensión

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

También se puede hacer poniendo cada página dentro de una carpeta que tenga el nombre que necesitamos y dentro tan solo poner un archivo con el nombre index, por ejemplo, si hacemos lo siguiente:

https://www.dominio.com/servicio-lavanderia-madrid/ y dentro ponemos el archivo que muestra el contenido de la página llamándolo index.html por ejemplo, no aparecerá.

Pero has de tener en cuenta que esto solo te valdrá si estamos hablando de una página estática, o que siempre muestre lo mismo, porque si fuera dinámica, nuestro archivo servicios.php podría mostrar muchos más 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 y configurar el archivo 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]

Conseguir URLs amigables configurando htaccess

Bien amigos/as, ya tenemos la parte fácil, ahora vamos con la parte dinámica que es un poco más complicada para conseguir URLs amigables configurando htaccess.

Para hacerlo bien hecho tendremos que tener cuenta que a la hora de programar deberemos de ir poniendo en los enlaces la URL amigable sin la extensión.

Te daré un 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 cómo deberán de ser vuestros enlaces de la manera dinámica sería el siguiente:

  • https://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 título 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 hará las URLs de tu sitio amigables.

//FUNCION SEO
function makeSeo($text, $limit=75){
      //Reemplazamos caracteres extraños por guiones -
      $text = preg_replace(‘~[^pLd]+~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í:

  • ’.$variableTitulo.’

De manera que $variableTitulo contendrá el texto del título 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:

     RewriteEngine on
     Options +FollowSymLinks
     RewriteBase /

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.

Urls amigables WordPress

Para conseguir disfrutar de URLs amigables en WordPress primero debes entrar en el Dashboard de tu WordPress, en el menú Ajustes -> Enlaces Permanentes.

Una vez dentro seleccionar Nombre de la entrada. Para nosotros esta es la mejor configuración.

Os dejamos unas fotos con los pasos.

Paso 1

urls amigables wordpress paso 1, donde se ve una captura de pantalla con el menú de wordpress donde hay que acceder para el paso 1

Paso 2

urls amigables wordpress paso 2, donde se ve una captura de pantalla con una flecha indicando que parte hay que seleccionar para completar el paso 2

NOTA: Si estas interesado en contratar los servicios de una agencia de diseño y desarrollo de software a medida, puedes visitar Desarrollo de Software a medida , una empresa joven, eficiente y económica, que es los que hace falta hoy en dia.

Cómo configurar htaccess para obtener URLs amigables y posicionamiento SEO
Nombre del artículo:
Cómo configurar htaccess para obtener URLs amigables y posicionamiento SEO
Descripción:
Lo primero es entender que son las URLs amigables. No son más que 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
Autor:
Editor:
Gráfico y Web Valencia
Logo editor: