He visto algunas formas de actualizar los URL de los wordpress, se realiza esto por varios motivos:
- Cambio de url, porque no se renovó el dominio
- Otro de los motivos es por que cambiamos de http a https, y aunque existen plugins (he utilizado really simple SSL) que te lo realizan, tambien es una alternativa hacerla por phpmyadmin y luego instalar el SSL, ya sea gratuito (Lets encrypt) o pagado
- Cambio porque estaba en un sitio de prueba o de desarrollo. En mi caso voy a mover mi wordpress de https://hosteo.ec/2024 a https://hosteo.ec
Un programa que resuelve el problema, aunque no fue pensado de esa manera es el updraftplus que te permite respaldar la el sitio web y puedes restaurarlo en el mismo sitio web o en otro url.
Bueno aqui los pasos para actualizar el URL a través de PHPMyadmin.
Son 4 lineas de sql a ejecutar. La primera línea permite cambiar la dirección principal, la que configuramos cuando instalamos el wordpress. Debemos considerar que prefijo le pusimos a las tablas, en mi caso el prefijo es hs_, por defecto viene el wp_ .
Así mismo, notar que la url que vamos a colocar no terminar con el /
UPDATE hs_options SET option_value = replace(option_value, 'https://hosteo.ec/2024', 'https://hosteo.ec') WHERE option_name = 'home' OR option_name = 'siteurl';
Si por ahi tienen miedo de enviar un update sin where … pueden utilizar el boton simular consulta, les debe devolver que van a cambiar dos registros.
Luego de eso ya pueden ejecutar y esas dos registros se debieron actualizar.
2. La segunda linea es:
UPDATE hs_posts SET guid = replace(guid, 'https://hosteo.ec/2024', 'https://hosteo.ec');
Igual considerar cambiar el prefijo de la tabla y las url de origen y destino. Si simulan la consulta no va a ser el valor igual para todos, dependen cuantas paginas, entradas y muchos factores más.
3. La tercera linea, al igual que la segunda es de los posts, ahí si no se exactamente como utiliza cada uno de los registros, pero para que funcione correctamente al cambiar la URL, se debe cambiar el guid y el post_content.
UPDATE hs_posts SET post_content = replace (post_content, 'https://hosteo.ec/2024', 'https://hosteo.ec')
Tampoco necesariamente van a ser iguales a los registros modificados con la segunda línea.
4. Cuarta y última línea. Creería que esta línea sirve para las imagenes y eso
UPDATE hs_postmeta SET meta_value = replace(meta_value, 'https://hosteo.ec/2024', 'https://hosteo.ec');
Listo … ahora la pregunta con esto termina de funcionar ??
no necesariamente … hay que revisar dependiendo de los plugins adicionales que tienen instalado, a veces existen firewalls que igual no dejan que funcione correctamente, plugins desactualizados, php obsoletos. htaccess con bloqueos, archivos de usuarios.
Hay que chequear que todo quede correctamente.