Работать с Joomla легко, но до поры до времени. До тех пор, пока качественная сложность не переваливает за определённые рамки. И тогда начинаются баги (или чудеса, — кому как больше нравится. В этой статье рассмотрим Поле «Метки», которое находится на Вкладке «Подробности», на странице создания или редактирования Пункта меню типа «Блог категории». А точнее, то, почему этим полем лучше не пользоваться.
Как всё работает в Пункте меню «Блог категории», если Поле «Метки» не содержит меток
Итак, если в Поле «Метки» на Вкладке «Подробности» нет меток, всё в админке выглядит так:
На картинке выше специально выделено поле «Ссылка». И эта ссылка выглядит в виде нормальной ссылки, укладывающейся в стандарты протокола HTTP. Зачем это нужно и куда попадает эта ссылка в итоге? В итоге эта ссылка попадает в маршрутизатор Joomla, который формирует URL ссылок на странице, которую получает пользователь. В том числе, она попадает и в «Хлебные крошки» и после обработки маршрутизатором, приведённая к ЧПУ, выглядит так:
Всё отлично! Нет меток у пункта меню типа «Блог категории», — нет проблем!
Как всё работает в Пункте меню «Блог категории», если Поле «Метки» содержит метки
Теперь добавим метку в поле «Метки», сохраним изменения и посмотрим, как и на что это повлияет. После сохранения пункта меню типа «Блог категории» с меткой, (даже одной, а их может быть много), получаем такую картину в админке в Менеджере меню при редактировании этого пункта:
Как видно (после сохранения) Поле «Ссылка» получило дополнительный аргумент filter_tag[0]
, и всё бы хорошо, но символы [
и ]
запрещены протоколом HTTP для URI-адресов! Смотрим, как выглядит ссылка на сайте после обработки маршрутизатором Joomla:
То есть, маршрутизатор не смог обработать этот аргумент и просто выдал его как есть. То есть с нарушениями протокола, хотя, на работоспособность Joomla это никак не повлияло, но с точки зрения SEO... Посмотрим, что скажет W3C...
Проверка валидности кода страницы Joomla с Пунктом меню «Блог категории», если Поле «Метки» содержит метки
Итак, идём на страницу W3C и проверяем валидность кода страницы сайта с Пунктом меню «Блог категории», если Поле «Метки» содержит метки:
И конечно получаем закономерное сообщение об ошибке:
Error: Bad value /cms/joomla.html?filter_tag[0]=17 for attribute href on element a: Illegal character in query: [ is not allowed.
В строке, содержащей ссылку с невалидным кодом в «Хлебных крошках»:
<a itemprop="item" href="/cms/joomla.html?filter_tag[0]=17" class="pathway">
Выводы:
Вывод прост: не надо пользоваться метками при создании и редактировании Пункта меню типа «Блог категории». А те метки, которые были созданы нужно удалить. Неизвестно, когда разработчики Joomla уберут этот баг, но метки и так замечательно вставляются. Они берутся из меток Категории. Так, что если очень хочется вставить Метки Joomla на страницу выдачи Пункта меню типа «Блог категории», нужно просто эти метки прописать той категории, блог которой выводится. И всё будет работать, и ошибок не будет, и сайт в топ 3 поисковой выдачи быстрее попадёт.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)