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

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

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

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

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

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

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

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

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

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

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

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

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

Миграция картинки по URL в Media поле (Drupal)

Март 3, 2024 г.

Мне нужен был обработчик для migration API, который создаёт media entity по URL и возвращает его ID. Обработчики представляют из себя расширения ProcessPluginBase, которые нужно размещать в папке /src/Plugin/migrate/process вашего модуля. Файл ...

Читать

Показ анимации, что идет загрузка, для обновления контента views в режиме ajax

Май 22, 2021 г.

Подгрузка данных с сервера (например, при изменении параметров фильтра) происходит с небольшой задержкой, потому пользователь может не понять, среагировал как то сайт или нет на его действия. Задача состоит в том, чтобы показать, что идет загрузка ...

Читать

Получим объект публикации (node) внутри кода модуля

Апрель 20, 2014 г.

По разным причинам нам может понадобится информация объекта текущей публикации (ноды) внутри модуля.Если код модуля вызывается из шаблона, то достаточно передать локальную переменную $node. Если такой возможности нет, то код ноды можно получить из текущего ...

Читать

Theme image в Drupal 9

Август 3, 2021 г.

Смотрим как выполнить рендеринг файла-картинки в Drupal 9 программно. Есть FID, и требуется рендерить этот файл программно в шаблоне <IMG>. Для этого нам понадобится воспользоваться сервисом ядра - renderer. [crayon-6a9578d509dd6823122874/] ...

Читать
 

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

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



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