Пришла дивизия вятских мужичков, низкорослых, кривоногих, жилистых, скуластых. «Эх, мать твою! Была не была!» — полезли они на немецкие дзоты, выкурили фрицев, все повзрывали и продвинулись метров на пятьсот.
(Никулин Николай Николаевич "Воспоминания о войне")
+7(910)140-50-90 (Кэп)

Турбо-страницы для MODx Evolution, MODx Revolution

Не секрет, что Турбо-страницы для вебсайта, которому нужен поисковый трафик и хорошие ПФ на мобильных, становятся обязательным признаком качества, а, возможно, стали еще в 2017-2018 гг.

Простейший фид для текстовых страниц создать достаточно легко.

Нужно создать страницу с пустым шаблоном примерно такого содержания:


<?xml version="1.0" encoding="UTF-8"?>
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0">
<channel>
   
<title>Веб-студия - агентство маркетинга - CapWeb</title>
<link>https://capweb.ru/</link>
<description>Рекламное агентство CapWeb - интернет-маркетинг полного цикла - веб-разработка - веб-дизайн - 8(968)000-10-11</description>
	 <turbo:cms_plugin>C125AEEC6018B4A0EF9BF40E6615DD1791</turbo:cms_plugin>
	 <turbo:analytics id="34865895" type="Yandex"></turbo:analytics>
        <turbo:analytics id="UA-58169051-1" type="Google"></turbo:analytics>
                    <language>ru</language>



[[Ditto? &start=`0` &total=`500` &parents=`3595` &filter=`id,3669,2` &tpl=`tpl.turbo`  &language=`english-UTF8` &display=`all` &total=`all` &depth=`2` &showInMenuOnly=`0` &showPublishedOnly=`1` &sortBy=`pubdate` &sortDir=`ASC` &where=`type IN ('document')`]]

В настройках страницы нужно указать тип содержимого rss+xml

Страница RSS-фида

Настройки страницы RSS-фида

Теперь что касается шапки фида.

В строки аналитики нужно вставить идентификаторы Яндекс.Метрики и Google Analytics.

С title, description все понятно - можно взять их с главной страницы вашего сайта или добавить фразу - turbo-страницы.

В тег link можно просто вбить адрес сайта, но этот вариант менее гибкий, хотя при переходе на https или смене доменного имени так или иначе нужно будет править адреса в базе.

Рассмотрим параметры Ditto. start и total определяют начало и конец выборки. Если документов более 500, лучше создать несколько страниц с фидами по 500 в каждом. Это связано с ограничениями Яндекса https://yandex.ru/dev/turbo/doc/rss/quota-docpage/

[[Ditto? &start=`0` &total=`500` &parents=`3595` &filter=`id,3669,2` &tpl=`tpl.turbo`  &language=`english-UTF8` &display=`all` &total=`all` &depth=`2` &showInMenuOnly=`0` &showPublishedOnly=`1` &sortBy=`pubdate` &sortDir=`ASC` &where=`type IN ('document')`]]

В этом примере я выбираю документы из ветки "Услуги", id родителя 3595, помимо документов в ветке есть ссылки, поэтому использую параметр where, задающий тип документа. Как вариант можно задать также номер шаблона, если в фиде нужно выбрать, например, все товары, хотя Яндекс рекомендует для товаров использовать YML-фид вместо RSS. Параметры глубины выборки, отображения отключенных для показа в меню и отключенных для публикации могут задаваться в зависимости от особенностей ваших веток.

[!Ditto? &start=`0` &total=`500` &parents=`3540` &depth=`1` &tpl=`tpl.turbo-m`  &language=`english-UTF8` &display=`all` &total=`all` &showInMenuOnly=`0` &showPublishedOnly=`1` &sortBy=`pubdate` &sortDir=`ASC` &where=`template=8`!]

Обратите внимание на английский язык в языковых настройках сниппета. Это не опечатка, а необходимость для правильности формата даты.

Теперь что касается шаблона элементов RSS-канала tpl.turbo.

<item turbo="true">
    <title>[+pagetitle+]</title>
	<link>https://capweb.ru[!urlturbo? &id=`[+id+]`!]</link>
    <turbo:topic>[+pagetitle+]</turbo:topic>
    <turbo:source>https://capweb.ru[!urlturbo? &id=`[+id+]`!]</turbo:source>
    <pubDate>[+editedon:date=`%a, %d %b %Y %H:%M:%S`+] +3000</pubDate>
    <turbo:content>
    <![CDATA[
<header>
<h1>[+pagetitle+]</h1>
</header>
[+content+]
{{turbo-add}}
]]></turbo:content>
</item>

Чанк turbo-add содержит все, что рекомендует Яндекс: кнопку звонка, кнопки соцсетей, форму обратной связи и т. д. Примеры есть в справке Яндекса.

 <button formaction="tel:+7(123)456-78-90"
              data-background-color="#5B97B0"
              data-color="white"
              data-primary="true">Заказать столик</button>
      <div data-block="widget-feedback" data-stick="false">
        <div data-block="chat" data-type="whatsapp" data-url="https://whatsapp.com"></div>
        <div data-block="chat" data-type="telegram" data-url="http://telegram.com/"></div>
        <div data-block="chat" data-type="vkontakte" data-url="https://vk.com/"></div>
        <div data-block="chat" data-type="facebook" data-url="https://facebook.com"></div>
        <div data-block="chat" data-type="viber" data-url="https://viber.com"></div>
      </div>
      <p>Наш адрес: <a href="#">Nullam dolor massa, porta a nulla in, ultricies vehicula arcu.</a></p>
      <p>Фотографии — https://capweb.ru/lookbook.html</p>

Вот как это упрощенно сделано у меня:

<button formaction="tel:+8(968)000-10-11"
              data-background-color="#5B97B0"
              data-color="white"
              data-primary="true">Позвонить</button>
      <div data-block="widget-feedback" data-stick="false">
        <div data-block="chat" data-type="whatsapp" data-url="https://api.whatsapp.com/send?phone=79101405090"></div>
        <div data-block="chat" data-type="viber" data-url="https://viber://chat?number=79101405090"></div>
        <div data-block="chat" data-type="vkontakte" data-url="https://vk.com/capweb"></div>
        <div data-block="chat" data-type="facebook" data-url="https://www.facebook.com/capweb"></div>
      </div>

Если в число перебираемых Ditto документов входит главная страница, пригодится мой сниппет для избавления от /index.html. Возможно, у вас эта задачка решена лучше, но я применил такой костыль.

Код сниппета urlturbo:

<?php
//$s = (!empty($_GET['id']) && is_numeric($_GET['id'])) ? (int) $_GET['id'] : $s;	
$s = (isset($id)) ? $id : $modx->documentIdentifier;
$s = (int)$s;
$do=$modx->getDocument($s);
//var_dump($do["type"]);

//echo $do["alias"];

//echo $modx->documentIdentifier;
//echo "Now viewing :".$modx->documentIdentifier;
if(($s==1)|($s==3070)) echo ''; else //echo '/'.$modx->getDocument($s)["alias"].'.html';
//echo $modx->getDocument($s)["alias"];
echo "/".$do["alias"].".html";
?>

Если таких сложностей в вашем случае нет, адрес в ссылке задается стандартно: https://capweb.ru/[~[+id+]~]

Когда нужно исключить отображение определенных страниц в фиде, просто переберите их в отдельном Ditto и используйте аналогичный чанк tpl.turbo с шаблоном, где прописано turbo="false" вместо turbo="true". Лишние элементы, конечно, из этого шаблона можно удалить.

Теперь адрес созданной xml-страница можно подгружать в качестве источника в Вебмастер, а также ввести необходимые настройки: загрузить логотип, заполнить название, описание, идентификаторы счетчиков. Обратите внимание на настройки ленты. Они применяются ко всему фиду, поэтому если у вас интернет-магазин и вы хотите, например, включить ленту для информационных страниц и отключить для товарных, нужно использовать RSS-фид для одного типа страниц и YML — для другого.

Цитата из переписки с Яндексом:

2) Турбо-версии информационных страниц сайта следует формировать с помощью RSS-канала (https://yandex.ru/dev/turbo/doc/quick-start/articles-docpage/ ) , а карточки товаров - с помощью YML (https://yandex.ru/dev/turbo/doc/quick-start/markets-docpage/ ). Вы можете сформировать Турбо-версию лишь для отдельных страниц сайта, а для остальных страниц оставить обычную версию.

3) Увы, но изменить надпись на данной кнопке не получится. Возможно, такая функция появится в будущем.

Отладка RSS-фида

Отладка страниц RSS-фида

При загрузке фида возможны три варианта: "Без ошибок", "Ошибка обновления", "Предупреждение обновления".

Для отладки есть кнопки "Подробнее" (показывает номера строк фида с ошибками, позволяет открыть страницу в режиме отладки), "Перепроверить источник".

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

Сниппет data-en:

<?php
setlocale(LC_ALL, 'en_US.UTF-8');
if ( $val == '' ) $val=time();
if ($format == '' ) $format = "%a, %d %b %Y %H:%M:%S";
return strftime($format, $val);
?>

Вызов в чанке tpl-turbo:

<pubDate?>[[data-en? &val=`[+editedon+]`]] +3000</pubDate?>

RSS для MODx Revolution: все то же самое

Код документа:

<?xml version="1.0" encoding="UTF-8"?>
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0">
<channel>
   
<title>3D-печать в Нижнем Новгороде</title>
<link>[[++site_url]]</link>
<description>Услуги 3D-печати в Нижнем Новгороде - 8(969)601-61-11</description>
	 <turbo:cms_plugin>C125AEEC6018B4A0EF9BF40E6615DD1791</turbo:cms_plugin>
	 <turbo:analytics id="34865895" type="Yandex"></turbo:analytics>
        <turbo:analytics id="UA-109522369-1" type="Google"></turbo:analytics>
                    <language>ru</language>
    [[!getResources?
      &tpl=`turbo`
      &parents=`1,121`
      &depth=`2`
      &limit=`40`
      &includeContent=`1`
      &includeTVs=`1`
      &showHidden=`0`
      &hideContainers=`0`
    ]]
</channel>
</rss>

Код чанка turbo:

<item turbo="true">
    <title>[[+pagetitle]]</title>
	<link>https://3d-52.ru/[[~[[+id]]]]</link>
    <turbo:topic>[[+pagetitle]]</turbo:topic>
    <turbo:source>https://3d-52.ru/[[~[[+id]]]]</turbo:source>
    <pubDate>[[+createdon:strtotime:date=`%a, %d %b %Y %H:%M:%S`]] +3000</pubDate>
    <turbo:content>
    <![CDATA[
<header>
<h1>[[+pagetitle]]</h1>
</header>
[[+content]]

<button formaction="tel:+7(969)601-61-11"
              data-background-color="#5B97B0"
              data-color="white"
              data-primary="true">Позвонить</button>

]]></turbo:content>
</item>

Спасибо тебе, единственный в мире читатель моей заметки, долиставший до этой строки!

Следующая статья: Интервью с Яндексом 2013 г. https://capweb.ru/yandex_interview.html

Предыдущая статья: Влияние https на ранжирование в поисковых системах https://capweb.ru/vliyanie-https-na-ranzhirovanie-v-poiskovyih-sistemah.html

Позиции сайта veragold.ru на декабрь 2014 г.
reative
nalytics
romotion

Статьи от CapWeb

Преимущества посадочной страницы Landing Page

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

Каким должен быть сайт по недвижимости

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

Как рекламируют продукты

Одной из задач фуд-стилистов является проведение такой подготовки арт-объектов, чтобы потребитель не заметил обмана в ролике или на... Подробнее >>

Здесь заказывают адаптивный дизайн для сайта!

Пример внешнего вызова медиа-запроса (используется на этой странице): Подробнее >>

Оставьте Вашу контактную информацию, и мы свяжемся с Вами!

Получайте горячие новости интернет-маркетинга и вечную скидку 5%!