Trucuri de configurare WordPress
Mulți utilizatori WordPress cunosc fișierul wp-config.php
ca fiind cheia de acces la baza de date WordPress. Acesta este locul în care setați numele bazei de date, numele de utilizator, parola și locația (printre alte lucruri, cum ar fi cheile de securitate, prefixul bazei de date și limba localizată).
Iată o captură de ecran a fișierului wp-config.php
(alias fișierul de configurare WordPress) pentru cei care s-ar putea să nu fie încă familiarizați:
Dar ceea ce mulți utilizatori nu știu este că fișierul wp-config.php
poate fi folosit pentru a specifica o mare varietate de setări de configurare, permițându-vă să îmbunătățiți funcționalitatea, performanța și securitatea site-ului dumneavoastră alimentat de WordPress. În acest articol, vă împărtășesc cât mai multe dintre aceste trucuri de configurare pe care am reușit să le adun de-a lungul anilor. Acest ghid acoperă tot ceea ce se află în Codexul WordPress, precum și câteva trucuri suplimentare pe care probabil că nu le-ați mai văzut până acum. Dacă știți alte trucuri de configurare WordPress, împărtășiți-le în comentarii și le voi adăuga la articol.
Database Credentials *
Acest set de patru definiții de configurare sunt necesare pentru ca WordPress să se conecteze la baza de date:
define('DB_NAME', 'database-name');define('DB_USER', 'database-username');define('DB_PASSWORD', 'database-password');define('DB_HOST', 'localhost');
Numele bazei de date, numele de utilizator și parola ar trebui să vă fie ușor disponibile în timpul creării bazei de date, dar valoarea DB_HOST
poate fi mai dificil de obținut. Cel mai frecvent, această valoare este pur și simplu „localhost
„, dar dacă nu funcționează, iată alte câteva valori pe care le puteți încerca:
- 1and1 Hosting –
db12345678
- DreamHost –
mysql.example.com
- GoDaddy –
h41mysql52.secureserver.net
- ICDSoft –
localhost:/tmp/mysql5.sock
- MediaTemple. (GS) –
internal-db.s44441.gridserver.com
- Pair Networks –
dbnnnx.pair.com
- Yahoo –
mysql
Puteți specifica chiar și un port alternativ pentru serverul dvs. de baze de date. Iată două exemple:
define('DB_HOST', 'localhost:1234');
define('DB_HOST', 'mysql.domain.tld:1234');
Un alt truc interesant este să detectați automat valoarea serverului bazei de date:
define('DB_HOST', $_ENV{DATABASE_SERVER});
Dacă toate acestea nu reușesc sau dacă aveți în continuare probleme, consultați furnizorul dumneavoastră de găzduire pentru asistență.
Set de caractere și colaționare a bazei de date *
De la versiunea WordPress 2.2, puteți specifica un set de caractere pentru tabelele bazei de date MySQL. În general, nu există niciun motiv pentru a schimba valoarea implicită a setului de caractere UTF-8, care este de obicei perfectă, deoarece acceptă toate limbile. Iată care este setarea implicită (și recomandată):
define('DB_CHARSET', 'utf8');
define('DB_CHARSET', 'utf8');
Versiunea 2.2 a WordPress vă permite, de asemenea, să specificați collation, care este ordinea de sortare a setului de caractere al bazei dvs. de date. Setarea collation-ului este, în general, gestionată automat de MySQL în funcție de setul de caractere, care este activat prin lăsarea valorii collation-ului în alb, așa cum se face în setarea implicită pentru această definiție. Iată care este setarea implicită (și recomandată):
define('DB_COLLATE', '');
wp-config.php
. Clave de securitate *
De la WordPress 2.7, există patru chei de securitate disponibile care sunt concepute pentru a asigura o mai bună criptare a cookie-urilor. Aceste chei funcționează silențios în fundal și ar trebui să fie cât mai aleatoare și mai complicate posibil (nu, nu va trebui niciodată să le rețineți). Cel mai simplu mod de a genera aceste chei este să o faceți automat la serviciul de chei secrete WordPress.org. Pur și simplu vizitați acel link și copiați/lipiți rezultatele în fișierul dvs. wp-config.php
. Rețineți că aceste chei pot fi schimbate oricând, iar dacă faceți acest lucru veți invalida toate cookie-urile existente ale utilizatorilor dvs. astfel încât aceștia vor trebui să se autentifice din nou pe site-ul dvs.
define('AUTH_KEY', ':dr+%/5V4sAUG-gg%aS*v;&xGhd%{YV)p:Qi?jXLq,<h\`39');define('SECURE_AUTH_KEY', '@*+S=8\"\'+\"}]<m#+}V)p:Qi?jXLq,<h\`39m_(');define('LOGGED_IN_KEY', 'S~AACm4h1;T^\"qW3_8Zv!Ji=y|)~5i63JI |Al.'/path/to/wordpress');define('WP_SITEURL', 'http://'.$_SERVER.'/path/to/wordpress');
Probabil cel mai bine ar fi să scăpați aceste valori dacă le folosiți pe un site public.
Calea șablonului și calea foii de stil
Ca și în cazul constantelor predefinite pentru adresa blogului și adresa site-ului (a se vedea secțiunea anterioară), puteți, de asemenea, să creșteți performanța prin eliminarea interogărilor bazei de date pentru calea șablonului și calea foii de stil pentru site-ul dumneavoastră. Iată valorile implicite pentru aceste două definiții:
define('TEMPLATEPATH', get_template_directory());define('STYLESHEETPATH', get_stylesheet_directory());
Așa cum sunt, aceste două definiții continuă să interogheze baza de date, dar putem elimina aceste interogări străine prin codificarea dură a valorilor la locul lor:
define('TEMPLATEPATH', '/absolute/path/to/wp-content/themes/active-theme');define('STYLESHEETPATH', '/absolute/path/to/wp-content/themes/active-theme');
Disable Cache and Cache Expiration
Aceste două opțiuni se aplică la versiunile mai vechi ale WordPress care folosesc încă mecanismul implicit de cache bazat pe obiecte. Prima definiție vă permite să activați sau să dezactivați memoria cache, în timp ce a doua definiție vă permite să specificați timpul de expirare a memoriei cache.
Activați memoria cache
define('WP_CACHE', true); // enable the cachedefine('ENABLE_CACHE', true); // enable the cachedefine('CACHE_EXPIRATION_TIME', 3600); // in seconds
Dezactivați memoria cache
define('WP_CACHE', false); // disable the cachedefine('DISABLE_CACHE', true); // disable the cache
Specificați domeniul cookie
Există mai multe motive pentru care doriți să specificați un domeniu cookie pentru site-ul dumneavoastră. Un exemplu obișnuit implică împiedicarea trimiterii de cookie-uri cu solicitări de conținut static pe subdomenii. În acest caz, ați folosi această definiție pentru a spune WordPress să trimită cookie-uri numai către domeniul dvs. non-static. Acest lucru ar putea reprezenta un spor semnificativ de performanță. Iată câteva exemple de setare a diferitelor informații despre calea și domeniul cookie-urilor:
define('COOKIE_DOMAIN', '.digwp.com'); // don't omit the leading '.'define('COOKIEPATH', preg_replace('|https?://+|i', '', get_option('home').'/'));define('SITECOOKIEPATH', preg_replace('|https?://+|i', '', get_option('siteurl').'/'));define('PLUGINS_COOKIE_PATH', preg_replace('|https?://+|i', '', WP_PLUGIN_URL));define('ADMIN_COOKIE_PATH', SITECOOKIEPATH.'wp-admin');
Override File Permissions
Dacă permisiunile implicite ale gazdei dvs. web pentru fișiere sunt prea restrictive, adăugarea acestor definiții în fișierul de configurare WordPress poate ajuta la rezolvarea problemei. Rețineți că nu aveți nevoie de ghilimele în jurul valorilor permisiunilor. De exemplu:
define('FS_CHMOD_FILE', 0755);define('FS_CHMOD_DIR', 0755);
Vezi toate constantele definite
Vreți să vedeți toate constantele predefinite? Vești bune, această funcție PHP va returna o matrice cu toate constantele definite în prezent:
print_r(@get_defined_constants());
Custom User and Usermeta Tables
Cum rămâne cu tabelele personalizate user și usermeta? Da, puteți face și asta, cu următoarele definiții:
define('CUSTOM_USER_TABLE', $table_prefix.'my_users');define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
Constante FTP/SSH
Acest set de definiții configuraționale este conceput pentru a ajuta utilizatorii să localizeze și să utilizeze conexiunile FTP/SSH. Iată un exemplu de set de constante predefinite pentru actualizări FTP/SSH:
define('FS_METHOD', 'ftpext'); // forces the filesystem method: "direct", "ssh", "ftpext", or "ftpsockets"define('FTP_BASE', '/path/to/wordpress/'); // absolute path to root installation directorydefine('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/'); // absolute path to "wp-content" directorydefine('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/'); // absolute path to "wp-plugins" directorydefine('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub'); // absolute path to your SSH public keydefine('FTP_PRIVKEY', '/home/username/.ssh/id_rsa'); // absolute path to your SSH private keydefine('FTP_USER', 'username'); // either your FTP or SSH usernamedefine('FTP_PASS', 'password'); // password for FTP_USER usernamedefine('FTP_HOST', 'ftp.domain.tld:21'); // hostname:port combo for your SSH/FTP server
Mutarea directorului wp-content
De la versiunea WordPress 2.6, puteți schimba locația implicită a directorului wp-content
. Există mai multe motive întemeiate pentru a face acest lucru, inclusiv îmbunătățirea securității site-ului și facilitarea actualizărilor FTP. Câteva exemple:
// full local path of current directory (no trailing slash)define('WP_CONTENT_DIR', $_SERVER.'/path/wp-content'); // full URI of current directory (no trailing slash)define('WP_CONTENT_URL', 'http://domain.tld/path/wp-content');
De asemenea, puteți specifica în continuare o cale personalizată pentru directorul plugins
. Acest lucru poate ajuta la rezolvarea problemelor de compatibilitate cu anumite plugin-uri:
// full local path of current directory (no trailing slash)define('WP_PLUGIN_DIR', $_SERVER.'/path/wp-content/plugins'); // full URI of current directory (no trailing slash)define('WP_PLUGIN_URL', 'http://domain.tld/path/wp-content/plugins');
Tratarea revizuirilor de postări
Versiunile recente ale WordPress oferă un sistem de revizuire a postărilor care permite utilizatorilor să salveze diferite versiuni ale postărilor de pe blogul lor și chiar să revină la versiunile salvate anterior, dacă este necesar. Indiferent cât de mult disprețuiți sau nu această caracteristică uimitor de grozavă, iată câteva definiții de configurare care s-ar putea dovedi utile pentru dumneavoastră 😉
Limitați numărul de revizuiri salvate
define('WP_POST_REVISIONS', 3); // any integer, but don't get too crazy
Dezactivați caracteristica de revizuire a posturilor
define('WP_POST_REVISIONS', false);
Specificați intervalul de salvare automată
Într-o linie similară cu caracteristica de revizuire a posturilor se află funcționalitatea Autosave a WordPress, de fapt utilă. În mod implicit, WordPress salvează munca dvs. la fiecare 60 de secunde, dar puteți modifica în totalitate această setare la ce doriți. Totuși, nu vă înnebuniți prea tare, dacă nu vreți să vă stresați serverul 😉
define('AUTOSAVE_INTERVAL', 160); // in seconds
Debugging WordPress
De la versiunea 2.3.1 a WordPress, utilizatorii au avut posibilitatea de a afișa anumite erori și avertismente pentru a ajuta la depanarea site-ului lor. Începând cu versiunea WordPress 2.5, activarea raportării erorilor ridică nivelul de raportare la E_ALL
și activează avertismentele pentru funcțiile depreciate. În mod implicit (adică, dacă nu este specificată nicio definiție în fișierul wp-config.php
), raportarea erorilor este dezactivată.
define('WP_DEBUG', true); // enable debugging modedefine('WP_DEBUG', false); // disable debugging mode (default)
Configurarea jurnalului de erori
Iată o modalitate simplă de a activa jurnalizarea de bază a erorilor pentru site-ul dumneavoastră alimentat de WordPress. Creați un fișier numit „php_error.log
„, faceți-l inscriptibil pe server și plasați-l în directorul ales de dvs. Apoi editați calea din a treia linie a următorului cod și plasați-l în fișierul wp-config.php
:
@ini_set('log_errors','On');@ini_set('display_errors','Off');@ini_set('error_log','/home/path/domain/logs/php_error.log');
Creșteți memoria PHP
Dacă primiți mesaje de eroare care vă spun că „Dimensiunea de memorie permisă de xxx octeți epuizată”, această setare vă poate ajuta să rezolvați problema. Începând cu versiunea 2.5 a WordPress, definiția WP_MEMORY_LIMIT
vă permite să specificați cantitatea maximă de memorie care poate fi utilizată de PHP. În mod implicit, WordPress va încerca în mod automat să crească memoria PHP până la 32 MB, astfel încât această setare este necesară doar pentru valori mai mari de 32 MB. Rețineți că unele gazde web dezactivează posibilitatea de a crește memoria PHP, așa că este posibil să trebuiască să le implorați să o facă. Iată câteva exemple:
define('WP_MEMORY_LIMIT', '64M');define('WP_MEMORY_LIMIT', '96M');define('WP_MEMORY_LIMIT', '128M');
Salvare și afișare a interogărilor bazei de date pentru analiză
Această tehnică este perfectă pentru salvarea interogărilor bazei de date și afișarea informațiilor pentru analize ulterioare. Procesul salvează fiecare interogare, funcția asociată acesteia și timpul total de execuție. Aceste informații sunt salvate ca o matrice și pot fi afișate pe orice pagină de șablon de temă. Pentru a face acest lucru, mai întâi adăugați următoarea directivă în fișierul wp-config.php
:
define('SAVEQUERIES', true);
Apoi, în footer-ul temei active, plasați următorul cod:
// display the query array for admin onlyif (current_user_can('level_10')) {global $wpdb;echo "<pre>";print_r($wpdb->queries);echo "</pre>";}
Iată o versiune pe o singură linie a acestei funcții:
<?php if (current_user_can('level_10')) { global $wpdb; echo "<pre>"; print_r($wpdb->queries); echo "</pre>"; } ?>
Controlul accesului proxy
De la WordPress 2.8, fișierul de configurare poate fi utilizat pentru a defini constantele implicate în blocarea, permiterea și filtrarea accesului la anumite gazde din spatele unui server proxy. De exemplu, dacă vă găzduiți site-ul WordPress într-o rețea intranet, puteți împiedica accesul la toate gazdele externe și permite doar cererile de la localhost și de la blogul dvs. folosind prima definiție de mai jos. De asemenea, puteți permite accesul unor gazde specifice cu o listă de nume de gazde permise, separate prin virgulă, așa cum este demonstrat în cea de-a treia definiție de mai jos.
define('WP_HTTP_BLOCK_EXTERNAL', true); // block external requestsdefine('WP_HTTP_BLOCK_EXTERNAL', false); // allow external requestsdefine('WP_ACCESSIBLE_HOSTS', 'api.wordpress.org'); // whitelist hosts
api.wordpress.org
pentru a asigura funcționalitatea corespunzătoare a fișierelor de bază și a pluginurilor.Whew! Sunt șters. E timpul pentru o mică pauză 🙂
Note
- * Indică faptul că codul este inclus în fișierul implicit
wp-config.php
- Traducere în portugheză braziliană (de Tárcio Zemel)
.