SOL Linter | Семантический валидатор SOLPDT для M-Лицензиатов
SOL LINTER v1.0

Семантический валидатор SOLPDT

Обеспечение чистоты трёхслойной архитектуры при масштабировании
Стандарт: SOLPDT 1.0.1 · Утверждён: 7 мая 2026 г.
Автоматизированный инструмент проверки сайтов Лицензиатов на соответствие эталонной модели. Исключает семантическое загрязнение, разрывы связей в Knowledge Graph и потерю сигналов E-E-A-T.

Быстрая проверка сайта

Введите URL страницы Лицензиата для запуска трёхуровневого аудита. Результат — JSON-отчёт с перечислением ошибок.

Какую проблему решает Linter

🔗

Разрыв связей в Knowledge Graph

Лицензиат копирует JSON-LD, но не меняет @id на свой домен. Связи с цифровым паспортом рвутся, Google теряет доверие.

🪞

Чужеродные идентификаторы

В разметке остаются @id эталонного сайта (sokolov-risk.com). Поисковые системы видят некорректную структуру.

💔

Битые ссылки на .solpdt

Ссылка на цифровой паспорт в contentUrl возвращает 404. Криптографическая верификация невозможна.

📉

Снижение сигналов E-E-A-T

Структурные ошибки в разметке приводят к потере сигналов «Экспертиза» и «Доверие» в глазах поисковых алгоритмов.

Три уровня валидации

Каждый уровень закрывает свой класс ошибок — от синтаксиса JSON до сквозной проверки целостности.

01
📋

Структурная валидация

JSON-Schema / Pydantic
  • @context содержит https://schema.org
  • Наличие name и url у Person/Organization
  • identifier с propertyID: SOLPDT:Signature и хешем SHA3-256
  • Валидация MIME-типа и расширения .solpdt
02
🕸️

Проверка связности графа

RDFLib
  • Все сущности @graph достижимы из WebPage
  • Последний элемент BreadcrumbList → /digital-passport
  • Отсутствие изолированных объектов
  • Нет циклов перенаправления в семантических связях
03

Сквозной семантический тест

End-to-End
  • HTTP 200 для contentUrl файла .solpdt
  • Сверка хеша SHA3-256 скачанного файла с хешем в разметке
  • Визуальное соответствие данных на странице и в JSON-LD
  • Проверка названия, Asset ID, хеша

🚫 Критические стоп-факторы

При обнаружении любого из этих маркеров сайт не проходит валидацию автоматически:

Копирование @id эталонного сайта (sokolov-risk.com) без замены на домен Лицензиата.
Разрыв связи в BreadcrumbList: последний элемент не ссылается на /digital-passport.
Несоответствие версии стандарта (требуется SOLPDT 1.0.1).
Битые ссылки на .solpdt файл (HTTP не 200).

Портативный промт для Google AI

Для разовых проверок (1–5 Лицензиатов) используйте этот промт. Вставьте URL проверяемого сайта и передайте его Google AI. Аудит займёт до одной минуты.

Задача: выступить в роли семантического валидатора для стандарта SOLPDT 1.0.1. Провести аудит сайта по трём уровням и выдать JSON-отчёт. Сайт для аудита: [вставьте URL]. Уровень 1: Структурная валидация. 1. Найдите все блоки JSON-LD на странице. 2. Проверьте, что в @context указан https://schema.org. 3. Убедитесь, что у сущности типа Organization или Person есть name и url. 4. Проверьте наличие identifier типа PropertyValue с propertyID: SOLPDT:Signature и value с хешем SHA3-256. 5. Проверьте наличие BreadcrumbList минимум с двумя элементами. Уровень 2: Проверка связности графа. 1. Убедитесь, что последний элемент BreadcrumbList ссылается на страницу /digital-passport. 2. Проверьте связку WebPage → mainEntity → Person / Organization. 3. Убедитесь, что все @id используют домен проверяемого сайта. 4. Проверьте, что subjectOf указывает на .solpdt файл на том же домене. Уровень 3: Сквозной семантический тест. 1. Проверьте доступность ссылки на .solpdt файл. 2. Сравните данные из JSON-LD с видимым текстом страницы: название, Asset ID, хеш. Критические стоп-факторы: чужой @id, отсутствие BreadcrumbList, битая ссылка на .solpdt, отсутствие @context. Формат отчёта — JSON: { "audit_timestamp": "<дата>", "audited_url": "<URL>", "levels": { "structural_validation": { "status": "PASSED / FAILED", "findings": [...] }, "graph_integrity": { "status": "PASSED / FAILED", "findings": [...] }, "e2e_semantic_test": { "status": "PASSED / FAILED", "findings": [...] } }, "stop_factors": [...], "overall_status": "PASSED / FAILED" }

Технический стек Linter

🐍

Язык

Python 3.10+

Асинхронная обработка URL

📦

Библиотеки

pydantic, rdflib, httpx

Модели данных, графы, HTTP

📥

Вход / Выход

URL → JSON-отчёт

С перечислением ошибок и severity

Для M-Лицензиатов

Внедрите Linter в CI/CD ваших клиентов. Каждый новый сайт проходит автоматическую валидацию перед запуском.

Вернуться в реестр →

Для разработчиков

Получите полное ТЗ на реализацию Linter как микросервиса или CLI-утилиты. Интеграция с вашей инфраструктурой.

Скачать спецификацию (PDF) →