Зайдите на свой сайт и посмотрите, как отображаются ссылки, проданные через систему.
Ссылки отображаются на сайте нормально
Ссылки на сайте отображаются в неверной кодировке
Файл links.db содержит строку с <!--check code-->, но не содержит ссылок
Ссылки на сайте не отображаются
Сайт переехал на новый хостинг, деньги перестали начисляться, ссылки выпали в ERROR
Я исправил ошибку, и мой сайт теперь доступен, перепроверьте ERROR'ы
Ссылки отображаются на сайте нормально
Зайдите в раздел «Ссылки» и щелкните на статус ERROR, при этом вам отобразится статистика ошибок по выбранной ссылке. Найдите строку, соответствующую текущей дате.
Ссылка не найдена на странице ИЛИ размещена вне тегов BODY и HTML
При запросе страницы истек таймаут
Другие возможные причины статуса ERROR
Ссылка не найдена на странице ИЛИ размещена вне тегов BODY и HTML
Выполните пошагово все следующие инструкции.
САМАЯ ЧАСТАЯ ПРИЧИНА ERROR-ов - ссылки находятся между тегами NOINDEX или теги NOINDEX расставлены некорректно (например, два раза открываются, а закрываются только один раз). Откройте исходный код вашей страницы в браузере и посчитайте количество открытых NOINDEX (<noindex>) и закрытых (</noindex>). Количество должно совпадать. Если количество совпадает, то проверьте, не находятся ли ссылки внутри noindex, чтобы не было такой конструкции: <noindex>ССЫЛКИ</noindex>.
Проверьте, находятся ли ссылки в индексируемой зоне доступного для индексации поисковыми системами документа. Если ссылки закрыты от индексации одним из следующих способов, они не будут найдены роботом нашей системы.
Ссылки закрыты от индексации с помощью тегов <noindex>, <!--noindex-->, <script>, <frames>, <applet>, <embed>, <object>, тегов форм или комментариев.
Страница, на которой размещаются ссылки, закрыта от индексации в файле robots.txt или в метатегах.
К коду ссылки дописывается атрибут nofollow.
При проверке наличия ссылок на страницах, робот получает отличный от 200 код ответа в HTTP заголовках Вашего сервера.
Ссылки не размещены внутри тега бегущей строки <marguee>.
Ссылки размещены за пределами тегов <html> и <body>. Для корректной проверки ссылок теги <html> и <body> должны встречаться в коде страницы один раз и ссылки должны быть размещены между этими тегами. Если это не так, вам нужно исправить ситуацию: поместить ссылки внутрь тегов. Если у вас отсутствуют эти теги, добавьте их. Т.е. правильное размещение ссылок должно быть такое:
<html> <body> <!-- ссылки --> </body> </html>
Возможно движок вашего сайта (или какой-то установленный модуль) автоматически закрывает внешние ссылки в теги noindex или дописывает атрибут nofollow к ссылке. Часто ссылки таким образом закрываются только от роботов (и в том числе от нашего робота). В этом случае вам следует отключить применение подобных модулей для наших ссылок.
Проверьте, соответствует ли кодировка, указанная в метатегах страницы, кодировке windows-1251. Если кодировка отличается, проследите, чтобы она же была указана в коде вызова ссылок, который вы вставляете на страницы. В случае, если, например, Ваш сайт использует кодировку UTF-8, необходимо в исходном коде вывода ссылок строку
<?php $sape = new SAPE_client(); ?>
изменить на:<?php $o = array(); $o['charset'] = 'UTF-8'; $sape = new SAPE_client($o); unset($o); ?>
Для любой другой кодировки действия аналогичны. Так же проверьте, что кодировка указана в мета-тегах страницы.В некоторых браузерах стоит автоопределение кодировки, поэтому, чтобы убедиться, что с кодировкой все в порядке, укажите кодировку в браузере принудительно (обычно она задается Вид->Кодировка-> Указываете нужную кодировку). Некоторые кодировки, не поддерживают кириллические символы — и в error уходят только ссылки, содержащие русские буквы. Например, не поддерживает кириллицу кодировка ISO-8859-1 или windows-1252. Проверьте, чтобы исходный код ссылки в точности соответствовал тому, который в файл links.db загружает система. Зачастую, некоторые CMS подставляют свои стили в ссылки, или, например удаляют двойные пробелы и т.п. Наш робот ищет точное соответствие, т.е. если в ссылке изменился хотя бы один символ, она не будет найдена.
Возможно, Ваш сервер не верно или в нестандартном формате возвращает переменную окружения HTTP_HOST (такая проблема часто возникает, если сайт имеет алиасы, зеркала или «висит» на нестандартном порту). Для того, чтобы в явном виде передать правильное значение в сервисный скрипт, необходимо в коде вызова ссылок (который Вы вставляете на страницы сайта) строку
<?php $sape = new SAPE_client(); ?>
изменить на:<?php $o = array(); $o['host'] = 'имя_вашего_домена_без_http://'; $sape = new SAPE_client($o); unset($o); ?>
Возможно, проблема в том, что в тексте страницы есть неизвестные спецсимволы (обычно они отображаются «вопросами»), которые при разборе страницы роботом вызывают ошибку (https://www.php.net/manual/ru/function.iconv.php) - то есть роботу видна часть страницы до спецсимвола. Единственный способ решения проблемы — очистить страницы от этих символов.
После выполнения всех вышеперечисленных проверок и рекомендаций при следующей проверке наличия ссылок нашим роботом, скорее всего, они будут найдены. В противном случае Вы можете обратиться за помощью в форму обратной связи, мы постараемся Вам помочь. Перепроверки Error ссылок происходят автоматически, несколько раз в течение суток.
При обращении, пожалуйста, укажите следующее:
сайт, на котором возникла проблема;
находятся ли ссылки внутри тегов <html> и <body>;
кодировку сайта (совпадает ли она с кодом вызова ссылок);
содержатся ли ссылки в файле links.db;
стоят ли на папку права 777;
выводятся или нет ссылки на сайт;
прописан хост или нет (о том как прописать хост смотрите выше, пункт № 6)
какая ошибка указывается при нажатии на статус ERROR.
Например:
site.ru
При запросе страницы истек таймаут
Нашему роботу в течении 30 секунд не возвратился ответ от запрашиваемой страницы. Проверьте доступность страницы и отсутствие санкций хостера к IP робота (подсети 188.72.80.*, 193.232.121.*).
Страница запрещена в METAх
Проверьте, не запрещена ли страница к индексации в мета-тегах в исходном коде страницы (к примеру, с помощью noindex, nofollow или noarchive).
Не найден ip для домена
Скорее всего, на хостинге проблемы с DNS – наш робот не смог сопоставить домен сайта с конкретным IP-адресом. Свяжитесь с хостером и выясните причину.
Кроме того, уточните, не применяются ли хостером какие-либо санкции к подсетям 188.72.80.*, 193.232.121.* с адресов этих подсетей заходит наш робот, проверяющий корректность размещения ссылок.
Другие возможные причины статуса ERROR
Кликнув на статус ссылки в ERROR, можно увидеть причины, по которым ссылка получила этот статус. Их расшифровка и Ваши действия по исправлению ситуации приведены в этом разделе.
Перечислены только статусы, не вошедшие в другие пункты раздела "Нет начислений по площадке, ссылки в статусе ERROR".
Страница не найдена по ссылкам
Страница возвращает http-статус, отличный от 200
Не удалось распаковать страницу из gzip-сжатия
Ошибка при раскодировании частей ответа (problem in the chunky parser)
Сервер редиректит на другую страницу
Использование тега frameset запрещено
Сайт находится на хостинге Timeweb
Страница запрещена robots.txt
Проверьте, не запрещена ли страница в файле robots.txt с помощью директивы disallow — для ботов поисковых систем и для IP нашего робота (подсети 188.72.80.*, 193.232.121.*).
Другие возможные причины статуса ERROR
Страница не найдена по ссылкам
Наш робот не смог перейти на целевую страницу по ее урлу в системе. Проверьте корректность урла, при необходимости удалите страницу из системы и закажите переиндексацию.
Другие возможные причины статуса ERROR
На странице нет КОДА
Код для вызова ссылок на странице не установлен. Проверьте корректность его установки с помощью соответствующих разделов FAQ (к примеру, для php-кода вызова ссылок - этот раздел).
Другие возможные причины статуса ERROR
Страница возвращает http-статус, отличный от 200
Проверьте, какой http-статус возвращает страница. Если он не равен 200, то возможны несколько вариантов: 1. Хостер блокирует IP-адреса нашего робота (подсети 188.72.80.*, 193.232.121.*), попробуйте связаться с ним и выяснить подробности. 2. Специфические настройки сайта также могут вызвать подобную проблему. Возможно, другой статус возвращается только при запросе нашего робота.
Другие возможные причины статуса ERROR
Ошибка соединения с сервером
Робот не смог соединиться с сервером, на котором размещена площадка. Проверьте доступность сайта и отсутствие санкций хостера к IP робота (подсети 188.72.80.*, 193.232.121.*)
Другие возможные причины статуса ERROR
Пустой ответ сервера
Сервер возвращает роботу пустой ответ при запросе. Обратитесь в техподдержку хостинга, причина на их стороне. Кроме того, уточните отсутствие санкций хостера к IP робота (подсети 188.72.80.*, 193.232.121.*)
Другие возможные причины статуса ERROR
Не удалось распаковать страницу из gzip-сжатия
Gzip-сжатие страниц не работает или работает некорректно, следует обратиться в техподдержку Вашего хостинга - либо потребовать отключения gzip-сжатия, либо попросить идентифицировать и решить проблему с его неверной работой.
Другие возможные причины статуса ERROR
Ошибка при раскодировании частей ответа (problem in the chunky parser)
Проблема на стороне хостера, обычно решается отключением gzip-сжатия.
Другие возможные причины статуса ERROR
Сервер редиректит на другую страницу
При заходе на страницу происходит редирект на другую страницу. Следует убрать редирект, и в течение некоторого времени ссылки приобретут статус OK.
Другие возможные причины статуса ERROR
Недопустимый Content-type
Системой поддерживается только контент вида text/html , соответственным образом прописанный в meta-тегах страницы.
Другие возможные причины статуса ERROR
Использование тега frameset запрещено
Если в исходном коде страницы робот обнаружит хотя бы один тег frameset, то ссылки выпадут в статус ERROR. Следует избавиться от фреймов, это единственно возможное решение проблемы.
Другие возможные причины статуса ERROR
Страница слишком большая
Максимально допустимый размер страницы в системе - 2 мегабайта, в соответствии с этим следует скоррелировать размер вашей страницы.
Другие возможные причины статуса ERROR
Сайт находится на хостинге Timeweb
В случае, если сайт находится на хостинге Timeweb, проверьте, возможно, в настройках включен "Ускоритель сайтов".
При его использовании код ссылки, отдаваемый диспенсером, может модифицироваться, что приводит в появлению ссылок в статусе ERROR.
Другие возможные причины статуса ERROR
Страница не отвечает
На момент проверки наличия ссылок страницы площадки не отвечали — наш робот ждет отклика 15 секунд, и в случае, если его нет, переходит к проверке следующей страницы. При этом ссылки недоступной страницы получают статус ERROR.
Это может произойти по нескольким причинам:
сайт не работает или работает медленно из-за проблем на хостинге;
хостер забанил IP адреса нашего робота (IP адреса робота можно посмотреть в конце файла links.db);
у Вашего хостера стоит некий антипарсер, который на время блокирует IP адреса при частом обращении к сайту;
существуют проблемы на линии связи.
В этой ситуации мы можем только посоветовать обратиться к хостеру.
В течение суток наш робот несколько раз проверяет наличие ссылок, и если проблемы с доступностью сайта носили временный характер, то при очередной перепроверке ссылки будут найдены и средства за них будут доначислены.
Ссылки на сайте отображаются в неверной кодировке
Если на Вашем сайте используется кодировка русских букв, отличная от windows-1251, то необходимо в коде вывода ссылок (который вы вставляете на каждую страницу сайта) строку:
<?php $sape = new SAPE_client(); ?>
изменить на:
<?php $o = array(); $o['charset'] = 'utf-8'; $sape = new SAPE_client($o); unset($o); ?>
Данный пример приведен для кодировки utf-8, если в Вашем случае используется другая кодировка, укажите ее аналогичным образом.
Использование кодировок, отличных от UTF-8, крайне не рекомендуется.
Если на вашем сайте используется несколько кодировок, например,windows-1251 и utf-8, то вам необходимо в коде вызова ссылок на страницах сайта, где используется кодировка utf-8, строку:
<?php echo $sape->return_links(); ?>
Поменять на:
<?php echo iconv( "windows-1251", "UTF-8", $sape->return_links()); ?>
При этом строку $sape = new SAPE_client(); менять не нужно.;
После внесения изменений в код вызова ссылок обязательно удалите файл links.db, чтобы он перезакачался в новой кодировке. Через некоторое время ссылки на вашем сайте начнут отображаться в верной кодировке.
Файл links.db содержит строку с <!--check code-->, но не содержит ссылок
Скорее всего Ваш сервер не верно или в нестандартном формате возвращает переменную окружения HTTP_HOST (такая проблема часто бывает, если сайт имеет алиасы, зеркала или «висит» на нестандартном порту). Для того, чтобы в явном виде передать правильное значение в сервисный скрипт, необходимо в коде вызова ссылок (который вы вставляете на страницы сайта) строку
<?php $sape = new SAPE_client(); ?>
изменить на<?php $o = array(); $o['host'] = 'имя_вашего_домена_без_http://'; $sape = new SAPE_client($o); unset($o); ?>
После выполнения данной рекомендации, при следующей проверке наличия ссылок нашим роботом скорее всего они будут найдены, в противном случае можете обратиться за помощью в форму обратной связи, по возможности мы постараемся Вам помочь.Если по вашей просьбе площадка переносилась с одного аккаунта на другой, проверьте, чтобы в коде вызова ссылок на страницы, в строке
<?php define('_SAPE_USER', '1234qwertyuiop567890asdf'); ?>
Значение 1234qwertyuiop567890asdf соответствовало названию папки, которую вы можете скачать в архиве с кодом системы из Вашего нового аккаунта.
Ссылки на сайте не отображаются
Проверьте, есть ли ссылки в файле links.db.
Сделать это можно, зайдя в скачанную Вами с сайта sape.ru папку и открыв файл.
Вопросы по поводу способа вывода ссылок через FTP (для статических сайтов) Вы можете задать его разработчику (логин Sin) лично на нашем форуме.
Сайт был перенес на новый хостинг, теперь ссылки получают статус ERROR
Ссылки есть в links.db
Выполните поочередно следующие рекомендации.
Проверьте корректность размещения кода. Для этого необходимо в коде вывода ссылок (который вы вставляете на каждую страницу сайта) строку:
<?php $sape = new SAPE_client(); ?>
изменить на:<?php $o = array(); $o['force_show_code'] = true; $sape = new SAPE_client($o); ?>
При корректной установке кода вы увидите закомментированное число или строку <!--check code--> в коде страницы в том месте, где вы хотите размещать ссылки из SAPE. Если закомментированное число или строка <!--check code--> не появились в коде страницы, значит код установлен некорректно.
Если код установлен корректно,то такая проблема вызвана тем, что наш код не может определить, с какой страницы он вызывается. Причин может быть несколько, но самая распространённая заключается в том, что код вызова sape.php вставлен в файл (например, footer.php), который подключается к сайту через подзапрос, например:
<?php include('http://www.site.ru/footer.php'); ?>
Есть два возможных решения:<?php include('http://www.site.ru/footer.php?uri='.$_SERVER['REQUEST_URI']); ?>
вставить вызов кода в другое место;
передать в файл footer.php информацию о текущей странице:
а затем подставить эту информацию в код вызова через параметр (это уже в footer.php):
<?php $o = array(); $o['request_uri'] = $_GET['uri']; // Явно задаём текущую страницу $sape = new SAPE_Client($o); ?>
В случае, если сайт использует
mod_rewrite
(многие стандартные «движки» используют его по умолчанию, например, Joomla) и ссылки на сайте не отображаются, то код вызова ссылок, который вы вставляете на страницы сайта, должен выглядеть следующим образом:<?php define('_SAPE_USER', '1234qwertyuiop567890asdf'); require_once(realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php')); $o = array(); $o['request_uri'] = $_SERVER['REDIRECT_URL']; $sape = new SAPE_client($o); echo $sape->return_links(); ?>
Не забудьте вставить в код вызова вместо 1234qwertyuiop567890asdf название нашей системной папки.Если у Вас не отображается только часть ссылок, возможные следующие причины:
на Вашем хостинге закончилось дисковое пространство;
на страницах, где возникает ошибка, не прописана кодировка в мета-тегах.
установлена старая версия клиентского кода. Актуальную версию клиентского кода можно найти здесь.
После выполнения всех вышеперечисленных проверок и рекомендаций при следующей проверке наличия ссылок нашим роботом, скорее всего, они будут найдены. В противном случае можете написать в форму обратной связи, мы постараемся Вам помочь.
При обращении, пожалуйста, укажите следующее:
сайт, на котором возникла проблема;
кодировку сайта (совпадает ли она с кодом вызова ссылок);
Что содержится в файле links.db (скопировать); Если файла вообще нет, скажите об этом;
стоят ли на папку права 777;
выводятся или нет ссылки на сайт;
прописан хост или нет (о том, как его прописать, смотрите в этом разделе, пункт № 6);
какая ошибка указывается при нажатии на статус ERROR.
Например:
site.ru
Файл links.db абсолютно пуст
Попробуйте удалить файл links.db для того, чтобы он закачался заново.
Удостоверьтесь в том, что на папку с длинным названием выставлены права доступа 777.
Возможно, Ваш сервер не может установить соединение с серверами системы, осуществляющими раздачу ссылок. Это, в свою очередь, может быть вызвано следующими причинами:
Ваш хостинг не позволяет осуществлять исходящие соединения (в этом случае мы ничем не можем помочь и единственный выход - смена хостинга).
На вашем хостинге заблокирована функция file_get_contents. В этом случае необходимо осуществить попытку подключения с помощью socket или curl. Для того, чтобы принудительно указать другой способ получения ссылок, необходимо в коде вызова ссылок, который вы вставляете на страницы сайта, строку
<?php $sape = new SAPE_client(); ?>
заменить на<?php $o = array(); $o['fetch_remote_type'] = 'socket'; //(или curl) $sape = new SAPE_client($o); unset($o); ?>
Если в логах вы обнаруживаете ошибку
Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
то это может свидетельствовать о том, что неправильно работает система ресолвинга доменных имен на вашем сервере и/или хостинге. При этом наш серврер, раздающий ссылки, доступен по IP-адресу. Это можно проверить, сделав запрос на ресолвинг DNS c сервера и с другого компьютера. Пример работающего ресолвинга $ nslookup dispenser-01.sape.ru Server: 192.168.144.1 Address: 192.168.144.1#53 Non-authoritative answer: Name: dispenser-01.sape.ru Address: 193.232.121.12 Name: dispenser-01.sape.ru Address: 193.232.121.62
Пример неработающего ресолвинга$ nslookup dispenser-101.sape.ru-fake Server: 192.168.144.1 Address: 192.168.144.1#53 ** server can't find dispenser-101.sape.ru-fake: NXDOMAIN
Если проблема подтвердилась, то нужно посмотреть настройки DNS на вашем сервере - если обслуживаете сервер сами, либо обратиться к хостинг-провайдеру.
Сайт был перенес на новый хостинг, теперь ссылки получают статус ERROR
При смене хостинга, на котором размещен Ваш сайт, необходимо обновить базу ссылок в файле links.db. Для этого удалите файл links.db, новый файл закачается автоматически при первом обращении к сайту.
Сайт переехал на новый хостинг, деньги перестали начисляться, ссылки выпали в ERROR
При смене хостинга, на котором размещен ваш сайт, необходимо обновить базу ссылок в файле links.db. Для этого удалите файл links.db, новый файл закачается автоматически при первом обращении к сайту.
Проверьте, чтобы имя папки и ваш хэш-код, указанный в коде вызова ссылок, были верными, а права доступа к папке были выставлены в значение 777.
Я исправил ошибку, и мой сайт теперь доступен, перепроверьте ERROR'ы
Перепроверка ссылок со статусом ERROR происходит повторно в течение суток.
Если в течение суток статус ссылок изменился на ОК, то доначисление за ссылки произойдёт в следующий биллинг.