Архив метки: Web-Dev

Турбо-страницы Яндекса | Создание RSS для WordPress



























5/5 — (2 голоса)

Буквально на днях в Яндекс Вебмастере стала доступна новая функция – Турбо-страницы. По названию можно понять суть этого нововведения – ускоренная загрузка страниц, однако стоит отдать должное, достигается она весьма интересным способом.

Теперь у пользователей появляется возможность намного быстрее грузить страницы вашего ресурса, обращаясь не к нему напрямую, а к серверам Яндекса, где и будут хранится “облегченные” версии сайта. Паниковать насчет посещаемости и рекламы не стоит, они будут учитываться, и для этого в технологии предусмотрены специальные инструменты. Кстати, подробнее об этом вы можете почитать на сайте самих разработчиков.

Турбо-страницы – создание правильной RSS-ленты для WordPress

Данная функция требует особого вида разметки RSS, и стандартный (/feed) она не примет. Ребята из Яндекса выпустили статью, где кратко описан способ создания правильной ленты (советуем с ней ознакомиться), однако нас интересует другое – Как создать правильную RSS-ленту для турбо-страниц именно на WordPress. И нас интересует не только наличие XML-файла, но и его автообновление. Что же, сделать это не так сложно, как может показаться на первый взгляд. Далее мы по шагам создадим новую rss-ленту (не будем портить наш горячо-любимый feed, да и не нужно это), и правильно настроим Турбо-страницы для сайта на WordPress.

Создаем новую RSS-ленту

Для начала, нам нужно обозначить наличие RSS-ленты на ресурсе. Чтобы сделать это, мы добавим в functions.php следующие строки:

add_action('init', 'customRSS');

 

function customRSS(){

        add_feed('turbofeed', 'customRSSFunc');

}

 

 

function customRSSFunc(){

        get_template_part('rss', 'turbofeed');

}

turbofeed – это название нашего фида, который будет доступен по адресу (/feed/turbofeed), вы можете использовать свое. Кстати говоря, функцию добавляем перед закрывающим тегом (?>). Если тег отсутствует, то добавляем в произвольном месте.

Итак, теперь нам нужно перейти в папку, где хранится вышеобозначенный functions.php и создать там новый php-файл со следующим именем: rss-имяфида.php. В нашем случае это rss-turbofeed.php. Далее мы переходим к самому интересному, а именно – содержимому нашего rss-turbofeed.php. В данный файл необходимо добавить такой код:

<?php

$postCount = 50; // количество записей для отображения в фиде

$posts = query_posts('showposts=' . $postCount);

header('Content-Type: '.feed_content_type('rss-http').'; charset='.get_option('blog_charset'), true);

echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';

?>

<rss version="2.0"

        xmlns:content="http://purl.org/rss/1.0/modules/content/"

        xmlns:wfw="http://wellformedweb.org/CommentAPI/"

        xmlns:dc="http://purl.org/dc/elements/1.1/"

    xmlns:media="http://search.yahoo.com/mrss/"

        xmlns:atom="http://www.w3.org/2005/Atom"

        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"

        xmlns:slash="http://purl.org/rss/1.0/modules/slash/"

        <?php do_action('rss2_ns'); ?>>

<channel>

        <title><?php bloginfo_rss('name'); ?>.com</title>

        <link><?php bloginfo_rss('url') ?></link>

        <description><?php bloginfo_rss('description') ?></description>

        <language>ru</language>

        <?php do_action('rss2_head'); ?>

        <?php while(have_posts()) : the_post(); ?>	

                <item turbo="true">

                        <title><?php the_title_rss(); ?></title>

                        <link><?php the_permalink_rss(); ?></link>

                        <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>

            <media:rating scheme="urn:simple"><?php echo get_post_meta($post->ID,'wpcf-adult',true); ?></media:rating>

                        <author><?php the_author(); ?></author>

            <category><?php echo get_post_meta($post->ID,'wpcf-tutbofeed-category',true); ?></category>

            <?

               $gallery = get_attached_media( 'image',$post );

               foreach( $gallery as $image_url ) {

                echo '<enclosure url="' . $image_url->guid . '" type="image/jpeg"/>

                ';

              }

            ?>

            

                        <description><![CDATA[<?php echo get_the_excerpt(); ?>]]></description>

                        <turbo:content><![CDATA[

            <?php 

               $content=get_post_field('post_content', $post->ID);

               $pattern = '/(<img([^>]*)>)/i';

               $replacement = '<figure>$1<figcaption>

              '.get_the_title().'

              </figcaption>

              </figure>';

 

               $content = preg_replace( $pattern, $replacement, $content );

               echo $content;

            ?>]]></turbo:content>

                        <?php rss_enclosure(); ?>

                        <?php do_action('rss2_item'); ?>

                </item>

        <?php endwhile; ?>

</channel>

</rss>

После этого мы сохраняем файл, и далее пересоздаем .htaccess. Самый простой способ это сделать – перейти в Настройки>Постоянные ссылки и нажать кнопку “Сохранить изменения”.

Теперь проверяем доступность фида по адресу: http://вашсайт.ру/feed/turbofeed, и если все хорошо, то можно смело идти и добавлять этот фид в вебмастер.

Создаем RSS для турбо-страниц на WordPress с помощью плагина

Спустя день, после выхода в свет технологии “Турбо-страницы” от Яндекса, был обновлен один весьма интересный плагин. С его помощью вы сможете настроить RSS для турбо-страниц всего за пару кликов. Сам плагин имеет название Yandex.News Feed by Teplitsa и доступен для установки в Плагины>Добавить новый.

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

Примечание: сразу после активации плагина, вам необходимо будет его настроить. С этим проблем не возникнет, потому что там все достаточно просто. Единственное что, не забудьте поставить галочку на “Включить поддержку турбо-страниц”.

Реклама на турбо-страницах Яндекса

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

<yandex:adNetwork

 type="Yandex"

 id="идентификатор блока"

 turbo-ad-id="first_ad_place">

</yandex:adNetwork>

“идентификатор блока” находится в “Продукты”“RTB блоки”.

С помощью turbo-ad-id вы можете настроить положение блока на турбо-странице. Информация на этот счет доступна в официальной документации от Яндекса.

Плагин Яндекс.Турбо – легчайший способ настройки турбо-страниц на WordPress

Если все перечисленные выше способы не подошли вам по каким-то причинам, вы можете воспользоваться еще одним плагином для WordPress, который был разработан как раз для реализации турбо-страниц. Собственно, функционал настроек на нем куда больше, нежели на плагине от Теплицы (к примеру, вы сможете указать данные Яндекс.Метрики и настроить рекламные блоки), и возможно вам следует использовать именно его.

Турбо-страницы Яндекса для WordPress плагин Яндекс.Турбо

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

Установка плагина Яндекс.Турбо на WordPress

Для установки этого расширения вам необходимо перейти в “Плагины” – > “Добавить новый”, и далее в окно поиска ввести любое из перечисленных ключевых слов: “Яндекс”, “Турбо”, “Яндекс турбо” и т.д.

Яндекс Турбо-страницы плагин для WordPress Яндекс.Турбо

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


2017-11-22T15:52:10
Web-Dev