Preskoči na sadržaj
BeoHosting
BeoHosting
WordPress

Vodič za WordPress wp-config.php

BeoHosting Team··11 min čitanja čitanja
Vodič za WordPress wp-config.php

Što 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.

Razumijevanje wp-config.php je esencijalno za svakog tko 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 svatko 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 podrazumijevani collation za izabrani charset.

Table prefix

Konstanta table_prefix definira prefiks za sve WordPress tablice u bazi podataka. Podrazumijevana 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. Promjena 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

Što 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 zamijenite 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. Podrazumijevana 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 biljež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. Podrazumijevana 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. Podrazumijevana 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. Podrazumijevana vrijednost je 60 sekundi. Smanjivanje na 30 sekundi pruža češće bekupe sadržaja tokom pisanja ali povećava broj zahtjeva ka serveru. WP_POST_REVISIONS kontrolira koliko revizija se čuva za svaki post. Podrazumijevano 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. Podrazumijevana 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. Vrijednost 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 prometom. 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 preglednik 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 bilježi sve upite ka bazi podataka i vrijeme izvršavanja u globalnu promjenjivu 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: