Архив блога VadoZ

Архив за Июль, 2008

Про вылет сайтов из индекса из-за Sape

31st Июль, 2008

Очень часто встречал и встречаю возгласы — «сайт вылетел из индекса Яндекса из-за сапы!». По началу относился к таким репликам с известной долей скептицизма — мол, либо ВМ слишком жадный — лепит по 100 ссылок на страницу без контента, либо у Яшки глюки.. Так бы и считал до сих пор, если б какое-то время назад сам не столкнулся с глюком Сапы, от которого вполне могли вылететь сайты. Суть глюка — легли оба саповских диспенсера (сервера раздающие ссылки), соответственно скрипт обращался к ним , но ответа не получал и висел так подвесив площадку до истечения таймаута (по умолчанию 6 секунд), но это пол беды, настоящая беда была в том, что фрагмент кода, который разрешал делать повторную попытку обращения к деспенсерам только после определенного времени с момента последней неудачной попытки (по дефолту 600 секунд), на моих сайтах не работал! Таким образом у меня все сайты открывались после «тупежа» в 6 с лишним секунд! Все мы знаем крутой нрав яшко-бота — как думаете, будет он ждать эти 6 секунд?
Взялся разбираться чего не работает код защищающий от постоянного долбления лежащих диспенсеров и… усомнился в целесообразности. Почему? Все очень просто — я представил себе не упавший деспенсер, а глючащий, который время от времени таки что-то отправляет нашему скрипту — как думаете при default_socket_timeout = 6 и отправке диспенсером по 2 байта в 5 секунд скрипт закроет соединение через 6 секунд или нет? Я однозначного ответа на этот вопрос не нашел. А по аналогии с другими таймаутами можно сделать вывод, что скрипт отцепится только если не будет получать вообще никаких данных в течении времени таймаута (наши дефолтные 6 секунд). Или еще веселей — деспенсеры ответят в течении 5 секунд, но вот яшко-бот вряд-ли станет этого дожидаться. Уменьшить таймаут — сайту станет легче, но возможны проблемы с обновлением БД ссылок…
В общем, чтоб не наводить тень на плетень, я решил повесить задачу обновления локальной БД ссылок на крон исключив эту не самую быструю операцию из процесса загрузки страниц.
Что для этого нужно сделать?
Первым делом открываем Ваш файл sape.php и добавляем новое свойство класса SAPE_base. Назовем его _update_local_database .
Итак ищем строку

var $_db_file     		= '';				//Путь к файлу с данными

И сразу после нее добавляем:

var $_update_local_database = false;

Новое свойство добавлено. Его мы будем использовать для того, чтоб класс знал можно-ли ему обновлять копию БД или нет. Учим класс менять это свойство в зависимости от параметров с какими создаются обьекты. Ищем строки:

if (is_array($options)) {
            if (isset($options['host'])) {
                $host = $options['host'];
            }

сразу после этих строк добавляем строки

if (isset($options['update_local_database'])) {
                $this->_update_local_database = $options['update_local_database'];
            }

Теперь нужно научить класс обрабатывать это свойство.
Ищем следующий фрагмент кода:

function load_data() {
        $this->_db_file = $this->_get_db_file();

Сразу после него добавляем следующую строку:

if( $this->_update_local_database) {

Теперь надо добавить закрывающуюся скобку. Ищем:

break;
	                    }
	                }
	            }
            }
        }

И сразу после этого фрагмента добавляем еще одну закрывающуюся фигурную скобку } .

Нажимаем Ctrl+S затем Alt+F4 :). редактирование Sape.php на этом завершено. После этих модификаций и при штатной установке кода файл links.db никогда не обновится, разумеется если ему не помочь :). Этим мы сейчас и займемся.
Создаем файл с произвольным названием и расширением php , например get_link.php и размещаем его на сайте (для примера в корне). Копируем в него следующий код:

<?php
     if (!defined('_SAPE_USER')){
        define('_SAPE_USER', 'xxxxxxxxxxxxxxxxxxxxxxxxxx'); 
     }
     require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'); 
     $o['update_local_database'] = true;
     $sape = new SAPE_client($o);
	 $sape_context = new SAPE_context($o); 
?>

Заменяем

xxxxxxxxxxxxxxxxxxxxxxxxxx

на свой идентификатор (совпадает с названием папки, в которой лежит sape.php). Все. осталось настроить крон, чтоб он регулярно заходил wget-ом на наш get_link.php . Я использую такую строку:

wget -q http://site.ru/get_link.php

Что делать если сайтов много? Ставить много заданий для крона — обидится хостер. Делаем проще — на одном из сайтов , для примера site5.ru создаем в корне файлик ping.php. Копируем в него следующий код:

<?php
file_get_contents('http://site1.ru/get_link.php');
file_get_contents('http://site2.ru/get_link.php');
file_get_contents('http://site3.ru/get_link.php');
file_get_contents('http://site4.ru/get_link.php');
file_get_contents('http://site5.ru/get_link.php');
?>

Замечу, что добавлять в этот список больше 5-6 сайтов следует очень осторожно т.к. у многих хостеров стоит ограничение на время исполнения скрипта 30 секунд.

Правим имена сайтов и названия файлов на свои и прописываем в кроне дерганье уже этого скрипта:

wget -q http://site5.ru/ping.php

Все!
Процесс загрузки страниц Вашего сайта абсолютно не зависим от состояния сапе-диспенсеров, при этом БД ссылок регулярно обновляется.

Понравилась информация? А мои «активные рефы»: уже пользуются ею, да и не только ею :). Намек понятен?

Sape ,

Перерыв на отдых

14th Июль, 2008

Я славно поработал, теперь пришло время отдохнуть. На недельку уезжаю на курорт. Немного подумав на тему «как быть с продажей Регистратора» решил приостановить ее на недельку. Нет, можно было что-то придумать, но хотелось при продаже первых копий быть на связи….

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

Регистратор

Первый релиз

11th Июль, 2008

Вот и пришло время представить общественности первую версию «Регистратора».

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

Заполняем поля, отмечаем сервисы, в которых необходимо зарегистрироваться и нажимаем кнопочку «Регистрировать»

Регистратор предложит ввести капчи (для сервисов, которые их используют)

После ввода капч нажимаем _Продолжить_ и получаем примерно следующую картину:

Теперь можно заглянуть в папку rezult «Регистратора» — там мы обнаружим сформированный файл с логинами и паролями в формате «Закладочника»

На сегодня поддерживается регистрация в
* bobrdobr.ru
* www.100zakladok.ru
* www.lopas.ru
* moemesto.ru
* www.ru-marks.net
* savelink.org.ua
* webmarks.ru
* www.communizm.ru

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

Дополнительная информация:
«Язык разработки» — РНP
«Код» — открытый (по крайней мере пока… в любом случае, даже если вынудят закрыть код, закрываться будут только дополнительные фишки. Модули регистрации и часть кода позволяющая подвязать любой дополнительный код к _Регистратору_ останутся открытыми)
«Цена» — на данный момент скрипт стоит 20 WMZ . В дальнейшем, с развитием функционала, цена будет повышаться. Обновления бесплатные.
«Капча» — капчу пользователь вводит в ручном режиме. Распознавание не планируется по ряду причин.
«Подтверждение регистрации» — активация регистрации через e-mail будет реализовано в одной из ближайших версий. Всем купившим скрипт это обновление (как и другие обновления) будет предоставлено бесплатно.
«Регистрация e-mail акаунтов» — в рамках данного продукта не планируется. Если будет много желающих — выпущу отдельный продукт.
«Пакетная регистрация» — не планируется.

Регистратор ,

Впечатления от Закладочника

10th Июль, 2008
Комментарии к записи Впечатления от Закладочника отключены

Сегодня связался с «Вдохновленным тормозом», он любезно предложил предоставить для наших благих целей свой «Закладочник».
Что я могу сказать — сразу захотелось некоторые идеи реализовать и в «Регистраторе» … с трудом удерживаю себя от этого т.к. осознаю, что это существенно сдвинет сроки релиза.
В целом могу сказать, что, пожалуй, «Закладочник» — одна из немногих программ, для которой лестные отзывы на форумах более чем соответствуют действительности. Так что «Верной дорогой идем, товарищи».

Регистратор , ,

Первые итоги

10th Июль, 2008
Комментарии к записи Первые итоги отключены

Набросал каркас системы.
Подключил модули, понял что не знаю в каком формате сохранять логины и пароли :-(. Нужно связаться с Вдохновленным тормозом, разведать формат файла паролей.
Если не считать этой маленькой неувязочки, то все идет по плану.
В течение 2-х — 3-х дней сделаю первый релиз. Сразу скажу, что продаваться он будет в ограниченном количестве — скажем, пять экземпляров. Цель пробной реализации — услышать пожелания людей. В свете этого для первого релиза даже дизайна делать не буду. Сейчас самое главное — грамотно реализовать программную часть.

Кстати, уже можно отправлять заявки на покупку тестовой версии ;)

Регистратор ,

Работа кипит!

9th Июль, 2008
Комментарии к записи Работа кипит! отключены

Начал окультуривать скрипты. Писались они в степени крайнего возбуждения, вызванного как глюками Snoopy так и поведением некоторых сервисов, поэтому сейчас приходится тратить кучу времени на вырезание нецензурщины из комментариев. И судя по всему комментарии придется писать заново :). Для тех кто не умеет читать между строк сообщаю — проект планируется выпустить в свет с открытым кодом и модульной архитектурой, позволяющей добавлять свои модули, например для регистрации в сервисах не входящих в «Закладочник», но жизненно необходимых Вам. Посмотрим, что из этого получится…

Регистратор ,

Старт проекта

9th Июль, 2008
Комментарии к записи Старт проекта отключены

Так уж случилось, что достаточно давно использую сервисы социальных закладок с целью нарушения условий лицензии на использование ПС :) . Да и про непоисковый трафик забывать также не стоит… но сейчас я не об этом… Понятно, что меня изначально не устраивала перспектива постинга в социалки в ручном режиме и в свое время для этих целей была сделана полуавтоматическая отправлялка. Сделана была по скорому, на коленке, без дизайна и наворотов, короче для личного использования. Делать из нее коммерческий продукт не было ни сил, ни времени, ни желания. Тем не менее, в какой-то момент я стал регулярно посещать «ветку Тормоза на форуме searchengines.ru — иногда там мелькали дельные предложения и пожелания :) .
Одним из таких пожеланий была автоматическая регистрация аккаунтов. Тормоз этот функционал не хотел делать принципиально, а люди взявшиеся написать отдельный продукт для этих целей количеством поддерживаемых сервисов меня не впечатлили. В общем-то я и не впечатлился-б т.к. данный функционал у меня был реализован изначально :).

Короче хватит вступлений и воды.
После очередного поста на серче о том, как народу не хватает регистрации аккаунтов я решил предложить свой полуавтоматический регистратор аккаунтов в социальных сетях.

Интересно? Ждите продолжения.

Регистратор ,

Контакты

9th Июль, 2008
Комментарии к записи Контакты отключены

Связаться со мной можно постучав в аську .
Что делать если Вы не смогли найти мою аську или принципиально не пользуетесь ей?

  • Можно отправить мне письмо на ящик vadim(сами знаете кто)vadoz.ru .
  • Можно отправить мне личное сообщение на форуме о поисковых системах . Мой логин — VadoZ.
  • Можно оставить в блоге комментарий со своими координатами, я сам с Вами свяжусь. Комментарии премодерируются и коментарии с координатами я не публикую, так что переживать за утечку координат не стоит :).

Контакты