diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm
index 28b1a1ad6..b19ea2b32 100644
--- a/IkiWiki/Plugin/meta.pm
+++ b/IkiWiki/Plugin/meta.pm
@@ -285,6 +285,13 @@ sub preprocess (@) {
join(' ', map { "$_=\"$params{$_}\"" } keys %params).
' />', $page, $destpage);
}
+ elsif ($key eq 'keywords') {
+ # Make sure the keyword string is safe: only allow alphanumeric
+ # characters, space and comma and strip the rest.
+ $value =~ s/[^[:alnum:], ]+//g;
+ push @{$metaheaders{$page}}, '';
+ }
else {
push @{$metaheaders{$page}}, scrub(' Wed, 21 Mar 2012 14:33:14 -0400
diff --git a/doc/ikiwiki/directive/meta.mdwn b/doc/ikiwiki/directive/meta.mdwn
index f8494dbff..984f68540 100644
--- a/doc/ikiwiki/directive/meta.mdwn
+++ b/doc/ikiwiki/directive/meta.mdwn
@@ -59,6 +59,15 @@ Supported fields:
Specifies a short description for the page. This will be put in
the html header, and can also be displayed by eg, the [[map]] directive.
+* keywords
+
+ Specifies keywords summarizing the contents of the page. This
+ information will be put in the html header. Only letters,
+ numbers, spaces and commas are allowed in this string; other
+ characters are stripped. Note that the majority of search
+ engines, including Google, do not use information from the
+ keywords header.
+
* permalink
Specifies a permanent link to the page, if different than the page