diff --git a/src/plugins/server/request.ml b/src/plugins/server/request.ml
index 75b095985ab496735dae51afcb411a7d7103129d..62edd8ff9b654082bab41b9d1a68e4d9e575368d 100644
--- a/src/plugins/server/request.ml
+++ b/src/plugins/server/request.ml
@@ -296,6 +296,7 @@ let register_sig (type a b) (s : (a,b) signature) (process : rq -> a -> b) =
   in
   let skind = Main.string_of_kind s.kind in
   let title =  Printf.sprintf "`%s` %s" skind s.name in
+  let index = [ Printf.sprintf "%s (`%s`)" s.name skind ] in
   let header = [ plain "Input", Center; plain "Output", Center] in
   let content =
     [[ Syntax.text @@ sy_input s.input ;
@@ -308,7 +309,7 @@ let register_sig (type a b) (s : (a,b) signature) (process : rq -> a -> b) =
     doc_output s.output
   in
   let _ =
-    Doc.publish ~page:s.page ~name:s.name ~title ~index:[s.name] description []
+    Doc.publish ~page:s.page ~name:s.name ~title ~index description []
   in
   Main.register s.kind s.name processor ;
   s.defined <- true
diff --git a/src/plugins/server/syntax.ml b/src/plugins/server/syntax.ml
index f36e96261b9656876d2da94ac9ab8ace01f35f46..4b47e47ba69fe29332ff612947efe84a6f882179 100644
--- a/src/plugins/server/syntax.ml
+++ b/src/plugins/server/syntax.ml
@@ -65,12 +65,13 @@ let publish ~page ~name ~descr ~synopsis ?(details = []) () =
   check_page page name ;
   let id = Printf.sprintf "data-%s" name in
   let title = Printf.sprintf "`DATA` %s" name in
-  let dref = Doc.href page id in
+  let index = [ Printf.sprintf "%s (`DATA`)" name ] in
+    let dref = Doc.href page id in
   let dlink = Markdown.href ~text:(Markdown.emph name) dref in
   let syntax = Markdown.(glue [
       plain "<" ; dlink ; plain ">" ; plain ":=" ; synopsis.text ]) in
   let content = Markdown.(Block ( text descr @ text syntax ) :: details) in
-  let _href = Doc.publish ~page ~name:id ~title ~index:[name] content [] in
+  let _href = Doc.publish ~page ~name:id ~title ~index content [] in
   atom dlink
 
 let unit = atom @@ Markdown.plain "-"