extras » e-books       -       Multisite » Blogpocket | Acordes modernos | Mariposas en la maleta
Icono Twitter  Icono Facebook  Blogpocket Multisite en Google+  Icono Google+  Icono RSS


Google Sitemap Generator y WordPress 3.0 Multisite

Por  | 16.08.2010  | HerramientastipsWordpress

WP MultidominioEn un post anterior titulado WordPress 3.0 multisite: cómo instalarlo (I) vimos que Jan Dembowski proponía una solución para que el plugin Google Sitemap Generator funcionase correctamente en una instalación de WordPress multidominio. Es una solución que funciona pero que requiere configurar el plugin con “Custom location” y definir distintos valores del path, adonde se alojará el sitemap, según el subdominio.

Sin embargo, en uno de los comentarios del post Google XML Sitemaps and WordPress Multisite, se aporta una alternativa mucho más elegante. A continuación, los pasos a seguir:

1. Modificar el archivo sitemap.php para comentar las líneas 53 a 58.

2. Modificar el archivo sitemap-core.php cambiando el código correspondiente a la función GetXmlPath por el siguiente:

function GetXmlPath($forceAuto=false) {
if(!$forceAuto && $this->GetOption(“b_location_mode”)==”manual”) {
$xml_path = $this->GetOption(“b_filename_manual”);
} else {
$xml_path = $this->GetHomePath() . $this->GetOption(“b_filename”);
}
if((defined(‘WP_ALLOW_MULTISITE’) && WP_ALLOW_MULTISITE) || (function_exists(‘is_multisite’) && is_multisite())) {
return str_replace(‘sitemap.xml’, ‘sitemaps/sitemap.’.$_SERVER['HTTP_HOST'].’.xml’, $xml_path);
}
return $xml_path;
}

3. Crear una carpeta en el directorio raiz llamado “sitemaps” y autorizarlo 777 (permiso para escribir).

4. Activar el plugin para que lo vea toda la red (opción “Activate Network”).

5. Poner en la configuración del plugin “Automatic detection” y nombre del sitemap: sitemap.xml, como si no tuviéramos una instalación multidominio.

6. Incluir la slguientes líneas en el archivo htaccess:

RewriteRule ^sitemap.xml sitemaps/sitemap.%{SERVER_NAME}.xml [L]
RewriteRule ^sitemap.xml.gz sitemaps/sitemap.%{SERVER_NAME}.xml.gz [L]

Suponiendo que tengamos una instalación con el dominio principal “misitio.com” y un subdominio “sitio1.misitio.com”, el plugin creará los sitemaps en “misitio.com/sitemaps” independientemente desde el sitio de nuestra red en donde se esté ejecutando. El de misitio.com se llamará “sitemap.www.misitio.com.xml” y el de “sitio1.misitio.com” se reconocerá con el nombre “sitemap.sitio1.misitio.com.xml”.

Con las reglas del htaccess, la búsqueda de “www.misitio.com/sitemap.xml” terminará en “www.misitio.com/sitemaps/sitemap.www.misitio.com.xml” y el de “sitio1.misitio.com/sitemap.xml” en “sitio1.misitio.com/sitemaps/sitemap.sitio1.misitio.com.xml”.

Todo ello implica la modificación del plugin, claro está, pero a cambio podemos seguir utilizándolo hasta que salga una versión compatible con WP 3.0 multisite.

Posts relacionados

Un comentario a “Google Sitemap Generator y WordPress 3.0 Multisite”

  1. Juan Dice:

    No puedo acceder a la configuración del plugin después de haber completado los 4 primeros pasos.

    Tengo un banner que me dice que el plugin no será activado a menos que desactive la configuración multisitio.

    Qué estoy haciendo mal?

    Gracias
    Juan


Haz un comentario:

Los comentarios están moderados y puede trasncurrir un tiempo hasta que se publiquen.

Puedes participar en la conversación utilizando tu cuenta de Facebook (opción recomendada) o el sistema clásico de WordPress.

Facebook

Si eliges "publicar en Facebook" tu mensaje se verá en tu biografía de Facebook inmediatamente. Aquí no aparecerá hasta que se apruebe.


WordPress

Si lo prefieres puedes comentar con el sistema clásico de WordPress.

XHTML: Se pueden utilizar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>