diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php
index d56babdfcdb03fb981d2710477ae0912c4f34b66..78c86b4ab30e4409273fe5308ae7362a52a900e1 100644
--- a/ecrire/exec/articles.php
+++ b/ecrire/exec/articles.php
@@ -496,20 +496,16 @@ function   comparer_statut_articles($id_article, $statut_nouv, $statut_article,
 		$ok_nouveau_statut =  ($statut_nouv != $statut_article);
 
 		// 'depublie' => invalider les caches
-		if ($ok_nouveau_statut AND $statut_article == 'publie' 
-		    AND $GLOBALS['invalider_caches']) {
-		  include_spip('inc/invalideur');
-		  suivre_invalideur("id='id_article/$id_article'");
+		if ($ok_nouveau_statut AND $statut_article == 'publie') {
+			include_spip('inc/invalideur');
+			suivre_invalideur("id='id_article/$id_article'");
 		}
 	}
 	return $ok_nouveau_statut ;
 }
 
 
-function cron_articles($id_article, $statut, $statut_ancien)
-{
-	global $invalider_caches;
-
+function cron_articles($id_article, $statut, $statut_ancien) {
 	calculer_rubriques();
 
 	if ($statut == 'publie') {
@@ -521,8 +517,8 @@ function cron_articles($id_article, $statut, $statut_ancien)
 		envoyer_mail_publication($id_article);
 	}
 
-	if ($statut_ancien == 'publie' AND $invalider_caches) {
-	  	include_spip('inc/invalideur');
+	if ($statut_ancien == 'publie') {
+		include_spip('inc/invalideur');
 		suivre_invalideur("id='id_article/$id_article'");
 	}
 
diff --git a/ecrire/exec/breves_voir.php b/ecrire/exec/breves_voir.php
index 3b63a11636ee97cee6501a0a930d93d6cbd2f6ad..1f02e45876803485a98c9743118663e682cc1512 100644
--- a/ecrire/exec/breves_voir.php
+++ b/ecrire/exec/breves_voir.php
@@ -241,7 +241,7 @@ function exec_breves_voir_dist()
 global $id_breve, $id_parent, $texte, $titre, $statut,
   $annee, $mois, $jour, $lien_titre, $lien_url,$champs_extra,
   $new, $modifier_breve, $changer_lang, $cherche_mot, $nouv_mot,$supp_mot,
-  $connect_statut, $invalider_caches;
+  $connect_statut;
 
 $id_breve = intval($id_breve);
 
@@ -275,10 +275,9 @@ if (strval($titre)!='' AND $modifier_breve) {
 	spip_query("UPDATE spip_breves SET titre='$titre', texte='$texte', lien_titre='$lien_titre', lien_url='$lien_url', statut='$statut', id_rubrique='$id_rubrique' $add_extra WHERE id_breve=$id_breve");
 
 	// invalider et reindexer
-	if ($invalider_caches) {
-		include_spip('inc/invalideur');
-		suivre_invalideur("id='id_breve/$id_breve'");
-	}
+	include_spip('inc/invalideur');
+	suivre_invalideur("id='id_breve/$id_breve'");
+
 	if ($GLOBALS['meta']['activer_moteur'] == 'oui') {
 		include_spip("inc/indexation");
 		marquer_indexer('breve', $id_breve);
diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php
index 106b51b97077bf7308e693d7bf33325b0c723dd5..47de00649113f1d77f23de422b89e5a804ddca1d 100644
--- a/ecrire/exec/naviguer.php
+++ b/ecrire/exec/naviguer.php
@@ -43,16 +43,19 @@ function exec_naviguer_dist()
 				$descriptif,
 				$changer_lang
 			);
-			if (is_int($res)) $id_rubrique = $res;
+
+			// Suite a une creation, rediriger vers l'objet cree
+			if (is_int($res) AND $id_rubrique != $res)
+				redirige_par_entete(generer_url_ecrire('naviguer',
+					'id_rubrique='.$res, true));
 
 			// toute action entraine ceci:
 			calculer_rubriques();
 			calculer_langues_rubriques();
 
-			if ($GLOBALS['invalider_caches']) {
-				include_spip('inc/invalideur');
-				suivre_invalideur("id='id_rubrique/$id_rubrique'");
-			}
+			// invalider les caches marques de cette rubrique
+			include_spip('inc/invalideur');
+			suivre_invalideur("id='id_rubrique/$id_rubrique'");
 		}
 	}
 
diff --git a/ecrire/exec/sites.php b/ecrire/exec/sites.php
index 60a2478ebd042a8b7bbdaf0de292faebf2fa3cf1..c7524e52606615da9d37ecd386d0adb2ccdbb78c 100644
--- a/ecrire/exec/sites.php
+++ b/ecrire/exec/sites.php
@@ -32,7 +32,6 @@ global
   $connect_statut,
   $id_parent,
   $id_syndic,
-  $invalider_caches,
   $jour,
   $miroir,
   $moderation,
@@ -190,10 +189,9 @@ if (strval($nom_site)!='' AND $modifier_site == 'oui' AND $flag_editable) {
 
 	// invalider et reindexer
 	if ($statut == 'publie') {
-		if ($invalider_caches) {
-			include_spip('inc/invalideur');
-			suivre_invalideur("id='id_syndic/$id_syndic'");
-		}
+		include_spip('inc/invalideur');
+		suivre_invalideur("id='id_syndic/$id_syndic'");
+
 		if ($GLOBALS['meta']['activer_moteur'] == 'oui') {
 			include_spip("inc/indexation");
 			marquer_indexer('syndic', $id_syndic);
diff --git a/ecrire/exec/sites_edit.php b/ecrire/exec/sites_edit.php
index 10dbd82b99bceb9fb25bf73ac75dc75c8ba60add..a6b9696c8b524ad49857391d2c74751dae59d9df 100644
--- a/ecrire/exec/sites_edit.php
+++ b/ecrire/exec/sites_edit.php
@@ -71,18 +71,15 @@ if ($new == 'oui'){
 	if ($connect_statut == '0minirezo' OR $GLOBALS['meta']["proposer_sites"] > 0) {
 		debut_cadre_relief("site-24.gif");
 		
-		echo generer_url_post_ecrire('sites', "id_rubrique=$id_rubrique"),
+		echo generer_url_post_ecrire('sites', "id_parent=$id_rubrique"),
 		  "<input type='hidden' name='new' value='oui' />\n",
 		  "<input type='hidden' name='analyser_site' value='oui' />\n",
-		  "<input type='hidden' name='redirect' value='",
-		  urlencode(generer_url_ecrire('sites_edit', "id_rubrique=$id_rubrique&new=oui", true)),
-		  "' />\n",
 		  "<font face='Verdana,Arial,Sans,sans-serif' size='2'>",
 		  _T('texte_referencement_automatique'),
 		  "</font>",
 		  "\n<div align='right'><input type=\"text\" name=\"url\" class='fondl' size='40' value=\"http://\" />\n",
 		  "<input type=\"submit\"  value=\""._T('bouton_ajouter')."\" class='fondo' />\n",
-		  "</form>";		
+		  "</form>";
 		fin_cadre_relief();
 		
 		echo "\n<p><blockquote><b>"._T('texte_non_fonction_referencement')."</b>";