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