WP Super Cache

Descriere

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ă):

  1. 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.
  2. 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.
  3. 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

  1. Cache simplu.
  2. Comprimă paginile.
  3. Nu memorează în cache paginile pentru utilizatorii cunoscuți.
  4. Cache reconstruit.
  5. Suport CDN.
  6. 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

  • Dezvoltarea activă a acestui modul este gestionată pe GitHub.
  • Traducerea modulului în mai multe limbi se găsește pe pagina de traduceri.

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:

  1. ‘wp_cache_get_cookies_values’ – modifică cheia folosită de WP Cache.
  2. ‘add_cacheaction’ – rulează în faza a 2-a. Permite unui modul să adauge agățători WordPress.
  3. ‘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. Acest cod este încărcat când se încarcă WP Super Cache și poate fi folosit pentru a modifica cum se face cache-ul. El este executat înainte de majoritatea încărcărilor WordPress, deci unele funcționalități nu vor fi disponibile. Modulele pot fi instalate oriunde le poate încărca PHP-ul. Adaugă propriul modul:

  • punând modul în directorii wp-content/plugins/wp-super-cache-plugins sau
  • apelând wpsc_add_plugin( $name ) unde $name este numele complet al fișierului și calea lui către modul. Pentru a-l adăuga, trebuie să apelezi această funcție o singură dată. Folosește wpsc_delete_plugin( $name ) pentru a-l înlătura din lista modulelor încărcate.

Cookie-urile pe care WP Super Cache le folosește pentru a identifica „utilizatorii cunoscuți” pot fi modificate acum prin adăugarea numelor acestor cookie-uri într-o listă în configurarea modulului. Folosește wpsc_add_cookie( $name ) pentru a adăuga cookie-uri noi și wpsc_delete_cookie( $name ) pentru a le înlătura. Numele cookie-urilor modifică și regulile mod_rewrite folosite de modul, dar recomand folosirea modului cache simplu pentru a evita complicațiile la actualizarea fișierului .htaccess.
Numele și valorile cookie-urilor sunt folosite pentru a diferenția utilizatorii, de exemplu poți avea un singur cookie, dar diferite valori pentru fiecare tip de utilizator de pe site-ul tău. Vor fi servite fișiere cache diferite fiecărui utilizator.

Vezi plugins/searchengine.php ca un exemplu pe care îl folosesc pentru modulul meu No Adverts for Friends

Depanare

Dacă lucrurile nu merg când instalezi modulul aici, sunt câteva lucruri de verificat:

  1. Poate fi scris wp-content de către serverul web?
  2. 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.
  3. 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.
  4. Dacă paginile nu sunt deloc memorate în cache, înlătură wp-content/advanced-cache.php și recreează-l, urmând sfatul de mai sus.
  5. 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 );
    
  6. Încearcă din nou pagina Setări->WP Super Cache și activează cache.
  7. Uită-te în wp-content/cache/supercache/. Există directori și dosare acolo?
  8. Este ceva în fișierul tău php error_log?
  9. 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.
  10. Modulul nu funcționează foarte bine când modul de siguranță al PHP este activ. Acesta trebuie dezactivat de către administratorul tău.
  11. Dacă paginile sunt memorate în cache aleatoriu și câteodată nu sunt memorate, blogul tău poate fi vizualizat cu și fără prefixul „www” în URL. Ar trebui să alegi un mod și să instalezi modulul Enforce www preference dacă folosești o instalare WordPress veche. Ultimele versiuni redirecționează singure (oricum, ar trebui să rulezi întotdeauna cea mai recentă versiune a WordPress!)
  12. Utilizatorii serverelor private de la Dreamhost ar trebui să editeze wp-content/wp-cache-config.php și să seteze directorul cache la „/tmp/” dacă primesc erori cu privire la creșterea utilizării procesorului. Vezi această discuție pentru a afla mai mult.
  13. 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.
  14. Asigură-te că cache/wp_cache_mutex.lock poate fi scris de serverul web dacă se folosește o blocare grosieră a fișierelor.
  15. 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ă.
  16. Colectarea gunoiului pentru fișierele cache vechi nu va funcționa dacă WordPress nu poate găsi wp-cron.php. Dacă numele tău de gazdă se rezolvă la 127.0.0.1 ar putea împiedica colectarea gunoiului să funcționeze. Verifică-ți access_logs pentru intrările wp-cron.php. Returnează un cod 404 (fișier negăsit) sau 200? Dacă este 404 sau nu vezi wp-cron.php nicăieri, WordPress ar putea căuta acest script într-un loc greșit. Ar trebuie să discuți cu administratorul serverului tău pentru a corecta acest lucru sau să editezi /etc/hosts pe serverele Unix și să înlături următoarea linie. Numele tău de gazdă trebuie să rezolve la adresa IP externă alte servere din rețea/de pe internet. Vezi http://yoast.com/wp-cron-issues/ pentru a afla mai mult. O linie precum „127.0.0.1 localhost localhost.localdomain” este ok.

    127.0.0.1 example.com
    
  17. 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.
  18. 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.
  19. 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.
  20. 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 );
    
  21. 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 off
    

    Dacă asta nu funcționează, adaugă această linie în wp-config.php:

    ini_set('zlib.output_compression', 0);
    
  22. Când îți vizitezi site-ul, „ecranul alb al morții” sau o pagină goală sunt aproape întotdeauna cauzate de o eroare PHP, dar pot fi cauzate și de APC. Dezactivează acea extensie PHP dacă ai probleme și o înlocuiești cu eAccelerator sau Xcache.
  23. 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.
  24. 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?
  25. Partea din față…

Instalare

Instalează-l ca orice alt modul, direct din pagina ta de module, dar asigură-te că ai activate legăturile permanente personalizate. Du-te la pagina de setări a modulului la Setări->WP Super Cache și activează cache.

Cum dezinstalez WP Super Cache

Tot ceea ce trebuie să faci este să dezactivezi modulul în pagina module. Modul ar trebuie să șteargă majoritatea fișierelor pe care le-a creat și modificat, dar nu înlătură încă regulile mod_rewrite din fișierul .htaccess. Caută în acest fișier secțiunea dintre SuperCache BEGIN și SuperCache END. Modulul nu înlătură conținutul din acea secțiune deoarece unele persoane adaugă regulile WordPress și în acel bloc.

Pentru dezinstalarea manuală:

  1. Dezactivează cache-ul în pagina setări a modulului și șterge cache-ul.
  2. Dezactivează modulul în pagina Module.
  3. Înlătură definiția WP_CACHE din wp-config.php. Arată așa: define( 'WP_CACHE', true );
  4. Înlătură regulile mod_rewrite Super Cache din fișierul tău .htaccess.
  5. Înlătură fișierele wp-content/advanced-cache.php și wp-content/wp-cache-config.php
  6. Înlătură directorul wp-content/cache/
  7. Înlătură directorul wp-super-cache din directorul plugins.

Dacă toate celelalte metode au eșuat și site-ul tău este nefuncțional

  1. Înlătură definiția WP_CACHE din wp-config.php. Arată așa: define( 'WP_CACHE', true );
  2. Înlătură regulile (vezi mai sus) pe care modulul le-a scris în fișierul .htaccess din directorul root (rădăcină).
  3. Șterge dosarul wp-super-cache din dosarul plugins.
  4. Opțional, poți șterge advanced-cache.php, wp-cache-config.php și dosarul cache din wp-content/.

Întrebări frecvente

Cum știu dacă blogul meu servește fișiere cache?

Du-te la Setări -> WP Super Cache și caută formularul „Tester de cache” în pagina setări ușoare. Dă clic pe „Testează cache” și modulul va solicita de două ori pagina din față a site-ului, comparând o datare cu alta pentru a se asigura că se potrivesc.

If you want to do it manually, enable debugging in the plugin settings page and load the log file in a new browser tab. Then view your blog while logged in and logged out. You should see activity in the log. View the source of any page on your site. When a page is first created, you’ll see the text „Dynamic page generated in XXXX seconds.” and „Cached page generated by WP-Super-Cache on YYYY-MM-DD HH:MM:SS” at the end of the source code. On reload, a cached page will show the same timestamp so wait a few seconds before checking.
If Supercaching is disabled and you have compression enabled, the text „Compression = gzip” will be added. If compression is disabled and the page is served as a static html file, the text „super cache” will be added. The only other way to check if your cached file was served by PHP script or from the static cache is by looking at the HTTP headers. PHP cached pages will have the header „WP-Super-Cache: Served supercache file from PHP”. WPCache cached files will have the header, „WP-Super-Cache: Served WPCache cache file”. You should also check your cache directory in wp-content/cache/supercache/hostname/ for static cache files.
If the plugin rules are missing from your .htaccess file, the plugin will attempt to serve the super cached page if it’s found. The header „WP-Super-Cache: Served supercache file from PHP” if this happens.
The pagespeed module for Apache may cause problems when testing. Disable it if you notice any problems running the cache tester.

Cum dezactivez fișierele super-cache?

Dacă vrei să folosești numai motorul WP-Cache, atunci editează-ți wp-config.php sau crează un modul MU care setează constanta „DISABLE_SUPERCACHE” la 1.

WP-Cache vs fișiere super-cache

Toate fișierele cache sunt stocate în wp-content/cache/supercache/HOSTNAME/ unde HOSTNAME este numele tău de domeniu. Fișierele sunt stocate în directori care se potrivesc cu structura legăturii permanente a site-ului tău. Fișierele super-cache sunt de tipul index.html sau o variantă a acestora, în funcție de tipul de vizitator care accesează blogul. Alte fișiere sunt numite wp-cache-XXXXXXXXXXXXXXXXX.php. Numele de fișiere meta asociate încep cu „meta”. Acele fișiere conțin informații despre fișierul memorat în cache. Aceste fișiere sunt generate în modul de către motorul „WPCache caching”.

Comentariile și alte părți dinamice ale blogului meu se vor actualiza imediat?

Comentariile vor fi arătate de îndată ce sunt moderate, în funcție de politica pentru comentarii a proprietarului blogului. Alte elemente dinamice de pe o pagină s-ar putea să nu se actualizeze decât dacă sunt scrise în Javascript, Flash, Java sau într-un alt limbaj al navigatorului clientului. Modulul produce efectiv pagini html statice. Nu se execută niciun PHP când aceste pagini sunt servite. Un astfel de modul care nu va funcționa este „Popularity Contest”.

Compresia Super Cache îmi va încetini serverul?

Nu, va face exact invers. Fișierele Super Cache sunt comprimate și stocate în acest fel astfel încât compresia grea se face numai o singură dată. Aceste fișiere sunt în general mult mai mici și sunt trimise navigatorului vizitatorului mult mai repede decât un HTML necomprimat. Ca rezultat, serverul tău petrece mai puțin timp vorbind în rețea, ceea ce economisește timpul și lățimea de bandă a procesorului și poate, de asemenea, să servească următoarea cerere mult mai rapid.

Cum pot face ca anumite părți ale paginii să rămână dinamice?

Notă: această funcționalitate este implicit dezactivată. Va trebui s-o activezi în pagina Setări avansate.

Există 2 modalități de a face acest lucru. Poți folosi Javascript pentru a trasa partea din pagină pe care vrei s-o păstrezi dinamică. Asta face Google Adsense și multe piese de pe site-uri externe și este modul recomandat. Sau poți folosi filtrul WP Super Cache pentru a face asta, dar nu poți folosi cache-ul modului mod_rewrite. Trebuie să folosești metoda de livrare „simplu” sau să dezactivezi super-cache.

WP Super Cache 1.4 introduced a cacheaction filter called wpsc_cachedata. The cached page to be displayed goes through this filter and allows modification of the page. If the page contains a placeholder tag the filter can be used to replace that tag with your dynamically generated html.
The function that hooks on to the wpsc_cachedata filter should be put in a file in the WP Super Cache plugins folder unless you use the late_init feature. An example plugin is included. Edit dynamic-cache-test.php to see the example code.
There are two example functions there. There’s a simple function that replaces a string (or tag) you define when the cached page is served. The other example function uses an output buffer to generate the dynamic content. Due to a limitation in how PHP works the output buffer code MUST run before the wpsc_cachedata filter is hit, at least for when a page is cached. It doesn’t matter when serving cached pages. See this post for a more technical and longer explanation.
To execute WordPress functions you must enable the ‘Late init’ feature on the advanced settings page.

Cum pot să întârzii servirea de fișiere cache până când acțiunea „inițializare” se declanșează?

Fișierele cache sunt servite înainte de încărcarea completă a WordPress. În timp ce este excelent pentru performanță, este un chin când vrei să extinzi modulul folosind o parte a nucleului WordPress. Activează modul „Inițializare întârziată” în pagina setărilor avansate și fișierele cache vor fi servite când se declanșează „inițializarea”. WordPress și modulele sale vor fi încărcate acum.

De ce modulele WP UserOnline, Popularity Contest, WP Postratings sau un oarecare modul X nu funcționează sau nu se actualizează pe blogul meu acum?

Acest modul memorează în cache pagini întregi, dar unele module consideră că pot rula codul PHP de fiecare dată când se încarcă o pagină. Pentru a corecta asta, modulul trebuie să folosească metodele Javascript/AJAX sau filtrul wpsc_cachedata descris în răspunsul anterior pentru a actualiza sau afișa informații dinamice.

De ce modulele mele WP Super Cache dispar când actualizez modulul?

WordPress șterge dosarele modulului când actualizează un modul. La fel face și WP Super Cache, astfel toate fișiere modificate în wp-super-cache/plugins/ vor fi șterse. Îți poți pune modulele personalizate într-un alt director în mai multe feluri. Poți defini variabila $wp_cache_plugins_dir în wp-config.php sau wp-content/wp-cache-config.php și să indici un alt director care nu este în dosarul wp-super-cache. Modulul va căuta acolo modulele sale. Sau, dacă distribui un modul care trebuie încărcat mai devreme, poți folosi funcția wpsc_add_plugin( $filename ) pentru a adăuga un modul nou oriunde ar fi. Folosește wpsc_delete_plugin( $filename ) pentru a înlătura fișierul modulului. Vezi #574 sau acest articol despre scrierea modulelor WP Super Cache.

Ce face funcționalitatea Reconstruire cache?

Când un vizitator lasă un comentariu, fișierul cache pentru acea pagină este șters și următorul vizitator recreează pagina memorată în cache. O pagină are nevoie de timp pentru încărcare, deci ce se întâmplă dacă primește 100 de vizitatori deodată? Nu se va crea o pagină cache, așa că WordPress va servi o pagină nouă pentru fiecare utilizator și modulul va încerca să creeze o pagină cache pentru fiecare dintre acești 100 de vizitatori provocând o încărcare uriașă pe serverul tău. Această funcționalitate oprește acest lucru. Pagina memorată în cache nu este ștearsă când este lăsat un comentariu. În schimb, este marcată pentru reconstrucție. Următorul vizitator din următoarele 10 secunde va regenera pagina cache în timp ce vechea pagină este servită celorlalți 99 de vizitatori. În final, pagina este încărcată de primul vizitator și pagina memorată în cache este actualizată. Vezi acest articol pentru a afla mai mult.

De ce nu este cerut implicit cache-ul modulului de către boții motoarele de căutare?

Acești boți vizitează de obicei numai o singură pagină și dacă pagina nu este populară nu are nici un rost crearea unui fișier cache care va sta inactiv pe serverul tău. Totuși, poți permite ca aceste vizite să fie memorate în cache prin înlăturarea listei de boți din „Agenți utilizator respinși” în pagina Setări avansate.

Este afișată o pagină categorie în loc de prima mea pagină

O mică parte a site-urilor web va avea probleme cu următoarea configurare:

  1. Folosește o pagină statică pentru pagina din față.
  2. Folosește structura legăturii permanente /%category%/%postname%/.

Uneori, o pagină de categorii este memorată în cache ca prima pagină a site-ului în locul paginii statice. Nu pot răspunde la problemă dar o soluție simplă este folosirea modului „Simplu”. De asemenea, poți activa „Verificări suplimentare pentru prima pagină” pe pagina Setări avansate.

De ce primesc avertizări de la http://ismyblogworking.com/ referitoare la cache?

„Your blog doesn’t support client caching (no 304 response to If-modified-since).”
„Your feed doesn’t support caching (no 304 response to If-modified-since)”

Super-cache nu suportă verificări de antet pentru eroarea 304 în modul Expert, dar le suportă în modul Simplu. Acesta este un cache făcut de navigatorul tău, nu de server. Este o verificare în care navigatorul tău cere serverului dacă este disponibilă o versiune actualizată a paginii curente. Dacă nu există, nu se descarcă din nou versiunea veche. Pagina este încă memorată în cache de serverul tău, nu doar de navigatoarele vizitatorilor tăi.
Încearcă motorul de stocare cache la https://www.ircache.net/cgi-bin/cacheability.py sau https://redbot.org/ pentru o analiză suplimentară.

Cum aș poate utiliza cel mai bine instrumentele de urmărire utm_source în Google Analytics cu ajutorul acestui modul?

Acea urmărire adaugă un șir de interogări la fiecare URL legat din diverse surse, precum Twitter și cititoare de flux. Din păcate, oprește ca paginile să fie memorate în cache. Vezi aici comentariul lui Joost referitor la transformarea ei într-un tag ancoră care poate fi memorat în cache.

Modulul se plânge că wp-content este editabil! htdocs este editabil!

Nu este bine când serverul web poate scrie în acești directori, dar uneori conturile de găzduire partajate sunt inițializate astfel pentru a ușura administrarea. Folosește directorul chmod 755 pentru a corecta permisiunile sau pentru a găsi secțiunea de permisiuni a clientului tău ftp. Această căutare Google îți va da mai multe informații referitoare la acest subiect și există, de asemenea, această pagină din codex. Din păcate, unele gazde cer ca acei directori să poată fi scriși. Dacă ăsta-i cazul, ignoră această avertizare.

Cum să șterg definiția WP_CACHE din wp-config.php?

Încărcă-ți clientul ftp pe desktop și conectează-te la site. Navighează la rădăcina site-ului tău (sau la directorul de sub el) unde vei găsi wp-config.php. Descarcă fișierul și editează-l într-un editor de text. Șterge linia define( 'WP_CACHE', true ); și salvează fișierul. Acum încarcă-l peste fișierul wp-config.php pe serverul tău.

Cum să șterg regulile Super Cache din fișierul .htaccess?

Încărcă-ți clientul ftp pe desktop și conectează-te la site. S-ar putea să fie necesar să activezi „Arată fișiere ascunse” în preferințele clientului ftp. Navighează la rădăcina site-ului tău unde vei găsi fișierul .htaccess. Descarcă fișierul și editează-l într-un editor de text. Șterge liniile dintre „# BEGIN WPSuperCache” și „# END WPSuperCache” și salvează fișierul. Acum încarcă-l peste fișierul .htaccess pe serverul tău.

Cum pot să schimb permisiunile fișierelor?

Această pagină din Codexul WordPress explică tot ceea ce trebuie să știi despre permisiunile fișierelor pe serverul tău și diferitele moduri de a le schimba.

De ce primesc vârfuri de încărcare când sunt publicate articole noi?

E posibil să ai setată opțiunea „Șterge toate fișierele cache când un articol este publicat”. Ștergerea acestor fișiere poate dura mai mult timp, iar vizitatorii tăi vor vizita acum pagini nememorate în cache. Folosești urmărirea campaniei Google Analytics cu utm_source în URL? Acele pagini nu sunt memorate în cache. Vezi întrebarea „Cum aș putea utiliza cel mai bine instrumentele de urmărire utm_source în Google Analytics cu ajutorul acestui modul?” de mai sus pentru a le folosi în mod corespunzător.
Paginile memorate în cache trebuie să fie reîmprospătate când sunt publicate articole. Poate că serverul tău nu este în măsură să servească traficul mare pe care-l obții. Activează funcționalitatea „reconstruire cache”, pentru că te-ar putea ajuta.

Cât de multe pagini pot memora în cache?

Singura limită reală este cea definită de serverul tău. De exemplu, EXT2 și EXT3 permit un număr maxim de 31.999 de subdirectori, deci dacă ai o structură fixă pentru legătura permanentă (precum /%POSTNAME%/) și mai mult de 32.000 de articole poți să ai probleme. De asemenea, dacă rulezi o rețea multi-site și ai mai mult de 31.999 de site-uri (bloguri) nu le vei putea memora în cache pe toate. Practic, dacă ai avea atât de multe site-uri active, nu ai putea să le rulezi pe un singur server.

Văd că versiunea www a site-ului meu este memorată în cache separat. Cum pot opri asta?

WordPress ar trebui să redirecționeze la URL-ul canonic al site-ului tău, dar dacă nu o face, adaugă asta în fișierul tău .htaccess deasupra regulilor Supercache și WordPress. Înlocuiește example.com cu propriul nume de gazdă.
RewriteCond %{HTTP_HOST} www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

Cum pot servi pagini cache pentru mobil clienților care folosesc ecrane mici, cum ar telefoane și tablete?

Probabil, tema ta este responsivă, ceea ce înseamnă că redimensionează pagina pentru a se potrivi cu orice dispozitiv care afișează pagina. Dacă nu este responsivă, va trebui să folosești un alt modul pentru dispozitive mobile pentru a furniza o pagină formatată pentru acei vizitatori. Au fost testate următoarele module, dar variază în funcție de clientul dispozitivului mobil. Va trebui să activezi, de asemenea, suportul pentru navigatorul mobil în pagina Setări avansate.

Recenzii

17 martie 2024 1 răspuns
A simple and powerful extension that remarkably improves the speed of my site. I recommend it to wordpress site developers.
7 ianuarie 2024 1 răspuns
Hello, the cache preload function works fine, after preload all pages it seems to delete the cache and start over. I want the cache to be cleared only on page and product updates. How can I solve this problem please help.
21 decembrie 2023 1 răspuns
I have used this plugin for ages and never had a problem. I cleaned a site up that had malware and it was fine. After reinstalling all plugins I get redirect malware which wants to redirect my users to a "catsndogz.org" site which is infected with a "botnet" malware. Thanks god I have anti virus software running on my pc. I uninstalled this plugin and ran the antivirus plugin on my wordpress site and malware is gone. Don't know if is this plugin but will investigate further but meanwhile please be aware.
7 noiembrie 2023 2 răspunsuri
Overall, it's a really great and simple to configure caching plugin. What I really like about WP Super Cache, is that it allows you to dive deeper and configure everything how you like. It even allows you to bypass the PHP request processing and just use .htaccess or nginx config rules to more efficiently cache & deliver content.
Citește toate cele 1.327 de recenzii

Contributori și dezvoltatori

„WP Super Cache” este un software open-source. La acest modul au contribuit următoarele persoane.

Contributori

„WP Super Cache” a fost tradus în 31 de locale. Mulțumim traducătorilor pentru contribuția lor.

Tradu „WP Super Cache” în limba ta.

Te interesează dezvoltarea?

Răsfoiește codul, vezi depozitarul SVN, sau abonează-te la jurnalul de dezvoltare prin RSS.

Istoric modificări

1.12.0 – 2024-03-11

Added

  • Inițializare: detectează cache-ul din modulul Jetpack Boost și sugerează pași pentru depanare.
  • WP Super Cache: a adăugat WPSC_PRELOAD_POST_INTERVAL și WPSC_PRELOAD_LOOP_INTERVAL pentru a modifica timpii de preîncărcare.

Changed

  • Modernizare la cod: înlocuiește utilizarea strpos() cu str_contains().
  • Modernizare la cod: înlocuiește utilizarea strpos() cu str_starts_with().
  • Modernizare la cod: înlocuiește utilizarea substr() cu str_starts_with() și str_ends_with().
  • Corectează logoul Automattic care era neclar.
  • Generale: evită avertizările „învechite” la încercarea de obținere a URL-urilor în PHP 8.2.
  • Generale: indică compatibilitatea cu viitoarea versiune, WordPress 6.5.
  • Generale: a actualizat cerința pentru PHP la PHP 7.0+.
  • Generale: actualizează cerințele pentru versiunea de WordPress la WordPress 6.3.
  • WP Super Cache: verifică dacă există cache-ul Jetpack Boost când creează advanced-cache.php.
  • WP Super Cache: a corectat etichetele în pagina setări avansate.
  • WP Super Cache: înlătură notificările când preîncărcarea a început să funcționeze din nou.

Fixed

  • Supercache: adaugă „zile” la mesajul „Preîncărcarea următoare este programată”.
  • Super Cache: când reconstruirea este activată, se aplică și pentru subdirectori în loc de ștergere.
  • WP Super Cache – corectează filtrul wp_super_cache_clear_post_cache, astfel nu va fi șters și cache-ul primei pagini.
  • WP Super Cache: scoate cererea dacă ea nu este setată. Înseamnă că modulul nu este încă configurat.
  • WP Super Cache: nu creează o zonă tampon pentru ieșire dacă există deja una activă.
  • WP Super Cache: corectează servirea unei pagini memorate în cache pentru POST când este activată inițializarea întârziată.
  • WP Super Cache: corectează zona tampon pentru ieșiri și pre-formatează jurnalele de depanare.
  • WP Super Cache: dacă numărul de articole pentru preîncărcare nu este în listă, îl adaugă.

Vezi aici istoricul modificărilor anterioare