Vodič za WordPress wp-config.php

Šta je wp-config.php
Fajl wp-config.php je jedan od najvažnijih datoteka u WordPress instalaciji jer sadrži konfiguraciju koja kontrolira kako WordPress komunicira sa bazom podataka, upravlja sigurnošću, obrađuje greške i alocira sistemske resurse. Ovaj datoteka se kreira tokom instalacije WordPress-a i nalazi se u root direktoriju sajta. Za razliku od podešavanja u admin panelu koja se čuvaju u bazi podataka, wp-config.php podešavanja se primjenjuju prije nego što WordPress uopće uspostavi vezu sa bazom.
Razumevanje wp-config.php je esencijalno za svakog ko ozbiljno upravlja WordPress sajtom. Pravilna konfiguracija ovog datoteke može značajno poboljšati performanse, sigurnost i stabilnost sajta. Greške u wp-config.php mogu učiniti sajt potpuno nedostupnim jer se datoteka učitava prije svega ostalog. U ovom vodiču prolazimo kroz svako važno podešavanje sa objašnjenjem što radi, koje vrijednosti koristiti i kada ga mijenjati.
Podešavanja baze podataka
Osnovne konstante
DB_NAME definira ime baze podataka koju WordPress koristi. Ovo ime se kreira na hosting kontrolnom panelu ili kroz MySQL komandnu liniju prije instalacije WordPress-a. DB_USER je korisničko ime za pristup bazi podataka sa dovoljnim privilegijama za čitanje i pisanje. DB_PASSWORD je lozinka za tog korisnika koja treba biti jaka i jedinstvena. Nikada ne koristite root korisnika za WordPress jer to predstavlja sigurnosni rizik.
DB_HOST je adresa servera baze podataka koja je obično localhost kada su web server i baza na istom serveru. Na nekim hosting platformama ova vrijednost može biti različita poput IP adrese ili socket putanje. DB_CHARSET definira karakter set baze i treba biti utf8mb4 koji podržava sve Unicode karaktere uključujući emotikone. DB_COLLATE definira pravila za sortiranje i usporedba teksta i obično se ostavlja prazan da bi MySQL koristio podrazumevani collation za izabrani charset.
Table prefix
Konstanta table_prefix definira prefiks za sve WordPress tablice u bazi podataka. Podrazumevana vrijednost je wp_ ali se preporučuje promjena na nešto jedinstveno poput abc123_ tokom instalacije. Ovo je osnovna sigurnosna mjera koja otežava SQL injection napade jer napadač ne može pretpostaviti imena tablica. Promena prefiksa nakon instalacije je moguća ali zahtijeva pažljivo preimenovanje svih tablica i ažuriranje referenci u opcijama i korisničkim metapodacima.
Sigurnosni ključevi i soli
Šta su sigurnosni ključevi
WordPress koristi osam sigurnosnih konstanti AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY i njihove odgovarajuće SALT varijante. Ovi ključevi se koriste za šifriranje informacija sačuvanih u kolačićima korisnika. Bez ovih ključeva sesije korisnika bi bile ranjive na presretanje i kradu identiteta. Svaki ključ treba biti jedinstven, dug i nasumičan sa kombinacijom slova, brojeva i specijalnih karaktera.
WordPress pruža online generator na api.wordpress.org/secret-key koji generiše osam nasumičnih ključeva spremnih za kopiranje u wp-config.php. Preporučuje se periodična promjena ključeva posebno nakon sigurnosnog incidenta jer promjena invalidira sve postojeće sesije i prisiljava sve korisnike da se ponovo prijave. Ovo je efikasan način da se trenutno odjavite svi korisnici uključujući potencijalnog napadača koji je kompromitovao administratorski nalog.
Pravilna implementacija
Kopirajte generisane ključeve i zamenite placeholder vrijednosti u wp-config.php. Svaki ključ mora biti jedinstven i nikada ne koristite iste ključeve na dva različita sajta. Ako migrirate sajt na novi server kopirajte ključeve iz starog wp-config.php da korisnici ne bi morali ponovo da se prijavljuju. Čuvajte bekup ključeva na sigurnom mjestu jer njihov gubitak ne pravi trajnu štetu ali zahtijeva ponovnu prijavu svih korisnika.
Debug mod
WP_DEBUG
Konstanta WP_DEBUG kontrolira da li WordPress prikazuje PHP greške, upozorenja i obavijesti. Podrazumevana vrijednost je false što sakriva sve greške od posjetitelja. Postavljanje na true aktivira prikaz grešaka i korisno je tokom razvoja ili dijagnostikovanja problema. Na produkcijskom sajtu WP_DEBUG nikada ne treba biti true jer prikazivanje grešaka posjetiteljima otkriva informacije o strukturi sajta koje napadač može iskoristiti.
WP_DEBUG_LOG
Kada je WP_DEBUG_LOG postavljen na true WordPress zapisuje sve greške u datoteka wp-content/debug.log umjesto da ih prikazuje na ekranu. Ovo je idealno za produkcijske sajtove gdje želite pratite greške bez prikazivanja posjetiteljima. Možete definirati prilagođenu putanju sa WP_DEBUG_LOG postavljenim na apsolutnu putanju do log datoteke. Redovno pregledajte log datoteka i obrišite ga kada poštane prevelik jer može zauzeti značajan prostor na disku.
WP_DEBUG_DISPLAY
WP_DEBUG_DISPLAY kontrolira da li se greške prikazuju na HTML stranici. Postavite na false u kombinaciji sa WP_DEBUG true i WP_DEBUG_LOG true da bi se greške beležile u log datoteka ali ne prikazivale posjetiteljima. SCRIPT_DEBUG kada je postavljen na true tera WordPress da koristi nekompresovane verzije CSS i JavaScript datoteka što je korisno za razvoj tema i plugina ali usporava sajt u produkciji.
Memorijski limit
WP_MEMORY_LIMIT
WP_MEMORY_LIMIT definira maksimalnu količinu PHP memorije koju WordPress može koristiti za obradu zahtijeva na frontend-u. Podrazumevana vrijednost je 40M za standardne instalacije i 64M za Multisite. Za sajtove sa mnogo plugina, velikim medijskim bibliotekama ili WooCommerce-om preporučuje se povećanje na 128M ili 256M. Ova vrijednost ne može premašiti PHP memory_limit postavku na serveru jer WordPress ne može zahtijevati više memorije nego što PHP dopušta.
WP_MAX_MEMORY_LIMIT
WP_MAX_MEMORY_LIMIT definira memorijski limit za administratorski panel koji obično zahtijeva više memorije od frontend-a zbog procesiranja slika, ažuriranja i upravljanja sadržajem. Podrazumevana vrijednost je 256M. Ako dobijate greške poput Allowed memory size exhausted u admin panelu povećajte ovu vrijednost. Obratite pažnju da previsok memorijski limit može maskirati problem sa memorijskim curenjem u pluginu ili temi umjesto da ga riješi.
Napredne konstante
Autosave i revizije
AUTOSAVE_INTERVAL definira interval u sekundama između automatskog čuvanja postova u editoru. Podrazumevana vrijednost je 60 sekundi. Smanjivanje na 30 sekundi pruža češće bekupe sadržaja tokom pisanja ali povećava broj zahtijeva ka serveru. WP_POST_REVISIONS kontrolira koliko revizija se čuva za svaki post. Podrazumevano WordPress čuva neograničen broj revizija što može napuniti bazu podataka na sajtovima sa mnogo sadržaja. Postavite na konkretan broj poput 5 ili 10 za razuman kompromis između sigurnosti sadržaja i veličine baze.
Korpa za otpadke
EMPTY_TRASH_DAYS definira koliko dana se obrisani sadržaj čuva u korpi za otpadke prije trajnog brisanja. Podrazumevana vrijednost je 30 dana. Smanjite na 7 dana ako želite automatski čistite obrisani sadržaj brže. Postavite na 0 da potpuno onemogućite korpu za otpadke što znači da se sadržaj briše trajno odmah. Ovo se ne preporučuje jer ne postoji mogućnost oporavka slučajno obrisanog sadržaja.
Automatska ažuriranja
WP_AUTO_UPDATE_CORE kontrolira automatska ažuriranja WordPress jezgra. Vrednost true omogućuje sva ažuriranja uključujući major verzije, minor omogućuje samo minor sigurnosna ažuriranja što je podrazumijevano, a false potpuno onemogućava automatska ažuriranja. AUTOMATIC_UPDATER_DISABLED postavljeno na true onemogućava sve automatske procese ažuriranja uključujući plugine i teme koji imaju opciju automatskog ažuriranja.
SSL i URL-ovi
FORCE_SSL_ADMIN postavljen na true prisiljava korištenje HTTPS za prijavljivanje i admin panel. Saznajte više o podešavanju SSL certifikata. Ovo je obavezno na svakom sajtu koji ima SSL certifikat jer štiti kredencijale administratora od presretanja. WP_HOME i WP_SITEURL definiraju URL sajta i mogu biti korisni pri migraciji sajta na novu adresu. Ove konstante imaju prioritet nad podešavanjima u bazi podataka što znači da ih možete koristiti za brzu promjenu URL-a bez pristupa admin panelu.
Cron i zakazani zadaci
WordPress koristi wp-cron sistem za zakazane zadatke poput objavljivanja planiranih postova, provjere ažuriranja i slanja email obavijesti. WP-cron se pokreće pri svakoj posjeti sajtu što nije idealno za sajtove sa niskim ili veoma visokim saobraćajem. DISABLE_WP_CRON postavljeno na true onemogućava ovaj sistem i zahtijeva konfiguraciju system cron-a koji pokreće wp-cron.php u redovnim intervalima obično svakih 5 ili 15 minuta.
ALTERNATE_WP_CRON koristi alternativni metod pokretanja zakazanih zadataka koji je pouzdaniji na nekim hosting okruženjima. WP_CRON_LOCK_TIMEOUT definira vrijeme u sekundama koliko se wp-cron zaključava da bi spriječio istovremeno pokretanje više instanci. Na BeoHosting-u naši hosting paketi podržavaju system cron koji je pouzdaniji od WordPress-ovog internog cron sistema i možemo ga konfigurisati za vaš sajt.
Sigurnosne konstante
Zaštita datoteka sistema
DISALLOW_FILE_EDIT postavljeno na true onemogućava ugrađeni editor tema i plugina u admin panelu. Ovo je važna sigurnosna mjera jer ako napadač kompromituje administratorski nalog ne može koristiti editor za ubacivanje malicioznog koda u datoteke tema ili plugina. DISALLOW_FILE_MODS ide korak dalje i onemogućava instalaciju i ažuriranje tema i plugina kroz admin panel, forsirajući sve promjene da se rade kroz FTP ili SSH.
Premestanje wp-config.php jedan direktorij iznad root-a sajta je moguće jer WordPress automatski traži datoteka u parent direktoriju. Ovo sprječava direktan pristup datoteci kroz web pregledač u slučaju da PHP prestane da radi i server počne da servira PHP datoteke kao tekst. Kombinacija ovih mjera sa pravilnim datoteka dozvolama 644 za wp-config.php ili čak 440 na serverima gdje web server korisnik ima pristup značajno poboljšava sigurnost.
Optimizacija performansi
Keširanje i kompresija
WP_CACHE postavljeno na true aktivira mehanizam za napredne keš plugine poput WP Super Cache ili W3 Total Cache. Ova konstanta omogućuje učitavanje advanced-cache.php datoteke koji keš plugin kreira za obradu zahtijeva prije nego što WordPress učita sve plugine i temu. Bez ove konstante keš plugini ne mogu raditi optimalno. Kompresija sadržaja sa define COMPRESS_CSS true i define COMPRESS_SCRIPTS true može smanjiti veličinu CSS i JavaScript datoteka.
Baza podataka
SAVEQUERIES postavljena na true beleži sve upite ka bazi podataka i vrijeme izvršavanja u globalnu promenljivu wpdb queries. Ovo je korisno za dijagnostikovanje sporog sajta jer možete identificirati upite koji traju predugo ili se nepotrebno ponavljaju. Nikada ne ostavljajte ovo uključeno na produkciji jer čuvanje svih upita u memoriji povećava potrošnju resursa. Koristite samo privremeno za analizu performansi u kombinaciji sa pluginom poput Query Monitor.
Zaključak
Fajl wp-config.php je kontrolni centar WordPress instalacije koji definira ponašanje sajta na fundamentalnom nivou. Pravilna konfiguracija sigurnosnih ključeva, debug moda, memorijskih limita i naprednih konstanti može značajno poboljšati sigurnost, performanse i stabilnost sajta. Redovno pregledajte i ažurirajte podešavanja u skladu sa rastom sajta i promjenama u infrastrukturi. Na BeoHosting-u naš tim može pomoći sa optimizacijom wp-config.php podešavanja za maksimalne performanse na našoj hosting platformi.
BeoHosting Team
10+ godina iskustva — Stručnjaci za web hosting i infrastrukturu
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Posljednje ažuriranje: