Por fin he vuelto!!!! Juas, juas, juas

Sigueme en twitter ;)

Berriart

Varios wordpress con una sola instalación sin WP-MU

Cuando instalé la demo dónde se pueden ver mis themes, estuve pensando en cómo hacerlo sin tener que utilizar otra instalación de wordpress. Ya conozco wordpress-mu pero ni me apetecía ponerme a migrar éste a wp-mu, ni creo que fuese lo más apropiado para este caso en el que solo va a haber dos blogs controlados por el mismo usuario.

Wp-mu está más bien pensado para redes de bloggers o para dar un servicio de blogs, dónde un administrador o varios controlan todo y permiten al resto de usuarios mantener sus blogs en la medida que crean oportuna. El control multiusuario que ofrece es bueno, pero muchas veces no es necesario. Así que si quieres tener varios blogs utilizando los mismos archivos de wordpress para todos sin usar wp-mu la solución es la siguiente:

Lo primero que debes hacer es crear una base de datos para cada blog de wordpress que vayas a usar. A diferencia de wp-mu que usa una sola base de datos, nosotos usaremos una para cada blog. Luego, necesitas que todos los dominios (o subdominios) de los blogs apunten al mismo directorio dónde tengas tu instalación de wordpress. Del resto se ocupará el wp-config.php dónde cambiarás este fragmento de código, que es dónde se escoge la base de datos:

// ** MySQL settings ** //
define('DB_NAME', 'wp_database1');

Lo cambiarás por este otro, en el que le decimos que escoja la base de datos dependiendo del nombre del host:

// ** MySQL settings ** //
switch ($_SERVER['HTTP_HOST']) {
     case "urldelblog1.com":
	define('DB_NAME', 'wp_database1');
	break;
     case "urldelblog2.com":
	define('DB_NAME', 'wp_database2');
	break;
     default:
	define('DB_NAME', 'wp_database1');
 }

Se entiende que wp_database1 es la BD que corresponde al dominio urldelblog1.com y wp_database2 la que corresponde a urldelblog2.com, por supuesto deberéis cambiarlo por vuestros datos. Para hacerlo con más de dos blogs solo hay que añadirlos al switch. De esta simple manera tenemos varios blogs de wordpress compartiendo archivos pero totalmente independientes.

La mayor ventaja de este sistema es no tener que cambiar a wp-mu y que el mantenimiento es el mismo que el necesario para un solo blog. Pero una solución tan sencilla tiene por supuesto sus inconvenientes:

  • Al utilizar diferentes bases de datos, cada blog tiene sus usuarios y para poder administrarlos todos necesitas una cuenta en cada uno de ellos.
  • No se pueden vetar themes o plugins a ciertos blogs, todo lo instalado se puede utlizar en todos los blogs.
  • No solo comparten los archivos de instalación, también comparten robots.txt y por tanto comparten también su configuración.

Para la gente con varios blogs que no se decide a instalar wp-mu aquí les dejo mi solución, espero que os sea útil.

7 Comentarios
  1. Pablo [ Beta DIR ]

    Sos un buen programador PHP // mis congratulaciones ;)

  2. Alex

    Muy inteligente…, pero, ¿cómo haces para redireccionar los dominios ‘urldelblog-n’ a ‘urldelblog’ sin que la url visible en el navegador cambie?
    Lo he intentado con php include, pero mi host no permite includes con páginas externas..

    ¿alguna idea?

  3. artberri

    Buenas Alex,

    Para hacer eso, debes configurar tu VirtualHost para que los dos dominios apunten al mismo sitio. En la mayoría de hostings, no podéis hacer eso vosotros mismos, sino que se lo tendríais que pedir al proveedor.

    Saludos.

  4. Leonardo Parada

    Hola : yo de nuevo por aqui..
    Te envie por mail este link
    http://www.dontdream.it/en/multiblog-sites-with-wordpress/
    Alli proponen una solucion inversa..una base de datos varias packs de instalacion wordpress.
    No sera posible mezclar tu solucion con la propuesta en el link asi se tendria una sola instalacion y una sola base de datos??
    Ojala sirva.

  5. anders

    he hecho lo que dien en mi archivo config, pero ahora como puedo ingresar a mi otro blog, tengo k instalar otra vez

  6. scandalo

    ¿Cómo hago para que los subdominios apunten al mismo directorio dónde tengo instalado wordpress?

Deja un comentario

Trackbacks
  1. [...] Luego ya sí, me dispuse a editar el “config.php” para que wordpress supiera los detalles de las bases de datos (que ya tenía creadas) de cada blog, tal y como podéis leer en este artículo:  http://www.berriart.com/2007/11/08/varios-wordpress-con-una-sola-instalacion-sin-wp-mu/ [...]