Вывод любого кода для приходящих с поиска

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

Вывод произвольного кода для переходов с поисковых систем

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

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

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

Функция, определяющая источник запроса (HTTP referer)

Первым делом создаем новую функцию fromsearch (условный перевод — «из поиска»), название функции может быть любым, главное учтите и используйте в дальнейшем принятое название. Эта функция предназначена для определения источника перехода — будь то ПС, другой сайт и т.п. Нас интересует ПС. Итак, на WordPress в файл шаблона functions.php вставляем код:

function fromsearch(){
$ref = $_SERVER['HTTP_REFERER'];
$SE = array('/search?', 'images.google.', 'search.', 'yandsearch', '/search/', '.yahoo.');
foreach ($SE as $source) {
if (strpos($ref,$source)!==false) return true;}
return false;}

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

Вывода произвольного кода при переходах с поисковых систем

Следующим шагом необходимо заранее заданную функцию вывести на странице. Для этого используем следующие строки, которые вставляем в файл шаблона, для примера я использую index.php:

<div class="showfromsearch">
	<?php if (function_exists('fromsearch')) {if (fromsearch()) {?> ПРОИЗВОЛЬНЫЙ КОД <?php }}?>
</div>

Например у меня полный код с подпиской выглядел так:

<div class="showfromsearch">
	<?php if (function_exists('fromsearch')) {if (fromsearch()) {?>
	<div class="warning">
		Впервые на блоге? Подпишитесь на рассылку!
	</div>
	<?php }}?>
</div>

Все, на этом вывод функции закончен, переходим к следующему шагу.

Стили оформления блока, выводящего код для посетителей с ПС

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

Все зависит от верстки и места, где выводится данная функция. Внешне моя строка, которую привожу в примере, выглядела следующим образом:

Вывод произвольного кода для пользователей приходящих с поиска

Блок, отмеченный красной стрелкой показывается только пользователям, пришедшим с поисковых систем, для всех других переходов он не виден. Приведу свой пример, для которого в файле style.css задаю стиль оформления:

.showfromsearch {
	width:900px;
	border:0;
	text-align:left;
	margin:auto;
	padding:0;
}

И вновь обращаю Ваше внимание: данный стиль присвоен блоку с функцией, т.е. мы настраиваем именно вид и расположение самого блока, а не то что в нем находится. Для внутреннего содержимого используются свои стили. Если посмотреть выше на скриншот, где я выводил подписку, то рамка вокруг строки, фон и изображение присвоены для другого класса (warning), в который заключен текст.

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

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(1 голос, в среднем: 5 из 5)
  1. Арина

    Спасибо, Денис. Ну что ж ты раньше не написал такую полезную статью… ❓

    Ответить

  2. Маргарита

    Весна на блоге! Красиво получилось! (А по теме статьи: не поняла, ни что это, ни для чего… 😳 Весна наверное…)

    Ответить

  3. san4izl

    Как сжать Javascript?

    Ответить

  4. Webliberty

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

    san4izl, легко и просто: сжать js

    Ответить

  5. Пётр

    Прикольная фишка. Обязательно нужно будет попробовать у себя в блоге.

    Ответить

  6. Маргарита

    Теперь понятно. 🙂 Оказывается даже такое можно устроить!

    Ответить

  7. Webliberty

    Арина, в черновиках уже давно лежала, только сейчас довел до ума и выложил) Много черновиков, если все дописать, то хватит до конца года 🙂

    Ответить

  8. Людмила

    А я что-то не поняла, зачем это надо? 😀

    Ответить

  9. Webliberty

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

    Ответить

  10. Alex Avin

    Webliberty, Эээ не, подписка пусть будет всегда, пусть всегда о себе напоминает. Закладка это не надежно, про них можно и забыть. Письмо на почте побуждает больше.

    Ответить

  11. Webliberty

    Alex Avin, это простой пример, которым все не ограничивается, также можно выводить рекламу, да все что угодно)

    Ответить

  12. allemiko

    Вот найду где применить, обязательно воспользуюсь этим методом 🙂

    Ответить

:) ;) :D :( :cry: :| :o :P 8-) :oops: :roll: :idea:

Отправляя комментарий, вы соглашаетесь с политикой конфиденциальности.