Tutorial: Crear URLs cortas personalizadas en Wordpress con RewriteRules

  • Autor Autor juanjosezg
  • Fecha de inicio Fecha de inicio

juanjosezg

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Como bien sabemos twitter y facebook son dos herramientas geniales para promocionar nuestros sitios y para publicar enlaces en estas dos redes es necesario usar URL en un formato corto.

Estas URL feas mucha gente las crea utilizando el API de servicios como tr.im, Tinyurl.com, Ito.com.mx o bit.ly. Twitter permite 30 caracteres antes de automáticamente cambiar la URL.

Pero en realidad es necesario? si nuestro dominio tiene una url corta creo que es mucho mas elegante brindar al usuario la URL ya corta para que este sepa que apunta a nuestro sitio pero sin comprometer nuestras bonitas URL de nuestros Permanlinks.

Actualmente hay 3 plug-ins que suponen que hacen el trabajo de minimizar URL pero son muy malos, complicados o realizan Carga extra a la Base de Datos sin una razón lógica. Yo decidí hacer algo mas sencillo aprovechando de los URL feos que wordpress brinda por default y su capacidad para redireccionarlos todo con las RewriteRules de Apache.

Para hacer URL tipo partimos del echo que cada post tiene como url natural dentro del CSM de tipo
Insertar CODE, HTML o PHP:
bitslab.net/?p=2503
y lo que buscamos es
Insertar CODE, HTML o PHP:
http://bitslab.net/2503
(Es recomendable que tus URL actuales sean distintas a las que por default wordpress maneja).

Lo único que tenemos que hacer es alterar el .htaccess (que esta en la carpeta de inicio de tu instalación actual de wordpress, en / ) y agregar la siguientes lineas al inicio del archivo (repito, el .htaccsess). Puedes usar un cliente ftp conectado a tu servidor y un editor de texto como notepad:

Insertar CODE, HTML o PHP:
# URL Corta
RewriteEngine On
RewriteRule ^([0-9]+)$ ?p=$1 [R=301,L]

Como ves sustituimos redireccionamos de manera permanete un /id a un /?p=id. Muy sencillo ahora si queremos imprimir la URL para nuestros usuarios dentro del sitio utilizamos
PHP:
<?php echo get_bloginfo('url')."/".$post->ID; ?>
en lugar del tag de get_permanlink() normal. Igual construimos de forma manual la URL.


Si te sirve recuerda el dedito verde!
 
Última edición: