Htaccess, URL dinámicas aplicadas al SEO

Es evidente que la URL es importante a la hora de posicionar determinadas keywords, de ese modo no es lo mismo que una url sea http://localhost/index.php?cat=seo&subcat=htaccess&id=4566 en vez de http://localhost/seo/htaccess/4566, evidentemente es preferible la segunda forma.

Para poder generar estas URL dinámicas os recomiendo la lectura siguiente:

Fuente: Webtaller

Una de las dificultades que se presenta cuando utilizamos URL dinámicas, es decir que envías valores a través del método GET; Radica en el momento cuando los robots que navegan por toda la red recopilando información de diferentes índole, ingresan a nuestro sitio Web y se consiguen con parámetros que ellos no admiten en el mayor de los casos.

Por ejemplo tenemos esta url: http://localhost/index.php?cat=4&subcat=45&id=4566

En este caso la mayoría de los indexadores no admitirían más de 1 solo parámetro y harían caso omiso a los caracteres: ( & ? = # ) siguientes. Entonces ya dependería de nuestro PageRank si esa url es indexada a los principales motores de búsqueda.

Sin embargo existe una forma que “DIFRAZA” la url, por decir alguna palabra, sin modificar la funcionalidad de nuestra página; editando el archivo .htaccess que debe ubicarse al comienzo de cada directorio.
Debemos agregar las siguientes líneas:

< ? PHP RewriteEngine on RewriteRule ^.*$ index.php ?>

Donde index.php, es nuestro archivo principal del directorio a mostrar.

Ahora volviendo al ejemplo anterior, ya podríamos llamar la url de la siguiente forma:

http://localhost/4/45/4566

Ya no tendremos ningún problema con los motores de búsqueda. Ahora nos queda una tarea sumamente sencilla.

¿Como extraer esos valores que se almacenan en esa url?

Ciertamente $REQUEST_URI, nos devuelve todo el fragmento o path físico de la url actual. Lo siguiente seria utilizar una función que nos permita dividir esa url; utilizando la / (Barra) como punto de referencia, pudiese ser con explode() que nos devuelve una matriz con las cada una de las partes.

Código Fuente:

< ? PHP $aux = substr( $_SERVER['REQUEST_URI'], strlen('/')); if( substr( $aux, -1) == '/'){ $aux=substr( $aux, 0, -1); } $urlARRAY___ =explode( '/', $aux);?>

VALORES A UTILIZAR

< ? PHP $CATEGORIA=$urlARRAY___[0]; $SUBCATEGORIA=$urlARRAY___[1]; $ID=$urlARRAY___[2]; ?>

16 comentarios en «Htaccess, URL dinámicas aplicadas al SEO»

  1. Muy buen truco. Para usar esta técnica hay que esegurarse de que el host tiene el modulo mod_rewrite activado en el archivo config de Apache. Si no, esto no funcionará.

    PD – No soy experto en Apache para nada pero creo que sobra “” en el código para el .htaccess. A lo mejor me equivoco, pero creo que el código puede ser simplemente:

    RewriteEngine on
    RewriteRule ^.*$ index.php

  2. como dice diseño web, si. sobra “”

    el .htacces debe estar en el directorio raiz de nuestro servidor (o en el raiz de donde esta ubicado el sitio), no es necesario repetirlo en cada directorio y subdirectorio…

    si no se tiene mucho conocimiento de esto, al principio seguro dara fallas pero a no desanimarse y seguir probando…

  3. Yo cuando he utilizado este tipo de cosas, me he creado todas las lineas posibles con las expresiones regulares en el htaccess. Me gusta más esta manera. Gracias.

  4. Hola gente, soy principiante en lo que es programación web (se html pero php recien estoy aprendiendo), he leido este post y los comentarios pero no logro entender bien, nose si estoy en el lugar incorrecto pero en mi caso lo que quiero es pasar mis urls estaticas a dinamicas.
    Por ejemplo: si tengo un archivo “index.html” voy a empesar por renombrarlo a “index.php”.
    Supongamos que en el mismo directorio en el que esta este archivo tengo otros llamados “radio-pop.php” y “radio-rock.php”. Queria saber si alguno me puede enseñar a que queden algo parecido a “radio.php?pop” y “radio.php?rock”… nose si me estare explicando bien o mal, espero que me entiendan.
    Desde ya muchisimas gracias!!!

  5. Por favor, que alguien me ayude. Cuando trato de acceder a una ficha de mi página, creo que por la url dinámica no se puede acceder. Alguien sería amable de echarle un vistazo y decirme como se podría arreglar esto? http://www.cine24h.es
    No entiendo cual es el problema.He tratado de poner a “off” esto en el htaccess pero sigue igual¿?
    Alguna otra idea o solución a esto?
    Por qué ocurre?
    Un saludo desde España!

Los comentarios están cerrados.