Проблема с sitemap.xml | Заметки SEO-новичка о заработке в интернете и не только...

Проблема с sitemap.xml

Постовой: Группа Компаний МОБИ ГРУПП предлагает торговое оборудование по низким ценам.

В статье о robots.txt для Wordpress и DLE упоминал о том, что начал заниматься файлом robots не просто так, а потому что были проблемы с sitemap.xml на двух warez-порталах. Оба эти warez-портала используют CMS DataLife Engine версии 8.2. По-умолчанию в них встроен модуль Карта сайта для Google и Yandex, который предназначен для создания карт сайта для поисковых систем Google и Yandex.


С этим модулем и случилась проблема. Этот модуль формировал sitemap.xml, я добавлял его в админ-панелях Яндекса и Гугла. Сайты вроде бы нормально лезли в индекс, но как мне казалось что-то было не так. Позднее заметил ошибки в панелях вебмастеров у файлов sitemap.xml. Гугл писал про ошибку чтения sitemap и указывал что проиндексировал только 1 страницу (главную).
Яндекс нормально индексировал и к тому моменту в индексе было уже более 100 страниц, но в панели вебмастера у яши тоже были ошибки в sitemap. Начал разбираться что не так.

Оказалась все довольно просто, скрипт-граббер новостей с DLE сайтов хорошо работал, но в нем была ошибка. Он в базу mysql портала добавлял название, которое использовалось на сайте откуда он брал новости. Названия были длинными и имени пробелы. Это же название скрипт помещал в поле отвечающее за ЧПУ. В итоге получалось, что все URL были длинными и имени пробелы. Браузеры нормально открывают такие страницы. Вопрос в том, что хорошо ли индексируют такие страницы боты поисковиков.

В индекс попадали страницы с такими урлами. При использовании модуля создания sitemap.xml в DLE, легко создавались файлы sitemap, но поисковики отказывались его читать. Проблема оказалась в этих URL с пробелами. Вместо пробелов в URL должен использоваться спецсимвол %20, некоторый поисковики вообще используют знак +, короче тут путаница произошла.

Расскажу по подробнее про URL. Единый указатель ресурсов (англ. URL — Uniform Resource Locator) — единообразный локатор (определитель местонахождения) ресурса. Изначально локатор URL был разработан как система для максимально естественного указания на местонахождения ресурсов в сети. Локатор должен был быть легко расширяемым и использовать лишь ограниченный набор ASCII‐символов (к примеру, пробел никогда не применяется в URL): латинские буквы, цифры и лишь некоторые знаки препинания. Это и есть недостаток URL. Если мы захотим использовать в URL символы кириллицы, или иероглифы, или, скажем, специфические символы французского языка, то нужные нам символы должны быть перекодированы особым образом.

Перекодирование происходит в два этапа. Первый этап, каждый символ кириллицы кодируется в Юникоде (UTF-8) в последовательность из двух байтов. Второй этап, каждый байт записывается в шестнадцатеричном представлении. Пример, буква М → D0 и 9C → %D0%9C. Перед каждым шестнадцатеричном числом должен ставиться знак процента (%).

Так вот sitemap содержал URL просто с пробелами, модуль писал URL как он есть. Гугл читая файл sitemap доходил до строки с URL, в котором есть пробел и отказывался дальше читать его. Я решил, что надо заменить пробелы на %20. Заменив, и попробовав открыть такой URL браузером, увидел нужную страницу. Ну подумав, что победил проблему, скормил Google новый sitemap.xml. Не тут то было, такой sitemap гугл тоже отказался прочитать.

Даже и не знаю в чем теперь проблема, то ли google ошибается , то ли sitemap еще не доработали. Может быть я что-то не понял. Бросил эту затею, но карту сайта в xml все-таки сделал и заставил прочитать ее поисковикам. Поменял ЧПУ в админке DLE с нормального вида на “?newsid=номер поста”. С такими URL все нормально работает и sitemap читается.

Вывод: не старайтесь использовать адреса страниц с пробелами. Вместо пробелов нужно использовать знак -.

P.S. Жена нашла недорогой интернет магазин детских игрушек Zapf, заказала куклу для племяшки. Для своего сынишки мы выбрали конструктор Lego из магазина lego-online.





    Отзывов (2) на пост «Проблема с sitemap.xml»



    1. Frost

      Спасибо. У меня точна такая же проблема с грабером и sitemap.xml. Благодаря Вам файл sitemap.xml был принят без ошибок!

    2. Epoxa

      Незашто ;-)


    Ваш отзыв на пост Проблема с sitemap.xml