URLs SEO con PHP y jQuery

6
2

as 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.


    
    

Ahora crearemos el formulario donde ingresaremos un texto y nos devolverá la misma en URL SEO.


    

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.

jfdghjhthit45

zp8497586rq

6 COMMENTS

  1. 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

  2. bueno brother, excelente aplicacion, me gusta pero no se que es lo que este pasando pero a mi no me funciona ni en locahost ni en mi host de paga, y no se a q se deba, yo pongo esa funcion en un file donde tengo todas mis funciones y lo jalo con require o un include, incluso lo pongo en el mismo file q ejecuto mis pruebas y no funciona para nada, osea no me devuelve el seo , si no me lo devuelve el original, no lo ago con jquery, si no via php nomas, alguna ayuda con respecto a la version dle php quizas, mi version es la 5.2.14. Espero me puedan ayudar, Gracias de ante mano.

Comments are closed.