A·R
EN SR

CMS sistemi prilagođeni vašem radnom procesu

Sistem za upravljanje sadržajem napravljen prema tome kako vaš tim zaista radi. Bez kompromisa, bez zaobilaznih rešenja.

Započni projekat Pogledaj naš proces
Custom CMS kontrolna tabla sa interfejsom za upravljanje sadržajem

Gotove CMS platforme guraju vaš tim u tuđi radni proces

WordPress, Drupal i Joomla rade sasvim dobro za blogove i prezentacione sajtove. Onog trenutka kad vaš model sadržaja postane složeniji — višestepena urednička provera, metapodaci specifični za izdavača, taksonomije bogate vezama — nailazite na zid. Urednici se muče sa admin ekranima koji ne odgovaraju njihovom načinu razmišljanja. Programeri gomilaju dodatke koji se međusobno sudaraju i šire prostor za bezbednosne propuste. Svako ažuriranje sadržaja postaje tiket, ne jednostavan zadatak.

Razvijamo CMS platforme koje tačno odgovaraju strukturi vašeg sadržaja. Custom tipovi sadržaja sa meta poljima koja prikazuju podatke redosledom koji vaši urednici očekuju. Pristup po ulogama koji mlađim autorima omogućava da pišu nacrte, starijim urednicima da ih odobre, a pravnoj službi da da saglasnost — sve to bez ijednog emaila. Verzionisanje sadržaja, tako da nikad ne izgubite prethodnu verziju. Rezultat je sistem koji vaš tim zaista želi da koristi.

Strukturiran sadržaj

Custom tipovi sadržaja i taksonomije koje prate stvarne odnose vašeg sadržaja, ne podrazumevanu hijerarhiju bloga.

Strogo kontrolisan pristup

Detaljna dozvola po ulogama. Autori pišu nacrte, urednici odobravaju, administratori podešavaju — bez preklapanja, bez grešaka.

Potpuna istorija verzija

Svaka izmena se čuva, može se uporediti i vratiti. Znate ko je šta i kada promenio, uz vraćanje na prethodno stanje jednim klikom.

Funkcionalnosti napravljene za stvarno uredničko poslovanje

Custom tipovi sadržaja i taksonomije

Vaš sadržaj modelujemo precizno. Ako vodite izdavačku platformu, pravimo posebne tipove sadržaja za Članke, Video, Podkaste i Galerije — svaki sa sopstvenim poljima, pravilima provere i logikom prikaza. Hijerarhijske taksonomije za teme, ravne taksonomije za oznake, i custom polja veza koja povezuju srodan sadržaj. Za razliku od generičkih CPT dodataka koji sve nabacaju u jedan interfejs, svaki tip registrujemo sa sopstvenom pozicijom u meniju, ikonicom i ovlašćenjima preko register_post_type(), uz pažljivo podešene supports nizove i capability_type mapiranja. Admin bočna traka odražava strukturu vašeg sadržaja, ne pretpostavke nekog dodatka.

Sistem uredničkog toka rada

U ozbiljnim organizacijama sadržaj ne prelazi iz nacrta u objavu u jednom koraku. Razvijamo višestepene tokove sa custom statusima sadržaja — Nacrt → Na čekanju za pregled → Pravno odobrenje → Zakazano → Objavljeno. Svaki prelaz pokreće obaveštenje putem emaila pravim ljudima. Custom vidžet na kontrolnoj tabli pokazuje urednicima tačno šta traži njihovu pažnju. Ovo implementiramo preko WordPress-ovog register_post_status() API-ja u kombinaciji sa hook-ovima prelaza (transition_post_status) i zakazanim cron poslovima za vremenski osetljive objave. Bez potrebe za SaaS platformom trećih strana, bez naknada po korisniku.

Dozvole po ulogama

WordPress-ove podrazumevane uloge — Administrator, Urednik, Autor, Saradnik, Pretplatnik — retko odgovaraju stvarnim organizacionim strukturama. Definišemo custom uloge sa precizno dodeljenim ovlašćenjima preko add_role() i map_meta_cap filtera. Sportskom izdavaču mogu biti potrebne uloge poput Terenskog reportera, Urednika rubrike, Lektora, Urednika fotografije i Glavnog urednika — svaka sa drugačijim pristupom tipovima sadržaja, taksonomijama, medijima, podešavanjima i sadržaju drugih korisnika. Matricu ovlašćenja čuvamo u konfiguracionom fajlu koji se lako prenosi, tako da dozvole ostaju dosledne na staging i produkcionom okruženju. Za multisite mreže, podešavamo super-admin izuzetke i posebne uloge po sajtu.

Verzionisanje sadržaja

WordPress podrazumevano čuva revizije sadržaja, ali je to ograničeno i nepouzdano pri većem obimu. Implementiramo pouzdan sloj verzionisanja koji snima kompletno stanje sadržaja — podatke, sva meta polja, veze sa taksonomijama, i istaknute medije — pri svakoj značajnoj izmeni. Urednici mogu da uporede bilo koje dve verzije jednu pored druge, sa istaknutim dodavanjima, brisanjima i izmenama. Vraćanje na prethodnu verziju vraća kompletno stanje sadržaja odjednom, ne samo tekst objave. Za izdavače sa velikim obimom, stare revizije arhiviramo u hladno skladište posle 90 dana kako bi tabela objava ostala brza. Sistem podnosi 50+ revizija po članku bez usporavanja admin interfejsa.

Upravljanje medijima

WordPress-ova podrazumevana biblioteka medija postaje neupravljiva posle nekoliko hiljada fajlova. Razvijamo strukturirane taksonomije medija — po kampanji, po fotografu, po pravima korišćenja, po datumu — tako da urednici pronalaze materijale za sekunde, ne minute. Alati za masovno otpremanje obrađuju prevučene fajlove uz automatsko izdvajanje IPTC metapodataka, konverziju u WebP preko ImageMagick-a, i generisanje responzivnog srcset-a. Za izdavače sa 2 miliona dnevnih pregleda stranica, integrišemo se sa spoljnim DAM sistemima ili cloud skladištima (AWS S3, Cloudflare R2), i slike serviramo preko CDN-a uz promenu veličine u hodu. Mreža medija se učitava za manje od 500ms čak i uz preko 100.000 materijala u biblioteci.

Multisite arhitektura

Kada upravljate sa više brendova, izdanja ili regionalnih sajtova, WordPress Multisite je pravi temelj. Razvijamo mreže sa zajedničkim tabelama korisnika, zajedničkim bibliotekama medija (gde je to prikladno), i odvojenim celinama sadržaja po sajtu. Super-admin kontrolna tabla pruža analitiku za celu mrežu, distribuciju sadržaja između sajtova, i centralizovano upravljanje dodacima i temama. Podešavamo mapiranje domena za jedinstvene adrese po sajtu, SSL sertifikate preko Let's Encrypt-a, i pravila keširanja specifična za sajt preko Nginx fastcgi_cache-a. Dobro arhitektonisana multisite mreža smanjuje troškove hostinga za 40-60% u odnosu na odvojene WordPress instalacije, dok svaki sajt zadržava sopstveni identitet i samostalnost sadržaja.

Headless / API-first pristup

Kada vaš frontend treba da bude React SPA, mobilna aplikacija, ili statičan sajt napravljen sa Next.js, podešavamo WordPress kao headless CMS. WP REST API se proširuje custom endpoint-ima za vaše tipove sadržaja, izlažući tačno ona polja koja su frontend-u potrebna — ni više, ni manje. Za složene upite sa vezama, postavljamo WPGraphQL sa custom tipovima i resolverima, tako da frontend može da preuzme ugnježdeni sadržaj u jednom zahtevu. Autentifikacija koristi JWT tokene ili OAuth2, u zavisnosti od arhitekture klijenta. Admin ostaje na WordPress-u (poznat, proveren u praksi), dok frontend prima čist, tipiziran JSON. Slojevi keširanja na ivici API-ja (Cloudflare ili Fastly) obezbeđuju vreme odziva ispod 100ms čak i pri velikom opterećenju.

Alati za migraciju i uvoz

Selite se sa zastarelog CMS-a ili konkurentske platforme? Razvijamo custom migracione tokove koji obrađuju sadržaj, autore, medije, komentare i SEO metapodatke bez gubitka podataka. Za jednog nedavnog klijenta-izdavača koji se selio sa Drupal-a 7, napisali smo višestepeni uvoznik koji je izvukao 15.000 članaka sa njihovim taksonomskim vezama, pretvorio ugrađene slike u WordPress medijske priloge, i sačuvao URL adrese preko 301 preusmerenja. Migracija je išla u grupama od 100 objava sa mogućnošću nastavka, tako da prekid mreže na objavi broj 8.473 nije značio da se sve počinje ispočetka. Takođe radimo migracije sa Contentful-a, Strapi-ja, Ghost-a i posebno napravljenih sistema. Svaka migracija uključuje skriptu za proveru koja upoređuje hash vrednosti izvornog i ciljnog sadržaja, kako bi se potvrdilo da ništa nije izgubljeno u prenosu.

Kako radimo

1

Revizija sadržaja

Počinjemo popisom svakog tipa sadržaja kojim upravljate — članaka, proizvoda, događaja, profila zaposlenih, materijala za preuzimanje, ugrađenih video zapisa, i svega ostalog. Razgovaramo sa vašim uredničkim timom kako bismo razumeli njihov svakodnevni rad: gde zastaju, šta ručno dupliraju, šta bi želeli da sistem ume da radi. Ova revizija daje dokument Matrice tipova sadržaja koji nabraja svaki tip objave, njegova polja, pravila provere, veze, i uloge korisnika koje ga koriste. Takođe pregledamo vašu postojeću strukturu URL-ova i obrasce saobraćaja kako bismo obezbedili da ništa ne pukne tokom migracije.

2

Informaciona arhitektura

Kada je revizija završena, dizajniramo strukturu sadržaja. Custom tipovi sadržaja se definišu sa svojim supports, taxonomies i rewrite pravilima. Custom taksonomije dobijaju hijerarhijsko ili ravno podešavanje. Pravimo wireframe admin ekrana — gde se svaki tip sadržaja nalazi u meniju, kako izgleda ekran za uređivanje, koja meta polja se pojavljuju kojim redosledom. Za složene veze, dizajniramo interfejs povezivanja: pretraživi birač objava za povezane članke, selektor redosleda galerije prevlačenjem, ili stablo čekboksova taksonomije za višestruki izbor kategorija. Dokument informacione arhitekture postaje specifikacija po kojoj razvojni tim razvija.

3

Mapiranje korisničkih uloga

Vašu organizacionu strukturu prevodimo u WordPress ovlašćenja. Svaka uloga dobija detaljan spisak dozvola: koje tipove sadržaja može da čita, kreira, uređuje, objavljuje i briše; koje taksonomije može da dodeljuje; kojim ekranima podešavanja pristupa; čiji sadržaj drugih korisnika vidi. Definišemo custom ovlašćenja tamo gde podrazumevana ne odgovaraju — na primer, ovlašćenje publish_articles odvojeno od publish_podcasts, tako da terenski reporter slučajno ne objavi audio sadržaj uživo. Mapa uloga se čuva kao PHP konfiguracioni niz pod verzijskom kontrolom, spreman za prenos na različita okruženja.

4

Izrada CMS-a

Faza izrade precizno prati specifikaciju. Tipove sadržaja i taksonomije registrujemo u posebnom dodatku (nikad u temi, tako da sadržaj preživi promenu teme). Meta polja koriste ACF PRO polja definisana u PHP-u radi konfiguracije pod verzijskom kontrolom, ili nativni add_meta_box() za potpuno custom interfejse. Sistem uredničkog toka se implementira kao samostalan dodatak sa sopstvenom tabelom baze za snimke revizija. Pišemo jedinične testove za ključne operacije sa sadržajem — kreiranje objave, prelaz stanja toka, dodelu dozvola — koristeći WordPress-ov ugrađeni PHPUnit okvir za testiranje. Pregled koda se odvija preko GitHub pull request-ova sa automatskom PHPCS proverom.

5

Migracija sadržaja

Ako se selite sa druge platforme, migraciju prvo izvodimo na staging okruženju. Tok se izvršava u idempotentnim grupama — možete ga ponovo pokrenuti kako se sadržaj menja na izvornom sistemu. Stare URL adrese mapiramo na nove preko konfiguracije preusmerenja (Nginx rewrite pravila ili Redirection dodatak), čuvajući SEO vrednost svakog dolaznog linka. Posle migracije, skripta za proveru upoređuje broj sadržaja, proverava da li su svi medijski prilozi ispravno razrešeni, i potvrđuje da su istaknute slike, taksonomski termini i custom polja u potpunosti preneti. Tek kad provera prođe, zakazujemo prelazak na produkciju.

6

Obuka i primopredaja

CMS je dobar onoliko koliko su dobri ljudi koji ga koriste. Vodimo obuke uživo za svaku korisničku ulogu — autori uče editor i prelaze toka rada, urednici uče kontrolnu tablu za odobravanje i poređenje verzija, administratori uče upravljanje korisnicima i podešavanje sistema. Ove sesije snimamo radi obuke budućeg osoblja. Dokumentacija uključuje vodič za korisnike po ulozi, tehnički priručnik za administratore, i tekst pomoći ugrađen direktno u admin panel. Obezbeđujemo 30 dana podrške posle lansiranja da odgovorimo na pitanja i rešimo granične slučajeve koji se pojave tek pod stvarnim uredničkim opterećenjem. Posle toga, opcioni paketi održavanja drže vaš sistem ažurnim i bezbednim.

Tehnologije koje koristimo

PHP 8.2 WordPress Custom Post Types Custom Taxonomies WP REST API GraphQL ACF PRO Members dodatak Gutenberg Blocks Redis Elasticsearch PHPUnit WP-CLI GitHub Actions Composer AWS S3
"
Angažovali smo Aleksandra Raševića da nam iznova napravi izdavačku platformu, i isporučio je sistem koji podnosi 2 miliona pregleda stranica dnevno bez ijednog problema. Inženjering na koji se možete osloniti.
Elena Petrović, Direktorka digitalnog odeljenja, MedijaCentar Novi Sad, Srbija

Često postavljana pitanja

Da li možete da razvijate na WordPress-u?

Da — WordPress je naša primarna platforma za izradu CMS-a. Njegovi API-jevi za custom tipove sadržaja i taksonomije daju nam fleksibilnost da modelujemo složen sadržaj bez izmišljanja točka. Vaš tim dobija poznat admin interfejs, a mi dobijamo temelj proveren u praksi. WordPress proširujemo custom dodacima umesto da diramo jezgro ili se oslanjamo na gotova rešenja koja rade 80% onoga što vam treba, a bore se sa vama oko preostalih 20%. Rezultat je održiv sistem na kom može da radi bilo koji WordPress programer, ne zatvorena custom aplikacija.

Šta je sa headless CMS-om?

Ako vam je frontend React/Next.js aplikacija, mobilna aplikacija, ili odvojen statičan sajt, podešavamo WordPress kao headless pozadinu. WP REST API servira vaš sadržaj kao JSON, sa custom endpoint-ima za vaše specifične tipove sadržaja. Za složene relacione upite, WPGraphQL pruža tipiziranu šemu, tako da vaš frontend preuzima tačno one podatke koji su mu potrebni u jednom zahtevu. Iskustvo uređivanja ostaje nepromenjeno — vaš tim se prijavljuje na isti WordPress admin koji poznaje — dok frontend programeri koriste čiste, dokumentovane API-jeve. Dodajemo keširanje API odgovora preko Redis-a i edge keširanje preko Cloudflare-a, tako da headless ne znači sporo.

Kako rešavate korisničke uloge?

Počinjemo mapiranjem vaše organizacione strukture u matricu ovlašćenja. Svaka uloga — Autor, Urednik, Glavni urednik, Administrator, itd. — dobija precizno definisan skup dozvola preko custom ovlašćenja koja idu dalje od WordPress-ovih podrazumevanih. Sportski novinar bi mogao imati edit_articles i assign_player_taxonomy, ali ne i edit_podcasts ili manage_adzones. Definicije uloga čuvamo kao PHP konfiguracione nizove pod verzijskom kontrolom, tako da se dosledno prenose na staging i produkciju. Za napredne slučajeve, koristimo Members dodatak kao osnovu i proširujemo ga custom kodom gde je to potrebno.

Možemo li da migriramo sa našeg trenutnog CMS-a?

Apsolutno. Napravili smo migracione tokove sa Drupal-a (7 i 8+), Joomla-e, Contentful-a, Strapi-ja, Ghost-a, i posebno napravljenih sistema. Proces počinje revizijom podataka — analiziramo šemu vaše baze ili odgovore API-ja kako bismo razumeli model sadržaja, veze i metapodatke. Zatim pišemo custom uvoznik koji radi u grupama sa mogućnošću nastavka, obrađuje preuzimanje i ponovno pripisivanje medija, čuva URL adrese preko 301 preusmerenja, i proverava celovitost sadržaja poređenjem hash vrednosti. Tipična migracija za izdavača sa 10.000-20.000 članaka traje 2-3 nedelje, uključujući testiranje i proveru. Uvek prvo izvodimo kompletnu migraciju na staging okruženju pre nego što diramo produkciju.

Da li obezbeđujete obuku?

Da — obuka je uključena u svaki CMS projekat. Vodimo video sesije uživo prilagođene svakoj korisničkoj ulozi: autori uče editor sadržaja, unos meta polja i prelaze toka rada; urednici uče kontrolnu tablu za odobravanje, poređenje verzija, i alate za zakazivanje; administratori uče upravljanje korisnicima, dodelu uloga, i podešavanje sistema. Sve sesije se snimaju radi buduće obuke. Takođe obezbeđujemo pisanu dokumentaciju: vodič za korisnike sa snimcima ekrana za svaku ulogu, tehnički priručnik za administratore koji pokriva procedure rezervnih kopija i ažuriranja dodataka, i tekst pomoći ugrađen direktno u WordPress admin ekrane. Tokom 30 dana posle lansiranja, odgovaramo na pitanja putem emaila ili video poziva bez dodatne naplate.