Image
Image

액티비티펍(ActivityPub)

설명

ActivityPub으로 페디버스에 접속하세요! 블로그를 더 넓은 세상에 알리고, 팔로워를 모으며, 업데이트를 공유하고, 다양한 ActivityPub 호환 플랫폼의 사용자들로부터 댓글도 받아보실 수 있습니다.

With the ActivityPub plugin installed, your WordPress blog itself functions as a federated profile, along with profiles for each author. For instance, if your website is example.com, then the blog-wide profile can be found at @[email protected], and authors like Jane and Bob would have their individual profiles at @[email protected] and @[email protected], respectively.

예시: 제 마스토돈 프로필 이름은 @[email protected] 입니다. 여러분이 이를 검색하고 제 프로필을 찾아 팔로우를 누르면, 이제 제가 작성하는 모든 게시물이 여러분의 홈 피드에 나타나게 됩니다. 마찬가지로, ActivityPub 플러그인을 사용하면 @[email protected]에서 Jane의 프로필을 찾아 팔로우할 수 있습니다.

Jane의 @[email protected] 프로필을 팔로우하면, 그녀가 example.com에 작성하는 모든 블로그 게시물이 여러분의 홈 피드에 도착합니다. 동시에 블로그 전체 프로필인 @[email protected]을 팔로우하면, 모든 작성자의 업데이트를 받아볼 수 있습니다.

참고: 아무도 여러분의 작성자 프로필이나 블로그 인스턴스를 팔로우하지 않으면, 게시물은 다른 사람에게 보이지 않습니다. 플러그인이 제대로 작동하는지 확인하는 가장 간단한 방법은 직접 자신의 프로필을 팔로우해보는 것입니다. 이미 마스토돈 프로필이 있다면, 새로 생성된 프로필을 먼저 팔로우해보세요.

이 플러그인은 다음의 페더레이션 플랫폼에서 테스트되어 정상 작동하지만, 이 외에도 더 많은 플랫폼과 작동할 수 있습니다:

알아두실 점:

  1. 블로그 전체 프로필은 리라이트(rewrite) 규칙이 활성화된 사이트에서만 호환됩니다. 만약 사이트에서 리라이트 규칙이 활성화되어 있지 않더라도, 작성자별 프로필은 여전히 작동할 수 있습니다.
  2. 많은 단일 작성자 블로그는 보통 SEO 플러그인(예: Yoast, Rank Math)을 사용하여 작성자 프로필 페이지를 비활성화하거나 다른 페이지로 리디렉션하도록 설정합니다. 이는 보통 블로그 홈 페이지와 중복 콘텐츠가 생기는 것을 방지하기 위해 이루어집니다. 만약 이렇게 작성자 페이지가 비활성화되어 있다면, ActivityPub 작성자 프로필은 작동하지 않습니다.
    이 경우, 작성자 프로필 페이지를 다시 활성화한 후, SEO 플러그인에서 해당 페이지를 noindex 처리하면 됩니다. 이 방법을 사용하면 검색 엔진과의 중복 콘텐츠 문제를 해결하면서 ActivityPub 작성자 프로필도 정상적으로 작동할 수 있습니다.
  3. ActivityPub이 설치되면, 앞으로의 새 게시물만 페디버스에서 볼 수 있습니다. 마찬가지로, 이미 ActivityPub을 사용 중이더라도, 사이트를 팔로우하는 사람들은 그 시점 이후에 작성되는 새 게시물만 볼 수 있으며, 이전에 게시된 글은 홈 피드에 나타나지 않습니다. 이 과정은 뉴스레터 구독과 매우 비슷합니다. 뉴스레터를 구독하면 향후 이메일을 받을 수 있지만, 이전에 보관된 이메일은 받을 수 없습니다. ActivityPub에서도 누군가 사이트를 팔로우하면, 그때부터 작성되는 새 블로그 게시물만 전달받게 됩니다.

그럼 실제 과정은 어떻게 진행되나요?

  1. ActivityPub 플러그인을 설치합니다.
  2. 플러그인 설정 페이지로 이동하여 원하는 대로 설정을 조정합니다. 준비가 되면 저장 버튼을 클릭하세요.
  3. 작성자별 프로필을 사용 중이라면, 블로그의 작성자 프로필 페이지가 활성화되어 있는지 확인합니다.
  4. 마스토돈 또는 다른 페더레이션 플랫폼으로 가서 자신의 프로필을 검색하고 팔로우합니다. 새 프로필은 @[email protected] 또는 @[email protected] 형태이므로, 이 이름으로 검색하면 됩니다.
  5. 블로그에서 새 게시물을 발행합니다.
  6. 마스토돈에서 홈 피드에 새 게시물이 나타나는지 확인합니다.

참고: 새 게시물이 페디버스 피드에 나타나기까지 최대 15분 정도 걸릴 수 있습니다. 이는 메시지가 지연된 크론(cron)을 사용하여 연합된 플랫폼으로 전송되기 때문입니다. 이렇게 하면 사용자가 많은 팔로워를 가지고 있는 경우 게시 프로세스가 중단되는 문제를 방지할 수 있습니다. 따라서 즉시 게시물이 보이지 않는다고 해서 문제가 있다고 가정하지 마세요. 조금 시간을 두고 기다려 주세요. 대부분의 경우 몇 분 내로 나타날 것이며, 모든 것이 예상대로 작동하고 있다는 것을 알게 될 것입니다.

스크린샷

  • Image
    블록 에디터의 “팔로잉 하기” 블록
  • Image
    블록 에디터의 “팔로워” 블록
  • Image
    블록 에디터의 “페디버스 답글 달기” 블록
  • Image
    게시물로 “페디버스 답글 달기”
  • Image
    마스토돈 서버에서 확인할 수 있는 블로그 프로필

블록

이 플러그인은 9개의 블록을 제공합니다.

  • Fediverse Followers Display your followers from the Fediverse on your website.
  • ActivityPub App ActivityPub admin interface
  • Reply Handler: not a block, but block.json is very useful.
  • Fediverse Reactions Display Fediverse likes and reposts
  • Federated Reply Respond to posts, notes, videos, and other content on the fediverse. Ensure the URL originates from a federated social network like Mastodon, as other URLs might not function as expected.
  • ActivityPub Command Palette Registers ActivityPub commands for the WordPress Command Palette.
  • Fediverse Extra Fields Display extra fields from ActivityPub user profiles
  • Follow me on the Fediverse Display your Fediverse profile so that visitors can follow you.
  • Editor Plugin: not a block, but block.json is very useful.

설치

WordPress 플러그인 설치에 대한 일반 지침을 따르세요.

자동 플러그인 설치

내장된 플러그인 설치 프로그램을 사용하여 WordPress 플러그인을 추가하려면:

  1. 플러그인 > 새로 추가로 이동하세요.
  2. 플러그인 검색 상자에 “activitypub“을 입력하세요.
  3. 설치하고자 하는 WordPress 플러그인을 찾으세요.
    1. 플러그인에 대한 더 많은 정보와 플러그인 설정에 도움이 될 수 있는 인쇄 또는 저장할 수 있는 지침을 보려면 세부 정보를 클릭하세요.
    2. 지금 설치를 클릭하여 WordPress 플러그인을 설치하세요.
  4. 결과 설치 화면에는 설치가 성공적으로 완료되었는지 또는 설치 중에 발생한 문제가 있는지 표시됩니다.
  5. 성공하면, 플러그인 활성화를 클릭하여 활성화하거나, 플러그인 설치 프로그램으로 돌아가기를 클릭하여 추가 작업을 수행하세요.

수동 플러그인 설치

WordPress 플러그인을 수동으로 설치하는 것이 적절한 몇 가지 경우가 있습니다.

  • WordPress 플러그인의 설치 위치와 과정을 제어하고 싶다면.
  • 서버에서 WordPress 플러그인의 자동 설치를 허용하지 않는 경우.
  • 최신 개발 버전을 시도해 보고 싶다면 여기를 클릭하세요.

WordPress 플러그인을 수동으로 설치하려면 FTP에 대한 이해가 필요하며, 현재 버전과 호환되지 않거나 신뢰할 수 없는 출처에서 플러그인을 설치할 경우 사이트가 위험에 처할 수 있다는 점을 인지해야 합니다.

진행하기 전에 사이트를 완전히 백업하세요.

WordPress 플러그인을 수동으로 설치하려면:

  • Download your WordPress Plugin to your desktop.
  • zip 아카이브로 다운로드한 경우, 플러그인 폴더를 데스크톱에 추출하세요.
  • FTP 프로그램을 사용하여 플러그인 폴더를 온라인 WordPress 디렉터리의 wp-content/plugins 폴더에 업로드하세요.
  • 플러그인 화면으로 이동하여 목록에서 새로 업로드된 플러그인을 찾으세요.
  • 활성화를 클릭하여 활성화하세요.

FAQ

요약하자면…

이 플러그인은 워드프레스 블로그를 마스토돈과 같은 인기 있는 소셜 플랫폼과 연결하여, 게시물이 더 넓은 독자층에게 도달할 수 있도록 해줍니다.
설치 후에는 블로그가 이러한 플랫폼의 사용자들에게 팔로우될 수 있으며, 사용자는 홈 피드에서 새 게시물을 받아볼 수 있습니다.

“ActivityPub for WordPress” 란 무엇인가요?

ActivityPub for WordPress는 워드프레스에 페디버스 기능을 추가해 주지만, Friendica나 Mastodon과 같은 플랫폼을 대체하는 것은 아닙니다. 분산형 소셜 네트워크를 직접 호스팅하고 싶다면, Mastodon이나 Friendica를 사용하는 것을 고려해 보세요.

왜 ‘ActivityPub’인가요?

ActivityPub이라는 이름은 이 프로토콜의 두 가지 핵심 개념에서 비롯되었습니다:

  • Activity(액티비티): 이는 “Create(생성)”, “Like(좋아요)”, “Follow(팔로우)”, “Announce(알림)” 등과 같은 활동의 개념을 기반으로 합니다. 이러한 활동은 구조화된 메시지(보통 ActivityStreams 형식)로, 사용자가 네트워크에서 수행하는 행동을 설명합니다.
  • Pub(펍): Publish(발행) 또는 Publication(출판)의 약자입니다. 이는 발행-구독(pub-sub) 프로토콜임을 의미하며, 한 사용자가 다른 사용자를 “팔로우”하고, 팔로우한 사용자가 발행한 활동을 받아볼 수 있다는 것을 나타냅니다.

종합하면, ActivityPub은 활동을 발행하고 구독할 수 있는 프로토콜로, 서로 다른 서버 간 상호작용이 가능하며, 사용자가 페디버스(Fediverse) 전반에서 서로를 팔로우할 수 있는 분산형 소셜 네트워킹을 가능하게 합니다.

어떻게 해결하나요?

문서 디렉터리에는 일반적인 문제를 해결하는 데 도움이 될 수 있는 사용 방법 섹션이 있습니다.

상수(Constants)

이 플러그인은 PHP 상수(Constants)를 사용하여 기본 동작을 활성화, 비활성화하거나 변경할 수 있습니다. 주의해서 사용하시고, 자신이 무엇을 하고 있는지 확실히 아는 경우에만 사용하세요.

  • ACTIVITYPUB_REST_NAMESPACE – REST 엔드포인트의 기본 네임스페이스를 변경합니다. 기본값: activitypub/1.0.
  • ACTIVITYPUB_EXCERPT_LENGTH – 발췌문(Excerpt)의 길이를 변경합니다. 기본값: 400.
  • ACTIVITYPUB_MAX_IMAGE_ATTACHMENTS – 페더레이션될 첨부파일 수를 변경합니다. 기본값: 4.
  • ACTIVITYPUB_HASHTAGS_REGEXP – 텍스트에서 해시텍스트를 감지하는 기본 정규식(regex)을 변경합니다. 기본값: (?:(?<=\s)|(?<=<p>)|(?<=<br>)|^)#([A-Za-z0-9_]+)(?:(?=\s|[[:punct:]]|$)).
  • ACTIVITYPUB_USERNAME_REGEXP – 텍스트에서 @-답글을 감지하는 기본 정규식을 변경합니다. 기본값: (?:([A-Za-z0-9\._-]+)@((?:[A-Za-z0-9_-]+\.)+[A-Za-z]+)).
  • ACTIVITYPUB_URL_REGEXP – 텍스트에서 URL을 감지하는 기본 정규식을 변경합니다. 기본값: (www.|http:|https:)+[^\s]+[\w\/].
  • ACTIVITYPUB_CUSTOM_POST_CONTENT – 활동(Activity)의 기본 템플릿을 변경합니다. 기본값: <strong>[ap_title]</strong>\n\n[ap_content]\n\n[ap_hashtags]\n\n[ap_shortlink].
  • ACTIVITYPUB_AUTHORIZED_FETCH – AUTHORIZED_FETCH 기능을 활성화합니다.
  • ACTIVITYPUB_DISABLE_REWRITESmod_rewrite 규칙의 자동 생성을 비활성화합니다. 기본값: false.
  • ACTIVITYPUB_DISABLE_INCOMING_INTERACTIONS – 들어오는 답글/댓글/좋아요를 차단합니다. 기본값: false.
  • ACTIVITYPUB_DISABLE_OUTGOING_INTERACTIONS – 나가는 답글/댓글/좋아요를 비활성화합니다. 기본값: false.
  • ACTIVITYPUB_SHARED_INBOX_FEATURE – 공유 받은편지함 기능을 활성화합니다. 기본값: false.
  • ACTIVITYPUB_SEND_VARY_HEADERVary: Accept 헤더 전송을 활성화합니다. 기본값: false.

팔로워는 어디에서 관리할 수 있나요?

블로그 사용자를 활성화한 경우, 해당 사용자의 팔로워 목록은 설정의 해당 경로에서 확인할 수 있습니다:
/wp-admin/options-general.php?page=activitypub&tab=followers

사용자의 팔로워는 메뉴의 “사용자” -> “팔로워” 또는 wp-admin/users.php?page=activitypub-followers-list에서 확인할 수 있습니다.

데이터 보호상의 이유로, 다른 사용자의 팔로워는 확인할 수 없습니다.

후기

Image
2025년 9월 10일
As someone working on the Korean translation of this plugin, I have seen first-hand how important it is for WordPress users to connect with the Fediverse. This plugin provides a bridge that makes such integration possible. Thanks to the developers, Korean users can now more easily explore and join the open social web. I deeply appreciate the effort, vision, and continuous improvements behind this project.
Image
2025년 8월 3일
I’ve installed and setup other ActivityPub servers usually some time & testing required along with tweaks. However with the WP ActivityPub plug-in it, surprisingly, functioned properly <gasp!> right after install. What a joy. Thank you.
Image
2025년 7월 23일
Great plugin (actively maintained!), great support, a very nice way to join the Fediverse and automatically share posts and any kind of CPT to the Fediverse audience. I was initially sharing posts using my personal Mastodon account, but it’s much nicer to have your dedicated account for your blogs (and/or authors). Thanks for this plugin!
Image
2025년 6월 6일
Why wouldn’t you want your blog to federate with Mastodon and all the other apps on the Fediverse? This plugin in such an important piece in the social web ecosystem. Install eyes closed.
Image
2025년 5월 22일 답글 1개
Very solid move from WordPress to decide to integrate ActivityPub into their family. I’ve set up a friend’s website to have ActivityPub and it’s working really nicely.
Image
2025년 4월 6일
Great Plugin: When I publish a post on WordPress, it also appears on Mastodon.Friendly Support: Thanks to Matthias Pfefferle, who answered my questions during installation and evaluation.
모든 39 평가 읽기

기여자 & 개발자

“액티비티펍(ActivityPub)”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자

“액티비티펍(ActivityPub)”(이)가 26 개 언어로 번역되었습니다. 기여해 주셔서 번역자님께 감사드립니다.

자국어로 “액티비티펍(ActivityPub)”(을)를 번역하세요.

개발에 관심이 있으십니까?

코드 탐색하기는, SVN 저장소를 확인하시거나, 개발 기록RSS로 구독하세요.

변경이력

7.8.2 – 2025-12-21

Fixed

  • Fix error when receiving replies to non-existent posts.
  • Fix fatal error when displaying posts with mentions of invalid remote actors.

7.8.1 – 2025-12-18

Added

  • Hide comments from specific post types in the WordPress admin comments list.

Fixed

  • Prevent comment email notifications for ap_post.
  • Prevent post creation when Reader is deactivated.

7.8.0 – 2025-12-17

Added

  • Add blocklist subscriptions for automatic weekly synchronization of remote blocklists.
  • Add compact display style to Reactions block that hides avatars.
  • Add domain blocklist importer for bulk importing blocked domains.
  • Add image optimization for imported attachments (resize to 1200px max, convert to WebP).
  • Add local caching for remote actor avatars.
  • Add relay mode to forward public activities to all followers.
  • Add scheduled cleanup for remote posts, preserving posts with local user interactions.
  • Add site health check to warn when DISABLE_WP_CRON may impact ActivityPub functionality
  • Add Social Web Reader for browsing ActivityPub content directly in WordPress admin.
  • Delete remote posts on plugin uninstall.
  • Mastodon importer now imports self-replies as comments, preserving thread structure.

Changed

  • Cache expensive operations in Post transformer to improve performance.
  • Improve performance and reliability of @-mention detection.
  • Reduce federated content size by removing unnecessary HTML attributes.
  • Skip downloading video and audio attachments, embedding remote URLs directly to avoid storage limits.
  • Use stable term_id-based IDs for Term transformer to ensure federation consistency.
  • Wrap blocked domains and keywords tables in collapsible details element.

Fixed

  • Ensure NodeInfo accurately represents site administrators to the Fediverse.
  • Fediverse Followers block now works correctly when the “Hide Social Graph” privacy option is enabled.
  • Fix NodeInfo documents to comply with schema specification.
  • Follow Me block button-only style now respects width settings from the inner Button block.
  • Preserve whitespace inside preformatted elements when federating content.
  • Respect WordPress “show avatars” setting for remote actor avatars.

7.7.1 – 2025-12-04

Fixed

  • Fix admin styling for quote comments to match likes and reposts
  • Mastodon importer now unpacks nested archives instead of getting confused by the extra folder.
  • Add individually specified recipients to public activities in shared inbox.

7.7.0 – 2025-12-03

Added

  • Add documentation guide for using ActivityPub blocks in classic themes with Block Template Parts
  • Added a new Fediverse Extra Fields block to display ActivityPub extra fields, featuring compact, stacked, and card layouts with flexible user selection options.
  • Added support for quote comments, improving detection and handling of quoted replies and links in post interactions.
  • Add notifications for boosts, likes, and new followers in Mastodon apps via the Enable Mastodon Apps plugin
  • Adds support for turning tags, categories, and custom taxonomies into federated collections in the Reader view so you can browse and follow topics more seamlessly.
  • Prevent email notifications for comments on ActivityPub custom post types.
  • Send a Reject activity when a quote comment is deleted, revoking previous quote permissions and ensuring consistent inbox handling.
  • Store and retrieve webfinger acct for remote actors to improve identification and reduce lookups

Changed

  • Improve gallery and image block markup for ap_posts with better alt text and optimized layouts.
  • Improve support for media attachments by handling Audio, Document, and Video object types in addition to Images.
  • Maintain consistent return values in Create handler.
  • Remove trailing hashtags from incoming posts to prevent duplication with taxonomy tags.
  • Store comments and reactions from followed actors on reader posts, and keep them separate from your site’s comments in wp-admin.
  • Update compatibility testing for PHP 8.5 and WordPress 6.9
  • Use tag name instead of slug for hashtag display.

Fixed

  • Always includes id, first, and last links in collection responses, ensuring followers and following lists display correctly in Mastodon.
  • Automatically approves reactions on ActivityPub posts in the Reader view for a smoother, more seamless interaction experience.
  • Deliver public activities to followers only.
  • Disable REST API endpoints for internal post types.
  • False mention email notifications for users in CC field without actual mention tags.
  • Fix “Filename too long” errors when downloading attachments from URLs with query parameters (e.g., Instagram CDN URLs).
  • Fix make_clickable corrupting existing anchor tags in ActivityPub content
  • Fix PHP 8.5 deprecation warnings for ReflectionProperty::setAccessible() and ReflectionMethod::setAccessible()
  • Improved handling of unusual activity data to avoid errors when activities contain unexpected formats.
  • Preserve original ActivityPub activity timestamps when creating posts and comments instead of using current time.
  • Prevented duplicate email notifications when ActivityPub instances re-send Follow activities for already-following actors.
  • Prevents unwanted comment types—like pingbacks, trackbacks, notes and custom system comments, from being federated, ensuring only real user comments are shared with the fediverse.
  • Removed a redundant instruction from the custom post content settings to simplify the UI.
  • Reply block now shows fallback link when oEmbed fails instead of empty div.
  • Simplified reply links by removing special handling for federated comments, making replies work the same for all comments where replying is allowed.
  • Undefined array key warning in Scheduler::async_batch when called without arguments.

7.6.1 – 2025-11-12

Fixed

  • Fixed compatibility with Pixelfed and similar platforms by treating activities without recipients as public, ensuring boosts and reposts work correctly.
  • Improved delete handling for remote replies by streamlining tombstone detection and simplifying object deletion for more reliable and consistent behavior.
  • Made inbox cleanup more reliable and ensuring deduplication only affects the specific activity being removed.

7.6.0 – 2025-11-11

Added

  • Add bidirectional transforms between reply and embed blocks for improved user experience.
  • Add Command Palette integration for quick navigation to ActivityPub admin pages
  • Added a new ap_object post type and taxonomies for storing and managing incoming ActivityPub objects, with updated handlers
  • Added a privacy option to hide followers and following lists from profiles while keeping follow relationships intact.
  • Added a scheduled task and setting to automatically purge old inbox items, helping maintain site performance and storage control.
  • Added fallback to trigger create handling when updates fail for missing posts or comments, ensuring objects are properly created.
  • Added immediate dispatch for Accept activities to speed up quoted posts while keeping scheduled processing for compatibility with other instances.
  • Added new configuration options to better manage traffic spikes when federating posts, allowing finer control over retry limits, delays, and batch pauses.
  • Added support for FEP-8fcf follower synchronization, improving data consistency across servers with new sync headers, digest checks, and reconciliation tasks.
  • Add LiteSpeed Cache integration to prevent ActivityPub JSON responses from being cached incorrectly. Includes automatic .htaccess rules and Site Health check to ensure proper configuration.
  • Add quote visibility setting for Classic Editor users.
  • Add unified attachment processor for handling ActivityPub media imports from both remote URLs and local files, with automatic media block generation and Classic Editor support.
  • Integrate Federated Reply block with WP.com Reader’s post share functionality, allowing users to reply to ActivityPub posts directly from the Reader.

Changed

  • Added support for FEP-3b86 Activity Intents, extending WebFinger and REST interactions with new Create and Follow intent links.
  • Added support for the latest NodeInfo (FEP-0151), with improved federation details, staff info, and software metadata for better ActivityPub compliance.
  • Extended inbox support for undoing Like, Create, and Announce activities, with refactored undo logic and improved activity persistence.
  • Improved Classic Editor integration by adding better media handling and full test coverage for attachments, permissions, and metadata.
  • Improved delivery of public and follower activities by expanding local recipient handling to include all ActivityPub-capable users and follower collections.
  • Improved inbox performance by batching and deduplicating activities, reducing redundant processing and improving handling during high activity periods.
  • Improved REST API responses with smarter context handling.
  • Improved REST collection pagination by using explicit total item counts for more accurate results.
  • Moved default visibility handling from the server to the editor UI, ensuring consistent and flexible ActivityPub visibility settings across both block and classic editors.
  • Prevented self-announcing by ignoring announces from the blog actor, while still processing announces from user and external actors.
  • Refactored activity handling to support multiple recipients per activity, allowing posts and interactions to be linked to several local users at once.
  • Refactored avatar handling into a new system that stores and manages avatars per remote actor, improving reliability and preparing for future caching support.
  • Refactored the inbox system to use a shared inbox, storing activities once with multiple recipients for improved efficiency and reduced duplication.
  • Reorganize integration loader and move Stream integration into dedicated folder structure.
  • Reply posts: do not display post title before @mentions in posts that are replies to somebody else
  • Simplified configuration by always enabling the shared inbox and removing its separate setting, UI field, and related logic.
  • Simplified inbox storage settings, allowing certain activities (like deletes) to be skipped to reduce unnecessary database use.
  • Simplify follow() API return types to int|WP_Error for better predictability.
  • Updated inbox handling to support multiple users receiving the same activity and improve overall data consistency.
  • Updated mailer hooks to send notifications only when activities are successfully handled, preventing emails for failed events.
  • Update plugin short description to be more user-friendly.

Fixed

  • Added a safeguard to ensure the plugin works correctly even when no post types are selected.
  • Added a safety check to prevent errors when resolving comment author hostnames without a valid IP address.
  • Fixed activity processing to handle QuoteRequest and other edge cases more reliably.
  • Fixed an issue with post content templates to ensure the correct fallback is always applied.
  • Fixed fatal error when transformer Factory receives WP_Error objects.
  • Fixed HTML entity encoding in extra field names when displayed on ActivityPub platforms
  • Fixed typo in example, improve quoting description.
  • Fix Following table error message to display user input instead of empty string when webfinger lookup fails.
  • Fix infinite recursion when storing remote actors with mentions in their bios
  • Fix local inbox delivery to use internal REST API instead of HTTP, enabling local follows and proper boost counting.
  • Fix logic errors in Move handler: remove redundant assignment and fix variable name collision.
  • Fix public key retrieval for GoToSocial profiles with path-based key URLs.
  • Improved actor resolution by prioritizing blog actor detection before remote actor checks and refining home page URL handling.
  • Improved handling of empty fields for better compatibility with Pixelfed and more consistent fallback behavior across actor names, URLs, and related data.
  • Improved hashtag encoding for consistent formatting.
  • Improved Jetpack integration by initializing it during the WordPress startup process.
  • Refactored Mastodon import handling to use consistent array-based data, improving reliability and compatibility across all import scenarios.
  • Reply block now properly validates ActivityPub URLs before setting inReplyTo field

7.5.0 – 2025-10-01

Added

  • 누가 내 글을 인용할 수 있는지 제어하는 설정이 추가되었습니다.
  • 인용 요청의 적절한 처리, 검증 및 정책 기반 수락 또는 거부를 가능하게 하는 인용요청 활동(FEP-044f)에 대한 지원이 추가되었습니다.
  • 워드프레스닷컴 리더에서 액티비티펍 피드를 사용하도록 업그레이드 루틴 추가
  • 작성자 아카이브 사이트 상태 확인을 위한 Yoast SEO 통합을 추가합니다.
  • 더 명확한 기본값과 더 나은 마스토돈 호환성으로 상호작용 정책이 개선되었습니다.
  • 새로운 사이트 건강 확인은 활성 캡차 플러그인이 ActivityPub 댓글을 차단할 수 있는지 경고합니다.
  • 팔로잉 메타를 동기화하여 워드프레스닷컴 리더에서 액티비티펍 액터에 대한 RSS 피드 구독을 활성화합니다.
  • 이제 젯팩 또는 워드프레스닷컴을 사용할 때 워드프레스닷컴 리더에서 바로 사람들을 팔로우하고 그들의 업데이트를 확인할 수 있습니다.

Changed

  • 계정 식별자로 액터 가져오기 지원이 추가되고 액터 검색의 안정성이 향상되었습니다.
  • 계정 모달의 오류 메시지를 명확히 하여 전체 프로필 URL 형식을 지정하도록 함.
  • 공개 활동을 더 잘 식별할 수 있도록 확인 기능이 개선되었습니다.
  • ‘구현’ 필드에 항상 여러 항목을 사용하도록 하여 호환성을 개선했습니다.
  • 명확성을 위해 수신자 처리가 개선되고 활동의 가시성 처리가 개선되었습니다.
  • 원격 답글 블록은 이제 같은 페이지의 모든 블록에서 계정 정보를 동기화합니다.
  • 새로운 후크로 알림 처리를 표준화하여 확장성과 일관성을 개선했습니다.
  • 동기화 허용목록을 업데이트하여 좋아요 및 재게시 알림에 대한 Jetpack 알림을 추가했습니다.

Fixed

  • 블록 편집기에서 글 메타데이터가 누락되거나 업데이트되지 않던 문제를 수정했습니다.
  • URL 배열이 보존되도록 Flag 액티비티 오브젝트 리스트 처리 방식을 수정
  • post_author가 $_REQUEST에서 누락된 경우 대량 편집 시나리오에서 PHP 경고 수정
  • 게시물이 이제 블로그 모드가 활성화되어 있고 유효한 작성자가 존재하지 않을 때만 블로그 사용자로 폴백되며, 이는 액터가 존재할 때만 콘텐츠 협상이 실행되도록 보장합니다.

7.4.0 – 2025-09-15

Added

  • 원시 JSON 데이터에 액세스하기 위해 ap_actor 게시물에 activitypub_json REST 필드를 추가합니다.
  • 영구 삭제된 페더레이션 댓글에 대한 활동 삭제 지원을 추가합니다.
  • 액터 관리를 위한 새로운 WP-CLI 명령이 추가되었습니다.
  • 페디버스에서 사용자도 삭제할지 여부를 묻는 ActivityPub 기능의 일괄 삭제 확인 단계를 추가했습니다.
  • 가상 삭제 및 복원을 지원하여 로컬에서 삭제하지 않고도 개체를 페디버스에서 제거할 수 있습니다.
  • 미디어 페이지 사이트 상태 확인을 위한 Yoast SEO 통합 추가
  • 계정 확인을 중앙 집중화하고 캐싱하여 목록 전반에서 더 빠르고 일관성 있게 처리함으로써 WebFinger 조회를 최적화했습니다.

Changed

  • ‘첨부 파일’ 게시물 유형 설명을 명확히 하여 미디어 라이브러리 업로드를 의미한다고 설명하고 대부분의 경우 페더레이션을 비활성화할 것을 권장합니다.
  • ActivityPub 설정 페이지에서 접근할 때 차단 확인에서 사이트 전체 체크박스를 숨김.
  • 마스토돈의 애플리케이션 액터와 연계하여 액티비티펍 호환성을 개선했습니다.
  • 이제 여러 개의 답글 블록을 사용하여 여러 개의 글에 답글을 달 수 있습니다.
  • 호환성과 성능을 개선하기 위해 워드프레스 코어 임베드 기능을 사용하도록 댓글 블록을 리팩터링했습니다.
  • 성능과 코드 명확성을 개선하기 위해 정적 값에 wp_interactivity_state() 대신 wp_interactivity_config()를 사용합니다.

Deprecated

  • 이제 ActivityPub은 기본적으로 자동화된 개체 유형 선택을 사용하며, 기존 수동 옵션은 호환성을 위해 고급 설정으로 이동했습니다.

Fixed

  • 작성자가 이전 글의 공개 여부를 변경할 수 없도록 하는 콘텐츠 공개 여부 재정의 문제를 수정했습니다.
  • ActivityPub 설정 저장 시 PHP 경고 수정.
  • 컬렉션 페이지 매김 링크에서 쿼리 인수 보존 수정
  • 릴리스 스크립트를 수정하여 이전에 버전 업데이트 중에 놓쳤던 더 많은 ‘미출시’ 지원 중단 패턴을 포착합니다.
  • 댓글 블록이 항상 @-멘션으로 변환되던 댓글 블록 렌더링 불일치 문제를 수정했습니다. 이제 첫 번째 답글 블록만 @-멘션이 되고 다른 답글 블록은 일반 링크로 유지됩니다.
  • 시스템 수준의 계정은 팔로우할 수 없으므로 애플리케이션 사용자에게 팔로우 알림 전송을 중지합니다.

7.3.0 – 2025-08-28

Added

  • 차단된 사용자 및 사이트 전체 차단을 관리하기 위한 목록 테이블 인터페이스와 함께 액터 차단 기능 추가
  • Xdebug를 사용하여 전용 커버리지 작업을 통해 코드 커버리지 리포팅을 GitHub Actions PHPUnit 워크플로에 추가
  • 액터, 도메인 및 키워드에 대한 사용자별 및 사이트 전체 제어 기능을 통해 ActivityPub에 포괄적인 차단 및 검토 시스템을 추가.
  • 적절한 ActivityPub 아이콘 개체 처리를 통해 팔로워 및 팔로잉 테이블 클래스에 대한 포괄적인 단위 테스트 추가.
  • 팔로잉 페이지의 도움말 탭에 기존 스타터 키트 가져오기에 대한 링크와 설명을 추가했습니다.
  • 팔로워에게 삭제 활동을 전송하여 페디버스에서 블로그를 삭제하는 자폭 기능을 추가합니다.
  • 스타터 키트 가져오기 중 계정을 선택할 수 있는 사용자 인터페이스 추가
  • 링크(URL)에서 스타터 키트를 가져오는 기능을 추가합니다.
  • 마스토돈과 유사한 (원격) URL을 검색하여 기존 답글로 리디렉션하거나 누락된 경우 가져오기 기능을 추가합니다.
  • 사용자 제거 시 삭제 활동 전송에 대한 지원을 추가합니다.
  • 액티비티펍 API에서 스타터 키트 컬렉션에 대한 지원을 추가합니다.
  • 글로벌 받은 편지함 핸들러와 지속성 계층으로, 들어오는 Create 및 Update 요청을 기록하여 액티비티 처리 과정을 디버깅하고 검증할 수 있도록 합니다.
  • 이제 팔로워 목록에 개별 계정을 차단할 수 있는 옵션이 추가되었습니다.
  • 새로운 통합 시스템으로 삭제된 콘텐츠의 처리가 개선되어 추적 및 호환성이 향상되었습니다.
  • 이제 모더레이션에서 콘텐츠, 요약 및 이름 필드의 모든 언어 변형에서 차단된 키워드를 확인합니다.
  • 네트워크 전체에서 활성화 또는 비활성화하면 플러그인은 이제 모든 사이트에서 재작성 규칙을 새로 고칩니다.

Changed

  • 관리자 테이블에 아이콘이 없는 액터의 기본 아바타 추가하기
  • 스타터 키트에서 액터 ID 목록 지원이 추가되었습니다.
  • 팔로잉 클래스 문서 개선 및 성능 향상을 위해 카운트 메서드 최적화
  • 통합 API로 액터 차단을 리팩토링하여 유지보수성 향상

Fixed

  • 사용자 선택기에 의존하는 블록은 더 이상 사용자를 가져올 때 경합 조건으로 인해 오류가 발생하지 않습니다.
  • 모달 블록에서 중복된 HTML ID 및 누락된 양식 레이블 수정
  • 이메일 기반 로그인(예: Site Kit Google 인증)을 사용하는 사용자의 잘못된 ActivityPub 핸들을 수정합니다.
  • 워드프레스 핵심 함수에 null 값이 전달되는 것을 방지하여 PHP 8.4 사용 중단 경고 수정
  • 작성자 URL을 적절한 형식으로 변환하여 처리를 개선합니다.
  • 팔로워 및 팔로잉 컨트롤러에서 유효하지 않은 액터를 건너뛰어 REST 응답을 개선합니다.
  • 팔로우 프로세스 중 액터 확인을 더욱 안정적으로 수행할 수 있습니다.
  • 애플리케이션 사용자가 팔로우되는 것을 방지합니다.
  • FEP 844e를 올바르게 구현합니다.
  • 더 나은 호환성을 위해 ActivityPub 요약문을 일반 텍스트로 전환합니다.

7.2.0 – 2025-07-30

Added

  • 페더레이션(연합) 댓글에 이미지 첨부 지원 추가 – 이제 댓글 콘텐츠의 HTML 이미지에 적절한 ActivityStreams 첨부 필드가 포함됩니다.
  • 기능이 활성화된 경우 원격 상호작용을 위해 팔로잉 내부 대화 상자로 연결합니다.
  • 이제 팔로워 목록에 팔로우 상태가 표시되고 빠른 맞팔로우 작업이 가능합니다.
  • 게시물을 고정글로 설정(해제)하면 액터 업데이트를 트리거합니다.
  • 이제 OrderedCollection을 스타터 팩으로 사용할 수 있으며, 팔로워 또는 팔로잉 엔드포인트에서 출력을 끌어다 놓기만 하면 됩니다.

Changed

  • 로컬 개발 도구의 간섭을 피하여 프로덕션과 유사한 조건에서 테스트가 실행되도록 합니다.
  • HTTP 요청 서명을 직접 호출하는 대신 필터로 이동했습니다.

Fixed

  • 관리자가 아닌 사용자가 팔로우하기 및 팔로워 블록을 사용하도록 허용하기
  • 팔로워에서 팔로잉 목록으로 올바른 연결
  • 아이콘 속성이 누락된 팔로워의 아바타 렌더링 수정
  • 포스트 요약문의 멀티바이트 문자 손상을 수정하여 텍스트 처리 중에 그리스어 및 기타 비 ASCII 텍스트가 왜곡되는 것을 방지합니다.
  • 보낼 편지함에 게시물이 추가될 때 더 이상 정보성 페디버스 블록이 렌더링되지 않습니다.

7.1.0 – 2025-07-23

Added

  • 팔로우 양식의 첫 번째 버전을 추가하여 사용자가 사용자 아이디 또는 프로필 링크로 다른 액터를 팔로우할 수 있게 되었습니다.
  • 페디버스 스타터 키트에 대한 초기 지원이 추가되어 사용자가 미리 정의된 목록에서 추천 계정을 팔로우할 수 있습니다.
  • 플러그인을 업데이트할 때마다 모든 스케줄러가 등록되었는지 확인하세요.
  • 이제 팔로워 및 팔로잉 목록 표에 열 및 페이지 매김 화면 옵션이 지원됩니다.
  • 이제 모든 프로필에서 추천 태그 엔드포인트를 다시 사용할 수 있으며, 각 사용자가 가장 자주 사용하는 태그를 표시합니다.
  • 이제 following 엔드포인트는 팔로우 중인 실제 사용자 목록을 반환합니다.

Changed

  • 이제 팔로워 테이블은 워드프레스의 다른 테이블과 비슷하게 보입니다.
  • 내부적으로 입력 형식을 정규화하여 계정 별칭 처리를 개선했습니다.
  • 다양한 유형의 게시물을 쿼리할 때 이중 쿼리를 방지하여 성능이 약간 개선되었습니다.
  • 페더레이션되지 않은 오래된 글은 기본적으로 로컬 가시성으로 설정합니다.
  • 이제 환영 체크리스트의 단계 카운트에는 환영 클래스에서 추가된 단계만 고려됩니다.
  • 이제 통합된 액터 모델 덕분에 원격 사용자 URI 대신 사용자 지정 게시물 유형 ID를 사용하여 테이블 작업이 더 빨라졌습니다.
  • 이제 팔로잉 리스트는 다른 워드프레스 테이블의 모양과 더 가깝게 일치하며 상태별로 필터링할 수 있습니다.

Fixed

  • UndoFollow 요청에 대한 올바른 가시성 처리 확인
  • Actor-ID가 항상 URL 형식이 되도록 보장합니다.
  • 팔로우 요청이 올바르게 작동하는지 보장하기 위해 팔로우 요청을 수락하는 방법의 버그를 수정했습니다.
  • 표시된 팔로워 수가 실제 팔로워 목록과 항상 일치하지는 않던 문제를 수정했습니다.
  • 팔로워 개요가 로드되지 않던 PHP 오류를 수정했습니다.
  • 누락된 아바타 클래스를 수정하여 대시보드의 ActivityPub 아바타에 CSS 스타일이 올바르게 적용되도록 했습니다.
  • 관련 없는 요청이 더블 노킹 콜백에 걸렸을 때 발생할 수 있는 오류를 수정했습니다.
  • 프로필 링크에서 유저네임을 더 잘 추측할 수 있도록 WebFinger 폴백 기능이 개선되었습니다.
  • WordPress가 ActivityPub 설정 페이지에서 모든 관리자 알림을 두 번 로드하지 않도록 합니다.
  • 팔로워 날짜가 실제 팔로우 시간을 정확하게 반영하지 못했을 수 있으므로 혼동을 피하기 위해 삭제했습니다.
  • 적절한 언팔로우(Undo) 처리를 위해 보낸 편지함에서 팔로우 활동 삭제를 중지합니다.

7.0.1 – 2025-07-10

Fixed

  • 정리된 액터에 대한 상호작용을 삭제할 때, 우리는 내부 ID 대신 액터의 URL을 다시 사용해 그들의 정보를 가져옵니다.

7.0.0 – 2025-07-09

Added

  • 팔로우 요청의 원격 거부 처리를 위한 기본 지원이 추가되었습니다.
  • 수신 활동에 대한 RFC-9421 스타일 서명에 대한 기본 지원이 추가되었습니다.
  • 액터에 대한 초기 팔로잉 지원이 추가되었으며, 플러그인이 지원을 추가할 때까지 지금은 숨겨져 있습니다.
  • 사이트 상태 디버그 정보에 누락된 ‘고급 설정’ 세부 정보를 추가했습니다.
  • 좋아요 및 리포스트와 같은 리액션을 자동으로 승인하는 옵션이 추가되었습니다.
  • 요약 기반 콘텐츠 경고를 단계적으로 폐지하기 위한 첫 번째 단계로 네임스페이스 속성 및 dcterms:subject 필드(FEP-b2b8)에 대한 지원이 추가되었습니다.
  • REST API 응답 캐싱을 돕기 위해 WP Rest Cache 플러그인에 대한 지원이 추가되었습니다.
  • FEP-844e에 대한 문서화된 지원.
  • Draft-Cavage 스타일 서명을 사용한 재시도를 포함하여 발신 활동에 대한 RFC-9421 스타일 서명을 선택적으로 지원합니다.
  • 이제 리액션 블록에서 색상, 테두리, 박스 쉐도우 및 타이포그래피 사용자 지정을 지원합니다.
  • 원격 액터에게 팔로우 요청을 보내는 기능(보낸 편지함 전달 및 상태 업데이트 포함)이 이제 지원되며, 추후 UI 통합이 이루어질 예정입니다.

Changed

  • 이제 댓글 피드에는 기본적으로 댓글만 표시되며, 새로운 type 필터(예: like, all)를 통해 표시할 반응을 사용자 지정할 수 있습니다.
  • 차단 설정에서 블로그 사용자의 이름을 일관되게 지정합니다.
  • 이제 들어오는 REST API 요청에 대한 hS2019 서명은 공개 키를 기반으로 알고리즘이 결정됩니다.
  • 이제 페디버스에서 좋아요, 댓글 및 리포스트하려면 토론 옵션 require_name_email이 true로 설정된 경우 이름 또는 preferredUsername이 설정되어야 합니다. 그렇지 않은 경우 “익명”으로 돌아갑니다.
  • 액터의 공개/개인 키 관리는 이제 서명 개선에 대비하여 액터 컬렉션에 있습니다.
  • 이제 페디버스에서 받은 새 리액션에 대한 알림 이메일이 편집 페이지가 아닌 검토 페이지로 연결되어 오류를 방지하고 댓글 관리를 더욱 원활하게 할 수 있습니다.
  • 이제 플러그인은 설정 > Activitypub에서 어떤 설정 탭이 표시되는지 완전히 제어할 수 있습니다.
  • 팔로워 구조를 재작업하여 핸들링을 간소화하고 팔로잉 메커니즘에 재사용할 수 있도록 했습니다.
  • 이제 액티비티펍 설정 페이지의 화면 옵션을 필터링할 수 있습니다.
  • 블로그 식별자를 비워두면 더 이상 기존 사용자 이름과 동일하다는 오류 메시지가 표시되지 않습니다.
  • 이제 환영 탭의 단계 완료 추적은 단계 수가 줄어든 경우에도 작동합니다.
  • 이미지 첨부 설정이 기본값과 일치하는 경우 더 이상 데이터베이스에 저장되지 않습니다.
  • 이제 프로필 모드 단계에서 블로그 전용 모드를 선택한 경우 환영 페이지가 올바른 프로필로 연결됩니다.
  • 댓글 아바타 검색을 통합하고 코어 필터를 재사용하여 제3자 플러그인에 액세스 권한을 부여합니다.

Fixed

  • 앰퍼샌드가 포함된 상호작용 리디렉션 URL을 허용합니다.
  • 페디버스에서 받은 댓글은 더 이상 댓글 목록에 편집 링크가 표시되지 않습니다.
  • 원격 좋아요 및 부스트로 연결되는 링크가 적절한 페이지 대신 원시 JSON을 열 수 있던 문제를 수정했습니다.
  • 사용자 ID를 기반으로 액티비티펍 ID를 가져올 때 발생할 수 있는 잠재적 오류를 수정했습니다.
  • 이제 hs2019 알고리즘을 사용하는 HTTP 서명이 오류 없이 수락됩니다.
  • 이전 팔로워 데이터와의 호환성이 개선되었습니다.
  • 서명에 algorithm 매개변수가 누락된 받은 편지함 요청은 더 이상 PHP 경고를 생성하지 않습니다.
  • URL 대신 웹핑거 ID를 전달하는 상호작용 시도는 다시 작동할 것입니다.
  • 이제 HTML 엔티티가 포함된 이름이 리액션 블록의 사용자 목록에 올바르게 표시됩니다.
  • 비어있음 또는 기본 포스트 메타 값의 저장을 방지합니다.
  • 반응 블록에 표시되는 아바타의 수는 더 이상 ‘좋아요’ 수에 의존하지 않으며 댓글 유형에 구애받지 않습니다.
  • 최근 정리 과정에서 실수로 제거된 명령줄 인터페이스 확장이 복원되었습니다.
  • 이제 이미지 첨부 설정이 기본값으로 되돌아가는 대신 0의 값을 올바르게 준수합니다.
  • 이제 환영 화면이 폴백으로 표시될 때 적절한 스타일링으로 로드됩니다.
  • 같은 이름의 태그와의 충돌을 방지하기 위해 카테고리를 해시태그로 사용하는 기능이 제거되었습니다.
  • 들어오는 요청의 서명을 검증할 때, 이제 다이제스트 헤더도 예상대로 확인됩니다.

GitHub에서 전체 변경 로그를 확인하세요.