tavis nörttimaailmassa

EksisONE - artikkeleita ja ohjeita nörttimaailmasta

WordPress Multisite – yhteiset mediatiedostot

WordPressin Multisite on yksi tapa rakentaa sivustofarmi yhden domainin ympärille. Jos on tarpeeksi suuruudenhulluutta, niin voi lähteä haastamaan WordPress.com’ia ja tarjota ihmisille valmiiksi konffattua blogialustaa. En suosittele, mutta mahdollista moinen on. Jos sen sijaan tarvitset oman perussaittisi ympärille (tai alle) laajennusta, jossa sinun täytyy esimerkiksi rajata ylläpitoa tai editointia, tai eräällä tavalla laajentaa kategoria-ajatusta, niin multisite on vaihtoehto. Asentaminen on todella helppoa. Lisäosat ja tyyli sekä päivitykset hoituvat keskitetysti, mutta yksi oleellinen asia ei: mediatiedostot.

Itse käytän multisite-asennusta (tällä hetkellä) kahdella sivustolla: katiska.info ja eksis.one. Kummassakin käytän sitä selväkielisen sisällön esittämiseen sekä Woocommerce-kaupalle. Toki olisin voinut toteuttaa sen sivustojen muun sisällön joukkoon, mutta silloin olisi hieman rikottu selväkielisyyden periaatteita vastaan. Yksi ongelma olisi ollut tekstien löytäminen muun sisällön joukosta, jos on selväkielisyyden tarvetta. Toki olisi ollut mahdollista tehdä se soveltamalla kielivaihtoehtoja, esimerkiksi Polylangin kanssa, mutta se olisi ollut käytössä kökkö ratkaisu. Plus olisi edeltänyt aivan koko sisällön ”kääntämistä”, joka ei ollut minulla käytännöllistä. Tuplakategorian rakentaminen olisi ollut vielä hankalampaa ja aivan helvetillinen käytettävyyden kannalta. WordPressin taksonomiaa kehutaan, mutta aidosti sen on melkoisen simppeli kaksiuloitteinen rakennelma, jonka esittäminen useammassa kuin kahden askeleen kategoriasyvyydessä kaatuu heti. Tagit ovat jopa yksiuloitteisia.

Lukihäiriöisillä on myös vaikeuksia liikojen himmeleiden kanssa, joten ulkonäön oli oltava yksinkertaistetumpi. Kyse oli siis myös käytettävyysratkaisusta, jota ei (lähes) kukaan toteuta normisivustoilla milloin SEO-pelleilyjen ja millon markkinointihypen takia. En minäkään. Ja kuten jokainen wordpressin kanssa paininut tietää, niin erilaisen teeman käyttö sivuston eri paikoissa on käytännössä mahdotonta. Page buildereilla voi tehdä joitain, mutta silloin maalaa itsensä nurkkaan. Teeman, page builderista puhumattakaan, vaihtaminen tulee mahdottomaksi isommilla sivustoilla työmäärän takia. Pagebuilderit ovat myös tehosyöppöjä.

Joten multisite käyttöön.

Yhteiset mediatiedostot

Koska kyseessä on saman hallinnan laajentaminen, niin tiukkoja rajoituksia ei tarvita. Ja koska kyseessä on saman sisällön tarjoaminen hieman eri muodossa, niin mediatiedostot saisivat olla yhteisiä multisiten sisällä. Ja tässä tuli pieni ongelma.

Koska periaatteessa verkon sivustot ovat erillisiä, niin ne käyttävät omia mediatiedostojaan. Siitä huolimatta, että digifyysisesti ne sijaitsevat samassa paikassa. Oli kestämätöntä, että jouduin siirtämään samat kuvat ja äänitiedostot samassa wordpress-asennuksessa kahteen kertaan.

Onneksi tähän löytyy apua. Se mikä oli mielenkiintoista, niin mitään supersuosittuja lisäosia sen sijaan ei löytynyt. Ilmeisesti muilla on rajattomasti resursseja ja editorit henkilöinä ovat erillisiä. Tai multisite-asennukset eivät olekaan niin yleisiä kuin annetaan ymmärtää.

Mutta pari toimivaa vaihtoehtoa löytyi.

Network media library

En löytänyt tätä lisäosana. On mahdollista, että se on silti olemassa. Mutta kuten wordpressin kanssa työskennelleet tietävät, niin wordpress.org tarjoaa aivan yhtä toimivan haun omiin palveluihinsa kuin WordPressiinkin… eli huonon (asenna omaan asennukseesi heti Relevanssin).

Network media library löytyy Githubista. Voit tehdä itse PHP:n tai ladata sen nappulasta Clone or download. Ota zip-paketti, sillä se asentuu suoraan lisäosana. Sinulle tarjotaan mahdollisuutta saada ilmoitus päivityksestä sähköpostiin. Se kannataa tilata, sillä tämä ei päivity itsestään (siksi sen olisin halunnut löytyy aitona pluginina).

Network media library toimii läpinäkyvästi, eli näyttää saman mediakirjaston verkon jokaiselle sivustolle. Lataat yhdessä, niin näkyy kaikille. Sopii multisite-asennuksille, kaikki sivustot ovat aidosti yhtä ja samaa – kuten omassa käytössäni.

Kun asennat Network media library:n, niin mediakirjastosi näyttää tyhjältä – riippuen montako sivustoa olet asentanut. Minulla oli aiemmin neljä, joista poistin numerot 2 ja 3., joten jäljellä on ID:t 1 (se originaali) ja 4 (selkokielinen). Mutta plugin olettaa jostain minulle hämärästä syystä, että median eräällä tavalla juurena käytettävän sivuston ID on 2. Joten sinulla se on luultavasti ensimmäinen tehty ”alasivusto”.

Minä muutan oletussivustoksi ensimmäisen, alkuperäisen, koska sen tiedä mitä siirretyille medioille tietokannassa tapahtuu, jos joskus päätänkin poistaa multisite-asennuksen.

SSH:lla liikkeellä. Siirrytään lisäosan hakemistoon (ja taas, muokkaa polut itsellesi oikein)

$ cd /var/www/eksis.fi/public_html/wp-content/plugins/network-media-library-master

Muokataan pluginia:

$ nano network-media-library.php

Etsi rivi

const SITE_ID = 2;

ja muuta arvo ykköseksi.

const SITE_ID = 1;

Tallenna. Nyt lisäosa olettaa ensimmäisen sivustosi.

Multisite global media

Samalta tekijältä löytyy toinen lisäosa, jossa on hieman erilainen lähestymistapa. En löytänyt sitäkään wordpress.org kautta, joten ladataan Githubista. Kannattaa ladata zippinä, niin saa asennettua normaalisti lisäosana. Ja taas, kannattaa tilata mailiin ilmoitus päivityksistä.

En ole asentanut tätä, joten luotan muiden tietoihin.

Ero Network media libraryyn on se, että Multisite global media tekee välilehden, jossa mediatiedosto sallitaan verkolle. On siis mahdollista pitää erillään sivustojen omat tiedostot yhteisistä tiedostoista. Lienee hyödyllinen vaihtoehto, jos verkon sivustot ei ole täysin naitettu toisiinsa.

Ja kuten edellisessä pluginissa, niin tässä on sama SITE_ID kysymys. Ehkä kannattaa muokata pluginin PHP:tä ja muuttaa 2 arvolle 1.

CDN

CDN-palvelun käytön ei pitäisi vaikuttaa kumpaankaan. Ainakaan minulla ei WP Offload Media ei ollut kiinnostunut aiheesta. Johtuu siitä, että ulkopuoliseen maailmaan nähden media-tiedostot ovat samassa paikassa ja WordPress päättää sisäisesti oman tietokantansa mukaan mille verkon sivustolle mikäkin kuva kuuluu.