Налаштовуємо sitemap для мультісайтового WordPress

Для мене залишається загадкою чому навіть в WordPress 3 немає рідної підтримки sitemap.xml і вже тим-більше її немає для Multisite WordPress (у попередньому бутності WordPress MU). Благо всі користуються чудовим Google (XML) Sitemaps Generator plugin , але на даний момент, якщо Ви спробуєте поставити це порятунок на WP3, то отримаєте в панелі адміністратора «чудове» попередження:
Google XML Sitemaps is not multisite compatible ,
з якого зрозуміло, що поки цей плагін не підтримує мультісайтовий WordPress.

Але це можно виправити, благо вже є готові рішення як грамотно поставити Google (XML) Sitemaps Generator на multisite WordPress , про що і піде мова в цій статті, плюс невелика корисність, яка зробить даний рецепт ще більш універсальним.
Не забуваємо, - автор даного хака Jan Dembowski .

Використовуємо google-sitemap-generator версії 3.2.4

1. Першим ділом вимикаємо попередження у адмінській панелі.

Як-би сумно це не звучало, нам доведеться правити исходники (тому не забуваємо виконувати цей крок при наступній зміні версії Google Sitemap Generator'а, до тих пір, поки він не навчиться підтримувати mu WordPress). Відкриваємо файл wp-content/plugins/google-sitemap-generator/sitemap.php і коментуємо наступний блок коду:

//Check for 3.0 multisite, NOT supported yet!
//If ((defined ('WP_ALLOW_MULTISITE') & & WP_ALLOW_MULTISITE) | | (function_exists ('is_multisite') & & is_multisite ())) {
//If (function_exists ('is_super_admin') & & is_super_admin ()) {
//Add_action ('admin_notices', array ('GoogleSitemapGeneratorLoader', 'AddMultisiteWarning'));
/ /}
/ /
//Return;
/ /}

2. Переписуємо правила для. Htaccess

RewriteRule ^ sitemap.xml sitemap-% {SERVER_NAME}. Xml [L]
RewriteRule ^ sitemap.xml.gz sitemap-% {SERVER_NAME}. Xml.gz [L]

3. Активуємо та налаштовуємо плагін

Йдемо в параметри XML-Sitemap і в розділі «Розташування Вашого файлу з картою сайту» вибираємо пункт «користувача розташування». Далі прописуємо в полях "Абсолютний або відносний шлях до файлу з картою сайту, включаючи ім'я файлу. » і «Заповніть URL до файлу з картою сайту, включаючи ім'я файлу. » свої значення,
наприклад, якщо б мій блог називався handynotes.blog.ru, то значення були-б наступними:
/ home/www/handynotes.blog.ru/sitemap-handynotes.blog.ru.xml і http://handynotes.blog.ru/sitemap-handynotes.blog.ru.xml

4. Розбудовуємо карту сайту

Натискаємо на посилання: «заново побудувати карту сайту» в параметрах XML-Sitemap плагіна. Тільки не забудьте перед цим дати права на запис у корінь сайту, так-як плагін повинен створити в ньому файл sitemap-handynotes.blog.ru.xml (а можливо і sitemap-handynotes.blog.ru.xml.gz, якщо Ви вибрали цю можливість). Після створення права можна повернути в початковий стан.

5. Тестуємо працездатність і дружимо з пошукачами

Викликаємо в браузері http://handynotes.blog.ru/sitemap-handynotes.blog.ru.xml (це для мого прикладу), якщо бачимо результат - чудово! Тепер ми можемо допомогти пошуковим машинам знаходити наш sitemap.xml, для цього створюємо (або дописуємо) файл robots.txt, куди додаємо рядок:

Sitemap: http://handynotes.blog.ru/sitemap-handynotes.blog.ru.xml.gz

Рекомендується вказувати саме на «стиснутий» варіант sitemap.xml.gz, так як це економить трафік (в моєму випадку він у 15 разів менше вихідного) і навантаження на Ваш сайт.
Крім цього Вам доведеться створити окремий robots.txt для кожного домену WordPress (адже Ви використовуєте multisite конфігурацію), про те як це зробити буде в наступній статті .

6. Для наступного домену всі повторюємо з 3-го кроку.

Ян і я лілея надію, що в майбутньому цей чудовий плагін або власне сам WordPress будуть «прозоро» підтримувати роботу з sitemap.xml, а поки що можна спокійно користуватися даними хаком.

Опубліковано: 03/04/11 @ 01:31
Розділ wordpress Блоги

Рекомендуємо:

Екологічна акція: Купи Ebook - збережи ліс! Постав посилання - додай свої 5 копійок!
Дизайн гарний настільки, наскільки він практичний
Як видалити копірайт з шаблону WordPress
Біржа GetGoodLinks.ru для просування під Google
Пошук в мережі інтернет для чайників