Отключаем вывод itok в url картинок Drupal

В Drupal 7 возможность создания миниатюр картинок (т.н. стилей),  включена в ядро. Разработчиков, видимо, заботило преодоление кеширования, и они добавляют к адресу миниатюры хеш-токен — itok.

Т.е. адрес картинки выглядит так:

С точки зрения поисковых систем, адреса, отличающийся значением этого произвольно меняющегося токена, разные адреса. При индексации будет обнаруживаться новый адрес, потом ПС определит, что по новому адресу лежит уже ранее проиндексированная картинка. ПС будет решать какой адрес оставить. Т.е. будут происходить какие то бессмысленные телодвижения, вместо того чтобы, к примеру, индексировать новый контент.

Как избавиться от itok в адресе миниатюр?

В модуле image, перед тем как сформировать добавку в виде itok, Drupal проверяет флажок из переменных сайта image_suppress_itok_output.

Управление из админки этим флагом не предусмотрено. Нужно добавить его в базу вручную, выполнив вот такой SQL запрос (добавьте префикс, если используете префиксы таблиц в вашей базе):

После установки флага необходимо сбросить кеш.

Чем грозит отключение itok?

После того как вы убрали параметр itok из url у вас перестанут генерироваться новые миниатюры картинок. Itok имеет ещё одну функцию в Drupal — он служит проверочным ключом, предотвращающим несанкционированный запуск билдера миниатюр.

Создание трумбнейлов довольно затратная операция и по ресурсам памяти и по загрузке процессора. Потому ключ помогает исключить DOS атаку, при которой злоумышленник пытается заставить удаленный сервер выполнить массовую регенерацию миниатюр.

Отключать itok следует, когда все нужные миниатюры созданы.

Написать комментарий

Мало букафф? Читайте есчо !

Рендер ссылки в Drupal 9

Август 5, 2021 г.

В Drupal 7 вы могли использовать функцию l($text, $url, $options) для генерации HTML кода тега <A>. В Drupal 9 подход коренным образом изменился, и прямого "наследника" устаревшей функции нет. Чтобы получить примерно тот же функционал придется ...

Читать

node_save в hook_node_insert

Апрель 13, 2021 г.

Рассмотрим технику того, как выполнить node_save во время hook_node_insert. Проблема в том, что во время данного хука мы еще находимся в транзакции и выполнить сохранение ноды прямо тут коде функции - не получится. Т.е. следующий код работать не ...

Читать

 

Комментарии к «Отключаем вывод itok в url картинок Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: