diff --git a/ecrire/inc/indexation.php b/ecrire/inc/indexation.php
index ca28f38bf997b9a83d43f473bba4330881564256..c6c6188e2429b25818d78c441dc014c0b2221ba5 100644
--- a/ecrire/inc/indexation.php
+++ b/ecrire/inc/indexation.php
@@ -148,10 +148,14 @@ function nettoie_nom_fichier($fichier){
 // http://doc.spip.org/@mots_indexation
 function mots_indexation($texte, $min_long = 3) {
 	include_spip('inc/charsets');
+	include_spip('inc/texte');
 
 	// Point d'entree pour traiter le texte avant indexation
 	$texte = pipeline('pre_indexation', $texte);
 
+	// Recuperer les parametres des modeles
+	$texte = traiter_modeles($texte, true);
+
 	// Supprimer les tags HTML
 	$texte = preg_replace(',<.*>,Ums',' ',$texte);
 
@@ -544,7 +548,6 @@ function indexer_objet($table, $id_objet, $forcer_reset = true) {
 			// 6. Changer l'id_objet en id_forum de la racine du thread
 			$id_objet = $id_forum;
 		} else {
-
 			indexer_les_champs($row,$INDEX_elements_objet[$table]);
 			if (isset($INDEX_objet_associes[$table]))
 				foreach($INDEX_objet_associes[$table] as $quoi=>$poids)
@@ -565,11 +568,11 @@ function indexer_objet($table, $id_objet, $forcer_reset = true) {
 				indexer_contenu_document($row);
 			}
 	 	}
- 	}
+	} else
+		spip_log("je ne sais pas indexer '$table'");
 
 	$result = spip_query("DELETE FROM $table_index WHERE id_objet=$id_objet AND id_table=$id_table");
 
-
 	if ($index) {
 		if ($mots) {
 	// supprimer la virgule du debut
diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php
index dea96eccb41381e57c3e542ae4c64e4a2af02c52..8cca8b9ff01287445d9c7e1427572b179bedd08d 100644
--- a/ecrire/inc/texte.php
+++ b/ecrire/inc/texte.php
@@ -938,6 +938,7 @@ function supprime_img($letexte) {
 // partir du squelette modeles/modele.html
 // Le nom du modele doit faire au moins trois caracteres (evite <h2>)
 // Si $doublons==true, on repere les documents sans calculer les modeles
+// mais on renvoie les params (pour l'indexation par le moteur de recherche)
 // http://doc.spip.org/@traiter_modeles
 function traiter_modeles($texte, $doublons=false) {
 	// detecter les modeles (rapide)
@@ -972,15 +973,20 @@ function traiter_modeles($texte, $doublons=false) {
 			}
 
 			// calculer le modele
-			if ($doublons) $modele = ''; else # hack articles_edit, breves_edit
-			$modele = inclure_modele($regs[2], $regs[3], $regs[4], $lien);
-
-			// le remplacer dans le texte
-			if ($modele !== false) {
-				$rempl = code_echappement($modele);
-				$texte = substr($texte, 0, $a)
-					. $rempl
-					. substr($texte, $a+strlen($cherche));
+			# hack articles_edit, breves_edit, indexation
+			if ($doublons)
+				$texte .= preg_replace(',[|][^|=]*,s',' ',$regs[4]);
+			# version normale
+			else {
+				$modele = inclure_modele($regs[2], $regs[3], $regs[4], $lien);
+
+				// le remplacer dans le texte
+				if ($modele !== false) {
+					$rempl = code_echappement($modele);
+					$texte = substr($texte, 0, $a)
+						. $rempl
+						. substr($texte, $a+strlen($cherche));
+				}
 			}
 
 			// hack pour tout l'espace prive