xref: /plugin/combo/action/metakeywords.php (revision c3437056399326d621a01da73b649707fbb0ae69)
1<?php
2
3use ComboStrap\LogUtility;
4use ComboStrap\Metadata;
5use ComboStrap\Page;
6use ComboStrap\PageKeywords;
7
8
9/**
10 *
11 * https://developers.google.com/search/blog/2009/09/google-does-not-use-keywords-meta-tag
12 */
13class action_plugin_combo_metakeywords extends DokuWiki_Action_Plugin
14{
15
16
17
18
19
20    public function register(Doku_Event_Handler $controller)
21    {
22        $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'meta_keywords', array());
23    }
24
25    /**
26     * Add a key words description
27     * @param $event
28     * @param $param
29     */
30    function meta_keywords(&$event, $param)
31    {
32
33        global $ID;
34        if (empty($ID)) {
35            return;  // Admin call for instance
36        }
37
38
39        $page = Page::createPageFromRequestedPage();
40
41        $keywords = $page->getKeywordsOrDefault();
42        if ($keywords === null) {
43            return;
44        }
45
46        Metadata::upsertMetaOnUniqueAttribute(
47            $event->data['meta'],
48            "name",
49            [
50                "name" => PageKeywords::PROPERTY_NAME,
51                "content" => implode(",", $keywords)
52            ]
53        );
54
55
56    }
57
58
59}
60