Скрипт проверки доступности доменов в зоне ru
Ручная проверка доступности доменов в зоне .ru при массовом подборе имен отнимает до 40 часов рабочего времени в месяц, при этом риск ошибки в WHOIS-запросах остается высоким. Автоматизация через PHP-скрипт сокращает время проверки одного имени с 30 секунд до 0.2-0.5 секунд, позволяя обрабатывать тысячи вариантов за считанные минуты.
Методы проверки: WHOIS против DNS-запросов
Для проверки зоны .ru существует два основных пути: запрос к серверу WHOIS и DNS-лукап (checkdns). WHOIS дает 100% гарантию статуса, но имеет жесткие лимиты: при превышении 10-20 запросов в минуту серверы регистратора временно блокируют IP-адрес. DNS-запрос через функцию checkdnsrr() работает в 5-10 раз быстрее и не имеет таких лимитов, но дает ложноположительный результат, если домен занят, но для него не прописаны A или MX записи (таких доменов в зоне .ru около 15-20%).
Кейс: при парсинге списка из 5000 потенциальных имен использование только DNS-запросов привело к потере 800 реально занятых доменов, которые выглядели как свободные. Экспертный вывод: для финального фильтра используйте WHOIS, для первичного отсева массива в 10 000+ имен — только DNS-запросы с последующей верификацией.
Технические нюансы реализации на PHP
Оптимальный скрипт должен использовать сокеты fsockopen() для подключения к whois.ru на порт 43. Важный нюанс: ответ сервера WHOIS приходит в неструктурированном текстовом виде. Для корректного определения доступности нужно искать строку 'No match for' или 'NOT FOUND'. Ошибка новичков — полагаться на HTTP-статусы или простые ping-запросы, которые не учитывают статус домена в реестре.
Для обхода лимитов (Rate Limit) необходимо внедрять задержку sleep(2-5) между запросами или использовать пул из 5-10 прокси-серверов. Это увеличивает время работы скрипта, но гарантирует отсутствие бана. Если вы используете сторонние библиотеки, обязательно изучите критерии выбора безопасного PHP-скрипта, чтобы избежать бэкдоров в функциях обработки строк.
Сравнение стоимости: самописный скрипт vs API
Разработка собственного скрипта на PHP обходится в 0 рублей (при наличии навыков), но требует поддержки. Использование профессиональных API (например, WhoisXML или аналогичных) стоит от $0.01 до $0.05 за запрос. При объеме 100 000 проверок в месяц затраты составят от $1 000 до $5 000, что неоправданно для большинства задач по подбору имен.
Сравнение: самописный скрипт через прокси обходится в стоимость аренды прокси (около 500-1500 руб/мес) и дает точность 99%. API дает 100% точность и скорость, но стоит в 100 раз дороже. Экспертный вывод: для внутреннего использования и SEO-задач самописный PHP-скрипт с механизмом задержек — единственное экономически целесообразное решение.
Типичные ошибки и подводные камни
Главная проблема зоны .ru — статус 'Reserved' или домены в процессе удаления (Pending Delete). Скрипт может показать, что домен свободен, но при попытке регистрации через регистратора вы получите отказ. Еще одна ошибка — игнорирование кодировки ответа (обычно Cyrillic/UTF-8), что приводит к некорректному парсингу статуса владельца.
Пример: при проверке домена, который только что был удален, WHOIS может возвращать старые данные еще 24-48 часов из-за кэширования на промежуточных серверах. Экспертный вывод: никогда не доверяйте одному источнику данных; проверяйте статус через два разных WHOIS-сервера, если домен имеет высокую коммерческую ценность.
Вывод
Для массовой проверки доменов в зоне .ru выбирайте гибридную схему: первичный фильтр через DNS-запросы (checkdnsrr) для отсева 80% заведомо занятых имен, затем детальная проверка остатков через WHOIS с обязательной задержкой в 3-5 секунд между итерациями. Избегайте бесплатных онлайн-чекеров для больших списков — они либо продают ваши запросы конкурентам, либо имеют крайне низкие лимиты. Начинайте с реализации простого PHP-скрипта на сокетах, так как это дает полный контроль над процессом и нулевые операционные затраты.