DLSiblings: примеры перелинковки
- Время чтения: 9 мин
- Андрей [Aharitо́] Харитонов
- Раздел: MODx Evolution
Здесь вы найдете реальные примеры правильного создания кольцевой перелинковки с помощью сниппета DLSiblings с учетом SEO-факторов, а также пояснения и советы к этим примерам.
Пример 1. Кольцевая перелинковка «Статьи по дате публикации»
На подопытном сайте имеется статейный раздел, все статьи примерно на одну тему — «антигололедные реагенты и борьба с наледью». Поэтому статьи можно не фильтровать, по тематике они и так релевантны друг другу с точки зрения поисковых систем.
А значит, в кольцах они будут «усиливать» друг друга по НЧ запросам из данной тематики. Кроме того, они могут вызвать интерес и у посетителя — тематика-то одна, и как раз она и интересует человека.
Ниже — пример вызова сниппета DLSiblings для создания множественной кольцевой перелинковки с двумя кольцами в каждую сторону.
[[DLSiblings?
&idType=`parents`
&parents=`[*parent*]`
&thumbSnippet=`sgThumb`
&thumbOptions=`{"tv.article_intro_img":{"medium":"700x400"}}`
&ownerTPL=`@CODE:<div class="row latest-news">[+dl.wrap+]</div><hr>`
&tpl=`@CHUNK:chunk.DLSiblings.articles`
&prevQty=`2`
&nextQty=`2`
&dateSource=`pub_date`
&dateFormat=`%d-%m-%Y` // Преобразуется при помощи prepare DLConvertDate
&tvList=`article_intro_img,article_intro_text,h1`
&prepare=`DLConvertDate,FastImageTVPreviews`
]]
В этом примере картинки прикреплены к статьям через FastImageTV, для вывода превьюшек этих картинок используем &prepare
.
Статьи в блоке перелинковки будут отсортированы так, как сортирует DocLister по умолчанию при &dateSource=`pub_date`
, то есть по дате от новых к старым. Cоседями будут статьи с близкими датами.
Вот как это выглядит на сайте.
Пример 2. Блок кольцевой перелинковки «Товары по диаметру»
Сайт — каталог металлопроката. Товары располагаются в папках по типам, например вся арматура разных видов в одной папке, а металлические круги разных видов в другой папке.
В этом примере мы ищем соседей в родительской папке среди товаров "Металлические круги". Круги бывают разные, мне нужен круг того же вида, что и текущий, в данном случае просто стальной. Вид отфильтровываем при помощи &filters
.
[[DLSiblings?
&idType=`parents`
&parents=`[*parent*]`
&ownerTPL=`@CODE:<ul class="fa-ul">[+dl.wrap+]</ul>`
&tpl=`@CODE:
<li>
<i class="fa-li fa fa-angle-double-right"></i><a href="[+url+]">[+title+]</a>
</li>`
&tvList=`diam,vid`
&tvSortType=`UNSIGNED`
&orderBy=`diam ASC`
&filters=`AND(tv:vid:=:[*vid*])`
&prevQty=`3`
&nextQty=`3`
]]
Чтобы придать блоку перелинковки понятный для человека смысл, будем искать соседей по диаметру, отсортировав выборку по ТВ-параметру &orderBy=`diam ASC`
.
Результатом работы будет понятный и полезный для посетителя блок ссылок. Вероятность, что человек кликнет по ссылке из этого блока, достаточно велика. А значит, ссылки будут работать на продвижение и передавать анкорный вес.
Пример 3. Товары одного производителя с похожей ценой
Есть сайт-каталог входных дверей. На странице товара, в нижней её части, сформируем блок из дверей того же производителя, как у текущей двери, имеющих похожую цену.
Этот блок реализует по три кольца перелинковки в обе стороны, двери отсортированы по цене. То есть в большинстве случаев цена всех дверей в блоке будет близкой.
Вот пример такого блока:
Пример вызова DLSiblings будет выглядеть так:
[[DLSiblings?
&renderSnippet=`sgController`
&idType=`parents`
&parents=`[*parent*]`
&ownerTPL=`@CODE:
<h2>Ещё двери [*pagetitle@[*product_maker*]*]</h2>
<div class="featured">
<div class="row">
[+dl.wrap+]
</div>
</div>`
&tpl=`SINGLE_RELATED_ITEM`
&orderBy=`price ASC`
&tvSortType=`UNSIGNED`
&filters=`AND(tv:product_maker:=:[*product_maker*])`
&tvList=`price,new,hit,product_maker`
&AfterPrepare=`DLprepareNewHit,DLpreparePrice`
&prevQty=`3`
&nextQty=`3`
&sgOrderBy=`sg_index ASC`
&thumbSnippet=`sgThumb`
&thumbOptions=`catalog_item_img`
&sgOuterTpl=`@CODE:[+wrapper+]`
&sgRowTpl=`@CODE:<img class="img-responsive" src="[+thumb.sg_image+]" alt="Входная дверь [+e.title+]" />`
&sgDisplay=`2`
]]
Такой блок не просто создает кольцевую перелинковку, он дает посетителю дополнительный выбор из товаров того же производителя по близкой цене. А значит, это не просто «технический» блок, это полезный для человека контент.
Подробнее о множественной кольцевой схеме перелинковки сайта под НЧ читайте здесь
Пример 4: Товары других производителей с похожей ценой
Рассмотрим тот же сайт — каталог входных дверей. В прошлом примере мы уже дали посетителю возможность дополнительного выбора дверей того же производителя.
Что, если расширить этот выбор и создать второй блок из дверей других производителей по схожим ценам? Его можно озаглавить, например, «Другие двери». Это будет неплохо, но есть одно «но».
Казалось бы, чтобы создать такой блок, можно полностью скопировать вызов DLSiblings из предыдущего примера, только условие фильтрации перевернуть наоборот («не равно» вместо «равно»):
&filters=`AND(tv:product_maker:!=:[*product_maker*])`
Но при такой фильтрации текущий товар будет исключен из выборки, ведь у него-то производитель именно тот, которого мы отсеиваем! А соседи строятся именно от текущего элемента. Что делать?
Сделаем небольшой финт — искусственно включим в выборку наш текущий элемент.
В итоге второй вызов DLSiblings будет в точности повторять предыдущий, только заголовок поменяется на <h2>Другие двери</h2>
и фильтр станет таким:
&filters=`AND(OR(tv:product_maker:!=:[*product_maker*];content:c.id:=:[*id*]))`
И на сайте появится второй блок множественной кольцевой перелинковки, но уже из дверей других производителей.
Итог
С помощью сниппета DLSiblings мы легко создали на сайтах множественную кольцевую перелинковку на выборках из однотипных, релевантных друг другу документов или товаров. Ссылаясь друг на друга, такие документы будут продвигать друг друга по НЧ и СНЧ запросам.
Кроме того, вполне вероятно, что «близкие» статьи или товары вызовут интерес у посетителей сайта, которые станут переходить по ссылкам. В итоге увеличится глубина просмотра, время на сайте, снизится показатель отказов — а это также важные факторы продвижения сайта.