diff --git a/composer.json b/composer.json
index 1cf6e8b9a4adc72d1b03f62a90ec709b5199ae22..5d2e44182ede476eea90c023b27a0bf651e254a6 100644
--- a/composer.json
+++ b/composer.json
@@ -143,7 +143,7 @@
         "drupal/menu_block": "1.4",
         "drupal/menu_block_title": "^1.1",
         "drupal/menu_breadcrumb": "^1.7",
-        "drupal/metatag": "1.8",
+        "drupal/metatag": "1.9",
         "drupal/migrate_devel": "1.x-dev",
         "drupal/migrate_plus": "4.0",
         "drupal/migrate_tools": "4.0",
diff --git a/composer.lock b/composer.lock
index b2e677c7df1b19f2ca31fdbec04f63d81b3a4450..4716f95d4eeb62c94e397da1db0aeda612e7382e 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "3caed5dbd094aa4540ec32282a537ca5",
+    "content-hash": "7604230aa9adf47dda5866685c99ae24",
     "packages": [
         {
             "name": "alchemy/zippy",
@@ -5851,17 +5851,17 @@
         },
         {
             "name": "drupal/metatag",
-            "version": "1.8.0",
+            "version": "1.9.0",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/metatag.git",
-                "reference": "8.x-1.8"
+                "reference": "8.x-1.9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.8.zip",
-                "reference": "8.x-1.8",
-                "shasum": "fb5d31aa08c8c2e175f096f9917e9741db152ea8"
+                "url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.9.zip",
+                "reference": "8.x-1.9",
+                "shasum": "230960752c5afa17337fb69bae853bccb1a26ecd"
             },
             "require": {
                 "drupal/core": "*",
@@ -5883,8 +5883,8 @@
                     "dev-1.x": "1.x-dev"
                 },
                 "drupal": {
-                    "version": "8.x-1.8",
-                    "datestamp": "1550692511",
+                    "version": "8.x-1.9",
+                    "datestamp": "1563995941",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
diff --git a/web/modules/metatag/CHANGELOG.txt b/web/modules/metatag/CHANGELOG.txt
index 8955618d35b628ee58d969506ec24f17f6349b7c..89a4da1f909482ccecd6c46da3efb211d2f4f7d2 100644
--- a/web/modules/metatag/CHANGELOG.txt
+++ b/web/modules/metatag/CHANGELOG.txt
@@ -1,3 +1,8 @@
+Metatag 8.x-1.9, 2019-07-24
+---------------------------
+By DamienMcKenna, anton.shloma: Improved maintenance mode identification.
+
+
 Metatag 8.x-1.8, 2019-02-20
 ---------------------------
 By samuel.mortenson, Berdir, DamienMcKenna: Fix data property definition.
diff --git a/web/modules/metatag/metatag.info.yml b/web/modules/metatag/metatag.info.yml
index e92edaa59328a18a940ef839fc76bb55b141b489..9c27fed798d0f57e082dbcebb2b65e71ff6d2494 100644
--- a/web/modules/metatag/metatag.info.yml
+++ b/web/modules/metatag/metatag.info.yml
@@ -13,8 +13,8 @@ test_dependencies:
   - restui:restui
   - schema_metatag:schema_web_page
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag.module b/web/modules/metatag/metatag.module
index b9fad84a6df09831476984d7dd6ca35e5cedb1d0..e0bd16f9864b6e0242ca8cf2973b49bc0e44a6c4 100644
--- a/web/modules/metatag/metatag.module
+++ b/web/modules/metatag/metatag.module
@@ -278,6 +278,12 @@ function metatag_is_current_route_supported() {
     return FALSE;
   }
 
+  // Skip everything if the site is in maintenance mode.
+  $route_match = \Drupal::routeMatch();
+  if (\Drupal::service('maintenance_mode')->applies($route_match)) {
+    return FALSE;
+  }
+
   return TRUE;
 }
 
diff --git a/web/modules/metatag/metatag_app_links/metatag_app_links.info.yml b/web/modules/metatag/metatag_app_links/metatag_app_links.info.yml
index 1f79a53f00656a0715cf541571aed0d8910b52b6..ce3b78881146dfece5802b177b9891ba75516822 100644
--- a/web/modules/metatag/metatag_app_links/metatag_app_links.info.yml
+++ b/web/modules/metatag/metatag_app_links/metatag_app_links.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_dc/metatag_dc.info.yml b/web/modules/metatag/metatag_dc/metatag_dc.info.yml
index 33eaa6e0a3698677fd11ec4e29a66e7ad69cc5ac..094000249dea961a2fade6ee81675b7e8c2601d8 100644
--- a/web/modules/metatag/metatag_dc/metatag_dc.info.yml
+++ b/web/modules/metatag/metatag_dc/metatag_dc.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_dc_advanced/metatag_dc_advanced.info.yml b/web/modules/metatag/metatag_dc_advanced/metatag_dc_advanced.info.yml
index 45c1213421bf15ab9b8b4f2243583c1509480a35..e0f2dd6c082a52a8e10aeac0df56613527078f1a 100644
--- a/web/modules/metatag/metatag_dc_advanced/metatag_dc_advanced.info.yml
+++ b/web/modules/metatag/metatag_dc_advanced/metatag_dc_advanced.info.yml
@@ -7,8 +7,8 @@ dependencies:
   - metatag:metatag
   - metatag:metatag_dc
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_facebook/metatag_facebook.info.yml b/web/modules/metatag/metatag_facebook/metatag_facebook.info.yml
index 859e96f3dd9e62404c8bfbbfe8ab1f999347fb92..8ac8a3063009595b34c565df4377026c97234ccb 100644
--- a/web/modules/metatag/metatag_facebook/metatag_facebook.info.yml
+++ b/web/modules/metatag/metatag_facebook/metatag_facebook.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_favicons/metatag_favicons.info.yml b/web/modules/metatag/metatag_favicons/metatag_favicons.info.yml
index 5ebb9ac313389978f85fc086930d0322e8fe6223..b6465555fc1fdeceb43deaf0f305d860d50ff641 100644
--- a/web/modules/metatag/metatag_favicons/metatag_favicons.info.yml
+++ b/web/modules/metatag/metatag_favicons/metatag_favicons.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_google_cse/metatag_google_cse.info.yml b/web/modules/metatag/metatag_google_cse/metatag_google_cse.info.yml
index 4246003b49ed49e961cffae0188980f1cd8ea36f..e3f22b1467ced23fba1d2f955a3db6d967e7b349 100644
--- a/web/modules/metatag/metatag_google_cse/metatag_google_cse.info.yml
+++ b/web/modules/metatag/metatag_google_cse/metatag_google_cse.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_google_plus/metatag_google_plus.info.yml b/web/modules/metatag/metatag_google_plus/metatag_google_plus.info.yml
index da67659b7ca1b973f1a7678a48852315a6ee4af7..dae167cf2a17881bcad6863bfaaad643b7cdc388 100644
--- a/web/modules/metatag/metatag_google_plus/metatag_google_plus.info.yml
+++ b/web/modules/metatag/metatag_google_plus/metatag_google_plus.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_hreflang/metatag_hreflang.info.yml b/web/modules/metatag/metatag_hreflang/metatag_hreflang.info.yml
index 1901aaed4243e747fcb7a477bd67216c5531e592..18ed32bd14f936703618b3ccf5fd3e6b3df08a1f 100644
--- a/web/modules/metatag/metatag_hreflang/metatag_hreflang.info.yml
+++ b/web/modules/metatag/metatag_hreflang/metatag_hreflang.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_mobile/metatag_mobile.info.yml b/web/modules/metatag/metatag_mobile/metatag_mobile.info.yml
index da52a0823fd1945a4ebfef84cddec43556276d27..4363a9de18983a23861de7f98f838e10d4bd41ba 100644
--- a/web/modules/metatag/metatag_mobile/metatag_mobile.info.yml
+++ b/web/modules/metatag/metatag_mobile/metatag_mobile.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_open_graph/metatag_open_graph.info.yml b/web/modules/metatag/metatag_open_graph/metatag_open_graph.info.yml
index 16ef28d0b97de1056dc26293c2fd330aa9932173..fd06c860d74ac7ddd8e3b99dea640dc16547a1de 100644
--- a/web/modules/metatag/metatag_open_graph/metatag_open_graph.info.yml
+++ b/web/modules/metatag/metatag_open_graph/metatag_open_graph.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_open_graph_products/metatag_open_graph_products.info.yml b/web/modules/metatag/metatag_open_graph_products/metatag_open_graph_products.info.yml
index 2e7721e51d1f5f3f6d7a8ad5e078199caa8eb32a..b5064d711dea97771e48b18333a0b5072f1e2d14 100644
--- a/web/modules/metatag/metatag_open_graph_products/metatag_open_graph_products.info.yml
+++ b/web/modules/metatag/metatag_open_graph_products/metatag_open_graph_products.info.yml
@@ -7,8 +7,8 @@ dependencies:
   - metatag:metatag
   - metatag:metatag_open_graph
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_page_manager/metatag_page_manager.info.yml b/web/modules/metatag/metatag_page_manager/metatag_page_manager.info.yml
index 4da08b5678510beeb01aed5815c6a12925b42e07..c69aa713ca71a103a3e44a24b8d9c794261faa89 100644
--- a/web/modules/metatag/metatag_page_manager/metatag_page_manager.info.yml
+++ b/web/modules/metatag/metatag_page_manager/metatag_page_manager.info.yml
@@ -7,8 +7,8 @@ dependencies:
   - page_manager:page_manager
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_pinterest/metatag_pinterest.info.yml b/web/modules/metatag/metatag_pinterest/metatag_pinterest.info.yml
index 3f91423255cabecedabdf29aee6b230b62b948f5..f2b0f23688e36c0125b45de1aa2f80b5eaa534e9 100644
--- a/web/modules/metatag/metatag_pinterest/metatag_pinterest.info.yml
+++ b/web/modules/metatag/metatag_pinterest/metatag_pinterest.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_twitter_cards/metatag_twitter_cards.info.yml b/web/modules/metatag/metatag_twitter_cards/metatag_twitter_cards.info.yml
index ba3461f194a3d9d7fe87edfe67e7a99726a5f793..003681c720f187c64629ffe144dc9b97481120f3 100644
--- a/web/modules/metatag/metatag_twitter_cards/metatag_twitter_cards.info.yml
+++ b/web/modules/metatag/metatag_twitter_cards/metatag_twitter_cards.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_verification/metatag_verification.info.yml b/web/modules/metatag/metatag_verification/metatag_verification.info.yml
index 7d4b7e4c170cbfe2aa04222477638f3c649e395b..8689610b42c5c5ea75ebf5bb6985041e77d956cb 100644
--- a/web/modules/metatag/metatag_verification/metatag_verification.info.yml
+++ b/web/modules/metatag/metatag_verification/metatag_verification.info.yml
@@ -6,8 +6,8 @@ package: SEO
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/metatag_views/metatag_views.info.yml b/web/modules/metatag/metatag_views/metatag_views.info.yml
index 20bbe66bf74bb6713276b12290536e5c85fb328e..c5c8ac4fb9ce9483da3fa149b6d41b5872716d83 100644
--- a/web/modules/metatag/metatag_views/metatag_views.info.yml
+++ b/web/modules/metatag/metatag_views/metatag_views.info.yml
@@ -7,8 +7,8 @@ dependencies:
   - metatag:metatag
   - drupal:views
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/tests/modules/metatag_test_custom_route/metatag_test_custom_route.info.yml b/web/modules/metatag/tests/modules/metatag_test_custom_route/metatag_test_custom_route.info.yml
index 23c33ace198219e2d1f9441f30fc4892cafe5817..8e3da7fa0f3b3aaca0ae9cc0f08590f28c414a8f 100644
--- a/web/modules/metatag/tests/modules/metatag_test_custom_route/metatag_test_custom_route.info.yml
+++ b/web/modules/metatag/tests/modules/metatag_test_custom_route/metatag_test_custom_route.info.yml
@@ -6,8 +6,8 @@ package: Testing
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/tests/modules/metatag_test_tag/metatag_test_tag.info.yml b/web/modules/metatag/tests/modules/metatag_test_tag/metatag_test_tag.info.yml
index ab69327c186f6480628184813c25376f13562552..0777ef71a625fdf55ec5c8c1da716b735a5ac85c 100644
--- a/web/modules/metatag/tests/modules/metatag_test_tag/metatag_test_tag.info.yml
+++ b/web/modules/metatag/tests/modules/metatag_test_tag/metatag_test_tag.info.yml
@@ -6,8 +6,8 @@ package: Testing
 dependencies:
   - metatag:metatag
 
-# Information added by Drupal.org packaging script on 2019-02-20
-version: '8.x-1.8'
+# Information added by Drupal.org packaging script on 2019-07-24
+version: '8.x-1.9'
 core: '8.x'
 project: 'metatag'
-datestamp: 1550683387
+datestamp: 1563986001
diff --git a/web/modules/metatag/tests/src/Functional/MaintenanceMode.php b/web/modules/metatag/tests/src/Functional/MaintenanceMode.php
new file mode 100644
index 0000000000000000000000000000000000000000..45f280e24a83913ee453a154dcca6c6a928a621a
--- /dev/null
+++ b/web/modules/metatag/tests/src/Functional/MaintenanceMode.php
@@ -0,0 +1,59 @@
+<?php
+
+namespace Drupal\Tests\metatag\Functional;
+
+use Drupal\Core\Cache\Cache;
+use Drupal\rest\RestResourceConfigInterface;
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Verify handling of maintenance mode pages.
+ *
+ * @group metatag
+ */
+class MaintenanceMode extends BrowserTestBase {
+
+  // Contains helper methods.
+  use MetatagHelperTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = [
+    // Modules for core functionality.
+    'node',
+    'field',
+    'field_ui',
+    'user',
+
+    // Contrib dependencies.
+    'token',
+
+    // This module.
+    'metatag',
+  ];
+
+  /**
+   * Put the site into maintenance mode, see what the meta tags are.
+   */
+  public function testUser1() {
+    // Load the user 1 profile page.
+    $this->drupalGet('/user/1');
+    // Confirm the page title is correct.
+    $this->assertRaw('<title>Access denied | ');
+    $this->assertNoRaw('<title>admin | ');
+    $this->assertNoRaw('<title>Site under maintenance | ');
+
+    // Put the site into maintenance mode.
+    \Drupal::state()->set('system.maintenance_mode', TRUE);
+    Cache::invalidateTags(['rendered']);
+
+    // Load the user 1 profile page again.
+    $this->drupalGet('/user/1');
+    // Confirm the page title has changed.
+    $this->assertNoRaw('<title>Access denied | ');
+    $this->assertNoRaw('<title>admin | ');
+    $this->assertRaw('<title>Site under maintenance | ');
+  }
+
+}