WordPress ja ActivityPub

You are currently viewing WordPress ja ActivityPub

Ulkopuolella algoritmisomen ActivityPub on protokolla, jota kannattaa käyttää sivuston julkaisujen jakamiseen someen. Tuo hoitaa liikenteen federoituun eli hajautettuun maailmaan, kuten Mastodon, Friendica tai jopa Discourse (tosin Discourse-foorumille löytyy oma ja parempi plugin).

Se, että jakaako koko jutun vai pelkästään lyhennelmän tiiserinä riippuu halusta. Jos jakaa koko artikkelin, niin menettää WordPressin näytöt, mukaanlukien mainokset. Mutta saa luultavasti enemmän seuraajia ja mahdollisesti myös kommentteja. Heistä osa sitten saattaa joskus jopa saapua uteliaisuuttaan sivustolle.

Jos jakaa pelkän lyhennelmän, niin aniharva klikkaa linkkiä, mutta he jotka niin tekevät, näkyvät WordPressin käyttötilastoissa. Mutta suurella todennäköisyydellä menetät kommentit, koska ainoastaan täydellinen masokisti sallii WordPressissä kommentoinnin — ja aniharva, jos kukaan, palaa takaisin Mastodonin jatkuvasti päivittyvään syötteeseen etsimään julkaisua, jota oli klikannut. Ja jopa ehkä aloittamaan seuraamisen.

Kommentointimahdollisuutta ei kannata arvottaa liian korkealla. Kommentointi mihinkään on melkoisen harvinaista, ja sillekin reitille on parempi vaihtoehto: Discourse. Samalla se tosin kilpailee jossain määrin ActivityPub-jakojen kanssa.

Kaikki seuraava olettaa, että tiedät edes mikä Mastodon on. En selitä sitä tässä sen enempää, mutta lyhyesti: se on mikrobloggausalusta kuten Bluesky, X/Twitter tai Threads.

Jos haluat tutustua toimintaan tarkemmin käyttäjän kannalta, niin instanssi Kvarkki.nexus on aika turvallinen paikka. Eikä siellä merkkimäärää ole rajoitettu viiteensataan, vaan muistaakseni raja on nykyään 5000.

Mitä lisäosia ActivityPub tarvitsee?

WordPress ei puhu natiivisti ActivityPubia. Siihen tarvitaan oma lisäosa. Sitten sen lisäksi saatat haluta paria muuta, ihan riippuen mitä kaikkea aidosti tarvitset. Tai uskot tarvitsevasi.

  • ActivityPub on pakollinen
  • Webfinger mahdollistamaan ActivityPubin kautta liikkuvien seurattavien käyttäjien parempi löytyminen, tämäkin on pakollinen
  • Friends jos haluat WordPressisi kykenevän seuraamaan muita ja esittämään niiden julkaisut
  • Enable Mastodon App (kavereiden kesken EMA) jos haluat mahdollistaa WordPressin julkaisujen seuraamisen Mastodonista appilla, kuin sivustosi olisi Mastodon-instanssi

Varsinaista jakamista varten tietysti tarvitset tilin jollain Mastodon-instanssilla, jotta joku edes löytäisi sivustosi omaehtoista seuraamista varten. Tai perustat oman serverin Mastodonille.

ActivityPub, tai siihen liittyvät muut appit, eivät tee minkäänlaista pushia ja pakota sisältöä jonnekin. Ne tarjoavat syötteen, jonka voi tilata ja seurata. Aivan kuten RSS tekee. Järjestelmä on siis omalta puoleltaan passiivinen, ja odottaa, että joku tulee tekemään noudon.

ActivityPub

ActivityPub rakentaa sen syötteen, jota voi seurata hajautetussa somessa. Puhun jatkossa helppouden takia Mastodonista, koska se on… no, helpointa ja Mastodon on suurin sillä puolen somea. Mutta ActivityPub ei rajoitu vain Mastodoniin, vaan sama pätee yhtä lailla Friendicaan ja muihin federalisoituihin palveluihin. Tai WordPressiin, tässä nimenomaisessa tapauksessa. Mutta ei Blueskyn suuntaan. He päättivät olla yksinään omassa hiekkalaatikossaan.

Asenna ActitivyrPub-lisäosa ja vilkaise asetukset. Siellä on yksi kohta, joka vaatii välitöntä huomiota: Aktivoi profiilit tyypittäin. Se määrää keitä sivustosi kirjoittajia voidaan seurata.

Vaihtoehdot ovat:

  • Vain kirjoittajaprofiilit – jokaisesta käyttäjästä tehdään oma tunnus käyttäjätunnuksen perusteella (joka on pieni turvallisuuskysymys), jota voi seurata Mastodonin suunnalta. Artikkelit jaetaan syötteeseen kirjoittajan tunnuksella.
  • Vain blogiprofiili – sivustosi on ainoa tunnus, ja kaikki julkaisut jaetaan sen tunnuksella riippumatta kuka ne on kirjoittanut.
  • Sekä kirjoittaja- että blogiprofiilit – tekee molemmat. Silloin maailmalta voi seurata vain haluttuja kirjoittajia ja heidän tuotoksiaan, tai sivuston kaikki julkaisuja sivuston tunnuksen kautta.

Riippuu sivuston toiminnasta mikä kannattaa valita. Jos on useampi kirjoittaja, niin ehkä kirjoittajaprofiilit on reiluin. Jos WordPress toimii oman brändinsä alla, tai kirjoittajia on vain yksi, niin ehkä blogiprofiili on toimivin. Paljon riippuu myös brändäyksestä.

ActivityPub tekee seurattavan syötteen suoraan. Tarvitset sen kylkeen WebFingerin, että seurattavat löytyvät, jos ja kun joku niitä hakee — jostain minulle oudosta syystä ActivityPub plugini ei tuota asiaan liittyvää perustoiminnallisuutta suoraan anna.

Muita lisäosia et tarvitse, jos riittää, että julkaisut lähtevät maailmalle ja että kirjoittajia, koko blogia tai molempia yhdessä voi seurata Mastodonin puolelta.

Mastodonin puolella tehdyt kommentit näkyvät artikkelin yhteydessä, jos olet sallinut WordPressin oman kommentoinnin.

Jos käytät Discoursea kommentointialustana, niin Mastodonista tulleet eivät siirry foorumille. Kommentit, jaot ja reaktiot esitetään artikkelin yhteydessä vain, jos olet sallinut WordPressissä kommentointien esittämisen Discourse-appin asetuksissa. Silloin vastaaminen foorumin frontendin kautta ei kuitenkaan onnistu, koska Discourse olettaa, että sitä toiminnallisuutta käytettäisiin vain vanhojen kommenttien esittämiseen.

Huomaa: Mastodon ja muut eivät osaa esittää HTML:ää, eivät suurinta osaa markdownia eivätkä ollenkaan WordPressin lyhytkoodeja. Joten sisältö näkyy ns. raakatekstinä. Discourse osaa, ja yhdellä pluginilla lisää saa suoritettua lyhytkoodit ennen tekstin siirtoa foorumille (vaihtoehtona on myös linkitys OneBoxin avulla).

Friends

Friends laajentaa ActivityPubin toimintaa sosiaalisempaan suuntaan, mutta ajatuksena suunta on muualta maailmasta omaan WordPressiin. Sivusto pystyy seuraamaan muita WordPressejä (jolloin ollaan ”ystäviä”) sekä Mastodon-käyttäjiä (jolloin ollaan ”tilaajia”).

Toki muutkin pystyvät seuraamaan sivustoa samalla tavalla, mutta tässä on koukku. Käytännössä ”samalla tavalla” tarkoittaa tässä muita WordPress-sivustoja, jos ne ovat ottaneet Friends lisäosan käyttöön. Siis aivan samoin, etää se on myös edellytys sille, että oma sivusto voi seurata sivustoa. Mastodon käyttäjät pystyvät täysin samaan seuraamiseen jo muutoinkin ActivityPubin kautta. He eivät tarvitse, ja tuskin edes käyttävät, Friend pluginin tuomaa toiminnallisuutta viestien esittämisessä WordPressissä.

Ero ActivityPub lisäosan toimintaan tulee viestiliikenteen seuraamisesta. Friends tekee erillisen sivun, jossa syöte esitetään, sisältäen mahdolliset kommentit. Se ei silloin riipu WordPressin omasta kommentoinnista.

Oletuksena Friends-sivu edellyttää sivustollasi niiden käyttäjien rekisteröitymistä ja kirjautumista, jotka haluavat somesyötteen nädä. Linkki Friends-sivulle esitetään käyttäjän admin-palkissa, joka näkyy vain kirjautuneille — paitsi jos on estänyt sen, kuten monet adminit tekevät selvyyden ja helppouden nimissä.

On mahdollista tehdä erillinen sivu Friendsin koostamalle sisällölle, mutta se onnistuu vain WordPressin suurimman UX/UI-rikoksen block-editorin kautta. Itse en saanut sitä toimimaan, mutta ongelma ei luultavammin ole Friendsissä, vaan omassa kyvyttömyydessä block-editorin kanssa.

Lähestymistapa Friendissä ei ole se, että sinä siirrät sisältöä muualle, vaan että esität muiden sisältöä omassa WordPressissäsi. Sitten toivot, että he tekevät saman sinulle, Mastodon-käyttäjien kohdalla vielä toivot heidän jakavan omille seuraajilleen someen tekemäsi julkaisut — tismalleen saman asian he voisivat tehdä pelkän ActivityPubin kautta.

Ennen kuin joku admin hihkuu riemusta, niin ei, et pysty parantamaan omaa SEO-arvoasi muiden tekemällä sisällöllä.

Toki Friendsin kanssa saa laajennettua omille käyttäjille esitettävää sisältötarjontaa. Mutta on syytä ymmärtää somen perustoiminnallisuus: seurataan käyttäjää, ei käyttäjän sisältöä.

Tarkoittaa sitä, että voisin sivustolla Katiska.eu, joka on koiriin ja varsinkin koirien ravitsemukseen sekä ruokintaan keskittynyt sivusto, esittää jonkun koiraharrastaja-Mastodon-käyttäjän julkaisuja ja kuvia pentuarjesta. Pehmentäisi muutoin faktapohjaista sisältöä. Mutta samalla esittäisin täysin off topic sisältöä siinä vaiheessa kun samainen Mastodon-käyttäjä esitteleekin lomamatkaansa tai alkaa tarjoilemaan poliittisia mielipiteitään.

WordPressien välinen ”ystävyys” (inhoan amerikkalaisten ajattelumaailmaa tässä) saattaisi olla houkuttelevaa. Koirapuolella ei vaan ole yhtään sellaista sivustoa, jonka sisältöä suostuisin jakamaan Katiskassa. Sen sijaan Eksiksen IT-painoitteisessa sisällössä sellaista saattaisikin löytyä.

Ongelmaksi nousee nichen/genren lähes pakkomielteinen tapa pakottaa kävijät omalle sivustolleen. Joten he eivät jaa. Mutta kun jakavat, niin kyseessä on aina mainos, enkä suostu tekemään sivustostani mainosalustaa muille (ainakaan ilmaiseksi, rahalla voisinkin korruptoitua).

Kun tuohon yhdistetään se, että en salli rekisteröitymisiä, koska se ei palvele sivustoa eikä käyttäjää, niin Friends on minulle täysin arvoton. Mutta jollekin enemmän Facebook-tyyppiseen someen kallistuneelle voikin sopia.

Yksi huomio Friends-lisäosan toiminnasta. Koska se tekee uuden sisältötyypin, niin kaikki sitä kautta kulkeva näkyy myös RSS-syötteenä. Se, että onko se hyvä, huono vai merkityksetön asia, on jokaisen oma mielipide. Mutta se, että Friends-sivun näkyvyys oletuksena edellyttää sisäänkirjautumista, ei kuitenkaan tarkoita sitä, etteikö sisältö ole saatavilla kenelle tahansa.

Enable Mastodon Apps (EMA)

EMA tarjoaa aivan toisenlaisen lähestymistavan. Se ei varsinaisesti jaa tai lähetä mitään, vaan luottaa siinä pelkästään ActivityPub lisäosaan. Teknisesti se kuitenkin taitaa niin eräällä tavalla tehdä omien API-endpointiensa kautta.

EMA mahdollistaa WordPressin seuraamisen useimpien Mastodon-appien kautta aivan kuin WordPress olisi oma Mastodon-instanssinsa/serverinsä.

Mastodonin seuraamiseen käytetyssä appissa kirjaudutaan WordPressiin, ja se näkyy sitten omana syötteenään. Onnistuu niillä lukijoilla, joilla useamman serverin käyttö on mahdollista. Joten ei toimi (ainakaan nyt ja ymmärtääkseni) ns. virallisella Mastodon-appilla, koska se keskustelee vain yhden serverin kanssa.

Missään nimessä se ei toimi PWA:lla, sillä jos WordPress-sivuston tipauttaa mobiilin työpöydälle, niin se on edelleenkin WordPress, ei Mastodon. Lopputulos on toki sama ja julkaistua sisältöä saa luettua. Ja suoraan sanoen paljon paremmin kuin Mastodonin kautta, koska muotoilut ja lyhytkoodit toimivat. Mastodonissa eivät toimi.

Useamman serverin seuraaminen Mastodonissa ei ole poikkeuksellista, mutta se on harvinaista. Se tehdään yleensä siksi, että halutaan seurata jonkun instanssin paikallista syötettä, joka ei federoidu omalle palvelimelle. Yleensä siksi, että siellä saattaa olla jotain mielenkiintoista, tai voisi löytää seurattavia persoonia.

Aniharva kuitenkaan seuraa aktiivisesti useampaa serveriä.

Jos et käytä Mastodonia, niin luultavasti et ymmärtänyt tuosta mitään. Kyse on yksinkertaisuudessaan siitä, että koko hajautetun somen, eli fediversen, kaikkia viestejä ei voida lähettää kaikille palvelimille. Minkään maailman tallennustila ja verkkoyhteyksien kapasiteetti ei kestäisi sitä. Siksi palvelimille lähtetään vain niiden käyttäjien viestit, joita joku sillä omalla palvelimella seuraa. Mutta instanssin omassa paikallisessa syötteessä esitetään kaikki mitä sen instanssin käyttäjät julkaisevat — ja siihen pääsee käsiksi, kun on käyttäjänä muuallakin.

Mutta tuo on poikkeustapaus. Yleensä hetken kuluttua Mastodonin käytössä kysymysmerkiksi ei nouse se mitä ei näe, vaan että omaan syötteeseen tulee niin paljon liikennettä, että kenenkään aika ja mielenterveys ei riitä seuraamaan kaikkea.

En täysin ymmärrä EMA:n tarkoitusta. Fediversen perusidea nimenomaan on, että yhdellä serverillä ollessa voi seurata muilla servereillä olevia, ja se, että millä serverillä joku on, on merkityksetöntä.

Jos joku Mastodonissa seuraa Eksiksen blogikäyttäjää @eksis@www.eksis.one , joka julkaisee hajautettuun someen kaiken mitä sivustolla julkaistaan, niin hänen ei erikseen tarvitse kirjautua sivustolle EMA:aa käyttäen. AcitivityPub toimittaa joka tapauksessa sivuston uusien julkaisujen jaot.

On olemassa kuitenkin yksi syy miksi haluaisi seurata WordPressiä kuin se olisi Mastodon-instanssi. Ja se on oman aikajanan toiminta. Se on elävä ja jatkuvasti päivittyvä. Jos et ole linjoilla juuri sillä hetkellä kun julkaisu tapahtuu, niin olet menettänyt sen, etkä koskaan enää näe sitä (on työkaluja tuohon, joita jokaisen Mastodon-käyttäjän tulisi käyttää: listat; niiden on oltava riittävän suppeita, koska muutoin ne muuttuvat kuin omaksi aikajanaksi ja määrä tekee sen, että ei lue).

Kun vaihdatkin serveriä, niin EMA:n ja WordPressin tapauksessa näet sillä paikallisella syötteellä pelkästään sen liikenteen, jota siinä WordPressissä on ollut — ja se on suurella todennäköisyydellä paljon rauhallisempi kuin oma syötteesi.

Mutta… miksi kukaan tekisi noin? Saman blogikäyttäjän käyttäjätunnuksen klikkaaminen esittää pitkälle samat asiat. Ja on olemassa vieläkin näppärämpi tapa — mene sivustolle ja hyödynnä etusivua tai hakua.

Lisäksi useammalla serverillä niiden toissijaisempien ilmoituksia ei tule. Jokainen kuitenkin arkikäytössä noutaa esitettävän syötteen omalta kotipalvelimeltaan, ei sen WordPressin omiin julkaisuihin perustuvaa syötettä. Joten ei tiedä, eikä näe, normaalissa tilanteessa, että uusi artikkeli on tullut. Sen tiedon saa vasta kun vaihtaa serveriä, jos moisen muistaa myöhemmin tehdä. Sen sijaan ActivityPub pluginin jakama liikenne näkyy, kun seuraa sen tarjoamaa liikennettä.

Itse käytän Applen asiakkaana Mona-appia. Jos haluan vaihtaa serveriä, niin minun täytyy tehdä se asetusten kautta. Täysin ylimääräinen mutka ja samoilla klikkausmäärillä olisin jo alkuperäisellä sivustolla lukemassa paljon miellyttävämmin muotoiltua tekstiä.

WordPressin ylläpitäjällä aito toive Mastodon-kytkyjen kanssa on jaot ja buustaukset, jotta teksti tai muu tuotos saisi enemmän näkyvyyttä. Siksi tätä pohditaan. EMA:ta ja Mastodon-appia käytettäessä joutuu kirjautumaan WordPressiin, että se onnistuisi. Toisin sanoen on rekisteröidyttävä sivustolle. Silloin siitä käyttäjästä tulee se Mastodon-tunnus, joka lukee WordPress-Mastodonia.

Mutta se tunnus ei seuraa ketään muuta. Eikä sillä ole seuraajia. Jos hän tekee buustin/uudelleenjulkaisun, niin sitä ei näe kukaan muu kuin juuri sen WordPressin ylläpitäjä ilmestyneenä mainintana kommentteihin — jos ne WordPressin kommentit ovat sallittuna.

Toisin sanoen EMA ei tarjoa sitä mitä aidosti halutaan. Sen tarjoaa ActivityPub-lisäosa, jonka luomaa käyttäjää kuka tahansa fediversumissa voi seurata aivan riippumatta serveristä.

Toki joku saattaisi haluta jostain syystä olla osa Mastodonin tarjoamaa fediverseä WordPressin kautta. Mutta… ei. Se on edelleenkin WordPress. On parempi käyttää aitoa Mastodon-palvelinta. Ja jos admin haluaa tarjota mahdollisuuden Mastodonin käyttöön sivuston käytäjille, niin sitten kannattaa perustaa oma instanssi.

Tai jos toivoo enemmän Facebook-tyyppistä, niin ehkä Friendica olisi valinta (se on vaikeampi, mutta ei mennä siihen nyt).

Discourse

Discourse on monipuolinen ja ominaisuuksiltaan laaja foorumialusta. Voit tutustua siihen vaikka piipahtamalla Katiskan foorumilla.

Sen käyttöönotossa ja hallinnassa on oma oppimiskäyränsä, mutta jos on selvinnyt WordPressin kanssa, niin ei Discourse sen enempää ennenaikaista vanhenemista aiheuta.

Jos ei halua itse ylläpitää, niin foorumin saa ostettua eräällä tavalla teknisesti avaimet käteen palveluna, jossa hosting hoitaa myös päivitykset ja muut kommervenkit. Tuppaa vaan olemaan reilustikin kalliimpi, ja jos haluaa enemmän ominaisuuksia, kuten ActivityPubin, niin joutuu maksamaan vielä enemmän. Mutta (tuottaville) yrityksille hosting on aito vaihtoehto, harvemmin minun kaltaisilleni harrastelijoille.

Discourse on mukana tässä asiayhteydessä siksi, että se on myös osa fediverseä merkityksessä, että sekin puhuu ActivityPubia. Ja mikä hauskinta, niin WordPress on kytkettävissä Discourseen lisäosan kautta, ja edelleen Discoursesta sen lisäosalla Mastodoniin.

Lyhyesti esiteltynä, koska tämä on oman julkaisunsa väärtti, niin Discourse toimii WordPressin kommentointialustana linkittämällä nuo kaksi, WordPressin ja Mastodonin, yhteen.

Ketju menee jotakuinkin näin:

WordPressissä julkaistaan artikkeli -> se julkaistaan keskusteluketjun aloituksena foorumilla -> foorumin keskustelu näytetään kommenttina WordPressissä -> aloitus ja kommentit julkaistaan Mastodionissa Discoursen käyttäjän avulla. Ja ketju palaa takaisinpäin, jos joku kommentoi Mastodonissa -> Discourseen -> WordPressiin.

Tuo poistaa kommentointiongelman WordPressissä, sillä Discoursessa on foorumitason moderointityökalut. Ja samalla se mahdollistaa liikenteen fediverseen, vaikkakin mutkan kautta.

Minä käytän molempia tällä hetkellä, koska Discoursen ActivityPub-ratkaisussa on vielä hieman vajeita. Se ei ole täysin ongelmaton. Siis se toimii, mutta toiminta ei ole mukavuudeltaam paras mahdollinen ja hieman vaikeuttaa julkaisujen löytämistä Mastodonissa. Mutta se on keskeneräinen tuote ja on kehityksessä. Tilanne muuttuu koko ajan. Foorumin ja WordPressin väli on jo vakaa.

WordPressin tapa ActivityPubin kautta on Mastodon-käyttäjille helpompi, mutta hukkaa kommentit. Oikeammin, ei mahdollista keskustelua. Discoursen kautta tulevan seuraaminen on haastavampaa, mutta mahdollistaa saumattoman keskustelun.

Mutta löydän itseni koko ajan useammin ja useammin tekemässä buustit/uudelleenjulkaisut juurikin WordPressin käyttäjän julkaisemisista, koska se on vain helpompaa. Samaan aikaan annan koko ajan vähemmän arvoa kommentoinnille, koska saan niitä niin aniharvoin Mastodonista. Kun keskustelua käydään, niin se tapahtuu juurikin Discoursessa foorumikäyttäjien toimesta — eikä sekään suunnattoman aktiivista ole.

Joten tällä hetkellä tuntemukset ovat, että hoidan ActivityPub liikenteen (lähi)tulevaisuudessa WordPressin lisäosalla, ja rauhoitan Discoursen pelkälle foorumityyppiselle toiminnalle, mukaanlukien kommentoinnin.

Et luultavasti ymmärrä tätä, joten suuntaan tämän niille ylläpitäjille, jotka painivat saman asian kanssa: jos Discourse saa ratkottua ongelman sen suhteen kenen nimissä julkaisut liikkuvat fediverseen ja mahdollistavat aidon kirjoittajan seuraamisen, niin minulta poistuu tarve WordPressin ActivityPub toteutukselle.

Nginx

Jos WordPressiä käytetään Nginxin takana ns. normaalisti hostina, niin kaikki toimii normaalisti. Sama pätee Apache2:den kanssa.

Mutta jos noin teet niin… harkitse reverse proxyn ja cachen käyttöä.. Saat blogistasi nopeamman ja vähemmillä serveriresursseilla, etkä tarvitse sivucacheja, kuten WP Rocketia tai vastaavaa. Löydät toimivan malli GitHubin repostani, joka on rakennettu Ngixin, Varnishin ja Apache2:den varaan. Se on useammalle WordPressille, mutta sopii käytännössä sellaisenaan vain yhdenkin sivuston tarpeisiin.

Jos on muitakin alustoja, niin toki niille joutuu penkomaan omat asetukset Varnishiin, mutta ne sijoittuvat saumattomasti tuohon runkoon.

Kun Nginx toimii reverse proxynä, yksin tai kaksin vaikka Varnishin kanssa, niin ActivityPub ei toimi suoraan. Tarvitset erikseen käytetyille API-poluille ja endpointeille omat proxy_pass määritykset. Muutoin ne eivät pääse backendille, vaan antavat error 404 virheet.

Sama täytyy muuten tehdä WordPressin omalle API:lle wp-json .

Samaan aikaan kun tieto WordPressisi AcitivityPub sidonnaisuudesta leviää, niin Mastodonien lisäksi myös Friendica serverit alkavat kyselemään sisällön perään. Ne toivovat löytyvänsä juurikin Friends-lisäosan API:t. Jos käytät Friendsiä, niin tarvitset proxy_pass myös poluille /api/v1/ ja /api/v2/ — mutta jos et niitä käytä, ja haluat pitää logit siistimpänä, niin tarjoile 404 kuten kuuluukin, mutta älä logita niitä.

Minun on turha tarjoilla tässä snippetejä siitä miten nuo tehdään. Ne löytyvät GitHubista repostani.

Varnish

 Varnish ei tarvitse sen suurempaa säätöä. Mutta älä päästä cacheen API-tietoja, koska ne ovat dynaamisia ja muuttuvia, vaan tee näin:

    ## REST API 
    # I don't want to fill RAM for benefits of bots.
    
    # Mastodon/ActivityPub
    if (req.url ~ "^/wp-json/(activitypub|friends)/") {
            return(pass);
    }
if (req.url ~ "^/api/(v1|v2)/") {
    return(pass);
}
if (req.url ~ "^/(nodeinfo|webfinger)") {
    return(pass);
}

# .well-known API route should not be cached
    if (req.url ~ "^/.well-known/") {
            return(pass);
    }

    # WordPress
    if (!req.http.Cookie ~ "wordpress_logged_in" && req.url ~ "/wp-json/wp/" ) {
            return(synth(403, "Unauthorized request"));
    } else {
    return(pass);
}

Mikä olisi fiksuinta?

Jos itse et ole aktiivinen mitenkään somen puolella, niin voit asentaa ActivityPub lisäosan ja sitten unohtaa sen. Jos joku Mastodon käyttäjä on kiinnostunut, niin hän saattaa löytää syötteesi. Voit myös mainita siitä alatunnisteessa tai missä sitten moista metatietoa esitteletkin. Silloin ActivityPub syötteesi on tarjolla samalla tavoin RSS-syöte — jota sitäkään kukaan ei suurella tosennäköisyydellä käytä.

Jos huokaat, että ei sinua kiinnosta federoitu some, vaan Twitter ja LinkedIn, niin onnea valitsemallasi tiellä. Molemmat ovat de facto osa maksullista somea, jossa et saa positiivista näkyvyyttä — et edes englanniksi, etkä edes ammatti/konsultti-julkaisuihin. Bluesky saattaisi toimia paremmin, jos sinulla on siellä seuraajia, mutta kuten mainittua, niin he haluavat olla yksin.

Jos tarpeesi on foorumien tapaiselle keskustelulle ja ympäristölle, ja huokailet miksi Facebooks sivusi ei kerää huomiota, niin tunnusta itsellesi tosiasia: Facebookin sivut eivät näy mihinkään ja on järjestelmänä rakennettu tarjoamaan kilpailijoille mainoskohdennuksia. Ryhmät toimivat keskustelussa paremmin, mutta ovat ylläpidollinen helvetti, eikä niistä löydä mitään. Haun toimimattomuus on Zuckerbergin valinta, koska niin joka aiheessa toistuvat samat vastaukset, kuin myös kerta toisensa jälkeen toistuvat samat aloitukset sitouttavayåt käyttäjiä paremmin kuin aitojen keskusteluketjujen käyttö.

Silloin Discourse on valinta. Mutta varoituksen sana: ihmisiä on todella vaikea saada siirtymään paremman käytettävyyden foorumille Facebookista tai Whatsappista. Ei heitä saa siirtymään Mastodoniin tai muuallekaan.

Mutta jos itselläsi on some-aktiivisuutta, niin silloin ainakin ActivityPub lisäosa sopii siihen mitä nyt jo teet. Eikä tarvitse olla valmista aktiivisuuttakaan. Riittää, että on jonkinlainen halu, uteliaisuutta ja jotain jaettavaa.

Jakke Lehtonen

Teen B2B-markkinoille sisällöntuottoa sekä UX-testauksia. Samaan liittyy myös koulutukset yrityksille ja webmaailman kanssa muutoin painiville. Serverien sielunelämää on joutunut ohessa opettelmaan. Toinen puoli toiminnasta on koirien ravitsemuksen ja ruokinnan suunnittelua sekä varsinkin omistajien kouluttamista hoitamaan koiriaan oikein ja vielä paremmin. Profiili: Jakke Lehtonen

Foorumin keskustelu

  1. Minulla näkyy logeissa, että Friendica-instanssit pyytelevät WordPress sivustoiltani, jotka osaavat ActivityPubin, tiedostoa /.well-known/x-nodeinfo2. Minulla on tunne, että Friends-lisäosa on tarjonnut myös Friendican API-polut, mutta voin toki olla väärässäkin. Lopputulos on kuitenkin se, että nuo näkyvät logeissa 404-osumina.

    Teknisesti oikein, koska sitä ei ole. Mutta tuo ei ole sellainen ei löydy osuma, josta olen kiinnostunut, ja täyttää access.logia turhaan. Ja voisihan moisen hoitaa muutoinkin kuin estämällä logitus, jos Friendicat moista kaipaavat.

    Joten kysyin tekoälyttömyydeltä mikä x-nodeinfo2 oikein on:

    1. Alun perin käytettiin /.well-known/nodeinfo
    2. Jotkut instanssit halusivat välttää nimeä nodeinfo, koska se on myös vanhan Node.js-pohjaisen ohjelman nimi
    3. Yhteensopivuuden vuoksi käyttöön tuli väliaikaiseksi (mutta nyt jäänyt) x-nodeinfo2, joka:
    • Palauttaa links-taulukon, jossa näkyy oikea schema
    • Kertoo, mistä JSON-osoitteesta varsinainen data löytyy

    Mastodon käyttää usein vain nodeinfo, mutta Friendica ja Hubzilla voivat käyttää vain x-nodeinfo2-reittiä. WordPressin ActivityPub taasen palauttaa nodeinfo/2.0

    Asia selvä. Helpoimmalla pääsee, kun tekee tuon.

    mkdir -p /var/www/example.com/public.html/.well-known/x-nodeinfo2
    

    Sinne sitten liitetään tämä:

    {
      "links": [
        {
          "rel": "http://nodeinfo.diaspora.software/ns/schema/2.0",
          "href": "https://www.example.com/wp-json/nodeinfo/2.0"
        }
      ]
    }
    

    Tuo toimii periaatteessa tuollaisenaan. Mutta asia on syytä tarkistaa. Näin se löytyy eksis.one sivustolta:

    curl -i https://www.eksis.one/.well-known/x-nodeinfo2
    

    Minulla /.well-known/* on jo määritelty Nginxissä, koska se toimii reverse proxyna Varnishin ja Apache2 edessä, mutta jos Nginx palvelee suoraan hosteja , niin se on kerrottava.

    Tämä on sitten testaamaton, mutta pitäisi toimia — ja Apache2 käyttävät joutuvat googlettamaan, koska en tiedä miten tällaiset asiat siellä toimivat.

    location = /.well-known/x-nodeinfo2 {
        root /var/www/example.com/public_html;
        default_type application/json;
        access_log off; # jos ei halua logittaa
    }
    

Jatka keskustelua foorumilla Katiskan foorumi

Osallistujat

Avatar for Jagster

WordPressin kommentit: