ActivityPub

Kuvaus

Siirry fediversumiin ActivityPubilla ja julkaise blogisi laajemmalle yleisölle! Houkuttele seuraajia, tee päivityksiä ja vastaanota kommentteja ActivityPub-yhteensopivien alustojen monipuoliselta käyttäjäkunnalta.

Kun ActivityPub -lisäosa on asennettu, WordPress-blogisi itse toimii yhdistettynä profiilina yhdessä kunkin kirjoittajan profiilin kanssa. Jos verkkosivustosi on esimerkiksi example.com, koko blogin profiili löytyy osoitteesta @example.com@example.com ja kirjoittajat, kuten Janella ja Bobilla olisivat henkilökohtaiset profiilinsa osoitteessa @jane@example.com ja @bobz@example.com.

Esimerkki: Annan sinulle Mastodon-profiilini nimen: @pfefferle@mastodon.social. Teet haun, näet profiilini ja painat seuraa. Nyt kaikki kirjoittamani viestit näkyvät etusivusyötteessäsi. Vastaavasti ActivityPub-laajennuksella voit löytää ja seurata Janen profiilia osoitteessa @jane@example.com.

Kun seuraat Janen profiilia @jane@example.com, kaikki hänen sivulla example.com tekemänsä blogitekstit päätyvät etusivusyötteeseesi. Samanaikaisesti seuraamalla koko blogin profiilia @example.com@example.com saat päivityksiä kaikilta kirjoittajilta.

Huom!: jos kukaan ei seuraa kirjoittajaasi tai blogiasi, viestisi jäävät näkymättömiin. Yksinkertaisin tapa tarkistaa laajennuksen toiminta on seurata omaa profiiliasi. Jos sinulla on Mastodon-profiili, aloita seuraamalla siellä uutta profiiliasi.

Lisäosa toimii seuraavien testattujen federoituvien alustojen kanssa, mutta voi olla myös muita alustoja, joiden kanssa se toimii:

Muutamia huomioitavia asioita:

  1. Bloginlaajuinen profiili on yhteensopiva vain sellaisten sivustojen kanssa, joissa uudelleenkirjoitussäännöt (rewrite rules) ovat käytössä. Jos sivustollasi ei ole käytössä uudelleenkirjoitussääntöjä, tekijäkohtaiset profiilit voivat silti toimia.
  2. Monet yhden tekijän blogit ovat päättäneet sulkea tai ohjata uudelleen kirjoittajaprofiilisivunsa, yleensä SEO-laajennuksella, kuten Yoast tai Rank Math. Tämä tehdään yleensä, jotta vältetään päällekkäinen sisältö blogisi kotisivulla. Jos tekijäsivusi on poistettu käytöstä tällä tavalla, ActivityPub-tekijäprofiilit eivät toimi sinulle. Sen sijaan voit ottaa kirjoittajaprofiilisivusi takaisin käyttöön ja käyttää sitten hakukoneoptimointilisäosassa olevaa vaihtoehtoa tekijäsivun noindexoimiseen. Tämä ratkaisee edelleen päällekkäisen sisällön ongelmat hakukoneiden kanssa ja mahdollistaa ActivityPub-tekijäprofiilien toiminnan.
  3. Kun ActivityPub on asennettu, vain uudet tulevat viestit ovat saatavilla fediversumissa. Samoin, vaikka olisit käyttänyt ActivityPubia jonkin aikaa, kaikki sivustoasi seuraavat näkevät vain uudet julkaisemasi viestit siitä hetkestä lähtien. He eivät koskaan näe aiemmin julkaistuja viestejä kotisyötteessään. Tämä prosessi on hyvin samanlainen kuin uutiskirjeen tilaaminen. Jos tilaat uutiskirjeen, saat vain tulevat sähköpostit, mutta et vanhoja arkistoituja. ActivityPubin avulla, jos joku seuraa sivustoasi, hän saa siitä lähtien vain julkaisemasi uudet blogikirjoitukset.

Eli miten tämä tehdään?

  1. Asenna ActivityPub -lisäosa.
  2. Siirry lisäosan asetussivulle ja säädä asetukset haluamallasi tavalla. Napsauta Tallenna-painiketta, kun olet valmis.
  3. Varmista, että blogisi kirjoittajan profiilisivu on aktiivinen, jos käytät kirjoittajaprofiileja.
  4. Mene Mastodoniin tai mihin tahansa muuhun federoituvaan alustaan, etsi profiilisi ja seuraa sitä. Uusi profiilisi on muotoa @käyttäjänimesi@example.com tai @example.com@example.com, joten käytä niitä haussa.
  5. Julkaise uusi kirjoitus blogissasi.
  6. Tarkista Mastodonista, näkyykö uusi viesti Koti -syötteessäsi.

Huomaa, että voi kestää jopa 15 minuuttia, ennen kuin uusi viesti näkyy yhdistetyssä syötteessäsi. Tämä johtuu siitä, että viestit lähetetään federoituville alustoille viivästetyn cronin avulla. Tämä välttää julkaisuprosessin rikkoontumisen niissä tapauksissa, joissa käyttäjillä saattaa olla paljon seuraajia. Älä siis oleta, että jokin on rikki vain siksi, että et nähnyt sen näkyvän heti. Anna sille aikaa. Useimmissa tapauksissa se tulee näkyviin muutamassa minuutissa, ja sitten tiedät, että kaikki toimii odotetusti.

Kuvankaappaukset

  • ”Seuraa minua” -lohko lohkoeditorissa
  • ”Seuraajat” -lohko lohkoeditorissa
  • ”Federoitu vastaus” -lohko lohkoeditorissa
  • ”Federoitu vastaus” viestissä
  • Blogi-profiili Mastodonissa

Blocks

This plugin provides 4 blocks.

  • 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.
  • Follow me on the Fediverse Display your Fediverse profile so that visitors can follow you.
  • Fediverse Reactions Display Fediverse likes and reposts
  • Fediverse Followers Display your followers from the Fediverse on your website.

Asennus

Noudata normaaleja WordPress -lisäosien asennusohjeita.

Automaattinen lisäosan asennus

WordPress-laajennuksen lisääminen sisäänrakennetun laajennuksen asennusohjelman avulla:

  1. Siirry kohtaan Lisäosat > Lisää uusi.
  2. Kirjoita Etsi lisäosia -kenttään activitypub.
  3. Etsi WordPress-laajennus, jonka haluat asentaa.
    1. Napsauta Tiedot saadaksesi lisätietoja laajennuksesta ja ohjeet, jotka haluat ehkä tulostaa tai tallentaa laajennuksen määrittämiseksi.
    2. Asenna WordPress -lisäosa napsauttamalla Asenna nyt.
  4. Tuloksena oleva asennusnäyttö näyttää asennuksen onnistuneen tai asennuksen aikana havaitut ongelmat.
  5. Jos onnistuit, klikkaa Aktivoi laajennus sen aktivoimiseksi tai Palaa laajennuksen asennusohjelmaan nähdäksesi lisätoiminnot.

Lisäosan asentaminen manuaalisesti

On muutamia tapauksia, joissa WordPress -lisäosan manuaalinen asentaminen on asianmukaista.

  • Mikäli haluat kontrolloida WordPress -lisäosan asennusta ja sen sijaintia.
  • Jos serverisi ei salli automaattista WordPress -lisäosan asennusta.
  • Jos haluat kokeilla uusita kehitysversiota.

WordPress-laajennuksen manuaalinen asentaminen edellyttää FTP-tuntemusta ja tietoisuutta siitä, että saatat vaarantaa sivustosi, jos asennat WordPress-laajennuksen, joka ei ole yhteensopiva nykyisen version kanssa tai epäluotettavasta lähteestä.

Tee varmuuskopio sivustostasi ennen kuin jatkat.

WordPress -lisäosan manuaalinen asennus:

  • Download your WordPress Plugin to your desktop.
  • Jos latasit zip -tiedoston, pura Plugin -kansio työpöydällesi.
  • Lataa Plugin-kansio FTP-ohjelmallasi WordPress-hakemistosi wp-content/plugins-kansioon verkossa.
  • Siirry Lisäosat-näyttöön ja etsi luettelosta juuri ladattu laajennus.
  • Valitse Aktivoi ottaaksesi sen käyttöön.

UKK

tl;dr

Tämä lisäosa yhdistää WordPress-blogisi suosittuihin sosiaalisiin alustoihin, kuten Mastodoniin, mikä tekee julkaisuistasi helpommin saavutettavan laajemmalle yleisölle. Kun lisäosa on asennettu, näiden alustojen käyttäjät voivat seurata sitä, jolloin he voivat vastaanottaa uudet viestisi syötteissään.

Mikä on ”ActivityPub for WordPress”

ActivityPub for WordPress laajentaa WordPressiä joillakin Fediverse-ominaisuuksilla, mutta se ei kilpaile Friendican tai Mastodonin kaltaisten alustojen kanssa. Jos haluat ylläpitää hajautettua sosiaalista verkostoa, käytä Mastodonia tai GNU social.

Mitä jos blogisi on alikansiossa?

Jotta webfinger toimisi, se on yhdistettävä sen URL-osoitteen juurihakemistoon, jossa blogisi sijaitsee.

Apache

Lisää seuraava .htaccess -tiedostoon juurikansiossa:

RedirectMatch "^\/\.well-known/(webfinger|nodeinfo)(.*)$" /blog/.well-known/$1$2

Missä ’blog’ on polku alikansioon, jossa blogisi sijaitsee.

Nginx

Lisää seuraavat site.conf -osaan sites-available -osiossa:

location ~* /.well-known {
    allow all;
    try_files $uri $uri/ /blog/?$args;
}

Missä ’blog’ on polku alikansioon, jossa blogisi sijaitsee.

Jos käytät blogia alihakemistossa, mutta sinulla on eri wp_siteurl, et tarvitse uudelleenohjausta, koska index.php huolehtii siitä.

Entä jos käytät blogia käänteisen välityspalvelimen takana Apachen kanssa?

Jos käytät käänteistä välityspalvelinta Apachen kanssa isäntäsi suorittamiseen, saatat kohdata, että et voi saada seuraajia liittymään blogiin. Tämä tapahtuu, koska välityspalvelinjärjestelmä kirjoittaa uudelleen isäntäotsikot palvelimesi sisäiseksi DNS-nimeksi, jota laajennus sitten käyttää vastausten allekirjoittamiseen. Etäsivusto, joka yrittää seurata käyttäjiäsi, odottaa vastauksissa julkista DNS-nimeä. Näissä tapauksissa sinun on käytettävä ProxyPreserveHost On -ohjetta varmistaaksesi, että ulkoinen isäntänimi välitetään sisäiselle isännällesi.

Jos käytät SSL:ää välityspalvelimen ja sisäisen isännän välillä, saatat joutua myös SSLProxyCheckPeerName pois päältä, jos sisäinen isäntäsi ei voi vastata oikealla SSL-nimellä. Tämä voi aiheuttaa turvallisuusongelman joissakin ympäristöissä.

Constants – Vakiot

Plugin käyttää PHP Constants -ominaisuutta ottaakseen käyttöön, poistaakseen käytöstä tai muuttaakseen oletuskäyttäytymistään. Käytä niitä varoen ja vain, jos tiedät mitä olet tekemässä.

  • ACTIVITYPUB_REST_NAMESPACE – Muuta REST-päätepisteen oletusnimiavaruutta. Oletus: activitypub/1.0.
  • ACTIVITYPUB_EXCERPT_LENGTH – Muuta otteen pituutta. Oletus: 400.
  • ACTIVITYPUB_SHOW_PLUGIN_RECOMMENDATIONS – näytä laajennussuositukset ActivityPub-asetuksissa. Oletus: true.
  • ACTIVITYPUB_MAX_IMAGE_ATTACHMENTS – Muuta yhdistettävien liitteiden määrää. Oletus: 3.
  • ACTIVITYPUB_HASHTAGS_REGEXP – Muuta oletussäännöllistä lauseketta tunnistaaksesi hashtekstin tekstistä. Oletus: (?:(?<=\s)|(?<=<p>)|(?<=<br>)|^)#([A-Za-z0- 9_]+)(?:(?=\s|[[:piste:]]|$)).
  • ACTIVITYPUB_USERNAME_REGEXP – Muuta oletussäännöllistä lauseketta tunnistaaksesi @-vastaukset tekstistä. Oletus: (?:([A-Za-z0-9\._-]+)@((?:[A-Za-z0-9_-]+\.)+[A-Za-z ]+)).
  • ACTIVITYPUB_URL_REGEXP – Muuta oletussäännöllistä lauseketta tunnistaaksesi URL-osoitteet tekstistä. Oletus: (www.|http:|https:)+[^\s]+[\w\/].
  • ACTIVITYPUB_CUSTOM_POST_CONTENT – Muuta toimintojen oletusmallia. Oletus: <strong>[ap_title]</strong>\n\n[ap_content]\n\n[ap_hashtags]\n\n[ap_shortlink].
  • ACTIVITYPUB_AUTHORIZED_FETCH – Enable AUTHORIZED_FETCH.
  • ACTIVITYPUB_DISABLE_REWRITES – Poista käytöstä mod_rewrite-sääntöjen automaattinen luominen. Oletus: false.
  • ACTIVITYPUB_DISABLE_INCOMING_INTERACTIONS – Estä saapuvat vastaukset/kommentit/tykkäykset. Oletus: false.
  • ACTIVITYPUB_DISABLE_OUTGOING_INTERACTIONS – Poista lähtevät vastaukset/kommentit/tykkäykset käytöstä. Oletus: false.
  • ACTIVITYPUB_SHARED_INBOX_FEATURE – Ota jaettu postilaatikko käyttöön. Oletus: false.
  • ACTIVITYPUB_SEND_VARY_HEADER – Ota käyttöön Vary: Accept-otsikon lähettäminen. Oletus: false.

Missä voit hallita seuraajiasi?

Jos olet aktivoinut blogin käyttäjän, löydät luettelon hänen seuraajistaan asetuksista kohdasta /wp-admin/options-general.php?page=activitypub&tab=followers.

Käyttäjän seuraajat löytyvät valikosta ”Käyttäjät” -> ”Seuraajat” tai kohdassa wp-admin/users.php?page=activitypub-followers-list.

Tietosuojasyistä muiden käyttäjien seuraajia ei ole mahdollista nähdä.

Arvostelut

21.2.2025 1 reply
I’ve been using the add-on for a few months. I’m really happy. I’ve gotten a lot more readers to my site and real comments from people compared to the previous state. It’s also been nice to see that the add-on is being developed all the time. I was so excited that I started translating the add-on into Finnish, so I can also contribute to this great add-on. Thank you!
15.12.2024
Not just an auto-poster – it it turns your WordPress blog into its own instance like a Mastodon server, so people can follow and reply to your blog directly from their Mastodon/GoToSocial/whatever account. Images are attached to the Fediverse view, and remote replies show up locally as comments. People can boost your post directly instead of just linking to it. And they’re still adding more capabilities with each release. Note that a lot of the settings aren’t in the plugin config page, they’re put in the relevant categories. Followers show up on your user profile. You ban an instance by putting it in the general comments blocklist. Works well with ClassicPress too.
20.9.2024
The plugin works as described, providing a full ActivityPub integration from the moment you activate it. There are a lot of options, some of which require a bit of extra research to understand (I recommend watching the Fediverse Files series on YouTube), but the defaults are solid and in most situations you won’t want to change them.
17.7.2024
There isn’t rating scale that I would like to leave here – Max isn’t enough. A wise man’s words are worth their weight in gold. The plugin is designed for all platforms using the ActivityPub protocol, but maybe one day there will be a feature that will allow me to create a comment (toot) in Mastodon from a form on my blog page when WordPress local commenting system is disabled 🙂
Lue kaikki 32 arvostelua.

Avustajat & Kehittäjät

“ActivityPub” perustuu avoimeen lähdekoodiin. Seuraavat henkilöt ovat osallistuneet tämän lisäosan kehittämiseen.

Avustajat

“ActivityPub” has been translated into 26 locales. Kiitoksia kääntäjille heidän työstään.

Käännä “ActivityPub” omalle kielellesi.

Oletko kiinnostunut kehitystyöstä?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Muutosloki

5.5.0 – 2025-03-19

Added

  • Added ”Enable Mastodon Apps” and ”Event Bridge for ActivityPub” to the recommended plugins section.
  • Added Constants to the Site-Health debug informations.
  • Development environment: add Changelogger tool to environment dependencies.
  • Development environment: allow contributors to specify a changelog entry directly from their Pull Request description.
  • Documentation for migrating from a Mastodon instance to WordPress.
  • Support for sending Activities to ActivityPub Relays, to improve discoverability of public content.

Changed

  • Documentation: expand Pull Request process docs, and mention the new changelog process as well as the updated release process.
  • Don’t redirect @-name URLs to trailing slashed versions
  • Improved and simplified Query code.
  • Improved readability for actor mode setting.
  • Improved title case for NodeInfo settings.
  • Introduced utility function to determine actor type based on user ID.
  • Outbox items only get sent to followers when there are any.
  • Restricted modifications to settings if they are predefined as constants.
  • The Welcome page now uses WordPress’s Settings API and the classic design of the WP Admin.
  • Uses two-digit version numbers in Outbox and NodeInfo responses.

Removed

  • Our version of sanitize_url() was unused—use Core’s sanitize_url() instead.

Fixed

  • Ensured that Query::get_object_id() returns an ID instead of an Object.
  • Fix a fatal error in the Preview when a post contains no (hash)tags.
  • Fixed an issue with the Content Carousel and Blog Posts block: https://github.com/Automattic/wp-calypso/issues/101220
  • Fixed default value for activitypub_authorized_fetch option.
  • Follow-Me blocks now show the correct avatar on attachment pages.
  • Images with the correct aspect ratio no longer get sent through the crop step again.
  • No more PHP warnings when a header image gets cropped.
  • PHP warnings when trying to process empty tags or image blocks without ID attributes.
  • Properly re-added support for Update and Delete Announcements.
  • Updates to certain user meta fields did not trigger an Update activity.
  • When viewing Reply Contexts, we’ll now attribute the post to the blog user when the post author is disabled.

5.4.1 – 2025-03-04

Fixed

  • Fixed transition handling of posts to ensure that Create and Update activities are properly processed.
  • Show ”full content” preview even if post is in still in draft mode.

5.4.0 – 2025-03-03

Added

  • Upgrade script to fix Follower json representations with unescaped backslashes.
  • Centralized place for sanitization functions.

Changed

  • Bumped minimum required WordPress version to 6.4.
  • Use a later hook for Posts to get published to the Outbox, to get sure all post_metas and taxonomys are set stored properly.
  • Use webfinger as author email for comments from the Fediverse.
  • Remove the special handling of comments from Enable Mastodon Apps.

Fixed

  • Do not redirect /@username URLs to the API any more, to improve AUTHORIZED_FETCH handling.

5.3.2 – 2025-02-27

Fixed

  • Remove activitypub_reply_block filter after Activity-JSON is rendered, to not affect the HTML representation.
  • Remove render_block_core/embed filter after Activity-JSON is rendered, to not affect the HTML representation.

5.3.1 – 2025-02-26

Fixed

  • Blog profile settings can be saved again without errors.
  • Followers with backslashes in their descriptions no longer break their actor representation.

5.3.0 – 2025-02-25

Added

  • A fallback Note for Article objects to improve previews on services that don’t support Articles yet.
  • A reply context for Posts and Comments to allow relying parties to discover the whole conversation of a thread.
  • Setting to adjust the number of days Outbox items are kept before being purged.
  • Failed Follower notifications for Outbox items now get retried for two more times.
  • Undo API for Outbox items.
  • Metadata to New Follower E-Mail.
  • Allow Activities on URLs instead of requiring Activity-Objects. This is useful especially for sending Announces and Likes.
  • Outbox Activity IDs can now be resolved when the ActivityPub `Accept header is used.
  • Support for incoming Move activities and ensure that followed persons are updated accordingly.
  • Labels to add context to visibility settings in the block editor.
  • WP CLI command to reschedule Outbox-Activities.

Changed

  • Outbox now precesses the first batch of followers right away to avoid delays in processing new Activities.
  • Post bulk edits no longer create Outbox items, unless author or post status change.
  • Properly process Update activities on profiles and ensure all properties of a followed person are updated accordingly.
  • Outbox processing accounts for shared inboxes again.
  • Improved check for ?activitypub query-var.
  • Rewrite rules: be more specific in author rewrite rules to avoid conflicts on sites that use the ”@author” pattern in their permalinks.
  • Deprecate the activitypub_post_locale filter in favor of the activitypub_locale filter.

Fixed

  • The Outbox purging routine no longer is limited to deleting 5 items at a time.
  • Ellipses now display correctly in notification emails for Likes and Reposts.
  • Send Update-Activity when ”Actor-Mode” is changed.
  • Added delay to Announce Activity from the Blog-Actor, to not have race conditions.
  • Actor validation in several REST API endpoints.
  • Bring back the activitypub_post_locale filter to allow overriding the post’s locale.

5.2.0 – 2025-02-13

Added

  • Batch Outbox-Processing.
  • Outbox processed events get logged in Stream and show any errors returned from inboxes.
  • Outbox items older than 6 months will be purged to avoid performance issues.
  • REST API endpoints for likes and shares.

Changed

  • Increased probability of Outbox items being processed with the correct author.
  • Enabled querying of Outbox posts through the REST API to improve troubleshooting and debugging.
  • Updated terminology to be client-neutral in the Federated Reply block.

Fixed

  • Fixed an issue where the outbox could not send object types other than Base_Object (introduced in 5.0.0).
  • Enforce 200 status header for valid ActivityPub requests.
  • object_id_to_comment returns a commment now, even if there are more than one matching comment in the DB.
  • Integration of content-visibility setup in the block editor.
  • Update CLI commands to the new scheduler refactorings.
  • Do not add an audience to the Actor-Profiles.
  • Activity::set_object falsely overwrites the Activity-ID with a default.

5.1.0 – 2025-02-06

Added

  • Cleanup of option values when the plugin is uninstalled.
  • Third-party plugins can filter settings tabs to add their own settings pages for ActivityPub.
  • Show ActivityPub preview in row actions when Block Editor is enabled but not used for the post type.

Changed

  • Manually granting activitypub cap no longer requires the receiving user to have publish_post.
  • Allow omitting replies in ActivityPub representations instead of setting them as empty.
  • Allow Base Transformer to handle WP_Term objects for transformation.
  • Improved Query extensibility for third party plugins.

Fixed

  • Negotiation of ActivityPub requests for custom post types when queried by the ActivityPub ID.
  • Avoid PHP warnings when using Debug mode and when the actor is not set.
  • No longer creates Outbox items when importing content/users.
  • Fix NodeInfo 2.0 URL to be HTTP instead of HTTPS.

5.0.0 – 2025-02-03

Changed

  • Improved content negotiation and AUTHORIZED_FETCH support for third-party plugins.
  • Moved password check to is_post_disabled function.

Fixed

  • Handle deletes from remote servers that leave behind an accessible Tombstone object.
  • No longer parses tags for post types that don’t support Activitypub.
  • rel attribute will now contain no more than one ”me” value.

Katso koko muutosloki osoitteessa GitHub.