Kako se bliži 2020. godina, krajnje je vreme da instalirate SSL sertifikat i migrirate vaš WordPress sa HTTP na HTTPS, ukoliko to već niste učinili. Ova tema je poslednjih godina dobila na važnosti pre svega zahvaljujući težnjama od strane Google-a koji je kroz uvođenje faznih promena obaveštavao korisnike da poseta određenim sajtovima nije u potpunosti bezbedna, sve sa težnjom da motiviše vlasnike sajtova da unaprede svoju sigurnost, tako što će preći na HTTPS protokol.
U ovom članku ćemo vam detaljno objasniti šta je sve neophodno da ispravno prebacite svoj WordPress sajt sa HTTP na HTTPS i dodate SSL sertifikat. Budite bez brige ako ne znate šta su SSL i HTTPS, objasnićemo sve u nastavku.
Šta je SSL sertifikat?
SSL je akronim za Secure Sockets Layer i predstavlja bezbednosnu tehnologiju koja omogućava enkripciju komunikacije između dve tačke, u ovom slučaju između Web servera i posetilaca.
SSL kao tehnologija postoji jako dugo i koristi se od strane miliona online biznisa i individualnih korisnika u cilju smanjenja rizike od krađe podataka i curenja osetljivih informacija.
Šta je HTTPS?
HTTPS ili Secure HTTP je ekstenzija standardnog HTTP protokola koji se koristi za bezbednu komunikaciju u mreži između dve tačke, konkretno između korisnika i servera. Svakog dana delimo naše lične informacije na različitim web sajtovima, što putem prijavljivanja, što putem online kupovine. Da bi podaci bili zaštićeni neophodno je da postoji bezbedna komunikacija na relaciji korisnik – server.
Sada se sigurno pitate – zašto je meni bitno da migriram WordPress sajt sa HTTP na HTTPS kada je u pitanju lični blog ili sajt male firme kojoj nije cilj online prodaja?
Zašto vam je ipak potreban SSL I HTTPS?
Pre nešto više od tri godine Google je objavio svoj plan koji je imao za cilj stvaranje sigurnijeg Interneta time što će ohrabriti, neko bi možda rekao i naterati, sve vlasnike web sajtova da pređu sa HTTP na HTTPS protokol. Promene u ovom smeru uvodile su se u fazama, pa tako od jula 2018. godine internet pretraživač Google Chrome obeležava sve web sajtove bez SSL sertifikata kao „Not Secure“.
Ovo upozorenje može da ostavi loš utisak o poslovanju kod posetilaca i krajnjih korisnika, da ne govorimo o online prodavnicama kod kojih je mogućnost i bezbednost online plaćanja izuzetno bitna za uspešnost poslovanja.
HTTPS i WordPress
Uslovi koje treba da ispuni WordPress sajt za prelazak na HTTPS protokol nisu komplikovani. Sve što treba da uradite je da kupite SSL sertifikat, a možda ga već imate besplatno ukoliko vaša hosting kompanija nudi besplatni sertifikat uz godišnji zakup hostinga. Ukoliko ste korisnik Mint Hosting usluga i želite besplatan SSL sertifikat u posebnom članku u našoj bazi znanja možete saznati na koji način možete da proverite da li je SSL sertifikat izdat i aktivan.
Odaberi 100% optimizovan hosting za WordPress. Svaki WordPress hosting paket donosi besplatne PREMIUM teme i dodatke za tvoj sajt (Asta Pro, Elementro Pro, WPML, WP Portoflio i dr.)WORDPRESS HOSTING
Idealno rešenje za WordPress sajtove
U slučaju da vaš hosting provajder ne nudi besplatan SSL sertifikat moraćete da ga kupite. U našoj ponudi nalazi se veliki broj SSL sertifikata koje izdaje jedna od najpopularnijih i najpouzdanijih sertifikacionih kuća – COMODO, a izbor sertifikata zavisi od poslovnih potreba i vrste web sajta, odnosno informacija koje sajt prikuplja i želi da zaštiti.
Podešavanje WordPressa
Prvi korak je aktivacija SSL sertifikata na domenu. Ukoliko vam ovaj korak nije baš najjasniji možete pročitati kako izgleda proces izdavanja i implementacije SSL sertifikata na sledećem linku. Nakon što ste aktivirali SSL sertifikat na vašem domenu, potrebno je da podesite WordPress da koristi HTTPS protokol na web sajtu.
Pokazaćemo vam kako to možete da uradite na dva načina, a vi možete sami da izaberete koja vam više odgovara.
Migracija na HTTPS korišćenjem WordPress dodatka
Ovo je lakši način koji preporučujemo svim početnicima. Prvo što treba da uradite je da instalirate i aktivirate Really Simple SSL dodatak.
Nakon aktivacije dodatka, kliknite na Settings > SSL. Dodatak će automatski skenirati i pronaći SSL sertifikat, a nakon toga će podesiti WordPress sajt da koristi HTTPS.
Dodatak će srediti sve umesto vas, što znači da će:
- Izvršiti proveru SSL sertifikata,
- Podesiti WordPress da koristi HTTPS u URL-ovima,
- Podesiti preusmerenja sa HTTP na HTTPS,
- Pronaći sve linkove koji se i dalje učitavaju kao HTTP i probati da ispravi grešku.z
Dodatak će pokušati i da ispravi greške pomešanog sadržaja (mixed content) na način koji može imati negativan uticaj na performanse i funkcionisanje sajta jer većina pretraživača danas blokira sadržaj koji je na HTTP-u u slučaju da je HTTPS dostupan.
NAPOMENA: Iako u opisu dodatka stoji da možete da zadržite SSL sertifikat i slobodno deaktivirate dodatak, to nije 100% tačno. Moraćete da ostavite dodatak upaljen, jer će se u suprotnom prilikom deaktiviranja vratiti sve mixed content greške.
Ručno migracija na HTTPS
Ovaj način zahteva od vas da ručno rešavate sve probleme (ukoliko se pojave) i menjate fajlove u WordPress direktorijumu. Za razliku od prve metode, ovaj način predstavlja bolje rešenje. U slučaju da vam je ovaj način previše komplikovan, preporučujemo vam da ovaj posao ustupite programeru ili drugoj osobi koja je bolje upućena u tematiku.
Ručno podešavanje zahteva da izmenite neke fajlove u okviru WordPress teme i koda. Prvo što treba da uradite jeste da na ruti da Settings > General izvršite izmenu u poljima WordPress Adress (URL) i Site Adress (URL), gde ćete http zameniti za https.
Ne zaboravite da kliknete “Save changes” dugme kako bi sačuvali izmene. Kada nova podešavanja budu zapamćena WordPress će se odjaviti i zatražiće vam da se ponovo prijavite.
Sledeći korak je podešavanje redirekcije sa HTTP na HTTPS, a ovo je moguće dodavanjem sledećeg koda u .htaccess fajl.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
Ukoliko koristite nginx server, biće vam potreban sledeći kod koji dodajete u konfiguracioni fajl:
server { listen 80; server_name primer.rs www.primer.rs; return 301 https://primer.rs$request_uri; }
Ne zaboravite da zamenite primer.rs sa vašim domenskim imenom.
Ovim podešavanjem ćete izbeći pojavljivanje „HTTPS not working“ greške u WordPressu, zato što će se ceo web sajt učitavati putem HTTPS protokola.
Takođe, ako želite da forsirate HTTPS u okviru WordPress administracije, neophodno je da izmenite wp-config.php fajl – imajte u vidu da ovaj korak u većini slučajeva nije neophodan.
Jednostavno dodajte sledeću liniju koda iznad “That’s all, stop editing!” linije:
1 define('FORCE_SSL_ADMIN', true);
Nakon svih koraka, sajt će ispravno učitavati SSL i prikazivati HTTPS, ali nije isključeno da se nećete susretati sa mixed content greškama . Ove greške se pojavljuju uglavnom zbog fotografija, skripti ili CSS fajlova koji se i dalje učitavaju koristeći HTTP protokol u svom URL-u. Kao rezultat toga, pretraživači će označiti stranu kao nebezbednu, a vrlo je moguće da će i blokirati učitavanje svog sadržaja koji dolazi sa HTTP-a i time narušiti funkcionisanje samog sajta.
Sve eventualne greške možete proveriti uz pomoć Inspect Tool-a (desni klik – Inspect). Greške u sadržaju će biti prikazane u konzoli kao upozorenje i moći ćete da vidite detalje o svakoj pojedinačnoj grešci. Primetićete da velika količina URL-ova predstavlja fotografije i galerije fotografija, kao i skripte i CSS fajlove korišćene od strane WordPress dodataka i tema.
Popravljanje mixed content grešaka u WordPress bazi podataka
Gore opisani koraci se odnose samo na WordPress konfiguraciju i oni ne utiču na promene u bazi, što znači da to morate da uradite sami. Međutim, ukoliko imate stotine strana i članaka to može da odnese veliku količinu vremena. Postoje dva načina koji mogu da reše ovaj problem:
- Podešavanjem CSP polise na nivou web servera,
- Izmenama u bazi podataka
Kako da podesite CSP polisu?
Ukoliko koristite Apache ili .htaccess kompatibilni web server, dodajte sledeći kod:
<ifModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;" </IfModule>
CSP polise služe za kontrolu ponašanja pretraživača korisnika i ono što ova polisa govori je da sve HTTP zahteve automatski translira u HTTPS, čime se rešava problem mixed sadržaja.
Više informacija o CSP polisi možete pronaći ovde.
Izmene u bazi podataka
Ukoliko iz bilo kog razloga niste u mogućnosti da podesite CSP polisu ili ona ne radi, potrebno je da izvršite izmene u bazi, konkretno izmene je potrebno izvršiti u nekoliko tabela i to:
- wp_posts i wp_postmeta
- wp_options
wp_posts
i wp_postmeta
sadrže sve informacije o stranama i člancima, uključujući i sav njihov sadržaj. Taj sadržaj, pored teksta, sadrži i linkove ka slikama, video zapisima. Ako pretpostavimo da je vaš domen primer.rs, potrebno je da izvršite sledeće upite:
UPDATE `wp_posts`SET `post_content` = replace(post_content, 'http://primer.rs', 'https://primer.rs'); UPDATE `wp_postmeta`SET `meta_value` = replace(meta_value, 'http://primer.rs', 'https://primer.rs');
Ovaj upit će jednostavno izmeniti sve što počinje sa http://primer.rs
sa https://primer.rs
u sadržaju vaših članaka i strana. Ukoliko vaše tabele ne počinju sa wp_
prefiksom, potrebno je da izmenite gore navedeni upit.
Za izmene u wp_options
MySQL upit poput ovog gore neće funkcionisati zbog serijalizacije podataka u okviru ove tabele. Zato najbolje rešenje je privremena instalacija i upotrebna dodatka Better Search and Replace koji taj posao može da uradi za vas.
Dodajte sajt na Google Search Console
Nakon svih ovih koraka, nemojte zaboraviti i na Google Search Console.
Veliki pretraživači kao što je Google gledaju na HTTPS i HTTP kao dva ražličita web sajta, stoga je potrebno je da obavestite Google da ste prebacili web sajt sa HTTP na HTTPS.
To ćete uraditi tako što ćete se prijaviti na vaš nalog, i u okviru Google Search Console i kliknuti na „Add a Property“ dugme. Nakon toga će vam se pojaviti prozor gde je potrebno da dodate URL sajta koji sadrži HTTPS. Sledeći korak je da verifikujete vlasništvo nad sajtom. Postoji više načina da se to uradi, bilo koji da izaberete dobićete uputstvo za verifikaciju vlasništva. Kada završite sa verifikacijom, Google Search Console će krenuti da generiše izveštaje.
Takođe je neophodno da se uverite da su i HTTP i HTTPS verzije sajta ubačene u Google Search Console.
Nadamo se da vam je ovaj članak bio od pomoći. Pišite nam u komentarima kako je prošla vaša migracija sa HTTP na HTTPS protokol.