Найти в Дзене

WP: публикация контента из Google Sheets и Notion по расписанию

Утро понедельника. Я открываю WordPress, а там пусто, как в холодильнике после дедлайна. Контент-таблица в Google Sheets мигает зеленым, Notion распух от карточек с идеями и черновиками, редактор пишет в чат: «Артур, ну ты же говорил, все будет уходить в блог само». Я морщу лоб, делаю глоток охлажденного кофе и в голове прокручиваю старый ритуал копипаста, который съедает по два часа в день. И тут вспоминаю, что мы в 2025-м, а не в эпоху ручного транса в админке. Значит, пора навести порядок: Sheets и Notion должны сами проталкивать посты в WordPress по расписанию, без истерик и ночных добиваний до двух. Если у вас похожая жизнь, садитесь ближе, это как раз история про то, как вернуть себе вечера и перестать быть заложником «Опубликую потом». Когда в команде есть редактор, автор, верстальщик и человек, который «разбирается в сайтах», обычно публикация превращается в эстафету с палочкой ответственности. Кому-то нужно проставить рубрики, кому-то подложить обложку, вытащить из Notion форм
Оглавление
   Публикация контента из Google Sheets и Notion по расписанию Артур Хорошев
Публикация контента из Google Sheets и Notion по расписанию Артур Хорошев

Утро понедельника. Я открываю WordPress, а там пусто, как в холодильнике после дедлайна. Контент-таблица в Google Sheets мигает зеленым, Notion распух от карточек с идеями и черновиками, редактор пишет в чат: «Артур, ну ты же говорил, все будет уходить в блог само». Я морщу лоб, делаю глоток охлажденного кофе и в голове прокручиваю старый ритуал копипаста, который съедает по два часа в день. И тут вспоминаю, что мы в 2025-м, а не в эпоху ручного транса в админке. Значит, пора навести порядок: Sheets и Notion должны сами проталкивать посты в WordPress по расписанию, без истерик и ночных добиваний до двух. Если у вас похожая жизнь, садитесь ближе, это как раз история про то, как вернуть себе вечера и перестать быть заложником «Опубликую потом».

Когда в команде есть редактор, автор, верстальщик и человек, который «разбирается в сайтах», обычно публикация превращается в эстафету с палочкой ответственности. Кому-то нужно проставить рубрики, кому-то подложить обложку, вытащить из Notion форматирование, не забыть про slug на латинице и дату публикации завтра в 10:00 по Москве. И вечно кто-то из списка забывает. Автоматизация с Make.com решает это довольно приземленно: вы заполняете таблицу или двигаете карточку в Notion на колонку «Готово», дальше сценарий забирает текст, форматирование, обложку, теги, рубрики, время публикации и молча отправляет в WordPress. Хотите одновременно дублировать в Дзен или Telegram – не вопрос, просто добавляете ветку. Это не про роботизацию души, это про нервную систему, которая наконец перестает моргать красной лампочкой.

-2

Как это вообще устроено изнутри

Сценарий в Make живет на трех китах: триггер, обработка, публикация. Триггером может быть новая строка в Google Sheets или изменение записи в базе Notion, обработка отвечает за сборку текста в удобоваримый HTML, перенос меток, трансформацию картинок, а публикация бьет в WordPress по API и создаёт пост в нужном статусе. Секрет в том, чтобы заранее договориться о структуре: какие столбцы или поля отвечают за заголовок, анонс, основной текст, обложку, рубрики, автора, дату выхода. Я вобще за простую схему: Title, Slug, Content HTML, Excerpt, Featured Image URL, Categories, Tags, Status, Post Date. Чем проще правила, тем меньше шанс, что завтра кто-то внесет эмодзи в заголовок и поломает парсер. И еще один нюанс – всегда приводите время к часовому поясу Москвы, если работаете по российскому расписанию, иначе пост улетит в 3 ночи и обидит пару людей в отделе продаж.

Маршрут через Google Sheets

В таблице удобно вести редакционный план: темы, ответственные, даты, ссылку на черновик в Google Docs, флажок «Готово к публикации». Сценарий в Make смотрит только на строки с этим флажком и назначенной датой. Он читает заголовок, вычищает лишние пробелы, упрощает переносы, автоматически трансформирует кириллический slug в латиницу, а потом берет URL обложки и загружает эту картинку на сайт как медиафайл, чтобы не тянуть чужой хост. Категории я рекомендую хранить не словами, а их ID – так надежнее, ничего не сломается, если редактор переименует «Новости» в «Обновления». После успешной публикации сценарий записывает в соседнюю колонку ID поста из WordPress и дату, чтобы дважды в одну и ту же строку не стрелять. Если нужно, надстраиваем чистую мелочь: замена тройных переносов на абзацы, автоматическая обрезка анонса до 160 символов, проверка на наличие картинки – и если ее нет, подставляется дефолтная обложка. Рабоче-крестьянская магия, но сэкономит полдня в неделю.

Маршрут через Notion

В Notion все обычно живее: статусы в канбане, поля-галочки, обложка карточки и куча многострочных полей. Сценарий в Make подписывается на изменения в базе, ловит записи, у которых статус «Готово» и дата публикации продана календарю. У Notion есть особенность – изображения по приватным ссылкам, поэтому сценарий не просто привязывает их как URL, а скачивает и заливает в медиа WordPress. Мультиселекты превращаем в теги, автора можно хранить отдельным полем с email, чтобы привязать к нужному пользователю на сайте. Большой бонус в Notion – богатый текст, он хоть и требует аккуратной конвертации в HTML, зато сохраняет подзаголовки и списки. Для тонкой настройки можно использовать кастомные поля через ACF, например, выводить «Сложность» или «Читается за N минут». После публикации сценарий добавляет в Notion ссылку на пост и меняет статус на «Опубликовано», чтобы не было вечного вопроса «ну и где оно?».

-3

Расписание и защита от дубликатов

Публикацию можно делать двумя способами. Первый – давать WordPress точную дату и статус future, сайт сам поставит пост в очередь, ничего сверх. Второй – запускать сценарий в Make по расписанию и публиковать все, у чего наступила дата, так проще управлять пачками и делать «вечерние выгрузки». Я обычно комбинирую: в строке храню точное время, а Make проверяет такие записи раз в 15 минут. Для защиты от дубликатов храню внешний идентификатор – ID строки или ID страницы Notion – в метаполе WordPress, и перед созданием поста делается быстрый поиск по этому полю. Если нашли, значит просто обновляем текст и не плодим шизофрении в ленте. Еще один хороший прием – вести журнал публикаций в отдельном листе: время, источник, статус, текст ошибки. Когда в 7 утра придет вопрос «почему поста нет», у вас будет не угадайка, а ответы.

Уведомления и разруливание ошибок

Публикация молчит только до первой ошибки. Где-то отвалился доступ к сайту, просрочился токен, в столбец «Категории» улетело слово «да». Я ставлю ветку уведомлений: если модуль публикации упал, сценарий пишет в Telegram краткий отчет с кодом ошибки и ID записи. Можно добавить вторую ступень – автоматический ретрай через 10 минут, и третью – перевод проблемной карточки в Notion в статус «Нужно проверить». По логике лучше ругаться реже, но по делу, чем отправлять сто пушей «все успешно». А для мирного сосуществования с WordPress включаем легкое ограничение скорости – пауза между постами в 2-3 секунды, чтобы не бить API как из пулемета, особенно если летят десятки картинок. Если сайт на слабом хостинге, это прям спасает.

Пара приличных фишек, которые делают красиво

Если текст рождается сухим, его не обязательно переписывать вручную. Можно прокинуть черновик через блок с нейросетью и попросить легкую редактуру: вычитка, заголовок уровня H2, метаописание. Я не советую отдавать всю статью на автомат, но правки типа «подкрутить лид и добавить call-to-action» работают хорошо. Еще у меня стоит маленький скрипт для внутренней перелинковки: сценарий берет 3 свежие записи из той же рубрики и добавляет в конец блок «Читать по теме». Slug переводится с кириллицы в латиницу аккуратным транслитом, чтобы не было целого романа из процентов в URL. Ну и очевидное, но важное: если вы публикуете много, заведите эмодзи запрещалку. Точнее фильтр, который не пускает эмодзи в заголовок – на ленте это выглядит несолидно, а почтовые рассылки иногда ломаются. Да, мелочи, но из них и складывается впечатление «они знают, что делают».

-4

Мини-история из цеха

Есть у меня команда, которая вела блог и параллельно Дзен для трех проектов. До автоматизации у них выходило 6-8 материалов в неделю и по три опоздания из-за человеческого фактора. Мы связали Notion с WordPress и Дзенном, добавили простую систему статусов и расписание «по будням в 10:00 и 16:00», плюс Telegram-уведомления редактору. Через месяц они делали уже 15 публикаций, и никто в субботу не сидел в админке. Интересно, что самой благодарной частью оказался не перенос текста, а обложки – раньше их забывали, теперь загрузка и назначение идет всегда, и лента перестала быть серой. Команда стала спокойнее, честно. И продажам тоже понравилось – когда блог выходит стабильно, SEO-шка раскручивается без плясок.

Хочется повторить у себя

Старт простой: заводите аккаунт в Make.com, берете свежую таблицу Google Sheets или свою базу Notion, на стороне WordPress создаете приложение-пароль для пользователя редактора, чтобы публиковать по API, и накидываете первый черновой сценарий. Не целитесь сразу в идеал, лучше сделать простую цепочку «одна строка – один пост» и погонять ее неделю. Когда станет скучно, подключаете допы: обложки, рубрики, мета, автосланг, уведомления, дубль в Дзен и VK. Если хочется сэкономить время и нервы, у меня есть готовые наработки и разборы сценариев. Хотите научиться автоматизации рабочих процессов с помощью сервиса make.com и нейросетей ? Подпишитесь на наш Telegram-канал, там примеры, апдейты и куски живых проектов. Для системной прокачки пригодятся Обучение по make.com и библиотека готовых сценариев – Блюпринты по make.com, чтобы не изобретать велосипед на каждого кота в шапке.

Немного про безопасность и аккуратность

Токены и пароли не храним в заметках и скриншотах, только в секциях соединений внутри Make, доступ к сценариям ограничиваем по ролям. Права пользователя в WordPress выдаем минимальные – редактору хватает создавать и публиковать посты, не нужно открывать настройки плагинов. Тексты проверяем на авторские права до того, как они попадают в таблицу, это быстрее и спокойнее, чем удалять уже вышедшее. Если работаете с персональными данными, не тяните их куда не надо – в сценарии для публикаций чаще всего достаточно заголовков и текста. И еще деталюха: делайте тестовый сайт-двойник, чтобы далеко не каждый эксперимент с форматированием бил по боевому блогу. Как только автоматизация наберет обороты, рутина спадет, а у вас появится тихая роскошь работать по плану, а не по выкрикам чата.

FAQ

Можно ли публиковать в WordPress без плагинов, напрямую?

Да, это даже лучше. Публикация идет по REST API WordPress с использованием приложения-пароля. Make подключается стандартным модулем WordPress, создает запись, заливает медиа и проставляет рубрики. Плагин нужен только если у вас экзотическая схема авторизации, но в 90% случаев он лишний.

Как публиковать строго по времени, а не просто «сегодня»?

Передавайте в WordPress поля post_date и post_date_gmt и ставьте статус future. Либо храните дату и время в источнике и запускайте сценарий по расписанию каждые 15 минут, фильтруя записи, у которых наступил таймштамп по Москве. Второй вариант удобнее, если вы публикуете пачки.

Как прикреплять обложку и не тянуть чужие хосты?

Сценарий сначала скачивает изображение по URL, потом загружает его в медиабиблиотеку сайта и назначает как featured media. Если источник Notion, используйте прямую загрузку, поскольку приватные ссылки недолговечны и как обычная картинка работать не будут.

Как избежать дублей при повторном запуске сценария?

Сохраняйте внешний идентификатор источника в метаполе поста, например external_id. Перед созданием нового поста делайте поиск по этому полю. Нашли – обновляйте запись, не нашли – создавайте. Плюс фиксируйте ID поста обратно в строке Sheets или в карточке Notion.

Что делать с кириллицей в URL и слишком длинными слагами?

Применяйте транслит и чистку стоп-слов на этапе обработки. Хорошая длина slug – до 60 символов. Если источник прислал переносы и знаки вопроса, их лучше вымести заранее, иначе получатся смешные ссылки, которые сложно читать и неудобно делиться.

Можно ли публиковать сразу в Дзен и соцсети?

Да, в сценарий добавляется ответвление с конвертацией формата под площадку. Для Дзена – чистый текст и изображения, для VK и Telegram – более короткие анонсы и обложка. Важно не плодить дубликаты длинных статей везде подряд, лучше делать умные анонсы с ссылкой.

Сколько это стоит на Make и как не улететь в лимиты?

На старте хватает базового плана, который тянет тысячи операций в месяц. Самое главное – не дергать источники каждую минуту без нужды и не гонять тяжелые картинки по сто раз. Делайте проверки раз в 10-15 минут, включайте батчинг и аккуратно кэшируйте то, что не меняется.

А если у меня ACF и куча кастомных полей?

Ничего страшного. Модуль WordPress в Make поддерживает метаполя, просто передайте нужные ключи. Для сложных полей вроде галерей или повторителей удобнее сначала загрузить медиа, получить их ID, а потом собрать массив в нужном формате. Пара тестов на черновом сайте и все станет на свои места.