Desde hace más de una década he tenido un sitio Web que he estado cambiando de una plataforma a otra, desde PHP-NUKE hasta ahora Wordpress 3.3.1 pasando por Wordpress Multi-Usuario (o MU).
Dado que el sitio ha sido adaptado varias veces a distintas bases de datos, no me fue tan sencillo eliminar la función de multi-usuario (o multi-sitio) para convertirlo en una instalación simple de Wordpress, pero finalmente lo logré y quiero compartir con ustedes mi experiencia por si se alguna vez ustedes también ven en estos apuros.
Primero lo primero
Primeramente, quiero dejar muy claro que quizá el método que les voy a platicar no sea el más indicado, y que probablemente en sus casos específicos haya mejores y más sencillas formas de llegar a lo mismo, pero también debo decir que yo intenté todo lo que encontré por Internet sin éxito. Por esta razón les aconsejo que únicamente sigan este método si y solo si ya intentaron todas las otras opciones y aún no han logrado convertir su blog de MU a Wordpress sencillo.Asegúrate de leer TODO el contenido de estas instrucciones ANTES de comenzar para que puedas ver si comprendes al 100% lo que estás a punto de hacer y que no dejes tu instalación de Wordpress inservible.

Una vez que descargues tu base de datos y la tengas guardada celosamente en tu disco duro, es tiempo de continuar. Pero antes, asegúrate que todos los blogs estén ya fusionados en un solo blog o que ya no existan, es decir, si tu instalación ya no es multi-site, entonces deberás tener (1) UN solo blog en funcionamiento, el blog principal del cual tú debes tener todos los permisos de administrador.
Comenzamos
- Primero vamos por lo más sencillo. Abre tu archivo
wp-config.php
que está en el directorio base donde tienes instalado Wordpress, y busca la constanteWP_ALLOW_MULTISITE
y cámbiala aFALSE
, o bien, borra el renglón completo. - En el mismo archivo
wp-config.php
borra o encierra entre asteriscos de comentario las siguientes líneas, si no tienes todas y cada una de ellas no te preocupes, solo reúne las que tienes en un solo bloque y coméntalo tal y como te muestro aquí abajo:/*** define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false ); define( 'DOMAIN_CURRENT_SITE', 'localhost' ); define( 'PATH_CURRENT_SITE', '/wordpress/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 ); $base = '/wordpress/'; ***/
- A partir de Wordpress 3.0 se agregaron algunas nuevas llaves de seguridad haciendo un total de 8 que están localizadas precisamente en el archivo
wp-config.php
que estás editando. Busca en el archivo y asegúrate que tengas todas y cada una de dichas llaves de seguridad, incluyendoNONCE_SALT
y que el párrafo luzca similar a este:define('AUTH_KEY', '582%]F(.Cd=4V_=2{J3ixPA+L3y8/;]bDN!yw8}aT:?Wa`V{s5b:fxr#v8`9WEO~'); define('SECURE_AUTH_KEY', '2qIRZ?Ly-;(g7Mur-a!|}cj^{!rZ8 JwZ~6-uL)8cvv| psQ/pa!Ut8[Cp+dCh?:'); define('LOGGED_IN_KEY', '@jkjd!!T9&sA85URa vW+/r).j+%>ecZVgg:bqP?V9O_`Cx`!tLu$!hvBu!|j~tC'); define('NONCE_KEY', '8UJopby#q@dGK.xa+yS$QV/[HcTQmJtutSIf-3eOo/r!mZaOiD~&+Hc3p]e~m^,Z'); define('AUTH_SALT', '/Vf|Xw2$8o++7ZkEFv2A@ptb>[++TH*FN3a~b~$|$W21gVB;{q1|pwclYW9A:`Q!'); define('SECURE_AUTH_SALT', ',*|p>iK(z}l!MT^($`.:F(KsRTX8SPt7Ljv^8#i5H%95@KynY?WpoO9r7W$,$zti'); define('LOGGED_IN_SALT', 'uTRYEtY+4[nP@~hfiAElu().|!F|(@Q)L@}r>N{(S2!}%#>+tS8J1,eA3!+FQU9='); define('NONCE_SALT', 'fBB]_%,@! hffx ;x6kO%?`tsUIX:^y| pt:(a|CySwYzxb>O*|F:f2Yed|= jNK');
- Ahora busca el archivo
.htaccess
en el mismo directorio donde encontrastewp-config.php
. Si no lo ves, quizá esté en modo oculto y debas configurar tu aplicación para que pueda ver archivos ocultos. Una vez que hayas abierto el archivo en modo de edición, borra las siguientes líneas:#BEGIN WordPress RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] # uploaded files RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L] # END WordPress
- Ahora procede a recrear los enlaces permanentes y agregar las líneas necesarias a
.htaccess (wp-admin/options-permalink.php)
- Abre ahora una sesión de MySQL y de la tabla
wp_users
borraremos los camposspam
ydeleted
. Puedes usar el siguiente comando SQL:ALTER TABLE `wp_users` DROP `spam`, DROP `deleted`;
- También podemos borrar las siguientes tablas (ajusta el prefijo si es necesario):
Puedes usar el siguiente comando SQL:- wp_blogs
- wp_blog_versions
- wp_registration_log
- wp_signups
- wp_site
- wp_sitemeta
- wp_sitecategories
DROP TABLE `wp_blogs`, `wp_blog_versions`, `wp_registration_log`, `wp_signups`, `wp_site`, `wp_sitemeta`, `wp_sitecategories`;
- El siguiente paso quizá no sea necesario para todos, pero en mi caso si lo tuve que llevar a cabo. Si las tablas de la base de datos de tu blog actual contienen el prefijo
WP_1_
, entonces quizá debas renombrar cada una de esas tablas quitando el1
y dejando solamenteWP_
y el nombre de la tabla. Ejemplo:
Cambiar el nombre dewp_1_links
porwp_links
- En este punto no intentes entrar a tu instalación WordPress porque probablemente no tendrás los permisos necesarios, ya que eres administrador para el blog wp_1_ pero no para el blog wp_. Por esto ahora debemos transferir todos esos permisos administrativos cambiando todas las instancias donde aparezca wp_1 para wp_. Esto lo haremos primeramente haciendo una búsqueda en MySQL por todas estas instancias donde la frase wp_1 exista en cualquier tabla. Toma nota de las tablas en que aparecen porque vamos a necesitar saber en cuáles campos aparece wp_1_ para cambiarlo por wp_.
Bien, supongamos que la frase wp_1_ aparece múltiples veces en la tablawp_usermeta
. Debemos ver en cuál campo aparece. Si todo está correcto, el campo que lo contiene debe sermeta_key
, pero verifica para confirmar.
Una vez confirmado, vamos a correr un pequeño comando para actualizar la tabla con la nueva información de reemplazo. Abre una ventana de comando para MySQL y escribe lo siguiente:
UPDATE [tabla] SET [campo] = REPLACE([campo], "wp_1_", "wp_");
Cambia[tabla]
por el nombre de la tabla y[campo]
por el nombre del campo. Por ejemplo, en el caso de la tablawp_usermeta
:
UPDATE wp_usermeta SET meta_key = REPLACE(meta_key, "wp_1_", "wp_");
"El Código es Poesía" - Wordpress
Comentarios