Вы можете настроить задание на контроль изменений в содержании страницы. При создании задания создается слепок текущего содержания страницы, которое выводится в браузере, и в последующем наша система проверяет наличие изменений в этом содержании. В случае, если в содержании страницы будут какие-то изменения (изменится хотя бы буква) - вы получите уведомление.
Для этого нужно сделать следующее:
Скачайте этот скрипт и разархивируйте его.
Закачайте получившуюся папку "moncontent" на свой сайт в корневую директорию (где у вас располагаются файлы сайта).
Откройте файл http://вашсайт.ru/moncontent/index.php для редактирования.
В самом начале скрипта в массиве $config установите нужные настройки:
$config = array ( "host" => "https://site.ru", "url" => array ( '/', '/folder/', '/page.html', '/folder/page2.html' ), "log" => 1, "base1_file" => "cast.txt", "base2_file" => "service.txt", "base3_file" => "log.txt", "base4_file" => "current.txt", );
где:
"host" - адрес сайта, на котором расположены проверяемые страницы. Обязательно с http или https и без слэша на конце!
"url" - массив страниц, которые нужно контролировать. Вы можете прописать как одну страницу (главную), так и несколько внутренних страниц сайта. Обратите внимание, что это должен быть массив! Либо удалите не нужные строчки, либо добавьте новые, но не нарушайте структуру, иначе работоспособность не гарантирована! Чтобы проверять главную страницу, строчка должна состоять только из символа '/'. При указании остальных страниц обязательно начинайте с символа '/' (как указано в примере).
"log" - если нужно сохранять логи проверок в отдельный файл, то оставьте 1, если не нужно, то поставьте 0. Имя файла с логом задается в параметре "base3_file".
"base1_file", "base2_file", "base4_file" - служебные имена файлов, в которых будут хранится слепки файлов и служебная информация. В файле "base4_file" будет хранится измененная версия содержимого, в случае появления изменений. Можете придумать любые названия или оставить как есть.
Сохраните изменения и запустите в браузере файл с параметром update - http://вашсайт.ru/moncontent/index.php?update для создания слепка. Скрипт проверит правильно ли выставлены права на папки. Если права выставлены неверно, то система подскажет какие именно права нужно выставить и на какие папки. Выставьте нужные права и запустите скрипт еще раз. Если права выставлены верно, то система сохранит текущее содержание указанных страниц и сообщит об этом. Если в процессе возникнет ошибка, система сообщит о ней.
После создания слепка откройте файл cast.txt (если не меняли имя) и убедитесь, что слепок создан корректно, в файле находится HTML код проверяемой страницы.
После того, как слепок создан, зайдите в свой аккаунт на нашем сайте и создайте новое задание с типом "Проверка доступности сайта с поиском слова на странице (метод GET)". В качестве адреса сайта укажите адрес скрипта, но с параметром control - http://вашсайт.ru/moncontent/index.php?control и выберите контакты для уведомления, период проверки и другие настройки. Обязательно в качестве "Текста для поиска на странице / в ответе сервера:" укажите status:ok (без указания этой фразы для поиска система не будет вас уведомлять об изменениях).
Рекомендуем в настройках задания в поле "Информация для письма с уведомлением об ошибке" указать адреса скрипта для контроля (http://вашсайт.ru/moncontent/index.php?control) и для создания слепка (http://вашсайт.ru/moncontent/index.php?update) - тогда эти адреса у вас всегда будут под рукой в письме с уведомлением об ошибке и вы не будете их вспоминать каждый раз.
Включите созданное задание.
Готово! Теперь с установленным вами интервалом система будет проверять содержимое указанных вами страниц и в случае изменений присылать уведомление с кодом 003 Word Not Found - нет совпадения текста или фразы (которые мы проверяем) на указанном ресурсе. Эта ошибка означает, что в ответе скрипта нет статуса OK, вам нужно перейти по адресу http://вашсайт.ru/moncontent/index.php?control и посмотреть что же изменилось. В случае если слепок нужно пересоздать, чтобы система учла изменения, запустите создание слепка командой http://вашсайт.ru/moncontent/index.php?update и при очередной проверке ошибка пропадет.
Дополнительная информация:
- вы можете переименовать папку "moncontent" и назвать ее любым именем, только важно, чтобы имя этой папки было точно так же указано в настройках задания у вас в аккаунте.
- вы так же можете разместить указанную папку не в корне сайта, а в любой другой папке внутри. Соответственно этот же путь до нее надо указать и в настройках задания.
- если в настройках скрипта вы указали, что нужно сохранять логи, то в файле логов будет сохранятся информация о возникающих ошибках и изменениях.
- содержание страницы, с которым сравниваем (оригинал), вы можете посмотреть в файле cast.txt (если не меняли имя) между строчками ***{||-||}*** и ||-------*****end_content_site*****--------|| (в случае если больше одной страницы, если страница одна, то последней строчки не будет), открыв его блокнотом, а текущее содержание (измененное) можете посмотреть в браузере, открыв исходный код страницы или (если вы включили логи), то в файле current.txt (так же между указанными выше разделителями). Для поиска расхождений сохраните исходный код и измененный в два разных текстовых файла и затем воспользуйтесь программой посимвольного сравнения, например Active File Compare или онлайн сервисами сравнений текстов, например, textcompare.ru.
- рекомендуем разместить скрипт контроля не на том сайте, который проверяете, т.к. если сайт взломают, то могут удалить скрипт или поменять содержимое слепка. Если у вас несколько сайтов, то разместите скрипт на одном из них, а в настройках скрипта укажите проверяемые страницы на другом сайте.
- если вам нужно проверять содержимое страниц на нескольких сайтах, то для каждого сайта создайте отдельную папку со скриптом, например, "moncontent1", "moncontent2" и т.п. И для каждой создайте отдельное задание на проверку.
- помните, что любое изменение в HTML коде страницы приведет к получению уведомления об изменениях, поэтому если HTML код на вашем сайте формируется с постоянно изменяемыми параметрами при каждом заходе на сайт, то данный скрипт не подойдет для вашего сайта.
- скрипт загружает и контролирует только HTML код, который отдается в браузер (исходный код), при этом не загружает сторонние и внутренние подключаемые Java-скрипты, не исполняет их и не подгружает то, что загружается в браузер динамически при помощи технологий ajax, jquery или любым иным способом после загрузки HTML кода. Изменения в таких случаях (в подгружаемых данных) контролироваться не будут!
- если вы вносите изменения в код или содержание страницы, обязательно пересоздавайте слепок командой http://вашсайт.ru/moncontent/index.php?update, чтобы система не срабатывала на изменения, которые создаете вы сами.
- важно: при запуске команды update, файл логов (log.txt) и файл текущих результатов проверки (current.txt) обнуляются! Поэтому смотрите логи и изменения до обновления слепка!
- важно: функционал работает в режиме бета-тестирования!
Возможные проблемы:
- вы можете получить уведомление с кодом ошибки 000 Not Answer - проверяемый ресурс не ответил на наши запросы в течение установленного времени. Это означает, что скрипт контроля содержимого не успел нам ответить в течение времени, которое вы указали в настройках задания в своем аккаунте. Это может произойти по двум причинам - либо сайт, где расположен скрипт контроля, на самом деле, не доступен, либо не доступна одна из страниц, содержимое которой мы контролируем. Попробуйте увеличить время ожидания ответа от скрипта в настройках задания в аккаунте, либо проверьте доступность страниц, содержание которых контролируется.
- страница, содержимое которой контролируется, может вернуть ошибку, например 500 Internal Server Error или 502 Bad Gateway. В таком случае Вы получите уведомление об ошибке с кодом 003 Word Not Found - нет совпадения текста или фразы (которые мы проверяем) на указанном ресурсе. Запустите скрипт с параметром control - http://вашсайт.ru/moncontent/index.php?control, чтобы посмотреть какая страница и какую ошибку отдала. Так же подобные ошибки можно найти в файле лога log.txt.
У меня не включается задание на проверку. Что делать? →
Если у вас есть вопросы, вы всегда можете обратиться в нашу службу поддержки