В Drupal 7 возможность создания миниатюр картинок (т.н. стилей), включена в ядро. Разработчиков, видимо, заботило преодоление кеширования, и они добавляют к адресу миниатюры хеш-токен — itok.
Т.е. адрес картинки выглядит так:
1 2 |
http://ВАШСАЙТ.ДОМЕН/sites/default/files/styles/ ИМЯ-СТИЛЯ/public/ПУТЬ-К-КАРТИНКЕ/ИМЯ-КАРТИНКИ.jpg?itok=какое-то-значение |
С точки зрения поисковых систем, адреса, отличающийся значением этого произвольно меняющегося токена, разные адреса. При индексации будет обнаруживаться новый адрес, потом ПС определит, что по новому адресу лежит уже ранее проиндексированная картинка. ПС будет решать какой адрес оставить. Т.е. будут происходить какие то бессмысленные телодвижения, вместо того чтобы, к примеру, индексировать новый контент.
Как избавиться от itok в адресе миниатюр?
В модуле image, перед тем как сформировать добавку в виде itok, Drupal проверяет флажок из переменных сайта image_suppress_itok_output.
Управление из админки этим флагом не предусмотрено. Нужно добавить его в базу вручную, выполнив вот такой SQL запрос (добавьте префикс, если используете префиксы таблиц в вашей базе):
1 2 |
INSERT INTO `variable` ( `name` , `value` ) VALUES ('image_suppress_itok_output', 's:1:"1";'); |
После установки флага необходимо сбросить кеш.
Чем грозит отключение itok?
После того как вы убрали параметр itok из url у вас перестанут генерироваться новые миниатюры картинок. Itok имеет ещё одну функцию в Drupal — он служит проверочным ключом, предотвращающим несанкционированный запуск билдера миниатюр.
Создание трумбнейлов довольно затратная операция и по ресурсам памяти и по загрузке процессора. Потому ключ помогает исключить DOS атаку, при которой злоумышленник пытается заставить удаленный сервер выполнить массовую регенерацию миниатюр.
Отключать itok следует, когда все нужные миниатюры созданы.