Создаем YML-фид для врачей

Никита Калашников
Для кого
Подходит для всех сайтов с информацией о врачах или медицинских услуг.
Для чего нужен Yml-фид
Yml-фид для врачей и докторов предоставляет информацию о специалистах клиники и позволяет формировать карточке в поисковой выдаче Яндекса, а также использовать этот фид для интеграции со сторонними сервисами.
Преимущество - это постоянно актуальная информации о специалистах в вашем фиде.
Чаще всего код, который формирует yml-фид, разрабатывается на стороне вашего сайта, что позволяет автоматически обновлять в нем информацию или настроить выгрузку по кнопке или cron (по таймеру, например, раз в сутки).
Что такое Yml-фид
YML-фид — это специальный файл, который используется для передачи информации о товарах из вашего интернет-магазина на другие платформы, например, маркетплейсы или рекламные системы. В этом файле в структурированном виде содержатся данные о ваших товарах: название, цена, наличие, описание и другие характеристики.
Такой файл автоматически обновляется, чтобы информация всегда была актуальной. Благодаря YML-фиду вы можете быстро интегрировать ваш каталог товаров на площадки, где их смогут увидеть и купить ваши клиенты.
Как информация из фида выглядит в поисковой
Ответ с карточками врачей предоставляет ключевую информацию о каждом специалисте: стоимость услуг, опыт работы, количество отзывов, а также расписание приемов.
Пользователь может сравнить врачей, изучив данные на карточках, и перейти на сайт для записи.
Такой формат упрощает выбор специалиста, позволяя учитывать его квалификацию, местоположение, цены и репутацию на основе отзывов.
Пример поисковой выдачи в Яндекс, по запросу "Психотерапевт в Москве":

Пример полной карточки специалиста, при клике на врача из списка:

Требования к фиду
Фид должен соответствовать условиям размещения.
Для каждой услуги врача должно быть отдельное предложение (offer). Например, если врач ведет первичный прием в трех клиниках, добавьте три предложения. Предложения об одном и том же враче объедините с помощью атрибута group_id.
Одинаковый URL могут иметь только предложения с одинаковым group_id. Все предложения с одинаковым URL должны быть в одном фиде.
В элементе categories указывайте только одну категорию — Врач.
В предложениях, которые относятся к одному врачу, должны быть одинаково заполнены:
- перечень специальностей;
- ФИО;
- годы опыта (стаж);
- описание;
- ссылка на фото врача.
Отзывы, образование и карьера должны быть заполнены для одного из предложений врача. При несоблюдении этого требования алгоритмами может быть выбран и отображен какой-то один набор данных.
Содержание отзывов и оценки должны соответствовать тому, что пользователи могут увидеть на сайте. Для отображения отзыва в карточке достаточно передать оценку и одно из текстовых полей: Понравилось
/ Не понравилось
/ Комментарий
.
В фиде рекомендуется передавать все отзывы на врача на данной площадке (в данной клинике), так как отображаемое в карточке количество отзывов считается по количеству переданных в фиде.
Ограничения
Подробнее про фиды для врачей можно прочитать тут (официальная статья Яндекс)
Пример фида:
1<yml_catalog date="2021-07-17 12:10">
2<script/>
3<shop>
4<name>Сэмпл.Врачи</name>
5<company>ООО Сэмпл.Врачи</company>
6<url>https://doctors.sample.s3.yandex.net</url>
7<email>support-doctors@doctors.sample.s3.yandex.net</email>
8<picture>https://avatars.mds.yandex.net/get-pdb/5679262/13d16a0c-27e9-4095-8f55-accdc2d7c8f0/s1200</picture>
9<description>Каталог врачей</description>
10<currencies>
11<currency id="RUR" rate="1"/>
12</currencies>
13<categories>
14<category id="1">Врач</category>
15</categories>
16<sets>
17<set id="terapevt">
18<name>Терапевт</name>
19<url>https://doctors.sample.s3.yandex.net/terapevt</url>
20</set>
21<set id="khirurg">
22<name>Хирург</name>
23<url>https://doctors.sample.s3.yandex.net/khirurg</url>
24</set>
25</sets>
26<offers>
27<!--
28 Оффер для врача - это связка "Врач"-"Клиника"-"Тип приема".
29 При наличии у врача нескольких офферов нужно предоставить каждый из них отдельно.
30 В таком случае URL разных офферов одного врача должны различаться незначащим cgi-параметром ?offer-id=...
31
32 -->
33<!-- group_id - уникальный идентификтаор врача. нужен при наличии разных URL у одного человека. Целое число, не более 9 знаков -->
34<offer id="vrach129" group_id="94726">
35<name>Орлов Георгий Олегович</name>
36<!-- ФИО, именно в таком порядке -->
37<!-- URL может совпадать ТОЛЬКО для офферов с одинаковым group_id. -->
38<url>https://doctors.sample.s3.yandex.net/orlov/schepkina</url>
39<!-- URL карточки врача. -->
40<price from="true">3000</price>
41<!-- Цена приема при записи в источнике фида, с учетом скидки -->
42<oldprice>4000</oldprice>
43<!-- Цена приема в клинике, должна быть не ниже price -->
44<currencyId>RUR</currencyId>
45<sales_notes>Первичный прием</sales_notes>
46<set-ids>terapevt,khirurg</set-ids>
47<!-- специальности через запятую -->
48<picture>https://doctors.sample.s3.yandex.net/image/orlov.jpg</picture>
49<description>Владеет основными методами ультразвуковой диагностики, в том числе УЗИ брюшной полости, забрюшинного пространства, УЗИ предстательной железы, УЗИ щитовидной железы, УЗИ молочных желез и т.д. Специализируется на ультразвуковой диагностики в акушерстве и гинекологии. Обладает технологиями всех видов диагностики по патологии в акушерстве, гинекологии. Подробная информация о враче", //информативное описание врача. Его узкая специализация. SEO-текст из числа отзывов, специальностей и тп не принимается. </description>
50<categoryId>1</categoryId>
51<!-- Пустых блоков param быть не должно. Если необязательное поле не заполнено, его нужно исключить из фида -->
52<param name="Фамилия">Орлов</param>
53<param name="Имя">Георгий</param>
54<param name="Отчество">Олегович</param>
55<param name="Годы опыта">15</param>
56<param name="Начало карьеры">2005-01-01</param>
57<!-- Дата начала карьеры, для подсчета стажа -->
58<param name="Город">г. Москва</param>
59<param name="Взрослый врач">true</param>
60<!-- Принимает взрослых, от 18 лет -->
61<param name="Детский врач">false</param>
62<!-- Принимает детей, до 18 лет -->
63<param name="Средняя оценка">4.8</param>
64<!-- Средняя оценка ПОЛЬЗОВАТЕЛЕЙ. Профессиональный рейтинг сюда не входит -->
65<param name="Число отзывов">20</param>
66<!-- Общее число отзывов, доступных по URL данного врача -->
67<param name="Профессиональный рейтинг">5.0</param>
68<!-- Профессиональный рейтинг на основе стажа и т.п. -->
69<param name="Степень">Кандидат наук</param>
70<param name="Звание">Профессор</param>
71<param name="Категория">Вторая категория</param>
72<param name="Ссылка на профиль врача">https://doctors.sample.s3.yandex.net/orlov</param>
73<param name="Город клиники">г. Москва</param>
74<param name="Адрес клиники">ул. Щепкина, д. 35</param>
75<param name="Название клиники">Европейский медицинский центр на Щепкина</param>
76<param name="Возможность записи">true</param>
77<!-- Возможность записаться на прием через сайт-поставщик фида -->
78<param name="Онлайн-расписание">true</param>
79<param name="Телефон для записи">8(499)999-99-99</param>
80<!-- Можно подменник аггрегатора -->
81<param name="Образование - 1" unit="Организация">Астраханская государственная медицинская академия</param>
82<param name="Образование - 1" unit="Дата">2006</param>
83<param name="Образование - 1" unit="Название">Базовое образование</param>
84<param name="Образование - 1" unit="Специальность">Педиатрия</param>
85<param name="Образование - 2" unit="Организация">Ростовский государственный медицинский университет</param>
86<param name="Образование - 2" unit="Дата">2011</param>
87<param name="Образование - 2" unit="Название">Курсы переподготовки</param>
88<param name="Образование - 2" unit="Специальность">Ультразвуковая диагностика</param>
89<param name="Место работы - 1" unit="Организация">Городская поликлиника г. Москвы</param>
90<param name="Место работы - 1" unit="Дата">2007-2009</param>
91<param name="Место работы - 2" unit="Организация">Детская городская больница г. Москвы</param>
92<param name="Место работы - 2" unit="Дата">2007-2009</param>
93<param name="Место работы - 2" unit="Название">Врач-педиатр</param>
94<param name="Место работы - 3" unit="Организация">Клиника «ЕМС»</param>
95<param name="Место работы - 3" unit="Дата">2009-н.в.</param>
96<param name="Место работы - 3" unit="Название">Заведующий отделением педиатрии</param>
97<param name="Сертификат - 1" unit="Организация">Национальный медико-хирургический центр им. Н.И. Пирогова</param>
98<param name="Сертификат - 1" unit="Дата">2013</param>
99<param name="Сертификат - 1" unit="Название">Ультразвуковая диагностика заболеваний сосудов нижних конечностей</param>
100<!-- Семпл отзывов. Не более 5 штук -->
101<param name="Отзыв - 1" unit="Автор">Олег Иванов</param>
102<param name="Отзыв - 1" unit="Дата">22.04.2020 22:21:00</param>
103<param name="Отзыв - 1" unit="Отзыв проверен">true</param>
104<!-- Есть подтверждение записи ко врачу + отзыв прошел модерацию -->
105<param name="Отзыв - 1" unit="Отзыв участвует в рейтинге">true</param>
106<param name="Отзыв - 1" unit="Оценка">5</param>
107<!-- Оценка пользователем, от 1 до 5 -->
108<param name="Отзыв - 1" unit="Понравилось">Доктор замечательный, помог мне</param>
109<param name="Отзыв - 1" unit="Не понравилось">Общался не очень вежливо</param>
110<param name="Отзыв - 1" unit="Комментарий">Долго ждать в регистратуре</param>
111<param name="Отзыв - 1" unit="Ответ">Спасибо за отзыв!</param>
112<!-- Ответ клиники -->
113<param name="Отзыв - 2" unit="Автор">Аноним</param>
114<param name="Отзыв - 2" unit="Дата">12.03.2020 14:28:00</param>
115<param name="Отзыв - 2" unit="Отзыв проверен">false</param>
116<param name="Отзыв - 2" unit="Отзыв участвует в рейтинге">false</param>
117<param name="Отзыв - 2" unit="Оценка">1</param>
118<!-- Пустых param быть НЕ должно. У этого отзыва нет полей "Понравилось" и "Ответ", поэтому не указываем их в фиде -->
119<param name="Отзыв - 2" unit="Не понравилось">Ужасно!!!!!!!</param>
120<param name="Отзыв - 2" unit="Комментарий">Худший врач</param>
121</offer>
122</offers>
123</shop>
124</yml_catalog>