Как превратить WordPress в полноценный узел соцсети
Представьте, что вы написали отличный пост в блог, и он тут же появился в лентах ваших друзей в Mastodon. Они ставят лайки, пишут комментарии, и эти ответы прилетают прямо в админку вашего сайта как обычные комментарии WordPress. Никаких кнопок «поделиться» или ручного копипаста ссылок. Звучит как магия, но на деле это работа протокола ActivityPub.
Я наткнулся на репозиторий wordpress-activitypub от команды Automattic (тех самых ребят, что стоят за WordPress.com). Проект делает простую, но мощную штуку: он превращает ваш автономный блог в полноценного участника децентрализованных соцсетей.
Что это и зачем нужно
ActivityPub — это открытый стандарт децентрализованных соцсетей. Если вы слышали про Mastodon, Pleroma или PixelFed, то вы уже знакомы с результатами его работы. Проблема большинства блогов в том, что они живут в изоляции. Вы публикуете контент и ждете, пока кто-то придет из поисковика или по ссылке из соцсетей.
Этот плагин меняет правила игры. Он делает ваш блог «читаемым» для любой платформы, поддерживающей протокол. Ваш профиль в WordPress становится похож на аккаунт в соцсети: на него можно подписаться, его посты можно репостить, а на контент — отвечать.
Как это работает на практике
После установки плагина ваш сайт начинает генерировать специальные JSON-ответы, которые понимают другие серверы в «федиверсе» (так называют сеть федеративных платформ).
Вот несколько вещей, которые становятся возможными:
- Пользователи Mastodon могут найти ваш блог, просто введя в поиске
@ваш-логин@ваш-домен.com. - Когда вы публикуете новую запись, она автоматически улетает в ленты подписчиков.
- Комментарии из внешних соцсетей синхронизируются с комментариями на сайте. Вы отвечаете в WordPress — человек видит ответ в своем приложении для микроблогинга.
Интересно, что плагин поддерживает разные типы контента. Можно транслировать только краткие анонсы со ссылкой или отдавать полный текст статьи.
Техническая сторона вопроса
Проект написан на PHP и плотно интегрируется с внутренним API WordPress. Разработчики из Automattic подошли к делу серьезно: в репозитории есть поддержка WordPress Playground. Это значит, что вы можете потыкать настройки плагина прямо в браузере, не устанавливая его на реальный сервер.
Для тех, кто хочет кастомизировать поведение, в репозитории лежит папка snippets. Там собраны куски кода от сообщества, которые позволяют, например, изменить формат вывода постов или добавить свои метаданные в Activity-потоки.
Если заглянуть в файл FEDERATION.md, можно увидеть детальную таблицу совместимости. Ребята честно пишут, какие объекты протокола поддерживаются (Person, Note, Article), а какие пока в работе. Это подкупает — нет попытки выдать желаемое за действительное.
Кому это пригодится
Я вижу несколько сценариев, где это реально полезно:
- Личные блоги. Вы сохраняете полный контроль над своим контентом на своем хостинге, но получаете охваты как в соцсетях.
- Технические издания. Разработчики часто сидят в Mastodon, и трансляция статей туда напрямую — отличный способ найти свою аудиторию.
- Корпоративные новости. Вместо того чтобы заводить отдельный аккаунт компании в каждой сети, можно просто «федерировать» основной сайт.
Стоит ли пробовать
Проект активно развивается, у него за плечами поддержка крупной компании и живое сообщество. Конечно, если у вас огромный портал с миллионами просмотров, стоит сначала протестировать нагрузку на тестовом контуре — федерация подразумевает отправку множества запросов при каждой публикации.
Для небольших и средних сайтов это, пожалуй, самый простой способ войти в мир децентрализованного веба без необходимости переезжать на новые движки. Лицензия MIT позволяет крутить код как угодно, а документация для разработчиков вполне вменяемая.
Если вам надоело зависеть от алгоритмов крупных соцсетей и хочется больше свободы в распространении контента, загляните в этот репозиторий. Возможно, это именно то, чего не хватало вашему блогу.
