СЕО

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

Я решил написать эту статью, т.к. на многих сайтах видел подобные ошибки. Если бы я сделал не так, как здесь напишу, то мой блок «реклама» висел бы пустым на тех страницах, гды ссылок не купили.

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

Итак, понятно, что для осуществления поставленной задачи нужно для начала узнать – пришли ли к нам ссылки из сапы. Делаем примерно как в прошлой статье, но чуть по-другому:


$a = $sape->return_links();
if (!empty ($a)) {}

Сначала мы «выводим» ссылки в переменную $a (а не на сайт, как обычно), после мы проверяем, является ли $a пустой (с помощью функции empty) и если не является, то выполняется код, заключенный в { и }.

Конечно, в фигурные скобки и нужно включать оформление блока для ссылок! Теперь то, что получается в итоге. У меня это выглядит так:


if (!defined('_SAPE_USER')){
    define('_SAPE_USER', '.....');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
$a = $sape->return_links();
if (!empty ($a)){
    ?>
    <br><br>
    <div class="menu_block l">
    <div class="title_menu_block">Реклама</div>
         <?php echo $a; ?>
    </div>
    <?php
}

Теперь весь блок выводится только, если сапа отправляет нам какие-то ссылки.

Еще одно замечание: в предыдущей статье говорилось, как изменить код сапы так, чтобы поисковикам было сложнее определить наличие сапы на сайте. Я приведу здесь общий код для оформления блока и для его защиты, а так же (возможно, кто-то не поймет сам и ему пригодится), укажу кодировку вывода UTF-8.


<?php
if (!defined('_SAPE_USER')){
	define('_SAPE_USER', '......');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
$a = $sape->return_links();
if (substr_count ($a, "dispenser") <= 0){
	if (!empty ($a)){
	?>
		<br><br>
		<div class="menu_block l">
			<div class="title_menu_block">Реклама</div>
			<?php echo $a; ?>
		</div>
	<?php
	}
}
?>

Вот так. Теперь у нас защищенный блок ссылок, который не выводится вовсе, если ссылок нет. Удачи! :)

1 комментарий

  1. Здравствуйте. Код работает не совсем верно.

    Sape отправляет не пустое значение , если нет ссылок в блоке, то там содержится — это и <script async="async" src="//cdn-rtb.sape.ru/teasers………(оно не видно посетителю, но есть в коде страницы). А это значит, что все равно будет выводится пустой стиль, у меня это рамка обрамляющяя ссылки.

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

    Заранее спасибо за ответ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *