Feedburner изменил алгоритм, а мы меняем код
2021
[dc]С[/dc]корее всего этот пост будет продолжением предыдущего поста. В прошлом посте, я задал вам вопрос о том, является ли до сих пор feedburner релевантным для счетчиком для вебмастеров, или надо переходить на альтернативные сервисы. Если вы внимательно прочитали прошлый пост, то скорее всего не пропустили вот это предложение, которое гласило следующее: «Feedburner учитывает и показывает количество людей, которые читали вашу ленту за прошедшие сутки.» Для тех, кто все еще думает, что это все еще глюки RSS сервиса, я расстрою его в этом посте.
Как я писал вчера, число моих подписчиков резко упало с 1000+ до 211. Падение очень резкое и очень не приятное. Но написав вчера пост Является ли Feedburner-по прежнему актуальным?, уже сегодня число подписчиков на счетчике резко возросло до 646. Получается и правда, что чем чаще пишешь в блог новые посты, тем меньше заметно колебание числа подписчиков. Значит и правда теперь Feedburner учитывает и показывает количество людей, которые читали вашу ленту за прошедшие сутки. Хорошо. Но ведь не всегда у нас получается писать в блог каждый день. Вернее можно писать каждый день, но лично я думаю, что качество материала будет плохим.
Получается палка на двух концах. Пиши часто и цифры будут стабильными либо пиши редко, но хорошо, но вот цифры RSS подписчиков будут прыгать как сумасшедшие. Так, что вы выбираете? Думаю, что многие поддержат формат: писать редко, но метко.
Постоянно читая зарубежные блоги, я начал замечать, что у многих из них при отображении числа подписчиков появился знак плюса. Я начал искать объяснение этому и на одном блоге нашел пост одного вебмастера, который описывал, примерно тоже самое, что и я написал во вчерашнем посте.
Все верно мои мысли насчет feedburner подтвердились и его алгоритм подсчета изменился и теперь он показывает, сколько людей прочитали ваш пост с прошедшего дня. Значит и мой график не врет, до написания поста у меня было 211 подписчиков, а после вчерашней публикации сегодня стало 646
Пруффскрин:
Все дело в том, что код который подсчитывает количество подписчиков на моем блоге, показывает ежедневное обновление. Конечно можно его настроить и на показ и за 7-м дней и за 30. Но код писал еще тогда, когда не было проблем и нового алгоритма feedburner. Теперь похоже, что код придется менять. И делать его, как на многих западных блогах сделали со знаком плюс. То есть, если сейчас у меня показывает число 646, то теперь после обновления кода будет отображаться вот такое число 600+
Наглядный пример:
Ну, что же давайте перейдем к самому коду. Этот код будет полезен, тем у кого число подписчиков так же прыгает как и у меня. А так же кто на своем блоге использует вывод RSS числа подписчиков кодом.
Первое, что нам надо сделать, это вставить следующий код в файл functions.php
{code type=php}
function get_average_readers($feed_id,$interval = 7){
$today = date(‘Y-m-d’, strtotime(«now»));
$ago = date(‘Y-m-d’, strtotime(«-».$interval.» days»));
$feed_url=»https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=».$feed_id.»&dates=».$ago.»,».$today;
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $feed_url);
$data = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($data);
$fb = $xml->feed->entry['circulation'];
$nb = 0;
foreach($xml->feed->children() as $circ){
$nb += $circ['circulation'];
}
return round($nb/$interval);
}
{/code}
После этого вставьте следующий код, туда, где вы хотите, что бы он отображался на вашем блоге:
Не забудьте поменять мой фид vsegonet, на ваш!
{code type=php}
<?php
$nb = get_average_readers(‘vsegonet’);
echo «У меня «.$nb.» RSS подписчиков»;
?>
{/code}
Эта функция буде показывать число подписчиков за 7 дней. Но вы легко можете его изменить на параметр вывода данных о подписчиках за 30 дней:
{code type=php}
<?php
$nb = get_average_readers(‘vsegonet’ ‘, 30);
echo «У меня «.$nb.» RSS подписчиков»;
?>
{/code}
После всего этого вы увидите число подписчиков вашего блога.
Но давайте вспомним, о том, что я писал не много выше. А именно отображение подписчиков со знаком плюс. И так, для того, что бы ваши подписчики отображались не как 646, а 600+ вам надо внести несколько изменений в код:
{code type=php}
<?php $nb = get_average_readers(‘vsegonet’, 30);
echo substr_replace($nb ,»00″,-2).’+ readers’; ?>
{/code}
Вот именно так теперь будет отображаться ваш feedburner канал.
Так, что
Так и не понял, зачем всё таки менять. Всё вроде работает. И такое было всегда, что он показывает количество обновлений за прошлый день.
@Cospi: Прочитай мой прошлый пост
Спасибо Кирилл, продолжение на 5. Воспользуюсь как только откроюсь. =)
Мда, цифры сильно отличаются…
Знаешь почему у тебя летают подписчики?
Забыл чтоли, мудак, как я тебе накручивал через rss2email в 2009. Мне на мыло, через фильтры до сих пор приходят твои и слайда89 записи, тоннами Когда не пишешь в блог, rss2email не работает, и поэтому подписчики падают. А как токо новая запись появляется, то происходит рассылка по мылам, и счетчик снова оживает.
@alice2k: Безусловно тебе есть чем гордиться. С 2009 года держать боль в сердце. Раслабся и получай удовольствие от жизни. Ведь не все так плохо. Столько лет прошло, а ты все о старом.