Es frecuente que por las razones que sean, no sólo de producción en plan: “quiero cambiar de dominio” sino por pruebas para poder echar a andar un proyecto WordPress en un servidor que no está en producción, tengamos que cambiar la dirección del mismo.
La propia arquitectura de WordPress está pensada para ser flexible en este aspecto. En este artículo, comentaremos cómo hacerlo desde el punto de vista técnico, no entraremos en cuestiones aparte como informar a los buscadores sobre el cambio de URL, básico para evitar pérdida de posicionamiento.
Lo primero que debemos hacer es asegurarnos de que el contenido PHP, JavaScript, imágenes, etc. esté accesible desde el nuevo dominio. Si cambiamos de servidor debería copiarlo usando FTP, SCP o la opción que más os guste.
Este es el punto más interesante. ¿Por qué? A priori, en muchos manuales leeremos que sólo hay que cambiar en la tabla de opciones, wp_options, los siguiente valores:
Sin embargo hay detalles que se escapan: la tabla wp_post con las entradas y wp_options, van a estar llenas de referencias al dominio antiguo.
Bueno, la primera solución que se nos ocurriría, sería o montar una consulta o un script para que trate estos datos y haga una actualización del dominio antiguo al nuevo, o tirar por el camino del dump, el reemplazo masivo en el fichero SQL y la posterior importación. Sin embargo, no es tan fácil.
Las tablas en WordPress tienen un diseño que imposibilita hacer relaciones 1:N cuando no las hay. Me explico. Soy el plugin tal y quiero almacenar datos referentes a mí en un total de 10 instancias. Podría:
Antes de entrar a hablar de la serialización en PHP os recuerdo que si cambiáis de servidor, deberéis:
La idea de serialize() es obtener una cadena con la información de varios valores que puede ser prácticamente cualquier cosa y tener además la herramienta contraria, unserialize(). La idea es similar a JSON pero tiene sus pros y contras (ya hablaremos otro día de ello con más tiempo).
El problema de usar serialize() es que resulta imposible hacer un reemplazo directamente, porque la cadena que genera es sensible como podéis imaginar a su tamaño y a una serie de tokens que incorpora internamente.
La solución: usar esta herramienta de David Covene llamada Search and replace for WordPress Databases. Deberemos instalarla en nuestro servidor y ejecutarla. Sólo deberemos decir sobre qué tablas queremos hacer la operación de búsqueda y reemplazo y qué cadenas queremos reemplazar (en nuestro caso serán http://dominio_antiguo por http://dominio_nuevo).
Y con esto estaría terminada la modificación de dirección o dominio de nuestro blog.
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Buen post! También hay que tener en cuenta el parámetro upload_path de wp_options si cambiamos de alojamiento, ya que contiene la ruta a donde se suben los archivos desde la interfaz de administración.
Justo por eso, para evitar tener que cambiar X parámetros y que encima algunos estén serializados hay que usar la herramienta de David Covene.
Ya te digo que tiene hasta el visto bueno de la documentación oficial del proyecto WordPress :)
Porque no usar unicamente 303 redirect. es mas simple. total..la pocision no se pierde.y se puede usar feed wordpress para recuperar los post. no se yo hice eso en mi dominio anitguo 50sombras,ya que lo baneo google y lo pase a http://50sombrasdemujer.com/ y funciona. si no escriban 50 sombras de grey en google y veran que aparesco primero.
Lo primero, comentarte que no apareces primero, apareces en la décima posición. Ten cuidado cuando haces búsquedas en Google, hazlas con una sesión de incógnito que si no, readapta los resultados a tus preferencias personales.
Respecto lo que me comentas del 303, puedes hacerlo, pero no dejas de estar todo el rato redirigiendo y con este método es más limpio en ese sentido, el blog "sabe" que es el nuevo sitio.