@BarneyGumble

Как в Drupal 10 массово проставить noindex для >1000 страниц?

Есть большое количество статей за несколько лет (>10к). Половину из них (старше 5 лет) нужно добавить в noindex присвоением <meta name="robots" content="noindex"/>

Открывать каждую из статей в админке и ставить соответствующий чекбокс, ествесственно, не вариант. Как можно этот процесс автоматизировать малой кровью? Посмотрел, что в БД эти значения чекбоксов хранятся в сериализованном массиве, поэтому вижу вариант только писать скрипт, который будет вытаскивать по запросу необходимые записи, далее для каждой записи разбирать сер.массив, находить нужное значение, изменять его и затем записывать новый массив с изменённым значением в БД.

Я не большой гуру в Drupal, возможно есть какие-то альтернативные более элегантные варианты?
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alexalexes
писать скрипт, который будет вытаскивать по запросу необходимые записи, далее для каждой записи разбирать сер.массив, находить нужное значение, изменять его и затем записывать новый массив с изменённым значением в БД

Именно так. Но лучше найти вариант вытаскивать список статей с помощью объектной модели движка самой CMS, и каммитить сохранение статьи тоже методом из объекта CMS (и не забыть еще дернуть метод очистки кэша страницы, или всего сайта, или части его контекста).
Если у вас сайт высоконагруженный, то лучше разобраться с объектами CMS. Если нет, или не охота углубляться под капот CMS, то можно самописным скриптом поправить записи в базе, и не забыть сбросить кэш уже в панели управления CMS.
PS: С drupal не знаком, но в любой CMS проблема будет решаться именно так.
Ответ написан
Комментировать
@procosmos
Ну вообще это в админке метатегов проставляется быстро
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы