Кейсы 6 мин чтения

Пометки запрещённых площадок на сайте: автоматически при сборке

Поиск по моему сайту нашёл упоминания запрещённых и заблокированных площадок примерно на 190 страницах, 100 из них без пометки. Я написал модуль, который при сборке ставит одну или две звёздочки и сноску только по найденным площадкам, не трогая ссылки и код. Работает, пометки на 192 страницах.

кейсмаркировказаконодательствосборка сайтаконтент

Коротко (TL;DR)

  • Я проверил все собранные страницы своего сайта chimitdorzhi.tech на упоминания запрещённых и заблокированных в России площадок. Упоминания нашлись примерно на 190 страницах, и на 100 из них не было никакой пометки.
  • Я написал модуль, который при сборке ставит «*» у Meta*, Instagram*, Facebook*, Threads* и WhatsApp* и «**» у LinkedIn**, X (Twitter)**, Discord**, Signal**, Viber**, Snapchat** и FaceTime**. Сноска внизу страницы собирается только по тем площадкам, которые на ней встретились.
  • Ссылки, код, заголовок вкладки и описание для поиска модуль не трогает. Линтер статей не пропускает текст, где после разметки осталось упоминание без метки.
  • Статус: работает на сайте, пометки стоят на 192 страницах. Telegram и YouTube я не маркирую, официального решения о блокировке нет.
Хотите внедрить это у себя?

Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.

Проверить сайт на требования РКН

Разбираю, как я навёл порядок с пометками запрещённых и заблокированных площадок на собственном сайте: что нашёл поиском, как устроен модуль, где он ошибался и чего он сознательно не делает.

Задача

Я много пишу про мессенджеры, рассылки и соцсети. В статьях о переводе клиентов в MAX, в кейсах ботов, в разборах рекламы постоянно всплывают WhatsApp*, Instagram* и LinkedIn**. Часть старых текстов я помечал руками, оговоркой прямо в предложении. Часть не помечал совсем. В блоге больше двух с половиной тысяч статей, и держать пометки вручную стало невозможно.

10 и 11 октября 2026 года я прогнал поиск по всем собранным страницам. Упоминания нашлись примерно на 190 страницах. По площадкам вышло так:

  • WhatsApp*: 262 упоминания;
  • Meta*: 85, и ещё 66 внутри старых ручных оговорок;
  • Instagram*: 62;
  • Discord**: 40;
  • Facebook*: 33;
  • LinkedIn**: 17;
  • Threads*: 7;
  • X (Twitter)**: 5;
  • Signal**: 2;
  • Snapchat**: 1.

Без какой-либо пометки было 100 страниц. Править их по одной бессмысленно: следующая статья снова выйдет без звёздочки, если автор про неё забудет. Мне нужно было правило, которое срабатывает при каждой сборке и не зависит от внимательности.

Про юридическую сторону скажу осторожно. Прямая обязанность указывать статус организации записана для СМИ. Распространяется ли она на обычный сайт компании, юристы спорят. Я выбрал безопасный вариант и маркирую. Подробно, со ссылками на решения и законы, разобрал это в статье как помечать Instagram*, WhatsApp* и Meta* на сайте.

Что я сделал

Я написал один модуль разметки и подключил его в сборку сайта.

  • Две группы площадок. Одна звёздочка у Meta* и её продуктов: Instagram*, Facebook*, Threads*, WhatsApp*. Meta Platforms Inc. признана в России экстремистской организацией решением Тверского районного суда Москвы от 21.03.2022. Две звёздочки у площадок, доступ к которым ограничил Роскомнадзор: LinkedIn**, X (Twitter)**, Discord**, Signal**, Viber**, Snapchat**, FaceTime**.
  • Сноска по факту. Внизу страницы выводится только то, что на ней встретилось. Если в статье есть один LinkedIn**, сноска будет в одну строку про ограничение доступа, без абзаца про Meta*. Если есть Instagram* и WhatsApp*, сноска перечислит именно их. Есть русская и английская версия текста сноски.
  • Три сборщика. Модуль подключён в сборку блога, раздела разработки и страниц услуг. В услугах размечаются и строки интерфейса на разных языках.
  • Проверка в линтере. Линтер статей прогоняет текст через тот же модуль. Если после разметки хоть одно упоминание осталось без метки или сборка блога перестала подключать модуль, статья не проходит проверку.

Как устроено

Модуль берёт HTML страницы внутри основной области и обходит его по тегам. Размечает он только видимый текст. Скрипты, стили, блоки кода, комментарии, заголовок вкладки, атрибуты тегов и всё внутри готовой сноски он пропускает.

Для каждой площадки есть набор шаблонов. Латинское написание ловится в любом регистре, кириллическое с падежными окончаниями: Инстаграме*, вотсапу*, Дискорда**. Отдельно ловится латиница с русским окончанием через апостроф. X (Twitter)** размечается только в связке с названием, одиночная буква X не трогается.

Перед тем как поставить метку, модуль проверяет соседние символы. Если упоминание входит в составное слово, домен, путь или имя пользователя, оно пропускается. Если звёздочка уже стоит, вторая не добавляется. Это важно для старых текстов, где я когда-то ставил метки руками.

Место для сноски страница может задать сама. Если не задала, сноска встаёт в конец основной области. На странице кейсов, например, она идёт после сетки карточек и перед блоком «Нужен похожий проект?».

Что было сложно

Самая длинная часть работы ушла на ложные срабатывания. Простой поиск по слову ставит звёздочку туда, где речь вообще не о соцсети.

  • Twitter-карточка. Так называется тип разметки превью ссылки, про неё у меня есть SEO-статьи. Это термин, и звёздочка рядом с ним выглядит глупо. Исключил.
  • SEO-термины. Meta Title, Meta Description, Meta-тег не имеют отношения к компании. Модуль смотрит на следующее слово и такие сочетания пропускает.
  • Ссылки и домены. Адрес в ссылке менять нельзя, он сломается. Поэтому домены, пути и части адресов модуль не трогает.
  • Технические слова. Выражения signal processing и Virtual Threads не про мессенджер и не про соцсеть. Для них есть свои исключения.

Вторая сложность это старые ручные оговорки. В текстах 66 раз встречалась конструкция вроде «Meta, которая признана экстремистской». Если поставить там звёздочку, получится двойная пометка в одном предложении. Модуль распознаёт такую оговорку и звезду в ней не ставит, но сноску на странице всё равно выводит.

Третья сложность это список площадок. Telegram и YouTube я не маркирую: официального решения о блокировке нет. Roblox тоже не трогаю, статус я не подтвердил. Список живёт в одном месте, и добавить площадку, когда статус изменится, можно одной строкой.

Что получилось

Пометки стоят на 192 страницах сайта. До этого 100 страниц с упоминаниями не имели никакой пометки, а часть остальных была помечена старыми оговорками прямо в тексте.

Новые статьи размечаются при сборке сами. Мне не нужно помнить, что WhatsApp* надо пометить: я пишу текст как обычно, а звёздочка и сноска появляются на странице. Если модуль что-то пропустит, линтер остановит статью до публикации.

В новых статьях я звёздочки руками не ставлю, они появляются только в собранной странице. Это удобно: когда статус площадки поменяется, я поправлю одну строку в модуле, и пересборка обновит все страницы разом.

Ограничения

  • Я разработчик, а не юрист. Обязанность ставить такие пометки на сайте компании спорная, я выбрал осторожный вариант. Для своего сайта решение лучше сверить с юристом.
  • Модуль видит только текст. Логотипы соцсетей на картинках он не найдёт, их я проверяю глазами.
  • Размечается то, что собирают три подключённых сборщика. Страница, собранная другим способом, автоматически не помечается.
  • Заголовок вкладки и описание для поиска модуль не трогает. Сноски там нет, и звезда без неё ничего не объясняет.
  • Список площадок я веду руками. Если Роскомнадзор ограничит новую площадку, модуль об этом не узнает, пока я не добавлю строку.

Частые вопросы

Обязан ли сайт компании ставить такие пометки?

Прямая обязанность записана для СМИ, для обычного сайта компании вопрос спорный. Риск штрафа и спор с проверяющим обходятся дороже звёздочки и одной строки внизу страницы, поэтому я маркирую. Разбор с источниками есть в отдельной статье блога.

Почему у WhatsApp* одна звёздочка, хотя его блокирует Роскомнадзор?

WhatsApp* принадлежит Meta*, поэтому он стоит в группе её продуктов. Сноска для этой группы говорит и о решении суда по Meta*, и об ограничении доступа к перечисленным площадкам.

Почему не помечены Telegram и YouTube?

Официального решения о блокировке этих площадок нет. Ставить пометку без основания значит вводить читателя в заблуждение. Если решение появится, я добавлю их в список.

Можно ли сделать так же на моём сайте?

Если сайт собирается из исходников, разметку можно встроить в сборку так же, как у меня. На конструкторе сайтов придётся либо размечать руками, либо добавлять скрипт на страницу. Начать стоит с поиска: сколько страниц с упоминаниями у вас уже есть.

Коротко о главном

Пометки запрещённых и заблокированных площадок проще поставить автоматически, чем держать в голове. Модуль при сборке ставит одну или две звёздочки, собирает сноску по тому, что встретилось на странице, и не трогает ссылки, код и мета-теги. Основная работа ушла на исключения, без них звёздочки появлялись у SEO-терминов и в адресах. Если хотите проверить свой сайт на такие упоминания или встроить разметку в сборку, напишите мне в Telegram.

Обсудим вашу задачу

Что я делаю для бизнеса

Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ
Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх