Acest modul generează fișiere html statice din blogul tău dinamic WordPress. După ce un fișier html este generat, serverul tău web va servi acest fișier în loc de a procesa scripturi PHP din WordPress, care sunt comparativ mai greoaie și mai scumpe.
Fișierele html statice vor fi servite pentru marea majoritate a utilizatorilor tăi:
- Utilizatorii care nu sunt autentificați.
- Utilizatorii care nu au lăsat un comentariu pe blogul tău.
- Sau utilizatorii care nu au văzut o parolă protejată pentru articol.
Se vor servi fișiere html statice pentru 99% dintre vizitatorii tăi. Un fișier cache poate fi servit de mii de ori. Altor vizitatori li se vor servi fișiere cache personalizate adaptate la vizita lor. Dacă sunt autentificați sau au lăsat comentarii, aceste detalii vor fi afișate și memorate în cache pentru ei.
Modulul servește fișierele cache în 3 moduri (clasificate în funcție de viteză):
- Expert. Cea mai rapidă metodă este prin folosirea mod_rewrite Apache (sau orice altă extensie asemănătoare pe care serverul tău web o acceptă) pentru a servi fișiere html statice „super-cache”. Acest mod ocolește complet PHP-ul și este extrem de rapid. Dacă serverul tău este asaltat de un trafic imens, probabil va face față mai bine solicitărilor, care sunt mai „ușoare”. Ai nevoie de extensia mod_rewrite Apache (care probabil este instalată dacă ai legături permanente personalizate) și de o modificare în fișierul tău .htaccess, care este riscantă deoarece îți poate cădea site-ul dacă modificarea se face incorect.
- Simplu. Fișierele statice super-cache pot fi servite prin PHP și acesta este modul recomandat de utilizare a modulului. Modulul va servi un fișier „super-cache” dacă el există și este aproape la fel de rapid ca și metoda mod_rewrite. Este mai ușor de configurat, deoarece fișierul .htaccess nu trebuie modificat. Ai nevoie totuși de o legătură permanentă personalizată. Poți păstra porțiuni dinamice ale paginii tale în acest mod de cache.
- Cache WP-Cache. Este folosit în special pentru a memora în cache pagini pentru utilizatorii cunoscuți, URL-uri cu parametri și fluxuri. Utilizatorii cunoscuți sunt utilizatorii autentificați, vizitatorii care lasă comentarii sau cei cărora ar trebui să li se arate date personalizate per utilizator. Este metoda de cache cea mai flexibilă și ușor mai lentă. De asemenea, Cache WP-Cache va memora în cache vizitele utilizatorilor necunoscuți dacă super-cache este dezactivat. În acest mod, poți avea și părți dinamice pentru pagina ta. Acest mod este mereu activat, dar poți dezactiva separat cache-ul pentru utilizatori cunoscuți, URL-uri cu parametri sau fluxuri. Setează constanta „DISABLE_SUPERCACHE” la 1 în wp-config.php dacă vrei să folosești numai Cache WP-Cache.
Dacă nu îți este comod să editezi fișiere PHP, folosește modul simplu. Este ușor de inițializat și foarte rapid.
Setări recomandate
- Cache simplu.
- Comprimă paginile.
- Nu memorează în cache paginile pentru utilizatorii cunoscuți.
- Cache reconstruit.
- Suport CDN.
- Verificări suplimentare pentru prima pagină.
Colectarea gunoiului este actul de curățare a fișierelor cache care sunt neactualizate și învechite. Nu există nicio valoare corectă pentru timpul de expirare, dar un bun punct de plecare este 1800 de secunde.
Ia în considerare ștergerea conținutului casetei text „Agenți utilizator respinși” și permite motoarelor de căutare să memoreze fișiere în cache pentru tine.
Pre-încarcă cât de multe articole poți și activează „Modul pre-încărcare”. Colectarea gunoiului pentru fișierele vechi memorate în cache va fi dezactivată. Dacă actualizarea pieselor din bara laterală nu se face des, setează intervalul de pre-încărcare la 2880 de minute (2 zile) astfel încât toate articolele tale să nu fie memorate în cache foarte des. Când se face pre-încărcarea, fișierele cache pentru articolul care se reîmprospătează sunt șterse și apoi regenerate. După aceea, se efectuează o colectare a gunoiului pentru toate fișierele vechi pentru a șterge fișierele cache vechi.
Chiar și cu modul pre-încărcare activat, fișierele cache vor fi șterse în continuare când articolele sunt modificate ori s-au făcut comentarii.
Dezvoltare
Documentație
Dacă ai nevoie de mai multe informații decât cele următoare, poți să consulți wiki sau documentația pentru dezvoltatori.
Pre-încărcare
Poți genera fișiere cache pentru articolele, categoriile și etichetele site-ului tău prin pre-încărcare. Pre-încărcarea va vizita fiecare pagină a site-ului tău generând o pagină cache mai departe, la fel ca orice alt vizitator al site-ului. Datorită caracterului secvențial al acestei funcții, poate dura ceva timp pentru a pre-încărca complet un site, dacă există multe articole.
Pentru a face pre-încărcarea mai eficientă, poate fi util să dezactivezi colectarea gunoiului pentru ca fișierele cache mai vechi să nu fie șterse. Acest lucru se face prin activarea „Mod pre-încărcare” în setări. Totuși ai grijă, în cele din urmă acele pagini nu vor mai fi la zi și oricum actualizările prin trimiterea de comentarii sau editarea articolelor vor șterge porțiuni din cache.
Colectare gunoi
Directorul tău cache se umple de-a lungul timpului, ocupându-ți spațiu pe server. Dacă spațiul este limitat ori facturat în funcție de capacitate sau dacă îți faci griji că paginile site-ului memorate în cache vor deveni învechite, atunci trebuie făcută colectarea gunoiului. Colectarea gunoiului se face în mod regulat și șterge fișierele vechi din directorul cache. În pagina setări avansate poți specifica:
1. Timp de expirare cache. Pentru cât timp fișierele cache sunt considerate proaspete. După această perioadă, ele sunt învechite și pot fi șterse.
2. Programator. Inițializezi cât de des trebuie să fie făcută colectarea gunoiului.
3. Emailuri de notificare. Poți fi informat despre desfășurarea sarcinii de colectare a gunoiului.
Nu există setări corecte sau greșite pentru colectarea gunoiului. Depinde de propriul tău site.
Dacă site-ul tău primește actualizări sau comentarii frecvente, setează timpul de expirare la 1800 de secunde și setează cronometrul la 600 de secunde.
Dacă site-ul tău este în mare parte static, poți dezactiva colectarea gunoiului prin introducerea valorii 0 ca timp de expirare sau folosește o valoare a timpului de expirare foarte mare.
Directorul cache, de obicei wp-content/cache/, este doar pentru fișierele temporare. Nu pune niciodată fișierele importante sau legături simbolice pentru fișiere importante sau alți directori în acest director. Acestea vor fi șterse dacă modulul are acces de scriere la ele.
CDN
O rețea de livrare de conținut (Content Delivery Network – CDN) este de obicei o rețea de calculatoare situate în întreaga lume, care vor servi conținutul site-ului tău mai repede, prin folosirea unor servere mai aproape de tine. Fișiere statice, cum ar fi imagini, JavaScript și fișiere CSS, pot fi servite prin intermediul acestor rețele în scopul de a accelera încărcarea site-ului tău.
OSSDL CDN off-linker a fost integrat în WP Super Cache pentru a oferi suportul CDN de bază. Funcționează prin rescrierea URL-urilor fișierelor (cu excepția fișierelor .php) în wp-content și wp-include pe serverul tău, astfel încât acestea indică un alt nume de gazdă. Suportul pentru multe CDN-uri merge la origini. Asta înseamnă că CDN-ul va descărca automat fișierul de pe serverul tău la prima solicitate și va continua să-l servească, pentru o durată de timp configurabilă, înainte de a-l descărca din nou de pe server.
Configurează acestea în fila „CDN” din pagina de setări a modulului. Aceasta este o tehnică avansată și necesită înțelegerea modului de funcționare a serverul web sau a CDN. Te rog asigură-te că vei șterge fișierul cache după ce configurezi CDN.
REST API
Acum există puncte-finale REST API pentru accesarea setărilor acestui modul. Pentru a le folosi, va trebui să fii autentificat ca un utilizator administrator cu permisiunea de a vedea pagina setări. Acest lucru nu a fost încă documentat, dar poți găsi întreg codul care se ocupă de asta în directorul „rest”.
Cache personalizat
Acum este posibil să te agăți în procesul cache folosind funcția add_cacheaction()
Sunt disponibile trei cârlige:
- ‘wp_cache_get_cookies_values’ – modifică cheia folosită de WP Cache.
- ‘add_cacheaction’ – rulează în faza a 2-a. Permite unui modul să adauge agățători WordPress.
- ‘cache_admin_page’ – rulează în pagina de administrare. Se utilizează pentru a modifica pagina respectivă, cumva prin adăugarea unor noi opțiuni de configurare.
De asemenea, există un filtru obișnuit WordPress. Folosește filtrul „do_createsupercache”
pentru a personaliza verificările efectuate înainte de cache. Filtrul accepta un parametru.
Ieșirea funcției wp_cache_get_cookies_values() din WP-Cache.
WP Super Cache are propriul sistem de module, încărcat înainte de majoritatea din WordPress. Poți să adaugi propriul modul fie plasându-l în directorul wp-content/plugins/wp-super-cache-plugins, fie prin apelarea wpsc_add_plugin($name) folosind calea completă pentru modul.
Cookie-urile folosite pentru a identifica „utilizatorii cunoscuți” pot fi modificate cu wpsc_add_cookie( $name ) și wpsc_delete_cookie( $name ). Vezi ca exemplu plugins/searchengine.php.
Depanare
Dacă lucrurile nu merg când instalezi modulul aici, sunt câteva lucruri de verificat:
- Poate fi scris wp-content de către serverul web?
- Există un wp-content/wp-cache-config.php? Dacă nu, copiază fișierul wp-super-cache/wp-cache-config-sample.php în wp-content/wp-cache-config.php și asigură-te că WPCACHEHOME indică locul corect.
- Există un wp-content/advanced-cache.php? Dacă nu, atunci trebuie să copiezi wp-super-cache/advanced-cache.php în wp-content/. Trebuie să editezi fișierul și să schimbi calea ca să indice către dosarul wp-super-cache.
- Dacă paginile nu sunt deloc memorate în cache, înlătură wp-content/advanced-cache.php și recreează-l, urmând sfatul de mai sus.
-
Asigură-te că linia următoare există în wp-config.php și că este DEASUPRA liniei „require_once(ABSPATH.’wp-settings.php’);”:
define( 'WP_CACHE', true ); - Încearcă din nou pagina Setări->WP Super Cache și activează cache.
- Uită-te în wp-content/cache/supercache/. Există directori și dosare acolo?
- Este ceva în fișierul tău php error_log?
- Dacă navigatorul tău îți cere să salvezi fișierul după ce super cache este instalat, trebuie să dezactivezi compresia Super Cache. Du-te le pagina Setări->WP Super Cache și o dezactivezi acolo.
- Erorile la blocarea fișierelor, cum ar fi „failed to acquire key 0x152b: Permission denied in…” or „Page not cached by WP Super Cache. Could not get mutex lock.” sunt un semn că poate fi necesar să folosești blocarea fișierelor. Editează wp-content/wp-cache-config.php și permite „$use_flock = true” sau setează $sem_id la o altă valoare. De asemenea, ca o ultimă soluție, poți să dezactivezi blocarea fișierelor în ecranul de administrare.
- Asigură-te că cache/wp_cache_mutex.lock poate fi scris de serverul web dacă se folosește o blocare grosieră a fișierelor.
- Dosarul cache nu poate fi pus pe o partajare NFS, Samba sau NAS. El trebuie să fie pe un disc local. Blocarea fișierelor și ștergerea fișierelor expirate nu vor funcționa corect decât dacă dosarul cache este pe mașina locală.
- Colectarea gunoiului din fișierele cache vechi nu va funcționa dacă WordPress nu poate să găsească wp-cron.php. Verifică access_logs pentru intrările wp-cron.php și că numele gazdei tale este determinat de adresa IP externă folosită de alte servere din rețea sau de pe Internet.
- Dacă paginile vechi sunt servite vizitatorilor tăi prin super-cache, poate îți lipsesc extensiile Apache (sau echivalentele lor dacă nu folosești Apache). Sunt necesare 3 extensii: mod_mime, mod_headers și mod_expires. Ultimele două sunt deosebit de importante pentru a te asigura că navigatoarele încarcă versiuni noi ale paginilor existente pe site-ul tău.
- Mesajul de eroare, „WP Super Cache este instalat, dar nefuncțional. Calea către wp-cache-phase1.php în wp-content/advanced-cache.php trebuie corectată!”, apare la sfârșitul fiecărei pagini. Deschide fișierul wp-content/advanced-cache.php în editorul tău preferat. Este calea către wp-cache-phase1.php corectă? În mod normal, acest fișier va fi în wp-content/plugins/wp-super-cache/. Dacă nu este corectă, motorul cache nu se va încărca.
- Cache-ul nu funcționează. Datarea pe blogul meu continuă să se schimbe când reîncarc. Verifică dacă calea în regulile tale .htaccess se potrivește cu locul unde este directorul supercache. S-ar putea să fie nevoie să impui o codare. Încearcă să dezactivezi modul super-cache.
-
Dacă fișierele super-cache sunt generate dar nu sunt servite, verifică permisiunile pentru toate dosarele wp-content/cache/supercache (și fiecare dintre dosarele wp-content cache și supercache) și wp-content/cache/.htaccess. Dacă PHP-ul tău rulează ca un utilizator diferit față de Apache și permisiunile sunt stricte, Apache ar putea să nu poată citi fișierele cache generate de PHP. Pentru a corecta, trebuie să adaugi următoarea linie în fișierul tău wp-config.php (adaug-o deasupra definirii WP_CACHE). Apoi șterge cache-ul.
umask( 0022 ); -
Dacă vezi gunoi în navigatorul tău după activarea compresiei în modul, compresia poate fi deja activată în serverul tău web. În Apache trebuie să dezactivezi mod_deflate sau în PHP poate fi activată compresia zlib. Poți dezactiva acest lucru în trei moduri. Dacă ai acces la rădăcină, editează php.ini, găsește setarea zlib.output_compression și asigură-te că este „Oprită” sau adaugă această linie în fișierul tău .htaccess:
php_flag zlib.output_compression offDacă asta nu funcționează, adaugă această linie în wp-config.php:
ini_set('zlib.output_compression', 0); - După dezinstalare, legăturile tale permanente se pot rupe dacă înlături și regulile mod_rewrite ale WordPress. Regenerează acele reguli mergând la pagina Setări->Legături permanente și salvează din nou forma legăturilor permanente.
- Dacă blogul tău refuză să se încarce, asigură-te că wp-config.php este corect. Îți lipsește un tag PHP de deschidere sau închidere?
- Pagina ta din față este în regulă, dar articolele și paginile dau o eroare 404? Du-te la Setări->Legături permanente și dă clic pe „Salvează” după ce ai selectat o structură de legătură permanentă personalizată. Ar putea fi nevoie să actualizezi manual fișierul .htaccess.
-
Dacă anumite caractere nu apar corect pe site-ul tău, serverul ar putea să nu fie configurat corect. Trebuie să le spui vizitatorilor ce set de caractere este folosit. Du-te la Setări->Afișare și copiază valoarea „Codarea pentru pagini și fluxuri”. Editează fișierul .htaccess cu toate regulile de rescriere Supercache și WordPress și adaugă asta în partea de sus, înlocuind CHARSET cu valoarea copiată (de exemplu, „UTF-8”)
AddDefaultCharset CHARSET - Mesajul de eroare, „WP Super Cache este instalat, dar nefuncțional. Constanta WPCACHEHOME trebuie să fie setată în fișierul wp-config.php și să indice către directorul modulului WP Super Cache.”, apare la sfârșitul fiecărei pagini. Poți șterge wp-content/advanced-cache.php și să reîncarci pagina setări a modulului sau să editezi wp-config.php, să cauți WPCACHEHOME și să te asiguri că indică către dosarul wp-super-cache. În mod normal va fi wp-content/plugins/wp-super-cache/ dar probabil vei avea nevoie de calea completă către acel fișier (deci este mai ușor să lași pagina setări să corecteze asta). Dacă nu este corectă, motorul cache nu se va încărca.
- Dacă serverul tău rulează cu probleme din cauza numărului de semafoare folosite de modul, înseamnă că utilizatorii tăi folosesc blocarea fișierelor, care nu este recomandată (este nevoie doar de un număr mic de utilizatori). Poți dezactiva global blocarea fișierelor prin definirea constantei WPSC_DISABLE_LOCKING sau a constantei WPSC_REMOVE_SEMAPHORE, astfel sem_remove() este apelat după ce fiecare pagină este memorată în cache, dar acest lucru pare să provoace probleme altor procese care solicită același semafor. Cel mai bine este să dezactivezi.
- Setează variabila $htaccess_path în wp-config.php sau wp-cache-config.php la calea fișierului tău global .htaccess dacă modulul caută aceste fișiere într-un director greșit. Acest lucru se poate întâmpla dacă ai WordPress instalat într-un mod neobișnuit.