2009. július 11.

WordPress MU: sitemap minden domainnak

sitemapexample-thumbKerestem valami plugint, amivel megoldható, hogy minden WordPress MU által kiszolgált domainnak legyen sitemapja. Konkrétan ilyen plugint nem találtam, azonban a Google XML Sitemaps pluginnal megoldható, ha egy kicsit módosítunk rajta.

WordPress MU 2.8.1 és Google XML Sitemaps 3.1.4 verziókat használtam. Elvileg megy korábbi MU-val is.

  1. Töltsük le a Google XML Sitemapsot, csomagoljuk ki, majd a sitemap-core.php fájlt nyissuk meg.
  2. Ebben keressük meg a következő kódot (kétszer lesz benne, nekünk a második kell). Nálam ez a 954. sor
    return $res;
  3. Ez elé a kód elé (felette egy üres sorba) szúrjuk be a következőt:
    global $blog_id;
    if ($blog_id != 1)
    {$res .= 'wp-content/blogs.dir/' . $blog_id . '/files/';}
  4. Keressük meg a WP MU wp-includes/functions.php fájlját, és a
    'htm|html' => 'text/html',

    után egy új sorba írjuk be ezt:

    'xml' => 'text/xml',
  5. Ugyanezt tegyük meg a wp-content/blogs.php fájllal is.
  6. Nyissuk meg a gyökérben lévő .htacess fájlt, keressük meg a következő sort:
    RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]

    Szúrjuk be utána még ezt a két sort:

    RewriteRule ^(.*/)?sitemap.xml wp-content/blogs.php?file=sitemap.xml [L]
    RewriteRule ^(.*/)?sitemap.xml.gz wp-content/blogs.php?file=sitemap.xml.gz [L]
  7. A WP MU-ban a Site Admin >Optionson belül, az engedélyezett fájltípusokhoz írjuk be még a következőket:
    xml xml.gz
  8. Kapcsoljuk be a plugint (vagy csak ott ahol használni szeretnénk, vagy globálisan).
  9. Ezután beállítások >XML-Sitemap a fő blognál (domain.tld)
  10. Az oldaltérkép fájl elérésénél válasszuk a manuálist, és értéknek írjuk be még (az automatikust nézzük meg, hogy mit írt ki ott, végül is csak a sitemap.xml helyére írjuk be ezt az elérést és másoljuk a manuális mezőbe, majd válasszuk, hogy kézzel állítjuk be):
    wp-content/blogs.dir/1/files/sitemap.xml
  11. Mentsük a beállításokat.
  12. Ha még nem töltöttünk fel fájlt a blogon (tehát nincs wp-content/blogs.dir/ID/files/ mappa), töltsünk fel valamit.
  13. Készítsük el az oldaltérképet.
  14. Menjünk egy aldomainen lévő oldalba (ha itt sem töltöttek még fel fájlt, akkor azt nekünk meg kell tenni), majd XML-Sitemaps beállítások. Itt az elérési útnál ilyet kell látnunk:
    elérési/ut/valami/wp-content/blogs.dir/ID/files/sitemap.xml
    ID helyett a blog azonosítója (egy szám)
  15. Ellenőrizzük, hogy megvan e a domain.tld/sitemap.xml valamint aldomain.domaint.tld/sitemap.xml fájlok.

Innét vettem.


1 hozzászólás

  • Kösz, nagyon hasznos volt!

Szólj hozzá