Очистка списка ключевых слов страницы от параметров плагинов в GetSimple CMS

 

 GetSimple CMSPHPсниппет

Ряд популярных плагинов для GetSimple CMS требуют от пользователя добавления параметров, необходимых для их работы, в ключевые слова страницы. Такой подход позволяет избавиться от необходимости добавлять специальные поля плагинов в форму редактора страниц, но приводит к замусориванию мета-данных, что негативно сказывается на эффективности SEO-оптимизации, а также ограничивает возможности вывода списков ключевых слов на страницах веб-сайта. Частичным решением описанных проблем является очистка списка ключевых слов от параметров плагинов.

Как правило, для отделения параметров плагинов от действительных ключевых слов, используется префикс — нижнее подчёркивание, например, _redirect=new-page. Поэтому очистка ключевых слов страницы может быть выполнена при помощи собственной PHP функции.

/**
 * Clean page meta keywords
 * 
 * @global string $metak
 * @param bool $echo
 * @return string
 */
function get_clean_page_meta_keywords($echo = true) {
    global $metak;
    $myVar = encode_quotes(strip_decode($metak));
    $myVar = array_map('trim', explode(',', $myVar));
    $myVar = array_filter($myVar, function ($keyword) {
        return stripos($keyword, '_') !== 0;
    });
    $myVar = implode(', ', $myVar);
    if ($echo) {
    echo $myVar;
    } else {
    return $myVar;
    }
}

Приведённый код предназначен для использования в GetSimple CMS 3.3.x. При этом, для того, чтобы сохранить работу плагинов, использующих параметры, заданные в ключевых словах страницы, но обеспечить вывод корректного, с точки зрения SEO, списка ключевых слов в мета-тэге keywords заголовка страницы, необходимо создать собственную функцию, заменяющую стандартную функцию get_header().

В GetSimple CMS 3.4.x данная задача решается значительно проще: для вывода очищенного списка ключевых слов в мета-тэге keywords заголовка страницы следует использовать фильтр metak.