Адрес ленты неизвестен? Введите адрес сайта — если в его коде объявлена лента, мы найдём её сами. Понимаем RSS 2.0, RSS 1.0 (RDF), Atom 1.0 и JSON Feed.
Автоматическая рассылка новых статей строится поверх RSS: сервис забирает ленту по расписанию и превращает свежие записи в письмо. Требования к ленте здесь жёстче, чем у обычной читалки, — и половина проблем с «письмо не ушло» или «в письме пустые блоки» лечится правкой пары тегов в шаблоне ленты.
После смены движка, темы или переезда на HTTPS лента часто ломается незаметно: меняется адрес, пропадает guid, даты начинают отдаваться в другом формате, перед прологом XML появляется лишний перевод строки. Подписчики просто перестают получать обновления, и узнаёте вы об этом нескоро.
Агрегаторы, партнёры и подкаст-платформы принимают контент по RSS и молча отказываются от лент с ошибками — обычно без внятного объяснения. Прогон через валидатор до подачи заявки экономит недели переписки с модерацией.
Незакрытые теги, голые амперсанды, неэкранированный HTML в описании, необъявленные пространства имён — каждая находка с номером строки и столбца. Отдельно ловим то, что глазами не увидеть: BOM в начале файла и пробелы перед объявлением XML.
Классика жанра: движок отдаёт дату в виде 2026-07-21T10:00:00+03:00, а RSS 2.0 требует «Tue, 21 Jul 2026 10:00:00 +0300». Лента при этом выглядит рабочей, но сортировка и определение новых записей ломаются. Проверяем каждую запись и подсказываем правильную запись даты.
Главный блок отчёта. Проверяем ровно то, из чего DashaMail собирает выпуск: заголовки и ссылки записей, описания, картинки во вложениях, полный текст в content:encoded, разбор даты. На выходе — список макросов шаблона письма с отметкой, какие из них дадут содержимое, а какие пустоту.
Частая история: в ленте изображения переданы через media:content или просто картинкой внутри описания, а рассылка берёт их только из тега enclosure. Валидатор видит оба варианта и прямо говорит, что именно окажется в письме — до того, как выпуск уйдёт подписчикам.
Показываем последние записи так, как их прочитает робот: заголовок, ссылка, дата, картинка и начало текста. Если в превью пусто там, где на сайте контент есть, — значит потребители ленты видят её иначе, чем вы ожидаете.
Есть ли ETag и Last-Modified, отвечает ли сервер 304 на условный запрос, включено ли сжатие, не спрятана ли лента за цепочкой редиректов. Читалки опрашивают ленту круглосуточно — без корректного кэширования это заметный лишний трафик.
Не обязательно. Браузер очень терпим: он покажет содержимое даже там, где строгий XML-парсер остановится с ошибкой, и не станет придираться к формату даты или отсутствию обязательных тегов. Роботы устроены иначе — читалка, агрегатор или сервис рассылок разбирают ленту по спецификации и при первой же ошибке отказываются от неё целиком. Поэтому «у меня всё открывается» и «лента валидна» — разные утверждения.
Самая частая причина — даты. Рассылка сравнивает дату записи с датой прошлого выпуска, чтобы понять, что появилось нового. Если pubDate отдаётся в неподдерживаемом формате, отсутствует или содержит будущее время, новых записей просто «не находится» и письмо не создаётся. Вторая по частоте причина — порядок: если лента отсортирована не от новых к старым, обход прерывается на первой старой записи. Обе ситуации валидатор показывает отдельными пунктами в блоке про рассылку.
Да, и почти всегда правкой шаблона ленты. Картинку записи рассылка берёт из вложения — тега enclosure с типом image. Если ваш движок кладёт изображение в media:content, media:thumbnail или вставляет его прямо в текст описания, для рассылки картинки как бы нет. В WordPress это решается плагином, отдающим миниатюру записи как enclosure; в самописных лентах — добавлением одной строки в шаблон. Валидатор покажет, какой именно способ используется у вас сейчас.
RSS 2.0 и старые ветки 0.91/0.92, RSS 1.0 на RDF, Atom 1.0, Atom 0.3 и JSON Feed. Формат определяется сам, указывать его не нужно. Правила проверки для каждого свои: в RSS даты записываются по RFC 822, в Atom и JSON Feed — по RFC 3339, обязательные теги тоже отличаются. Отдельно отметим, если формат устарел: часть современных сервисов такие ленты уже не принимает.
Да — вкладка «Вставить XML» принимает содержимое ленты целиком, до 2 МБ. Все проверки синтаксиса, спецификации, содержимого и пригодности к рассылке отработают полностью. Не выполнятся только те, для которых нужен живой ответ сервера: код состояния, редиректы, Content-Type, сжатие и кэширование. Удобно, когда лента ещё на тестовом стенде или генерируется скриптом.
Оценка стартует со 100 баллов и снижается за найденные проблемы: дороже всего стоят нарушения спецификации, дешевле — рекомендации вроде отсутствующего guid или несжатого ответа. Вердикт «валидна» означает, что нарушений спецификации нет; «с замечаниями» — лента работает, но есть что улучшить; «невалидна» — часть потребителей ленту не примет. Готовность к рассылке считается отдельно и показывается своим значком, потому что валидная лента вполне может не подходить для писем.
24 часа. У каждой проверки свой постоянный адрес — отчёт открывается без авторизации, его удобно переслать разработчику или приложить к задаче. Повторная проверка того же адреса в течение суток отдаётся из кэша мгновенно, без нового обращения к вашему сайту.
Инструмент по запросу пользователя ходит на произвольные адреса — без защиты его быстро приспособили бы для массового сканирования чужих сайтов. Отсюда капча и лимиты: 5 проверок в минуту и 30 в сутки с одного IP, до 5 МБ на загружаемую ленту. Приватные и служебные адреса (localhost, 10.x, 192.168.x, 169.254.x и домены .local) отклоняются намеренно.