diff --git a/_templates/versions.html b/_templates/versions.html
index d0228aeac47410c0dbdd063f33d946300e89235f..aee13e782bda7a4dd2af479da9ea4e3762a988d5 100644
--- a/_templates/versions.html
+++ b/_templates/versions.html
@@ -8,13 +8,13 @@
     <div class="rst-other-versions">
       <dl>
         <dt>{{ _('Document Release Versions') }}</dt>
-          <dd><a class="reference internal" href="">latest</a></dd>
-          <dd><a class="reference internal" href="0.0.7">0.0.7</a></dd>
-          <dd><a class="reference internal" href="0.1.0">0.1.0</a></dd>
+          <dd><a href="{{pages_url}}">latest</a></dd>
+          <dd><a href="{{pages_url}}/0.0">0.0</a></dd>
+          <dd><a href="{{pages_url}}/0.1">0.1</a></dd>
       </dl>
       <dl>
         <dt>{{ _('Downloads') }}</dt>
-        <dd><a class="reference internal" href="beagleboard-docs.pdf">PDF</a></dd>
+        <dd><a href="{{docs_url}}/beagleboard-docs.pdf">PDF</a></dd>
       </dl>
       <dl>
         <dt>{{ _('BeagleBoard.org Links') }}</dt>
diff --git a/conf.py b/conf.py
index f09fb5ec42b5e8032c9d48f503795896cc63602b..8de76d225f84994567b60cea0250959943d528fb 100644
--- a/conf.py
+++ b/conf.py
@@ -71,7 +71,7 @@ with open(BBDOCS_BASE  / "VERSION") as f:
     )
 
     if not m:
-        sys.stderr.write("Warning: Could not extract kernel version\n")
+        sys.stderr.write("Warning: Could not extract docs version\n")
         version = "Unknown"
     else:
         major, minor, patch, extra = m.groups(1)
@@ -81,11 +81,26 @@ with open(BBDOCS_BASE  / "VERSION") as f:
 
 release = version
 
-is_release = tags.has("release")  # pylint: disable=undefined-variable
-reference_prefix = ""
-if tags.has("publish"):  # pylint: disable=undefined-variable
-    reference_prefix = f"/{version}" if is_release else "/latest"
-docs_title = "Docs / {}".format(version if is_release else "Latest")
+# parse pages details from 'PAGES' file
+with open(BBDOCS_BASE  / "PAGES") as f:
+    m = re.match(
+        (
+            r"^PAGES_URL\s*=\s*(\S+)$\n"
+            + r"^PAGES_SLUG\s*=\s*(\S+)$\n"
+        ),
+        f.read(),
+        re.MULTILINE,
+    )
+
+    if not m:
+        sys.stderr.write("Warning: Could not extract pages information\n")
+        pages_url = "Unknown"
+        pages_slug = "Unknown"
+    else:
+        url, slug = m.groups(1)
+        pages_url = url
+        pages_slug = slug
+        docs_url = "/".join((url, slug))
 
 html_context = {
     "display_gitlab": True,
@@ -95,8 +110,9 @@ html_context = {
     "gitlab_version": "main",
     "conf_py_path": "/",
     "show_license": True,
-    "docs_title": docs_title,
-    "is_release": is_release,
+    "pages_url": pages_url,
+    "pages_slug": pages_slug,
+    "docs_url": docs_url,
     "current_version": version
 }
 
diff --git a/gitlab-build.sh b/gitlab-build.sh
index f9f4a6def95c63a38b17824b0fa2295b46950826..550a1bbc37822c041680705825c4bc0bd9db2996 100755
--- a/gitlab-build.sh
+++ b/gitlab-build.sh
@@ -2,6 +2,11 @@
 
 env
 
+cat << EOF > PAGES
+PAGES_URL =  $CI_PAGES_URL
+PAGES_SLUG = $CI_COMMIT_BRANCH
+EOF
+
 if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then
 
 rm -rf public