Почему микроразметка так важна для SEO
Для современных интернет-магазинов микроразметка Product и Offer уже не “приятный бонус”, а обязательный элемент SEO-оптимизации. Богатые сниппеты с ценой, наличием и рейтингами напрямую влияют на кликабельность и конверсии из органического поиска. Поисковые системы считывают структурированные данные и используют их, чтобы показать вашему товару более заметный сниппет в выдаче. Чем аккуратнее отработана разметка, тем меньше предупреждений и тем выше шанс получить корректный rich result.
Проблема: ошибка в поле priceValidUntil в Rank Math
При проверке микроразметки Product/Offer, которую генерирует Rank Math (в связке, например, с Easy Digital Downloads), часто всплывает предупреждение:
«Дата или время в поле «priceValidUntil» указаны не в формате ISO 8601 (необязательно)».
Это значит, что поле priceValidUntil, отвечающее за срок действия цены, формируется в формате, который не соответствует строгим требованиям ISO 8601. Визуально дата может выглядеть “нормально”, но валидатор Google Structured Data или Rich Results Testing Tool всё равно помечает её жёлтым предупреждением. Для перфекционистов и тех, кто стремится к идеально чистой разметке, такой статус — повод разобраться и исправить.

Что такое priceValidUntil и что от него хочет schema.org
Свойство priceValidUntil относится к типу Offer в словаре schema.org и используется для указания даты, до которой действует цена или скидка. По сути, это “срок годности” вашей офферной стоимости. Для поисковых систем это важный сигнал: они понимают, что цена может быть актуальна только до определённого дня, и корректнее отображают информацию в сниппете.
К этому полю предъявляются два ключевых требования:
- Дата должна быть указана в формате ISO 8601 — например,
2026-12-31или с точным временем и таймзоной вроде2026-12-31T23:59:59+00:00. - Формат должен быть машинно читаемым и однозначным, без завязки на локальные форматы вида
31.12.2026или31/12/26.
Если использовать локализованные или нестандартизированные форматы, валидатор будет ругаться, даже если человеку такой формат кажется очевидным.
Почему Rank Math выдаёт неправильную дату
В некоторых конфигурациях Rank Math при работе с товарами EDD дата для priceValidUntil генерируется через функцию date(), которая опирается на локальный часовой пояс и настройки сервера. В результате:
- Формат может отличаться от строгого ISO 8601
- В итоговую строку могут “просачиваться” особенности локали или форматирования
- Валидатор structured data воспринимает это как некорректную дату и возвращает предупреждение
Несмотря на то что Rank Math — один из самых удобных SEO-плагинов для WordPress, подобные нюансы периодически всплывают в реальных проектах, особенно когда дело касается интеграции с другими плагинами (в нашем случае — Easy Digital Downloads).
Решение: замена date() на gmdate() в class-product-edd.php
На практике исправление ошибки с priceValidUntil оказалось максимально простым и точечным. Нужны две маленькие правки в коде Rank Math, конкретно в файле, отвечающем за генерацию схемы для EDD-продуктов: class-product-edd.php.
Что было сделано:
- В файле
class-product-edd.phpфункцияdate()заменена наgmdate()в двух местах:- Строка 56 — генерация даты для вариаций товара
- Строка 74 — генерация даты для одиночного Offer
- Формат даты оставлен ISO-совместимым (
Y-m-dили другой корректный шаблон, соответствующий ISO 8601)
Функция gmdate() возвращает дату/время в формате UTC, без привязки к локальному часовому поясу сервера. Это помогает избежать “шума” и получить чистую, предсказуемую строку даты, которая соответствует ожиданиям валидаторов.
Как это влияет на проверку микроразметки
После внесения этих двух правок в class-product-edd.php ситуация меняется радикально:
- Предупреждение вида «Дата или время в поле «priceValidUntil» указаны не в формате ISO 8601 (необязательно)» исчезает
- Валидатор структурированных данных начинает воспринимать поле priceValidUntil как корректное
- Разметка Product/Offer проходит проверку без замечаний, и ваш сниппет получает шанс отображаться максимально полноценно
На практике это означает, что ваша SEO-разметка становится ближе к “идеалу”: меньше жёлтых предупреждений, больше доверия к данным со стороны поисковиков, более чистый технический профиль сайта.
Кому пригодится это решение
Такой фикс будет полезен:
- Владельцам интернет-магазинов на WordPress, использующим Rank Math и Easy Digital Downloads
- SEO-специалистам, которые доводят разметку до состояния “без единого предупреждения”
- Разработчикам и интеграторам, поддерживающим клиентские проекты и отвечающим за техническое SEO
- Маркетологам, которые хотят, чтобы товары корректно отображались в Google с актуальной ценой и сроком действия оффера
Если в ваших проектах валидатор регулярно ругается на поле priceValidUntil, а микроразметка генерируется именно через Rank Math, этот подход даёт быстрый и надёжный способ устранить проблему.
Итоги и выводы
Всего две строковые правки в class-product-edd.php — замена date() на gmdate() — решают навязчивое предупреждение по priceValidUntil и приводят микроразметку Offer к стандарту schema.org и ISO 8601. Это хороший пример того, как небольшое техническое улучшение повышает качество SEO-разметки и делает сайт более “понятным” для поисковых систем.
Если вашему бизнесу нужен сайт с аккуратно продуманной микроразметкой, корректной интеграцией Rank Math, быстрым временем отклика и фокусом на конверсию, команда ApexWeb поможет реализовать это на практике — от технической оптимизации до комплексного SEO-сопровождения.