Мы, веб-мастера и SEO-оптимизаторы, в целом народ работящий и немного параноидальный. Последнее чаще всего случается у тех, кто в этом деле не первый год и имеют кой-какой опыт. Вот казалось бы, что может случиться с новым сайтом, если всё вроде хорошо и он вполне нормально работает?
Ничего, — скажет новичок, и будет в корне не прав. Товарищ! А ты давно проверял метатэги, роботс, сайтмап? А?! Что?! Всё ж нормально в прошлый раз… было? Ну-ну…
На самом деле, сервер где лежит твой сайт, это почти живая вещица, на которой, порой мистическим образом, что-то появляется, а что-то совсем даже наоборот, исчезает.
Вот пример простой, захожу сегодня на один из моих сайтов, проверить как себя sitemap.xml чувствует. Глядь, ан вместо него сообщение об ошибке.
А это, скажу я тебе, довольно-таки… фигово. Поисковые роботы могут обидеться и уйти, обозвав владельца сайта рукозадым неудачником.
Как думаешь, стоит ли сайт рукозадого неудачника того, чтобы рекомендовать его другим пользователям? А если подобных сайтов вагон и большущая тележка? Вот то-то и оно.
Жму Ctrl-U и вывожу исходный код страницы с ошибкой. Вот кусочек, который находится в самом начале. В нём и притаилась ошибка.
Казалось бы, ну подумаешь три пустых строчки вначале. Проблема XML-формата (а на самом деле наша с вами) в том, что браузеры (и не только) очень критичны к ошибкам в синтаксите таких файлов. Вот положено ему начинаться с открывающего тэга <?xml, значит вынь да предъяви. И даже если будут всего-лишь пустые строчки впереди, файл объявляется непригодным к службе.
Почему это случилось со мной?
Откуда же те три пустые строчки взялись на нашу голову? Вариантов масса. Например, обновился какой-нибудь плагин или тема, а там накосячено малость, и вот тебе здрасссти приехали. Еще бывает сайт взломали, фигни всякой навнедряли, вот оно и аукнулось таким странным образом.
Потому, самой первой рекомендацией везде пишут: вырубать плагины (можно все разом, можно по очереди) и смотреть исчезнет ошибка или нет. Еще можно временно переключиться на новую тему оформления. Если ошибка исчезла, значит дело в теме.
В моём же случае всё вообще просто. Дело в том, что я люблю добавлять всякие разные функции и возможности к шаблону (теме) сайта. Вносятся они, как правило, в файл functions.php Вот в нём и нужно искать нестыковки.
Что делать и куда бежать?
Итак, если ты тоже время от времени вносишь всякие финтифлюшки в шаблон, открывай functions.php и ищи открывающие и закрывающие тэги языка PHP.
Смотри картинку. Видишь? Между закрывающим и открывающим тэгами имеются пустые строки! Это то самое!
Просто файл функций обрабатывается вместе с любой страницей сайта, включая сайтмап. Вот эти строки и выходят нам боком.
Убираем их!
Сохраняем functions.php на сервере.
Обновляем sitemap.xml и смотрим.
Всё работает. И дело не в том, как исправить ошибку синтаксического анализа XML в нашем сайтмапе, дело в принципе! Проверять надо! Всё проверять! Всегда! А потом, через некоторое время, проверять снова. Только так! Делайте выводы, господа.
Напишите комментарий