A wp-config.php fájl a WordPress telepítés egyik legfontosabb konfigurációs fájlja. Ez tartalmazza az adatbázis-kapcsolati adatokat, valamint számos egyéb, a WordPress működését befolyásoló beállítást.
Alapértelmezetten a WordPress letöltésekor ez a fájl még nem létezik. A telepítés során jön létre, a felhasználó által megadott adatok alapján. A fájl a WordPress gyökérkönyvtárában található.
Ezen fájlt könnyen szerkeszthetjük sFTP-n, SSH-n vagy tárhelyszolgáltató által biztosított fájlkezelőkkel. Ügyeljünk rá, hogy módosítás előtt mindig legyen biztonsági mentés róla! Illetve az sem árt, ha tudjuk mely módosítások, milyen következményekkel járhatnak.
Alapvető adatbázis-beállítások
define( 'DB_NAME', 'adatbazis_nev' );
define( 'DB_USER', 'adatbazis_felhasznalo' );
define( 'DB_PASSWORD', 'adatbazis_jelszo' );
define( 'DB_HOST', 'localhost' );
Magyarázat:
- DB_NAME – Az adatbázis neve
- DB_USER – Az adatbázishoz tartozó felhasználónév
- DB_PASSWORD – Az adatbázis jelszava
- DB_HOST – Az adatbázis kiszolgáló címe (legtöbbször
localhost)
Adatbázis karakterkészlet és collation
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
A utf8mb4 használata ajánlott, mivel ez támogatja a teljes Unicode karakterkészletet (például emojik).
Adatbázis tábla előtag
$table_prefix = 'wp_';
Az előtag módosításával:
- több WordPress telepítés is használhatja ugyanazt az adatbázist (nem ajánlott)
- minimálisan növelhető a biztonság, ha egyedit használunk (például wpma_)
Hitelesítési kulcsok
define( 'AUTH_KEY', 'egyedi_kulcs' );
define( 'SECURE_AUTH_KEY', 'egyedi_kulcs' );
define( 'LOGGED_IN_KEY', 'egyedi_kulcs' );
define( 'NONCE_KEY', 'egyedi_kulcs' );
define( 'AUTH_SALT', 'egyedi_kulcs' );
define( 'SECURE_AUTH_SALT', 'egyedi_kulcs' );
define( 'LOGGED_IN_SALT', 'egyedi_kulcs' );
define( 'NONCE_SALT', 'egyedi_kulcs' );
Ezek a kulcsok:
- a sütik és munkamenetek titkosítására szolgálnak
- bármikor lecserélhetők, ezzel minden felhasználót kijelentkeztetve (csere esetén hasonló, véletlenszerűre cseréljük)
WordPress URL-ek kényszerítése
define( 'WP_HOME', 'https://pelda.hu' );
define( 'WP_SITEURL', 'https://pelda.hu' );
Hasznos lehet:
- költöztetésnél
- hibás URL beállítások javításánál
- admin felület elérhetetlensége esetén
- ha még nem álltunk át https-re
A wp-content könyvtár áthelyezése
define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/tartalom' );
define( 'WP_CONTENT_URL', 'https://pelda.hu/tartalom' );
Lehetővé teszi a wp-content mappa egyedi helyre mozgatását és átnevezését.
Feltöltések könyvtárának módosítása
define( 'UPLOADS', 'media' );
Ez a wp-content/uploads helyett egy másik könyvtárat használ.
Hibakeresési (debug) beállítások
Hibanapló, hibák megjelenítését mindig csak ideiglenesen használjunk! Ha nem nézzük, akkor legyen false (kikapcsolt) értéken mindegyik.
Alap debug mód
define( 'WP_DEBUG', true );
Hibák megjelenítése a böngészőben
define( 'WP_DEBUG_DISPLAY', true );
Hibák naplózása fájlba
define( 'WP_DEBUG_LOG', true );
SCRIPT_DEBUG
define( 'SCRIPT_DEBUG', true );
Ha engedélyezve van:
- a WordPress nem minifikált JS és CSS fájlokat tölt be
- fejlesztési környezetben ajánlott, éles oldalon nem ajánlott
JavaScript fájlok összefűzésének tiltása (admin felület)
define( 'CONCATENATE_SCRIPTS', false );
Hasznos lehet admin oldali JavaScript hibák keresésénél.
Tartalom szerkesztés
Automatikus (post) mentés időköze
define( 'AUTOSAVE_INTERVAL', 120 );
Hány másodperceként csináljunk automatikus mentést a WordPress, amikor szerkesztünk, készítünk egy tartalmat a szerkesztőben. (Ez a fájlszerkesztőre nem érvényes.)
Tartalom vázlatok mennyisége
define( 'WP_POST_REVISIONS', 3 );
Adott post-ból (bejegyzés, oldal, custom post type) hány darab automatikus mentés legyen megtartva az adatbázisban. (Ha 3 és az autosave_internel 120, akkor 1db 2 perccel korábbi, 1db 4 perccel korábbi, 1db 6 perccel korábbi változat van, régebbiek törölve vannak.)
Automatikus tartalomszerkesztés mentés kikapcsolása
define( 'WP_POST_REVISIONS', false );
Ilyen esetben a WordPress nem fog a tartalom írása, szerkesztése közben automatikus mentést készíteni, függetlenül a autosave_internal értékétől.
Lomtár ideje
define( 'EMPTY_TRASH_DAYS', 7 );
Ez határozza meg, hogy egy törölt post (bejegyzés, oldal, custom post type) hány napig (hányszor 24 óra) van a lomtárban, mielőtt végleg törlődne.
Környezettípus megadása
define( 'WP_ENVIRONMENT_TYPE', 'development' );
Lehetséges értékek:
localdevelopmentstagingproduction
Ez más beállítások alapértelmezett működését is befolyásolhatja.
Memória korlát beállítása
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
Automatikus frissítések kezelése
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Vagy csak a core frissítések engedélyezése:
define( 'WP_AUTO_UPDATE_CORE', true );
Cron kikapcsolása
define( 'DISABLE_WP_CRON', true );
Ez esetben külső cron job használata ajánlott, sőt sok bővítményhez szükséges. Ez az időzített bejegyzését is befolyásolja.
Fájlszerkesztés tiltása az admin felületen
define( 'DISALLOW_FILE_EDIT', true );
Biztonsági okokból erősen ajánlott, hogy az admin oldalon ne lehessen szerkeszteni a bővítmények és sablonok fájlait.
SSL kényszerítése az admin felületen
define( 'FORCE_SSL_ADMIN', true );
Amennyiben nem használ még a teljes honlapunk https-t.
Multisite
define( 'WP_ALLOW_MULTISITE', true );
A WordPress-nél van lehetőség multisite-ra, saját blog/honlap rendszer létrehozására, ha ezt hozzáadjuk. Részletes telepítése itt (új ablakban nyílik meg) található angolul.
Ajánlott wp-config.php kiegészítés
Készítettünk egy átlagos WordPress oldalhoz való wp-config.php kiegészítést, mely a legfontosabb elemeket tartalmazza. Természetesen egy méret, szint fölött ezt már egyénileg kell meghatározni, így ezt ne vegye senki szentírásnak, csupán kiindulási alapnak.
...
$table_prefix = 'tablaelotag_';
/* === Biztonsag === */
define( 'WP_SITEURL', 'https://pelda.hu' );
define( 'WP_HOME', 'https://pelda.hu' );
define( 'DISALLOW_FILE_EDIT', true );
define( 'FORCE_SSL_ADMIN', true );
/* === Hibakezeles === */
define( 'WP_DEBUG', false );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', false );
@ini_set( 'display_errors', 0 );
/* === Teljesitmeny === */
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
/* === Tartalom=== */
define( 'EMPTY_TRASH_DAYS', 7 );
define( 'WP_POST_REVISIONS', 5 );
define( 'AUTOSAVE_INTERVAL', 120 );
/* === Egyeb === */
define( 'WP_ALLOW_MULTISITE', false );
/* That's all, stop editing! Happy publishing. */
...
A site_home és site_url-eket biztonsági okokból érdemes megadni állandóra, mivel sok támadás célja ezen mezők átírása.
Memory_limit Gutenberg-en kívüli pagebuilder-eknél akár 1024M-t is igényelhet egyes esetekben és ehhez a max_memory érték duplája is szükséges lehet.
Összegzés
A wp-config.php:
- a WordPress működésének központi konfigurációs fájlja
- nem minden esetben szükséges szerkeszteni
- fejlesztés, hibakeresés, költöztetés és biztonsági finomhangolás esetén azonban kulcsszerepet játszik
- több, részletesebb config lehetőség az hivatalos, angol wp-config dokumentációban (új ablakban nyílik meg)