Автоматическая генерация META-описаний не работает

InstantCMS 2.X

2.13.1

#1 16 сентября 2020 в 13:00
Создал новый тип контента — блоги. (Отступление, до этого в других типах всё SEO забивал руками). Выставил все галочки чтобы автоматом воспроизводилось (про то что на лету делается, в курсе). Установил шаблон Tseso с нуля (стоит default) для проверки может шаблон гонит. Систему 2.13.1 скачивал с сайта в мае этого года. Не идёт автоматом, не появляется даже тег description в исходном коде сайта.

На другом сайта работает, но там я аж с 2.9 сижу и до 2.13.1 летом обновился. Подскажите, куда копать еще? В бд тоже вроде нормально всё, все поля стоят.

Пробовал убирать автомат, чтобы пустые были поля сео при содании записи. И всё равно нет.

Менял еще на другой редактор. Тоже ничего.
#2 16 сентября 2020 в 15:44

Не идёт автоматом, не появляется даже тег description в исходном коде сайта.

noszone

Пробовал убирать автомат, чтобы пустые были поля сео при содании записи. И всё равно нет.

noszone

Возможно какие то поля мета описаний уже заполнены и надо сделать запрос в базу что бы их очистить:
github.com/instantsoft/icms2/issues/1039#issuecomment-479060910
#3 16 сентября 2020 в 15:51
Каким-то волшебным образом, в конфигурационном файле config.php выставлено — 'is_no_meta' => NULL. По идее поле давно было заполнено.
Непонятна механика тогда. На файл config.php стоят права 644, и нормально всё записывалось (либо запись в БД идет, или в переменные php?).
Сейчас поменял права на 666, нормально записалось это значение.

Как я это выяснил:
Файл system-core-template.php. Не выполняется условие: 108 строка

if (!$is_no_def_meta){
$this->metakeys = $this->site_config->metakeys;
$this->metadesc = $this->site_config->metadesc;
}

Ну и соответственно в том же файле:

if ($is_seo_meta){
if (!empty($this->metakeys) && empty($this->site_config->disable_metakeys)){
echo "\t". '<meta name="keywords" content="'.html((!empty($this->metakeys_item)? string_replace_keys_values_extended($this->metakeys, $this->metakeys_item): $this->metakeys), false).'">'. "\n";
}
if (!empty($this->metadesc)){
echo "\t". '<meta name="description" content="'.html((!empty($this->metadesc_item)? string_replace_keys_values_extended($this->metadesc, $this->metadesc_item): $this->metadesc), false).'">' ."\n";

Но всё равно пока что не идёт. Пока копаю.
#4 16 сентября 2020 в 15:52
Rainbow, спасибо, но там null везде.
#5 16 сентября 2020 в 15:56
А шаблоны генерации стоят?




"Фары протер… колеса попинал… ну, тогда я не знаю..." scratch

Там всё работает по умолчанию обычно без танцев с бубном...
#6 16 сентября 2020 в 16:01
Нет, никогда не стояли. Причём работает на другом сайте, где не выставлено. Я вообще 1 раз вижу такие шаблоны. В документации не видел тоже.
Но где логика, хотя вы в браузере должны выводитья хоть пустые теги. Получается надо отследить дальше путь от переменной, почему условие выше не выполняется.
#7 16 сентября 2020 в 16:04

Нет, никогда не стояли.

noszone

Они по умолчанию при установке системы стоят...
  1.  
  2. {content|string_get_meta_keywords}
  3. {content|string_get_meta_description}
  4.  
ЗЫ: Это в "SEO для записей" стоит...
а еще поддерживает другие паттерны:
docs.instantcms.ru/manual/settings/seo-patterns

Но где логика, хотя вы в браузере должны выводитья хоть пустые теги

noszone

В смысле в head нет даже не заполненных мета description? тогда не знаю…
#8 16 сентября 2020 в 17:26
Сколько раз устанавливал цмску, а таких паттернов не видел. Может они есть в файле php, который в вики указан. Отужинаю и буду смотреть. Спасибо за паттерн.
#9 16 сентября 2020 в 18:28
Может поможет по Вашему вопросу:
/novosti/release2122.html#comment_110901
#10 17 сентября 2020 в 08:23
Rainbow, спасибо. Использовал паттерны, заработало. Но честно, нигде их не встречал, в документации тоже нету в самой. Конечно, они есть в хелпер файле(который указан в вики) как функция. Но откуда ж знать любителю-программисту про это. Ну и еще путаницы добавляет, что на другом сайте эти паттерны не указаны, а все работает.

Пытался отследить сегодня куда ведут концы, но чет неосилил. В общем главное работает.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.