diff --git a/Changes b/Changes
index 1cfa912..70633ba 100755
--- a/Changes
+++ b/Changes
@@ -1,4 +1,4 @@
-0.29 2018-09-19
+0.29 2018-10-05
         - Deprecated Kalamar.api configuration key
           in favor of Kalamar.api_path.
         - Fix replacement of docs with docGroupRefs in
@@ -6,6 +6,7 @@
         - Improve touch support for menus.
         - Improve touch support for annotation assistant.
         - Move token table view to marked match.
+        - Added metadata headers.
 
 0.28 2018-08-29
         - Introduced Widget based plugin system.
diff --git a/Makefile.PL b/Makefile.PL
index 82090c8..bebe29d 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -28,7 +28,7 @@
 
     # Currently on GitHub only (github.com/akron)
     'Mojolicious::Plugin::Search' => 0.07,
-    'Mojolicious::Plugin::Localize' => 0.18,
+    'Mojolicious::Plugin::Localize' => 0.20,
     'Mojolicious::Plugin::TagHelpers::ContentBlock' => 0.08,
   },
   test => {
diff --git a/kalamar.dict b/kalamar.dict
index bbe4ed4..623f7be 100644
--- a/kalamar.dict
+++ b/kalamar.dict
@@ -53,6 +53,7 @@
       -short => 'KorAP',
       desc => 'KorAP - Korpusanalyseplattform der nächsten Generation',
       overview => 'KorAP - Übersicht',
+      keywords => 'KorAP, DeReKo, Korpussuche, IDS Mannheim, Institut für Deutsche Sprache',
     },
     privacy => 'Datenschutz',
     imprint => 'Impressum',
@@ -142,7 +143,10 @@
     korap => {
       -short => 'KorAP',
       desc => 'KorAP - Corpus Analysis Platform',
-      overview => 'KorAP - Overview'
+      overview => 'KorAP - Overview',
+      region => 'DE-BW',
+      placename => 'Mannheim',
+      keywords => 'KorAP, DeReKo, Corpus Query Platform, IDS Mannheim, Institute for the German Language'
     },
     QL => {
       poliqarp => 'Poliqarp',
diff --git a/t/basic.t b/t/basic.t
index 0bbc09e..fd48b43 100644
--- a/t/basic.t
+++ b/t/basic.t
@@ -2,6 +2,7 @@
 use Test::More;
 use Test::Mojo;
 use Mojo::File qw/path/;
+use utf8;
 
 my $t = Test::Mojo->new('Kalamar');
 
@@ -31,11 +32,22 @@
   ->text_is('title', 'KorAP - Corpus Analysis Platform')
   ->text_is('h1 span', 'KorAP - Corpus Analysis Platform')
   ->element_exists('div.intro')
-  ->text_is('div.intro h2', 'This is a custom intro page!');
+  ->text_is('div.intro h2', 'This is a custom intro page!')
+  ->element_exists('meta[name="DC.description"][content="KorAP - Corpus Analysis Platform"]')
+  ->element_exists('meta[name="keywords"][content^="KorAP"]')
+  ->element_exists('body[itemscope][itemtype="http://schema.org/WebApplication"]')
+  ;
 
 $t->get_ok('/huhuhuhuhu')
   ->status_is(404)
   ->text_is('title', 'KorAP: 404 - Page not found')
   ->text_is('h1 span', 'KorAP: 404 - Page not found');
 
+$t->get_ok('/?q=hui')
+  ->status_is(200)
+  ->text_is('title', 'KorAP: Find »hui« with Poliqarp')
+  ->element_exists('meta[name="DC.title"][content="KorAP: Find »hui« with Poliqarp"]')
+  ->element_exists('body[itemscope][itemtype="http://schema.org/SearchResultsPage"]')
+  ;
+
 done_testing();
diff --git a/templates/layouts/main.html.ep b/templates/layouts/main.html.ep
index ab50acf..5f9983c 100644
--- a/templates/layouts/main.html.ep
+++ b/templates/layouts/main.html.ep
@@ -1,9 +1,45 @@
 <!DOCTYPE html>
-<html>
-  <head>
+% my $lang = app->localize->preference // 'en';
+% my $desc = loc('korap_desc');
+% my $keywords = loc('korap_keywords');
+<html lang="<%= $lang %>" xml:lang="<%= $lang %>" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/">
+  <head prefix="og: http://ogp.me/ns# website: http://ogp.me/ns/website#">
     <title><%= title() // loc('korap_desc') %></title>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=false, user-scalable=no" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+    <meta http-equiv="Content-Script-Type" content="text/javascript" />
+    <meta name="msapplication-TileImage" content="<%= url_for '/img/windows-tile.png' %>" />
+    <meta name="msapplication-TileColor" content="#9bad0b" />
+    <meta name="robots" content="index,follow" />
+    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
+    <meta name="description" content="<%= $desc %>" />
+    <meta name="language" content="<%= $lang %>" />
+    <meta name="author" content="The KorAP Team" />
+    <meta name="DC.type" content="service" />
+    <meta name="DC.creator" content="IDS Mannheim" />
+    <meta name="DC.title" content="<%= title() || loc('korap_short') %>" />
+    <meta name="DC.description" content="<%= $desc %>" />
+    <meta name="DC.format" content="text/html" />
+    <meta name="DC.contributor" content="The KorAP Team" />
+    <meta name="DC.publisher" content="IDS Mannheim" />
+    <meta name="DC.language" content="<%= $lang %>" />
+    <meta property="og:url" content="<%= url_for->to_abs %>" />
+    <meta property="og:locale" content="<%= $lang %>" />
+    <meta property="og:description" content="<%= $desc %>" />
+    <meta property="og:image" content="<%= url_for '/img/korap-200.png' %>" />
+    <meta property="og:image:width" content="200" />
+    <meta property="og:image:height" content="200" />
+    <meta name="twitter:image" content="<%= url_for '/img/korap-280.png' %>" />
+    <meta name="twitter:description" content="<%= $desc %>" />
+    <meta name="geo.region" content="<%= loc 'korap_region' %>" />
+    <meta name="geo.placename" content="<%= loc 'korap_placename' %>" />
+    <meta name="keywords" content="<%= $keywords %>" />
+    <meta name="DC.subject" content="<%= $keywords %>" />
+
+    <link rel="apple-touch-icon" href="<%= url_for '/img/apple-touch-icon.png' %>" />
     <link href="<%= stash 'prefix' %>/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
     <link href="<%= stash 'prefix' %>/css/kalamar-<%= $Kalamar::VERSION %>.css" type="text/css" rel="stylesheet" />
 %= javascript begin  
@@ -21,7 +57,7 @@
   </head>
 % my $embedded = 0;
 % $embedded = 1 if stash('embedded');
-  <body class="no-js<% if ($embedded) { %> embedded<% } %>">
+  <body class="no-js<% if ($embedded) { %> embedded<% } %>" itemscope itemtype="http://schema.org/<%= stash('schematype') || 'WebApplication' %>">
     <script>document.body.classList.remove('no-js');</script>
     <div id="kalamar-bg"></div>
 
diff --git a/templates/search.html.ep b/templates/search.html.ep
index e172e0e..21589ee 100644
--- a/templates/search.html.ep
+++ b/templates/search.html.ep
@@ -1,4 +1,4 @@
-% layout 'main', title => loc('searchtitle', q => search->query, ql => search->query_language);
+% layout 'main', title => loc('searchtitle', q => search->query, ql => search->query_language), schematype => 'SearchResultsPage';
 
 <div id="resultinfo" <% if (search->results->size) { %> class="found"<%} %>>
   <div id="pagination"><%= pagination(search->start_page, search->total_pages, url_with->query(['p' => '{page}'])) =%></div>
