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]; ?>
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
Vaya, se ha borrado de mi comentario el < ? ?>
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…
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.
Me parece imprescindible.
Pero creo que a estas alturas ya todo el mundo lo usa.
¡Exacto! Es imprescindible. Sin embargo, algunos de los hosts más grandes de España tienen el modulo mod_rewrite desactivado.
Muy bien dato… he visto que la mayoría de los webhosting lo tienen activo, el que no lo tiene es que realmente deja mucho que desear
La optimización de las url es uno de los “básicos” que un seo siempre debe integrar en el sitio web.
Muy util cuando tenemos urls muy largas, 100% recomendado, ademas recomiendo que los datos que pasemos sean caracteres y no siempre snumeros, apesar que podemos manejar el tipo de dato en el mismo mod_rewrite.
bueno aca les dejo la info necesaria para modificar a su gusto:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
——————————————–
me encanta ayudar a quien desea aprender
También he leido en varias ocasiones que tampoco conviene meter profundidad en la url como usais en ésta misma web:
https://www.seoprofesional.com/index.php/05-11-2007/posicionamiento-web-en-buscadores/optimizacion-de-codigo/htaccess-url-dinamicas-y-seo/
Pero me da la impresión de que ya no es tan importante todo ésto hoy día
En mi opinión, lo que realmente importa es la profundidad de los deeplinks y la cantidad/calidad de los enlaces entrantes.
Hola a todos, les dejo una web para que creen sus propios .htaccess.
http://webconfs.com/url-rewriting-tool.php
Saludos
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!!!
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!
Sin dudas los buscadores determinan el posicionamiento web de nuestros sitios (entre otros factores) en la cantidad y la calidad de los enlaces entrantes