User Tools

Site Tools


ru:new_rotation_troubleshooting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ru:new_rotation_troubleshooting [2016/09/30 18:11]
admin [Does not test new thumb]
ru:new_rotation_troubleshooting [2023/05/16 10:15] (current)
admin [Emoji fix]
Line 1: Line 1:
 +====== Troubleshooting ======
 +
 +===== Does not count Hits =====
 +
 +Не считает входящий траф:
 +
 +1. ДНС смотрит не туда, условно вы смотрите на сервак 1, а домен уже на серваке 2. Или у вас в хостах прописан другой сервак и тд. Как проверить: создать на серваке файл, условно test.txt, и проверить что у вас из браузера виден.
 +
 +2. Админ сделал чрезмерное кеширование: значит что при запросе страниы, хит не доходит до скрипта. Те вебсервер видит например обращение в корню домена, сервак запускает скрипт, получает ответ и запоминает его. На следующий хит сервак не запускает скрипт, а сразу отдает из кеша. Не запускается скрипт = не засчитан хит.
 +
 +Как проверить:
 +  * создаем на корне файл log.txt и 666 на него
 +  * в common.php который на корне (!) добавляем 
 +
 +  file_put_contents('/full_path_to/log.txt', date("H:i:s") . ':' . $_SERVER['HTTP_REFERER'], FILE_APPEND);
 +  
 +и переходим на свой домен с любого другого своего домена (можно его добавить как трейдера). В логе должны появится записи. Точно так же можно контролировать что траф реально приходит, потому что бывает и так что "ну точно идет траф но не считает".
 +  
 +
 +3. Можно включить debug out.php в сетингах, открыть любую страницу и посмотреть хедеры. Там могут быть другие подписи по которым может придти мысль что не так.
 +
 +
 +===== Does not count CTR =====
 +
 +**Версия 2.Х**
 +
 +Для начала надо проверить, что есть показы.
 +
 +Если нет показов, то проверяем:
 +
 +  -  Count systems traders (noref, notrade and so on) in rotation  в сеттингах. Часто проверяют работу на нореф трафе который может не считаться.
 +  - Траф весь может идти как прокси (которые не считается), на Home будет указание на прокси, но вы это наверно игнорировали к текущему моменту
 +  - отсутствие кеша (skip_cache в урле например) или обрезание кеша ( показы страниц хранит в кеше, если кеша мало то даные о показать могут выдавливаться оттуда )
 +  - передача имени домена (правильного) при запуске крона
 +
 +Клики:
 +
 +1. Должна быть включена либо magic rotation либо должен быть параметр ротации.
 +
 +
 +Варианты которые можно самостоятельно проверить:
 +
 +**Magic rotation : Https - передача рефа** Magic rotation считает клики полагаясь на реф, если он не передается - ротация не смчитается. Как проверить: [[troubleshooting#how_to_view_http_headers]]  смотрим хедеры клика. Должен передаваться **полный** referer, а не обрезанный только до домена.
 +
 +Что делать: загуглить "https передача рефера" - будет полностью расписан вопрос.
 +
 +
 +Проверить наличие meta name="referrer" у себя в темплейте
 +
 +<code>
 +# Meta tag:
 +The meta referrer tag is placed in the <head> section of your HTML,
 +and references one of five states, which control how browsers send referrer information from your site.
 +
 +The five states are:
 +
 +  1.  None: Never pass referral data
 +
 +    <meta name="referrer" content="none">
 +
 +  2.  None When Downgrade: Sends referrer information to secure HTTPS sites, but not insecure HTTP sites
 +
 +    <meta name="referrer" content="none-when-downgrade">
 +
 +  3.  Origin Only: Sends the scheme, host, and port (basically, the subdomain) stripped of the full URL as a referrer, i.e. https://moz.com/example.html would simply send https://moz.com
 +
 +    <meta name="referrer" content="origin">
 +
 +  4.  Origin When Cross-Origin: Sends the full URL as the referrer when the target has the same scheme, host, and port (i.e. subdomain) regardless if it's HTTP or HTTPS, while sending origin-only referral information to external sites. (note: There is a typo in the official spec. Future versions should be "origin-when-cross-origin")
 +
 +    <meta name="referrer" content="origin-when-crossorigin">
 +
 +  5. Unsafe URL: Always passes the URL string as a referrer. Note if you have any sensitive information contained in your URL, this isn't the safest option. By default, URL fragments, username, and password are automatically stripped out.
 +
 +    <meta name="referrer" content="unsafe-url">
 +    
 +    
 +</code>
 +
 +"Magic rotation - skip_cache" часто странича тестируется с параметром skip_cache, в этом случае не будет считать клики, тк клики как раз и сохраняются в кеше до крона и в этом случае их просто не пишет.
 +
 +Что делать: потестировать без skip_cache
 +
 +
 +**Параметр ротации** если вы считаете клики через параметр ротации и при этом у вас реврайты, то реврайты могут быть настроены так, что параметр ротации не передается. 
 +
 +Как проверить: сделать линки без реврайта, включить хедеры [[troubleshooting#how_to_view_http_headers]] - должны быть хедеры Click-count-action. Если без реврайта они есть, а с реврайтом нет - значит проблема в том, что реврайт не передает параметры.
 +
 +
 +Что делать: пофиксить реврайты, что б они передавали реф.
 +
 +
 +
 +
 +
 +
 +**Версия 1.Х**
 +
 +Сначала надо проверить что считаеются показы. Если показов нет - 99% в темплейтах страниц нету rot_in.php.
 +
 +Если нет только кликов - проверьте что в линках к галерам есть параметр ротайии вида 12x34x5678.
 +
 +Если и он есть - проблема может быть в реврайтах. Для проверки надо кликнуть на любой тумбе и проверить хедеры (Если не знаете что это такое или как их проверить - [[Troubleshooting]] пункт про хедеры). Если в хедерах нет полей вида Set-Cookie - значит реврайты написаны в обход out.php. Проверьте реврайты, сравните с тем что есть  в вики.
 +
 +Для версии 50+: 
 +  * может быть у вас траффик только нореф например а в сетингах ротации отключен учет кликов для этого траффика.
 +  * может быть выключен подсчет кликов с проксей, и при этом неправильно настроен nginx и определять весь траффик как прокси [[Nginx]]
 +
 +
 +===== Rewrites does not work =====
 +
 +Так же может быть вариант "не работает ским как надо", "не работают урлы" и тп. На данный момент 2 самых распространенных веб сервера это nginx and apache. Реврайты в них прописываются по-разному. Вероятно вы прописали реврайты в .htaccess хотя у вас стоит nginx.
 +
 +Проверить это просто если посмотреть хедеры любого запроса, там вы увидите строку вроде
 +
 +  Server: nginx
 +
 +или 
 +
 +  Server: Apache/2..... 
 +
 +===== Does not show navigation =====
 +
 +Проблема: у нас есть какая то страница на которой 2 тага: <thumb group=A num=1-10 and <thumb group=B num=1-10 Возникает проблема с навигацией, поскольку не ясно по какому из тагов считать максимальное кол-во страниц. В этой ситуации навигация не выводится.
 +
 +Для того что б пофиксить это в 50 введен параметр page_main_tag те <thumb group=B num=1-10 page_main_tag=true в данном варианте посчитает навигацию по этому тагу.
 +
 +
 +
 +===== Does not test new thumb =====
 +
 +Нувые тумбы не тестируются. Сюда же относится если что-то где-то не выводится.
 +
 +95% таких вопросов возникает когда галеры принадлежат к выключенным спонсорам\группам
 +
 +Причем с группами надо иметь ввиду, что если тумба находится в группе А и Б, при этом группа А выключена, то может быть 2 варианта выборки:
 +
 +1. Выбрать все тумбы которые не в группе А 
 +2. выбрать все из группы Б
 +
 +В первом случае , учитывая что наша галера в группе А то она не попадет в выборку
 +В варианте 2 - попадет, тк в группе Б она есть.
 +
 +Поэтому дабы можно было сделать и так и так сделано разделение.
 +
 +- если группа НЕ указана то выборка идет по 1му варианту
 +
 +- если группа указана - то по второму варианту
 +
 +
 +===== Template does not work =====
 +
 +Если что-то где-то не выводит, выводит не так, не видно, выдает content not found и тп. 
 +
 +Лучше всего начать с проверки с минимальным темпелйтом где будут только рабочие таги без html, это возволяет сразу видеть незакрытые таги и прочее. Для этого 
 +
 +  * создаем тестовый темплейт, например test
 +  * содержание вида this is test template
 +  * открываем без реврайта и без кеша например domain.com/scj/tube/?force_template=test&skip_cache=true
 +  * должно вывести то что у вас в тестовом темплейте
 +  * после этого берем по кусочку из "нерабочего" темплейта и добавляем в тестовый - таким образом находим место которое на работает, работает не так, после него "ломается" темплейт и тд, одним словом то мне которое вызывает проблему.
 +
 +в 99% случае вы сами поймете в чем проблема, если нет - создавайте тему на форуме, суппорт решит.
 +===== Does not grab thumbs =====
 +
 +99% проблем можно идентифицировать по логу граббера.
 +Для этого:
 +  - добавляем одну галеру, которая предположительно не грабится
 +  - ждем минуту что б граббер ее обработал
 +  - смотрим что есть в логе gallery_grabber.log 
 +
 +Так же важные сообщения бывают в Script Messages (Это пункт меню)
 +
 +===== Can not parse template =====
 +
 +В 99% случаев - ошибка пхп кода в вашем темпелйте. Если внимательно прочесть что пишет после "can not parse template" то обычно там конкретно написано что именно не может сделать код. А если внимательно посмотреть на код - то сразу видно в чем проблема.
 +
 +Если не видно в чем проблема то убираем весь пхп код из темплейта, потом добавляем кусками и открываем без кеша страницу, пока не дойдем до того момента когда появится ошибка. Так вы найдете какая часть кода выдает ошибку.
 +
 +
 +===== No thumbs =====
 +
 +Нет тумб, не те тумбы и тп.
 +
 +1. делаем самый новый темплейт, например test, вида 
 +<code>
 +<thumb num=1-10>
 +<!--GALLERY_ID--><br>
 +</thumb>
 +</code>
 +2. открываем как scj/tube/?force_template=test
 +
 +если нет записей то проверяем
 +
 +  * активны ли спонсоры\группы
 +  * активны ли галеры
 +  * и, хит, на тот ли хост вы смотрите, ни единожды встречал что в хостах одно, домен на другом серваке и тп
 +
 +
 +===== Tube Embeded Switch Rules does not work =====
 +
 +Обычно это выглядит так: линка вида out.php?url=http://domain/gallery/slug/index.html и предполагается чтооно сработает когда человек кликнет на этот линк. Но при клике на него аут не знает с какого туба эта галера тк что б это понять, надо обработать реврайт (чем занимается апач) и узнать слаг галеры, а потом уже его искать в базе.
 +
 +По умолчанию этот вариант работает с прямыми линками вида http://domain/gallery/slug/index.html тк тут в скрипт оно попадает сразу после реврайта, который и передает слаг
 +
 +Что делать: 
 +
 +1. простой вариант сделать линки вида out.php?slug=....&url=http://domain/gallery/slug/index.html so the script will get slug 
 +
 +2. сложный: если не хотелось бы менять урлы тогда в common.php разбираем ваш реврайт и ставим $_GET['slug'] = ... , те скрипт опять же получит слаг при клике
 +
 +
 +===== Tag \ template does not work =====
 +
 +В большинстве случае в темплейте много всего кроме непосредственно тагов\макросов скрипта, и понять что там к чему , где какие реврайты как все построено - занимает много времени (если вообще возможно без часовых рассказов что где как и почему было сделано). Поэтому если что-то не работает надо сделать следующее.
 +
 +  * сделать тестовый темплейт, например test
 +  * добавить туда таги\макросы скрипта, обязательно в чистом виде, например, если у вас в темплейте что-то вроде
 +
 +<code>
 +<thumb num=1-10>
 +а тут 15 строк html в добавок с пхп вставками
 +</thumb>
 +</code>
 +
 +то для тестового темпелйта это надо поменять на например 
 +
 +<code>
 +<thumb num=1-10>
 +<!--GALLERY_ID--> или какой-то конкретный таг который не работает
 +</thumb>
 +</code>
 +
 +те суть действия - получить максимально чистый темплейт, без стилей, оверлэйев, попапов и тп - только таги скрипта.
 +
 +
 +  * открываем тестовый темпелйт с нужными вам параметрами, например http://domain/?slug=...**&force_template=test**
 +  * если в тестовом темплейте видна проблема - значит проблема в скрипте, скидывайте суппорт админку, линк с тестовым темплейтом и описание что конкретно там не так
 +  * если в тестовом все ок - значит проблема где-то у вас в html\php. Для этого начинаете частями добавлять ваш код в тестовый темплейт до того момента как появится ошибка. В 99% случаев к этому моменту вы уже поймете в чем причина. 
 +  * переносите таги скрипта в тестовый темплейт пока не получится повторить проблему, тогда будет ясно в чем именно проблема, и если в скрипте - то ясно что конкретно поправить
 +
 +===== CURL Timeout =====
 +
 +При грабинге файлы скачиывает curl (не скрипт), сообщение с логе вида Curl error: Operation timed out after.  Дефолтный таймаут для curl - 30 секунд. Сделано для того что бы какой-то сайт не мог преднамеренно "подвестить граббинг" таким образом что будет отдавать один файл 3 дня условно. Вы можете для себя поднять время таймаута нужного вам. Для этого в config.php надо дописать
 +
 +  $config['CURLOPT_TIMEOUT'] = 60000;
 +  
 +это 60 секунд.  
 +