Перейти к содержимому

Технические аспекты реализации юридических документов

Технические аспекты реализации юридических страниц

Заголовок раздела «Технические аспекты реализации юридических страниц»
Заголовок раздела «✅ Политика конфиденциальности и реквизиты — в подвале (footer)»

Все основные юридические ссылки должны быть видны на КАЖДОЙ странице:

<footer>
<div class="footer-legal">
<a href="/privacy-policy/">Политика конфиденциальности</a>
<a href="/terms-of-service/">Пользовательское соглашение</a>
<a href="/public-offer/">Публичная оферта</a>
<a href="/cookie-policy/">Политика cookies</a>
<span>ООО "Компания", ИНН 7712345678, ОГРН 1177746123456</span>
</div>
</footer>

Требования:

  • ✅ Видны на всех страницах сайта
  • ✅ Хороший контрастность текста (не белый текст на сером фоне 😁)
  • ✅ Кликабельные (не просто текст, а реальные ссылки)

Каждая форма сбора персональных данных должна содержать чекбокс согласия с активной ссылкой на Политику конфиденциальности.

<!-- Чекбокс уже отмечен (предустановленное согласие) -->
<form>
<input type="email" name="email" placeholder="Ваш email" />
<input type="checkbox" id="agree" checked />
<label for="agree">Согласен с политикой конфиденциальности</label>
<button type="submit">Подписаться</button>
</form>

Проблемы:

  • Чекбокс предустановлен → юристы скажут, что это не активное согласие
  • Ссылка на политику внутри текста не понятна
  • Логически пользователь может не заметить
<form>
<input type="email" name="email" placeholder="Ваш email" required />
<!-- Чекбокс БЕЗ checked -->
<div class="checkbox-wrapper">
<input
type="checkbox"
id="agree-privacy"
name="agree_privacy"
required
/>
<label for="agree-privacy">
Я даю согласие на обработку персональных данных в соответствии с
<a href="/privacy-policy/" target="_blank">Политикой конфиденциальности</a>
</label>
</div>
<!-- Опционально: ещё один чекбокс для маркетинга -->
<div class="checkbox-wrapper">
<input
type="checkbox"
id="agree-marketing"
name="agree_marketing"
/>
<label for="agree-marketing">
Я хочу получать новости и предложения по email
</label>
</div>
<button type="submit">Подписаться</button>
</form>

Лучше так:

<div class="form-group">
<label for="email">Email:</label>
<input
type="email"
id="email"
name="email"
required
placeholder="example@mail.com"
/>
</div>
<!-- Отдельный блок для согласия -->
<div class="consent-block">
<h4>Согласие с обработкой персональных данных</h4>
<p>
Отправляя форму, вы даёте свое согласие на обработку персональных данных
в соответствии с нашей
<a href="/privacy-policy/" target="_blank">Политикой конфиденциальности</a>.
</p>
<input
type="checkbox"
id="agree"
name="agree"
required
/>
<label for="agree">
✓ Я согласен с обработкой моих персональных данных
</label>
</div>
<button type="submit" class="btn-primary">Отправить</button>
ТребованиеСтатус
Чекбокс не предустановлен (не checked по умолчанию)✅ Обязательно
Рядом с чекбоксом — активная ссылка на документ✅ Обязательно
Ссылка открывается в новой вкладке (target="_blank")✅ Рекомендуется
Поле — required (нельзя отправить форму без чекбокса)✅ Обязательно
Текст ясно объясняет, на что даётся согласие✅ Обязательно
Согласие на рассылку — отдельный чекбокс✅ Рекомендуется

Если используете cookies (аналитика, ретаргетинг), нужен cookie-баннер с возможностью управления.

<div id="cookie-banner" class="cookie-banner">
<div class="cookie-content">
<h3>Мы используем cookies</h3>
<p>
На нашем сайте используются cookies для улучшения опыта и аналитики.
Подробнее в <a href="/cookie-policy/">Политике использования cookies</a>.
</p>
</div>
<div class="cookie-buttons">
<!-- Основная кнопка -->
<button id="cookie-accept" class="btn btn-primary">
Принять всё
</button>
<!-- Дополнительные действия -->
<button id="cookie-settings" class="btn btn-secondary">
Настроить
</button>
<!-- Отклонить только необязательные -->
<button id="cookie-reject" class="btn btn-tertiary">
Только необходимые
</button>
</div>
</div>
ТребованиеСтатус
Кнопка «Отклонить» видна и не менее выразительна, чем «Принять»✅ Обязательно
Ссылка на Политику cookies✅ Обязательно
Различие между функциональными и маркетинговыми cookies✅ Обязательно
Переключатель для каждого типа cookies✅ Рекомендуется
Баннер появляется один раз (сохраняется выбор в localStorage)✅ Обязательно
При отклонении — не загружаются маркетинговые скрипты✅ Обязательно
// Сохранить выбор пользователя
function saveCookieConsent(accepted, marketing = false) {
const consent = {
timestamp: new Date().toISOString(),
functional: accepted, // необходимые cookies (сессия, безопасность)
analytics: accepted, // аналитика
marketing: marketing, // ретаргетинг, объявления
};
localStorage.setItem('cookie_consent', JSON.stringify(consent));
// Загрузить скрипты в зависимости от согласия
if (marketing) {
loadMarketingScripts();
}
if (accepted) {
loadAnalyticsScripts();
}
}
// Прочитать согласие при загрузке страницы
function loadCookieConsent() {
const consent = JSON.parse(localStorage.getItem('cookie_consent'));
if (!consent) {
showCookieBanner();
} else {
// Загрузить скрипты в зависимости от сохранённого согласия
if (consent.analytics) loadAnalyticsScripts();
if (consent.marketing) loadMarketingScripts();
}
}
// Загрузить аналитику только при согласии
function loadAnalyticsScripts() {
// Google Analytics, Яндекс.Метрика и т.д.
}
// Загрузить маркетинг-скрипты только при согласии
function loadMarketingScripts() {
// Facebook Pixel, Google Ads, ретаргетинг
}

Реквизиты должны быть на каждой странице или на отдельной странице.

<footer>
<div class="footer-company-info">
<p><strong>ООО "МояКомпания"</strong></p>
<p>ИНН: 7712345678</p>
<p>ОГРН: 1177746123456</p>
<p>Адрес: г. Москва, ул. Примерная, д. 1</p>
<p>Email: <a href="mailto:info@example.com">info@example.com</a></p>
<p>Телефон: <a href="tel:+74951234567">+7 (495) 123-45-67</a></p>
</div>
</footer>
# О компании
**Полное наименование:** ООО "МояКомпания"
**ИНН:** 7712345678
**ОГРН:** 1177746123456
**Юридический адрес:** г. Москва, ул. Примерная, д. 1
**Фактический адрес:** г. Москва, ул. Примерная, д. 1
**Генеральный директор:** Иванов Иван Иванович
**Контакты:**
- Email: info@example.com
- Телефон: +7 (495) 123-45-67
- Форма обратной связи: [ссылка]

// Перед отправкой данных — проверить согласие
const form = document.querySelector('form');
form.addEventListener('submit', async (e) => {
e.preventDefault();
const agreedToPrivacy = document.querySelector('#agree-privacy')?.checked;
if (!agreedToPrivacy) {
alert('Пожалуйста, согласитесь с политикой конфиденциальности');
return;
}
// Только после этого отправлять данные на сервер
const formData = new FormData(form);
const response = await fetch('/api/subscribe', {
method: 'POST',
body: formData,
});
// Обработать ответ...
});
<?php
// Проверить, получено ли согласие от пользователя
if (!isset($_POST['agree_privacy']) || $_POST['agree_privacy'] !== 'on') {
http_response_code(400);
echo json_encode(['error' => 'Необходимо согласие на обработку данных']);
exit;
}
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$agree_marketing = isset($_POST['agree_marketing']) && $_POST['agree_marketing'] === 'on';
// Сохранить в БД
$pdo->prepare("
INSERT INTO subscribers (email, agreed_privacy, agreed_marketing, created_at)
VALUES (?, 1, ?, NOW())
")->execute([$email, (int)$agree_marketing]);
echo json_encode(['success' => 'Подписка оформлена']);
?>

Перед публикацией сайта убедитесь:

  • ✅ Политика конфиденциальности написана и размещена
  • ✅ Реквизиты компании указаны в подвале
  • ✅ Ссылки в подвале видны на всех страницах
  • ✅ Ссылки открываются правильно (не 404)
  • ✅ Все ссылки открываются в читаемом формате
  • ✅ Каждая форма содержит чекбокс согласия
  • ✅ Чекбокс не предустановлен (checked отсутствует)
  • ✅ Рядом с чекбоксом — активная ссылка на Политику конфиденциальности
  • ✅ Поле помечено required
  • ✅ Если есть рассылка — отдельный чекбокс для маркетинга
  • ✅ На сервере — проверка согласия перед сохранением данных
  • ✅ Cookie-баннер появляется на первом визите
  • ✅ Кнопка «Отклонить» видна и функциональна
  • ✅ Выбор пользователя сохраняется (localStorage)
  • ✅ Маркетинговые скрипты загружаются только при согласии
  • ✅ Аналитика загружается в любом случае (или с согласием, если так написано)
  • ✅ Яндекс.Метрика / Google Analytics — только при согласии
  • ✅ Facebook Pixel — только при согласии на маркетинг
  • ✅ Email-сервис (SendGrid, Mailchimp и т.д.) — получает только согласившихся
  • ✅ Чат-боты (Intercom, Drift) — упомянуты в Политике конфиденциальности

  • Добавили новый интеграционный сервис (CRM, аналитика)
  • Поменялась цель сбора данных (теперь продаём)
  • Переехали на новый хостинг или в другую страну
  • Изменились реквизиты компании
  • Добавили новую форму сбора данных
  • Изменилась политика на платёжную систему
  1. Обновите документ на сайте
  2. Оставьте старую версию (архив) или указите дату изменения
  3. Сообщите пользователям — письмо или нотификация (опционально, но профессионально)
  4. Запросите новое согласие (если изменения существенные)
<!-- Указать дату последнего обновления -->
<p>
<em>Последнее обновление: 29 апреля 2026 года</em>
</p>

Ссылки по теме: