WordPress плагин для внутренней перелинковки страниц сайта. Версия 3.

24 июня, 2010
wp terms descriptions 3 logo

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

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

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

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

В общем-то, я думал, что плагин решает свою узкую задачу в полном объеме… Но один из читателей этого блога (по имени Турист) объяснил мне, что это не так :)

Представьте, что у вас есть несколько сайтов схожей тематики, и вы хотите поставить ссылки с одного сайта на другой. Т.е. нужна возможность задавать произвольные ссылки.

Именно эта функция и добавлена в новой (третьей) версии плагина.

wp terms descriptions 3

Как видно на скриноште, появилась дополнительная опция при выборе типа ссылки. Вы можете поставить ссылку на пост (Post), страницу (Page) данного блога или указать произвольную ссылку.

При выборе последнего варианта список с перечнем страниц будет заменен на обычное текстовое поле, в котором можно указать ссылку.

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

Надеюсь, нововведение окажется полезным, и, как всегда, жду ваши отзывы и комментарии.

Скачать новую версию плагина.

архив с исходным кодом

P.S. Я сделал отдельную страницу для этого плагина, теперь все новые версии будут выкладываться там.

Понравилась статья? Подписывайтесь на продолжение rss link !

Или на мой твиттер twitter link

]]>

Добавьте эту страницу в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

]]>

Опубликовано в PHP, Web разработка, WordPress Комментарии (72) »

]]>
  • Anton

    Крутотень, протестируем :)

  • Baragozja

    Супер, спасибо!!!

  • blogran

    Спасибо! Обязательно протестирую

  • Gaspasrd

    Это самый лучший и простой плагин для автоматической перелинковки! Спасибо!

  • http://vash-film.ru

    Спасибо испробуем!

  • http://inetmarketing.ws InetMarketingWSU

    Только начал читать блоги с моего блогролла и сразу наткнулся на необходимый пост :-)

  • http://invaforum.ru/ Timur

    Отличный плагин! Здорово все работает! Спасибо!

  • http://xfilex.ru/ x-files

    Плагин суперский, как раз в поисках аналогичного к Вам и заглянул. Жалко он к WP, мне нужен аналог только к Joomla, поэтому ищу дальше :) А Ваш плагин все равно скачал, надеюсь в скором будущем пригодится! Спасибо!

    • http://atroshenko.by Атрощенко Андрей

      есть и для джумлы.актуально?

      • http://xfilex.ru/ x-files

        Нет,спасибо! Уже нашел!

      • http://www.simplecoding.org Владимир

        возможно, кому-нибудь ссылка пригодится

        • http://musicblgoz.ru/ san4izl

          Большое спасибо за плагин. Очень бы хотелось, чтобы плагин понимал склонения!!!!

  • http://www.simplecoding.org Владимир

    Удачных поисков! :)
    По-идее, должно быть что-то готовое. Во всяком случае для WP аналоги есть.

  • http://freesoftblog.ru Aleksey

    Спасибо ОГРОМНОЕ! В скором времени использую на своем блоге.

  • http://www.boxday.ru/ boxday

    Судя по описанию и возможностям отличный плагин. Давно искал! Спасибо!
    Сами пользуетесь?

  • http://www.simplecoding.org Владимир

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

  • n4yk

    Спасибо за плагин, хорошая вещь, правда грузовая, нужна оптимизация и кэширование, также предлагаю пару своих доработок.
    Посты и страницы у вас как я понял из категорий не вытаскиваются, у меня их пару штук всего отображается, хотя на самом деле их больше тысячи и приходиться добавлять ссылки как внешние, в связи с этим нужно чтобы ссылка на термин не отображалась в самом себе, а проверка на отображение ссылки термина в самом себе у вас не до конца реализована, вы проверяете только Id, а ведь если ссылка внешняя $cur_id = get_the_id(); – нечего не даст, предлагаю добавить после этой строчки $cur_id_url = get_permalink($cur_id);
    а после
    if ( $cur_id == $term['pageid'] ) { continue; } добавить
    if ( $cur_id_url == $term['url'] ) { continue; }
    Также было бы неплохо проверять количество ссылок термина не по названию термина а по его ссылке, т.к. иногда необходимо добавлять термин в нескольких вариантах (к примеру: мебель, мебели, мебельной), а ссылка будет таже, тогда при ограничении например в 3 ссылки на страницу, количество ссылок может быть больше т.к. разные варианты термина у вас проверяются как отдельные термины.
    Проще всего будет реализовать при добавлениии термина дать возможность указывать альтернативные имена с разделителем. (пример термин: "мебель|мебели|мебельный|")

    • http://www.simplecoding.org Владимир

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

      И не уверен насчет словоформ (мебель|мебели|мебельный). По-идее, термин должен быть существительным в именительном падеже. Т.е. "мебель" – это термин, а "мебельный" – характеристика магазина.

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

      • http://webmarketing.by/ Денис Ловецкий

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

      • http://webmarketing.by/ Денис Ловецкий

        По поводу :

        >>По-идее, термин должен быть существительным в именительном >>падеже. Т.е. "мебель" – это термин, а "мебельный" –
        >>характеристика магазина.

        Да, части речи разные. Но для перелинковки важно. Смотрите запрос в Яндекс и что он цепляет:

        http://yandex.ru/yandsearch?text=%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD+%D0%BC%D0%B5%D0%B1%D0%B5%D0%BB%D0%B8+~~+!!%D0%BC%D0%B5%D0%B1%D0%B5%D0%BB%D1%8C&lr=213

        • http://www.simplecoding.org Владимир

          Уточните, пожалуйста, какую версию плагина вы используете?

          Последние поддерживают словоформы (их нужно перечислять через |).

  • http://twitter.com/oldvovk Igor Den

    Кто ж не дает ввести все три слова, как термин и поставить ограничение отображения каждой по 1 на страницу.

  • Anonymous

    Такой вопрос, а можно загружать пары термин-ссылка в виде csv или txt формата?

    Массово, для удобства.

    • http://www.simplecoding.org Владимир

      Нет, в данной версии плагина это невозможно.

  • http://twitter.com/NetGu_Ru NetGu.Ru

    Спасибо за плагин !
    Было бы здорово если бы, было 2 опции:
    1)- Преобразовывать первые (число) найденных терминов.
    и
    2)- Преобразовывать (число) найденных терминов*

    * т.е. размазать термины по странице/записи

    • http://www.simplecoding.org Владимир

      Спасибо, я понял идею. В ближайшее время реализовать не обещаю, но на будущее учту.

  • Egor

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

    • http://www.simplecoding.org Владимир

      Перелинковка по словосочетаниям должна работать. Проверьте, нет ли у вас разметки (тегов) между словами.

  • Anonymous

    То, что доктор прописал! Искал долго, действительно удобный плагин!

  • major

    Здравствуйте.

    Как вы отнеслись бы к просьбе сделать видеоурок по практическому использованию вашего плагина на WordPress, а главное – достижения необходимого результата. 
    Я начинающий вебмастер. У моего сайта PR=0 уже много месяцев. В инете пишут. что именно внутренняя перелинковка сайта позволит увеличить PR.
    У меня англоязычный сайт, нацеленный на работу с американскими CPA network. Опыта в этой работе нет никакого, и главное , где золотая середина в этой работе-чтобы не переборщить и одновременно сделать пользу в этой работе, если на сайте уже существует несколько тысяч постов контента. 
    Ваше видео очень помогло бы таким "чайникам", как я.

    • http://www.simplecoding.org Владимир

      Этот плагин сам по себе не поднимет pr. Кроме того, я не сеошник и точных рецептов по созданию внутренней перелинковки не знаю. Т.е. понятно, что она нужна, но сколько и каких ссылок нужно ставить – это вопрос не ко мне.
      А видеоролик уже записал один хороший человек – http://www.youtube.com/watch?v=0b-3Y7gjIMc

  • Galeakberov

    Не работает плагин, в чем могут быть причины? Работал до какой-то поры. потом перестал. Снес плагин заново установил, это проблему не решило. Отличный плагин, хотелось бы чтобы еще и работал

    • http://www.simplecoding.org Владимир

      Сложно что-то сказать не имея возможности зайти на сервер. В error.log ошибки есть?

  • DDDD

    у меня ошибка:( Сервер сценариев в Windows

  • DDDD

    ла

  • Zortexx

    Я так понимаю, что проблема с ошибкой в случае отсутствия страниц в блоге до сих пор не решена. ct 09/14/2010 03:08 писал: "Есть неприятный момент: если у блога нет страниц (pages), то возникает ошибка в ЖС (так как не определена константа pages) и при выборе внешней линки или поста не срабатывает смена полей."Не могли бы Вы подсказать что можно поменять в коде, чтобы устранить эту ошибку?

    • http://www.simplecoding.org Владимир

      Да, к сожалению, эту проблему быстро решить не получилось, т.к. необходимые изменения "тянут" за собой переработку всего интерфейса, которая запланирована в новой версии (если не возникнет не предвиденных сложностей, я ее выложу через 2 недели).
      Пока самый простой вариант решения – создать пустую страницу и не показывать ее на сайте.

      • Zortexx

        Спасибо за совет. А еще большее – за плагин! 
        Однако я пробовал так делать – это не помогает. То есть, если страница существует в черновиках или в закрытом доступе, плагин ее не видит. Видит только после публикации в открытом доступе. Я пока что решил это иначе – сделал страницу "О проекте". 

        С нетерпением буду ждать новой версии. За новость спасибо!

      • Zortexx

        Хотел еще поинтересоваться возможностью массового добавления терминов через, может быть через .csv или текстовый файл :-)

        А заодно узнать – нет ли каких-либо специальных потребностей в PHP extensions у вашего плагина? Я установил WordPress 3.2.1 на весьма ограниченный хостинг, и там последняя версия вашего плагина вообще не находит внутренних страниц. Выпадающий список содержит в себе только "—". На изменения типа ссылки не реагирует. Если просто добавить термин без ссылки, и потом нажать "Изменить", то ссылку добавить можно, но при этом ссылки с терминов зачастую ведут на эту же страницу.

        • http://www.simplecoding.org Владимир

          Массовое добавление будет в следующей версии (рассчитываю ее выложить в этом месяце).
          Выбор внутренних страниц осуществляется с помощью встроенных функций WP, поэтому каких-то особых требований нет.

  • Zortexx

    Сегодня установил заново wordpress 3.2.1, плагины:
    All in One SEO PackAuto Post Images (API)Auto_moreCaptchaGoogle XML SitemapsRusToLatTop Level CategoriesWordPress ImporterWP No External Links

    Ваш плагин Terms Descriptions был установлен последним. 
    Добавлял термины в следующем виде:
    апельсин|слива|груша|клубника|ягода|виноград (запись)

    Сначала был глюк – на целевой странице появились ссылки на нее же, но после добавление еще пары терминов – глюк пропал.

    В итоге, после добавления 11-го термина перестал преобразовываться выпадающий список "Выберите страницу / запись или укажите внешнюю ссылку". Выпадющий список "Ссылка на" как и до этого содержит 3 варианта "Страницу", "Запись", "Внешняя ссылка". Однако, при выборе любого варианта ничего не изменяется.

    • http://www.simplecoding.org Владимир

      Большое спасибо за описание ошибки. Буду тестировать и исправлять )

  • Slots

    Плагин понравился но есть один нюансик: Было бы очень востребованно, если бы была возможность к некоторым ссылкам добавлять атрибут rel="nofollow", на выбор, при добавлении кеев.
    Ну и также не помешал бы булк импорт и экспорт.

    • http://www.simplecoding.org Владимир

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

  • http://rubimbaks.ru Серж

    Не совсем понял – уже поздно – добавил в закладки – вернусь и разбирусь!!!

  • Svetlana

    Установила плагин. Все работало. Потом обновила до новой версии.Тоже работало. Захотела внести новые термины и ссылки. Но! плагин пропал из панели управления! т.е. в Установленных плагинах он есть, а в Инструментах его нет! нигде нет! я отключила и включила заново – не помогло. Я удалила и установила заново (естественно все настройки тоже удалились), но плагин не появился в инструментах. Не знаю,что делать. Теперь на сайте нет перелинковки. Помогите пожалуйста. Прикрепляю скриншот.

    • http://www.simplecoding.org Владимир

      Посмотрите описание к новой версии. Страница плагина перенесена в отдельную группу в меню. Эта группа называется Термины, находится под группой Настройки.

  • http://www.pcgod.ru pcgod

    скачаем, посмотрим)

  • Lkmz

    ..Пишет ошибку добавления ссылки.. Не может быть из-за того, что домен "РФ"?.. И ещё, на будущее: в списке слов добавлять через запятую, пробел или с новой строки..?

    • http://www.simplecoding.org Владимир

      Ссылки создаются с помощью встроенных функций WP. Т.е. если у вас нормально создаются ссылки в блоге, то и у плагина проблем быть не должно.
      На всякий случай проверьте кодировку таблиц в БД.

      Словоформы добавляются через символ "|".

  • Anonymous

    Такой вопрос – можно ли с помощью какого-то тега запрещать работу плагина на определенной странице и для определенного текста? Заранее спасибо за ответ

    • http://www.simplecoding.org Владимир

      Эта возможность есть в последней версии плагина (1.2.2) – http://downloads.wordpress.org/plugin/terms-descriptions.zip

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

      • Anonymous

        Спасибо за оперативность!

  • Pingback: Перелинковка сайта – важно

  • http://twitter.com/webvodka Веб водка

    Давно мучаюсь с проблемой пере

    • http://www.simplecoding.org Владимир

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

      > настройка "линковать 1-2-3-4 вхождение"
      Пожалуйста, приведите пример.

      • http://twitter.com/webvodka Веб водка

        Я сразу же включил «с поддержкой…» – не работает :(

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

        • http://www.simplecoding.org Владимир

          Кавычки – нужны коды символов кавычек, которые у вас используются. Сейчас поддерживаются: ", ", ", ", «, »

          Да, распределение ссылок будет потреблять дополнительные ресурсы.

          В последней версии плагина есть поиск/фильтрация  терминов.

        • http://twitter.com/webvodka Веб водка

          Не, «» точно не работают. Вот ссылка, для примера: http://vodka.kiev.ua/vodka-in-news/news/chupa-chups-vodki-morozhenoe-shampanskoe/

          Полюсов холода – залинкованы. Ссылки нет. Как только добавляю в терминах кавычки – сразу ссылка есть.

          Поиск не сильно помогает отловить дубли. Возможность сортировки по любому столбцу (и по умолчанию – по алфавиту) была бы идеальной.

        • http://www.simplecoding.org Владимир

          В этом и проблема, кавычки «» можно поставить несколькими способами. Например, « или « или «

        • http://twitter.com/webvodka Веб водка

          можете оба варианта проверять? По-видимому через цифру и не работает.

  • http://i-shipilov.ru/ Иван Шипилов

    Владимир, большое спасибо за интересный, качественный и очень полезный плагин!
    У меня предложение по его улучшению:можно ли сделать так, чтобы не прописывать все словоформы слова через знак "|", а через специальный знак задавать возможные варианты, например:
    молок$$ – молоко, молока, молоком и т.д., т.е. два знака доллара в конце слова подразумевают любую букву.
    И/ИЛИ:
    молок* – точно также, только в этом случае не два знака, а любое количество знаков до пробела или знака препинания.
    надеюсь, я понятно выразился.

    • http://twitter.com/webvodka Веб водка

      Можно еще прикрутить «Склонятор» http://nano.yandex.ru/project/inflect/

      • http://www.simplecoding.org Владимир

        Прикрутить можно всё, что угодно… или почти всё :)
        Но работать будет ещё медленнее.

        • http://twitter.com/webvodka Веб водка

          Еще глюк: ставлю термину ID (иначе никак, в списке 10-ти подсказок нет нужной статьи), сохраняю, потом редактировать и… выпадающий списко стоит на ID, а в поле рядом – название страницы. И сохранялка не работает. А ID уже и не помню.

        • http://www.simplecoding.org Владимир

          Спасибо, я проверю

    • http://www.simplecoding.org Владимир

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

      • http://plus-invest.ru/ Иван Шипилов

        Может быть стоит сделать новый плагин?
        Скажем, Terms Descriptions Plus

        • http://www.simplecoding.org Владимир

          Мне пока хватает путаницы с номерами версий этого плагина :)

  • http://twitter.com/webvodka Веб водка

    Можете оба варианта (#171 и #187) проверять? По-видимому через цифру и не работает.

    • http://www.simplecoding.org Владимир

      Добавил этот пункт в список изменений для следующей версии.

      • http://twitter.com/webvodka Веб водка

        Спасибо, буду ждать. Просто на сайте часть терминов с «», а часть по старому, с "" и перелинковка страдает.

]]>
Tweet