Ciao LordAlbert
sì quello di cui senti il bisogno è un sistema di controllo di versione, tipo SVN o GIT, in cui registrare tutte le modifiche che fai e tenerne traccia.
Esercitati e prendici la mano magari con qualche progetto di prova prima di iniziare ad usarlo su quello che stai sviluppando ora magari, prima di incasinarti la vita o per errore perdere qualcosa.
Di solito si definiscono delle funzionalità che si vogliono implementare, le si associa ad un numero di versione (1.0) e di crea un branch (chessò sito_1.0) per compiere tali sviluppi.
Quando pensi di avere finito, fai i tuoi test e poi crei un tag, una "foto" presa dal branch sito_1.0, e lo chiami 1.0.0 . Se poi ti accorgi dopo di aver fatto un errore, lo correggi nel branch sito_1.0 e poi crei un nuovo tag 1.0.1, cioè fix 1 del ramo di sviluppo 1.0 .
Poi decidi chessò di cambiare totalmente il tema del tuo wordpress? ok decidi che la release 1.1 ha come obiettivo il cambio del template ed allora ti copi la cartella che hai usato fino ad ora come dir di sviluppo per il branch 1.0 e la chiami crei un secondo branch chiamato sito_1.1 , e lì inizi le operazioni invasive per il cambio tema. Così facendo, se dovessi accorgerti di un altro baco sul sito 1.0 che è online, lo potresti fixare lavorando sul ramo 1.0: se così non avessi fatto, correresti il rischi di portare in produzione sia la fix che anche gli sviluppi per il sito 1.1 .
Per quel che riguarda i test, sicuramente potresti farli in locale, che poi è presumibile pensare sia già quello che fai quando sviluppi, a meno che non editi files alla cieca

Se però ti senti più confidente a portare proprio tutto da un'altra parte, fai pure
Se ti interessa c'è un tool che si chiama Selenium che ti permette di effettuare delle navigazioni simulate e quindi di verificare che tutte le funzionalità del tuo sito siano operative ad ogni sviluppo. È un lavorone, ma una volta messo in piedi, con un click tu puoi navigare e testare tutto quanto.
Un'altra modalità di verifica della corretta operatività del sito è adottare la modalità di sviluppo basata su test :
https://en.wikipedia.org/wiki/Test-driven_development
in pratica tu scrivi un testunit per ogni funzionalità [ per php puoi usare
http://simpletest.org/ o
http://qa.php.net/write-test.php ] e poi scrivi il codice per passare tale test. Questo dovrebbe garantirti una certa confidenza circa quello che hai sviluppato.
C'è tantissima carne al fuoco da mettere, alcune cose magari potranno essere sovradimensionate per te, saltale. Tra tutte, l'uso di Svn/Git è quello su cui investirei di più...
happy coding!
