Плагин «AutoAlt» — автоматические alt-ы изображений
Уважаемые коллеги,
Пользователи вашего сайта всегда заполняют описание (alt) изображений в создаваемых топиках? А вы сами — всегда? Но по идее это важно, из соображений доступности для людей с ограниченными возможностями, и для поисковой оптимизации.
Поэтому вам может оказаться полезным плагин AutoAlt, который заполняет пустые alt-аттрибуты на изображениях топика автоматически (при сохранении топика).
Плагин написан для и используется на сайте ММОзговед. Отправной точкой в создании плагина стал фрагмент TopicExtend, который был значительно переработан для работы с названием блога.
Работает по следующему сценарию:
В config/config.php можно отключить добавление названия блога (тогда берётся только название топика).
Изменение производится при сохранении топика — т.е. чтобы увидеть его на существующих топиках, их необходимо пересохранить. Фотосеты не затрагиваются данным плагином.
Исходный код доступен на GitHub (только надо переименовать папку с плагином в autoalt, если будете качать его оттуда до прохождения модерации).
Дайте знать, если встретятся какие-либо проблемы.
PS Аватар сгенерен забавным сервисом RoboHash по тексту “AutoAlt LS plugin”. Не всегда же быть серьёзными! :)
Пользователи вашего сайта всегда заполняют описание (alt) изображений в создаваемых топиках? А вы сами — всегда? Но по идее это важно, из соображений доступности для людей с ограниченными возможностями, и для поисковой оптимизации.
Поэтому вам может оказаться полезным плагин AutoAlt, который заполняет пустые alt-аттрибуты на изображениях топика автоматически (при сохранении топика).
Плагин написан для и используется на сайте ММОзговед. Отправной точкой в создании плагина стал фрагмент TopicExtend, который был значительно переработан для работы с названием блога.
Работает по следующему сценарию:
- Если alt-а нет или он пустой, то создаёт его со значением «Название блога: Название топика».
- Если alt есть и не содержит название блога, то добавляет «Название блога: Существующий ALT». Иначе alt не изменяется.
В config/config.php можно отключить добавление названия блога (тогда берётся только название топика).
Изменение производится при сохранении топика — т.е. чтобы увидеть его на существующих топиках, их необходимо пересохранить. Фотосеты не затрагиваются данным плагином.
Исходный код доступен на GitHub (только надо переименовать папку с плагином в autoalt, если будете качать его оттуда до прохождения модерации).
Дайте знать, если встретятся какие-либо проблемы.
PS Аватар сгенерен забавным сервисом RoboHash по тексту “AutoAlt LS plugin”. Не всегда же быть серьёзными! :)
68 комментариев
У вас есть идеи, как это можно разнообразить? Добавлять просто нумерацию не очень осмысленно, по-моему :)
НО зачем название блога в альт? недостаточно название топика?
В нашем случае название блога — одно из важных ключевых слов ресурса (заметки пишутся о разных играх, блог — это игра, и поиском люди больше приходят на игру, а не название отдельной новости), поэтому нам полезно его акцентировать и на изображениях тоже. Так решили, так я и сделал :)
А какой формат ожидается? «Название блога: Заголовок заметки (тег1, тег2, тег3)», примерно так?
Если дупликат — то наверное не пройдёт модерацию :) Хотя в любом случае было полезно его сделать, хороший опыт.
исходник должен быть исходником.
В плагине TopicExtend так же написано, правда может быть с тех пор появились более безопасные методы?
Отличия — всё, кроме работы с alt-ом, убрано. Сами же alt-ы, вместо подстановки одного значения атрибута для всех изображений заметки, анализируются, и обрабатываются на предмет а) наличия (если непустой альт уже есть, то добавляется только название блога — исходный текст альта не теряется, давая возможность автору его редактировать), и б) наличия в них названия блога (если в альте уже есть название блога, то очевидно, что автор сделал всё нужное с альтом, и он тогда оставляется как есть).
даже если не совместим, то проще было допилить адаптацию и отправить pull request
это поведение достаточно легко расширить или изменить :)
и тоже можно отправить pull request
Я буду только рад, если вы эту логику ретрофитнете в свой плагин, чтобы расширить его возможности работы с альтами — от этого всем будет только польза. GNU — дружелюбная лицензия :)
Моим задачам такой метод массового поражения не подходит, пришлось переписать поиск и замену для более тонкой работы с альтами (и без тайтлов) — можете посмотреть в GitHub.
нужно проверить этот момент на сборке с гитхаба.
livestreetcms.com/addons/view/171/
Автор помоги исправить, плиз!
Пока предлагаю такое решение — в AutoAlt проверять наличие класса PluginAutocut, и если он есть, то вызывать его метод для построения тизера и боди. Это не очень эффективно в том смысле, что AutoCut вызывается два раза, но я пока не вижу способа этого не делать. Можно в нём продублировать такой же код, и вообще не делать AutoCut если присутствует PluginAutoalt, но это уже автору AutoCut-а решать, надо ли оно там.
Вот соответствующий коммит на GitHub-е (по нему можешь понять, что и где менять), и сейчас перезалью обновлённый плагин в каталог (но он, наверное, снова модерацию будет проходить некоторое время).
Но и объединить можно, при согласии обеих сторон, тогда можно будет продумать и прописать логику, по которой cut будет применяться в разных местах кода, в зависимости от настроек обоих функциональностей. Чуть поморочиться придётся, но в целом реально.
побеждают хоть какие нибудь, причем из мусора будет и пару нормальных, по которым потом смогут найти статью.
PS Но подумать можно :) Может какая идея и зародится. Как вариант — предлагать автору теги, чтобы он из них составил что-то разумное, если хватит внимания к таким деталям. Но сейчас форсировать «непустой» тег работает лучше, чем заполнить чем угодно — большинство людей могут тогда вообще игнорировать это поле. Обычно проблема найти инфу на большом сайте заключается не в недостатке данных, а в их избытке, поэтому служить генератором хаоса не хотелось бы.
вот такой генератор будет круто ))))
$config['module']['topic']['allow_empty_tags'] = true; // Разрешать или нет не заполнять теги
Эти алты берутся из тегов, а когда обрабатываются Вашим плагином, то к ним подставляется название блога и все. Можно сделать так, что бы Алты по любому переписывались названием топика, независимо от наличия в них текста?
А то что хотите вы — новая функциональность.
Тогда это не теги, с точки зрения кода, а просто описание. LS его использует в качестве альта и без моего плагина, и я не имею права не использовать описание в альте — ведь это решение создателя заметки.
То есть альт уже заполняется обязательно. Я, честно говоря, не могу понять, с чем у вас затруднение. Вы пробовали это делать? Или спрашиваете заранее?
Как сделать так, что бы независимо от наличия текста в альт подставлялся «блог: топик»?
Я постараюсь на следующей неделе посмотреть.
Может я не все понимаю, но альт — это текст, который показывается в браузерах без поддержки картинок. Мне кажется, что более выгодным будет показ названия топика, чем набор тегов, ибо картинки и текст у Яндекса индексируются по-разному.
Это мое представление, оно может быть неправильным. Поправьте, плиз.
Так же и для поискового движка (тут я не знаком с тем, как именно Яндекс с этим работает) — лучше конкретное описание картинки (которое, надеюсь, как-то относится к теме заметки и т.п.), чем повторение одного и того же заголовка в разных ипостасях. По идее, за такие бездумные повторения надо бы наказывать, и если Яндекс этого ещё не делает — то рано или поздно научится.
Дополню, что режим «если нет описания — в альте будет заголовок заметки» я добавил как вынужденную меру. На самом деле предпочтительнее всегда иметь описания.
Это мои размышления, все может быть наоборот… ;)
Эта логика (игнорировать исходный ALT изображения) включится, если вы проставите true для параметра $config['ignore_description'] в файле config.php плагина.
Надеюсь, вам это будет полезно. По умолчанию эта логика, естественно, отключена.