diff --git a/.gitignore b/.gitignore
index 7ee8d0f81ba53c85280fe7d1a70c7ed30be520fb..40fad208e879f0673c0cd87158dcc9020d11156d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
 vendor/*
 auth.json
-mu-plugins-src/*
 app/*
diff --git a/README.md b/README.md
index 2b0f57f3144d39dcb0ac14c710956645e8951c54..95026264deed4e370eb6581c89486a18f72da338 100644
--- a/README.md
+++ b/README.md
@@ -72,11 +72,28 @@ Per ri-applicare tutte the patches senza aggiornare le dipendenze (per fare prim
 composer update nothing
 ```
 
-# Struttura delle directory di Wordpress
+# Struttura delle directory generate
 
-Composer non è contento di spacchettare due dipendenze nella stessa directory. Quindi separa wordpress-core in ```app/wp```, mentre c'è un ```app/wp-content``` dove vengono spachettati i vari temi/plugins/etc. Bisognerà fare dei magheggi per riscrivere le URL. [Vedi qui](https://www.smashingmagazine.com/2019/03/composer-wordpress/) e [qui](https://roots.io/docs/bedrock/master/server-configuration/#apache-configuration-for-bedrock).
+Composer quando aggiorna un pacchetto, rimuove tutti i file che trova nella directory dove deve essere spacchettato, prima di mettere quelli nuovi (di modo che non rimangano file "vecchi"). Questo vuol dire che se si aggiorna wordpress-core dopo aver installato temi e pacchetti, questi ultimi vengono rimossi, **a meno che** non siano stati installati in una directory separata.
 
-Altenativamente, possiamo rimettere tutto a posto quando creiamo l'immagine Docker, che forse è la cosa più semplice da fare.
+Mi sembra che di suo composer segua l'ordine dei requirement nel file json nell'ordine in cui sono scritti, per cui forse non è un problema. L'alternativa, sicuramente più "stabile", è separare le directory in questo modo:
+
+- una directory ```app/``` dove troveremo tutto il codice che dovrà andare dentro il container
+- una directory ```vendor/``` dove verranno spacchettate alcune dipendenze di cui però solo alcuni file vengono copiati, tramite il meccanismo dei ```drop-in```, dentro ```app/```. I drop-in non cancellano nessun file quindi non abbiamo problema a mandare più cose dentro la stessa destinazione.
+
+A sua volta ```app/``` è strutturata così:
+
+- una directory ```app/wp-core``` dove viene spacchettato il codice di wordpress core
+- una directory ```app/wp-root``` che sarà la root di wordpress dove mettere tutto il resto
+
+In particolare dentro ```app/wp-root``` avremo
+- una directory ```wp-content``` separata dove spacchettare temi, plugin, traduzioni
+- una directory ```wp-includes``` separta dove mettere alcune librerie js
+- ci sono inoltre dei file "spuri", principalmente di r2db e hyperdb, che vanno messi in giro. Questi al momento sono:
+  + ```db.php``` e ```advanced-cache.php``` che vanno in ```app/wp-root/wp-content``` 
+  + ```db-config.php```, ```r2db/```, ```wp-nginx-map-json.php``` e ```wp-nginx-map.php``` che devono stare nella root di wordpress, quindi li mettiamo direttamente in ```app/wp-root/```
+
+Al momento di creare il container, ci dobbiamo ricordare che i contenuti di ```app/wp-core``` vanno copiati dentro ```app/wp-root```, e che questa è l'unica directory che va tenuta dentro il container. 
 
 # Come dovrebbe funzionare a regime
 
diff --git a/composer.json b/composer.json
index 68b8c3399a57177c3489641b11f9f0cffcc2c37e..67750669835e7d268622b413018c1e58b7a3276d 100644
--- a/composer.json
+++ b/composer.json
@@ -93,26 +93,26 @@
         "noblogs/remove-gravatar": "^0.1.0"
     },    
     "extra": {
-        "wordpress-install-dir": "app/",
+        "wordpress-install-dir": "app/wp-core",
 	"installer-types": ["bower-asset", "npm-asset"],
         "installer-paths": {            
-            "mu-plugins-src/{$name}": [
+            "vendor/{$name}": [
                 "wpackagist-plugin/hyperdb",
                 "wpackagist-plugin/disable-wordpress-updates",
                 "wpackagist-plugin/wpmu-new-blog-defaults",
                 "wpackagist-plugin/more-privacy-options",
                 "wpackagist-plugin/disable-emojis",                
                 "type:wordpress-muplugin"],
-            "app/{$name}": ["type:wordpress-dropin"],
-            "app/wp-content/plugins/{$name}/": ["type:wordpress-plugin"],
-            "app/wp-content/themes/{$name}/": ["type:wordpress-theme"],
-	    "app/wp-includes/js/{$name}/": ["type:npm-asset", "type:bower-asset"]
+            "app/wp-root/{$name}": ["type:wordpress-dropin"],
+            "app/wp-root/wp-content/plugins/{$name}/": ["type:wordpress-plugin"],
+            "app/wp-root/wp-content/themes/{$name}/": ["type:wordpress-theme"],
+	    "app/wp-root/wp-includes/js/{$name}/": ["type:npm-asset", "type:bower-asset"]
         },
-        "wordpress-language-dir": "app/wp-content/languages/",
+        "wordpress-language-dir": "app/wp-root/wp-content/languages/",
         "wordpress-languages": [ "en_GB", "it_IT" ],
         "patches-file": "composer.patches.json",        
         "dropin-paths": {
-            "app/wp-content/mu-plugins" : [
+            "app/wp-root/wp-content/mu-plugins" : [
                 "package:wpackagist-plugin/disable-wordpress-updates:disable-updates.php",
                 "package:wpackagist-plugin/wpmu-new-blog-defaults:cets_blog_defaults.php",
                 "package:wpackagist-plugin/more-privacy-options:ds_wp3_private_blog.php",
@@ -120,8 +120,8 @@
                 "package:noblogs/ai-mu-plugins:embed.php,remove-password-change-notification.php,send-smtp-email.php",
                 "package:noblogs/noblogs-wp-ssl:noblogs-wp-ssl.php"
             ],
-            "app/wp-content": ["package:wpackagist-plugin/hyperdb:db.php", "package:wpackagist-plugin/wp-super-cache:advanced-cache.php"],
-            "app": ["package:noblogs/r2db:db-config.php,nginx-map/wp-nginx-map-json.php,nginx-map/wp-nginx-map.php"]
+            "app/wp-root/wp-content": ["package:wpackagist-plugin/hyperdb:db.php", "package:wpackagist-plugin/wp-super-cache:advanced-cache.php"],
+            "app/wp-root": ["package:noblogs/r2db:db-config.php,nginx-map/wp-nginx-map-json.php,nginx-map/wp-nginx-map.php"]
         }
     }
 }
diff --git a/composer.lock b/composer.lock
index 24a26a1cc5c83ea114a6001ed531e3d3222c3b3e..86b7caff70ba0009e5699e231297760f0ba6c02b 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "9379ac8609fce3a62060ed5a3ab21343",
+    "content-hash": "ebc9141a092ac29f1a6071d970eaefa5",
     "packages": [
         {
             "name": "bjornjohansen/wplang",