diff --git a/bin/updateSiteSearch.mjs b/bin/updateSiteSearch.mjs
new file mode 100644
index 00000000..85658297
--- /dev/null
+++ b/bin/updateSiteSearch.mjs
@@ -0,0 +1,48 @@
+import fs from "fs";
+
+const metadataFilePath = "templates/data/meta-info.json";
+const siteSearchFilePath = "templates/data/site-search.json";
+
+/* Read from site metadata file and create search directory based on existing information */
+function updateSearchJSON() {
+ const searchList = [];
+
+ fs.readFile(metadataFilePath, (error, data) => {
+ if (error) {
+ console.log(`Error occurred in reading file ${metadataFilePath}`, error);
+ return;
+ }
+
+ const obj = JSON.parse(data);
+ let count = 0;
+
+ for (const [key, entry] of Object.entries(obj)) {
+ if (entry["searchable"] == true) {
+ const searchEntry = {};
+
+ try {
+ searchEntry["id"] = count;
+ searchEntry["title"] = entry["shortTitle"]? entry["shortTitle"] : entry["title"];
+ searchEntry["desc"] = entry["desc"];
+ searchEntry["link"] = `/${key}`;
+ searchList.push(searchEntry);
+ } catch (e) {
+ console.log(`Error in adding key ${key}: ${e}`);
+ }
+ }
+ count += 1;
+ }
+
+ try {
+ fs.writeFileSync(
+ siteSearchFilePath,
+ JSON.stringify(searchList, null, 2),
+ "utf-8",
+ );
+ } catch (e) {
+ console.log(`Error in writing file ${siteSearchFilePath}}: ${e}`);
+ }
+ });
+}
+
+updateSearchJSON();
diff --git a/content/head/combobox.php b/content/head/combobox.php
index adf05795..596831de 100644
--- a/content/head/combobox.php
+++ b/content/head/combobox.php
@@ -1,5 +1,6 @@
+