User Tools

Site Tools

Translations of this page:

ru:faq

Table of Contents

FAQ

How to send traffic

Стандартная практика - слать прямо на корень домена те

http://mycj.com/, 

скрипт берет домен трэйдера из рефера.

Но, при необходимости, можно слать и указывая тредера явным образом, те

http://yourdomain.com/?id=trader.com

, где trader.com - это домен трейдера.

Skimming 101

В сетингах есть понятие скиминга 101. Ясно что скимить больше 100% невозможно. 101 означает “скиминг равен дефолтному”. Дефолтный задается там же в сетингах. Те если дефолтный 60, а у норефа стоит 101 - значит у норефа будет так же 60 скиминг. А вот если поставить что то отличное от 101 - уже будет свой, персональный.

Приоритет скиминга

Ским указанный в урле имеет приоритет над всеми остальными вариантами. Если ским в урле не указан - проверяются персональные сетинги трейдеров. Если и тут ским не указан - используется дефолтный ским из сетингов.(CJSettings - Content Settings - Default skimming)

Real Skimming

Показывает соотношение между кликами которые в реальности ушли на галеры к кликам которые ушли на трейд. Real Skimming может отличаться от установленного скиминга как в большую так и в меньшую сторону. Например, если у вас топ трейдеров - это 100% ским на трейдеров, соответственно если у вас например дефолтный ским 50 и есть топ трейдеров со скимом 100, то реальный ским будет например 40. Тоже самое актуально и в обратную сторону. Например если у вас на индексе тумбы категорий, по которым серфер 100% уходит на урл (в данном случа это страница соотв категории), то Real Skimming будет больше 50.

Last Clicks

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

Настройки Mysql

базы находятся в scj/includes/config.php.

Predefined ICQ messages

очень удобная фича для общения с трейдерами. К сожалению, полностью работает только в IE. Включите в Settings→CJSettings - Display config опцию “Show ICQ preset messages”. В экране Trade при наведении на номер терйдера появится меню с разлиxными сообщениями трейдеру, например, о добавлени трейда или о предложении отфорсить. Выбираете нужный пункт меню, сообщение копируется вам в клипборд и открывается окно чата с трейдером. Вам остается только вставить текст и нажать 'Send'. К сожалению фича эта работает только в оригинальной версии аси и миранде.

PS перестало работать с новым флешем. Пока не работает.

Подлив Траффика

если вы покупаете траффик на подлив (например на трафикхолдер) то для проверки его качества добавьте условного трейдера podliv.com и сделайте его неактивным (Active - No). И после этого сливайте траффик с параметром /?id=podliv.com.

Многие покупают траф для подлива, часто методом подбора - сегодня купили этого немного, сегодня этого немного.

Есть хороший вариант небольшой автоматизации данного процесса. Покупайте траф БЕЗ id=, те просто шлите на http://your_domain.com/

В Settings - Processed Data - Add Notrade as Inactive Traders

Скрипт будет добавлять все новые рефы как трейдеров, а вы сможете проследить проду с каждого сайта.

Условно покупаем 10к просто вашей ниши, потом смотрим с какого сайта была хорошая прода и далее покупаем целенаправленно только с него.

Я забыл пароль в админку, как восстановить пароль ?

Восстановить пароль никак, можно только поменять, для этого надо сделать следующее:

Вариант 1, если у вас обычная авторизация, те вы не жали на “Switch to multiaccess” в Setting - Password

  1. переименовать /scj/admin/.htaccess в /scj/admin/htaccess
  2. открыть админку (сейчас у вас не будет спрашивать пароль)
  3. поменять пароль
  4. переименовать /scj/admin/htaccess обратно в /scj/admin/.htaccess

Это если у вас апач. Если nginx то он не читает .htaccess, все прописано в конфиге nginx. Вы можете либо переписать .htpasswd с того сайта где знаете пароль, либо временно убрать авторизацию в nginx (попросите админа это сделать если не знаете как), выставить новый пароль и снова включить авторизацию в nginx.

Вариант 2, если жали на “Switch to multiaccess ”

  1. в каталоге /scj/admin/ создать файл reset.php следующего содержания
  2.  <?php
    require('../includes/prepare.php');
    db_query("update admins set password = MD5('admin') where login = 'admin' ");
    echo 'Done'; 
  3. открыть в браузере /scj/admin/reset.php
  4. удалить reset.php

Ошибки Вы нажали на “Switch to multiaccess”, переименовали .htaccess - теперь не проходит пароль никакой.

тут 2 варианта.

1. Каталог закрыт например nginx и пароль стоит там.

Проверка - открываем /scj/admin/test.php - если спрашивает пароль - значит оно.

Решение - просите админа убрать эту авторизацию.

2. Хост работает через php_fpm

Проверка - делаем файл scj/admin/123.php следующего содержания

<?
   if (isset($_SERVER['PHP_AUTH_USER'])) {
      print_r($_SERVER);
   } else {
   
      header('WWW-Authenticate: Basic realm="SmartCJ Admin area."');
      header('HTTP/1.0 401 Unauthorized');
      echo 'Access Restricted';
      exit;

   }

И открываем в браузере. Должно спросить пароль и отобразить его на экране. Если продолжает спрашивать пароль - значит оно.

Решение: http://smartcj.com/wiki/doku.php?id=ru:password#php-fpm_castcgi_multiaccess_problem

Либо отключить мультиавторизацию

  1. в каталоге /scj/admin/ создать файл reset.php следующего содержания
  2.  <?php
    require('../includes/prepare.php');
    db_query("update settings set value = '' where name = 'scj_admin_auth' ");
    echo 'Done'; 
  3. открыть в браузере /scj/admin/reset.php
  4. удалить reset.php

У меня изменился ИП, а в админке ограничен доступ по ИП

Что бы сделать ресет списка надо:

  1. в каталоге /scj/admin/ создать файл reset.php следующего содержания
  2.  <?php
    require('../includes/prepare.php');
    db_query("UPDATE settings SET value = '' WHERE name = 'admin_limit_ip' ");
    echo 'Done'; 
  3. открыть в браузере /scj/admin/reset.php
  4. удалить reset.php

Как сделать неактивного трейдера, которому скрипт мог бы только форсить нужное кол-во хитов

A. добавть трейдера, сделать его активным, выставить ratio = 0, Eliglible for exout hits = No

Как импортить трэйдеров из других скриптов ?

A. Maintanance → Import Traders : есть импорт из наиболее популярных скриптов, если из вашего нет - дайте мне знать, добавим.

Что такое поле Bookmarks ?

A. Теоретически это % серферов трейдера, которые добавили ваш сайт в букмарки. Считаем сл. образом: когда приходит серфер мы ему ставим куку на неделю со значением трейдера. Если серфер приходит _без_рефа_ и у него стоит эта кука, мы предполагаем что при предыдущем визите он добавил нас в букмарки.

Как устроить трейд через SmartCJ, сохранив при этом "прямые" линки ?

Для простых линков на галеры или внутренние страницы сайта:

Допустим у нас есть следующий линк

<a href="/somepage.html">Link Desc</a>

мы добавляем небольшой JS в страницу

<script type=“text/javascript”>

function scj_click(out_param, url) {
	var a = new Image;
	a.src="out.php?"+out_param+"="+url;
	return true;
}
</script>

а в саму линку добавляем следующий код

<a href="/somepage.html" onClick="return scj_click('url', this.href);">Link Desc</a>

Для топлиста трейдеров надо добавить такой же JS однако вид линки должен быть немного другим

<a href="http://trader.com/" onClick="return scj_click('member', 'trader.com');">Link Desc</a>
где trader.com - это домен трейдера.

Как сделать полный дапм баз (mysqldump)

Надо зайти в шел (ssh) и дать сл команду

mysqldump -uLOGIN -pPASS DBNAME > dump.sql

где LOGIN, PASS and DBNAME соотв. ваши данные доступа к мускл. После этого, дабы было меньше скачивать, можно упаковать полученный файл.

gzip dump.sql

Загрузить бекап

mysql -uLOGIN -pPASS DBNAME < dump.sql  

How to move to another server

Проще всего :

  1. проапдейтить на старом серваке до последнего апа
  2. поставить с 0 на новом
  3. перенести дамп мускл
  4. скопировать scj/top (начиная с версии 47 можно не копировать, оно создаст само)
  5. скопировать сами тумбы

Если вам все же нравится копирование, то

  1. скопировать с пермишенами
  2. проверить пути и пароли в scj/admin/.htaccess, common.php, includes/config.php

Master - Slave

Обратите внимание, что у слейва в базе записано имя базы мастера. На практике это означает следующее: при переносе надо что б имя базы мастера не поменялось. Если оно все же меняется, то после переноса слейва надо руками зайти в базу слейва и поменять в таблице rot_settings значения linked_db.

keywords: перенос скрипта

Как переименовать папку скрипта

Если у вас новый инсталл то имя для папки выбирается при инсталле.

Если скрипт уже стоит то можно переименовать папку, но при этом надо не забыть поменять пути в

  • includes/config.php
  • все common.php
  • admin/.htaccess
  • rewrites - если у вас Apache то htaccess, если nginx то в его конфиге

"Прокладка" для out.php

Иногда возникает необходимость в реализации или тестировании какой-то функциональности, которой еще нет в скрипте. Если это касается кликов то проще всего сделать следующим образом. Например, нам надовыставить персональный ским для галер на домене gallery.com (при этом ским для галер на доменах gallery1.com gallery2.com остается дефолтным).

  • out.php переименовываем в out_scj.php
  • out.php делаем такой
<?php

if ($_GET['url']) {
$tmp = parse_url($_GET['url']);
if ($tmp['host'] == 'gallery.com') $_GET['p'] = 50;
}

include('out_scj.php');

Античит при продаже трафа

Тестовое решение для фильтрации читового трафа при продаже. Фильтруем по наличию JS и загрузке картинок. Если JS нет - будем слать 100% на урл (гали).

  1. Настроиваем User Vars “Определить % серферов без JS и картинок”, user.php ставит куку user_var (можно сделать другой вариант)
  2. CJ Settings - other settings - Traffic Check : Cheat Hit - cookie doesnt exists - пишем user_var. Теперь, если у юзера не сработал JS в п.1 , значит не будет куки, если нет куки - считаем как чит клик
  3. В сетингах Sys. Traders - cheat_clicks - ставим персональный ским 100 - значит все читклики всегда на гали
  4. Traffic Sell ставим продажу _только_ с trade кликов. Учитывая что продажа будет только с трейд кликов - на трейд станет уходить немного меньше хитов, возможно надо будет уменьшить общий ским.

Если вам дают список ИП с читом, а вы не можете найти их - скорее всего причина в том, что по дефолту скрипт хранит данные за послдение 24 часа. Это время можно увеличить в сетингах Keep Links, hours

Как сделать "ротацию страниц" только для определенных трейдереров

Например, у нас есть страницы niche_page1.html and niche_page2.html, которые мы бы хотели ротировать только для определенных трейдеров. Делается это так:

  • создаем файл например trader.php на корне домена
<?
$pages = array(
	'/usr/home/domain.com/niche_page1.html',
	'/usr/home/domain.com/niche_page2.html',
);

include($pages[rand(0, count($pages)-1)]);
  • прописываем ПУТЬ (!!!) к trader.php как персональную страницу трейдера

Какая разница между Trade by country и Quality settings

Это 2 отдельные системы управления качеством траффика. Quality settings - это скидки для определенных стран. Например, клики для страны А считаются с дискаунтом 50%, это значит что 2 клика будут засчитаны как 1. Значит будет меньше прода, меньше задолженность, трейдер получит меньше возврат.

Trade by country - это возможность трейдеру слать теже страны (по качеству), что и он шлет нам.

Те если включены обе системы то трейдеру условно будет возвращать Китай да еще и меньше чем он нам прислал.

Имеет ли смысл использовать сразу обе - надо проверять на конкретном сайте на практике.

Можно ли трейдить с топами

Да, безресетный топ это практический классический сидж. Для ресетных топов существует удобная фича для определения времени, когда надо форсить этот топ. В едит трейдера Other Settings - Site type надо выставить Toplist и скрипт будет проверять раз в сутки общее кол-во хитов на топе с целью определить время ресета. Все замеченные ресеты пишутся там же в едит, а так же видны в trade когда вы наводите мышь на домен трейдера (в попапе).

Почему нет вебинсталла и почему апдейты не ставяться от рута

Вебинсталл: Обычно взломы происходят с веба через скрипты где не проводится проверка входных данных. При этом обычно делают вебшел - заливают скрипт в каталог, в который может писать вебсервер. Вебсервер обычно может писать в каталог, который имеет овнера сам вебсервер либо пермишены на запись (0777). Если скрипт ставится с веба все файлы и каталоги получают овнера = вебсервер. Минус этого в том, что если где-то сломают то мало того что шел могут положить в любой каталог скрипта, так еще и могут подменить out.php например и забирать часть трафа себе, а владелец сайта об этом не будет и подозревать. Если ставить скрипт из шела, то файлы и каталоги получают овнера = юзер и соответственно с веба их изменить нельзя.

Апдейты и рут: попытка нести хорошее в люди :) Если вы спросите у любого админа он вам скажет, что правильное поведение - никогда не ходить на сервак от рута. Ходят от юзера всегда, если надо пермишены рута делают su (sudo). Чем это плохо в конкретном нашем случае: если скрипт становится от рута, а крон от юзера - крон не сможет менять файлы (тк овнер рут). Если поставлено от рута и крон от рута, то все работает хорошо. Но тут есть проблема: если в скрипте найдут дырку, а от этого никто не застрахован, злоумышленник получит в руки скрипт, который запускается от рута, а значит сможет внедрить руткит - программа которая позволит управлять вообще всем серваком так, что не будет заметно не только самому овнеру сервака, но и зачастую админу.

Можно ли запускать кроны не каждую минуту

Скрипт расчитан на то, что б кроны запускались каждую минуту. Ин\аут не работают с базой, дабы нагрузка на мускл никак не отражалась на трейде, и каждую минуту крон обрабатывает клики за минуту и кладет их в базу, обсчитывает трейдеров и прочее. Теоретически можно это делать не каждую минуту и пусть приоритеты трейдеров расчитываются реже. Но кроме этого в разные минуты запускаются какие-то определнные действия, например запись хистори. Не запуститься крон в эту минуту - не будет записи хистори, не запуститься в 00 - не будет ресета стат за пред час, и так далее. те cron.php важно запускать каждую минуту.

Запуск rotation.php менее критичен. Он кладет статистику тумб в базу, те статистика тумб будет обновляться так часто как вы его запускаете.

Сколько сайтов потянет сервер такой-то ... ?

Вопрос из разряда “сколько коробочек влезет в жигули ?” это на 100% зависит от веса коробочек, их размера и желания максимально отптимально их там распихивать.

Mysql Backup

Скрипт делает бекап автоматически раз в сутки и сохраняет посление 3 дня, те удаляет более поздние.

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

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

Из общий рекомендаций: 1. ставить бекап на время когда нагрузка наименьшая 2. делать бекапы по очереди, что бы в один момент времени работал только 1 mysqldump 3. делать бекап физически на другой винт относительно того где находятся сами базы.

Abnormally high notrade prod

У notrade может быть очень высокая прода, те много кликов при малом количестве инов.

Вопрос заключается в том, что часто в notrade клики попадают хиты сделанные через переводчик гугла. Ситуация получается примрено следующая:

  • юзер пришел от от трейдера, мы запомнили что условно ИП 123.123.123.123 от трейдера asd.com
  • на индексе (или категории, в целом не важно) браузер у юзера видит что сайт на английском, при этом юзер например из Индии, и предлагает начать переводить сайт
  • юзер соглашается - с этого момента весь траффик начинает приходить с googleusercontent.com и IP гугла

Как тут видно в этот момент мы получаем 2 проблемы:

  1. notrade показывает нереальную продуктивность
  2. появляется ошибка в проде трейдеров

Теоретически, учитывая что прода для всех трейдеров уменьшается пропорционально, на общую работу это не влияет, однако страдает отображение статистики notrade

Что бы этого избежать надо в код добавить

<meta name="google" value="notranslate">

Судя по документации гугла это должно помочь.

Feeders

Как считать траффик от фидеров:

1. самый простой варинат - создаем трейдера условно feeder.com и шлем как http://domain.com/?id=feeder.com? вся стат по траффику видна у трейдера feeder.com

2. Траф приходит из разных источников и они меняются. Такой траффик по дефолту считается в notrade. Но можно его автоматически делить. В сеттингах “Add Notrade as Inactive Feeder Traders” и каждый домен будет добавлен как новый фидер.

Тут есть 2 варианта:

- as separate trader - каждый будет как отдельный трейдер, но тогда в основном экране trade появиться очнеь много трейдеров и это уже не особенно удобно - as subfeeder - тут надо слать http://domain.com/?id=feeder.com (feeder.com надо предварительно создать), тогда все рефы со своей стат будут видно в статистике feeder.com как subfeeders

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

Например, траф приходит как http://domain.com/?site_id=12345

Добавляем в common.php

if (isset($_GET['site_id'])) {
   $_SERVER['HTTP_REFERER'] = 'http://feeder-' . $_GET['site_id'] . '.com/';
}

те реф в этом случае будет http://feeder_12345.com/ и легко понять откуда этот траффик. При этом если в урле больше параметров то реф можно сформировать так, что бы учесть эти все параметры, условно

$_SERVER['HTTP_REFERER'] = 'http://feeder-' . $_GET['site_id'] . '-' .  $_GET['some_other_parameter'] . '.com/';

создав такой реф, что б по нему было ясно откуда пришел траффик

PATH and URL

Одна из частых проблем - это непонимание (или невнимательность ?) разницы между УРЛом и Путем.

URL - это нечто вида http://domain.com/blabla/, те расположение файла в интернете.

PATH - это расположение файла на диске.

Рассмотрим простой пример: на диске сервера каталог с вашими доменами обычно находится примерно как /home/user/domain.com/. Допустим там же лежит файл 1.html. Путь к нему /home/user/domain.com/1.html УРЛ к этому же файлу http://domain.com/1.html

Периодически возникают вопросы по относительным и абсолютным путям. Относительный путь - это путь относительно текущего положения в системе, оно может менятся. Путь вида /home/user/domain.com/1.html (тут / в начале пути указывает на корень файловой системы) - это абсолютный путь, он не меняется.

Это выражается например в ротаторе, где для сорханения тумб 2 параметра: URL to data and PATH to data. Вы хотите что б были не в каталоге scj (урл до тумб получается http://domain/scj/thumbs/1/2.jpg) , а в /thumbs что б путь получался http://domain/thumbs/1/2.jpg У вас домен в /home/user/domain.com/.

  • ПУТЬ к сохранению тумб - это /home/user/domain.com/thumbs/
  • УРЛ - http://domain.com/thumbs или просто /thumbs

Script Update version 1 -> 2

Первая ветка скрипта (1.X) больше не развивается и в 2016 году мы полностью перешли на ветку 2. Если у вас есть скрипт версии 1, то что бы перейти на версию 2 надо

  1. поставить скрипт версии 2 на тот же домен (но в другую папку), где и версия 1 (понадобится отдельная база)
  2. в шеле зайти в scj/bin и запустить php scj_1to2_db_converter.php

Скрипт спросит данные где расположена версия 1 и скопирует оттуда все данные.

Не забудьте, что если у вас есть свой код в common.php то его так же надо скопировать.

ru/faq.txt · Last modified: 2018/07/11 16:42 by admin