diff --git a/getting-started.md b/getting-started.md
index de34af015a20870bb8627c92dda04cf78f22feb9..65b5e5fcb4a33f9e65f6ef537d4b0e82c2a1aa26 100644
--- a/getting-started.md
+++ b/getting-started.md
@@ -1,3 +1,6 @@
+title: Reproducible software deployment for high-performance computing.
+---
+
 [GNU Guix](https://www.gnu.org/software/guix/) is a *transactional*
 package manager, with support for *per-user* package installations.
 Users can install their own packages without interfering with each
@@ -188,6 +191,8 @@ just
 
 # Joining
 
+Learn more about on-going Guix-HPC developments [on our blog](/blog).
+
 [Guix-HPC](/about.html)
 and [GNU Guix](https://www.gnu.org/software/guix/) are collaborative
 efforts.  You are welcome to [join](/about.html)!
diff --git a/guix-hpc.scm b/guix-hpc.scm
index 10b58c47154b893f11a6ee951982e8c135644876..27deaf582e28206d9c5d1fdb99af6d8f1b119134 100644
--- a/guix-hpc.scm
+++ b/guix-hpc.scm
@@ -23,14 +23,14 @@
   (string-concatenate (cons "" location)))
 
 (define (image-url location)
-  (base-url "static/images" location))
+  (base-url "/static/images" location))
 
 (define (css-url location)
-  (base-url "static/css" location))
+  (base-url "/static/css" location))
 
 (define (post-url post site)
   "Return the URL of POST, a Haunt blog post, for SITE."
-  (base-url (site-post-slug site post) ".html"))
+  (base-url "/blog/" (site-post-slug site post) ".html"))
 
 
 (define* (base-layout body #:key (title "Guix-HPC"))
@@ -58,9 +58,11 @@
            (div (@ (id "menubar")
                    (class "width-control"))
                 (ul
-                 (li (a (@ (href ,(base-url "about.html")))
+                 (li (a (@ (href ,(base-url "/about.html")))
                         "About"))
-                 (li (a (@ (href ,(base-url "/news/feed.xml")))
+                 (li (a (@ (href ,(base-url "/blog")))
+                        "Blog"))
+                 (li (a (@ (href ,(base-url "/blog/feed.xml")))
                         (img (@ (alt "Atom feed")
                                 (src ,(image-url "/feed.png"))))))))
 
@@ -103,8 +105,10 @@ representation."
                  #:title (string-append "Guix-HPC — "
                                         (assoc-ref meta 'title)))))
 
-(define (about-page)
-  (read-markdown-page "about.md"))
-
 (define (static-pages)
-  (list (make-page "about.html" (about-page) sxml->html)))
+  (define (markdown-page html md)
+    (make-page html (read-markdown-page md)
+               sxml->html))
+
+  (list (markdown-page "about.html" "about.md")
+        (markdown-page "index.html" "getting-started.md")))
diff --git a/haunt.scm b/haunt.scm
index 933c8c2e7d219357c77676a0c6434240a9f2750a..da4686f03c37ccd110e85c0298cd7a32de70357a 100644
--- a/haunt.scm
+++ b/haunt.scm
@@ -72,11 +72,12 @@
         (email  . "guix-devel@gnu.org"))
       #:readers (list commonmark-reader)
       #:builders
-      (cons* (blog #:theme %hpc-haunt-theme)
+      (cons* (blog #:theme %hpc-haunt-theme
+                   #:prefix "blog")
 
              ;; Apparently the <link> tags of Atom entries must be absolute URLs,
              ;; hence this #:blog-prefix.
-             (atom-feed #:file-name "news/feed.xml"
+             (atom-feed #:file-name "blog/feed.xml"
                         #:blog-prefix "https://hpc.guixsd.org")
 
              (static-directory "static")
diff --git a/nginx-locations.conf b/nginx-locations.conf
index 4b947e685c8dbba8e27705629c77e346018d584b..7e03faeacc556b4041111460a5978242832a0adf 100644
--- a/nginx-locations.conf
+++ b/nginx-locations.conf
@@ -6,3 +6,11 @@ location / {
 location /.well-known {
    root /var/www;
 }
+
+# Redirects for old URLs.
+location = /guix-hpc-debut.html {
+   return 301 /blog/guix-hpc-debut.html;
+}
+location = /feed.xml {
+   return 301 /blog/feed.xml;
+}