Пустая строка в фиде RSS WordPress доставляет массу неприятностей. Попробуем от нее избавиться.
Недавно столкнулся с проблемой, появилась пустая строка в фиде WordPress. Причем пустая строка появлялась только в /feed и его представлениях, в том числе и ленты для Яндекс.Турбо, что делало фиды нечитаемыми для некоторых парсеров.
Погуглив удалось выяснить основные причины появления пустой строки в /feed.
- Некорректная работа одного из плагинов
- Лишние символы в wp-config.php
- Конструкции вида “?><?php” в файле функций темы
Самое смешное что перед doctype в html пустой строки не было.
Я грешил на плагин ip-geo-block, он там в wp-config.php рисует не совсем корректную директиву, но все оказалось не так.
Дело в том, что у меня была рабочая копия сайта с абсолютно идентичным набором плагинов за исключением одного – там не был установлен плагин Wp-SuperCashe!
И вот что удивительно, на копии косяка с пустой строкой не было.
В принципе пустая строка не особо и мешает если это html, но для xml пустая строка это критично.
Парсер спотыкается об эту пустую строку и выдает ошибку.
Я уже было решил писать какую-нибудь парсилку для парсера которая вырезала пустую строку, но тут обнаружил что эту гадость делает плагин Wp-SuperCashe.
Еще забавней был фикс этой баги: я просто отключил Wp-SuperCashe и удалил лишнюю строку в wp-config.php и, о чудо! Пустая строка исчезла!
Подключил обратно Wp-SuperCashe и пустой строки в фиде не обнаружил.
Старый добрый способ “попробуйте выключить и включить” оказался действенным как обычно.
Так что если кому-то этот небольшой мануал поможет решить проблему с пустой строкой в фиде WordPress буду только рад.
Удачи!
Об авторе