Spostare o installare WordPress in una sottocartella

Installare WordPress in una sottocartella è una possibilità che permette molti vantaggi. Vediamo due metodi per farlo con due risultati differenti.

    Installare WordPress in una sottocartella ti permette di eseguire più istanze sotto lo stesso dominio. È anche possibile spostare WordPress in una sottocartella per aumentarne la sicurezza. In questo articolo ti mostrerò come fare entrambe le cose.

    Oggi vedremo come si installa WordPress in una specifica cartella sul tuo hosting. Il procedimento non è molto differente dall’installazione vera e propria, ma occorre prepare il campo per farlo in modo corretto.

    Inizieremo capendo quali possono essere i vantaggi di usare una sottocartella, e poi procederemo con la parte pratica dell’installazione. Poiché i procedimenti non sono molto diversi, alla fine dell’articolo sarai in grado di installare WordPress in una sottocartella ma anche in un sottodominio.

    Perché installare WordPress in una sottocartella?

    Installare WordPress in una sottocartella

    Ci sono vari motivi per cui si potrebbe voler avere WordPress in una sottocartella del proprio dominio.

    1. La prima motivazione è pratica. Prima o poi arriva il momento di fare un restyle del sito. È possibile creare ambienti di lavoro sicuri per effettuare modifiche senza intaccare il sito in produzione. Avviene però spesso che l’ambiente di test (a volte chiamato staging) non sia così semplice da sostituire all’ambiente di produzione una volta che le modifiche sono da applicare. Potendo installare una copia del nostro sito in una sottocartella, possiamo fare tutte le prove che vogliamo e poi spostare la nuova copia di WP nella cartella radice una volta che abbiano un prodotto soddisfacente. In questo modo sostituiamo il sito in produzione con quello che inizialmente era in una sottocartella.
    2. La seconda motivazione potrebbe essere la volontà di avere siti differenti sotto lo stesso dominio. Si potrebbe pensare di avere un’installazione per la parte commerciale del sito e una diversa per il blog, ad esempio.
    3. La terza motivazione concerne la sicurezza. Spostando tutta la parte di amministrazione all’interno di una sottocartella, facciamo in modo che i bot di login che tentano di forzare l’accesso vadano a vuoto. Non è impossibile che qualcuno manualmente trovi la cartella, intendiamoci, ma almeno gli rendiamo la situazione più complicata.

    Esempio:
    Al momento il login avviene a questa URL: miosito.com/wp-admin, dopo le modifiche l’accesso andrà fatto su miosito.com/sottocartella/wp-admin. Il nome della sottocartella è conosciuto solo da te, mandando a vuoto gli attacchi automatizzati alla URL standard.

    I due metodi

    Presenterò qui due metodi per ottenere un’installazione WordPress posizionata in una sottocartella.

    Nel primo metodo, verrà installata una nuova istanza di WordPress in una sottocartella. Con questo metodo è possibile installare WP di fianco a un’installazione già presente. Avremo quindi due siti differenti, uno raggiungibile all’url del dominio e l’altro dall’url della sottocartella.

    Nel secondo metodo, invece, sposteremo i file di WordPress dalla cartella principale a una sottocartella e faremo in modo che questa installazione sia raggiungibile dall’indirizzo del dominio normalmente. Questa soluzione è ottima per la sicurezza.

    Una combinazione dei due metodi può servire a creare una copia di staging e poi sostituirla a quella originale, per esempio in caso di restyle del sito.

    Sottocartella o sottodominio?

    Normalmente, si vuole creare un sito web WordPress sul proprio nome di dominio (per esempio, planbproject.it). Tuttavia, a volte potresti voler creare altri siti web sullo stesso nome di dominio.

    Questo può essere fatto in due modi:

    1. installando WordPress in un sottodominio: https://nuovosito.esempio.it
    2. installandolo in una sottocartella: https://esempio.it/nuovosito/.

    Una domanda che bisogna farsi è: quale metodo è il migliore per la SEO?

    I motori di ricerca trattano i sottodomini in modo diverso dai nomi di dominio root e li considerano siti web separati. Per esempio, per i motori di ricerca planbproject.it è un sito completamente differente da blog.planbproject.it. Sono trattati come dominii differenti.

    Invece, le sottocartelle beneficiano direttamente dell’autorità del dominio principale e quindi nella maggior parte dei casi si trovano in una posizione di partenza più alta. Un modo per creare siti WordPress separati in entrambi i sottodomini o sottocartelle è l’installazione di una rete multisito WordPress, che però non tratteremo in questo articolo.

    Tuttavia, se vuoi mantenere due siti web gestiti separatamente, allora puoi installare diverse istanze di WordPress. Puoi anche utilizzare gli strumenti di gestione dei siti WordPress per impostare una singola dashboard per gestire le tue installazioni multiple di WordPress.

    Primo metodo: Cosa serve per installare WordPress in una sottocartella

    Non ci sono requisiti particolari per installare WordPress in una sottocartella. Se hai già un sito web WordPress nel dominio principale, allora sei a posto. Dovrai avere accesso completo al server e ai database, ma questo lo do’ per scontato.

    Tutti i migliori provider di hosting rendono molto facile installare più siti WordPress utilizzando lo stesso account di hosting. Per esempio, se stai usando SiteGround, puoi aggiungere un nuovo sito web WordPress dalla tua dashboard.

    Tuttavia, tieni presente che la potenza di calcolo fornita dal provider deve poter supportare anche il secondo sito. Un improvviso picco di traffico su uno dei tuoi siti web influenzerà le prestazioni e la velocità di tutti gli altri siti web sullo stesso account.

    Se hai appena iniziato, allora puoi farlo sull’hosting condiviso. Tieni presente che potresti dover passare ad un hosting gestito WordPress man mano che il tuo business cresce.

    Detto questo, diamo un’occhiata a come installare facilmente WordPress in una sottocartella in modo manuale, quindi in qualunque circostanza e con qualunque hosting.

    1. Creare la sottocartella

    Per prima cosa devi creare una sottocartella o una cartella sotto quella del sito principale. Qui è dove installerai i file di WordPress.

    Collegati al tuo account di hosting WordPress utilizzando un client FTP o il File Manager nel pannello dell’hosting. Una volta connesso, vai alla cartella principale del tuo sito web. Di solito è la cartella /public_html/. Se hai già WordPress installato nella cartella principale, allora vedrai file e cartelle WordPress lì.

    Io userò un server locale, quindi posso creare le cartelle usando il file manager del mio computer. Tu puoi usare Filezilla per le stesse operazioni in remoto.

    Installare WordPress in sottocartella - creazione cartella
    Creazione della sottocartella

    Nell’esempio che vedi nell’immagine, la cartella htdocs equivale alla cartella root del server ( / ), la cartella lezioni_di_WP equivale alla cartella /public_html/ al cui interno ho creato la nuova sottocartella htdocs/lezioni_di_WP/sottocartella. Come puoi vedere, all’interno di lezioni_di_WP è già presente un’installazione di WordPress.

    2. Caricare WordPress nella sottocartella

    La sottocartella appena creata è vuota al momento. Risolviamo il problema caricando i file del core di WordPress. Prima di tutto devi visitare il sito WordPress.org e cliccare sul pulsante per ottenere WordPress.

    Homepage di WordPress.org
    Homepage di WordPress.org

    Clicca su Get WordPress e ti ritroverai in una pagina in cui potrai scaricare il file zip contenente l’ultima versione di WordPress sul tuo computer.

    Dopo averlo scaricato, è necessario selezionare il file .zip ed estrarlo. Gli utenti Mac possono fare doppio clic sul file per estrarlo e gli utenti Windows devono fare clic con il tasto destro del mouse e poi selezionare “Estrai tutto”.

    Dopo aver estratto il file zip, vedrai la cartella ‘wordpress’ contenente tutti i file necessari a WordPress per funzionare.

    Ora spostiamo / carichiamo questi file nella tua nuova sottocartella tramite FileZilla. Carica solo i file contenuti nella cartella wordpress e non la cartella stessa.

    Come fare: Connettiti al tuo sito web usando Filezilla, vai alla sottodirectory che hai creato nel primo passo, nel pannello dei file locali del client, vai alla cartella ‘wordpress’ che hai appena estratto. Seleziona tutti i file all’interno della cartella e poi caricali nella tua nuova sottocartella.

    Installare WordPress in una sottocartella
    La struttura delle cartelle dopo l’estrazione di WP nella nuova sottocartella

    A questo punto i file sono in posizione e possiamo procedere col reperire le informazioni del database necessarie per installare WordPress in una sottocartella.

    3. Creare un nuovo database

    WordPress memorizza tutti i contenuti in un database. Devi quindi creare un nuovo database da utilizzare con il tuo nuovo sito WordPress installato nella sottocartella.

    Per creare un nuovo database, puoi usare diversi metodi che dipendono dal server e dal pannello di controllo che hai. SiteGround permette di creare un nuovo database con un semplice click.

    Su Siteground, vai su Sito > MySQL e poi clicca su Crea Database. Successivamente, clicca su Gestisci l’accesso e seleziona l’utente desiderato per la gestione del nuovo database. Quasi sicuramente sarà l’utente di default.

    Nota: Gli utenti dei database si gestiscono nella tab Utenti della stessa pagina. Avrai bisogno del nome del database e delle credenziali utente per proseguire, quindi segnatele da qualche parte in modo che siano facilmente recuperabili.

    Se non usi SiteGround, puoi fare riferimento al tuo hosting per la creazione di un nuovo database. Molto probabilmente dovrai usare uno strumento che si chiama PhpMyAdmin. TI consiglio di cercare informazioni a riguardo presso il tuo provider.

    4. Installare WordPress

    A questo punto abbiamo i file nella giusta posizione e abbiamo creato un nuovo database di cui ci serve sapere il nome, la posizione (localhost per il 99% dei casi), il nome utente e la password dell’account che ha accesso al database.

    Ora che tutto è al suo posto, andiamo avanti a installare WordPress in una sottocartella. Per farlo, basta visitare la directory che hai creato in precedenza in un browser web digitando l’URL in questo modo:

    https://esempio.it/sottocartella/

    Questo ti porterà alla procedura guidata di installazione di WordPress. Segui la procedura di installazione e al momento di inserire i dati del database, inserisci il nome del database, il nome utente e la password dell’utente che lo gestisce e poi seleziona un prefisso diverso per le tabelle. Come host del database, lascia localhost. Se questo dovesse darti errore, dovrai contattare il provider dell’host per sapere cosa inserire.

    Installazione WordPress - il database
    Impostazioni del database WordPress durante l’installazione

    Prosegui poi con l’installazione seguendo le istruzioni che ti verranno proposte. Dovrai inserire il titolo del sito e creare un utente amministratore per la gestione del sito stesso.

    5. Sistema il permalink

    Se hai un’altra installazione di WordPress installata nella cartella principale, allora i file .htaccess della tua sottocartella potrebbero causare conflitti. Questo comporterà errori 404 sul tuo sito web.

    Per risolvere devi verificare che il file .htaccess nella sottocartella contenga i dati corretti. Dovrebbe assomigliare a quello riportato qui sotto:

    <IfModule mod_rewrite.c>
    RewriteEngine On
     RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     RewriteBase /sottocartella/
     RewriteRule ^index.php$ - [L]
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule . /sottocartella/index.php [L]
    </IfModule>

    Da notare i percorsi che includono il nome della sottocartella creata.

    A questo punto avrai due istanze di WordPress, quindi due siti, raggiungibili da due indirizzi diversi sotto lo stesso dominio. Il primo, quello principale sarà tipo https://miodomino.it e il secondo sito sarà sotto https://miodominio.it/sottocartella

    Installare WordPress in una sottocartella Installare WordPress in una Sottocartella 2

    Secondo metodo: come spostare WordPress in una sottocartella

    In questo secondo metodo sposteremo i file di WordPress dalla cartella principale a una sottocartella, mantenendo lo stesso indirizzo del sito. In questo modo mettiamo i file del nostro sito ulteriormente al sicuro. I bot di login che cercano di forzare il nostro sito, non troveranno la pagina di login perché posizionata altrove rispetto alla norma.

    Avrai bisogno di avere accesso ai file del tuo sito via FTP o tramite il pannello di controllo del provider dell’hosting.

    0. Crea la sottocartella

    Come nel metodo precedente, ho creato una cartella chiamata sottocartella in cui sposterò l’installazione di WordPress. Il percorso della sottocartella dovrebbe essere qualcosa come questo:

    https://miosito.it/sottocartella

    1. Modifica l’URL dal pannello di WordPress

    Andare nel pannello del nostro sito WordPress. Procedere su Impostazioni > Generale e modificare il campo Indirizzo WordPress (URL) inserendo il percorso della sottocartella.

    Non modificare il campo Indirizzo sito (URL).

    Spostare WordPress in sottocartella
    Modificare il campo indirizzo WordPress (URL)

    Una volta che avrai salvato questa impostazione, il sito non sarà più raggiungibile. Dovrai passare al passo successivo per sistemare la cosa.

    2. Sposta tutti i file nella sottocartella creata

    A questo punto, tramite Filezilla o il pannello del tuo provider, sposta tutti i file eccetto due dalla cartella principale del tuo sito alla sottocartella creata in precedenza nel passaggio 0.

    Dovrai lasciare nella cartella originale solo i file .htaccess e index.php

    3. Modifica il file index.php

    Ora dovrai modificare il file index.php che hai lasciato nella cartella principale.

    Individua queste righe:

    /** Loads the WordPress Environment and Template */
     require __DIR__ . '/wp-blog-header.php';

    Aggiungi al percorso la sottocartella, in questo modo:

    /** Loads the WordPress Environment and Template */
     require __DIR__ . '/sottocartella/wp-blog-header.php';

    Così fai in modo che le pagine del tuo sito vengano prese dalla sottocartella contenente tutti i file.

    4. Verifica il sito e i permalink

    A questo punto il sito dovrebbe funzionare correttamente. Navigalo e verifica che tutto funzioni in modo corretto.

    Il file .htaccess non ha bisogno di modifiche, ma deve rimanere nella cartella principale del sito.

    Conclusioni

    Abbiamo visto due modi per installare WordPress in una sottocartella, ossia avere due siti raggiungibili dallo stesso dominio principale.

    Il primo metodo richiede un’installazione da zero e permette di avere WordPress installato nell’indirizzo della sottocartella. Questa installazione sarà quindi raggiungibile tramite un URL simile a https://miosito.it/sottocartella. In questo modo puoi molte installazioni WP su diverse sottocartelle.

    Il secondo metodo, invece, permette di avere il sito raggiungibile dall’URL principale https://miosito.it, ma tutti i file di WordPress sono nascosti in una sottocartella. In questo caso l’installazione WP è una sola, ma è più protetta perché i file sensibili hanno un indirizzo che non è facilmente indovinabile.

    Quale scegliere?

    Se vuoi avere diverse istanze di WP o diversi siti sotto un medesimo dominio, puoi usare il primo metodo.

    Se vuoi avere una sola installazione, ma più protetta, usa il secondo metodo.


    Se ti è piaciuto l’articolo, non dimenticare di iscriverti alla newsletter per restare aggiornato sui prossimi contenuti!

      8 commenti su “Spostare o installare WordPress in una sottocartella”

      1. ciao ho costruito un sito in una sottocartella (chiamata wpsito) come descritto nel tuo articolo. il vecchio sito è in joomla e il nuovo in wordpress. ho ricreato ogni pagina e articolo mantenendo gli stessi url (tranne per il fatto che nel nuovo c’è il nome della cartella ovviamente) così da non perdere l’indicizzazione dei motori di ricerca una volta attivato il nuovo sito.
        quindi ho un sito joomla che si chiama nomesito.com e un sito wp in sottocartella che si chiama nomesito.com/wpsito.
        il problema è che ora non so come fafe per renderlo principale.
        vorrei evitare di cancellare il vecchio
        ho letto dei redirect… ma non so come si fa e non so se funziona
        help!!!

        Rispondi
        • Ciao,
          I redirect qui non ti possono aiutare.
          Da fare prima di cominciare:
          0. Un backup dei due siti, per sicurezza
          1. Spostare o copiare Joomla in un’altra sottocartella (per esempio /joomlasito)
          2. Cancellare tutti i file dalla cartella root (quella in cui adesso è installato Joomla) facendo attenzione a non rimuovere le due sottocartelle che contengono Joomla e il nuovo WordPress

          A questo punto hai questa situazione:
          * WordPress nella cartella nomesito.com/wpsito
          * Joomla nella cartella nomesito.com/joomlasito
          * Cartella root vuota nomesito.com/ (a volte indicata anche come /)

          Dalla situazione appena descritta, puoi seguire uno dei metodi descritti qui:
          Il metodo 1 va bene in qualunque situazione. Il metodo 2 va bene se hai cPanel sul tuo server. Il metodo 3 implica l’intervento di un professionista.

          Attenzione: Le operazioni illustrate nell’articolo citato, se eseguite in modo scorretto, potrebbero compromettere il sito.

          Se vuoi delegare l’operazione di migrazione, per sicurezza, puoi richiedere un intervento tecnico a noi tramite email così possiamo inviare una proposta adeguata.

          Un saluto

          Rispondi
          • grazie mille per la risposta tempestiva. cerco di valutare insieme ai proprietari del sito cosa è meglio fare… penso che comunque ti contatterò nei prossimi giorni per un preventivo.

          • Figurati,
            valutate le vostre opzioni. Se posso esservi utile, sai dove torvare il modulo di contatto, oppure inviami direttamente un’email citando questo scambio di messaggi.
            Grazie

      2. Grazie mille per la tua risposta, si sto facendo un restyiling completo di un sito che andrà online una volta finito e fino ad allora deve rimanere online quello “vecchio”. Con lo staging però posso fare come una installazione da 0? devo proprio cambiare tutto..sono su Aruba hosting wordpress (che ho ereditato dal passato programmatore)

        Rispondi
        • Prima imposti uno staging su Aruba (puoi leggere come si fa qui), poi puoi resettare lo staging per partire da zero usando il plugin WP Reset. Dopo aver resettato, puoi cancellare il plugin WP Reset.
          Questo plugin di Reset ti permette di cancellare tutto o di salvare alcune cose come i plugin installati. Attenzione, vengono cancellate tutte le impostazioni e i contenuti.
          Se vuoi cancellare solo le impostazioni e salvare i contenuti, usa Customizer Reset, che invece resetta solo il customizer, e lascia i contenuti. Anche questo puoi cancellarlo dopo averlo usato.

          Rispondi
      3. Ciao ho un problema con due istanze sullo stesso dominio. sono in costruzione del nuovo sito che non dovrà coesistere con il vecchio finche non sarà finito. ho fatto quindi una cartella wip e messo tutta una seconda installazione di wordpress..ma se cerco di accedere alla seconda installazione mi da sempre un errore 500..il file htaccess della sotto cartella è impostato come quello che hai scritto te. cosa posso fare? grazie

        Rispondi
        • Ciao,
          se le due istanze di WP non devono coesistere in futuro, immagino che tu stia modificando il sito o ricostruendolo per poi pubblicarlo al posto di quello attuale. Per fare questo, la cosa migliore è fare uno staging di WordPress, che ti permette poi, una volta completato il lavoro, di sostituire automaticamente il vecchio sito con quello nuovo. Trovi maggiori informazioni qui:
          Per rispondere alla tua domanda, l’errore 500 è un errore lato server, quindi il problema è legato al server stesso e potrebbe dipendere da vari fattori

          • Hosting che non permette di avere più siti sotto lo stesso dominio
          • I permessi della cartella in cui hai installato il nuovo WordPress che non permettono visite pubbliche

          Senza sapere su quale hosting ti trovi e quale siano le impostazioni del server, purtroppo non posso aiutarti. Tuttavia, puoi rivolgere la stessa domanda al tuo provider e dovrebbero essere in grado di aiutarti in pochi minuti.

          Rispondi

      Lascia un commento