Kako prebaciti WordPress blog na HTTPS?

U ovom ću blog postu pokazati postupak prebacivanja WordPress bloga s HTTP protokola na HTTPS. Ako to već niste učinili krajnje je vrijeme. Za prebacivanje WordPress bloga na HTTPS protokol treba vam plan, malo vremena, tehničkog znanja, backup i naravno SSL certifikat.

Uvod

Što je SSL?

SSL (Secure Sockets Layer) tehnologija je enkripcije podataka koji putuju između web-preglednika i web-poslužitelja koja pomaže u zaštiti korisničkih podataka. Web-adrese koje su zaštićene SSL protokolom započinju izrazom “https://, a ne izrazom “http://, pa zato neki SSL nazivaju i HTTPS. – Wiki

Postoji više vrsta SSL certifikata,  a glavni su:
DV (Domain Validation) – ovaj certifikat je dovoljan za vaš blog
OV (Organization Validation)
EV (Extended Validation

Zašto SSL/HTTPS?

Kako prebaciti WordPress blog na HTTPS?

Nekoliko je razloga zašto bi trebali na svojem WordPress blogu koristiti SSL/HTTPS.

Sigurnost – Ovo je osnovni razlog zašto je potrebno koristiti SSL certifikat tj. HTTPS protokol. Za običan blog ovaj razlog i nije toliko bitan, osim možda za administratora, međutim web stranice/trgovine koje vrše naplatu putem kreditnih kartica svakako moraju koristiti SSL/HTTPS zbog potrebe za enkriptiranim prijenosom korisničkih podataka kao što su broj kreditne kartice, osobni identifikacijski broj (OIB) i sl.

Povjerenje/vjerodostojnost –  Iako korisnici u ovom trenutku možda ne ostavljaju povjerljive podatke na vašem blogu oni mogu biti sigurni da s vaše strane ulažete maksimalne napore kako bi osigurali sigurno korištenje vašeg bloga. Na taj način podižete razinu povjerenja korisnika. To će posebno doći do izražaja kada većina stranica bude koristila SSL/HTTPS jer će tada biti neobično posjetiteljima vidjeti neku stranicu koja nije ‘zelena’.

Bolja pozicija na tražilicama/SEOGoogle je i službeno objavio da je ne/korištenje HTTPS-a na web stranicama jedan od faktora koji će utjecati na rangiranje web stranica. To znači da je veća šansa da posjetitelji pronađu vašu web stranicu ako koristite SSL/HTTPS. Iako je taj faktor tek jedan mali dio onoga što Google gleda ipak nije zanemariv.

Migracija na HTTPS

Nabava i instalacija SSL certifikata

SSL certifikat možete kupiti ili koristiti neku od besplatnih verzija kao što su Let’s Encrypt ili AutoSSL od cPanela ako vaš pružatelj hosting usluga to dopušta.

Postavljanje SSL certifikata možete prepustiti hosting tvrtki ili odraditi samostalno putem npr. cPanela.

Kako prebaciti WordPress blog na HTTPS?

Kada je SSL certifikat uspješno instaliran možete pristupiti HTTS i HTTPS verziji vašeg bloga. Međutim postupak je daleko od gotovog jer potrebno je napraviti konkretne i trajne promjene kako bi vaš blog postojao samo u HTTPS verziji. Više o tome u nastavku.

Prije nastavka testirajte ispravnost SSL certifikata:
https://www.ssllabs.com/ssltest/analyze.html
https://www.sslshopper.com/ssl-checker.html

Promjena HTTP poveznica na HTTPS

WordPress sve poveznice sprema u MySQL bazu podataka. U bazi može biti više tisuća poveznica i sve ih je potrebno prebaciti na HTTPS. To ćemo ovdje učiniti ručno na način da ćemo preuzeti MySQL bazu podataka na lokalno računalo, otvoriti bazu koristeći Notepad++, promijeniti sve poveznice sa “http://” na “https://“ i ponovno vratiti bazu podataka na hosting.

1 – Izvoz MySQL baze na lokalno računalo

Kako prebaciti WordPress blog na HTTPS?

2 – Zamjena HTTP poveznica sa HTTPS

Kako prebaciti WordPress blog na HTTPS?

3 – Pražnjenje aktivne MySQL baze. Prije ovog koraka budite sigurni da imate kopiju originalne baze na lako dostupnom mjestu.

Kako prebaciti WordPress blog na HTTPS?

4 – Uvoz nove MySQL baze sa HTTPS poveznicama

Kako prebaciti WordPress blog na HTTPS?

Vaš blog bi blog sada trebao biti dostupan na HTTP i na HTTPS protokolu. Ako se nakon ovog koraka vaš blog ne prikazuje kako bi trebao znači da je došlo do greške prilikom rada s bazom podataka. Provjerite jeste li uspješno napravili uvoz nove MySQL baze i ako je potrebno ponovite postupak.

Ako se ne usudite raditi promjene ovakve vrste na MySQL bazi možete koristiti plugin Better Search Replace, ili neki drugi, koji obavlja isti posao.

Na stranici https://www.whynopadlock.com možete provjeriti postoji li još neka zaostala HTTP poveznica, ako ne postoji znači da ste sve do sada uspješno napravili i možete nastaviti dalje.

301 redirekcija

301 redirekcija je službeni standard koji se koristi za označavanje trajno premještenog sadržaja. U ovom slučaju vaš se blog trajno premješta sa HTTP protokola na HTTPS protokol.

Spojite se putem FTP-a na svoj hosting i unutar .htaccess datoteke dodajte sljedeće:

S postavkama unutar .htaccess datoteke budite jako oprezni, obavezno u blizini imajte kopiju originalnih postavki i ako niste sigurni što napraviti kontaktirajte korisničku podršku tvrtke u kojoj imate zakupljen hosting paket ili se poslužite pluginom Easy HTTPS Redirection koji će za vas obaviti izmjenu postavki unutar .htaccess datoteke tj. dodati će sljedeće:

Ako sada posjetite HTTP verziju vašeg bloga trebali bi automatski biti preusmjereni na HTTPS verziju.

To je sve što se tiče vašeg hosting i WordPress bloga. Sve dalje što ću navesti tiče se marketing strane cijelog ovog postupka. S obzirom da većina prometa web stranica stiže od strane web tražilica kao što je Google Search potrebno je i njih obavijestiti o ovoj promjeni kako ne bi došlo do zabune ili još gore kako vas Google ne bi kaznio jer može pomisliti da imate dvije različite web stranice s potpuno istim sadržajem, a Google to ne voli.

Gdje su nestali ‘lajkovi’?

Nakon promjene na HTTPS protokol možete primijetiti da se stanje na gumbima za ‘šeranje‘ na društvene mreže resetiralo na nulu! Ako imate relativno aktivan blog čiji se sadržaj dijeli na društvenim mrežama nije lako za prihvatiti da je odjednom sve vraćeno na nulu. Također kada dođu novi posjetitelji vrlo lako mogu pomisliti da vaš sadržaj nikome nije zanimljiv jer se uopće ne dijeli.

Ipak nije sve izgubljeno. Postoji način za vraćanje statistike dijeljenja vašeg sadržaja. Rješenje se zove Social Warfare Pro.

Kako prebaciti WordPress blog na HTTPS?

Nakon što kupite plugin i aktivirate ga imate dostupnu opciju “Share Recovery” koja vam omogućava vraćanje teško stečenih ‘šerova‘ vašeg sadržaja na društvenim mrežama.

Kako prebaciti WordPress blog na HTTPS?

Nakon što pokrenete vraćanje broja ‘šerova‘ možete vidjeti da se stanje vratilo na prijašnje.

Kako prebaciti WordPress blog na HTTPS?

Google Search Console

Potrebno je kreirati novi Google Search Console profil za HTTPS
verziju vašeg bloga zato što Search konzola ne podržava promjenu adrese sa HTTP na HTTPS verziju.

Kako prebaciti WordPress blog na HTTPS?

Nakon toga kreirajte i dodajte novu sitemap.xml datoteku koja će vam pomoći u bržem indeksiranju. sitemap.xml možete generirati na adresi https://www.xml-sitemaps.com

Kako prebaciti WordPress blog na HTTPS?

Nakon što ste uspješno napravili novi HTTPS profil slobodno možete obrisati stari HTTP profil ako ga imate.

Kako prebaciti WordPress blog na HTTPS?

Google Analytics

Ako do sada niste koristili Google Analtycs onda je pravo vrijeme da počnete, no ako ste ga koristili potrebno je napraviti manje izmjene kako bi se počela prikupljati statistika i za vašu HTTPS verziju bloga.

Ako ovo ne napravite Google Analtycs više neće prikupljati vrlo korisnu statistiku posjećenosti vaših web stranica, a siguran sam da to ne želite.

Ažurirajte “postavke web entiteta”

Kako prebaciti WordPress blog na HTTPS?

i ažurirajte “postavke vlasničkog pregleda”

Kako prebaciti WordPress blog na HTTPS?

Zaključak

Osim ranije navedenog postoji još nešto što možete učiniti kako bi tranzicija na HTTPS prošla u najboljem redu. Svakako ažurirajte sve poveznice koje vode na vašu novu web stranicu.

Kako prebaciti WordPress blog na HTTPS?

Ovo je samo jedan od načina kako svoj WordPress blog možete prebaciti na HTTPS. Ja sam odabrao ovaj način što ne znači da morate i vi. U svakom slučaju naoružajte se strpljenjem i rezervirajte si nekoliko sati vremena samo za ovaj posao kako bi ga napravili kako treba i mogli mirno spavati.

Najgora stvar koju možete napraviti je žuriti i napraviti polovičan posao zbog kojeg vas i Google može kazniti iako ste imali najbolju namjeru, a da ne govorim koliko možete razočarati svoje posjetitelje kada dođu na vaš blog koji ne radi.

Nadam se da sam vam barem donekle uspio pojasniti postupak prebacivanja WordPress bloga sa HTTP protokola na HTTPS.

Za one koji žele znati više:

Uvod u Angular CLI

Kada želite razvijati aplikacije koristeći Angular imate tri mogućnosti, kreirati projekt ručno, preuzeti predložak projekta ili koristiti Angular CLI.

Prva opcija je spora i nema potrebe započinjati svaki novi projekt na taj način, iako je korisno barem jednom proći kroz taj postupak čisto iz razloga da se bolje upoznate s dijelovima od kojih se sastoji jedan Angular projekt. Druga opcija je automatizirana verzija prve opcije i vrlo brzo imate spremnu početnu strukturu Angular projekta. Treća opcija je koristeći Angular CLI i to je definitivno najbolja i najbrža opcija jer osim kreiranja Angular projekta nudi još puno toga, više o tome u nastavku.

Angular CLI – postavljanje

P.S. Kako bi mogli postaviti Angular CLI potrebno je prvo instalirati Node >= 6.9.0 i NPM >= 3.

Angular CLI instalira se jednostavnom naredbom:

I to je sve! Spremni ste za kreiranje prvog Angular projekta koristeći CLI.

P.S.2 Preporuka je da odmah instalirate i TypeScript.

Kreiranje Angular projekta

Novi se projekt kreira naredbom:

Angular CLI novi projekt

Struktura projekta izgleda ovako:

Pokretanje projekta

Projekt možete pokrenuti koristeći naredbu:

Projekt možete otvoriti u web pregledniku na adresi http://localhost:4200

Angular Demo CLI projekt localhost

Ako želite da projekt za vrijeme razvoja mogu vidjeti i drugi korisnici u vašoj lokalnoj mreži pokrenite ga naredbom u kojoj navodite IP adresu vašeg računala npr.:

https://192.168.1.11:4202

U ovom slučaju projekt se nalazi na adresi http://192.168.1.11:4202

Kreiranje dijelova aplikacije

Sve do sada je bilo samo uvod u najveću snagu koju Angular CLI ima, a to je

što vam omogućava kreiranje drugih gradivnih elemenata potrebnih za razvoj cjelovite Angular aplikacije.

Koristeći ng generate možete kreirati:

  • Componentng g component my-new-component
  • Directiveng g directive my-new-directive
  • Pipeng g pipe my-new-pipe
  • Serviceng g service my-new-service
  • Classng g class my-new-class
  • Guardng g guard my-new-guard
  • Interfaceng g interface my-new-interface
  • Enumng g enum my-new-enum
  • Moduleng g module my-new-module

Prilikom kreiranja elemenata kao što su component, directive ili pipe referenca na novi element će se automatski dodati u datoteku app.module.ts.

Verzija aplikacije za produkciju

Kada ste spremni vašu Angular aplikaciju pustiti u produkciju dovoljno je pokrenuti naredbu:

$ ng build tj. $ ng build --prod

Angular CLI: ng build --prod

U ovom se koraku kreira ranije spomenuta dist mapa u kojoj se nalazi produkcijska verzija vaše Angular aplikacije.

Zaključak

Angular CLI je svakim danom sve popularniji. Iz ranije viđenog nije teško zaključiti zašto je to tako.

Postavljanje Angular 2 + TypeScript projekta

U ovom blog postu proći ću kroz proces postavljanja Angular 2 projekta od nule. Zašto od nule? Zato što mislim da je važno da prilikom postavljanja novog projekta znate zašto ste nešto koristili unatoč činjenici da postoje automatski generatori koji će cijeli projekt postaviti za vas.

Naravno, postoji i jednostavniji način koji ću spomenuti na kraju blog posta, a možda i napišem poseban blog post o tome ako netko izrazi želju u komentarima.

Cilj ovog blog posta:
– Kreirati osnovnu strukturu tj. osnovne datoteke
– Dodati podršku za TypeScript
– Postaviti temelj za Angular 2 i dodati System.js
– I konačno, početi koristiti Angular 2

I – Osnovna struktura

Započet ćemo s kreiranjem mape Angular2-starter-projekt.

I.I

Unutar mape kreirat ćemo index.html

I.II

i package.json pomoću naredbe npm init --yes. Što je $ npm init i čemu služi --yes?

Već sada možemo otvoriti index.html u web pregledniku i vidjeti “Angular 2 sadržaj”. Za sada je to samo obična HTML datoteka koju je potrebno osvježiti (F5) u web pregledniku prilikom svake promjene kako bi se one prikazale i daleko je od Angular 2 aplikacije koju želimo napraviti.

I.III

Da bi to promijenili dodat ćemo lite-server, prema preporuci angular.io resursa, koji će služiti za pokretanje aplikacije, automatsko otvaranje u web pregledniku i automatsko osvježavanje prilikom promjena u datotekama.

Lite-server dodajemo pomoću naredbe $ npm install lite-server --save-dev.

NPM lite-server

Nakon instalacije možemo primijetiti dvije stvari, a to su node_modules mapa, u kojoj će se nalaziti svi budući NPM paketi, i promjena unutar package.json u kojemu se sada nalazi i informacija da naš projekt koristi lite-server.

Ako sada pokušate pokrenuti naredbu $ npm run lite dobit ćete poruku o grešci npm ERR! missing script: lite jer vam nedostaje još samo jedna sitnica unutar package.json koji sada treba izgledati ovako:

Projekt od sada pokrećemo naredbom $ npm run lite te će se on automatski otvoriti u zadanom web pregledniku i osvježavati prilikom svake promjene.

NPM lite-server-file-changed

Trenutni izgled aplikacije

Angular2 starter app 1

Struktura projekta sada izgleda ovako:

II – TypeScript

TypeScript je superset JavaScripta i kada govorimo o Angular 2 projektima gotovo je nemoguće pronaći primjer gdje se TypeScript barem ne spominje kao opcija. Uglavnom, uz TypeScript dolazi puno prednosti o kojima možete nešto više saznati na https://www.typescriptlang.org/.

angular.io TypeScript Angular 2 projekte možete raditi i koristeći čisti JavaScript. Prilikom proučavanja dokumentacije na angular.io u donjem lijevom uglu možete odabrati koju vrstu dokumentacije želite vidjeti. Dokaz koliko Angular gura TypeScript je i taj što ako odaberete JavaScript u najvećem broju slučajeva umjesto dokumentacije možete vidjeti poruku “This page is not yet available in JavaScript. We recommend reading it in TypeScript.“.

II.I

No, vratimo se ovom projektu. Prije svega, trebamo dodati TypeScript i Typings u projekt.

TypeScript služi kao prevoditelj ES6 u ES5 tj. JavaScript koji će web preglednik moći razumjeti, a Typings je alat koji omogućava dodavanje proširenja za TypeScript.

NPM Typescript

Oboje ih možemo istovremeno dodati u projekt naredbom
$ npm install --save-dev typescript typings.

Promjena se odmah reflektira na package.json koji sada izgleda malo drugačije:

II.II

Sada možemo kreirati tsconfig.json i typings.json prema uputama na https://angular.io/docs/ts/latest/guide/typescript-configuration.html

tsconfig.json ćemo kreirati ručno i kopirati sljedeće unutar datoteke:

typings.json ćemo kreirati pomoću naredbe $ typings install dt~core-js dt~jasmine dt~node --save --global, ali da ne bi dobili poruku o grešci typings: command not found prvo pokrenite naredbu $ npm install -g typings.

typings.json sada izgleda ovako:

Vraćamo se opet na package.json kojemu ćemo reći koje skripte da pokrene prilikom startanja projekta.

II.III

Dodat ćemo još jedan modul u projekt tako da možemo istovremeno pokrenuti lite-server koji će u web pregledniku podići projekt i typescript watch koji će pratiti promjene u .ts datotekama i kompajlirati ih u .js kako bi ih web preglednik mogao čitati.

Taj modul se zove concurrently a instaliramo ga pomoću naredbe
$ npm install concurrently --save-dev

NPM: start concurrently

Nakon instalacije potrebno je još ubaciti sljedeće u package.json

Aplikaciju od sada pokrećemo naredbom $ npm start.

Struktura projekta sada izgleda ovako:

III – Temelj za Angular 2 i System.js

Do sada smo postavili osnovnu strukturu budućeg starter projekta, dodali podršku za TypeScript i sada je vrijeme da prijeđemo na Angular 2. Ipak, pošto želimo koristiti napredne ES6 mogućnosti koje web preglednici još uvijek ne podržavaju trebaju nam neki dodaci poput Core JS Shim, Zone.js, Reflect Metadata, RxJS i SystemJS kako bi te prepreke zaobišli.

Angular2 QuickStartDa ne bi bilo da sam ja to sada izmislio, info o tome se do prije mjesec dana mogla pronaći u službenoj Angular 2 dokumentaciji. A ako bolje pogledate primijetit ćete da se i dalje nalazi u QuickStart seed projektu unutar index.html.

III.I

Potrebne dodatke dodat ćemo istovremeno u projekt pomoću naredbe
$ npm install core-js reflect-metadata zone.js rxjs systemjs --save

I kao što možete vidjeti package.json je postao bogatiji za

III.II

Sada možemo dodati osnovne pakete koje ćemo koristiti u svim budućim Angular 2 projektima, a koje ne bi mogli koristiti bez dodataka iz prethodnog koraka. Znači sada dodajemo sljedeće pakete:

Istovremeno ćemo ih dodati u projekt naredbom
$ npm install @angular/core @angular/common @angular/compiler @angular/platform-browser @angular/platform-browser-dynamic --save

Osim tih osnovih paketa savjetujem da odmah dodate i sljedeće jer teško je zamisliti bilo kakav ozbiljan Angular 2 projekt bez ovih paketa:

$ npm install @angular/router @angular/http @angular/forms --save

Promjena se odmah reflektira na package.json:

III.III

Angular.io QuickStartSada nam treba System.js koji će Angular 2 aplikaciji reći gdje se svi ranije instalirati paketi nalaze. Opet, da ne izmišljamo toplu vodu jednostavno ću kopirati sadržaj te datoteke iz QuickStart seed projekta. Inače, i ovo se do prije koji tjedan nalazilo u službenoj Angular 2 dokumentaciji.

U mapi projekta kreiramo systemjs.config.js sa sljedećim sadržajem:

III.IV

Vratimo se na index.html u koji ćemo sada dodati putanje do svega što smo dodali do sada.

Struktura projekta sada izgleda ovako:

IV – Napokon Angular 2

Sve do sada bilo je postavljanje projekta, s sada napokon možemo zaroniti u Angular 2. U mapi projekta kreirati ćemo novu mapu koja će se zvati app. To je mapa s kojom ćemo u budućnosti najviše raditi jer u njoj će se nalaziti sve ono što u konačnici čini Angular 2 aplikaciju.

IV.I

A mapi app kreirati ćemo datoteku app.component.ts te će se automatski kreirati app.component.js i app.component.js. Ako nisu samo pokrenite projekt koristeći $ npm start.

IV.II

Unutar app.component.ts kreirat ćemo prvu komponentu

IV.III

Sadržaj iz gornjeg H1 taga još uvijek se ne vidi na početnoj stranici projekta. Da bi se vidio potrebno je kreirati app.module.ts koji služi kao centralno mjesto za sve Angular 2 komponente koje onda možemo koristiti kroz cijelu aplikaciju.

IV.IV

I sada još to trebamo povezati sa ostatkom aplikacije. To ćemo napraviti tako da kreiramo main.ts

IV.V

I konačno. Sada možemo prikazati sadržaj komponente na početnoj stranici aplikacije, a to činimo dodavanjem selektora selector: 'my-app' komponente AppComponent u index.html

Aplikacija sada izgleda ovako:

Angular2 starter app 2

Trenutna struktura projekta:

I to bi bilo to što se tiče postavljanja starter Angular 2 projekta. Imate sve što vam treba za sve buduće projekte i ne morate ovaj postupak ponovo prolaziti. Ipak, idemo još samo za kraj to malo uljepšati.

IV.VI

S obzirom da nam je prilikom rada na projektu najbitnija mapa app za kraj ćemo se fokusirati na nju i datoteke u njoj. Vjerujem da ste do sada već shvatili da su nam najbitnije .ts datoteke koje se automatski kompajliraju u js. i s obzirom da ćemo samo na njima raditi nema potrebe da nam i kompajlirane .js datoteke bezveze stoje u istoj mapi i smo prave gužvu. Zato ćemo sada napraviti da se kompajlirane .js datoteke automatski spremaju u dist mapu koju ćemo sada kreirati.

To ćemo postići tako da tsconfig.json pod "compilerOptions" dodamo "outDir": "dist" .

outdir dist

I zadnja stvar koju moramo napraviti kako bi dist mapa imala svoju svrhu je promijeniti 'app':'dist', u 'app': 'dist', unutar systemjs.config.js tako da web preglednik zna iz koje mape će čitati datoteke za prikaz aplikacije.

I konačna struktura projekta izgleda ovako:

Zaključak

I to je sve! Imate spreman starter Angular 2 + TypeScript projekt. Jednom kada ste ovo napravili spremite projekt na sigurno i koristite prilikom izrade svake sljedeće Angular 2 aplikacije kako bi si ubrzali posao. Naravno, možete dodati ili oduzeti NPM module po želji ovisno o tome što sve želite imati u osnovi svake sljedeće Angular 2 aplikacije.

Rekao sam na početku da ću spomenuti brži način za stvaranje starter projekta, a to je koristeći Angular-CLI koji za vas kreira čitav projekt spreman za korištenje kroz samo nekoliko sekundi. Ipak, korisno je ovako rastrančirati strukturu čisto da se bolje razumije od čega se uopće i zašto projekt sastoji.

Koristite li Angular 2 i TypeScript? Kakva su dosadašnja iskustva?

Kako riješiti date.timezone error (Joomla 1.5 + PHP 5.3) ?

Kada vaš pružatelj hosting usluga prijeđe na PHP verzije 5.3 vrlo je vjerojatno da će vas dočekati date.timezone error kao prst u oko vašem web projektu ili još gore projektu za vašeg klijenta. To se događa kada se PHP ne pogoni kao dio Apache modula zbog veće sigurnost kada je u pitanju dijeljeni (shared) hosting.

Koliko god se stanje činilo alarmantno stvar nije toliko komplicirana i zapravo ova je pogreška vrlo česta u što se možete uvjeriti ako ‘guglate’ poruku o pogrešci.

Kroz jedan konkretan primjer pokazat ću vam kako se riješiti ovog errora na primjeru CMS-a Joomla 1.5.x, foruma Kunena 1.5.x  (ex. Fireboard) i naravno PHP-a verzije 5.3. Iako mora biti jasno da ovo nije problem samo Joomle niti je ekskluzivan za Joomlu.

Ako se pitate zašto bi netko još uvijek koristio Joomlu verzije 1.5.x u pitanju je jedan stari projekt te je prije migracije na WordPress potrebno ispeglati sve postojeće probleme.

Prvi način na koji ovaj problem možete riješiti je pomoću php.ini datoteke tako da ubacite sljedeći sadržaj unutar nje.

Popis podržanih vremenskih zona možete pronaći ovdje no ako nemate pristup toj datoteci to ne znači da ostajete bez opcija.

Kod Joomle npr. možete očekivati sljedeće dvije poruke:

U ovom slučaju je dovoljno u date.php na dno ubaciti:

Dok kod Kunena foruma možete očekivati sljedeće poruke:

Pri čemu je dovoljno u kunena.timeformat.class.php datoteku odmah iza:

ubaciti