Перенаправление RSS ленты на FeedBurner ленту без плагинов

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

Данный метод является альтернативой плагину FeedBurner Feedsmith, который я советовал когда-то вам. Как и данный плагин, мы сделаем редирект RSS-ленты блога на вашу ленту в FeedBurner. Точнее, в данном случае мы сделаем всего-лишь перенаправление одного адреса на другой.

Для этого стоит добавить парочку строк в ваш файл .htaccess. Следующий код подходит для тех блогов, на которых используется ЧПУ, и добавляется в конец файла:

RewriteCond %{HTTP_USER_AGENT} !(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/(.*)$ feedburner_feed_url [R=301,L]
RewriteRule /feed/$ feedburner_comments_url [R=301,L]

Для тех, кто использует обычные ссылки, подойдет следующий код:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !(FeedBurner|FeedValidator) [NC]
RewriteCond %{QUERY_STRING} ^feed=((.+)&p=([0-9]+)|comments-(.+))$ [NC]
RewriteRule ^(.*)$ feedburner_comments_url? [R=301,NC,L]
RewriteCond %{HTTP_USER_AGENT} !(FeedBurner|FeedValidator) [NC]
RewriteCond %{QUERY_STRING} ^feed=(.+)$ [NC]
RewriteRule ^(.*)$ feedburner_feed_url? [R=301,NC,L]

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

Вместо feedburner_feed_url, естественно, вы вставляете полную ссылку на свою основную ленту FeedBurner.  Вместо feedburner_comments_url, соответственно, на ленту комментариев, сделанную на FeedBurner.

В случае кода с ЧПУ. Если вместо ленты комментариев вы хотите отправить посетителя на основную ленту, прожженную через FeedBurner, то вместо feedburner_comments_url также вставьте полную ссылку на основную ленту на FeedBurner. Если перелинковка ленты комментариев вообще не нужна, просто удалите последнюю строку из вышеуказанного кода или добавьте только первые две строки кода.

В случае кода без ЧПУ. Если вместо ленты комментариев вы хотите отправить посетителя на основную ленту, прожженную через FeedBurner, то удалите третью, четвертую и пятую строки:

RewriteCond %{HTTP_USER_AGENT} !(FeedBurner|FeedValidator) [NC]
RewriteCond %{QUERY_STRING} ^feed=((.+)&p=([0-9]+)|comments-(.+))$ [NC]
RewriteRule ^(.*)$ feedburner_comments_url? [R=301,NC,L]

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

RewriteCond %{QUERY_STRING} ^feed=(.+)$ [NC]

следующую строку (ещё одно условие):

RewriteCond %{QUERY_STRING} !^feed=((.+)&p=([0-9]+)|comments-(.+))$ [NC]

Вот и весь секрет плагина. Только плагин делает 302 редирект и с помощью PHP-кода.

P.S. Для тех, кто пользуется плагином WP Super Cache, необходимо будет вставить дополненный код прямо в начало файла .htaccess. Не могу сказать точно по счет других подобных плагинов, но возможно придется также делать, если в данный файл вносятся изменения плагином. Предоставленный ниже код для блогов с ЧПУ, для обычных ссылок изменения в коде не нужны, лишь нужно вставить указанный выше код в начало файла. А вот полный код, который нужно вставить в начало файла .htaccess, для блогов с ЧПУ следующий.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/(.*)$ feedburner_feed_url [R=301,L]
RewriteRule /feed/$ feedburner_comments_url [R=301,L]

И конечно же, обещанное первоапрельское видео под названием "Самая смешная реклама". Я думаю вы догадаетесь что они рекламируют. Поздравляю всех с днем смеха! 😉

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

Вам также будет интересно почитать и следующие записи

9 комментариев

  • Анатолий:

    Спасибо, интересное решение :)

  • Дёня:

    Спасибо за пост.
    Буквально пару дней назад в голову пришла эта идея, и я её реализовал.
    Правда пост не успел тнаписать, да и уже не зачем. Вы меня опередили…

  • Пашко:

    Месье, а вы знаете толк в извращениях :)

  • Сергей:

    Поставил себе редирект. Вроде — работает. Значит ли это, что Фидбёрнер начнёт учитывать подписчиков RSS моего блога, подписавшихся до того, как я прожёг ленту в Фидбёрнере?

  • Сергей Фещуков:

    @ Сергей, на нескольких сайтов эффект от такого редиректа проверялся и могу с уверенностью сказать — все подписчики (которые были подписаны и на старую ленту) успешно были учтены счетчиком FeedBurner.

  • Анатолий:

    @ Сергей, подписчики подписавшиеся до прожига учитываться не будут — они используют другой канал…

  • Сергей Фещуков:

    @ Анатолий, счётчик считает активность на своём канале, при использовании старого канала делается редирект на новый адрес этого канала, поэтому они тоже учитываются. Ну это по теории. 😉
    На деле это подтверждается.

  • strikestar:

    А сама суть редиректа на feedburner в том чтобы правильно посчитать число подписчиков ленты RSS или есть еще какие то причины?

  • Сергей Фещуков:

    @ strikestar, да, чтобы учитывать и тех людей, кто подписался на стандартную ленту блога, а не на FeedBurner.

  • Добавить комментарий