diff --git a/scripts/check_site_lib.lua b/scripts/check_site_lib.lua
index a2b5500b4987e06ae7092ed7c9ad78703dc15bec..ec2498ec86c8e9d3b5d65e65c0c5a3ba2c9059ba 100644
--- a/scripts/check_site_lib.lua
+++ b/scripts/check_site_lib.lua
@@ -47,6 +47,18 @@ function need_number(varname, required)
    return var
 end
 
+function need_boolean(varname, required)
+   local var = loadvar(varname)
+
+   if required == false and var == nil then
+      return nil
+   end
+
+   assert_type(var, 'boolean', "site.conf error: expected `" .. varname .. "' to be a boolean")
+
+   return var
+end
+
 function need_array(varname, subcheck, required)
    local var = loadvar(varname)