Атакуем social-media или как автоматизировать репост в соцсети на примере Telegram

Мой блог работает на WordPress, и здесь как и в большинстве сайтов небольшой трафик, почему так происходит? Большая часть трафика сейчас приходится на мобильные устройства. Кроме того, большая часть мобильного трафика исходит из мобильных приложений — клиентов соцсетей и мессенджеров. Крупные компании и организации давно ведут свои соцсети, обновляя свои сайты только важной информацией. К примеру в КФУ на сайте имеется довольно много статичных данных: информация о преподавателях, учебные программы, время работы и адреса подразделений и тд. Большая часть новостей постится в сообществах ВКонтакте.

Статистика распределения трафика via gs.statcounter.com

Увеличению мобильного трафика способствует два крупных фактора: увеличение количества мобильный устройств и человеческая лень (нам легче тапнуть по иконке приложения, чтобы получить контент, нежели набирать название сайта в поисковой строке). Что бы там ни было, сегодня расскажу как я пытался автоматизировать репост в соцсети и что из этого вышло

Встроенные средства репоста WordPress

Если вы покупаете подписку, то WP предоставляет обширную базу все различных плагинов, среди которых можно найти плагины для репоста в нужные вам сети. Ну а если вы пользуетесь бесплатной версией, как и я, то в WP есть встроенные средства интеграции с соцсетями. Настройки расположены во вкладке Инструменты -> Маркетинг -> Подключения. Можно так же просто wordpress.com/marketing/connections/ и доменное имя сайта. К сожалению WP публикует лишь начало поста и ссылку на нее.

В WP можно подключить Facebook Pages, Twitter, LinkedIn и Tumblr

Набор доступных соцсетей весьма скуден, что делать если я, к примеру, захочу репостить посты в Telegram канал?

Репост в Telegram

Конечно никто не мешает копировать весь материал и оформлять его в виде поста в канале, но это же скучно, да к тому же можно автоматизировать. Когда я вел свой блог в Telegram (в 2016 году), существовало несколько платформ бот-менеджеров (Manybot, Chatfuel), а так же множество ботов репостеров с WP или RSS. К сожалению Manybot и Chatfuel мертвы, боты репостеры тоже, большинство существующих платформ платные либо не могут парсить WP-сайты. До сих пор жив IFTTT, скорее всего из-за того что поддерживается средствами Telegram Inc.

Логика сервиса крайне проста, выбираем событие триггер, и действие.

Начать работу с сервисом крайне легко, регистрируемся, логинимся в необходимые сервисы, и создаем апплет. Для работы в Telegram нужно запустить официальный бот @IFTTT, и добавить его в свой канал как администратор. На сайте IFTTT можно настроить структуру отправляемого сообщения в Telegram.

Но к сожалению, почему-то репост в телеграм в нем работает криво, и текст кодируется в URL-encoding.

Я думал что это скорее всего на стороне WP, не найдя там настроек кодировки решил попробовать RSS. Да в WP есть RSS-лента, к слову большинство CMS тоже поддерживают RSS. Ссылка на RSS в WP: доменное имя сайта /feed/ .

К примеру ссылка на RSS моего блога:

https://keepeasy.tech.blog/feed/

Но RSS тоже не заработал, и к тому же RSS проверяется раз в час на предмет новых данных.

Кстати IFTTT хорошо справился с репостом в Facebook Pages, Даже текст отформатировал.

Instant View

Я решил не сдаваться и протестировать отправку ссылок на пост, вместо текста поста и все заработало. Но учитывая то, что вероятность перехода по ссылке на внешний сайт весьма мала, и именно из-за этого в Telegram ввели Instant View, я попытался сделать свой шаблон парсинга блога, так как изначально мой блог не поддерживал Instant View. Добавить свой шаблон не сложно, открываем страницу создания своих . Вставляем страницу, наподобие которой будет отслеживать Instant View.

Страница редактирования шаблона

Минимальный шаблон состоит из полей title и body. С помощью оператора @remove можно удалить с Preview нежелательные объекты, к примеру я удалил блок комментариев и лайков с WP. Подробнее можно почитать в документации. Если вы не знакомы со структурой сайта для которого пишете шаблон, то можете воспользоваться инструментами разработчика вашего браузера (на Chromium-подобных браузерах горячая клавиша — F12).

Итак, чтобы начать пользоваться шаблоном, нужно привести вашу ссылку на пост к следующему виду:

https://t.me/iv?url={{ссылка на пост}}&rhash={{хэш шаблона}}

Хеш шаблона, да и всю подобную ссылку можно получить нажав на кнопку View in Telegram наверху справа.

Ну а дальше можно встроить свой шаблон Instant View прямо в IFTTT, для этого в шаблоне сообщения Telegram необходимо вставить ссылку полученную на сайте Instant View вместо ссылки поста указать поле {{PostUrl}}. Не забываем включить предпросмотр ссылок (web page preview).

Вот так выглядит мой шаблон

На этом всё, прикрепляю использованные ресурсы:

0-post

Что там пишут люди в первом посте? Самое сложное в любом деле — это начать делать. Первые шаги в любой сфере наиболее трудные. Помню как сам некоторое время не мог сначала понять что такое процедуры и функции в Pascal, а позже не понимал велика ли разница, чтобы их синтаксически различать. Думаю прежде чем писать что-либо в блоге, неплохо бы представиться. Итак, первый пост начнем по доброй традиции:

Who is this guy?

Меня зовут Сирожиддин. Я студент Казанского Федерального Университета, направление обучения — прикладная информатика. Родом я из солнечной Ферганы. Вне стен университета, люблю читать, обожаю Айтматова и Солженицына; смотрю фильмы, очень много фильмов. Прежде чем поступить в КФУ, я учился в филологическом лицее, изучал иностранные языки, как-то английский и немного французский. У меня семья филологов: родители познакомились учась в педагогическом, но только мама работала по специализации (родители для меня ярчайшие примеры того, что не всегда удается работать по специализации, жизнь диктует свои правила). Учась в лицее увлекся компьютерами, некоторое время вел микроблог с новостями мобильного рынка и обзором приложений, но пришлось его забросить, так как нужно было готовиться к поступлению в вуз, а в филологическом лицее не преподавались точные науки.

Это я

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

Почему веду блог?

На одной из лекций по истории, лектор как-то сказала, что вуз по большому счёту направляет студентов, и за большую часть образования ответственны сами студенты, если студент сам не старается, то вуз вряд ли сможет чем-то помочь. Эта мысль была прямым отражением изменений в моем подходе к обучению. В лицее, в школе нам вели уроки и давали домашние задания, участие на уроке и успешное выполнение ДЗ гарантировали хорошую оценку (знаю что оценка не показатель образования, но всё же). В вузе такое не прокатило, обучение в вузе потребовало навыка, которому нигде не обучают — умение учится. К сожалению, даже сейчас не могу сказать что у меня хорошо получается учиться, и главная проблема, которую я не могу преодолеть — это мой излишний идеализм, иногда переходящий в максимализм. Что бы там ни было, новый подход предполагал то, что кроме чтения учебников, участия в лекциях/семинарах и выполнения домашних задания (практических работ?), нужно черпать знания из других источников. Первые такие источники для меня были форумы и статьи с различных сайтов. Позже начал смотреть некоторые видео с Youtube, смотрел некоторые курсы на Stepik и Coursera. А сейчас чаще заглядываю в документацию того или иного продукта, возможно изменилась проблематика, а возможно и подход.

Все это привело к тому что приходится обрабатывать огромное количество информации. Что-то запоминается сразу, а что-то упускается, что-то забывается, а что-то требует осмысления, глубокого анализа. Я конечно записываю лекции в блокнот; проходя онлайн курсы, конспектирую. Но в этом случае нет других читателей, кроме меня. Я пишу конспекты для себя, иногда без капли ответственности могу опускать то, что считаю не нужным, в итоге получается набор несвязных предложений, а иногда и проста схема, что бы быстро что-то вспомнить при необходимости.

Ведение блога, это своего рода knowledge sharing, попытка что-то рассказать, и что бы этот рассказ был рассказом, а не конспектом, нужна структура. Когда приходится что-то кому-то объяснять, нужно самому быть хорошо подготовленным, кроме того если вы усваиваете материал с целью преподавать, то данный материал усваивается лучше (источник). Так же по идеи этот блог должен меня замотивировать что-либо изучать: чтобы писать о чем либо, нужно самому разбираться в этом, да люди читающие блог возможно оставят свой комментарий, как можно что-то сделать лучше. Ну а на выходе мы имеем блог-сборник статей, а может коротких постов о том что я изучал, а может только собираюсь.

Так о чем всё-таки будет блог?

В основном в блоге будет излагаться моё глубоко субъективное мнение, иногда стереотипное😀. Ну а если серьёзно, блог будет посвящен IT-сфере, программированию и Computer science в целом; возможно буду писать над чем работаю/работал. В основном это будет оформлено в виде статей, которые будут поститься раз в неделю, возможно чаще, возможно реже. Пока есть несколько идей серий статей, но они пока в планах, возможно что в ближайшее время не смогу их написать. Гораздо чаще в блоге будут появляться мини-посты, скажем так обновления моего текущего состояния, может просто tips and tricks. Возможно так же буду постить обзоры курсов, которые прошел, или книг, оставивших впечатления. На данном этапе мои видения блога весьма расплывчаты. Одно дело репостить новости, другое дело пытаться писать что-то свое.

Кто мой потенциальный читатель?

Все желающие, в основном мой блог будет интересен тем, кто только учится, студентам. Возможно кто-то найдет решение своей проблемы. Аудитория в широком аспекте ограничена теми, кто интересуется разработкой ПО, информатикой (никогда не понимал почему Computer science переводят как информатика, ну да ладно, об этом позже) и смежными науками. Я буду всем рад!

Есть что мне сказать?

Не стесняйся, пиши мне на почту, или отправь сообщение прямо в WordPress (без регистрации и СМС). Кроме того можешь написать в любой соцсети, контакты прикреплены в шапке сайта. Можешь оставлять комментарии к постам. Так же в скором времени попытаюсь продублировать блог в соцсетях, сможешь читать меня там где тебе удобней.