diff --git a/src/app.lisp b/src/app.lisp
index 2a98582..27e1ca4 100644
--- a/src/app.lisp
+++ b/src/app.lisp
@@ -18,8 +18,8 @@
 (defmethod jg:not-found ((app jg:app))
   (view:render (cmp:not-found-page)
                :status :not-found
-               :title "404 Not Found"
-               :description "お探しのページは見つかりませんでした。"))
+               :metadata '(:title "404 Not Found"
+                           :description "お探しのページは見つかりませんでした。")))
 
 (defun start ()
   (jg:start *app*))
diff --git a/src/components/global/document.lisp b/src/components/global/document.lisp
index d899cef..8efb0c8 100644
--- a/src/components/global/document.lisp
+++ b/src/components/global/document.lisp
@@ -4,9 +4,23 @@
   (:export #:document))
 (in-package #:hp/components/global/document)
 
-(pi:define-element document (metadata)
+(pi:define-element document (title description)
   (pi:h
     (html :lang "ja"
-      metadata
-      (body :hx-ext "head-support"
-        pi:children))))
+      (head
+        (meta :charset "UTF-8")
+        (script :src "/scripts/htmx.js")
+        (script :src "/scripts/htmx-ext/head-support.js")
+        (script :src "/scripts/alpine.js" :defer t)
+        (link :rel "stylesheet" :type "text/css" :href "/styles/ress.css")
+        (link :rel "stylesheet" :type "text/css" :href "/styles/global.css")
+        (link :rel "preconnect" :href "https://fonts.googleapis.com")
+        (link :rel "preconnect" :href "https://fonts.gstatic.com" :crossorigin t)
+        (link 
+          :rel "stylesheet"
+          :href "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap")
+        (title (format nil "~@[~a - ~]skyizwhite.dev" title))
+        (meta
+          :name "description"
+          :content (or description "pakuの個人サイト")))
+      pi:children)))
diff --git a/src/components/global/layout.lisp b/src/components/global/layout.lisp
index 908468a..4d3caa6 100644
--- a/src/components/global/layout.lisp
+++ b/src/components/global/layout.lisp
@@ -6,4 +6,5 @@
 
 (pi:define-element layout ()
   (pi:h
-    (main pi:children)))
+    (body :hx-ext "head-support"
+      (main pi:children))))
diff --git a/src/components/global/metadata.lisp b/src/components/global/metadata.lisp
deleted file mode 100644
index 3c3b9ae..0000000
--- a/src/components/global/metadata.lisp
+++ /dev/null
@@ -1,24 +0,0 @@
-(defpackage #:hp/components/global/metadata
-  (:use #:cl)
-  (:local-nicknames (#:pi #:piccolo))
-  (:export #:metadata))
-(in-package #:hp/components/global/metadata)
-
-(pi:define-element metadata (title description)
-  (pi:h
-    (head
-      (meta :charset "UTF-8")
-      (script :src "/scripts/htmx.js")
-      (script :src "/scripts/htmx-ext/head-support.js")
-      (script :src "/scripts/alpine.js" :defer t)
-      (link :rel "stylesheet" :type "text/css" :href "/styles/ress.css")
-      (link :rel "stylesheet" :type "text/css" :href "/styles/global.css")
-      (link :rel "preconnect" :href "https://fonts.googleapis.com")
-      (link :rel "preconnect" :href "https://fonts.gstatic.com" :crossorigin t)
-      (link 
-        :rel "stylesheet"
-        :href "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap")
-      (title (format nil "~@[~a - ~]skyizwhite.dev" title))
-      (meta
-        :name "description"
-        :content (or description "pakuの個人サイト")))))
diff --git a/src/routes/about.lisp b/src/routes/about.lisp
index a30d368..e159045 100644
--- a/src/routes/about.lisp
+++ b/src/routes/about.lisp
@@ -5,6 +5,10 @@
   (:export #:on-get))
 (in-package #:hp/routes/about)
 
+(defparameter *metadata*
+  '(:title "about"
+    :description "pakuの自己紹介"))
+
 (pi:define-element page ()
   (pi:h
     (section
@@ -12,6 +16,4 @@
 
 (defun on-get (params)
   (declare (ignore params))
-  (view:render (page)
-               :title "about"
-               :description "pakuの自己紹介"))
+  (view:render (page) :metadata *metadata*))
diff --git a/src/view.lisp b/src/view.lisp
index 9a578cc..2cfc1cd 100644
--- a/src/view.lisp
+++ b/src/view.lisp
@@ -6,14 +6,9 @@
   (:export #:render))
 (in-package #:hp/view)
 
-(defun render (page &key status title description)
+(defun render (page &key metadata status)
   (jg:with-html-response
     (and status (jg:set-response-status status))
     (pi:elem-str
-     (let ((md (cmp:metadata :title title :description description))
-           (body (cmp:layout page)))
-       (pi:h
-         (if (jg:get-request-header "HX-Boosted")
-             (<> md body)
-             (cmp:document :metadata md
-               body)))))))
+     (cmp:document metadata
+       (cmp:layout page)))))