diff --git a/trac/htdocs/css/wiki.css b/trac/htdocs/css/wiki.css
--- a/trac/htdocs/css/wiki.css
+++ b/trac/htdocs/css/wiki.css
@@ -1,4 +1,10 @@
 @import url(code.css);
+
+/* Styles for the path of hierarchical pages */
+h1.path { margin: 0; padding: 0 0 .5em }
+h1.path :link, h1.path :visited { border: none; padding: 0 .2em; color: #b00 }
+h1.path .sep { color: #666; padding: 0 .1em }
+h1.path .pathentry { float: left }
 
 /* Styles for the page editing form */
 #edit #rows { float: right; font-size: 80% }
diff --git a/trac/wiki/templates/wiki_view.html b/trac/wiki/templates/wiki_view.html
--- a/trac/wiki/templates/wiki_view.html
+++ b/trac/wiki/templates/wiki_view.html
@@ -18,6 +18,13 @@
 
   <body>
     <div id="content" class="wiki">
+
+      <h1 class="path" py:if="'/' in page.name" py:with="parts = page.name.split('/')">
+        <py:for each="idx, part in enumerate(parts)"><a
+          class="pathentry" title="View ${'/'.join(parts[:idx + 1])}" href="${href.wiki(*parts[:idx + 1])}">${part}</a><span
+          class="pathentry sep" py:if="idx != len(parts) - 1">/</span></py:for>
+        <br style="clear: both" />
+      </h1>
 
       <py:if test="version">
         <table id="info" summary="Revision info">

