Учимся удалять ссылки копирайты из модулей и компонентов для CMS Joomla.
updated 5:26 AM, Jun 9, 2023 UTC

Удаляем копирайт из расширений Joomla! 2.5.

Удаляем копирайт из расширений Joomla! 2.5.

Один не разберет, чем пахнут розы.

Другой из горьких трав добудет мед.

Кому-то мелочь дашь – на век запомнит

Кому-то жизнь отдашь – а он и не поймет.

Омар Хайям.

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

Но так ли обстоят дела на самом деле.

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

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

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

Поисковая оптимизация.

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

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

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

А стоит ли заменять ссылки автора, на свои внутренние ссылки?

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

Но при этом помогать разработчику надо. Вам нравится расширение, вы раз за разом используете его в своих разработках? И вы получаете доход со своей работы? Получаете, иначе все это бесполезно. Так поделитесь своим доходом с разработчиком компонента. Кнопку DONATION не трудно найти на offsite, а очень часто и внутри компонента.

Компонент комментариев JComments

Компонент комментариев JComments

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

Ссылка установлена в файле шаблона компонента. Поэтому переходим в папку, с установленным расширением и находим папку шаблонов – components/com_jcomments/tpl/. При написании этой статьи я использовал сторонний шаблон ROUNDBOX. У вас может стоять другой, но принцип один и тот же. Заходим в папку components/com_jcomments/tpl/ваш шаблон/ и в файле tpl_index.php находим строку, похожею на следующую (в данном случае строка 55):

<div id="comments-footer" align="center"><a href="http://webmastermaksim.ru/" >JComments</a></div>

Удаляем все внутри тега <div> или меняем на свое. Сам тег <div> оставляем, он имеет свой уникальный индификатор, который содержит определенный стиль, не будем ломать дизайн шаблона. То есть должно получиться следующее:

<div id="comments-footer" align="center"> </div> или внутри тега должна стоять ваша ссылка.

Еще один момент, связанный с этим компонентом. Если установлен стандартный шаблон разработчика, то ссылки под вводными частями статей переводятся нормально, но если вы устанавливаете левый шаблон, то ссылки «Add comments…» не переводятся. Это происходит потому, что разработчик не стал использовать переменные, а просто прописал текст в своем коде. Для того, чтобы текст отображался на русском языке, делаем следующее. В той же папке components\com_jcomments\tpl\roundbox\ находим файл tpl_links.php и открываем его в текстовом редакторе. Находим <div class="jcomments-links"> а в нем раздел Display Comments or Add comments link ( в данном случае строки 87-90):

if ($count == 0) {

return '<a href="' . $link . '#addcomments" class="comment-link">' . JText::_('Add comment') . '</a>';

} else {

$text = JText::sprintf('Read comments', $count);

Выделенный текст заменяем на русский, какой вам хочется. И сохраняем файл, при этом не забываем в настройках сохранения установить кодировку UTF-8.

Удаляем копирайт из компонента DatsoGallery

Компонент DatsoGallery

Следующей нашей жертвой становится компонент DatsoGallery. Я взял версию 1.16. В других актуальных версиях все делается аналогично.

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

Во-первых, нам нужен файл config.datsogallery.php, находящийся в папке administrator/components/com_datsogallery/. В нем мы находим следующую строку (строка 93):

$ad_cr = "DatsoGallery<br />By <a href='http://www.datso.fr'>Andrey Datso</a>"

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

Вторым действием мы удалим или подправим код, находящийся в файле datso.functions.php, папка components/com_datsogallery/. Находим строки 121-137, содержащие следующую информацию:

   <?php
      if ($ad_powered) {
   ?>
 <tr>
  <td class="dg_footer"><?php echo $ad_cr;?></td>
 </tr>
   <?php
      }
      else {
        $flink = array('<br />', '<a href="http://www.datso.fr">Andrey Datso</a>');
        $rlink = array(' ', 'Datso.fr');
        $ad_cr = str_replace($flink, $rlink, $ad_cr);
   ?>
 <tr>
  <td style="display:none"><?php echo $ad_cr;?></td>
 </tr>
 <?php } ?>

Если вы удалили переменную полностью или только ее значение, то и здесь удаляйте весь код. Он ни к чему и как уже было сказано, три строки после слова "else" вернут все на место.

Если вы решили использовать свой текст и ссылку, то вам придется подправить код после слова "else". Что необходимо сделать - догадаться не трудно, благо пример перед глазами.

И еще один вариант - оставить на этом месте такой код:

<tr><td class="dg_footer">Ваш текст с ссылкой или без нее</td></tr>

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