Foros del Web » Estrategias Digitales y Negocios Online » SEO »

Enlaces con acentos?

Estas en el tema de Enlaces con acentos? en el foro de SEO en Foros del Web. Hola a todos, ya hace un tiempo que tengo instalado el mod seo para mi foro. Ahora me he fijado que las urls las convierte ...
  #1 (permalink)  
Antiguo 14/09/2008, 13:43
Avatar de eminem24  
Fecha de Ingreso: julio-2008
Mensajes: 68
Antigüedad: 15 años, 9 meses
Puntos: 0
Enlaces con acentos?

Hola a todos, ya hace un tiempo que tengo instalado el mod seo para mi foro. Ahora me he fijado que las urls las convierte también con acentos. Quería saber si hay algun problema en que las urls tengan acentos, ¿las siguen reconociendo los buscadores?

Y en el caso de que si que hayan problemas de indexación en buscadores, ¿alguién podría explicar la modificación que debería hacer en el mod seo para solucionarlo?

Gracias anticipadas!
  #2 (permalink)  
Antiguo 14/09/2008, 19:47
Avatar de facundocorradini
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Argentina
Mensajes: 965
Antigüedad: 16 años, 1 mes
Puntos: 53
Respuesta: Enlaces con acentos?

Los caracteres con acento reciben códigos especiales en el estándar UTF-8, que por lo general es el utilizado por los dominios. (ahora en Argentina se permiten acentos, ñs, y diéresis mediante ISO).

Lo normal en los mod para SEO en español es que se reemplaze las letras con acento por su equivalente sin acento, Ñs a N, etc, lo cual es mejor interpretado por los buscadores.

A continuación te dejo una función para tal motivo, lo único que debes hacer es asegurarte de tratar la cadena con esta función antes de mostrarla:
Código:
<?php


function seo_url($url) {

// Tranformamos todo a minusculas

$url = strtolower($url);
// Añaadimos los guiones

$find = array(' ', '&', '\r\n', '\n', '+');
$url = str_replace ($find, '-', $url);

//Rememplazamos caracteres especiales latinos
$find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');

$repl = array('a', 'e', 'i', 'o', 'u', 'n');

$url = str_replace ($find, $repl, $url);


// Eliminamos y Reemplazamos demás caracteres especiales

$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');

$repl = array('', '-', '');

$url = preg_replace ($find, $repl, $url);

return $url;

}
?>
El único detalle: si el sitio ya está online y tiene las urls con acento indexadas, cambiarlas puede suponer un gran riesgo, pues deberías cambiar todos los vínculos y las páginas pueden quedar inaccesibles. Si lo aplicas, hazlo con mucho cuidado.

saludos!
__________________
<<==== Si una respuesta te ayuda, dale al botón de Karma! Haz fluir la buena onda web!
  #3 (permalink)  
Antiguo 15/09/2008, 08:09
Avatar de eminem24  
Fecha de Ingreso: julio-2008
Mensajes: 68
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Enlaces con acentos?

Muchas gracias por el código, lo que pasa es que yo no sabria donde meterlo o como implementarlo con el seo mod. Creo que en mi caso las modificaciones tendria que hacerlas en .htacces :
Cita:
RewriteEngine on

Rewriterule ^(.+)-f([0-9]*).html-(.+)$ ./viewforum.php?f=$2&$3
Rewriterule ^(.+)-(t|p)([0-9]*).html-(.+)$ ./viewtopic.php?$2=$3&$4
Rewriterule ^(.+)-f([0-9]*)s([0-9]*).html-(.+)$ ./viewforum.php?f=$2&start=$3&$4
Rewriterule ^(.+)-(t|p)([0-9]*)s([0-9]*).html-(.+)$ ./viewtopic.php?$2=$3&start=$4&$5

Rewriterule ^(.+)-f([0-9]*).html$ ./viewforum.php?f=$2&$3
Rewriterule ^(.+)-(t|p)([0-9]*).html$ ./viewtopic.php?$2=$3&$4
Rewriterule ^(.+)-f([0-9]*)s([0-9]*).html$ ./viewforum.php?f=$2&start=$3&$4
Rewriterule ^(.+)-(t|p)([0-9]*)s([0-9]*).html$ ./viewtopic.php?$2=$3&start=$4&$5
Tu que crees?
  #4 (permalink)  
Antiguo 15/09/2008, 11:07
Avatar de facundocorradini
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Argentina
Mensajes: 965
Antigüedad: 16 años, 1 mes
Puntos: 53
Respuesta: Enlaces con acentos?

Que entonces lo preferible va a ser que sigas como estás... Si no estás seguro de la programación ni de la influencia de las urls en el posicionamiento y cómo evitar perder las anteriores al renovarlas, entonces puedes armar un gran lío...

Te aconsejo que dejes las urls como están....

saludos!
__________________
<<==== Si una respuesta te ayuda, dale al botón de Karma! Haz fluir la buena onda web!
  #5 (permalink)  
Antiguo 15/09/2008, 16:23
Avatar de eminem24  
Fecha de Ingreso: julio-2008
Mensajes: 68
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Enlaces con acentos?

Pues creo que te voy a hacer caso facundo, con mis escasos conocimientos sobre el tema lo mejor sera que no me arriesgue. Saludos!
  #6 (permalink)  
Antiguo 16/09/2008, 02:54
 
Fecha de Ingreso: febrero-2008
Ubicación: Caravana
Mensajes: 455
Antigüedad: 16 años, 2 meses
Puntos: 30
Respuesta: Enlaces con acentos?

Cita:
Iniciado por facundocorradini Ver Mensaje
Código:
<?php


function seo_url($url) {

// Tranformamos todo a minusculas

$url = strtolower($url);
// Añaadimos los guiones

$find = array(' ', '&', '\r\n', '\n', '+');
$url = str_replace ($find, '-', $url);

//Rememplazamos caracteres especiales latinos
$find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');

$repl = array('a', 'e', 'i', 'o', 'u', 'n');

$url = str_replace ($find, $repl, $url);


// Eliminamos y Reemplazamos demás caracteres especiales

$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');

$repl = array('', '-', '');

$url = preg_replace ($find, $repl, $url);

return $url;

}
?>
justamente estaba haciendo algo asi, y al ver la tuya me he dado cuenta que es mucho mejor que la mia. Con tu permiso la voy a usar
  #7 (permalink)  
Antiguo 16/09/2008, 07:01
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Respuesta: Enlaces con acentos?

Ya puestos, que reeemplace también los acentos cerrados, diéresis, etc., porque no estaría de más.

Salu2
  #8 (permalink)  
Antiguo 16/09/2008, 08:27
Avatar de facundocorradini
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Argentina
Mensajes: 965
Antigüedad: 16 años, 1 mes
Puntos: 53
Respuesta: Enlaces con acentos?

Cita:
Iniciado por 3pies Ver Mensaje
Ya puestos, que reeemplace también los acentos cerrados, diéresis, etc., porque no estaría de más.

Salu2
jaja, genial! me encontraste un bug! (y después dicen que el código abierto no es bueno.... jaja)

Básicamente, luego de haber corregido los acentos y Ñs, el script reemplaza todo lo que no sean letras comunes y números por espacios. Esto evita cualquier problema que pueda surgir con caracteres especiales en las urls. Pero es cierto, las letras con diéresis deberían ser reemplazadas por su equivalente antes de llegar a este bloque.

No les dí demasiada atención porque no esperaba encontrarme con las 3 palabras con diéresis que tiene nuestro idioma, pero hacer esta modificación nos permite una mejor internacionalización del script. Voy a armar una versión 2.0, que reemplaze diéresis y acentos cerrados, para que pueda ser usado en todos los idiomas.


Si ven cualquier otro detalle por favor comentenlo, así entre todos armamos algo bien pulido!

saludos y gracias!
__________________
<<==== Si una respuesta te ayuda, dale al botón de Karma! Haz fluir la buena onda web!

Última edición por facundocorradini; 16/09/2008 a las 08:34
  #9 (permalink)  
Antiguo 17/09/2008, 02:02
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Respuesta: Enlaces con acentos?

Facundocorradini, excelente tu aportación.

Si quieres hilar fino, fino, podrías también quitar los posibles apóstrofes que la gente escriba por error (son más comunes entre otros, en francés, o en catalán), y los acentos circunflejos, ya que nuestro idioma carece de ellos.

De hecho se podrían eliminar determinados caracteres innecesarios, y que podrían originar posibles problemas. Echándole un vistazo al teclado, las comillas dobles, el símbolo del dólar, el porcentaje, etc. etc.

Salu2
  #10 (permalink)  
Antiguo 17/09/2008, 06:06
Avatar de facundocorradini
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Argentina
Mensajes: 965
Antigüedad: 16 años, 1 mes
Puntos: 53
Respuesta: Enlaces con acentos?

Hola 3pies,

Gracias por el aporte!. Lo de los acentos circunflejos (vaya nombre!) lo podemos agregar.

Los apóstrofes y todos los simbolos "raros" son eliminados en el último paso, así que eso ya estaría.

Ahora me toca renegar con las expresiones regulares un rato xD. Cualquier otro detalle que vean, por favor comentenlo. Esta tarde subo la nueva versión.

Saludos!
__________________
<<==== Si una respuesta te ayuda, dale al botón de Karma! Haz fluir la buena onda web!
  #11 (permalink)  
Antiguo 17/09/2008, 08:28
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Respuesta: Enlaces con acentos?

Tienes razón, no me había dado cuenta que el final del todo eliminabas loa caracteres raros. Sorry!.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:44.