Открываем /manager/includes/extenders/deprecated.functions.inc.php
Находим функцию mergeDocumentMETATags и заменяем ее на
function mergeDocumentMETATags($template) {
global $modx;
if ($modx->documentObject['haskeywords'] == 1) {
// insert keywords
$keywords = $modx->getKeywords();
if (is_array($keywords) && count($keywords) > 0) {
$keywords = implode(", ", $keywords);
$metas= "<meta name=\"keywords\" content=\"$keywords\" />\n";
}
// Don't process when cached
$modx->documentObject['haskeywords'] = '0';
}
if ($modx->documentObject['hasmetatags'] == 1) {
// insert meta tags
$tags= $modx->getMETATags();
foreach ($tags as $n => $col) {
$tag= strtolower($col['tag']);
$tagvalue= $col['tagvalue'];
$tagstyle= $col['http_equiv'] ? 'http-equiv' : 'name';
$metas .= "<meta $tagstyle=\"$tag\" content=\"$tagvalue\" />\n";
}
// Don't process when cached
$modx->documentObject['hasmetatags'] = '0';
}
//if ($metas) $template = preg_replace("/(<head>)/i", "\\1\n\t" . trim($metas), $template);
$template= preg_replace("/(<base)/i", $metas."<base", $template);
return $template;
}
При этом в шаблоне нужно тег base расположить после description.
Таким образом keywords вместо безобразного размещения в самом начале кода займут почетное место среди прочих метатегов.

Еще один лайфхак для счастливых обладателей MODx Evo 1.2.1:
если вы после обновления что-то сделали не так и не можете найти привычную вкладку «Управление мета-тегами и ключевыми словами» в разделе Элементы, в режиме редактора кода измените ссылку на «Управление файлами» с index.php?a=31 на index.php?a=81 — при щелчке по «Управление файлами» откроется то, что вы ищете.
Всем пис кроме Елены Бредовой, которая торчит мне за работу по biosphere.ru
Алексей Либер 14.10.2018 09:56 #
2) Прямая правка кода движка условно допустима только в том случае, если вы не планируете обновлять движок. А 1.2.1 это не крайняя версия
3) Для реализации Keywords существует как минимум три решения: банальная тв-шка с виджетом tags, Seo4Evo или даже мой seoPuck.
4) Keywords в последнее время вообще не учитывается поисковиками
5) Касательно Елены, чтобы здесь не флудить, зайдите в группу в вк, там есть соответствующий раздел про недобросовестных заказчиков и исполнителей. Опишите вашу историю там. Пока это все голословно.
Сергей CapWeb 14.10.2018 22:53 #
Алексей Либер 14.10.2018 23:00 #
Касательно спора с Еленой, крайне рекомендую не выносить ссор из избы и просто удалить строчку в посте о ней. Ибо это абсолютно не относится к статье. Плюс к этому к Елене все же больше доверия.
Сергей CapWeb 14.10.2018 23:26 #
Можно конечно еще развеcти дискуссию по поводу keywords, но если хотите поспорить со мной в разрезе SEO, давайте возьмем 2 примерно одинаковых сайта на Evo в одной нише, одинаковые бюджеты и запросы и сравним позиции через оговоренный промежуток времени.
Алексей Либер 14.10.2018 23:31 #
P.S. О СЕО поспорить хотите вы. То что keywords сейчас не актуален это был лишь один из пунктов.
Сергей CapWeb 14.10.2018 23:37 #
Алексей Либер 14.10.2018 23:43 #
Во-вторых MODX Evolution является устаревшей веткой. На место нее пришла evolutionCMS.
В-третьих я указал как можно включать keywords без хака админки.
В-четвертых: вы не привели не одного аргумента против того, что я написал, кроме того что это актуально вам лично.
В-пятых: займитесь работой лучше.
Елена Бредова 14.10.2018 22:37 #
От угроз рассылки гадостей моим клиентам, Вы перешли к моей «рекламе» в сообществе?
Вы действительно хотите, чтобы я вытащила всю переписку по проекту на суд общественности? Она у меня сохранена. Я с удовольствием поделюсь :)
P.S.: прошло 2 года, а Вы до сих пор носите это в себе? :) Сочувствую.
Сергей CapWeb 14.10.2018 22:51 #
Вот еще одна, появилась благодаря тому самому допилу многострадального сайта вашего клиента capweb.ru/bool-tv-modx-revolution.html
Елена Бредова 15.10.2018 12:47 #
Как и обещала, скрины:
joxi.ru/a2Xy14tw0ROgAg
joxi.ru/E2p5Yzi7ORkkAY
joxi.ru/a2Xy14tw0RegAg
там много всего это выжимка
из фактов:
1) Вы затратили якобы 10 часов на внесение правок, которые занимают значительно меньшее время, пытаясь накрутить стоимость Ваших работ. Или же Вы ввели в заблуждение о своей квалификации.
2) Вы не передали мне работу, значит мне и нечего оплачивать.
Все те же правки сделал другой программист значительно быстрее и точнее.
3) Вы вынудили меня потратить кучу моего времени, на проверку того, что якобы было сделано, а по факту — нет.
4) Вы делали как считали нужным, хотя было приложено ТЗ.
Я понимаю, что в тот момент Вам нужны были деньги, но «разводить» меня из расчета, что я не понимаю сколько по времени занимает та или иная работа — бессмысленно.
Вы не выполнили работу, попытались меня обмануть с временем или квалификацией (одно из двух) и результатов, даже недоделанных, у меня не было. За что я должна Вам была заплатить? За то что Вы потратили мое время, наделали кучу ошибок и подвели, сорвав сроки?
Я плачу за конечный результат, а не за старания. Я Вам ничего не должна.
Может и к лучшему, что так и я не получила архив с Вашими доработками, нам бы пришлось затратить еще уйму времени, чтобы поправить, что Вы сделали.
Успехов!
Дальше вступать с Вами в дискуссию не вижу смысла, Ваши обвинения беспочвенны.
Сергей CapWeb 06.10.2019 22:31 #
Алексей Либер 15.10.2018 13:16 #
Так не проще было? Статья от мая 2015-го года…
Сергей CapWeb 06.10.2019 22:34 #
Алексей Либер 06.10.2019 23:01 #
2) Отвечать на комментарий спустя год — мощно.
3) Касательно вашего послания Елене. Клиенту до фонаря конкретная реализация. Он обращается к специалисту, который в этом разбирается, ждет результат и его оплачивает.