Best prac­ti­ce per svi­lup­pa­re siti web con WordPress

titelbild-ftp-server-e1358693657675Se sta­te svi­lup­pan­do, come nel­la mag­gior par­te dei casi, per un cliente,è cru­cia­le che que­st’ul­ti­mo pos­sa segui­re le fasi di svi­lup­po del pro­prio sito.

Uno svi­lup­po in loca­le, ovve­ro sul­la mac­chi­na di pro­du­zio­ne sen­za acces­so al web, impli­ca spes­so invia­re lay­out, screen­sho­ts e l’im­pos­si­bil­li­tà da par­te del clien­te di testa­re le fun­zio­na­li­tà dina­mi­che. Può anche anda­re bene, ma in un ristret­to nume­ro di casi. Inol­tre, impli­ca un sur­plus di lavo­ro che può esse­re facil­men­te evitato.

La best prac­ti­ce, il miglior modo di pro­ce­de­re, in que­sti casi è il seguente.

Innan­zi­tut­to crea­re un’a­rea pri­va­ta all’in­ter­no di un pro­prio spa­zio web. Ad esem­pio, nel caso di un’i­po­te­ti­ca area di svi­lup­po del­l’al­tret­tan­to ipo­te­ti­ca azien­da “ACME”, si può uti­liz­za­re una car­tel­la del tipo: www.acme.com/prova, in cui avre­mo cura di impe­di­re l’ac­ces­so ai moto­ri di ricerca.

Pos­sia­mo far­lo via robots.txt, aggiun­gen­do al nostro file le due righe necessarie:

User-agent: *

Disal­low: /prova/ (atten­zio­ne allo “/” finale)

Sup­po­nia­mo ora che il clien­te si chia­mi “mario ros­si ed asso­cia­ti”. Apri­re­mo una car­tel­la www.acme.com/prova/rossi in cui instal­le­re­mo WP.

Nel file config.php avre­mo cura di dare un nome uni­vo­co alle tabel­le del DB. Nel nostro esem­pio, la riga di defi­ni­zio­ne del­le tabel­le in que­stio­ne diventerà:

$table_prefix  = ‘wprossi_’;

o simi­lia.

A que­sto pun­to instal­lia­mo word­press acce­den­do all’­ho­me page (ovve­ro www.acme.com/prova/rossi).

Le tabel­le ver­ran­no aggiun­te al DB con pre­fis­so “wpros­si” e quin­di chia­ra­men­te distin­te da quel­le di altri siti, e pro­ce­dia­mo con lo svi­lup­po, fase duran­te cui potre­mo dia­lo­ga­re anche in modo diret­to ed in tem­po rea­le con il clien­te, dato che avre­mo avu­to cura di inviarl­gi il link all’a­rea di sviluppo.

Al ter­mi­ne, ovve­ro quan­do sia­mo pron­ti ad instal­la­re e anda­re in linea, sarà suf­fi­cien­te effet­tua­re il bac­kup com­ple­to del­la root del clien­te dal­l’a­rea di pro­va e di tut­te le sot­to­car­tel­le, con il nostro client FTP, per ave­re il sal­va­tag­gio com­ple­to di tut­ta l’a­rea web.

Poi, uti­liz­zan­do PHP­MyAd­min o simi­li, fare­mo acces­so al DB, espor­tan­do solo le tabel­le con pre­fis­so “wpros­si”, in un file com­pres­so con uno dei vari meto­di a disposizione.

A que­sto pun­to, sul sito defi­ni­ti­vo del clien­te, andia­mo a cari­ca­re diret­ta­men­te via FTP il sal­va­tag­gio effet­tua­to dal­l’a­rea di svi­lup­po, aven­do cura di scri­ve­re i para­me­tri cor­ret­ti rela­ti­vi al DB del clien­te nel file config.php. e fac­cia­mo lo stes­so con il data­ba­se MySQL, impor­tan­do il file com­pres­so con­te­nen­te le tabel­le esportate.

Dal pan­nel­lo di con­trol­lo PHP­MyAd­min del clien­te, andia­mo a sosti­tui­re i due valo­ri fon­da­men­ta­li nel­la tabel­la del­le opzio­ni (nel nostro caso: wprossi_options): ovve­ro il valo­re “option_value” del­le righe inti­to­la­te “site_url” e “home”, in cui andre­mo a scri­ve­re diret­ta­men­te l’url del­la home direc­to­ry rea­le del cliente.

A que­sto pun­to, sem­pli­ce­men­te fac­cia­mo acces­so alla bache­ca del nostro sito appe­na cari­ca­to, instal­lia­mo il plu­gin “search and repla­ce” o simi­li (ne esi­sto­no di diver­si, anche miglio­ri) e prov­ve­dia­mo a sosti­tui­re nel db ogni occor­ren­za del­la strin­ga “www.acme.com/prova/rossi” con quel­la rea­le del clien­te “www.rossi.com”.

Una vol­ta effet­tua­ta la sosti­tu­zio­ne, dovre­mo anda­re a modi­fi­ca­re a mano even­tua­li path­na­me hard-coded nel tema, che però soli­ta­men­te sono pochis­si­mi, e anche quel­li even­tual­men­te inse­ri­ti nei plu­gin, se li abbia­mo per­so­na­liz­za­ti in qual­che modo.

Ulti­mo atto, andia­mo nel­la bache­ca di word­press alla voce “Impo­sta­zio­ni — Per­ma­link” e clic­chia­mo su “Sal­va”, for­zan­do la rige­ne­ra­zio­ne di htac­cess e del­le opzio­ni rela­ti­ve ai permalink.

A que­sto pun­to il nostro sito sarà per­fet­ta­men­te fun­zio­nan­te ed in linea. Prov­ve­dia­mo a rino­mi­na­re sul nostro spa­zio web l’a­rea di pro­va del clien­te, aggiun­gen­do, ad esem­pio, un suf­fis­so “old” alla car­tel­la di root; nel nostro caso, www.acme.com/prova/rossi diven­te­rà quin­di www.acme.com/prova/rossiold. Con­trol­lia­mo che il sito del clien­te non dia degli erro­ri 404 not found (dovu­ti pro­ba­bil­men­te a qual­che link che non abbia­mo aggiornato).

Se tut­to è ok pos­sia­mo can­cel­la­re defi­ni­ti­va­men­te l’a­rea tem­po­ra­nea e le tabel­le dal database.

Effet­tuia­mo un ulti­mo bac­kup del­l’a­rea web del clien­te via FTP e del data­ba­se MySQL diret­ta­men­te dal pan­ne­lo di con­trol­lo PHP­MyAd­min e archi­via­mo il tutto.

Ope­ra­zio­ne ter­mi­na­ta in mas­si­ma sicurezza.