diff --git a/wire/config.php b/wire/config.php
index 1160d901..575d49e9 100644
--- a/wire/config.php
+++ b/wire/config.php
@@ -130,6 +130,18 @@ $config->demo = false;
*/
$config->useFunctionsAPI = false;
+/**
+ * Enable use of front-end markup regions?
+ *
+ * When enabled, HTML elements with an "id" attribute that are output before the opening
+ * `` or `` tag can replace elements in the document that have the same id.
+ * Also supports append, prepend, replace, remove, before and after options.
+ *
+ * @var bool
+ *
+ */
+$config->useMarkupRegions = false;
+
/*** 2. DATES & TIMES *************************************************************************/
diff --git a/wire/core/Config.php b/wire/core/Config.php
index 484d6385..9d4bc0c2 100644
--- a/wire/core/Config.php
+++ b/wire/core/Config.php
@@ -121,6 +121,7 @@
* @property bool $allowExceptions Allow Exceptions to propagate? (default=false, specify true only if you implement your own exception handler) #pw-group-system
* @property bool $usePoweredBy Use the x-powered-by header? Set to false to disable. #pw-group-system
* @property bool $useFunctionsAPI Allow most API variables to be accessed as functions? (see /wire/core/FunctionsAPI.php) #pw-group-system
+ * @property bool $useMarkupRegions Enable support for front-end markup regions? #pw-group-system
* @property int $lazyPageChunkSize Chunk size for for $pages->findMany() calls. #pw-group-system
*
* @property string $userAuthSalt Salt generated at install time to be used as a secondary/non-database salt for the password system. #pw-group-session
diff --git a/wire/core/WireMarkupRegions.php b/wire/core/WireMarkupRegions.php
new file mode 100644
index 00000000..a24774a4
--- /dev/null
+++ b/wire/core/WireMarkupRegions.php
@@ -0,0 +1,890 @@
+` to match all of those HTML tags (i.e. `