Jump to content

SOLUCIONADO: Como modificar 'url_amigable' masivamente


Pack_12

Recommended Posts

Buenas,

En la ficha de producto -> SEO hay un campo de 'url_amigable' que me interesa modificar en muchísimos productos. La razón es que copié muchos de ellos para ampliar catálogo y me faltó "Reestablecer url" para cada producto copiado y modificado, de tal forma que aunque la mayoría de los productos están bien, mucho de ellos tienen url amigable del producto al que copió. 

¿Como podría reinicializar las url amigables? Mee vale la que pone por defecto que es el titulo separado por guiones.

Intenté mirar en tabla ps_product_lang y no veo columna para url amigable. La única sospechosa es link_rewrite que es para otra cosa creo.

Gracias.

Edited by Pack_12 (see edit history)
Link to comment
Share on other sites

UPDATE ps_product_lang SET link_rewrite = REPLACE(name, ' ', '-')

Con esto te sustituiría los espacios en los nombres de producto por guiones en la URL amigable. Lo malo de esto es que te va a meter caracteres "extraños" si los nombres de los productos los tienen, como vocales con tildes y otras cosas así que pueda haber. Lo puedes solucionar con sucesivos replaces en la consulta SQL...

Edited by Prestafan33 (see edit history)
Link to comment
Share on other sites

Activar y desactivar la URL amigable no creo que funcione, ya que lo que hace es usar ese valor o no en la URL, pero no creo que lo regenere de nuevo.

Asegúrate de reemplazar á,é,í,ó,ú,Á,É,Í,Ó,Ú,ñ,Ñ y si los nombres pueden tener cualquier otro carácter (interrogaciones, admiraciones, paréntesis, corchetes, diéresis, cedillas, etc), también.

Para detectar las URLs que dan error puedes usar herramientas como Screaming Frog, pero la versión gratuita está limitada a 1000 URLs.

 

Edited by Prestafan33 (see edit history)
  • Like 1
Link to comment
Share on other sites

No sé cómo estás encadenando los replaces, pero si los haces con diferentes consultas, supongo que el valor que estás tomando en las sucesivas es el de la columna link_rewrite, y no el de "name". Me explico:

UPDATE ps_product_lang SET link_rewrite = REPLACE(name, ' ', '-');
UPDATE ps_product_lang SET link_rewrite = REPLACE(link_rewrite, 'á', 'a');
UPDATE ps_product_lang SET link_rewrite = REPLACE(link_rewrite, 'é', 'e');
UPDATE ps_product_lang SET link_rewrite = REPLACE(link_rewrite, 'í', 'i');
....

 

  • Like 1
Link to comment
Share on other sites

  • 7 months later...

Hola buenas he encontrado este hilo y me parece interesante lo que comentais.

¿Sabéis si al hacer el UPDATE de los nombres al campo link_rewrite se copian las mayúsculas? En caso de copiarse las mayúsculas ¿como se eliminarían?

Gracias de antemano, un  saludo.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...