Las URLs amigables se caracterizan por ser descriptivas y fáciles de escribir, también por tener un formato de caracteres alfanuméricos en minúsculas, separando las palabras por guiones “-”.
En este tutorial aprenderemos como realizar un formulario que nos devuelva la URL SEO en base al titulo.

1. Estructura HTML
Dentro del head incluiremos la librería jQuery desde Google y crearemos una función que nos retornara una petición Ajax.
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
var send = function(){
$.ajax({ url: "index.php", data: {title: $("#title").val() }, success: function(d){
$('#urlseo').html("<strong>permalink: </strong>"+d);
}});
}
</script>
</head>
Ahora crearemos el formulario donde ingresaremos un texto y nos devolverá la misma en URL SEO.
<body>
<form action="" style="width:500px;">
<input type="text" id="title" name="title"/>
<input type="button" id="ssend" name="ssend" value="Generar" onclick="send()" />
<div id="urlseo"></div>
</form>
</body>
2. Creando la función PHP
Esta función PHP nos filtrara los caracteres alfanuméricos y guiones eliminando el resto, y de esta manera generaremos la URL.
Este script lo pegaremos en el mismo archivo definido en la función javascript, para que retorne la URL.
<?php
function getUrlAmigable($s){
$s = strtolower($s);
$s = ereg_replace("[áàâãäª@]","a",$s);
$s = ereg_replace("[éèêë]","e",$s);
$s = ereg_replace("[íìîï]","i",$s);
$s = ereg_replace("[óòôõºö]","o",$s);
$s = ereg_replace("[úùûü]","u",$s);
$s = ereg_replace("[ç]","c",$s);
$s = ereg_replace("[ñ]","n",$s);
$s = preg_replace( "/[^a-zA-Z0-9\-]/", "-", $s );
$s = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $s);
return trim($s, '-');
}
if(isset($_GET['title'])){
$url = getUrlAmigable(utf8_decode($_GET['title']));
echo $url;exit;
}
?>
Ejemplo
En este ejemplo podemos testear la función PHP generando URLs SEO, veremos que elimina las tildes y caracteres raros.





January 28th, 2010 at 8:01 pm
Social comments and analytics for this post…
This post was mentioned on Facebook by Cesar Mancilla: URLs SEO con PHP y jQuery | http://tinyurl.com/y8wkdtq...
March 14th, 2010 at 10:31 pm
y que paso con las mismas letras pero mayusculas??? Â È Ì Ò Ù
March 15th, 2010 at 2:23 pm
@Pazador ,
Al mandar una cadena a la funcion getUrlAmigable() se hace un strtolower para solo buscar tildes en letras minusculas.
Saludos.
May 13th, 2010 at 4:18 am
Hola el script funciona perfecto, una gran ayuda para hacer urlseo pero no sé meter el resultado del
en un campo input para insertar el resultado en una base de datos mysql.
Gracias
May 13th, 2010 at 9:29 am
como meto esto en un input para guardarlo en una base de datos