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

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

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

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

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

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

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

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

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

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

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

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

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

Как полностью удалить поле в Drupal, если оно «зависло» в хранилище полей

Сентябрь 5, 2025 г.

Иногда в Drupal возникает ситуация: вы удаляете поле с типов сущностей (bundle), но оно не исчезает полностью из системы. UI говорит, что поле «используется», хотя на самом деле ни одна сущность его не использует. В этом случае поле остаётся в конфигурации ...

Читать

Программно меняем url alias в Drupal 7

Март 9, 2017 г.

Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в Drupal, нужно определить три параметра - системный адрес объекта, новый псевдоним и код языка. К примеру, для объекта node код может быть следующим: [crayon-6aa1b0c85745e060426879/] ...

Читать

Транслитерация имени файла при создании медиа entity программно в Drupal

Май 21, 2023 г.

При импорте изображений возникает задача транслитерации. Картинки, например, могут содержать буквы национальной кодировки (кириллицы) и/или иметь несовместимые с файловой системой сервера символы. Drupal (начиная с 8.2) объявляет специальный интерфейс, ...

Читать

Отключаем /wp-json/oembed/ в WP

Август 11, 2018 г.

Разработчиков WP не очень заботит SEO, и обновления движка могут оказывать негативные эффекты на индексацию сайта, т.к. могут появляться новые технические страницы, дубли и т.п. В версии 4.4 разработчики добавили RESTful интерфейс, который создаёт дополнительные ...

Читать
 

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

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



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