trackback и pingback на WordPress

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

Как уже многие знают, trackback – это механизм уведомления других сайтов (не обязательного блогов). О пингбэках (pingbacks) сейчас говорить не будем, чтобы не запутаться в формулировках. Трекбек применяется в тех случаях, когда мы хотим оставить комментарий на чью-либо статью в собственном блоге. При этом автору статьи отправляется уведомление, что его статья послужила вдохновением для написания очередного поста. Другими словами, автору статьи, а точнее блогу, отправляется информация, что на определённый пост блога сослались, используя механизм трекбека.

Выглядит это следующим образом:

Демонстрация трекбека (trackback)

Как видите, эта возможность напоминает обыкновенный комментарий. Отличие только в том, что вместо имени автора подставляется название блога, а вместо текста комментария подставляется вырезка из статьи. Также обратите внимание, что перед вырезкой идёт заголовок ссылающейся статьи.

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

Теперь о возможности включения и выключения трекбеков на движке WordPress.

За включение и отключение трекбеков отвечает параметр «Разрешить оповещения с других блогов (уведомления и обратные ссылки)», который находится на закладке «Обсуждение» меню «Параметры».

Включение и отключение трекбеков

В отдельных случаях можно включить эту возможность при написании поста. Для этого необходимо установить флажок «Разрешить обратные ссылки и уведомления».

Включение отключение Trackbacks

Отправка трекбеков

Чтобы отправить трекбек средствами WordPress, необходимо отыскать на исходной странице так называемый Trackback URL (адрес для приема трекбеков), и скопировать его в буфер обмена. Если блог построен на WordPress, то адрес Trackback URL обычно состоит из адреса записи и окончания /trackback. Например:

http://guideto.ru/bez-rubriki/trackback-i-pi…k-na-wordpress/trackback

В том случае, если WordPress-блог не использует SEO-ссылки (ЧПУ), то Trackback URL выглядит так:

http://guideto.ru/wp-trackback.php?p=266, где 266 – это ID записи.

У меня на блоге Trackback URL можно найти перед списком комментариев:

Trackback URL

После того как мы получили Trackback URL, создаем новую запись, и вставляем наш адрес в поле «Отправить обратные ссылки»:

Обратные ссылки (trackbacks)

В результате этих действий будет отправлен трекбек по указанной ссылке. Как видите, процедура несложная.

А чтобы убедиться, что трэкбэк был отправлен, необходимо войти в режим редактирования записи, и обратить внимания на поле «Отправлены уведомления»:

Отправка трэкбэков

В указанном месте будут перечислены все адреса, на которые были отправлены уведомления.

 

Как избавиться от trackback спама?

Очень актуальная тема на сегодняшний день. На первый взгляд кажется, что для этого достаточно просто отключить параметр «Разрешить оповещения с других блогов (уведомления и обратные ссылки)» в параметрах WordPress-блога. Но дело в том, что данный параметр отключает возможность уведомлений только для новых записей.

Поэтому для решения проблемы спама, необходимо открыть каждую запись блога в режиме редактирования, и снять указанный флажок:

Включение отключение Trackbacks

В том случае, если записей у вас много, можно воспользоваться SQL-запросом, отключающим этот параметр. Легче всего сделать это через приложение phpMyAdmin.

Откройте phpMyAdmin, и выберите в левом списке необходимую базу данных.

Отключение трекбеков через phpMyAdmin

Перейдите на закладку SQL, и внесите в неё следующие строки:

UPDATE wp_posts SET ping_status='closed' WHERE post_status='publish' AND post_type='post';UPDATE wp_posts SET ping_status='closed' WHERE post_status='publish' AND post_type='page';

После этого нажмите ОК, и дождитесь сообщения об успешном выполнении запроса:

SQL for trackbacks

Конечно можно было пойти более легким путем, и просто удалить файл wp-trackback.php, но я бы не советовал вам этого делать. А поскольку мы затронули название этого файла, рассмотрим техническую сторону механизма трекбеков.

Техническая сторона медали

Отправка трекбека – это передача порции информации через HTTP-запрос, используя метод POST. Совершенно очевидно, что должен существовать обработчик, который будет принимать эту информацию. Для WordPress это файл wp-trackback.php, находящийся в корне сайта. Внимательные блогеры уже давно его заметили. :)

Если говорить о ЧПУ, то запрос перенаправляется на wp-trackback.php, если адрес поста заканчивается ключевым словом /trackback. В случае обычных ссылок запрос идёт напрямую к wp-trackback.php. Вы это могли заметить, когда я писал о Trackback URL.

Сейчас уже не так много WordPress-блогов, где можно найти упоминание о Trackback URL для обратного трека.

Trackback URL

А ведь он необходим, чтобы вам могли отправить уведомление о ссылке.

Чтобы вставить в шаблон записи ссылку для трекбека, воспользуйтесь следующей конструкцией:

Trackback на текущую запись

Теперь продолжим наш рассказ о пингвинах.

Обработчику передаются следующие переменные:

  • blog_name – название сайта или блога.
  • url – адрес сайта или блога.
  • title – заголовок статьи.
  • exerpt – вырезка из статьи.

Обязательным параметром из них является только один — url.

Ну а чтобы скорректировать запрос определённой записи (или странице), методом GET передаем переменную p, содержащую ID записи.

В случае удачного запроса обработчик возвращает следующее сообщение (в XML-формате):

0

В случае неудачного запроса возвращает ошибку в том же формате:

1В этом месте следует описание ошибки

Собственно, на этом можно и заканчивать.

Избавляемся от trackback- и pingback-спама на WordPress-сайте

Trackback- и pingback-спам — это одна из разновидностей спама на WordPress-сайтах. Его суть заключается в том, что с помощью всевозможных скриптов и программ к записям вашего блога отправляют уведомления о том, что, якобы, на вас сослались (хотя на самом деле это не так), и в этих уведомлениях ставят ссылки на свои продвигаемые сайты.

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

Данный процесс можно разделить на 2 части:

  1. Отключаем trackback’и и pingback’и для новых записей — для этого заходим в админку WordPress на страницу «Настройки -> Обсуждение» и снимаем галочку с опции «Разрешить получение от других блогов уведомлений«. В результате во всех новых записях получение трекбэков и пингбэков будет автоматически отключено.
  2. Отключаем trackback’и и pingback’и для старых записей — для этого необходимо выполнить следующий SQL-запрос через phpMyAdmin (на всякий случай перед этим действием создайте резервную копию базы данных):

    UPDATE wp_posts SET ping_status='closed' WHERE post_status = 'publish' AND post_type = 'post';UPDATE wp_posts SET ping_status='closed' WHERE post_status = 'publish' AND post_type = 'page';

    Запрос из первой строки отключает trackback’и и pingback’и для всех записей, запрос из второй строки — для всех «страниц«.

    Если у вас префикс таблиц в БД отличается от wp_, то нужно его заменить на свой.

На этом вопрос о trackback- и pingback-спаме можно считать закрытым. Больше он вас не должен беспокоить.

Что такое ping и traсkbaсk?

Попробую-ка пролить ясность в этом вопросе smile, поскольку он не такой простой, как кажется на первый взгляд. За сухим «ping и traсkbaсk - технологии, позволяющие взаимодействовать сайтам между собой», мало что становится понятно. Так что по-порядку.

Основная идея

Суть взаимодействия между сайтами очень проста: вы посылаете какому-то сайту определенный запрос, тот его анализирует и, если нужно, выполняет определенное действие, например публикует ваш запрос как комментарий. То есть когда вы хотите оставить комментарий к чужой статье на своем сайте, все что вам нужно сделать, так это указать адрес чужого сайта.

Пинги и трэкбаки - это два механизма, через которые реализуются такие возможности.

Пинги (ping)

Сайт «А» принадлежит Васе, а сайт «Б» - вам. Вася опубликовал на своем сайте статью, которая вам очень понравилась. У себя на сайте вы решили рассказать о том, что Вася грамотный специалист и прямо в тексте размещаете ссылку на его статью.

После того, как вы нажали кнопку «Опубликовать», WordPress (или аналогичный «движок») анализирует ваш текст, вычленяет из него все найденные ссылки и по каждой из них пошлет специальный запрос (ping), который только и состоит, как из ссылки на вашу статью.

Сайт Васи, получив такой запрос (ping), считывает уже вашу статью и пытается найти в ней свой адрес (статья Васи), и если находит, то публикует вашу ссылку в виде комментария. Вот примерно так:

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

Трэкбаки (traсkbaсk)

В отличие от пингов, трэкбэки более сложный механизм, но вместе с тем и более управляемый.

На практике это выглядит так: когда кто-то публикует статью, то помимо адреса этой статьи, рядышком указывается специальная ссылка «traсkbaсk» - именно эту ссылку нужно указывать в отдельном поле («Послать traсkbaсk») в редакторе WordPress'а.

Так работают трэкбаки (trackback)
При публикации вашей статьи, WordPress автоматически сформирует специальный XML-запрос в котором будет указанны: название блога, адрес (URL), короткое описание (поле excerpt илиmore), название вашей статьи и кодировка вашего блога. Получив такой XML-запрос, чужой блог автоматически создаст комментарий и отправит вашему блогу ответ, что все ОК. Кроме этого, WordPress сохраняет отправленные трэкбаки, поэтому при повторной отправке выдаст соответствующее предупреждение.

Traсkbaсk vs Ping

Если вы счастливый обладатель WordPress'а, то вам доступны обе эти технологии. Поэтому вы можете использовать их одновременно. Но, все-таки существуют небольшие «подводные камни», которые необходимо учитывать при использовании как пингов, так и трэкбаков.

Пинги удобны тем, что не нужно заботиться и искать специальные трэкбаковские ссылки - прямо в тексте указали адрес, все остально будет сделано автоматически. К минусам пингов следует отнести следующие моменты:

  1. Вы никак не контролируете процесс отправки самого пинга - чужому сайту отправляется только ваш адрес и ничего больше.
  2. Вы не знаете в каком виде будет опубликован ваш комментарий. Все дело в том, что принимающий блог будет искать ссылку на себя на вашем сайте и, найдя её, удалит весь лишний текст, оставив только примерно 50-100 символов до и после ссылки. Именно поэтому комментарии, посылаемые как пинги часто выглядят обрезанными в самом неподходящем месте.
  3. Проблемы с кодировкой. Принимающий блог (если это WordPress) не анализирует кодировку вашего блога («meta charset»). На моем сайте вы найдете исправление этого недочета для WordPress'а, но это только позволит вашему блогу корректно принимать пинги.

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

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

You should also read:

Правильный robots.txt для WordPress

Файл robots.txt

Есть у движка wordpress одна проблема в техническом плане. Заключается она в дублирование контента и мусорных страниц. Эта штука сулит очень большие проблемы с поисковыми системами, особенно если очень увлекаться тегами (метками).

В самом плохом варианте сайт может попасть под фильтр Яндекса АГС (бан, когда в индексе остается 10 или менее страниц), и в дополнительный индекс Гугла. Объяснять, что такое АГС и дополнительный индекс я сейчас не буду, эта тема отдельного разговора, а вот как решить проблему с дублями я расскажу.

Плагин для WordPress

Плагин для автоматической перелинковки WordPress

Давно знал о существовании плагина для автоматической перелинковки на WordPress, но никак руки до него не доходили, а точнее, не думал что он настолько полезен. Лишь однажды, когда я случайно попал на новостной сайт (какая-то новость заинтересовала), прочитал новость, а потом перешел по внутренней ссылке этой новости, а потом в другой новости снова перешел по внутренней ссылке (все эти ссылки просто были внутри статьи на каком-то слове или фразе)… в общем, я понял, что с помощью этих внутренних перелинковок можно надолго задержать посетителя на вашем сайте, то есть как бы улучшаются “поведенческие факторы”, которые сейчас упорно стараются использовать все поисковые системы при поднятии сайта в топе или для понижения его позиций.

Обзор SEO-плагина WordPress SEO by Yoast

В данном обзоре будет рассмотрен и протестирован бесплатный плагин для Вордпресса WordPress SEO by Yoast. В сентябре 2012 года была выпущена новая версия этого плагина с номером 1.2.8.4, совместимая с версией WordPress 3.4.2. WordPress SEO by Yoast имеет много положительных отзывов, и на сайте wordpress.org он оценён 4,7 балами из 5. Тестирование его функций для этого обзора было выполнено на WordPress 3.4.2.

Как перевести тему или плагин WordPress — пошаговая инструкция

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

Шаблонизация WordPress довольно несложная, и можно недорого найти хорошего дизайнера и верстальщика WordPress тем. В среднем цена на хороший дизайн темы WordPress стоит от $30-40, и гдето столько же стоит отверстать шаблон под ваш движок.