diff --git a/process.lisp b/process.lisp
index 2d485866e86ee747b6cb0fcc0d30e61db5e3e806..469cb7706a58cc830f4024104ae608530919191d 100644
--- a/process.lisp
+++ b/process.lisp
@@ -68,6 +68,8 @@
 
 ;; Process news
 
+(defparameter +edit-news-link+ "https://gitlab.common-lisp.net/clo/cl-site/edit/master/content/news.md")
+
 (defun generate-news ()
   (let ((html
          (markdown:parse-file (merge-pathnames "news.md" *PAGES-DIR*))))
@@ -76,6 +78,7 @@
                        :if-does-not-exist :create
                        :if-exists :supersede)
       (write-string "<div id=\"bodyText\">" f)
+      (format f "<a class=\"btn btn-secondary float-right\" href=\"~A\"><i class=\"far fa-edit\"></i>&nbsp;Edit this page</a>" +edit-news-link+)
       (write-string "<h1>Latest Common-Lisp.net news</h1>" f)
       (write-string html f)
       (write-string "</div>" f))