mojwp.ru
Назад

Избавляемся от лишних внешних ссылок в WordPress. Часть 4.

Опубликовано: 01.03.2012
52
1981

ссылки в шаблоне wordpressВ статье затронут такой наболевший большинству блогеров вопрос, как "вшитые" в шаблон WordPress ссылки на сторонние сайты. Если мы их удаляем, то сайт перестает работать, либо "съезжает" дизайн. Ставятся данные ссылки на бесплатные шаблоны Вордпресс и, если Вы хотите от них избавиться, то необходимо заплатить, после чего выдадут "чистый" шаблон. Я против "пиратства", но где взять деньги начинающему блогеру?
Давайте мы сами удалим эти ссылки.

Зачастую, подобные ссылки ставятся в подвал сайта (footer). Однако наши "доблестные" переводчики шаблонов запихивают их по всему сайту. Мы можем их встретить как в боковой колонке сайта (sidebar, сайдбар), в основном теле статей (single) или в шапке сайта (header). Как правило наши "умельцы" их кодируют при помощи base64, поэтому они не бросаются в глаза при осмотре кода шаблона.

Для начала почитайте предыдущие статьи из цикла "Как избавиться от лишних ссылок", ибо некторые моменты будут пересекаться, и мне не хотелось бы дублировать здесь информацию:

[infob name="Запоминаем раз и навсегда"]Прежде чем проводить какие-либо манипуляции с кодом, не забывайте делать резервную копию файлов, с которыми будете работать[/infob]

Убираем лишние ссылки в шаблоне WordPress

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

Сегодня я покажу на примере шаблона NicePen, как его можно почистить от ссылок, которые проставлены и защищены двумя разными способами.

Способ 1: обходим защиту в functions.php

Для начала покажу то, что мы будем убирать:

убрать лишние ссылки в шаблоне wordpress

В английском варианте данного шаблона, в этом месте (подвал сайта) выводятся несколько ссылок на wordpress.org, разработчиков и дизайнера шаблона. Именно они будут в Вашем шаблоне, поэтому данный способ применим ко всем сайтам. В русифицированной версии NicePen переводчики указали свой сайт, ссылку на который мне не хочется видеть у себя. Уберем ее.

Идем на ftp сайта и копируем себе на компьютер два файла: functions.php и footer.php. Не забываем делать их резервные копии, на случай, если что-то сделаете не так.

Далее нам понадобится текстовый редактор, с помощью которого мы откроем выкачанные файлы. Я советую использовать для подобных случаев Notepad++.

Теперь нам необходимо узнать, какой адрес в ссылках Вашего шаблона. Для этого открываем footer.php и ищем их. В моем случае это было:

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

Открываем второй файл, который закачали на компьютер (functions.php) и при помощи поиска текстового редактора ищем в большом количестве кода нужный нам анкор ("Нестандартный бизнес"). Как правило, конструкция, где Вы найдете искомое, будет иметь следующий вид:

function wp_initialize_the_theme_finish() { $uri = strtolower($_SERVER["REQUEST_URI"]); 
if(is_admin() || substr_count($uri, "wp-admin") > 0 || substr_count($uri, "wp-login") > 0 ) 
{ /* */ } else { $l = 'Нестандартный 
бизнес'; $f = dirname(__file__) . "/footer.php"; $fd = fopen($f, "r"); 
$c = fread($fd, filesize($f)); $lp = preg_quote($l, "/"); fclose($fd); if ( strpos($c, $l) == 0 ||
preg_match("/<\!--(.*" . $lp . ".*)-->/si", $c) || preg_match("/<\?php([^\?]+[^>]+" . $lp . ".*)\?>
/si", $c) ) { wp_initialize_the_theme_message(); die; } } } wp_initialize_the_theme_finish();

Обратите внимание, что в третьей строке присутствует наша ссылка. Убирать ее отсюда бессмысленно, т.к. не поможет. Нам нужно наоборот добавить 4 символа. Добавляем их вот в эту часть кода (последняя строка в примере):

{/* wp_initialize_the_theme_message(); die; */}

Здесь добавлены знаки /* и */, которых не было в первоначальном варианте. Эти символы используются программистами для комментариев к коду. В данном случае мы, что называется, "закомментировали" часть кода.
Подобные манипуляции позволяют нам со спокойной душой убрать из файла footer.php ненужные ссылки. Попробуйте.

Способ 2: убираем ссылки в base64

Не буду описывать в подробностях, что такое base64. Лучше почитайте Википедию.

В рассматриваемом шаблоне NicePen все те же переводчики/распространители всунули еще одну ссылку, которая, как оказалось, и была "прикрыта" в коде шаблона при помощи base64. Найти присутствие лишних ссылок на сайте можно при помощи дополнения к браузеру RDS bar (сайт дополнения http://www.recipdonor.com/bar). Про его использование я писал в одной из предыдущих частей статей из данного цикла, так что не поленитесь и ознакомьтесь.

Возвращаемся к NicePen. Данная ссылка стояла в боковой колонке сайта (sidebar, сайдбар) и выглядела так:

удалить внешние ссылки в шаблоне wordpress

Местоположение определили. Осталось от нее избавиться. Открываем файл sidebar.php и ищем ее. Если не находите классическую ссылку, заключенную в тег <a>, значит она с "подвохом". Ищем нечто подобное:

Вот этот длинный набор символов и есть закодированная ссылка в base64, о чем говорит оператор декодирования в конце приведенного выше кода:

base64_decode($str)

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

Как и в случае со Способом №1, нам не нужно спешить и удалять эту строку из файла. Для начала давайте перейдем на сайт http://www.base64decode.org/ и узнаем, что же прячется в закодированной строке. Вставляем этот длинный набор символов, заключенный между одинарными кавычками ' и ', после чего нажимаем Decode:

ссылка в base64

На рисунке:

  • Сверху вставляем наш код в base64;
  • Нажимаем Decode (синяя стрелка);
  • Снизу видим результат.

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

на

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

Будут вопросы - пишите в комментариях. Помогу, чем смогу.

Автор:
Виталий
Поделиться
Похожие записи
Черкани пару строк
  • Sueno
    Опубликовано: 01.03.2012 Ответить на сообщение

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

    • mojWP
      Опубликовано: 01.03.2012 Ответить на сообщение

      a su servicio

  • Sueno
    Опубликовано: 01.03.2012 Ответить на сообщение

    muy amable de tu parte, estoy muy contento de saber que 🙂

  • Виктор
    Опубликовано: 01.03.2012 Ответить на сообщение

    Приветствую Вас Виталий!

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

  • Игорь
    Опубликовано: 16.03.2012 Ответить на сообщение

    Я уважаю тех людей, которые делают невозможные вещи для чайников.
    Огромное спасибо за материал.

  • александр
    Опубликовано: 14.04.2012 Ответить на сообщение

    Помогите! При удалении ссылок слетает весь сайт. Вль код function.php который отвечает за это. Но у меня нет wp-inazialze.

    <Здесь был невероятно большой код, который пришлось потереть>

    Помогите. Пробовал полностью все удалят. Выдает ошибку.

    • mojWP
      Опубликовано: 15.04.2012 Ответить на сообщение

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

  • Матерый
    Опубликовано: 22.04.2012 Ответить на сообщение

    А у меня товарищи хитро сделали- создали ещё один файл с название Footer.php и спрятали в другой папке шаблона. Только через неделю понял, что меня разводят, когда так выводил в панели footer.php, но цветом не выделял.
    Сейчас вот ковыряюсь

  • Сергей
    Опубликовано: 25.04.2012 Ответить на сообщение

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

  • Андрей
    Опубликовано: 27.05.2012 Ответить на сообщение

    Здравствуйте. Помогите пожалуйста новичку. Скачал шаблон Striking. Когда ставлю в настройках 3D слайдер(3D flash image Rotator) в исходном коде появляется ссылка _http://www.adobe.com/products/flashplayer. В самом архиве она вероятно закодирована в картинках. А как её удалить после установки на WordPress? Плагин ТАС не находит. В Футере нет(я удалял его целиком). Был какой-то base64_decode"R0lGODlhUAAMAIAAAP8AAP///yH5BAAH.... я его удалил ничего не нарушилось, но ссылка осталась. Может ещё какой-то способ кодирования?

    • Виталий
      Опубликовано: 27.05.2012 Ответить на сообщение

      плагин на почту скиньте. не могу найти такой в репозитории wordpress

  • Виктор
    Опубликовано: 09.06.2012 Ответить на сообщение

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

    • Виталий
      Опубликовано: 09.06.2012 Ответить на сообщение

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

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

      Предлагаю вам подождать несколько лет, прежде чем я смогу дать ответ на ваш вопрос.

  • Jarerd
    Опубликовано: 16.08.2012 Ответить на сообщение

    млин,...а у меня ничего нет в functions.php, и кодировки base64 тоже нет, а линки в футере стоят, да еще с такими анкорами не хилыми...4-сссыылки по 3,4 слова в каждой, Бесит!....как убрать хз, только тронул, сайт упал...........

    • Виталий
      Опубликовано: 16.08.2012 Ответить на сообщение

      есть много способов закодировать ссылку. нужно искать свой.
      в статье лишь некоторые описаны

      • Jarerd
        Опубликовано: 16.08.2012 Ответить на сообщение

        ...я удалить не смог, ну и черт с ними мне не жалко, там просто, как я уже писал, такие анкоры, на весь футер писанина - жесть!!!...в общем решил проблему через css, нашел "class=" к которому относились эти линки и просто добавил "display:none;"...к счастью под эти ссылке в футере был отдельный "class=", иначе и другие ссылки поисчезали бы.....

    • макс
      Опубликовано: 20.03.2015 Ответить на сообщение

      Есть еще одна фишка в функции в коде меняеш с цифры ноль на один и смело удаляем ссылки похоже это ваш случяй в инете есть инфа по этому поводу

  • Татьяна
    Опубликовано: 04.09.2012 Ответить на сообщение

    Увы, Виталий, но оба способа мне не помогли. Ссылка у меня выглядит нормально, стоит внизу сайдбара. Причем исходный код у нее такой же как в редакторе сайдбара - Misterjoy.ru. Поэтому закомментить не получается, первый коммент даже не отображается в исходном коде страницы. В functions.php ее тоже нет. Ума не приложу, как ее убрать. Учитывая,что это мой первый блог, и сделала я его 2 недели назад. Все это китайская грамота пока. Попала (((

    • Виталий
      Опубликовано: 04.09.2012 Ответить на сообщение

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

  • Надежда
    Опубликовано: 16.09.2012 Ответить на сообщение

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

    • Надежда
      Опубликовано: 20.02.2013 Ответить на сообщение

      Один человечек помог мне с этой горе-ссылкй. Она сидела в коде одного из плагинов.

      • Тавтьяна
        Опубликовано: 21.06.2015 Ответить на сообщение

        Интересно знать, какой плагин заточили на ссылки?

  • Женский сайт
    Опубликовано: 27.09.2012 Ответить на сообщение

    Спасибо, очень помогло. Про base64_decode информация в особенности

  • Sergey
    Опубликовано: 20.10.2012 Ответить на сообщение

    Пытаюсь сейчас почистить одну тему. Трюк с закомментированием {/* wp_initialize_the_theme_message(); die; */} не помог, хотя код выглядит аналогичным приведённому у вас примеру. Видимо, присутствуют ещё какие-то элементы защиты. Закодированного в base64 текста вроде-бы тоже нигде не обнаружил. Может быть у вас будет свободная минутка на досуге глянуть исходную темку? Если да, то куда можно скинуть файлы?

  • Оксана
    Опубликовано: 20.12.2012 Ответить на сообщение

    Здравствуйте. Подскажите пожалуйста, можно ли убрать внешние ссылки так, что бы они не выглядели зачеркнутыми. Применяла плагины WP-NoRef, потом поменяла на (J)ExR.

    • Виталий
      Опубликовано: 20.12.2012 Ответить на сообщение

      добрый. выключите в браузере RDS bar или какое у вас seo-дополнение стоит. Зачеркнутым показывает ссылки в nofollow

      • Оксана
        Опубликовано: 23.12.2012 Ответить на сообщение

        Спасибо.

  • Александр
    Опубликовано: 20.01.2013 Ответить на сообщение

    Всем - привет. Закоментировал футер почти полностью (оставил copyrights). Пока все работает, правда без плагинов. Все делал прямо в Cpanel (думаю, не удивлю таким термином?). Вопрос: зачем столько телодвижений (я имею ввиду редактирование файлов в Notepad++), если все работает "не отходя от кассы"?

    • Виталий
      Опубликовано: 20.01.2013 Ответить на сообщение

      откатите назад в cpanel изменения, а так же визуально определите, где удалили или не доставили тег))
      notepad++ делает базу навыков на будущее. поспрашивайте верстальщиков, делают они все сразу на хостинге, или используют программы, на подобие notepad++

      • Александр
        Опубликовано: 21.01.2013 Ответить на сообщение

        Спасибо за урок - "откатите назад в cpanel изменения", будет, чем заняться на досуге )).
        Зашел глянуть Ваш ответ; ничего не откатывая, скромный вопрос:
        В "Просмотреть код страницы" после комментирования (удалил весь блок - 4 ссылки) - мне все нравится, ссылок нет. А на самом деле, что, все не так?
        И это видно в cpanel? Я правильно понял?
        А что касается "notepad++ делает базу навыков на будущее" - будем изучать )), куда деваться. Мастер сказал - надо делать ))

  • Paka
    Опубликовано: 20.02.2013 Ответить на сообщение

    Драсьте, проблемка такая в sidebar.php стоят ссылки после закрытия динамического виджета. После удаления появляется окно с нарушением копирайта. Пробовал перемешать ссылки в само тело подключения виджета и ставить между строк но ничего не вышло, ссылки живут. Облазил все, но никак не могу справиться с этой напастью 🙁 Может что то посоветуете?

    • Виталий
      Опубликовано: 20.02.2013 Ответить на сообщение

      Добрый день. В данном цикле статей описаны не все способы, т.к. разработчики постоянно придумывают новые "фишки". За всеми не успеть.

      Вы можете еще погуглить, либо воспользоваться моими платными услугами.

  • Paka
    Опубликовано: 20.02.2013 Ответить на сообщение

    Спасибо за ответ, понапрягаю еще свое серое вещество)

  • Роман
    Опубликовано: 16.05.2013 Ответить на сообщение

    Здравствуй, Виталий! Большое спасибо за подробную статью: "Убираем ссылки в base64". Именно оно помогла мне убрать закодированную ссылку, (хотя я пробовал и другие способы). Спасибо, ДРУГ! Удачи во всем!

  • Надежда
    Опубликовано: 12.06.2013 Ответить на сообщение

    Здравствуй, Виталий!Просто преогромнейшее Вам СПАСИБО!!!!!!!!!!!!!!!Столько мучилась с внешней ссылкой(так не хотелось менять тему) разработчика и, только благодаря Вашей статье, удалось ее убрать.Удачи!!!!!!

  • Lyk
    Опубликовано: 24.08.2013 Ответить на сообщение

    Спасибо большое, очень помогли)правда, мои "дельцы" внесли измненения в functions.php. Ни анкора, ни ссылки там не было. Но "коммент" сработал!

  • Марина
    Опубликовано: 07.10.2013 Ответить на сообщение

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

  • Виктор
    Опубликовано: 30.10.2013 Ответить на сообщение

    Виталик, здравствуй. У меня на сайте http://internetoboz.ru/ появилась внешняя ссылка точно такая же, как ты здесь описал в первом способе (Нестандартный бизнес). С главной страницы я быстро её удалил. А вот , как быть с остальными страницами? Мучаюсь уже который день! И тут, как раз, нашёл твою статью. Обрадовался, - ну, думаю, наконец-то! Вот оно счастье! Да не тут-то было! В футере адреса ссылки нет - слишком это было бы просто. Его, по моему, вообще нигде нет, как и baze64. Перерыл всё! Вот, как сделать эту наглючую ссылку ещё крупнее, ярче и красивее - узнал. А вот о том, как удалить? - буду, с нетерпением, ждать дальнейших твоих публикаций. Спасибо тебе и удачи.

    • Виталий
      Опубликовано: 31.10.2013 Ответить на сообщение

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

  • Александр
    Опубликовано: 29.11.2013 Ответить на сообщение

    Есть еще очень простой способ избавится от ссылок, что бы не сломало сайт.
    Просто в функции

    function wp_initialize_the_theme_finish() { $uri = strtolower($_SERVER["REQUEST_URI"]);
    if(is_admin() || substr_count($uri, "wp-admin") > 0 || substr_count($uri, "wp-login") > 0 )
    { /* */ } else { $l = 'Нестандартный
    бизнес
    '; $f = dirname(__file__) . "/footer.php"; $fd = fopen($f, "r");
    $c = fread($fd, filesize($f)); $lp = preg_quote($l, "/"); fclose($fd); if ( strpos($c, $l) == 0 ||

    вместо 0 ставить 1, перезаливаем файл и в футере смело удаляем ссылки. все работает

  • Андрей
    Опубликовано: 15.12.2013 Ответить на сообщение

    Спасибо огромное! все получилось с первого раза без всяких заморочек, еще раз спасибо, статья очень хорошая без воды.

  • viktoria
    Опубликовано: 21.08.2014 Ответить на сообщение

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

  • petruha
    Опубликовано: 20.10.2014 Ответить на сообщение

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

  • Vit
    Опубликовано: 04.01.2015 Ответить на сообщение

    Полезные советы . Удалось следуя им убрать 22 ссылки вшитые в шаблон. Прежний владелец сайта ( я покупал сайт) оставил мне на память.

  • Надежда
    Опубликовано: 20.01.2015 Ответить на сообщение

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

    • Виталий
      Опубликовано: 20.01.2015 Ответить на сообщение

      Я думаю вы понимаете, что это платные услуги, т.к. я трачу время.
      Если согласны, то высылайте на почту.

  • юра
    Опубликовано: 05.11.2015 Ответить на сообщение

    Всё получилось, спасибо автор!

  • Александр
    Опубликовано: 19.04.2016 Ответить на сообщение

    Здравствуйте! Очень интересная статья. На своем сайте с помощью ТАС удалил несколько вредоносных ссылок. Но две никак не могу найти, куда они вшиты.
    Две ссылки на сайты - какие-то отделки потолка ванной и ремонт карбюратора, на 157 и 158 строке. Не подскажите в каком направлении искать?

    • Виталий
      Опубликовано: 20.04.2016 Ответить на сообщение

      functions.php скорее всего.
      К сожалению, не вангую

  • Анастасия
    Опубликовано: 06.10.2016 Ответить на сообщение

    Доьрого времени суток! "Закомментирование" части кода помогло-ссылки удалил, сайт работает! Спасибо большое!

  • Алекс
    Опубликовано: 09.07.2017 Ответить на сообщение

    Если не сложно, посмотрите на этот сайт, и подскажите сколько лишних ссылок и где их искать. 12.07.2017 года начну чистку и не хочу пропустить их. Заранее спасибо. Если ответите - то лучше на почту, а комент можно удалить.
    http://dengydoma.ru

  • Econ Dude
    Опубликовано: 12.09.2017 Ответить на сообщение

    Спасибо за статью, наконец-то убрал эти ссылки.

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.