Главная Часть 1. Создание блога Глава 8. Техническая часть Урок 156. Как удалить внешние ссылки в rss feed?

Урок 156. Как удалить внешние ссылки в rss feed?

ссылки в rss feed

Всем привет!

Рад вновь видеть всех на блоге WPguru.ru. После довольно продолжительного отсутствия новых уроков (почти 4 месяца), решил опубликовать решение одной из самых актуальных проблем всех владельцев новостных сайтов - удаление внешних ссылок из rss feed. Под rss feed я подразумеваю стантартную rss-ленту, которая стоит по-умолчанию в каждом блоге. Я не буду говорить о ее аналогах, вроде feedburner.

Большинство владельцев новостных сайтов удаляют внешние ссылки из rss-ленты, потому что это одно из главных требований почти всех новостных-агрегаторов. Кто это такие? Это интернет-сервисы, типа Яндекс Новости или Рамблер Новости, которые собирают новости с других новостных сайтов.

Если Ваш сайт попадет в пару таких агрегаторов, а то и во все - его посещаемость стремительно возрастет. Вот почему так многие владельцы новостников стремятся туда попасть. Однако это не так просто, среди массы требований встречается то одно, застающее владельцев в расплох - необходимо удалить внешние ссылки из rss feed.

Как удалить внешние ссылки в rss feed?

Покопавшись в интернете я обнаружил, к своему удивлению, полное отсутствие уроков по данной теме. Если вписать в Яндексе "удалить внешние ссылки из rss feed", то можно встретить массу статей по feedburner, или по настройке rss каналов и лент, в общем массу всего того, что на самом деле к теме не имеет никакого отношения.

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

Здесь я представлю тот единственно верный код, который реально поможет Вам удалить внешние ссылки из rss ленты, при этом на Вашем сайте в самой статье они останутся. Просто не будут отображаться в ленте.

Код необходимо вставить в файл с функциями Вашего шаблона. Стандартно этот файл называется functions.php. Найти Вы его сможете, как я уже сказал, в папке с Вашим шаблоном сайта.

Как удалить внешние ссылки в rss feed?

Собственно сам код:

Все! Теперь у Вас в фиде (rss-ленте) не отображаются внешние ссылки. Они отображаются только в самом материале на сайте!

Для новичков и любителей программирования объясню принцип. Создаем функцию, которая ищет в html коде по регулярному выражению ссылки. А именно, ищет теги и , которые и отвечают за создание ссылок, как известно. Когда такую ссылку находят, данный код просто не возвращают, за это отвечает строка return = $out.

Ну и дальше внедряют данную функцию, которая уже и делает все за нас!

На этом у меня все, увидимся в следующих уроках!

Полезные статьи Вам на почту!

Нас более 700 человек!

Комментарии

Аделина
0

Большое спасибо за статью! Я действительно очень долго искала и никак не могла найти нужную информацию. Почему то действительно, никто об этом не написал кроме вас. Сделала всё как вы написали, и смогла удалить внешнюю ссылку в rss feed.

13.02.2015
Anton74
0

Действительно, уроков в интернете по данной теме еще не было, долго не мог понять, как удалить со своего сайта внешние ссылки из rss feed. Большое спасибо за информацию, оказывается это очень просто и понятно!

13.02.2015
Ирина
0

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

13.02.2015
Руслан
0

Подскажите, как убрать из RSS отображение автора поста? В самой теме я отображение убрал, но в фиде выводится. Подскажете?

07.04.2015
Екатерина
0

Спасибо за статью. Если можно, поясните пожалуйста, в какое именно место functions.php лучше вставить этот код - в конце или в начале.

07.05.2015
Sly
0

А разницы никакой, абсолютно. Главное, чтобы код находился между "< ?" (это самая первая строка) и "? >" (самая последняя). Это открытие и закрытие кода, соответственно.

11.05.2015
Руслан
0

Здравствуйте. На своём блоге хочу сделать колонку новостей (в боковом виджете), вставив rss ленту из яндекс новости. Стандартная rss перебрасывает на яндекс новости при нажатии на заголовок, а хотелось бы чтобы просто показывались краткие новости. Пробовал вставить ваш код - не работает. У плагина *мультиимпотёр* есть функция показывать отдельно, но открывается пустая страница... даже не знаю как заглушить обратные ссылки((

07.10.2015
Sly
0

День добрый! Эта не та статья, что Вам нужна. Здесь другой случай. Есть ли у Вас знания js или php? Хотя бы базовые? Алгоритм действий такой - если это php, то необходимо в коде отыскать где прописано открытие новой страницы, и просто удалить оттуда ссылку. Если это js - делаете выборку этих ссылок, и пишете им значение preventDefault. В обоих случаях никакого перехода не будет. Если сами не разберетесь - пишите, нужен будет адрес блога (хостинг бесплатный выберите, т.к. Ваш, вижу, на локальном сервере), и нужен будет доступ к фтп.

07.10.2015
Руслан
0

Здравствуйте. Спасибо, что откликнулись. Вчера заказал хостинг, в ближайшие выходные выложу свой блог. Хотя записей пока мало, добавлял их скорее для настраивания)) да и посетителей пока что не будет.. А знания у меня даже не базовые - новичок, из предложенных вами способов разобраться не смог. Когда перенесу блог я вам напишу. Спасибо.

08.10.2015
Sly
0

Наконец приехал, теперь буду каждый день отвечать на комментарии, так что пишите) Насчет знаний не волнуйтесь - все с опытом придет. Уроки как раз пошаговые, и обучат вообще всем тонкостям ведения блога. Жду результатов переноса Вашего блога)

10.10.2015
Диляра
0

Здравствуйте. Я попробовала вставить код в админке вордпресса, но там запрет на это. Как можно по другому это сделать?
Благодарю.

20.10.2015
Андрей Николаев
0

Здравствуйте. В смысле запрет? Напишите, пожалуйста, конкретнее, что вы пытались делать и какой был запрет?

21.10.2015
Диляра
0

Я пошла в админку ==> редактор ==>functions.php
вставила ваш код, но кнопки сохранить нет. вместо этого написано "Чтобы сохранить изменения, нужно сделать этот файл доступным для записи. Дополнительную информацию можно получить в Кодексе."

21.10.2015
Андрей Николаев
0

Вам необходимо будет скачать программу filezilla. Прочитайте о ней этот урок - http://wpguru.ru/sozdanie-bloga/urok-23-filezilla-udobnaya-programma-dlya-raboty-s-ftp.html . Тут подробно расписано, как ей пользоваться. И дальше у вас 2 выхода. Либо через эту программу открыть файл functions.php, сделать в нем изменения, и загрузить обратно на сервер. Либо нажать на нем правой кнопкой мыши -> права доступа к файлу -> устанавливаете цифру 600. У вас там, скорей всего, будет стоять 400. После чего можете через админку сайта править этот файл, появится кнопка "сохранить".

21.10.2015
Михаил
0

Здравствуйте, я импортирую через rss новости с других источников, внутри новости есть ссылки, как сделать так, что бы при они не выводились (удалились) ?

03.12.2015
Sly
0

Вечер добрый. Зависит от того, чем импортируете. Необходимо разобрать код парсера, и просмотреть в деталях.

03.12.2015
Михаил
0

парсер rss-avtopilot

03.12.2015
Sly
0

Не имел дел с данным парсером, Вам необходимо посмотреть исходный код, найти функцию, которая отвечает за сбор самих новостей и удалить ссылки. Ищите теги a href. Это и будет началом ссылки.

04.12.2015
orenkomp
0

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

19.12.2015
Sly
0

Очевидно

21.12.2015
Felix
0

Здравствуйте, у меня в каждой записи располагается плеер с аудио и ссылка на аудиофайл попадает в фид, можно ли ее от туда как то убрать?

04.04.2017
0

Можно, конечно, но платно 🙂 Рублей за 500 могу исправить...

09.04.2017

Оставить комментарий

Поделиться