В далеком 2013 году я написал сайт Поиск VPS, и к моменту первой публикации на Хабре в каталоге была информация о 150 хостерах и более чем 1200 тарифах. Добавление такого массива информации не заняло много времени, так как в первой версии сайта я показывал только основные параметры тарифов (стоимость, объем диска, объем оперативной памяти, частоту процессора, количество трафика, страну размещения и тип виртуализации). Вся эта информация была представлена на сайтах хостеров, поэтому кроме рутинного копирования этих данных в админку сайта ничего не нужно было делать.
![](https://habrastorage.org/r/w780q1/webt/9d/e0/81/9de0810zxlwbzgppwxwsnsctqji.jpeg)
В конце января 2014 года я презентовал вторую версию Поиска VPS, и количество параметров для каждого тарифа сильно увеличилось, добавились следующие: тип диска, список устанавливаемых операционных систем, способы оплаты, наличие включенной в стоимость панели управления, тип администрирования, поддержка IPv6. Всей этой информации на сайтах хостеров не было, поэтому мне пришлось каждому из хостеров, представленных в каталоге, задавать вопросы, чтобы обновить их тарифы, что заняло довольно большое количество времени.
Однако, как оказалось, наполнить каталог было не самым тяжелым: тарифы хостеров постоянно менялись, и нужно было оперативно реагировать на эти изменения и вносить правки.
На мой взгляд за изменениями в тарифах нужно следить очень внимательно, так как неактуальные данные вредят репутации каталога. Например, пользователь зашел на сайт, нашел какой-то тариф за 100 рублей, перешел на сайт к хостеру и увидел, что этот тариф стоит 150 рублей. Пользователь может подумать, что информация в каталоге сильно устарела, и больше им не воспользоваться. Чтобы исключить такую ситуацию, обновлять информацию нужно максимально оперативно и корректно.
В момент написания каталога я предполагал следующую модель обновления информации: хостеры, зарегистрировавшись в личном кабинете, смогут самостоятельно следить за своими тарифами. В случае, если у хостера нет такой возможности, то следить за тарифами я буду самостоятельно. Однако, впоследствии я решил отказаться от предоставления личного кабинета хостерам, и, на мой взгляд, это было очень правильное решение. Если предоставлять хостерам самим редактировать тарифы, то возникает ряд неудобств:
Со временем я пришел к мнению, что следить за обновлением тарифов нужно самостоятельно, и периодически делать проверку всех тарифов хостера своими силами. Хотя на это требуется много времени и ресурсов, но с таким подходом тарифы должны быть максимально актуальны. У такого подхода есть минус в плане затраченных ресурсов: у большинства хостеров тарифы меняются довольно редко, а проверять их все равно нужно, поэтому в большинстве случаев редакторы просматривают тарифы и не находят никаких существенных изменений. Основной недостаток с точки зрения актуализации тарифов — это невозможность моментально реагировать на изменения. То есть, если мы проводим проверку раз в месяц, и у какого-то хостера проверили тарифы 1-го числа, а 2-го числа хостер обновил их, то почти месяц у нас будут показываться неактуальные данные. Однако, частично эта проблема решена: некоторые хостеры после обновления своих тарифов отправляют запрос на внесение изменений.
Понимая, что когда на сайте месяц находятся неактуальные тарифы, это сильно вредит репутации, я стал искать варианты исправить эту ситуацию и автоматизировать проверку.
Самое первое, что я попробовал сделать — это проверять страницы сайтов хостеров на изменения и начал с главной каждого сайта. Идея состояла в следующем: если на сайте хостера что-то поменялось, то редакторам отправляется сигнал, и они вручную проверяют, что поменялось, а при необходимости вносят правки в тарифы. Таким образом можно было бы быстро следить за изменениями. Да, в этом случае было бы много ложных срабатываний, когда хостер поменял не характеристики тарифа, а что-то другое, однако, на мой взгляд, лучше выполнить проверку и ничего не найти, чем пропустить какое-то изменение. Скрипт был написан довольно быстро, а принцип работы его предельно прост: скачиваем html страницу, берем md5 и сохраняем в базу. Через сутки повторяем процедуру и сравниваем с уже сохраненным значением — если они не совпадают, значит на странице произошли изменения, и нужно вручную посмотреть, что именно изменилось. Этот вариант мне казался идеальным с точки зрения удобства: не нужно писать никаких парсеров html кода — просто ищем изменения и все. Однако, на следующий день после запуска проверки редакторам пришло уведомление, что у большинства хостеров произошли изменения. Это было немного странно, и я решил проверить, из-за это случилось. Причина оказалась банальна, и она полностью отвергла мою идею проверять изменения в html коде: очень у многих хостеров на страницах находились данные, сгенерированные автоматически (например, информация о времени генерации страницы и т. д.), таким образом идея разбилась о суровую реальность, и этот метод проверки не сработал.
Вторая идея, которая пришла мне в голову — это проверка изменений через API биллингов. Однако, тут тоже есть свои недостатки. Во-первых, API есть только у биллинга BILLmanager, что не так плохо, так как этот биллинг использует около 40% хостеров. Вторая проблема — это нестандартизированное описание характеристик тарифа в биллинге, из-за чего опять возникает ситуация, когда нужно просто следить за тем, поменялось ли что-нибудь, и, если изменилось, уже вручную смотреть, что именно и нужно ли вносить правки. Плюс непонятно, что делать с биллингом WHMCS, которым тоже пользуются много хостеров, менее популярными RootPanel и BPanel, а также другими биллингами, которые написали сами хостеры.
К сожалению, идеального решения я не нашел до сих пор, поэтому в данный момент мы действуем следующим образом: тарифы проверяются редакторами постоянно, а в случае выявления каких-либо изменений мы уточняем информацию у службы поддержки и выясняем актуальные характеристики.
Один раз в год мы делаем “большую” проверку и повторно задаем всем хостерам такие же вопросы, которые задавали при первоначальном добавлении, уточняя, не поменялись ли какие-нибудь параметры.
Время от времени мы находим фактические ошибки на сайтах хостеров (например, часто случается, что после изменения тарифов на части страниц сайта остается устаревшая информация), о чем стараемся их незамедлительно уведомлять.
В тестовом режиме работают скрипты для проверки сайтов тех хостеров, у которых нет автоматически сгенерированной информации на сайте, таким образом у части хостеров мы можем весьма оперативно реагировать на изменения. Также в тестовом режиме работает проверялка для биллингов, и у тех хостеров, у кого такое возможно сделать, мы тоже стараемся в автоматическом режиме следить за изменениями.
Такой подход позволяет максимально оперативно реагировать на происходящее и поддерживать высокую степень достоверности информации в каталоге. Например, мы получаем не более 2-3 жалоб в месяц об ошибках в описании, а чаще всего они связаны с тем, что пользователь не смог найти тариф на сайте у хостера.
До совершенства еще далеко, так как от проверки вручную пока никуда не деться. Буду рад, если кто-нибудь сможет посоветовать еще варианты для автоматизации такой непростой задачи.
![](https://habrastorage.org/webt/9d/e0/81/9de0810zxlwbzgppwxwsnsctqji.jpeg)
В конце января 2014 года я презентовал вторую версию Поиска VPS, и количество параметров для каждого тарифа сильно увеличилось, добавились следующие: тип диска, список устанавливаемых операционных систем, способы оплаты, наличие включенной в стоимость панели управления, тип администрирования, поддержка IPv6. Всей этой информации на сайтах хостеров не было, поэтому мне пришлось каждому из хостеров, представленных в каталоге, задавать вопросы, чтобы обновить их тарифы, что заняло довольно большое количество времени.
Однако, как оказалось, наполнить каталог было не самым тяжелым: тарифы хостеров постоянно менялись, и нужно было оперативно реагировать на эти изменения и вносить правки.
На мой взгляд за изменениями в тарифах нужно следить очень внимательно, так как неактуальные данные вредят репутации каталога. Например, пользователь зашел на сайт, нашел какой-то тариф за 100 рублей, перешел на сайт к хостеру и увидел, что этот тариф стоит 150 рублей. Пользователь может подумать, что информация в каталоге сильно устарела, и больше им не воспользоваться. Чтобы исключить такую ситуацию, обновлять информацию нужно максимально оперативно и корректно.
В момент написания каталога я предполагал следующую модель обновления информации: хостеры, зарегистрировавшись в личном кабинете, смогут самостоятельно следить за своими тарифами. В случае, если у хостера нет такой возможности, то следить за тарифами я буду самостоятельно. Однако, впоследствии я решил отказаться от предоставления личного кабинета хостерам, и, на мой взгляд, это было очень правильное решение. Если предоставлять хостерам самим редактировать тарифы, то возникает ряд неудобств:
- нужно будет модерировать изменения, которые внес хостер: случайно или специально, но хостер вполне может неправильно указать цену тарифа (по умолчанию сортировка осуществляется по цене), и таким образом подняться на первые позиции;
- также непонятно скрывать ли тарифы до модерации: если скрывать, то модерацию нужно будет проводить оперативно, чтобы тарифы хостера были доступны посетителям, а если использовать постмодерацию, то есть риск показа пользователям недостоверной информации;
- хостер может банально забыть изменить описание тарифов, так как подобных каталогов много, и хостерам тяжело следить за всеми. Также такое может произойти, если человек, отвечающий за обновление информации, уволился/ушел в отпуск/заболел и не передал доступы новому сотруднику.
Со временем я пришел к мнению, что следить за обновлением тарифов нужно самостоятельно, и периодически делать проверку всех тарифов хостера своими силами. Хотя на это требуется много времени и ресурсов, но с таким подходом тарифы должны быть максимально актуальны. У такого подхода есть минус в плане затраченных ресурсов: у большинства хостеров тарифы меняются довольно редко, а проверять их все равно нужно, поэтому в большинстве случаев редакторы просматривают тарифы и не находят никаких существенных изменений. Основной недостаток с точки зрения актуализации тарифов — это невозможность моментально реагировать на изменения. То есть, если мы проводим проверку раз в месяц, и у какого-то хостера проверили тарифы 1-го числа, а 2-го числа хостер обновил их, то почти месяц у нас будут показываться неактуальные данные. Однако, частично эта проблема решена: некоторые хостеры после обновления своих тарифов отправляют запрос на внесение изменений.
Понимая, что когда на сайте месяц находятся неактуальные тарифы, это сильно вредит репутации, я стал искать варианты исправить эту ситуацию и автоматизировать проверку.
Самое первое, что я попробовал сделать — это проверять страницы сайтов хостеров на изменения и начал с главной каждого сайта. Идея состояла в следующем: если на сайте хостера что-то поменялось, то редакторам отправляется сигнал, и они вручную проверяют, что поменялось, а при необходимости вносят правки в тарифы. Таким образом можно было бы быстро следить за изменениями. Да, в этом случае было бы много ложных срабатываний, когда хостер поменял не характеристики тарифа, а что-то другое, однако, на мой взгляд, лучше выполнить проверку и ничего не найти, чем пропустить какое-то изменение. Скрипт был написан довольно быстро, а принцип работы его предельно прост: скачиваем html страницу, берем md5 и сохраняем в базу. Через сутки повторяем процедуру и сравниваем с уже сохраненным значением — если они не совпадают, значит на странице произошли изменения, и нужно вручную посмотреть, что именно изменилось. Этот вариант мне казался идеальным с точки зрения удобства: не нужно писать никаких парсеров html кода — просто ищем изменения и все. Однако, на следующий день после запуска проверки редакторам пришло уведомление, что у большинства хостеров произошли изменения. Это было немного странно, и я решил проверить, из-за это случилось. Причина оказалась банальна, и она полностью отвергла мою идею проверять изменения в html коде: очень у многих хостеров на страницах находились данные, сгенерированные автоматически (например, информация о времени генерации страницы и т. д.), таким образом идея разбилась о суровую реальность, и этот метод проверки не сработал.
Вторая идея, которая пришла мне в голову — это проверка изменений через API биллингов. Однако, тут тоже есть свои недостатки. Во-первых, API есть только у биллинга BILLmanager, что не так плохо, так как этот биллинг использует около 40% хостеров. Вторая проблема — это нестандартизированное описание характеристик тарифа в биллинге, из-за чего опять возникает ситуация, когда нужно просто следить за тем, поменялось ли что-нибудь, и, если изменилось, уже вручную смотреть, что именно и нужно ли вносить правки. Плюс непонятно, что делать с биллингом WHMCS, которым тоже пользуются много хостеров, менее популярными RootPanel и BPanel, а также другими биллингами, которые написали сами хостеры.
К сожалению, идеального решения я не нашел до сих пор, поэтому в данный момент мы действуем следующим образом: тарифы проверяются редакторами постоянно, а в случае выявления каких-либо изменений мы уточняем информацию у службы поддержки и выясняем актуальные характеристики.
Один раз в год мы делаем “большую” проверку и повторно задаем всем хостерам такие же вопросы, которые задавали при первоначальном добавлении, уточняя, не поменялись ли какие-нибудь параметры.
Время от времени мы находим фактические ошибки на сайтах хостеров (например, часто случается, что после изменения тарифов на части страниц сайта остается устаревшая информация), о чем стараемся их незамедлительно уведомлять.
В тестовом режиме работают скрипты для проверки сайтов тех хостеров, у которых нет автоматически сгенерированной информации на сайте, таким образом у части хостеров мы можем весьма оперативно реагировать на изменения. Также в тестовом режиме работает проверялка для биллингов, и у тех хостеров, у кого такое возможно сделать, мы тоже стараемся в автоматическом режиме следить за изменениями.
Такой подход позволяет максимально оперативно реагировать на происходящее и поддерживать высокую степень достоверности информации в каталоге. Например, мы получаем не более 2-3 жалоб в месяц об ошибках в описании, а чаще всего они связаны с тем, что пользователь не смог найти тариф на сайте у хостера.
До совершенства еще далеко, так как от проверки вручную пока никуда не деться. Буду рад, если кто-нибудь сможет посоветовать еще варианты для автоматизации такой непростой задачи.
Заглядывайте на VPS.today — сайт для поиска виртуальных серверов. 1500 тарифов от 130 хостеров, удобный интерфейс и большое число критериев для поиска самого лучшего виртуального сервера.