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

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

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

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

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

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

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

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

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

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

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

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

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

Форма поиска товаров на Drupal

Май 11, 2023 г.

Здесь подробно рассмотрим небольшую задачу для сайта под управлением CMS Drupal. Требуется выводить поисковую форму для товаров в виде блока. Форма ...

Читать

Как добавить поле "количество" для кнопки add to cart в Drupal Commerce

Июль 13, 2023 г.

Кнопка выводится как элемент product.variations, а вот настройки полей, которые выводятся в этой сущности довольно глубоко зарыты. [crayon-6ae9cce80a5e2079010029/] Поле "кол-во товара в корзине" не является частью сущности product variation, ...

Читать

Создание связи во Views, используя поле entity_reference

Октябрь 24, 2017 г.

Модуль View, Drupal 7. Задача: в контексте публикации (находясь на странице публикации) вывести с помощью модуля views публикации, связанные с текущей ...

Читать

Ошибка запуска Cron

Сентябрь 23, 2016 г.

Что делать, если запуск Cron в Drupal 6 постоянно выдаёт такую ошибку -  "Cron run failed."? Смотрим, как возникает данная ситуация в библиотеке /includes/common.inc . Функция drupal_cron_run() использует флаг для блокировки одновременного запуска: [crayon-6ae9cce80a6b5617535883/] ...

Читать
 

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

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



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