Skip to content

[User Feedback] Suggested Improvements for ActivityPub Federation Templates in WordPress #2062

@Jiwoon-Kim

Description

@Jiwoon-Kim

Context

Activity Object Type Options:

  • Automatic (default): The plugin selects the most appropriate object type. Currently, if the post is under 400 characters, it is federated as a Note; if over 400 characters, it is published as an Article.
  • Note: The entire content is always federated as a Note (long-form).

Problem

Let’s consider a real-world publishing scenario.
I usually write long-form blog posts between 3,000 to 8,500 characters. But do I really want these posts to be federated as Article objects?

Not necessarily.

My preferred format for Fediverse federation is a "teaser-style" post, consisting of:

  • [title]
  • [short excerpt / summary]
  • [permalink or shortlink] (with proper OpenGraph preview if available)
  • [hashtags]

This is sufficient. I want to retain the full content exclusively on my WordPress site, and only allow Fediverse replies to be federated back as comments (via inReplyTo).

Of course, when I'm reposting or quoting someone else's content, I may want to cache or include the full content — but that’s a separate use case.

Observation

Interestingly, Mastodon already handles this well:

  • When viewing an Article from my blog on Mastodon, only a summary is shown.
  • When my blog embeds federated replies, it can retrieve and show the full Mastodon comment content.

However, Misskey doesn’t render Article objects as cleanly — this is one of the main reasons I would prefer to publish even long posts as Note objects.

Another issue: Unlike Note, the summary of an Article is not editable across the Fediverse — meaning I lose control over how my content is introduced.

TL;DR: My Publishing Needs

  • I frequently publish long-form blog posts (3000–8500+ characters).
  • I prefer teaser-style previews on Fediverse: title + excerpt + link + hashtags.
  • I want to avoid rendering full content outside WordPress.
  • I want federated replies (comments) to be synchronized, but not the full content.

Currently, the default behavior in the plugin doesn’t fit these needs well:

Problems with Current Templates:

  • Note mode: Always publishes full content, which can break rendering and violate minimalistic expectations on Fediverse (e.g. HTML tags showing up).
  • Article: Renders inconsistently across platforms, especially on Misskey, and limits editing of summaries.

Suggested Improvements

  1. Introduce a middle-ground template style:

    • Allow publishing a Note even for long-form posts, but only include:
      • [ap_title]
      • [ap_excerpt length="300"]
      • [ap_permalink type="url"]
      • [ap_hashtags]
    • This would provide consistent, readable content across platforms and prevent HTML or full body overload.
  2. Support for micro-posts without titles:

    • Add an option to publish short, microblog-style content in a separate field from the main post body (or even via the comment field, without requiring inReplyTo).
    • This allows quick updates or casual posts that don’t belong in the main blog feed but can still federate to the Fediverse properly.

Thank you for your excellent work on this plugin. It has opened up exciting possibilities for decentralization. I hope this feedback can help improve the plugin for advanced and semi-professional use cases like mine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions