Exportar WordPress desde desarrollo local a producción

Bueno, acabo de migrar este pseudo blog y las referencias a las imágenes y demas no funcionaban, asi que me puse a buscar soluciones.

Si bien e utilizado WordPress con anterioridad, nunca dejo anotado los pasos para migrar sin renegar un buen rato, asi que hago este post-it para revisar en otra oportunidad.

Paso 1:

Lo tipico, subir el contenido completo de mi directorio de trabajo (/var/www/wordpress/) a mi server (/home/cuenta/public_html/), usando algun cliente FTP.

Paso 2:

Crear la DB en el servidor e importo la misma que tenia en local.

Paso 3:

Al finalizar el upload, modifico el archivo wp-config.php con los datos nuevos de conexión a MySQL.

Nota: el prefijo de las tablas han sido modificadas por cuestiones de seguridad, un nombre aleatorio tipo: 8453sdk_

Tambien los archivos .htaccess son modificdos en linea cuando finalizo la subida.

Paso 4:

Modifico los path’s que estan configurado en los archivos y en este caso un archivo de plugin “WP Super Cache“, que se encuentra en: /public_html/wp-content/advanced-cache.php (nose porque esta hardcode!)

if ( !include_once( '/var/www/wordpress/wp-content/plugins/wp-super-cache/' . 'wp-cache-phase1.php' ) ) {
    if ( !@is_file( '/var/www/wordpress/wp-content/plugins/wp-super-cache/' . 'wp-cache-phase1.php' ) ) {
        define( 'ADVANCEDCACHEPROBLEM', 1 );
        register_shutdown_function( 'wpcache_broken_message' );
    }
}

por:

if ( !include_once( '/home/[cuenta]/public_html/wp-content/plugins/wp-super-cache/' . 'wp-cache-phase1.php' ) ) {
    if ( !@is_file( '/home/[cuenta]/public_html/wp-content/plugins/wp-super-cache/' . 'wp-cache-phase1.php' ) ) {
        define( 'ADVANCEDCACHEPROBLEM', 1 );
        register_shutdown_function( 'wpcache_broken_message' );
    }
}

Ahora mi .htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wordpress/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]
</IfModule>

por:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

Paso 5:

Modificar las referencias de los path’s en la DB, con unas consultas SQL, en la tabla “wp_options” (obvio cambiar el prefijo con el que se eligio):

UPDATE wp_options SET option_value = 'http://dominio.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'http://dominio.com' WHERE option_name = 'home';
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://localhost/wordpress/', 'http://dominio.com/');

Paso 6:

Modificar las referencias en la DB de la tabla “wp_posts”:

UPDATE wp_posts SET guid = REPLACE(guid, 'http://localhost/wordpress/', 'http://dominio.com/');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://localhost/wordpress/', 'http://dominio.com/');

Paso 7:

Finalmente, las de la tabla “wp_postmeta”.

UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://localhost/wordpress/', 'http://dominio.com/');

Fuente: http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries-you-wish-you-knew-earlier/

Deje un comentario