Вывод в RSS полных заголовков из SEO плагинов

WordPress формирует RSS ленту блога, используя "родные" заголовки записей. То есть, если вы используете какой-то из плагинов, формирующих титлы страниц, то такие сформированные титлы использоваться при создании RSS ленты не будут. Зачастую, на это можно не обращать внимания, но иногда возникает необходимость отдать в RSS полный текст заголовка, который вы прописали в одном из SEO плагинов вроде All in One SEO Pack или Seo Title Tag. Самой простой пример - при трансляции ленты в Twitter короткие заголовки делают ваши твиты крайне неинформативными. И именно в этом случае было бы неплохо отдать в RSS ленту полный заголовок записи, прописанный вами специально для поисковых систем.

1. Хак при использовании плагина All in One SEO Pack.

Откройте файл "wp-includes\feed-rss2.php" и найдите строчку:

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

Замените ее на код:

36
37
38
39
<title><?php $rsstitle = htmlspecialchars(stripcslashes(
get_post_meta($post->ID, '_aioseop_title', true)));
if ($rsstitle=="") {the_title_rss();}  
else {echo $rsstitle;} ?></title>

Данный код проверяет, есть ли свой заголовок у записи, прописанный через плагин. Если нет, то будет использоваться обычный заголовок, а вот если да, то в RSS ленту попадет именно титл, указанный вами вручную. Сразу скажу - такой код поможет вам только, если вы сами указываете титл записи. То есть никаких дополнений вроде названия блога через разделитель вы тут не увидите. Хотя вы можете сами добавить нужный код в хак.

2. Хак при использовании плагина Seo Title Tag.

Откройте файл "wp-includes\feed-rss2.php" и найдите строчку:

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

Замените ее на код:

36
37
38
39
<title><?php $rsstitle = htmlspecialchars(stripcslashes(
get_post_meta($post->ID, 'title_tag', true)));
if ($rsstitle=="") {the_title_rss();}  
else {echo $rsstitle;} ?></title>

Код, по сути, аналогичен предыдущему. Изменилось лишь название кастомного поля, используемого плагином для хранения титла записи. Для других SEO плагинов, формирующих заголовки хак будет идентичен, вам лишь надо будет узнать используемое этим плагином кастомное поле.

Оценить изменение RSS ленты после использования этого хака вы можете на примере этого блога. Последние записи в блоге имеют заголовки по умолчанию в виде одного только названия плагина, а вот в RSS ленте эти заголовки заменены на титлы, которые я прописывал вручную через плагин Seo Title Tag.

Понравился пост? Подпишись на обновления по Обновления блога по RSSRSS или Обновления блога на TwitterTwitter !

Комментарии (всего 21 комментарий)
Написать комментарий

(обязательно)

(обязательно, не публикуется)

Для вставки кода используйте кнопку "Код", по умолчанию используется синтаксис подсветки языка "php", вы можете поменять его на любой другой поддерживаемый GeSHi язык, например "javascript", "css", "html4strict", "sql" и тд. Используйте предпросмотр!
 


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