Documentation index
- ReadMe
- Things To Know
-
- New Style Rotation
(Бес)полезные советы. Частично это конечно повторение известных вещей, но тем не менее …
Уже не первый раз сталкиваюсь с конструкциями вида
include('http://otherdomain/1.html');
или
virtual('/scj/top/top.html');
причем таких конструкций может быть по 10 штук на темплейт. От скрипта это не зависит, так не надо делать вообще.
Почему:
ПХП отрабатывает ДО того как серфер получает страницу. Поэтому если у вас есть include('http://otherdomain/1.html'), который находится на другом сервере вы получаете задержку в отдаче страницы. А если по какой-то причине этот другой домен еще и решил притормозить, то у вас найнет тормозить в отдаче и оригинальный домен.
Даже если otherdomain на том же серваке, то как и в случае virtual('/scj/top/top.html'), на 1 запрос к серваку у вас получается как минимум 2: 1 запрос конкретно к вашему домену + 1 запрос include('http://otherdomain/1.html') или virtual('/scj/top/top.html').
Если у вас 10 инклудов вида virtual('/scj/top/top.html') то у вас сервак на 1 реальный запрос выполняет каждый раз еще 10 подзапросов. Как это отражается на нагрузке думаю объяснять не надо.
Как надо делать:
всегда юзать только локальные инклуды. Те virtual('/scj/top/top.html') надо делать как include('/home/user/domain/scj/top/top.html');
если надо инклудить файлик с дургого домена который на том же серваке - аналогично, просто другой путь.
Если файл на другом серваке то попросить админа прописать копирование этого файла по крону на локальный домен и опять же делать локальный инклуд.
еще вариант
readfile('http://domsin/1.html') - это аналогично include('http://...')
Как обработать параметры
обычно банероротаторы инклудят через JS, но некоторые локальные ротаторы требуют инклуда в темплейте и их инклудят вида
<?php include('http://domain.com/banner.php?x=3&y=2'); ?>
поскольку это не совсем хороший вариант лучше сделать так
<?php $_GET['x'] = 3; $_GET['y'] = 2; include('banner.php'); ?>
таким образом и параметры передать, и инклуд сделать локальным, а не через http.
в .htaccess
RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(RU|CN)$ [NC] RewriteRule ^$ http://google.com [R,L]
Часто сайты трейдят в узких нишах и на один и тот же cqn один и тот же серфер приходит несколько раз, но из разных источников. Для таких неуникальных посетителей иногда имеет смысл ротировать страницу. Те создать например 2 дизайна и уникам показывать 1, а неуникам 2 (3 4 5.. ).
Для этого в Settings - CJ pages можно вписать 2 и более строк, по одному дизайну на строку
/home/user/domain/design1.html /home/user/domain/design2.html /home/user/domain/design3.html
и при первом заходе юзер видит дизайн1 , при втором - 2 и так далее.
Если вы используете внутренюю ротацию есть 2 варианта.
1. В Rotation - Tube - Tube Settings тестовая опция ротирования страниц для равов. Смысл в следующем: если у вас на индексе тумбы и приходит рав, то автоматически ему показывает 2ю страницу. Если видел 2ю, то 3я, и так далее. Аналогично для категорий: если приходит прямо на категорию и данную страницу категории уже видел - показываем ему следующую. NOTE! Это правило срабатывает только в том случае, если реферер не ваш домен. Сделано дабы человек кликая с морды на тумбу категории всегда видел эту тумбу на открывшейся странице (те ему надо видеть первую страницу категории).
2. Только индексная страница как в стриме например. делаем Х файлов вида
domain/1.php <?php $_GET['page'] = 1; include('/scj/cgi/index.php'); domain/2.php <?php $_GET['page'] = 2; include('/scj/cgi/index.php'); и прописываем CJPages /home/user/domain/1.php /home/user/domain/2.php и так далее
Если надо сделать ссылки на трейдеров не через аут, то такие клики можно считать используя AJAX
Пример топа
<a target=_blank href='_MEMBER_1_URL' class='domain_css' trader='_MEMBER_1_'>test</a>
из чего получаем результат вида
<a target=_blank href='http://somedomain.com/' class='domain_css' trader='somedomain.com'>test</a>
те линки прямые. Теперь, что бы учитывать эти клики надо добавить код, который будет выполнять AJAX запрос
<script src='/YOUR_FOLDER/includes/js/jquery.js'></script> <script type="text/javascript"> $(document).ready(function(){ $('.domain_css').each(function(){ $(this).on('click', function(){ $.get('/YOUR_FOLDER/cgi/out.php?member=' + $(this).attr('trader'), { }, function(data) { } ); }); }); }); </script>
Те тут главное моменты:
Можно проследить на какую страницу приходит траффик и какие есть переходы на сайте.
В Trade - Statistics - Page Track 2 колонки: Inbound Views (если реф не наш сайт) and Local Views (если реф - наш сайт)
Есть 2 варианта
1. &page_track=… в урле
2. в темплейте таг <!–PAGE_TRACK_….–>
На данный момент есть варианты
<!--PAGE_TRACK_CURRENT_PAGE--> <!--PAGE_TRACK_CATEGORY--> <!--PAGE_TRACK_любое_слово-->