WordPress multisite tinklo kūrimas

Kas tas WordPress multisite ir kam jo reikia

Kai pradedi kurti daugiau nei vieną WordPress svetainę, greičiausiai susiduri su problema – kiekviena svetainė reikalauja atskiro diegimo, atskiros priežiūros, atskirų atnaujinimų. Jei valdai 3-4 svetaines, dar nieko. Bet kai jų skaičius auga iki 10 ar daugiau, pradedi galvoti, kad turi būti geresnis būdas.

WordPress multisite funkcionalumas leidžia valdyti dešimtis ar net šimtus svetainių iš vienos administracinės panelės. Tai ne kažkoks papildomas įskiepis ar trečiųjų šalių sprendimas – tai integruota WordPress funkcija, kuri egzistuoja nuo 3.0 versijos. Tiesiog ji pagal nutylėjimą yra išjungta.

Multisite tinklas puikiai tinka įvairioms situacijoms. Galbūt turi klientų, kuriems kuri svetaines ir nori jiems suteikti standartizuotą sprendimą. Arba valdai įmonių grupę, kur kiekviena įmonė turi savo svetainę, bet visos naudoja tą pačią dizaino sistemą. Universitetai dažnai naudoja multisite, kad kiekvienas fakultetas galėtų turėti savo erdvę, bet su centralizuotu valdymu.

Pasiruošimas prieš įjungiant multisite režimą

Pirmiausia – padaryk atsarginę kopiją. Tai ne tas atvejis, kai galima rizikuoti. Multisite aktyvavimas keičia duomenų bazės struktūrą ir WordPress konfigūraciją, todėl jei kas nors nutiktų, norėsi turėti galimybę grįžti atgal.

Įsitikink, kad tavo serveris atitinka minimalius reikalavimus. WordPress multisite veikia beveik visose talpinimo aplinkose, bet kai kurios dalinės talpinimo paslaugos (shared hosting) gali turėti apribojimų. Patikrink, ar turi prieigą prie .htaccess failo (Apache serveriams) arba nginx konfigūracijos. Taip pat įsitikink, kad tavo PHP versija yra bent 7.4 ar naujesnė – senesnės versijos jau nebepalaikomos ir kelia saugumo riziką.

Svarbus sprendimas, kurį reikia priimti dar prieš aktyvavimą – ar naudosi subdomenais (site1.tavosvetaine.lt, site2.tavosvetaine.lt) ar subdirektorijomis (tavosvetaine.lt/site1, tavosvetaine.lt/site2). Šio sprendimo vėliau pakeisti nebus paprasta, todėl gerai apgalvok.

Subdomenai atrodo profesionaliau ir suteikia daugiau lankstumo, bet reikalauja papildomos DNS konfigūracijos – turėsi sukurti wildcard A įrašą savo domeno nustatymuose. Subdirektorijos paprastesnės techniškai, bet kai kurie įskiepiai gali turėti problemų su URL struktūra.

Multisite aktyvavimo proceso žingsniai

Dabar pereikime prie praktinės dalies. Prisijunk prie savo serverio per FTP ar failų tvarkyklę ir rask wp-config.php failą WordPress šakniniame kataloge. Šis failas yra WordPress konfigūracijos centras, ir čia įvyks pirmasis svarbus pakeitimas.

Atsidaryk wp-config.php redagavimui ir surask eilutę, kurioje parašyta „That’s all, stop editing! Happy publishing.” Prieš šią eilutę įterpk:

define('WP_ALLOW_MULTISITE', true);

Išsaugok failą ir prisijunk prie WordPress administracinės panelės. Dabar skyriuje „Įrankiai” (Tools) turėtum matyti naują punktą – „Network Setup” arba „Tinklo nustatymas”. Jei jo nematai, išvalyk naršyklės talpyklą ir pabandyk dar kartą.

Paspaudęs ant „Network Setup” pamatysi konfigūracijos formą. Čia pasirinksi, ar nori naudoti subdomenus ar subdirektorijas. Jei tavo WordPress diegimas jau turi turinį ir veikia ilgiau nei mėnesį, subdomenų pasirinkimas bus vienintelis galimas – tai WordPress saugumo priemonė, kad nesuardytum esamų nuorodų.

Įvesk tinklo pavadinimą ir administratoriaus el. paštą. Šis el. paštas bus naudojamas visoms tinklo lygmens pranešimams, todėl įsitikink, kad jį reguliariai tikrini.

Konfigūracijos failų redagavimas

Po to, kai paspaudei „Install” mygtuką, WordPress pateiks tau kodo fragmentus, kuriuos reikės įterpti į du failus: wp-config.php ir .htaccess (arba nginx konfigūraciją, jei naudoji nginx).

Grįžk prie wp-config.php failo. WordPress pateiks tau maždaug 8-10 eilučių kodo, kurias reikės įterpti. Šis kodas atrodo panašiai:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'tavosvetaine.lt');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Įterpk šį kodą toje pačioje vietoje, kur anksčiau pridėjai WP_ALLOW_MULTISITE eilutę. Būk atsargus su kabučių tipais – naudok paprastas kabutes, ne tipografines, nes pastarosios sukels klaidą.

Dabar pereik prie .htaccess failo. Jei jo nematai, įsitikink, kad tavo FTP klientas rodo paslėptus failus (failai, prasidedantys tašku, Unix sistemose yra paslėpti). WordPress pateiks tau naują .htaccess konfigūraciją – paprasčiausiai pakeisk visą esamą turinį nauju kodu.

DNS nustatymų konfigūravimas subdomenams

Jei pasirinkei subdomenų variantą, dar reikia atlikti vieną svarbų žingsnį – sukonfigūruoti DNS įrašus. Prisijunk prie savo domeno registratoriaus valdymo panelės ir surask DNS nustatymų skyrių.

Tau reikės sukurti wildcard A įrašą. Tai atrodo taip:

*.tavosvetaine.lt A 123.456.789.012

Kur 123.456.789.012 yra tavo serverio IP adresas. Šis įrašas nurodo, kad bet koks subdomenas (site1, site2, blog, shop – bet kas) turėtų būti nukreiptas į tą patį serverį.

DNS pakeitimai gali užtrukti nuo kelių minučių iki 48 valandų, nors paprastai tai įvyksta per valandą ar dvi. Gali patikrinti propagaciją naudodamas įrankius kaip whatsmydns.net – tiesiog įvesk savo subdomeną ir pažiūrėk, ar jis matomas skirtinguose DNS serveriuose visame pasaulyje.

Kai kurios talpinimo paslaugos turi savo DNS valdymo specifiką. Pavyzdžiui, Cloudflare reikalauja, kad wildcard įrašas būtų sukurtas be proxy (pilkas debesėlis, ne oranžinis). Jei naudoji Cloudflare, nepamirštk šio niuanso.

Naujų svetainių kūrimas tinkle

Kai viskas sukonfigūruota, gali pradėti kurti naujas svetaines. Prisijunk prie WordPress administracinės panelės – pastebėsi, kad viršutiniame kairiajame kampe dabar yra „My Sites” meniu. Užvedus pelę pamatysi „Network Admin” parinktį.

Network Admin skyriuje rasi „Sites” skiltį. Čia matosi visos tavo tinklo svetainės. Pagal nutylėjimą bus tik viena – tavo pagrindinė svetainė. Norėdamas sukurti naują, paspausk „Add New”.

Užpildyk formą: subdomeną ar subdirektoriją (priklausomai nuo pasirinkto varianto), svetainės pavadinimą ir administratoriaus el. paštą. Gali naudoti esamą administratorių arba sukurti naują – jei el. paštas sistemoje dar neegzistuoja, WordPress automatiškai sukurs naują vartotoją ir išsiųs jam prisijungimo duomenis.

Svarbus dalykas – kiekviena svetainė tinkle gali turėti savo temas ir įskiepius, bet tik network administratorius gali juos įdiegti. Tai saugumo priemonė, užtikrinanti, kad atskirų svetainių administratoriai negalėtų įdiegti potencialiai pavojingo kodo.

Temų ir įskiepių valdymas multisite tinkle

Multisite aplinkoje temų ir įskiepių valdymas veikia šiek tiek kitaip nei įprastoje WordPress svetainėje. Visi įskiepiai ir temos diegiami centralizuotai per Network Admin, bet kiekviena svetainė gali aktyvuoti tik tuos, kuriuos network administratorius padarė prieinamus.

Įdiegęs temą per Network Admin, matai papildomą mygtuką „Network Enable”. Tai leidžia temai būti prieinamai visoms tinklo svetainėms. Jei nenori, kad tam tikra tema būtų prieinama visoms svetainėms, tiesiog jos neaktyvuok tinklo lygmeniu.

Su įskiepiais situacija dar įdomesnė. Yra du aktyvavimo lygiai: „Network Activate” ir paprastas aktyvavimas atskiroje svetainėje. Network Activate reiškia, kad įskiepis bus aktyvus visose svetainėse automatiškai ir atskirų svetainių administratoriai negalės jo išjungti. Tai naudinga tokiems įskiepiams kaip saugumo sprendimai ar SEO įrankiai, kuriuos nori taikyti visur.

Jei tiesiog padarai įskiepį prieinamą (bet neaktyvuoji tinklo lygmeniu), kiekvienos svetainės administratorius galės pats nuspręsti, ar jį naudoti. Tai suteikia lankstumo, bet kartu išlaiko kontrolę – niekas negali įdiegti naujų įskiepių be tavo žinios.

Praktinis patarimas: sukurk standartinį įskiepių rinkinį, kurį aktyvuoji tinklo lygmeniu visoms naujoms svetainėms. Tai gali būti saugumo įskiepiai, atsarginių kopijų sprendimai, analitika. Taip užtikrini, kad visos svetainės atitinka minimalius standartus.

Dažniausios problemos ir kaip jas spręsti

Net ir kruopščiai sekant instrukcijas, gali kilti problemų. Viena dažniausių – naujieji subdomenai neveikia arba rodo 404 klaidą. Dažniausiai tai DNS problemos. Patikrink, ar tikrai sukūrei wildcard A įrašą ir ar jis propagavosi. Naudok komandą `nslookup testas.tavosvetaine.lt` terminale – turėtum matyti savo serverio IP adresą.

Kita dažna problema – įskiepių konfliktai. Kai kurie įskiepiai, ypač tie, kurie dirba su URL struktūra ar talpykla, gali nesugebėti tinkamai veikti multisite aplinkoje. Prieš įdiegdamas įskiepį, paskaityk jo dokumentaciją ar vartotojų atsiliepimus – paprastai žmonės mini, jei yra problemų su multisite.

Jei po multisite aktyvavimo svetainė visai neveikia, greičiausiai kažką ne taip nukopijavo į wp-config.php ar .htaccess. Grįžk prie atsarginės kopijos ir bandyk dar kartą, šį kartą labai atidžiai tikrinkdamas kiekvieną eilutę. Ypač atkreipk dėmesį į kabutes – jei nukopijuosi iš WordPress administracinės panelės per naršyklę, kartais kabučių tipai gali pasikeisti.

Failų įkėlimo problemos taip pat pasitaiko. Pagal nutylėjimą WordPress multisite riboja įkeliamų failų dydį iki 100MB kiekvienai svetainei. Jei reikia daugiau, gali pakeisti šį limitą per Network Admin > Settings > Upload Settings. Bet nepamirštk, kad serveris taip pat turi savo limitus (php.ini faile), kurie turi būti bent tokie pat arba didesni.

Kai viskas veikia ir kas toliau

Kai multisite tinklas veikia sklandžiai, atsiveria daug galimybių. Gali sukurti standartizuotus sprendimus klientams, valdyti didelę svetainių šeimą iš vienos vietos, net sukurti SaaS (Software as a Service) modelį, kur žmonės gali užsiregistruoti ir gauti savo WordPress svetainę.

Reguliari priežiūra tampa daug paprastesnė – vieną kartą atnaujini WordPress branduolį, temas ir įskiepius, ir visos svetainės gauna atnaujinimus. Tai sutaupo neįsivaizduojamą kiekį laiko, palyginti su atskirų diegimų valdymu.

Bet nepamirštk, kad su didele galia ateina ir didelė atsakomybė. Viena klaida gali paveikti visas svetaines tinkle. Todėl visada testuok atnaujinimus staging aplinkoje prieš taikydamas juos produkcinėje. Daugelis talpinimo paslaugų siūlo staging funkcionalumą, o jei ne – gali sukurti atskirą multisite tinklą testavimui.

Atsarginės kopijos tampa dar svarbiausios. Naudok sprendimą, kuris daro visų svetainių kopijas automatiškai. Kai kurie įskiepiai, kaip UpdraftPlus Premium ar BackupBuddy, puikiai palaiko multisite ir gali daryti tiek individualių svetainių, tiek viso tinklo atsargines kopijas.

Saugumo požiūriu, multisite gali būti ir privalumas, ir iššūkis. Privalumas – centralizuotas saugumo įskiepių valdymas. Iššūkis – viena pažeidžiama svetainė gali tapti įėjimu į visą tinklą. Todėl griežtai kontroliuok, kas gali kurti naujas svetaines ir kokius leidimus turi atskirų svetainių administratoriai. Network Admin > Settings > Network Settings skyriuje rasi įvairių saugumo nustatymų, įskaitant galimybę apriboti naujų vartotojų registraciją ir svetainių kūrimą.

Multisite tinklas nėra sprendimas kiekvienam scenarijui, bet kai jis tinka – jis tikrai tinka puikiai. Jei valdai ar planuoji valdyti kelias susijusias svetaines, ši funkcija gali transformuoti tavo darbo eigą ir sutaupyti dešimtis valandų per mėnesį. Tiesiog įsitikink, kad supratai visus techninius aspektus prieš pradėdamas, ir visada turėk atsarginę kopiją po ranka.

Daugiau

Apache Pinot: OLAP database