yoast whats what the shortening que page long google for ecommerce consider database url slug

database - the - whats a slug



¿Cuál es la mejor manera de almacenar un URL Slug único? (3)

Estoy tratando de generar algunas URL ''slugs'' para mi sitio web. Se basa en una sola pieza de texto generado por el usuario.

Ahora, hice mi propio método slug, así que no busco un código para eso.

Lo que me pregunto es dónde está el mejor lugar para determinar si esta babosa es única y luego insertarla porque el campo de babosas es un índice de clave única.

Originalmente, tenía un disparador en cualquier inserción (contra la mesa), así que cuando se ingresan los datos, se determina la babosa. Tenía una función que verificaba el número de registros que contenían el texto del usuario (no el slug) y luego generaba el slug y agregaba el recuento de registros + 1 al final del nuevo slug.

p.ej.

Se encuentran 5 registros en la tabla con el mismo contenido generado por el usuario. la babosa para esto ahora es el texto slug con un 6 añadido al final.

Defectos: si el usuario cambia su texto, la babosa no cambia.

De todos modos, me pregunto si otras personas han tratado este tema con anterioridad y encontraron alguna forma de solucionarlo.


La mayoría de los sitios no cambian la babosa por la razón de que si un usuario edita su título, no debe romper ningún enlace a la publicación que ya se haya realizado.


Me gusta un poco la forma en que lo hace. Lo cual es poner tanto la ID como la babosa en la url. Ahora la babosa ya no tiene que ser única. Creo que hulu.com también lo hace de esta manera. Creo que es una solución práctica al problema.


Para la solución de base de datos que ya tiene, si funciona bien puede tener un activador de actualización y actualizar el slug si el contenido cambia, pero debe buscar el golpe de rendimiento.

Para una solución alternativa, puede usar un mapa [cargado en el arranque que contenga babosas existentes] que contenga la clave como la bala y la cuenta existente como valor. Cada vez que genere un slug, determine el valor existente y agregue el valor más alto que en la tabla y luego actualice el mapa.