Хлебные крошки в DLE — модификация speedbar по версии schema.org с помощью микроданных или RDFa

Микроразметка хлебных крошек в DLE Привет, друзья. Шумиха вокруг расширенных сниппетов в Google уже немного поутихла, чему, безусловно, поспособствовал и сам Google. Это мы с вами, хитрые seo'шники, добаловались :) C одной стороны жаль, что Google отсек фейковые расширенные сниппеты, например, звездочки (отзывы, рейтинги), рецепты (можно было в сниппет выводить любую картинку) и др., но с другой стороны, всякие ГС не будут этим злоупотреблять.

Да, были времена, все эти «шаманства» со сниппетами давали прекрасный результат, я для одного из своих сайтов выводил в сниппет картинку из поста, благодаря чему CRT возрастал в 2 и более раз. Но это в прошлом...

Тем не менее, некоторые «штучки» до сих пор работают — хлебные крошки Breadcrumb, например. А раз это работает, то грех не воспользоваться.

Сегодня этим и займемся — я вам расскажу, как модифицировать обычный скучный speedbar (так называется модуль хлебных крошек в DLE) и сделать его красивым и по всем стандартам schema.org.

Данные правки я уже вносил на нескольких своих сайтах, заверяю — это работает. Правда вот на CTR это не влияет никак :( Но я то знаю, вам все равно это надо!

Данные правки предназначены ТОЛЬКО для старых версий DLE 7.x — 9.x.
Если у вас установлен движок версии 10.x и выше, вам ничего делать не нужно, т.к. микроразметка хлебных крошек уже реализована «из коробки». Спасибо мне :)

Все правки очень простые, но почему-то мало кто может сам сообразить, как их реализовать. Я видел несколько человек, которые просят за это деньги, а так же знаю тех, кто предлагает свои деньги за реализацию данной фишки. Я же поделись своим опытом бесплатно — мне не жалко!

Перед началом работы с кодом предлагаю посмотреть, что из этого получится.

Вот как это было, до правки кода:

До внедрения мекроразметки

А вот то, что получилось в итоге:

После внедрения микроразметки

Как видите, эти правки я вносил для своего сайта www.winterlife.ru. Но вносил я их сегодня в процессе написания поста, поэтому непосредственно в выдаче Гугла результатов сегодня увидеть не получится, но через пару дней — пожалуйста, результаты индексируются очень оперативно.


Микроразметка хлебных крошек в DLE по версии schema.org

Открываем /engine/engine.php

Находим:

	$s_navigation = "<a href=\"{$config['http_home_url']}\">" . $config['short_title'] . "</a>";

Заменяем:

	$s_navigation = "<span typeof=\"v:Breadcrumb\"><a href=\"{$config['http_home_url']}\" rel=\"v:url\" property=\"v:title\">" . $config['short_title'] . "</a></span>";

Находим:

	$tpl->set ( '{speedbar}', '<span id=\'dle-speedbar\'>' . stripslashes ( $s_navigation ) . '</span>' );

Заменяем:

	$tpl->set ( '{speedbar}', '<span id="dle-speedbar" xmlns:v="http://rdf.data-vocabulary.org/#">' . stripslashes ( $s_navigation ) . '</span>' );

Далее открываем /engine/modules/functions.php

Находим:

	if( $config['allow_alt_url'] == "yes" ) $list = "<a href=\"" . $config['http_home_url'] . get_url( $id ) . "\">{$cat_info[$id]['name']}</a>";

Заменяем:

	if( $config['allow_alt_url'] == "yes" ) $list = "<span typeof=\"v:Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $id ) . "/\" rel=\"v:url\" property=\"v:title\">{$cat_info[$id]['name']}</a></span>";

Находим:

		if( $config['allow_alt_url'] == "yes" ) $list = "<a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "\">{$cat_info[$parent_id]['name']}</a>" . " &raquo; " . $list;

Заменяем:

		if( $config['allow_alt_url'] == "yes" ) $list = "<span typeof=\"v:Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url( $parent_id ) . "/\" rel=\"v:url\" property=\"v:title\">{$cat_info[$parent_id]['name']}</a></span>" . " &raquo; " . $list;

Ну вот и все! Осталось только убедиться, что все верно и все работает — воспользуйтесь валидатором микроразметки от Google.

А также дополнительную информацию о данной микроразметке рекомендую прочитать в мануалах Гугла.


Еще у меня есть небольшая поправка. Я считаю, что нет необходимости в хлебных крошках дублировать название текущей новости. Ведь и так понятно, где мы сейчас находимся и какую новость просматриваем. Если вы согласны со мной, тогда надо проделать следующее:

Найти:

	} elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;
 
	if ($titl_e) $s_navigation .= " &raquo; " . $titl_e;

Заменить:

	}

Теперь точно все. Пользуйтесь на здоровье.

Короткий FAQ по частым проблемам и вопросам

Здесь я постараюсь собрать ответы на все ваши вопросы, касающиеся работы данного хака.

Q: Все сделал по инструкции, но валидатор выводит какую-то ерунду такого вида: Сайт.ру › ... › Подкатегория2 › Категория1 › Подкатегория2
A: Дело в том, что при выводе категории новости в анонсе, используется тот же алгоритм формирования ссылок. То есть сюда подключается размеченная микрокодом функция. Выхода тут два. В шаблоне темы shortstory.tpl найти и заменить {link-category} на {category} или вовсе удалить тег {link-category}.
Если выводите категорию при просмотре полной новости, то необходимо проделать тоже самое и для fulltstory.tpl.

Q: У меня возникла проблема с выводом подкатегорий в speedbar.
A: Прочитайте, пожалуйста, вот этот комментарий #comment-12698.

Q: Как реализовать микроразметку хлебных крошек для тегов по такой же схеме?
A: Инструкция для тегов описана в этом комментарии #comment-12804.

Q: Благодаря небольшой правке, описанной в посте чуть выше статья теперь не ссылается сама на себя. Но вот категория и подкатегория имеет ссылку на саму себя. Что делать?
A: Все просто, как убрать циклическую ссылку описано в этой комментарии #comment-12808.

Пишите комментарии, задавайте вопросы, вносите свои предложения!

Александр «АлаичЪ» Алаев
Александр «АлаичЪ» Алаев

Вот уже 18 лет я профессионально занимаюсь созданием и продвижением сайтов и 13 лет с удовольствием пишу в любимый блог. Создал заслужившие доверие в seo-сообществе программы FastTrust и ComparseR и известный сервис для проверки траста сайтов CheckTrust.ru.

В 2014 основал веб-студию «АлаичЪ и Ко» в Краснодаре: 1 место в рейтинге агентств интернет-маркетинга (Рейтинг Рунета), 2 место в рейтинге SEO-компаний (CMSmagazine), 12 место в рейтинге известность бренда SEO-компаний в России (SeoNews).

Выступаю на профильных конференциях (All In Top, SEO Conference, SEMPRO, Baltic Digital Days). Веду канал в telegram про seo и бизнес. SEO-специалист года 2019 и 2020 (Sape).

Ерунда и баянЪ!Зачет! Плюсую!
+16

Профессиональный технический аудит и рекомендации по оптимизации вашего сайта.
Тот самый необходимый «фундамент» для успешного продвижения.

30 000 руб.

Комплексный подход к решению поставленных задач: достижение топ-10 и увеличение трафика на сайт. В стоимость уже включены полный технический аудит и оптимизация сайта.

45 000 руб.

У вас недостаточно знаний и нужны ответы на вопросы?
Интересует мнение эксперта или надо проверить подрядчика?
Вы задаете вопрос — я отвечаю!

5 000 руб./час

Проведу подробное исследование вашего сайта и основных конкурентов, опубликую материал на блоге для обсуждения и коллективного поиска новых идей.

70 000 руб.

Я начал запись своего обучающего курса по seo-продвижению.

В каждом видео я разбираю какую-то одну важную тему, и делаю это последовательно, в порядке, подходящем для изучения с нуля. Видео выкладываются раз в неделю – по средам. Я думаю, весь курс будет состоять из 50-70 роликов, так до конца еще далеко, а значит самое время подписаться и начать изучение вместе со мной.

В блоке слева всегда будет выводиться самое свежее видео курса. Ссылки: на мой канал, на плейлист обучения.

Комментарии: 232 Написать комментарий
  1. ПафНутиЙ (124 комм.)

    Отлично!

    Я даже и не знал о подобных фишках :) Сегодня же добавлю на свой сайт.

    Спасибо за инструкцию!

    Ответить
    • АлаичЪ

      Отпишись потом о результатах.

      Ответить
  2. Stl (3 комм.)

    Хм, странно. Все сделал, но после проверки валидатором микроразметки гугла, почему то дублируется категория...

    Выглядит это так:

    Сайт.ру › ... › Подкатегория2 › Категория1 › Подкатегория2

    Я криво поставил? :)

    Ответить
    • АлаичЪ

      Дело в том, что у тебя, скорее всего, для анонсов выводится категория новости при помощи тега {link-category}. Его надо удалить или заменить на {category}.

      Ответить
      • Stl (3 комм.)

        Спасибо большое! Все работает!

        Ответить
      • dark4000 (2 комм.)

        АлаичЪ, добрый день! Я не пойму, где сменить тег {link-category}?

        Ответить
        • АлаичЪ

          Шаблон shortstory.tpl конечно же :)

          Ответить
          • dark4000 (2 комм.)

            Если я меняю или убираю, отображается только сайт, категории не отображаются.

            Ответить
            • АлаичЪ

              Пиши в feedback (слева) или в icq 546ноль49

              Ответить
  3. Axel (63 комм.)

    я так понимаю, выводить рейтинг в гугле уже нельзя?

    Ответить
    • АлаичЪ

      Можно, но он не будет отображаться в 95% случаев. Но есть шанс, что Google "одобрит" рейтинг, но это 5%.

      Вот у меня есть такая штука, но это немного другое, не рейтинг, а отзывы, но внешне они идентичный. Вот пруфлинк — https://www.google.ru/search?ie=UTF-8&hl=ru&q=%D0%BE%D0%B1%D0%B7%D0%BE%D1%80%20canon%206d

      Ответить
      • Алекс (45 комм.)

        Так вроде же рецепты, отзывы и прочее в сниппетах остались? http://googlerussiablog.blogspot.com/2012/12/blog-post.html — статья от 3 декабря. Или я чего-то не знаю?

        Правки, описанные в статье, реализовал, ричсниппет все распознал, здорово! Жду переиндексации.

        Ответить
        • АлаичЪ

          Я же говорил про фейковые сайты. Если сайт действительно с рецептами, то все появится и сработает, а если сайт не соответствует требованиям, то шанс, что появятся расширенные сниппеты, крайне невелик.

          Ответить
      • Axel (63 комм.)

        Хм... Ну а какая вероятность, что отзывы гугл приймет? И можно ли в них накручивать рейтинг и кол-во отзывов?

        Ответить
  4. Серега (3 комм.)

    Алыч, а как в яндексе сделать заместо sait.ru›stati›strana вот так sait.ru›статьи›страна

    Ответить
    • Axel (63 комм.)

      Это Яндекс уже сам такое делает...

      Ответить
      • АлаичЪ

        АлаичЪ, а не Алыч — окей?

        Как сказал Axel, и правда Яндекс сам решает.

        Ответить
  5. Сергей (1 комм.)

    Блин автор вы всегда на высоте. Ваши статьи жду как бога, ведь благодаря им dle становится лучше.

    Ответить
  6. Виктор (1 комм.)

    У меня проблема, на сайте только показывает новости с категорией, а если в новости категория и подкатегория — то пустота

    В чем трабла?

    Ответить
    • АлаичЪ

      Что? Более понятно опишите проблему, и с примерами, а то я ничего не понял.

      Ответить
  7. Shurka (1 комм.)

    Если у Вас возникла проблема с выводом подкатегорий в speedbar есть небольшое решение.

    При добавлении новости выбирайте только подкатегории и не в коем-случае не нужно добавлять главную категорию.

    У меня было так: Название сайта » Категория » Название новости

    После того как додумался убрать главную категорию из новости: Название сайта » Категория » Подкатегория » Название новости

    Спасибо Александру за модификацию!

    Ответить
  8. Владимир (4 комм.)

    Добрый день, АлаичЪ.

    Подскажите, пожалуйста, можно ли установить этот модуль на версию DLE 7.0.

    При установке выводит след. ошибки:

    Warning: include (engine/api/api.class.php) [function.include]: failed to open stream: No such file or directory in /home/www/z/htdocs/catface_installer.php on line 49

    Warning: include () [function.include]: Failed opening 'engine/api/api.class.php' for inclusion (include_path='.:/opt/php-5.2/lib/php') in /home/www/z/htdocs/catface_installer.php on line 49

    Fatal error: Call to a member function query () on a non-object in /home/www/z/htdocs/catface_installer.php on line 53

    Ответить
    • АлаичЪ

      Какой модуль? Судя по всему речь о CatFace. Нет, установить на 7.0 нельзя и такой возможности не будет никогда. К сожалению...

      Ответить
      • Владимир (4 комм.)

        Эххх, очень жаль, а как посоветуете выводить уникальный контент только на первой странице категории? Можно ли приспособить рекламные материалы как-нибудь?

        Благодарен за вашу поддержку.

        Ответить
        • АлаичЪ

          Вот как раз вчера об этом писал на форуме — http://talk.alaev.info/topic/302/

          Ответить
  9. Олег (3 комм.)

    Добрый день, АлаичЪ. Подскажите что делать с Schema.org для Яндекс.Картинок

    Ответить
    • АлаичЪ

      Откуда я знаю :) Я даже не знаю, что в итоге хочется получить. Пишите-ка лучше на форум, а то вопрос не по теме.

      Ответить
      • Олег (3 комм.)

        http://help.yandex.ru/webmaster/?id=1122760

        Ответить
        • АлаичЪ

          Это все слишком сложно и не нужно. Достаточно указать атрибуты alt и title для картинки.

          Ответить
  10. Min-Z-Drav (7 комм.)

    Не знаю у меня DLE 9.5 и я нечего не прописывал этого и у меня вот так счас http://s018.radikal.ru/i506/1212/21/fb71ac737aa2.jpg это когда в самом поиске вводишь!

    Ответить
    • АлаичЪ

      Для всех сайтов индивидуально. Если есть четкая структура, то все само сделается, если таковой структуры нет, то надо помогать вручную.

      Ответить
  11. Андрей (3 комм.)

    Добрый день АлаиЧъ. Сделал всё по инструкции на движке 9.7. Всё работает круто. Вопрос, а как теперь валидацию можно подправить? До этого сайт был валиден по HTML5, а сейчас выскакивает ошибка:

    Validation Output: 1 Error

    Line 111, Column 1616: Attribute xmlns:v not allowed here.

    …s:v="http://rdf.data-vocabulary.org/#"><span typeof="v:Breadcrumb">

    Подсвечивает вот это место: #">

    Заранее спасибо за ответ.

    Ответить
    • АлаичЪ

      Это ни на что не влияет. Можно не переживать. Если же это так принципиально — выбирайте, что нужнее, валидность или хлебные крошки :)

      PS Все правки технически соответствуют стандартам schema.org.

      Ответить
  12. Валентин (4 комм.)

    Как можно тоже самое, реализовать в тегах http://сайт.ру/tags/имя_тега/

    Ответить
    • АлаичЪ

      Я посмотрю и напишу потом.

      Можно сделать это так:

      Файл engine/engine.php найти:

      		if ($config['allow_alt_url'] == "yes") $s_navigation .= " &raquo; <a href="" . $config['http_home_url'] . "tags/">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;

      Заменить на:

      		if ($config['allow_alt_url'] == "yes") $s_navigation .= " &raquo; <span typeof="v:Breadcrumb"><a href="" . $config['http_home_url'] . "tags/" rel="v:url" property="v:title">" . $lang['tag_cloud'] . "</a></span> &raquo; " . $tag;

      Попробуй и отпишись.

      Ответить
      • Валентин (4 комм.)

        Выводит, но частично. Сам тег не выводит, ссылка обрезается.

        См. скриншот http://s53.radikal.ru/i140/1212/f5/44cf4e832759.png

        Ответить
        • АлаичЪ

          Так и должно быть согласно логике.

          Ответить
  13. Demcheg (6 комм.)

    Приветствую, АлаичЪ.

    Спасибо за статью.

    Только вот че-т на Вашем же сайте это всё некорректно и работает, вернее иногда корректный вывод, а иногда — нет. Ввел в поиске гугла site:www.winterlife.ru и в выдаче вижу следующее:

    << Бобслей, новости бобслея

    << www.winterlife.ru › Форум › Контакты

    << WinterLife.Ru — Страница 10

    << www.winterlife.ru › Форум › Контакты

    << Биатлон — Страница 2

    << www.winterlife.ru › Форум › Контакты

    Таким образом, ошибка возникает при отображении самих категорий и страниц пагинации. Но при этом некоторые категории (скорее подкатегории) хорошо себя чувствуют:

    << Горные лыжи, форум, школа горных лыж

    << www.winterlife.ru › Учебные материалы

    Надо бы посмотреть что с этим можно сделать.

    Ответить
    • АлаичЪ

      Эти ссылки (хлебные крошки) определил сам Google, вот поэтому иногда полезно подсказывать поисковику, как надо делать. Для этого и написан данный пост, чтобы не было такой лажи как у меня. Скоро это пройдет и будет все красиво, когда переиндексируется.

      Ответить
  14. kaktyc(Михаил) (2 комм.)

    А если я не использую на сайте speedbar, можно не ставить? Или все таки для поисковиков поставить?

    Ответить
    • АлаичЪ

      По желанию, можно ставить, а можно и не ставить.

      Ответить
  15. Валерий (66 комм.)

    АлаичЪ, ты как всегда можешь всех удивить своими плюшками.

    И данный пост оказался очень нужным. За что тебе огромное спасибо!

    Есть вопросик по последнему пункту.

    Статья теперь не ссылается сама на себя. и это гуд.

    Но вот категория и подкатегория имеет ссылку на саму себя.

    Как убрать этот косячок движка?

    Подскажи пожалуйста!

    Ответить
    • АлаичЪ

      Все просто :)

      Открываем engine/modules/functions.php

      Находим:

      	if( $config['allow_alt_url'] == "yes" ) $list = "<span typeof="v:Breadcrumb"><a href="" . $config['http_home_url'] . get_url( $id ) . "" rel="v:url" property="v:title">{$cat_info[$id]['name']}</a></span>";

      Заменяем на:

      	if( $config['allow_alt_url'] == "yes" ) {
      		if (intval($_GET['cstart']) > 1) { $list = "<span typeof="v:Breadcrumb"><a href="" . $config['http_home_url'] . get_url( $id ) . "" rel="v:url" property="v:title">{$cat_info[$id]['name']}</a></span>";
      		} else { $list = "<span typeof="v:Breadcrumb">{$cat_info[$id]['name']}</span>"; }
      	}

      Теперь на первой странице ссылки категории самой на себя не будет, а на страницах пагинации ссылка будет!

      Ответить
      • Валерий (66 комм.)

        Спасибо, Алаичъ!

        Но у меня на DLE 9.4 точно такого кода нет.

        Есть похожий. http://st.datapic.ru/img/12-12/10/uswcqj4jp0kul6vpaxa3qvel8.jpg

        Пожалуйста, напиши, какой их них нужно заменить?

        Ответить
        • АлаичЪ

          Ну его и надо заменить =) Просто я указал уже с учетом первоначальных правок из поста.

          Ответить
      • iteam (6 комм.)

        Заметил, что после внесения такой правки, пропадает вся работа над хлебными крошками, и ссылка выводится как обычно.

        Ответить
        • avantus (3 комм.)

          Тоже после этих манипуляций в самой новости ссылка на категорию становится не активной и google не определяет разметку...

          Ответить
          • АлаичЪ

            Да, действительно, недоглядел :( Придется от этой правки отказаться, т.к. я пока не нашел других вариантов устранить проблему...

            Ответить
            • sngrl (6 комм.)

              У себя сделал так:

              	if (intval ($_GET['cstart']) > 1 || intval ($_GET['newsid'])) {
              		$list = "<span typeof="v:Breadcrumb"><a href="" . $config['http_home_url'] . get_url ( $id ) . "" rel="v:url" property="v:title">{$cat_info[$id]['name']}</a></span>";
              	} else {
              		$list = "<span typeof="v:Breadcrumb">{$cat_info[$id]['name']}</span>";
              	}

              Т.е. если мы находимся на странице с новостью (fullstory) — ссылка на категорию отображается, если же нет (вероятнее всего мы на cat) — то категория отображается обычным текстом. Со страницей тегов также работает.

              Категория: http://clip2net.com/s/2HkIp

              Новость: http://clip2net.com/s/2HkIH

              У меня на сайте нет вложенных категорий, т.е. структура может быть только такая: Главная -> Категория -> Новость. Если делать так на сайте со вложенными категориями — возможно не будет работать так, как ожидается.

              И еще — на главной вообще скрыл хлебные крошки — дабы не ссылаться с главной на нее же.

              [not-available=main]{speedbar}[/not-available]

              Ответить
              • CuxpecT (3 комм.)

                У меня аналогичная ситуёвина (после модификаций файлов, гугл всё-равно не видит разметку). Не подскажите в каком файле и в какое место вы вставили данный код?

                Ответить
                • CuxpecT (3 комм.)

                  Нашёл, заменил, но всё равно не работает :)

                  Ответить
      • Руслан (8 комм.)

        не находит такой код в дле 10.2

        как быть?

        Ответить
      • Андрей (4 комм.)

        Как реализовать такое на дле 10.1 те чтобы категория сама на себя не ссылалась ?

        Ответить
      • Рустам (8 комм.)

        Привет, АлаичЪ! Подскажи как подобное реализовать на 11 версии. Из похожего нашёл код:

        if ( $config['allow_alt_url'] ) $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url ( $id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>";

        else $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>";

        while ( $parent_id ) {

        if ( $config['allow_alt_url'] ) $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" . $config['http_home_url'] . get_url ( $parent_id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list;

        else $list = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$parent_id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list;

        Как его править, чтобы категория не ссылалась на себя с первой страницы.

        Ответить
        • Рустам (8 комм.)

          Или как сделать, чтобы ссылка была неактивная

          Ответить
          • Yamakasi (5 комм.)

            тут есть подробно http://sandev.pro/web/93-fiks-dlya-kategoriy-v-spidbare.html

            Ответить
  16. vasea (2 комм.)

    Привет, все работает, спасибо. Но есть еще вопрос — что мне сделать, чтоб показывал так http://i056.radikal.ru/1212/bc/7a93d73278bf.jpg?

    Ответить
    • АлаичЪ

      Это незачем делать. Т.к. title очень длинный то вообще ничего показываться не будет.

      Ответить
  17. Валерий (3 комм.)

    А вот почему у меня такие дубли идут

    http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Flavsoft.ws%2Fmultimedia%2F&html=

    Буду признателен за поправку ошибок

    Ответить
    • АлаичЪ

      Потому что необходимо из анонсов убрать вывод категории новости.

      Ответить
      • Валерий (3 комм.)

        Убрал из анонсов, но возможно где-то пропустил, подскажите плиз в каких tpl. ещё могут быть анонсы новостей, заранее спасибо за ответ

        Ответить
        • АлаичЪ

          Обычно только в shortstory.tpl выводятся конфликтующие элементы.

          Ответить
  18. KZ_WebMaster (4 комм.)

    Спасибо большое)) Но можно все дополнения в комментариях добавить наверх статьи? например о замене {category}, и о замене кода для "категория и подкатегория имеет ссылку на саму себя"?? Спасибо! Ваши труды просто бесценны)

    Ответить
    • АлаичЪ

      Хорошая идея! Добавил FAQ с ответами в пост.

      Ответить
  19. Евгений (3 комм.)

    Добрый день Александр!

    Подскажите, что может быть если в shortstory.tpl не выводится speedbar?

    Сайт www.ptproject.ru

    Заранее благодарен.

    Ответить
    • Дмитрий (44 комм.)

      Евгений, speedbar и не должен выводиться в shortstory.tpl. Обычно он выводится только на главной, в разделах и полных новостях.

      Ответить
  20. Дмитрий (44 комм.)

    Кстати, а возможно ли изменить таким образом название главной страницы в результах поиска? :)

    Ответить
    • АлаичЪ

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

      Ответить
  21. Дмитрий (44 комм.)

    Александр, а можно ли всё-таки увидеть вариант кода, позволяющий выводить (дублировать) название новости, то есть: site.ru>Раздел>Название новости

    Для извращенцев, так сказать. :)

    Ответить
    • АлаичЪ

      Напишу, если не забуду, но чуть позже. Там не все так просто...

      Могу подсказать как это сделать для категорий, но не для новостей.

      Ответить
      • Валентин (67 комм.)

        Спасибо за вашу неимоверно полезную информацию по оптимизации Dle! Не могли бы вы ответить как сделать то что вы писали выше — "Могу подсказать как это сделать для категорий, но не для новостей." пожалуйста.

        Спасибо.

        Ответить
        • АлаичЪ

          Да, при правке файла functions.php на первом шаге надо использовать вот такой код:

          if( $config['allow_alt_url'] == "yes" ) $list = "<span typeof="v:Breadcrumb"><a href="" . $config['http_home_url'] . get_url( $id ) . "/#content" rel="v:url" property="v:title">{$cat_info[$id]['name']}</a></span>";
          Ответить
          • Валентин (67 комм.)

            Спасибо. но как тогда быть с этим, я так сделал... — https://alaev.info/blog/post/4160#comment-13452

            Ответить
            • АлаичЪ

              В коде изменилось только одно место — добавилось /#content — так что можно в тот код добавить, если сравнить строки.

              Ответить
              • Валентин (67 комм.)

                Что то ничего не изменилось... )

                Ответить
  22. sprrut (16 комм.)

    Спасибо! Все работает на ОТЛИЧНО

    Ответить
  23. iteam (6 комм.)

    "A: Дело в том, что при выводе категории новости в анонсе, используется тот же алгоритм формирования ссылок. То есть сюда подключается размеченная микрокодом функция. Выхода тут два. В шаблоне темы shortstory.tpl найти и заменить {link-category} на {category} или вовсе удалить тег {link-category}. "

    -------------------------------------

    Выше вопрос который был задан проблему исправил. Просто ты написал только про краткую новость , а ещё правку надо внести в fullstory

    Ответить
    • АлаичЪ

      Правильное замечание, добавлю в пост.

      Ответить
  24. Алексей (2 комм.)

    Уважаемый АлаичЪ, вопрос может быть не по теме, но всё же задам. Сделал я по Вашей инструкции хлебные крошки, заменил тег {link-category} на тег {category} и появилась небольшая проблема, которую никак не могу решить. А проблема в том, что если выводить название категории с помощью тега {link-category}, то название выводится как "Категория >> Подкатегория". Но вот после замены {link-category} на {category} у меня название категории стало выводиться просто как "Подкатегория". Подскажите, пожалуйста, как и что мне необходимо сделать, чтобы название категории выводилось как и раньше "Категория >> Подкатегория", при этом категории и подкатегории не были в виде ссылок. С нетерпением жду ответа. Спасибо!

    Ответить
    • АлаичЪ

      Просто так это не сделать стандартными средствами, надо допиливать файлы движка и, соответственно, без пол литра не разобраться :)

      Ответить
      • Алексей (2 комм.)

        Понимаю... Пытался сам допилить. Нашел в show.short.php строку if ( $config['allow_alt_url'] == "yes" ) $my_cat_link[] = "<a href=\"" . $config['http_home_url'] . get_url ( $element ) . "/\">{$cat_info[$element]['name']}</a>";

        Думал это отвечает за формирование сслыки. Убрал "лишнее" — получилось if ( $config['allow_alt_url'] == "yes" ) $my_cat_link[] = "{$cat_info[$element]['name']}"; Но ничего не изменилось. АлаичЪ, дорогой, направь на путь истинный...

        Ответить
        • АлаичЪ

          Копаться я в файлах не буду, но я бы сделал немного по-другому.

          Если просто убрать из кода ссылку, то должно получиться вот так:

          if ( $config['allow_alt_url'] == "yes" ) $my_cat_link[] = $cat_info[$element]['name'];

          Ну а если ничего не получилось, значит не то правишь, а еще не забывай кеш чистить или на время экспериментов отключить кеширование.

          Ответить
  25. Александр (4 комм.)

    Здравствуйте! Проблема в том что на категорию не правильно работает. Когда проверяю разметку вот так сайт.ру\категория то все номрально, а вот когда со слешем в конце: сайт.ру\категория\ то не работает. В чем проблема.

    Ответить
    • АлаичЪ

      Ну, вероятно, потому, что страница не доступна по адресу со слешем на конце, или редирект происходит.

      Ответить
  26. Сергей (4 комм.)

    АлаичЪ скажите пожалуйста: как сделать в коде так, чтобы полоска соц. кнопок(лайки,твиты и т.п.) на главной странице отображалась под каждой новостью своя?

    Сейчас если я лайкаю новость 1, то кол-во лайков увеличивается сразу под всеми новостями, а не только под той которую лайкнули.

    Спасибо!

    Ответить
    • АлаичЪ

      Это потому, что у тебя стоит код кнопок, который сам выдирает url текущей страницы, и в итоге ты публикуешь ссылку не на саму новость, а на главную. Необходимо четко указывать url страницы в коде.

      Это в комментарии не объяснить, да и не охота. А самое тут интересное — соцкнопки для анонсов статей не имеют смысла, их надо устанавливать только при просмотре полной новости.

      Ответить
      • Сергей (4 комм.)

        Спасибо за ответ.

        Опыт показывает, что ретвиты анонсов статей (среди которых много видеороликов) зачастую боле полезны и часты, чем ретвиты на полную новость.

        А просто пример функции в двух строках привести не получится или это больше, чем строка-две? )

        Ответить
        • АлаичЪ

          Вот то что тебе надо — https://twitter.com/goodies/buttons

          Ответить
  27. comik (1 комм.)

    Спасибо за очередую оптимизацию движка!

    Ответить
  28. Сергей (11 комм.)

    Приветствую!

    А как убрать название сайта после названия новости? У Вас не отображается, а у меня по ссылке присланной Вам идёт так: Contract Killer Zombies 2 (название новости) » Весь Андроид (название сайта). Не красиво да и с толку как мне кажется юзеров сбивает...

    Ответить
    • АлаичЪ

      Читаем первую часть уроков по оптимизации DLE — https://alaev.info/blog/post/2373

      Ответить
      • Сергей (11 комм.)

        Благодарю — всё чудненько ))

        Пошел штудировать остальные части оптимизации...

        Ответить
  29. TITAN-UZ (6 комм.)

    Если 1 новость в двух категориях то не отображаются. Показывает только имя сайта Как решит эту проблему?

    Ответить
    • АлаичЪ

      Оставить только одну категорию =)

      Ответить
    • eskort (4 комм.)

      Открыть файл engine/engine.php

      Найти стролку:

      if (intval ($category_id)) $s_navigation .= " &raquo; " . get_categories ( $category_id );

      Заменить на:

      if (intval ($category_id)) $s_navigation .= " &raquo; " . get_categories ( intval ($category_id) );

      А еще вместо этого можно попробовать в файле engine/modules/show.full.php удалить строку:

      $category_id = $row['category'];

      Ответить
      • TITAN-UZ (6 комм.)

        eskort, спасибо, все работает как надо!

        Ответить
      • makamp (1 комм.)

        DLE 9.7: Проделал все шаги как в инструкции + те шаги с помощью которых убирается вывод названия текущей новости (эти шаги в конце инструкции) + те что выше в комментарии. Результат:

        — speedbar работает "как положенно" (Главная » Фильмы » Приключения): не важно во скольких категориях состоит новость, в speedbar-e выводится та категория которая и в ЧПУ (у меня ЧПУ Тип 2) чпу: http://XXXXXXXX.ru/films/priklyucheniya/1123-hobbit-nezhdannoe-puteshestvie-the-hobbit-an-unexpected-journey.html.

        — при проверке валидатором микроразметки от Google все также отлично, без дублей категорий и подкатегорий:

        Хоббит: Нежданное путешествие...

        XXXXXXXX.ru › Фильмы › Приключения

        ИМХО нужно включить в инструкцию шаги что в коментарии выше, так как до того как не были проделанны шаги которые в комментарии выше и в speedbar-е не отображались подкатегории при просмотре полной новсти и в валидаторе гугла были дубли!!

        Ответить
  30. Саня (9 комм.)

    Валидатор ругается:

    Error Line 242, Column 107: there is no attribute "typeof"

    …f.data-vocabulary.org/#"><span typeof="v:Breadcrumb"><a href="http://ххх…

    Error Line 242, Column 176: there is no attribute "property"

    …ххх.ru/" rel="v:url" property="v:title">Главная</a></span> » <sp…

    Подскажите как это исправить?

    Ответить
    • АлаичЪ

      Ну и пусть себе ругается, в чем проблема? Спать ночами не дает?

      Выше уже задавали аналогичный вопрос и я на него ответил.

      Ответить
  31. Роман (1 комм.)

    Сделал изменения, Перешел на гугл, ввел домен и нажал посмотреть.

    отображается вида:

    Фильмы, сериалы, мультфильмы

    site.ru/

    На этом месте будет появляться фрагмент страницы. Поскольку текст зависит от введенного запроса, сейчас он не отображается.

    Ответить
    • sprrut (16 комм.)

      Шаблон shortstory.tpl — надо {link-category} заменить на {category}

      Ответить
  32. akenfol (2 комм.)

    Я все сделал, у меня работает отдельно для новостей и для категорий и подкатегорий

    Ответить
  33. Xnokie (10 комм.)

    data-vocabulary.org/#"><span typeof="Breadcrumb"><a href="

    Line 111, Column 89: there is no attribute "typeof"

    You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight"

    И тд при проверке Валидатором!!! Кто знает как решить проблему? Админ ответь!

    Ответить
    • АлаичЪ

      Это не проблема. Все в порядке.

      Ответить
  34. Руслан (10 комм.)

    Добрый день.

    Очень понравилось статья, сделал сразу у себя на сайте, начал тестить на баги и ошибки, вроде все норм кроме отображения категории:

    Сам пациент ingame.kz, интересно как решить проблему с http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Fingame.kz%2Fskrinshoty%2F&html=

    Отображается просто ingame.kz/skrinshoty/ что то не так сделал :( ?

    Ответить
    • АлаичЪ

      Так и должно быть, так как это родительская категория и не вложена в другую категорию.

      Ответить
  35. Андрей (4 комм.)

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

    Ответить
  36. Андрей (4 комм.)

    Потестив еще немного выяснилась такая проблема: корректно отображаются в снипетах только новости опубликованные в категорию второй вложенности т.е. домен.>категория>категория>новость,

    а домен.>категория>новость уже отображается как обычно — ссылкой. Также проблема указанная мной в комменте выше также имеет место. Что мог сделать не так? Где копать? Код перепроверял много раз.

    Ответить
    • АлаичЪ

      При публикации новости указываете только конечную категорию или и родительскую тоже?

      Ответить
      • Андрей (4 комм.)

        При публикации указываю только конечную категорию.

        Есть варианты как исправить?

        Ответить
  37. Руслан (10 комм.)

    у меня на главной странице вот такое чудовище

    http://s001.radikal.ru/i193/1301/2d/ccd93a0e53ec.png

    чем лечить?

    Ответить
    • Андрей (4 комм.)

      или замени {link-category} на {category} если такие теги есть, или если нет, тогда убери с главной {speedbar}. Вроде так должно помочь, мне удаление {speedbar} помогло.

      Ответить
      • Руслан (10 комм.)

        {speedbar} — на главной нету.

        Это главная страница, на ней очень много где выводятся ссылки на категории, как быть в этом случае?

        Ответить
        • АлаичЪ

          FAQ в конце поста читай.

          Ответить
          • Руслан (10 комм.)

            Я так понял решить эту проблему мне поможет пост https://alaev.info/blog/post/4160#comment-12808

            И еще я понял что ссылки на категории пропадут? Но а если нужно оставить ссылку категории для удобности?

            Ответить
  38. Tomich (1 комм.)

    Все сделал по инструкции, но у меня не сработало... http://prntscr.com/ph5bs

    Ответить
  39. Давид (15 комм.)

    Всем привет. АлаичЪ недавно заметил что в выдаче гугла на некоторых разделах моего сайта появились хлебные крошки, которых не должно быть. Вот примерно так.

    Раздел сайта

    ссылка на сайт — Статистика сайта › Правила › Связь с нами › О нас

    Описание сайта

    Эти ссылки в самом верху страницы, и сделаны с помощью списков <ul><li></li></ul>

    Как вообще можно сделать так чтобы эти ссылки пропали в выдаче гугла?

    Спасибо большое.

    Ответить
    • АлаичЪ

      У меня для одного из сайтов есть такая же фигня. Это Гугл самовольничает, пытается определить навигацию самостоятельно. Поэтому надо ему помочь — сделать все по инструкции в посте, тогда со временем все будет ок.

      Ответить
      • Давид (15 комм.)

        Попробовал сделать правки. Все работает только если вместо {link-category} поставить {category}. Но в короткой и полной новости пропадает ссылка на категорию. Как тогда сделать, чтобы ссылка на категорию осталась?

        И еще хотел спросить, если поставить на ссылки тег rel="nofollow" то вот эти ссылки что Гугл автоматически прописал, не могут выпасть из выдачи?

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

        Ответить
        • АлаичЪ

          В короткой новости и должна пропадать ссылка на категорию, а в полной должна быть.

          nofollow никак не повлияет на ситуацию.

          Ответить
          • Давид (15 комм.)

            АлаичЪ ты же в посте сам писал, если в fullstory тоже есть {link-category} то надо его заменить на {category}. Вот заменяю все работает, но вместо ссылки на категорию, остаеться только название категории.

            Ответить
            • Валентин (67 комм.)

              Вобщето так и должно быть...

              Ответить
              • Давид (1 комм.)

                А почему так должно быть? А если мне нужно чтобы ссылка на категорию осталась, что в этом случае делать? Наверное должно быть какое то другое решение проблемы.

                Ответить
  40. Axel (63 комм.)

    АлаичЪ, заметил что после модификации хлебных крошех, расширенные снипетты в Яндексе, которые Яндекс присвоил мне давно, пропали... Чего не так? Может Яшка не любит такие микроданные? У кого-нибудь была подобная проблема?

    Ответить
    • АлаичЪ

      Просто совпадение и не более того. Это вещи никак не связаны друг с другом.

      Ответить
  41. Данил (16 комм.)

    А если стоит ЧПУ 1? То это не нужно делать?

    Ответить
    • АлаичЪ

      От типа ЧПУ данная модификация никак не зависит, так что можешь сделать.

      Ответить
  42. VIP (1 комм.)

    АлаичЪ, так держать!

    Желаю успехов в дальнейших работах, в данный момент по правильному пути идешь, молодцом!))

    Ответить
  43. Цветочник (4 комм.)

    Попробовал установить это дело на свой блог http://www.rosesbouquet.ru/

    Сначала, как проделал замены из статьи, у меня всё работало (правда, на морде вместо "Статьи-Заголовок статьи" стало отображаться "Статьи<br>-Заголовок статьи", т.е. в две строки отображалось). Но работало с глюками) В гугле показывалось как "Статья-Статья-Статья... -Название статьи"

    Попробовал как в FAQ написано "В шаблоне темы shortstory.tpl найти и заменить {link-category} на {category} или вовсе удалить тег {link-category}.". Не важно, заменяю или удаляю — в гугле http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Fwww.rosesbouquet.ru%2F&html= стало "No preview available"

    В чём может быть дело? Спасибо заранее

    Ответить
  44. Антон (1 комм.)

    Сделал всё в идеале по твоей инструкции! Но теперь выдаёт такую ошибку:Parse error: syntax error, unexpected T_IF in /home/tarac128/public_html/engine/engine.php on line 755 Что теперь делать?

    Ответить
    • Родя (4 комм.)

      Посмотреть 755 строчку, а дальше уже думать. Это я к тому что не понятно, что там у Вас

      Ответить
  45. Mako (5 комм.)

    Здравствуйте! Сделал все как надо, и все вроде бы работает, есть одно но вот скрин: http://yadi.sk/d/vVjyF74_2pnbw .

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

    } elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e; if ($titl_e) $s_navigation .= " &raquo; " . $titl_e; и заменить на } но ничего не вышло как быть?

    Ответить
    • Mako (5 комм.)

      У меня работает она в некоторых категориях нормально а в не которых дублируется, когда норм показывает вот ссылка:

      http://www.google.com/webmasters/tools/richsnippets?url=my-fun.ru%2Ffilms%2Fboeviki&html=

      И когда дублируется ссылка:

      http://www.google.com/webmasters/tools/richsnippets?url=my-fun.ru%2Ffilms%2Fcartoons&html=

      В чем может быть проблема? Может проблема в title категории?

      Ответить
      • АлаичЪ

        FAQ в конце поста я же не для себя писал наверное, не?

        Ответить
        • Mako (5 комм.)

          Ну вот я прочитал FAQ и все комменты, все сделал, все перепробывал, но выводит так же...

          Ответить
          • АлаичЪ

            Тебе придется удалить для постеров поле "Жанр" иначе работать не будет.

            Ответить
            • Mako (5 комм.)

              То есть вместо {link-category} поставить {category}? Или полностью строку? Я просто уже пробывал поставить {category} но все также оставалось...

              Ответить
              • АлаичЪ

                По-разному попробуй, почему я то за тебя должен думать. Попробуй удалить вообще.

                Ответить
  46. Родя (4 комм.)

    Как я понимаю, у всех разные проблемы, а точнее у кого-то они есть а кого-то их нет.

    У меня же категории не дублируются. У меня они показываются лишь только тогда, когда выбрала подкатегория в категории. Не показывается, когда выбрана одна категория, несколько.

    Ответить
  47. DarkRaveN (1 комм.)

    Спасибо больше за статью, очень полезна.

    "Q: Все сделал по инструкции, но валидатор выводит какую-то ерунду такого вида: Сайт.ру › ... › Подкатегория2 › Категория1 › Подкатегория2"

    Мне необходимы было выводить линк на категорию а не просто название категории. Проблему частично решил немного кустарным методом, но все же работает.

    в кратной и полной новости добавил запрещающие теги для групп

    [not-group=5]Раздел — {link-category}[/not-group]

    [group=5]Раздел — {category}[/group]

    С таким выводом названия категорий и подкатегорий не дублируются в микроразметке от Google.

    И ссылки на категории выводятся для всех зарегистрированных, и только для гостей выводится просто название категории.

    Ответить
    • АлаичЪ

      Ну как вариант! У меня на одном из проектов такая же схема, но не для хлебных крошек, а чтобы не было лишних внутренних ссылок.

      Ответить
  48. Adminn (15 комм.)

    Установил сей код на сайт dle-free. Все работает. Но только валидатор почему-то, при просмотре категорий и полной новстей... выдает 2 ошибки.

    there is no attribute "typeof" ...<span typeof="v:Breadcrumb">

    there is no attribute "property"...rel="v:url" property="v:title">

    как пофиксить?

    Ответить
  49. Родя (4 комм.)

    Столкнулся с проблемой. Новость находится в нескольких подкатегориях. Например: Сайт > Спорт > Бодибилдинг, фитнес, Тяжелая атлетика

    Можно ли сделать отображение хотя бы одной подкатегории в поиске(не важно какой)?

    Например:

    Сайт > Спорт > Бодибилдинг

    Или

    Сайт > Спорт > Тяжелая атлетика

    Ответить
    • АлаичЪ

      Только все сразу :(

      Ответить
      • Родя (4 комм.)

        По крайней мере, давно заметил. Делаешь что-то специально, google не показывает. Не делаешь — google показывает так как тебе надо или даже лучше.

        Ответить
  50. Naz (1 комм.)

    Здравствуйте, АлаичЪ!

    Возможно ли установить хлебные крошки в DLE без вывода speedbarа на сайте ?

    Ответить
    • АлаичЪ

      Можно, если вручную прописать в шаблоне всю конструкцию. У меня, к слову, когда-то раньше именно так и было.

      Ответить
  51. Игорь (1 комм.)

    Добрый день.

    Большое спасибо тебе, АлаичЪ за столь важные и подробные статьи ) Все работает, очень понравилось.

    Но есть одна проблемка у меня. В сниппете выводятся почти все категории на сайте.(подкатегорий у меня вообще нет). http://floomby.ru/s1/TaA9Gc — вот скрин. Если смотреть по коду, то все ок и лишнего не выводится, откуда их Гугл берет — не понимаю.

    И еще спасибо за метод с рейтингом. Гугл скушал на след день такую микроразметку.

    Ответить
    • АлаичЪ

      Читай FAQ — самый первый вопрос.

      Ответить
  52. Андрей (1 комм.)

    Здравствуйте. А возможно ли реализовать эту микроразметку валидной?

    Ответить
    • АлаичЪ

      Она и так валидна. Если вам кажется, что это не так — ну, селяви!

      Ответить
  53. Артем (6 комм.)

    АлаичЪ, возможно ли сделать так, чтобы вместо site.ru > Фильмы > Боевики, было Название сайта > Фильмы > Боевики

    Ответить
  54. Shpoonya (2 комм.)

    Поставил проверил на валидность, действительно не валиден(

    Всеровно большое спасибо

    Ответить
  55. akenfol (2 комм.)

    У меня на dle 9,8 в любой категории выдает такое http://clip2net.com/s/4WjJXW

    подскажите пожалуйста!

    Ответить
    • АлаичЪ

      Прочитай FAQ в конце поста и комментарии — ответ уже давно есть.

      Ответить
  56. Евгений (3 комм.)

    Добрый день коллеги, подскажите, удалил следующий код, как указано в последнем абзаце и хочу вернуть его обратно, куда его вставить, перед каким кодом:

    } elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;

    if ($titl_e) $s_navigation .= " &raquo; " . $titl_e

    Ответить
    • АлаичЪ

      Возьми оригинальный файл и найди там данный код — будет понятно, куда его надо будет скопировать на работающем сайте :)

      Ответить
  57. Валерий (66 комм.)

    АлаичЪ, подскажи пожалуйста, как решить эту проблемку.

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

    Можно ли убрать каким-то образом циклические ссылки из speedbar ?

    Ответить
    • АлаичЪ

      Можно, где-то выше в комментариях писали как это сделать.

      Ответить
  58. Тарас (7 комм.)

    У меня проблема в отображении хлебных крошек, допустим у меня есть материал который принадлежит категории а и б.

    И вместо отображения главная>категория а>названия материала... у меня показывает следующее главная>пустое место> название мат-ла. В чем может быть проблема был бы очень благодарен за помощь...

    Ответить
  59. Safok (1 комм.)

    У меня не получалось, можешь мне помочь? Скайп sa6kacm

    Почему у меня выводит в Google Structured Data Testing Tool одно, а в поиске не выводит категории?

    И еще такая проблема, когда в новости выбираю одну категорию она не отображается, а если две и более то отображается. Что делать?

    Ответить
  60. Григорий (1 комм.)

    Использовал различные варианты кодов предложенных Вами и в коментариях, но так и не добился того чтобы не отображались подкатегории( Их у меня на сайте нет, а в сниппете категория прописывается 2 раза, т.е. "урл" "категория" "категория" как убрать вторую категорию подскажите пожалуйста и если бы дополнить основной пост этой маленькой инструкцией, было бы просто замечательно...

    Ответить
  61. Extazy (6 комм.)

    А как сделать, чтобы крошки работали только в Fullstory? Можно где-то как-то прописать [aviable=showfull] [/aviable] ??

    А то мне не нравится вывод крошек на страниц с категориями, а ссылки на категории я убирать не хочу.

    Ответить
    • АлаичЪ

      Логично, что надо в шаблоне main.tpl найти {speedbar} и заключить в [aviable=showfull] [/aviable]. Пробуй.

      Ответить
      • Extazy (6 комм.)

        не, speedbar я хочу оставить везде, а микроразметку оставить только в полной новости.( есть такой вариант?

        Ответить
        • АлаичЪ

          Понятно. Не, такого варианта у меня нет, придется самостоятельно изобретать.

          Ответить
  62. Владимир (8 комм.)

    Есть рабочий вариант, когда работает микроразметка в снипете и когда нахожусь в категории ссылка категории (циклическая) не активна???

    Немножко не в тему хлебных крошек (не могу найти), как закрыть циклические ссылки.

    К примеру, я нахожусь в категории Осень, и у меня в спидбаре Осень активна и в новости категория Осень активна, а нужно сделать не активными!

    Ответить
    • Геннадий (1 комм.)

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

      Ответить
  63. Елена (1 комм.)

    Отличный мануал, спасибо автору! Только для 10-ки всё же надо поправить. Не получается запретить дублирование.

    Ответить
  64. Raiser (1 комм.)

    Добрый вечер. Результат крошек можно видеть сразу после изменения кода в валидаторе или спустя некоторое время?

    Ответить
    • АлаичЪ

      Результат будет виден после переиндексации страниц роботами гугла.

      Ответить
  65. Сергей (1 комм.)

    Подскажите как исправить. Была дле 9.7 все отображалось нормально, обновился до 10.1, теперь google индексирует полную новость как и нужно сайт>категория, а вот сами категории выводятся только: сайт>http://адрес категории , что делать?

    Ответить
  66. Евгений (2 комм.)

    Помогите пожалуйста настроить 10.1 у меня вместо $s_navigation = "<a href=\"{$config['http_home_url']}\">" . $config['short_title'] . "</a>";

    стоит $s_navigation = "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"{$config['http_home_url']}\" itemprop=\"url\"><span itemprop=\"title\">" . $config['short_title'] . "</span></a></span>";

    и при тех заменах что написаны сайт вообще не работает.

    Ответить
    • АлаичЪ

      Уже без всяких правок там есть разметка, не обратили внимания? То, что написано в посте уже внедрили в движок "из коробки".

      Ответить
  67. Айдар (2 комм.)

    Ребят, а это можно спрятать? Просто на сайте нету для него места, а хлебные крошки нужны :)

    Ответить
  68. Валерий (66 комм.)

    АлаичЪ, для 10 версии и последней уже неактуально?

    Кода такого уже нет.

    Если актуально, поправь пожалуйста код!

    Буду благодарен не только я)

    Ответить
    • АлаичЪ

      В новых версиях уже изначально есть разметка.

      Ответить
  69. Артем (3 комм.)

    Здравствуйте, Александр! У меня проблема с отображением хлебных крошек на 10-й ДЛЕ. Когда я добавляю материал в три категории, выводится только одна. Например, должно быть так: Рецепты >> Соусы >> Испанская кухня, а в реальности выглядит так: Рецепты... и все :)

    Ответить
  70. Игорь (7 комм.)

    А как быть? на атрибуты для крошек itemscope itemtype ругается валидатор.

    Ответить
    • Игорь (7 комм.)

      Не так вопрос поставил. У меня дле 10.1 там прописаны метатеги для крошек но валидатор ругается на itemscope itemtype, как можно исправить и нужно ли исправлять конечно хотелосьбы что бы и валидатор не ругался и метатеги работали.

      Ответить
  71. Алексей (4 комм.)

    АлаичЪ подскажите пожалуйста как сделать в dle 10 чтобы в категории в которой находишься ссылки на нее в хлебных крошках не было то есть быть только текст > Категория , так как это лишние ссылаться где находится , за ранние спасибо!

    Ответить
    • Валентин (67 комм.)

      В шаблоне вместо {link-category}, надо написать {category}...

      Ответить
      • Алексей (4 комм.)

        Валентин, в каком еще шаблоне ?, мне нужно в самих хлебных крошках что нибудь изменить, но что не знаю

        Ответить
        • Валентин (67 комм.)

          В шаблоне fullstory.tpl

          Ответить
          • Алексей (4 комм.)

            Валентин, Мне нужно в категория убрать кликабельную ссылку на категорию в которой находишься,оставив лишь ее название, причем здесь fullstory.tpl ?

            Ответить
            • Валентин (67 комм.)

              Вы писали что: "так как это лишние ссылаться где находится", вот я вам и написал как можно, но не в спидбаре. А если именно в спидбаре, тогда не знаю, потому что сам задал вопрос и никак не получу на него ответ...))

              Ответить
  72. Валентин (67 комм.)

    Здравствуйте. Подскажите как сделать, что бы в спидбаре вместо названия новости, которое пишется в строку — "Заголовок", выводило то, что во вкладке — "Дополнительно", вписывается в поле — "Метатег title"...

    Ответить
  73. Денис (34 комм.)

    Добрый день! А как быть с микроразметкой на DLE 10.1 Все приводимые примеры не подходят к данной версии движка. Как быть?

    Ответить
    • Валентин (67 комм.)

      Она там уже есть... будьте повнимательнее.

      Ответить
      • Денис (34 комм.)

        В том то и дело что валидатор показывает обратное

        Ответить
        • Валентин (67 комм.)

          Какой валидатор? Яндекса или Гугля?

          Дело в том что ошибки микроразметки были в версии 10.0, а в 10.1 они исправлены...

          Возможно вы что то намудрили где-то. Если не трогать встроенную разметку, то нет там ошибок, проверял и в яше и в гугле...и имейте ввиду, что некоторые вещи и от шаблона вашего зависят...

          Ответить
          • Денис (34 комм.)

            Всё верно, косяк в шаблоне в файле main.tpl. Спасибо! Только как теперь его выявить, не подскажите?

            Ответить
            • Валентин (67 комм.)

              Ну если не боитесь, то отправьте мне на почту (djinn1100@yandex.ru) ваш main.tpl и speedbar.tpl и адрес сайта, надо смотреть, так не скажу...

              Ответить
  74. Алихан (8 комм.)

    здравствуйте, Alaev

    недавно перешел на dle 10.2 и сделал все по интсрукций, думаю что то необходимо поменять

    с уважением, Жарар Алихан

    Ответить
    • АлаичЪ

      Для 10.2 вообще вся инструкция не актуальна, т.к. хлебные крошки реализованы уже "из коробки".

      Ответить
      • Алихан (8 комм.)

        dle 10.2 мне не подошел, на www.zharar.com установил dle 10.1 сделал все по инструкций и на валидаторе не работает

        Ответить
        • Валентин (67 комм.)

          Вам же уже ответили, хлебные крошки уже встроены в версии 10.1 и 10.2, их не надо устанавливать, они уже есть.

          Ответить
          • Алихан (8 комм.)

            хорошо, я обратно все коды поставил и все таки не выходит тут — http://goo.gl/sFC93I

            Ответить
  75. Валентин (67 комм.)

    Модуль спидбар вообще отсутствует в шаблоне, и как вы собираетесь хлебные крошки использовать.

    У вас там ошибки не по хлебным крошкам, а по рейтингу и еще что то там, а это уже совсем другая тема.

    Ответить
  76. Антон (6 комм.)

    Подскажите как подправить этот код, так как он не проходит валидацию на сайте:

    http://validator.w3.org/

    по факту появляются 2 ошибки:

    Line 114, Column 89: there is no attribute "typeof"

    …f.data-vocabulary.org/#"><span typeof="v:Breadcrumb"><a href="http:/

    Line 114, Column 159: there is no attribute "property"

    …argeometry.com/" rel="v:url" property="v:title">

    Ответить
    • АлаичЪ

      Никак. Какая вообще разница, валидно оно или нет?

      Ответить
      • Антон (6 комм.)

        доброе утро.

        задался целью исправить ошибки валидности на сайте (45+) в итоге остались только эти две. Если решения нет, значит оставим все как есть.

        Ответить
        • АлаичЪ

          Валидатор, например, html5 не понимает до сих пор. Вот и микро-данные тоже :(

          Ответить
  77. Руслан (8 комм.)

    Подскажите пожалуйста все сделал по инструкции но у меня в дле 10.2 в хлебных крошках показывает называние статьи...как ее убрать?

    сайт>категория>название статьи

    Ответить
    • Иван (2 комм.)

      Найти в /engine/engine.php:

      } elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;

      if ($titl_e) $s_navigation .= " &raquo; " . $titl_e;

      Заменить на:

      }

      Ответить
  78. Михаил (3 комм.)

    Кстати, в dle 10.2 данная микроразметка уже выполнена. Разработчики стараются)

    Ответить
  79. Иван (2 комм.)

    Спасибо Алаич. Все перекопал и только у тебя нашел. Дубль тайтла в спидбаре не нужен яндекс не любит этого и считает , что заточено под ключевик.

    Ответить
  80. Сергей (1 комм.)

    Доброго времени суток!

    Находясь в категории, в хлебных крошках, выводится на неё ссылка и она ссылается сама на себя.

    Алычъ, будь добр, подскажи пожалуйста рабочий вариант правки для DLE 10.2.

    Очень нужно и нигде не могу больше найти.

    Огромное Спасибо заранее!

    Ответить
  81. devrvk (1 комм.)

    Здравствуйте!

    Подскажите пожалуйста!

    Есть сайт наполнен статическими страницами. Естественно в хлебных крошках при переходах на страницы не соблюдается иерархия, как можно решить? На любой странице в хлебных крошках мы видим "Главная > Название страницы", а на самом деле полный путь к странице "Главная-Ремонт телефонов-Назв страницы".

    Ответить
  82. Юрий (5 комм.)

    если необходимо закрыть от индексации ссылку на главную, только чтобы индексировалась только ссылка на раздел, как это реализовать?

    Ответить
  83. Evurg (2 комм.)

    Здравствуйте как можно убрать главную например:

    Главная-раздел-новость а нужно раздел новость

    Ответить
  84. Ильяс (1 комм.)

    Приветствую. Я правильно понял если Dle выше 10-ой версии то "хлебные крошки уже реализованы в нем. Если да то где можно найти.

    Ответить
    • АлаичЪ

      Да, реализованы. Ничего искать не надо, оно сделано по умолчанию. А сделано оно точно так же, как я предложил решение в данном посте.

      Ответить
  85. Сергей (1 комм.)

    Задался целю установить Хлебные на статическую страницу и пришел в ступор может кто знает добрые люди как это сделать ?

    Ответить
  86. Александр (1 комм.)

    Странно как-то получается. Сделал правки modules/functions и enigne.php, но в исходном коде как было так и осталось. DLE 9.8, кеш чистил и в настройках его отключил.

    Ответить
  87. Дмитрий (1 комм.)

    Приветствую! Прежде всего спасибо за инструкцию! Все работает за исключением одного "НО"

    В валидаторе выдает ошибку на последнюю подкатегорию "– недопустимый тип целевого объекта для свойства http://rdf.data-vocabulary.org/#url."

    Вот ссылка для проверки: https://developers.google.com/structured-data/testing-tool?url=http%253A%252F%252Fdesignnavigator.ru%252Ftutorials%252Fphoto%252F

    Ответить
  88. Дмитрий (1 комм.)

    Доброго времени суток. Благодарю Вас за инструкцию по установке Хлебные крошки в DLE.

    При проверке в валидаторе Гугл выдается ошибка:

    " – недопустимый тип целевого объекта для свойства http://rdf.data-vocabulary.org/#url."

    Это кусок кода, который выделил валидатор:

    <a href="http://00rf.ru/" rel="v:url" property="v:title">Профессиональные косметологические аппараты</a>

    Подскажите, как исправить ошибку. Спасибо.

    Ответить
  89. Александр (5 комм.)

    Здравствуйте. DLE 10.4 Подскажите как безболезненно удалить разметку Breadcrumb. У меня стоит разметка Recipe, а многие статьи (половина) в выдаче автоматически размечены Breadcrumb, и получается сниппет без картинки.

    Это только в Google, в Яндексе нормально.

    Ответить
    • АлаичЪ

      Разметка друг с другом прекрасно сочетается, и если картинка не показывается, то точно не из-за разметки хлебных крошек.

      Ответить
  90. Александр (5 комм.)

    Пока отключил Speedbar, посмотрю как дальше будет.

    Ответить
    • АлаичЪ

      Поверьте, ничего не изменится.

      Ответить
  91. Александр (2 комм.)

    Здравствуйте! Подскажите, внедрял ваши советы по оптимизации(не этот конректно т.к. версия движка Версия DataLife Engine: 11.2) и перестали выводится русские хлебные крошки в яндексе. Не пойму в чем дело. Проверку микроразметки на гугле проходит. Раньше вроде норм было.

    Ответить
  92. Александр (2 комм.)

    Вот я кое как и коды где то разные но поменял на ваши коды и в гугле как на скрине сейчас http://prntscr.com/hqrq55, как Вам?

    Этот код примерный не мог найти я ни в функтионс ни в енгине

    } elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;

    if ($titl_e) $s_navigation .= " &raquo; " . $titl_e;

    Ответить
  93. Евгений (2 комм.)

    Пора обновить это все... Ты пишешь "по версии schema.org", а сам в коде ставишь: "xmlns:v="http://rdf.data-vocabulary.org/#">"

    Это старая версия, сейчас уже гугл ее не принимает.

    Ответить
    • Евгений (2 комм.)

      Сразу даю решение рабочее, главное также советую удалить дублирование заголовка:

      Открыть файл engine/engine.php

      В самом низу есть код отвечаюищий за формирование Крошек, вы заметите там похожее, его заменить.

      /*

      =====================================================

      Формирование speedbar

      =====================================================

      */

      Заменить на:

      if ($config['speedbar'] AND !$view_template ) {

      function getSpeedbarCategory ($id = 0, $separator = '&raquo;', $is_link = false, $pos = 2)

      {

      global $cat_info, $config;

      $temp_id = $id = (int)$id;

      if (!$id) return '';

      $catlist = [$temp_id];

      while ($parentid = $cat_info[$temp_id]['parentid']) {

      array_unshift ($catlist, $parentid);

      $temp_id = $parentid;

      };

      $speedbar = '';

      foreach ($catlist as $cat_id) {

      $speedbar .= " $separator ";

      if (!$is_link && $cat_id == $id) {

      $speedbar .= $cat_info[$cat_id]['name'];

      } else {

      $speedbar .= "<span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"{$pos}\"><a href=\"" . $config['http_home_url'] . get_url ($cat_id) . "/\" itemprop=\"item\"><span itemprop=\"name\">{$cat_info[$cat_id]['name']}</span></a></span>";

      }

      $pos++;

      }

      return $speedbar;

      }

      $s_navigation = "<span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"1\"><a href=\"{$config['http_home_url']}\" itemprop=\"item\"><span itemprop=\"name\">" . $config['short_title'] . "</span></a></span>";

      if ($config['start_site'] == 3 AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e = "";

      $config['speedbar_separator'] || $config['speedbar_separator'] = ' &raquo; ';

      if (intval ($category_id)){

      if ($titl_e OR (isset ($_GET['cstart']) AND intval ($_GET['cstart']) > 1) ) {

      $last_link = true;

      } else $last_link = false;

      $s_navigation .= getSpeedbarCategory ($category_id, $config['speedbar_separator'], $last_link);

      } elseif ($do == 'tags') {

      $s_navigation .= " {$config['speedbar_separator']} <span itemprop=\"itemListElement\" itemscope itemtype=\"https://schema.org/ListItem\"><meta itemprop=\"position\" content=\"2\"><a href=\"" . $config['http_home_url'] . "tags/\" itemprop=\"item\"><span itemprop=\"name\">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag;

      } elseif ($nam_e) $s_navigation .= " {$config['speedbar_separator']} " . $nam_e;

      if ($titl_e) {

      $s_navigation .= " {$config['speedbar_separator']} " . $titl_e;

      } else {

      if ( isset ($_GET['cstart']) AND intval ($_GET['cstart']) > 1 ){

      $page_extra = " {$config['speedbar_separator']} ".$lang['news_site']." ".intval ($_GET['cstart']);

      } else $page_extra = '';

      $s_navigation .= $page_extra;

      }

      $tpl->result['speedbar'] = '';

      $tpl->load_template ('speedbar.tpl');

      $tpl->set ('{speedbar}', '<span id="dle-speedbar"><span itemscope itemtype="https://schema.org/BreadcrumbList">' . stripslashes ($s_navigation) . '</span></span>');

      $tpl->compile ('speedbar');

      $tpl->clear ();

      }

      Ответить