Нещодавно, почав активно оновляться плагін WordPress XML-Sitemaps, за місяць було 2-3 оновлення, повністю змінено логіку карти, як вона виглядає зараз, можна подивитися на моїй карті https://www.itroad.ru/sitemap.xml
Ну і пофіг подумав я і не зрадив цьому значення, до пори до часу. Через тиждень після останнього оновлення (Генератор XML-карти сайту для WordPress 4.0.3), я зайшов в webmaster.yandex.ru і побачив, що у мене помилка обробки sitemap, почавши розбиратися я пішов в валідатор, але валідатор взагалі не зміг отримати мій sitemap, видаючи помилку (Unable to copy sitemap content).
При цьому карта по посиланню доступна, Google її бачить, помилок доступу в логах сервера так само не було, про що я і написав в супорт Яндекса.
Через добу мені відповіли:
Найімовірніше, вся справа в тому, що при зверненні до Вашого файлу sitemap повертається заголовок X-Robots-Tag: noindex. Налаштуйте сервер так, щоб цей заголовок не повертався, і тоді помилка повинна перестати виникати.
У Nginx точно нічого не змінювалося, і я вирішив переконатися в тому, що дійсно в заголовку є вказаний тег.
Через сервіс http://www.askapache.com/online-tools/http-headers-tool/ перевірив віддачу sitemap і деяких інших сторінок, на сторінках тега не було, а ось на sitemap був.
| HTTP / 1.1 200 OK Server: nginx / 1.2 |
| .1 Date: Sat, 19 Apr 2014 07: 33: 0 |
| 5 GMT Content-Type: application / x |
| Ml; charset = utf-8 Transfer-Encodi |
| Ng: chunked Connection: keep-aliv |
| EX-Powered-By: PHP / 5.2.17-1.1 X |
| -Pingback: https: //www.itroad.ru/xm |
| lrpc.php X-Robots-Tag: noindex |
| Ontent-Encoding: gzip Vary: Accep |
| T-Encoding |
Стало зрозуміло, що тег віддається генератором sitemap, пройшовшись пошуком по php файлів плагіна, я знайшов потрібне місце в файлі sitemap-core.php
// Do not index the actual XML pages, only process them. // This avoids that the XML sitemaps show up in the search results. if (! headers_sent ()) header ( 'X-Robots-Tag: noindex', true);
Закоментувавши рядок:
if (! headers_sent ()) header ( 'X-Robots-Tag: noindex', true);
я отримав потрібний результат, тег в заголовку перестав віддавати, а Яндекс зміг прочитати мою карту.
Дивна ситуація насправді, бо зовсім недавно і Google і Яндекс обробляли robots.txt (аналогом і продовженням якого є згаданий заголовок) і якщо в robots.txt заборонити доступ до sitemap, його не могли прочитати обидва пошукача, а тепер Google через заборону в robots.txt не читає карту сайту, а якщо заборона через заголовок , то читає. Яндекс ж, не читає її в обох випадках, хоча саме Google став першим підтримувати X-Robots-Tag: noindex і спочатку його реакція була аналогічна реакції Яндекс.
Подивимося, чи виправдається пугалка в коментарях в файлі sitemap-core.php і потраплять мої карти в видачу і якщо потраплять, то я навіть не знаю, як розрулювати цю ситуацію між двома пошуковими системами, вед вказати в заголовку, до якого саме пошуковику відноситься заборона - не можна, а це значить, що доведеться все робити вибірково руками в robots.txt.
Ось як то так, якщо хто в курсі теми, я б із задоволенням поспілкувався.
Дивіться також:
- Ще одна оптимізація сайту Днями мене вже не перший раз ткнули носом в те, що коментарі на сайті не працюють, про проблеми цієї я знав, і [...]
- зміна robots.txt Днями вирішив трошки зайнятися SEO оптимізацією цього сайту)) і підправив файл robots.txt за загальновідомою схемою, [...]
- Після зміни robots.txt все вляглося Як я писав раніше, я зробив досить глобальні зміни в robots.txt, після чого мій сайт майже повністю вилетів [...]
- Каталоги доступні для перегляду. Як так…? Вирішив просканувати цей сайт, так як з WordPress до цієї справи не мав. Виявилося в ньому є купа папок, які [...]
- Оновився плагін Related Posts Оновився плагін Related Posts і замість ще одне версії нудного плагіна який показує список постів схожих [...]
- UPnP в Linux, а точніше, в Debian або торрент / DC ++ через роутер Для того щоб клієнти могли прозоро відкривати порти на шлюзі, був розроблений набір протокол Universal Plug and [...]