CMS DataLife Engine - Система управления сайтами

holistic

Яндекс: Турбо-страницы

Рекомендуемые сообщения

На днях Яндекс.Вебмастер запустил:

 

- Быстрая загрузка на мобильных устройствах.
Турбо-страницы — технология, благодаря которой ваш контент будет загружаться быстрее.

 

В Вебмастере требуется Добавить RSS-канал.

Добавлен канал.

 

Но выдает ошибки:

- В элементе item отсутствует атрибут turbo со значением true...

 

Разработчики могут в следующей версии ДЛЕ внести необходимые коррективы под эти Турбо-страницы от Яндекс ?

Изменено пользователем holistic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

/templates/rss.tpl

https://dle-news.ru/extras/online/rss_translate.html

Изменено пользователем Captain

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, Captain сказал:

Спасибо!

Изменено пользователем holistic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Turbo это иная структура rss и в него можно отдавать описания с некоторой html разметкой.

Изменив стандартный шаблон вы лишитесь обычного внешнего rss канала.

Turbo надо делать отдельным независимым rss каналом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, MSK сказал:

Turbo это иная структура rss и в него можно отдавать описания с некоторой html разметкой.

Изменив стандартный шаблон вы лишитесь обычного внешнего rss канала.

Turbo надо делать отдельным независимым rss каналом.

С чего вдруг то. Знаю несколько сайтов которые добавляли Turbo и не лишались никакого обычного канала. Турбо не портит RSS стандарт, это дополнение к нему. В обычном RSS также можно выводить c HTML форматированием публикации, а не просто текст. Включается тип RSS Яндекс новости, добавляются в шаблон теги для турбо и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно пример? Вот стандартный rss.tpl

[shortrss]<item>
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<description>{short-story}</description>
<category>{category}</category>
<pubDate>{rssdate}</pubDate>
</item>[/shortrss]
[fullrss]<item>
<category>{link-category}</category><title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<description><![CDATA[{short-story}]]></description>
<pubDate>{rssdate}</pubDate>
</item>[/fullrss]
[yandexrss]<item>
<title>{title}</title>
<link>{rsslink}</link>
<description>{short-story}</description>
<category>{category}</category>{images}
<pubDate>{rssdate}</pubDate>
<yandex:full-text>{full-story}</yandex:full-text>
</item>[/yandexrss]

Вот ссылка на их документацию https://yandex.ru/support/webmaster/turbo/feed.html

Чего там куда дописать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
...
...
...
[yandexrss]<item turbo="true">
...
...
...

 

 

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Изменено пользователем Snoze

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 11/24/2017 в 13:24, celsoft сказал:

Включается тип RSS Яндекс новости, добавляются в шаблон теги для турбо и все.

А как при этом иметь доступным стандартный RSS-канал (Полный), не подскажете ли?

Как его отдельно адрес иметь?

Или скажем основной:

http://site.ru/rss.xml

А Turbo-канал для Яндекса:

http://site.ru/yandex-rss.xml

?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, holistic сказал:

А как при этом иметь доступным стандартный RSS-канал (Полный), не подскажете ли?

Как его отдельно адрес иметь?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вписал в шаблон rss.tpl и в rss.php

[fullrss]<item turbo="true">
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<turbo:content><![CDATA[{short-story}]]></turbo:content>
<category><![CDATA[{category}]]></category>
<dc:creator>сайт.ру</dc:creator>
<pubDate>{rssdate}</pubDate>
<lastBuildDate>{rssdate}</lastBuildDate>
</item>[/fullrss]

в яшке пишет Ошибка обновления ! это яша глбчит или я что то не так делаю отпишитесь кто сделал у кого получилось так сказать)

 

 

 

Изменено пользователем web_chuvak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во первых нужно включать Яндекс новости в настройках скрипта, во вторых контент для турбо пишется полная новость а не опять краткая и вписывать это нужно в секцию шаблона для яндекс новостей, а не обычного RSS

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выбираю Яндекс Новости и сохраняю, обновляю страницу, стоит Полная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, Snoze сказал:

Выбираю Яндекс Новости и сохраняю, обновляю страницу, стоит Полная.

Значит у вас нет прав на запись в файл engine/data/config.php. Установите на него CHMOD 666

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, celsoft сказал:

Значит у вас нет прав на запись в файл engine/data/config.php. Установите на него CHMOD 666

Нет, похоже браузер тупит. Проверил сейчас, стоит Яндекс Новости, а на config.php стоял CHMOD 644, поменял на 666

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

$rss_content = <<<XML
<?xml version="1.0" encoding="{$config['charset']}"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>{$config['home_title']}</title>
<link>{$config['http_home_url']}</link>
<language>ru</language>
<description>{$config['home_title']}</description>
<generator>DataLife Engine</generator>
XML;

if( $config['site_offline'] OR ! $config['allow_rss'] ) {
    
    $rss_content .= <<<XML
<item turbo="true">
<title>RSS in offline mode</title>
<guid isPermaLink="true"></guid>
<link></link>
<turbo:content>
<description>RSS in offline mode</description>
</turbo:content>
<category>undefined</category>
<dc:creator>DataLife Engine</dc:creator>
<pubDate>DataLife Engine</pubDate>
</item>
XML;

} else {
    
    if( $config['rss_format'] == 1 ) {
        
        $tpl->template = <<<XML
<item turbo="true">
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<turbo:content>
<description><![CDATA[{short-story}]]></description>
</turbo:content>
<category><![CDATA[{category}]]></category>
<dc:creator>{rssauthor}</dc:creator>
<pubDate>{rssdate}</pubDate>
</item>
XML;
    
    } elseif( $config['rss_format'] == 2 ) {
        
        $rss_content = <<<XML
<?xml version="1.0" encoding="{$config['charset']}"?>
<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>{$config['home_title']}</title>
<link>{$config['http_home_url']}</link>
<language>ru</language>
<turbo:content>
<description>{$config['home_title']}</description>
</turbo:content>
<yandex:adNetwork
         type="Yandex"
         id="______________"
         turbo-ad-id="first_ad_place">
        </yandex:adNetwork>

<image>
<url>{$config['http_home_url']}yandexlogo.gif</url>
<title>{$config['home_title']}</title>
<link>{$config['http_home_url']}</link>
</image>
<generator>DataLife Engine</generator>
XML;
        
        $tpl->template = <<<XML
<item turbo="true">
<title>{title}</title>
<link>{rsslink}</link>
<turbo:content>
<description>{short-story}</description>
</turbo:content>
<category>{category}</category>{images}
<pubDate>{rssdate}</pubDate>
<yandex:full-text>{full-story}</yandex:full-text>
</item>
XML;
    
    } else {
        
        $tpl->template = <<<XML
<item turbo="true">
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<turbo:content>
<description>{short-story}</description>
</turbo:content>
<category>{category}</category>
<dc:creator>{rssauthor}</dc:creator>
<pubDate>{rssdate}</pubDate>
</item>
XML;
    
    }
    
    $tpl->copy_template = $tpl->template;
    
    include_once ENGINE_DIR . '/engine.php';
    
    $rss_content .= $tpl->result['content'];
}

$rss_content .= '</channel></rss>';

header( 'Content-type: application/xml' );
echo $rss_content;

?>

все работает. 

 

Правил только в rss.php

 

Изменено пользователем banker

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

напишу свой вариант который нормально заработал на dle 12 utf-8

 

/engine/rss.php

 

заменить:

[fullrss]<item>
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<description><![CDATA[{short-story}]]></description>
<category><![CDATA[{category}]]></category>
<dc:creator>{rssauthor}</dc:creator>
<pubDate>{rssdate}</pubDate>
</item>[/fullrss]

на:

[fullrss]<item turbo="true">
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<turbo:content><![CDATA[{short-story}]]></turbo:content>
<category><![CDATA[{category}]]></category>
<dc:creator>Сайт.ru</dc:creator>
<pubDate>{rssdate}</pubDate>
<lastBuildDate>{rssdate}</lastBuildDate>
</item>[/fullrss]

заменить:

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

на:

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:yandex="http://news.yandex.ru" xmlns:media="http://search.yahoo.com/mrss/" xmlns:turbo="http://turbo.yandex.ru">

 

/templates/rss.tpl

 

заменить:

[fullrss]<item>
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<description><![CDATA[{short-story}]]></description>
<category><![CDATA[{category}]]></category>
<dc:creator>{rssauthor}</dc:creator>
<pubDate>{rssdate}</pubDate>
</item>[/fullrss]

на:

[fullrss]<item turbo="true">
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<turbo:content><![CDATA[{short-story}]]></turbo:content>
<category><![CDATA[{category}]]></category>
<dc:creator>Сайт.ru</dc:creator>
<pubDate>{rssdate}</pubDate>
<lastBuildDate>{rssdate}</lastBuildDate>
</item>[/fullrss]

в админке

Настройка RSS экспорта новостей

Тип экспорта основного RSS потока / Только опубликованные на главной

Формат экспорта RSS потока / Полный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё работает без каких либо правок rss.php, в шаблоне /templates/rss.tpl пишем:

[yandexrss]<item turbo="true">
<title>{title}</title>
<link>{rsslink}</link>
<description>{full-story}</description>
<category>{category}</category>{images}
<pubDate>{rssdate}</pubDate>
<yandex:full-text>{full-story}</yandex:full-text>
</item>[/yandexrss]

В настройках включить Яндекс новости и не нужно огород городить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем вы лезете в /engine/rss.php? там задан базовый XML только на тот случай если нет шаблона template/rss.tpl на сервере. А он там должен быть. И все правки делаются в шаблоне, потому как если если шаблон есть, то все ваши правки /engine/rss.php не имеют никакой силы. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, Captain сказал:
Цитата

В настройках включить Яндекс новости и не нужно огород городить.

А что делать если без огорода не работает?) с вашим вариантом в веб мастере Ошибка обновления RSS-канала сайта

 

 

Изменено пользователем web_chuvak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
18 часов назад, web_chuvak сказал:

А что делать если без огорода не работает?) с вашим вариантом в веб мастере Ошибка обновления RSS-канала сайта

Делать исправления корректно в шаблоне. Это единственная проблема по которой могут быть ошибки. А валидатор в яндекс вебмастере показывает что именно не так с вашим RSS потоком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 29.11.2017 в 13:40, Captain сказал:

Всё работает без каких либо правок rss.php, в шаблоне /templates/rss.tpl пишем:


[yandexrss]<item turbo="true">
<title>{title}</title>
<link>{rsslink}</link>
<description>{full-story}</description>
<category>{category}</category>{images}
<pubDate>{rssdate}</pubDate>
<yandex:full-text>{full-story}</yandex:full-text>
</item>[/yandexrss]

В настройках включить Яндекс новости и не нужно огород городить.

Полностью согласен, всё работает без танцоров с бубнами, только добавить надо в <item turbo="true"> и всё !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 часов назад, doctorzhak сказал:

Полностью согласен, всё работает без танцоров с бубнами, только добавить надо в <item turbo="true"> и всё !

Еще в настройках в поле "Формат экспорта RSS потока" , нужно выбрать Яндекс новости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще добавлю, турбо нормально работает с 10 новостями в потоке, при 20 постоянная ошибка обновления. Как там в промежутке - не проверял. Имей те ввиду!.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
On 29.11.2017 at 5:40 PM, Captain said:

Всё работает без каких либо правок rss.php, в шаблоне /templates/rss.tpl пишем:


[yandexrss]<item turbo="true">
<title>{title}</title>
<link>{rsslink}</link>
<description>{full-story}</description>
<category>{category}</category>{images}
<pubDate>{rssdate}</pubDate>
<yandex:full-text>{full-story}</yandex:full-text>
</item>[/yandexrss]

В настройках включить Яндекс новости и не нужно огород городить.

Отлично.

Подскажите, этот блок нужно поставить вместо старого [yandexrss]...[/yandexrss]?

ИЛИ вместе с ним, ниже его?

Т.е. у нас будет 4 блока в /templates/rss.tpl?

[shortrss]<item>...

[fullrss]<item>...

[yandexrss]<item>...

[yandexrss]<item turbo="true">...

Так?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти