Плагин для закрытия ссылок в Joomla 3 - noExternalLinks

  • 24 Ответов
  • 4419 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн buyanov

  • ***
  • 178
  • [+]27 / [-]1
  • Сайты 74
    • Просмотр профиля
    • Сайты 74
Всем привет. Недавно написал плагин для "закрывания" внешних ссылок в контенте Joomla. Писал ради собственного удобства, затем по просьбам посетителей немного допилил его для всего сайта (т.е. теперь скрываются ссылки и в модулях и где угодно) Дальше больше, начались проблемы с биржами ссылок (они тоже закрывались) было решено его еще немного допилить =)

Итоговая версия умеет селедующие вещи:

  • Добавление атрибута rel="nofollow" ко всем внешним ссылкам;
  • Добавление атрибута target="_blank";
  • Заключение внешней ссылки в <noindex>;
  • White list - домены ссылки на которые нужно пропустить (например биржи ссылок);
  • Добавление блока <!-- extlinks -->...<!-- /extlinks --> для ссылок с бирж*;
  • Исключение страниц по ID;
  • Исключение страниц по ID категории;
  • Исключение страниц по ItemID (пункт меню)
  • Замена анкора на соответствующий href
  • Внутренний редирект средствами Joomla
  • Таймаут редиректа (время показа страницы редиректа)
  • !! Никаких дополнительных скриптов для редиректа

Если кому пригодится буду очень рад. И с радостью выслушаю любые пожелания по работе данного плагина.

Последняя версия лежит на сайте http://saity74.ru/no-external-links-joomla.html
Также можно скачать с GitHub http://github.com/buyanov/noExtLinks
И на extentions.joomla.org http://extensions.joomla.org/extensions/site-management/seo-a-metadata/nofollow/21928

Всем спасибо за участие в обсуждении!
Плагин будет корректно работать в Joomla начиная c 3.2 из-за особенностей формы настроек! Его можно установить и в 2.5 только вот работать он там не будет =)

Upd 1.8.3
Добавлена интеграция с любыми модулями. Теперь можно забыть про заморочки с блоками <!-- extlinks -->...<!-- /extlinks --> для готовых модулей бирж
« Последнее редактирование: 11.05.2017, 10:23:41 от buyanov »
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг

*

Оффлайн Zmey3109

  • **
  • 21
  • [+]0 / [-]1
  • Бонсай http://buxir2na.ru/
    • Просмотр профиля
    • Всё о бонсай
Как сделать, чтобы игнорировался модуль Link Sale (JB) (биржа sape)?

*

Онлайн zikkuratvk

  • ********
  • 4000
  • [+]266 / [-]2
  • Разрабатываем для Joomla
    • Просмотр профиля
    • Разрабатываем для Joomla
Как сделать, чтобы игнорировался модуль Link Sale (JB) (биржа sape)?
помоему в описании все отлично написано, как и что надо сделать :)
Цитировать
Добавление блока <!-- extlinks -->...<!-- /extlinks --> для ссылок с бирж*;
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg

*

Оффлайн Zmey3109

  • **
  • 21
  • [+]0 / [-]1
  • Бонсай http://buxir2na.ru/
    • Просмотр профиля
    • Всё о бонсай
помоему в описании все отлично написано, как и что надо сделать :)
И где этот тэг прописать? Будьте любезны, расскажите.

*

Онлайн zikkuratvk

  • ********
  • 4000
  • [+]266 / [-]2
  • Разрабатываем для Joomla
    • Просмотр профиля
    • Разрабатываем для Joomla
И где этот тэг прописать? Будьте любезны, расскажите.
очевидно в шаблоне модуля.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg

*

Оффлайн Zmey3109

  • **
  • 21
  • [+]0 / [-]1
  • Бонсай http://buxir2na.ru/
    • Просмотр профиля
    • Всё о бонсай
очевидно в шаблоне модуля.
А где именно? Вот собственно код:
<?php
/**
 * JB linkSale by Joomla-book.ru
 * @author Joomla-book.ru
 * @email admin@joomla-book.ru
 */

// no direct access
defined('_JEXEC') or die('Restricted access');



$result = array();

if ($params->get('sape_enabled', 0)) {
    include (dirname(__FILE__).DS. 'sape' .DS. 'sape.php');
}

if ($params->get('xap_enabled', 0)) {
    include (dirname(__FILE__).DS. 'xap' .DS. 'xap.php');
}

if ($params->get('linkfeed_enabled', 0)) {
    include (dirname(__FILE__).DS. 'linkfeed' .DS. 'linkfeed.php');
}

// подключаем файл шаблона с помощью класса JModuleHelper
require(JModuleHelper::getLayoutPath('mod_jblinksale'));

*

Оффлайн akondr

Подскажите, а под joomlu 1.5 нет версии случайно ?

*

Оффлайн Zmey3109

  • **
  • 21
  • [+]0 / [-]1
  • Бонсай http://buxir2na.ru/
    • Просмотр профиля
    • Всё о бонсай
Ответьте кто нибудь знающий на мой вопрос последний, пожалуйста.

*

Оффлайн wishlight

  • ********
  • 3581
  • [+]221 / [-]1
  • skype aqaus.com
    • Просмотр профиля
    • Aqaus
В шаблоне вокруг вывода модуля с ссылками или в коде модуля, чтобы выводился уже с <!-- extlinks -->код модуля<!-- /extlinks --> .

*

Оффлайн Zmey3109

  • **
  • 21
  • [+]0 / [-]1
  • Бонсай http://buxir2na.ru/
    • Просмотр профиля
    • Всё о бонсай
Ответьте кто нибудь знающий на мой вопрос последний, пожалуйста.
Я код модуля выше написал. Где именно проставлять <!-- extlinks -->? В начале и в конце если ставлю, то сайт не работает.

*

Оффлайн Zmey3109

  • **
  • 21
  • [+]0 / [-]1
  • Бонсай http://buxir2na.ru/
    • Просмотр профиля
    • Всё о бонсай
В шаблоне вокруг вывода модуля с ссылками или в коде модуля, чтобы выводился уже с <!-- extlinks -->код модуля<!-- /extlinks --> .
Я код модуля выше написал. Где именно проставлять <!-- extlinks -->? В начале и в конце если ставлю, то сайт не работает.

Поддерживаю вопрос куда поставить <!-- extlinks -->...<!-- /extlinks -->

Заключаю в mod_sape.xml  всё в  эти теги и не помогает.
« Последнее редактирование: 11.04.2014, 20:45:09 от dvd-obzor »

*

Оффлайн GeoD

Обращаюсь к разработчику.

Имеется Joomla 3.4. В компоненте Теги создал несколько тегов.
Так вот, на страницах тегов типа site.ru/tags/tag_name плагин не работает. Внешние ссылки остаются открытыми.
Пример такой страницы. Версия плагина 1.6.

Что можете предложить? Требуется срочное решение.

*

Оффлайн Sulpher

  • *******
  • 2129
  • [+]389 / [-]15
  • Шаблоны и расширения Joomla
    • Просмотр профиля
    • CMScafe
buyanov, кажется, в error.log записывается notice при использовании на PHP 5.4. Пару месяцев назад сталкивался. Посмотрите у себя на рабочем полигоне в лог ошибок.

*

Оффлайн Sergey2

После обновления белый экран при работе данного плагина :(


PHP 5.5.

*

Оффлайн vik8458

  • *
  • 3
  • [+]1 / [-]0
  • Вежливый Лось
    • Просмотр профиля
    • Одежда для окон, Волгоград
Ну что сказать...

Спасибо огромное  ^-^

Версия Joomla 3.6.5., Apache: 2.2.29, PHP5: 7.0.4 
скачался, стал штатно, очень простой и удобный.
Работает четко.

Пиши исчо )))
"Кто к нам с чем и зачем - тот от того и того..."
А. Невский.

*

Оффлайн buyanov

  • ***
  • 178
  • [+]27 / [-]1
  • Сайты 74
    • Просмотр профиля
    • Сайты 74
Спасибо за отзыв, в версии 1.8.2 есть возможность внутреннего редиректа: просто выбираете пункт меню с заранее привязанной на него страницей (также там можно показать специальные модули, какие-нибудь таймеры например или рекламу) и указываете таймаут показа этой страницы после перехода по ссылке! Если нужны какие-то доработки по функционалу пишите, буду рад =)
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг

*

Оффлайн Stasweb

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

*

Оффлайн buyanov

  • ***
  • 178
  • [+]27 / [-]1
  • Сайты 74
    • Просмотр профиля
    • Сайты 74
Было бы неплохо еще вот такую штуку для VirtueMart.
Переключение пагинации на каноническую страницу или вообще закрытие пагинации, сортировки, производителей и тд. Допустим я вирт использую как каталог и мне в этом нет необходимости.   
Ну немного выбивается от основного предназначения плагина =) Сеошники и поисковики рекомендую вроде в robots.txt через clean_params эти вещи закрывать на сайтах (могу ошибаться).
Но идея не плохая, можно отдельную вкладку под бонусный функционал сделать например ))) потому как для любителей К2, VirtueMart и еще каких-нибудь популярных компонентов можно много фишек насобирать наверно.
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг

*

Оффлайн Stasweb

Что то вроде этого
Спойлер
[свернуть]
и как то наверное сделать чтобы пользователь сам вносил страницы которые нужны в $urlstr.
Вот тема на форуме

*

Оффлайн buyanov

  • ***
  • 178
  • [+]27 / [-]1
  • Сайты 74
    • Просмотр профиля
    • Сайты 74
А разве стандартный плагин SEF не решает эту проблему? Специально вирт ставить лень, но на одном сайте проверил и пагинация точно с нормальными каноническими ссылками идет
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг

*

Оффлайн Stasweb

Решает вроде как но вот у меня страница _https://lik-astana.kz/produktsiya/produkt-ramki/ramki-a4-210-kh-297-mm/results,16-15.html
причем ссылается на нормальную каноническую страницу
Код: html4strict
<link href="/produktsiya/produkt-ramki/ramki-a4-210-kh-297-mm.html" rel="canonical" />
а в консоли Google прут повторяющие заголовки.

*

Оффлайн buyanov

  • ***
  • 178
  • [+]27 / [-]1
  • Сайты 74
    • Просмотр профиля
    • Сайты 74
Может ему не нравятся две канонические ссылки? С таким обычно не талкивался, на своих сайтах канонические ссылки без проблем такие проблемы решают (в Google так вообще давно уже)
Код
<link href="https://lik-astana.kz/produktsiya/produkt-ramki/ramki-a4-210-kh-297-mm.html" rel="canonical">
и чуть ниже
Код
<link rel="canonical" href="/produktsiya/produkt-ramki/ramki-a4-210-kh-297-mm/">
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг

*

Оффлайн Stasweb

Опа да не заметил.
Сейчас буду разбираться откуда второй вылез.
Спасибо.
 

*

Оффлайн buyanov

  • ***
  • 178
  • [+]27 / [-]1
  • Сайты 74
    • Просмотр профиля
    • Сайты 74
Тесты плагина! =)
Создание сайтов, интернет-магазинов, оптимизация, продвижение, хостинг, безопасность, лечение от вирусов - мой сайт, телега, Хостинг