Cum să faci backup site-ului tău WordPress

wordpress-backup

Acum câțiva ani NSHost a pierdut datele clienților, apoi a venit rândul Namebox să aibă probleme și să fie șterse site-urile clienților iar luna trecută Webfactor a fost căzut cu toate site-urile clienților timp de 3 zile.

Ce poți face tu, ca și client, în aceste situații de criză?

E absolut necesar să ai un backup al site-ului (fișiere + baza de date) și trebuie să fii pregătit să muți site-ul repede de la un host la altul.

De ce să faci backup

Am auzit de la mulți păgubiți întrebarea asta – de ce să am eu backup? firma de hosting e obligată prin contract să-mi facă backup, e treaba lor.

Corect, sunt obligați să facă backup, nu contestă nimeni justețea acestui argument.

Dar și mașinile sunt obligate să oprească la trecerea de pietoni. Și totuși există cazuri când nu o fac și oamenii mor.

Dreptatea este de partea lor, erau pe trecerea de pietoni, dar din păcate, dreptatea nu te ajută dacă ești mort.

Nu apăr firmele de hosting care pierd datele clienților, dimpotrivă, cred că majoritatea clienților sunt prea permisivi și lasă prea mult de la ei în situații de acest gen.

Vreau doar să atrag atenția că lucruri rele se pot întâmpla.

Poate se întâmplă o dată la 10 ani, poate o dată la 20 de ani, poate nu se întâmplă niciodată. Dar există posibilitatea ca ele să se întâmple.

Deci recomandarea este să faceți backup site-ului vostru WordPress. E mai bine să faceți și să n-aveți nevoie de el decât să nu-l faceți și apoi să descoperiți că v-ați pierdut toată munca de ani de zile.

Cum faci backup site-ului tău WordPress

Cea mai simplă metodă este cu ajutorul unui plugin WordPress, funcționează pentru majoritatea site-urilor WordPress simple, site-uri mici de prezentare sau bloguri mici.

Prin mic, nu mă refer la trafic sau la notorietate ci la spațiul pe care îl ocupă fișierele pe server, precum și mărimea bazei de date.

Cum ar trebui să fie un backup?

  • automat (set it and forget it)
  • periodic (zilnic, săptămânal)
  • stocat în altă locație (local, cloud)
  • să poată fi restaurat ușor și rapid

Printre cele mai populare soluții de backup pentru WordPress sunt:

N-am să scriu detaliat despre fiecare în parte ci doar despre soluțiile pe care am ales să le folosesc.

ManageWP

Cea mai simplă soluție pe care am testat-o este ManageWP, oferă backupuri incrementale ce nu consumă resurse pe server.

Este gratuit pentru backupuri lunare (o dată la 30 de zile) dar are o limită de 100.000 de fișiere. Backupurile zilnice costă 2$/lună pentru un site și limita este de 400.000 de fișiere. Opțional se poate seta și backup la 6 ore, costă 3$/lună, iar backup din oră în oră costă 6$/lună.

ManageWP e o soluție potrivită pentru cine vrea ceva foarte simplu de configurat. La fel de simple sunt și soluțiile VaultPress sau BlogVault dar costurile sunt puțin mai mari.

Eu folosesc ManageWP ca backup de rezervă, lunar, pentru toate site-urile mele. Backup-ul principal, zilnic, e făcut cu UpdraftPlus cu stocare pe Amazon S3.

UpdraftPlus

Cu ajutorul acestui plugin se poate face backup la intervale prestabilite, de la fiecare 4 ore până la o dată pe lună, sau manual.

Stocarea se poate face pe gratuit pe Dropbox sau Google Drive, în funcție de spațiul disponibil. Din câte știu, Dropbox oferă 2 GB gratuit iar Google Drive 15 GB gratuit.

Tutoriale video UpdraftPlus

Pentru cine dorește să folosească Amazon S3, e mai complex de configurat (detalii aici) și implică niște costuri (mici). Eu fac backup la 9 site-uri personale totalizând 16 GB cu un cost de 0,60$ pe lună.

BackWPUp

Un plugin care, odată instalat, creează automat un backup zilnic al bazei de date și îl salvează pe Dropbox.

Tot ce trebuie făcut este să autorizezi pluginul pentru a salva pe Dropbox (se face din 2 clickuri dacă ai deja cont pe Dropbox) și să setezi ora la care să se facă backup-ul. Recomandat de setat la o oră diferită de celelalte backupuri.

Backup manual

Backup-ul manual nu e o soluție eficientă și scalabilă dar pentru că scriu destul de rar, obișnuiesc să fac un backup manual la baza de date după ce public un nou articol sau modific vreun text pe site.

Salvez pe calculator în folderul care e sincronizat cu Google Drive.

Dacă eșuează backup-ul

Sunt cazuri în care pluginurile de backup eșuează, de exemplu când un site e prea mare și crearea unei arhive de backup durează prea mult, consumă prea multe resurse pe server și atinge anumite limitări ale contului de găzduire.

În aceste situații se poate încerca setarea unor excepții de la backup pentru a fi arhiva cât mai mică sau se poate face backup separat pentru fiecare dintre elementele site-ului.

Elementele unui site WordPress sunt:

  1. partea de conținut
  2. partea de cod
  3. biblioteca media

Partea de conținut

Partea de conținut e reprezentată de baza de date. În baza de date este stocat tot conținutul paginilor, al widgeturilor și al articolelor sau a altor tipuri de postări (portofoliu, testimoniale, produse etc), precum și toate setările site-ului.

E bine ca baza de date să fie bine optimizată pentru a fi cât mai mică arhiva de backup, am și publicat un tutorial despre optimizarea bazei de date.

Backup-ul bazei de date se poate face printr-un plugin (BackWPUp/UpdraftPlus + Dropbox), n-ar trebui să fie probleme pentru că, de obicei, e un fișier destul de mic, câțiva MB.

Partea de cod

Reprezintă toate fișierele PHP, JS, CSS ale instanței WordPress:

  • fișierele core WordPress
  • fișierele pluginurilor active
  • fișierele temei active

Fișierele din core-ul WordPress se pot excepta de la backup, WordPress se poate instala din câteva click-uri dacă te muți la un alt furnizor de găzduire sau se poate descărca de pe wordpress.org.

Și pluginurile ar putea fi exceptate de la backup pentru că există soluții să instalezi mai multe pluginuri din câteva clickuri.

O soluție pe care o folosesc uneori este wpcore.com, e un site unde îți faci un cont gratuit și îți creezi liste cu pluginuri. E util și dacă instalezi mereu aceleași pluginuri pe mai multe site-uri, eu folosesc pentru demo-urile temelor, de exemplu.

Îți creezi o listă cu pluginurile pe care le ai instalate pe site-ul tău și pe un WordPress nou instalezi pluginul WPCore Plugin Manager apoi introduci cheia aferentă listei tale. Îți vor apărea toate pluginurile și le poți instala și activa cu un click.

Deci pluginurile se pot instala rapid, în 2 minute, nu e absolut necesar să ai backup la ele. Astfel, arhiva de backup devine și mai mică.

O altă soluție pentru partea de cod este să ai o versiune locală a site-ului.

Eu folosesc Local by Flywheel, e o aplicație care creează un server local și poți avea instanțe WordPress de test, accesibile la adresa nume.local.

Folosesc această soluție pentru a dezvolta local temele WordPress pe care le sincronizez cu github.com dar se poate folosi în mai multe scenarii.

De exemplu, poți avea o clonă locală a site-ului și să faci actualizările WordPress, ale pluginurilor și temelor, iar dacă totul funcționează fără probleme, faci actualizările și pe site-ul live.

Astfel, poți avea mereu pe calculatorul propriu un backup al site-ului tău (partea de cod).

Se poate combina și cu Git pentru o sincronizare cu un repo găzduit pe Amazon sau Google Cloud (costuri mai mici decât Github pentru private repositories), cu posibilitatea de a face push și pe site-ul live dar chestiunea asta e mai complexă și merită un articol separat.

Biblioteca media

Biblioteca media reprezintă fișierele din folderul /wp-content/uploads/, adică toate imaginile pe care le-ai încărcat pe site.

De obicei, aceasta e cea mai mare parte a unui site. Ideal ar fi să fie bine optimizată, am și publicat un tutorial despre optimizarea imaginilor.

O soluție elegantă pentru backup-ul bibliotecii media este sincronizarea acesteia cu un bucket de pe Amazon S3 sau de pe Google Cloud Storage.

Soluțiile pentru Amazon S3 sunt mai complicat de configurat însă pentru Google Cloud Storage există un plugin foarte simplu de configurat – WP Stateless.

Pluginul are 3 moduri:

  1. backup
  2. CDN
  3. stateless

Eu folosesc modul backup, toate fișierele media sunt copiate pe Google Cloud Storage și stocate într-un bucket.

Momentan, Google Cloud oferă 300$ credit pentru 12 luni deci nu am costuri pentru acest backup dar după expirare costul pentru stocare este unul destul de mic, similar cu cel de la Amazon S3.

În modul CDN, fișierele nu sunt doar copiate pe Google Cloud ci sunt și servite de acolo dar costurile sunt mai mari pentru că vorbim de alt tip de stocare la care se adaugă și costul de bandă, iar banda e destul de scumpă la Google.

În modul stateless, fișierele sunt și șterse de pe serverul tău și rămân doar în Google Cloud. Astfel, la orice provider de găzduire la care te muți, îți muți doar codul și baza de date, biblioteca media rămâne mereu în cloud.

Astea ar fi soluțiile de backup pe care le folosesc eu pentru site-urile mele WordPress pentru a fi sigur că nu pierd nimic.

Dacă ai backup, restaurarea sau migrarea la alt host se poate face mai simplu sau cu puțin efort, dar se face. Important e să nu ne pierdem munca.

Cum schimbi rapid hosting-ul

Percepția generală este că pentru a muta găzduirea site-ului de la un furnizor la altul trebuie schimbare nameserverele asociate domeniului.

O metodă mai rapidă este ca găzduirea DNS să fie din prima separată de găzduirea web și să schimbi doar IP-ul asociat intrării A aferente domeniului.

Găsești aici un articol mai detaliat despre separarea celor 3 componente principale ale găzduirii: găzduirea DNS, găzduirea web și găzduirea email.

Recomand găzduirea DNS a Cloudflare, este #1 în lume conform dnsperf.com, și este gratuită.

Nu trebuie neapărat să folosești și protecția Cloudflare, ci doar găzduirea DNS, deși în anumite cazuri e posibil să fie utilă și filtrarea traficului sau servirea elementelor statice ale site-ului din CDN-ul Cloudflare.

Având găzduirea DNS separată de furnizorul de găzduire web, dacă furnizorul respectiv are probleme mari (servere căzute, pierderi de date) poți să muți conținutul site-ului la un alt furnizor apoi doar să schimbi IP-ul aferent intrării A și în câteva minute ești din nou cu site-ul funcțional.

Acestea sunt metodele mele de a mă asigura că am site-urile protejate.

O mică recapitulare:

  • backup complet lunar cu ManageWP (0$)
  • backup complet zilnic cu UpdraftPlus pe Amazon S3 (0,60$)
  • backup bază de date zilnic cu BackWPUp pe Dropbox (0$)
  • backup manual bază de date pe Google Drive (0$)
  • backup permanent local la partea de cod (0$)
  • backup permanent teme WordPress pe github.com (0$)
  • listă pluginuri active pe wpcore.com (0$)
  • backup biblioteca media pe Google Cloud (deocamdată 0$)
  • găzduire DNS separată de găzduirea web și de găzduirea e-mail (0$)

Dacă aveți și alte idei sau metode de a face backup, nu ezitați să lăsați un comentariu pentru a ajuta și pe alți cititori cu cât mai multe soluții de a nu-și pierde site-urile atunci când se întâmplă o situație de criză, precum cele de la începutul articolului, care i-au afectat pe mulți proprietari de site-uri.

4 responses

  1. Avatar Gabriel
    Gabriel

    Ar mai fi Duplicator Pro care poate face backup automat în mai multe locații, inclusiv Google Drive, și e ușor de configurat.

    1. Avatar Andrei Chira
      Andrei Chira

      N-am folosit niciodată pluginul dar din ce citesc la ei pe site pare ok.

  2. Avatar Vasile R
    Vasile R

    Folosesc Cloudflare pentru DNS-uri de ceva timp. Îmi place, iar o perioadă am trecut un subdomeniu prin Cloudflare și toate chestiile statice le-am „servit” de pe acel subdomeniu. Pare o idee bună în caz că nu face serverul față.

    UpdraftPlus m-a salvat o dată, că am actualizat tema, după aia mi-am dat seama că nu trebuia să fac asta. Face backup în Google Drive.

    De Manage WP am tot auzit, așa că mi-am făcut curaj după ce am citit acest articol. Mersi!

    1. Avatar Andrei Chira
      Andrei Chira

      Cu plăcere.

Lasă un răspuns

Adresa ta de email nu va fi publicată.