
Форма подписки на сайте — это место, где случайный читатель превращается в постоянного. Поставить форму SendSay на WordPress можно тремя способами: скриптом сервиса в шапку сайта, правкой файлов темы через встроенный редактор и через файловый менеджер хостинга. Первый способ — самый простой и правильный, два других нужны, когда встроенный редактор недоступен или хочется держать код в отдельном файле.
Ниже — по порядку: что подготовить в SendSay, как устроена форма и её письмо подтверждения, как вставить код тремя способами и какие ошибки чаще всего ломают форму у новичков.
Что подготовить в SendSay до установки
Форма не заработает сама по себе: сначала в личном кабинете сервиса должны появиться отправитель и список, куда будут падать новые адреса. Отправитель — это адрес на вашем домене, например `info@вашсайт.ru`: бесплатные адреса на Mail.ru, Gmail и Яндексе сервисы рассылок не принимают как отправителя, и это первое, обо что спотыкаются.
| Что подготовить | Зачем |
|---|---|
| Аккаунт SendSay и подтверждённый телефон | Без подтверждённого аккаунта не отправляются письма |
| Отправитель на своём домене | Письмо подтверждения должно уходить не от почты на mail.ru, а от вашего адреса |
| Список подписчиков | Форма складывает адреса в конкретный список, иначе их потом не найти |
| Домен и записи SPF, DKIM | От них зависит, попадёт ли письмо подтверждения во «Входящие», а не в спам |
| Своя почта для теста | Проверить всю цепочку один раз своими руками |
Если домен ещё не подключён к сервису, форму можно поставить, но тестировать подписку лучше после настройки — иначе первое же письмо уйдёт в спам, и вы решите, что форма не работает.

Как устроена форма подписки: типы и подтверждение
В SendSay четыре типа форм: всплывающее окно, полоса сверху или снизу, вызываемое окно в углу страницы и встроенная форма — часть страницы, как блок с текстом. Для блога обычно берут встроенную форму или полосу: они не мешают читать и не раздражают. Важно определиться с типом сразу — при смене типа содержимое формы теряется.

Дальше начинается то, о чём новички забывают: подписка двухэтапная. После заполнения формы адрес попадает в базу в статусе «Неподтверждённый», и человеку уходит письмо со ссылкой подтверждения. Пока он по ссылке не перешёл, рассылки ему отправлять нельзя. Это защита от чужих адресов, и она обязательна — в шаблоне письма для этого уже вшита специальная ссылка.
Способ 1: скрипт SendSay в шапку сайта
Сам сервис предлагает именно этот путь. В разделе «Сайт → Формы» в верхней части страницы лежит скрипт установки: его копируют и вставляют между тегами <head> и </head>. Один раз на весь сайт — этот скрипт отвечает за работу всех форм сразу, и повторять его для каждой формы не нужно.

Для встроенной формы есть дополнительный шаг: в настройках самой формы справа показан её код — его вставляют в то место страницы, где форма должна стоять. После этого форму нужно активировать кнопкой в кабинете: пока она не активирована, на сайте ничего не появится. Зато дальше правки дизайна подтягиваются на сайт сами, без повторной вставки кода.
Есть и ручной показ: в настройках формы лежит JavaScript-код, который можно вызывать по клику на кнопку «Подписаться» — удобно, если вы не хотите всплывающее окно на каждой странице. И отдельно проверьте директиву Content-Security-Policy на сайте: если она используется, в connect-src должны быть адреса https://image.sendsay.ru и https://sendsay.ru, иначе форма отправит данные и промолчит об ошибке.
Способ 2: код через редактор темы в WordPress
WordPress умеет править файлы темы прямо из админки: «Внешний вид → Редактор файлов темы». Здесь видно файлы активной темы — обычно это functions.php, header.php, footer.php. Скрипт формы логично добавить в шапку, но правильнее не лезть в разметку, а подключить его функцией в functions.php — так меньше шансов сломать вёрстку.
Главное правило: не правьте родительскую тему. При первом же обновлении темы все ваши строки исчезнут. Создайте дочернюю тему, положите код в её functions.php — и обновления родительской темы ничего не тронут. Если редактор в админке отключён (например, из соображений безопасности) или файлы доступны только на чтение, переходите к третьему способу.

И держите под рукой копию того, что вставляете: текст скрипта удобнее хранить в отдельном файле или документе. Тогда после переезда, смены темы или отката из бэкапа вы восстановите форму за минуту, а не будете вспоминать, какой код где стоял.
Способ 3: код через хостинг и файловый менеджер
Если в админке редактора нет, файлы правят через панель хостинга. Путь простой: открыть файловый менеджер, зайти в wp-content/themes/имя-вашей-дочерней-темы/, скачать файл functions.php к себе, добавить код в конец файла, залить обратно с заменой. Кодировка — UTF-8 без BOM, права на файл — 644, и никаких пробелов после закрывающего тега: лишний пробел в PHP иногда валит весь сайт.

Есть способ аккуратнее и безопаснее: положить свой код отдельным файлом в папку wp-content/mu-plugins/. Файлы оттуда подключаются автоматически, не мешают теме и не пропадают при обновлениях; если что-то сломалось — файл просто удаляется через тот же файловый менеджер. Именно так на этом блоге подключены все мелкие доработки: разметка рекламных блоков, форма подписки в конце статьи, кнопки «поделиться».
Перед любой правкой файлов сделайте бэкап — скачайте functions.php или всю папку темы. И после заливки очистите кэш: и кэш страниц на сайте, и кэш браузера, иначе вы будете смотреть на старую версию и решать, что код не сработал.
Как проверить, что форма работает
Проверка занимает пять минут, но проходит всю цепочку целиком: откройте страницу с формой в режиме инкогнито, подпишитесь своим вторым адресом, дождитесь письма подтверждения, перейдите по ссылке и посмотрите в кабинете SendSay, что контакт сменил статус на «Подтверждённый» и попал именно в тот список, который вы выбрали.
Если письмо не пришло — смотрите по порядку: статус контакта, журнал заданий в кабинете, папку «Спам», настройки SPF и DKIM для домена. Если форма не появляется на странице — проверьте, активирована ли она в кабинете, стоит ли скрипт в шапке всех страниц и не блокирует ли его кэш или Content-Security-Policy.

Частые ошибки новичков
| Ошибка | Что будет | Как правильно |
|---|---|---|
| Правка родительской темы | После обновления темы код исчезает, форма пропадает | Дочерняя тема или папка mu-plugins |
| Правка без бэкапа | Одна опечатка в PHP — и сайт отдаёт белый экран | Скачать файл до правки, ошибку править через файловый менеджер |
| Скрипт вставлен дважды | Две формы на одной странице, двойные письма | Скрипт установки — один раз на сайт |
| Форма не активирована в кабинете | Код стоит, формы на сайте нет | Нажать «Активировать» после установки скрипта |
| Нет проверки подтверждения | Подписчики копятся в статусе «Неподтверждённый» | Пройти весь путь в инкогнито своим адресом |
| Забыли про кэш | Правки «не работают», хотя всё вставлено верно | Чистить кэш сайта и браузера после каждой правки |
| Тяжёлый скрипт в шапке | Страница показывает текст позже, растёт время загрузки | Ставить код один раз и следить за скоростью — как ускорить блог на WordPress |
| База оставлена на сервисе без присмотра | Аккаунт удаляется за неактивность вместе с подписчиками | Выгружать базу в CSV и хранить у себя |
Последняя ошибка — не техническая, но самая дорогая. У меня был именно такой случай: форма на сайте стояла, аккаунт в сервисе рассылок жил своей жизнью, и в какой-то момент его удалили за неактивность вместе со всей базой. Восстановить нельзя: адреса, собранные за месяцы, потеряны. Поэтому выгрузка базы раз в месяц — такое же обязательное действие, как бэкап сайта.
Маркировка: если в письме или форме реклама
Отдельная тема, о которой вспоминают в последний момент. Если рассылка содержит рекламу чужого продукта — партнёрскую ссылку, оплаченное упоминание, баннер, — это интернет-реклама: нужны пометка «Реклама», название рекламодателя и код erid на конкретный креатив, а ссылка идёт с атрибутами rel=»nofollow sponsored noopener». Если рассылка про ваши собственные материалы, маркировка не нужна.
И вторая часть — согласие на обработку данных. Рядом с кнопкой «Подписаться» должна быть ссылка на документ о персональных данных, а в каждом письме — понятная отписка в один клик. Это требование не сервиса, а закона, и проверяется оно на вас, а не на SendSay.
Что в итоге
Порядок для SendSay такой: отправитель и список в кабинете, скрипт установки в шапку сайта, для встроенной формы — её код в нужное место страницы, активация в кабинете, проверка всей цепочки своим адресом. Правки кода — только в дочерней теме или в отдельном файле-плагине, с бэкапом и очисткой кэша.
Если форм на сайте будет несколько, шире смотрите на сам сервис рассылок: сравнение тарифов, лимитов и выгрузки базы — в статье рассылка для блога: первые 100 подписчиков, а про то, какие плагины вообще стоит держать на блоге — платформа для блога и 17 необходимых плагинов. И заведите цель на подписку в Метрике: тогда видно, сколько людей доходит до формы, — как настроить 12 целей и отчётов.
Новые статьи на почту
Одно письмо, когда выходит новая статья: разборы сервисов Яндекса, партнёрских программ и нейросетей. Без спама, отписка в один клик.
Нажимая кнопку, вы соглашаетесь с обработкой персональных данных.
Есть вопрос или свой опыт по теме? Напишите в комментариях — читаю и отвечаю каждому.