Что мы делаем
Наш стек технологий
Laravel
- Фреймворк корпоративного уровня
- Фреймворк для личных проектов
- Кладезь антипаттернов
MySQL, Sphinx, Memcache
JS, Bootstrap, UIkit
Некоторые проекты
В общей сложности мы написали более 50 веб приложений и сайтов, а также приняли участие в SEO 200 проектов.
Графики посещаемости наших проектов
Наш исходный код генератора доменов из поисковых подсказок Google
Посмотреть работу скрипта можно здесь
namespace App;
use Illuminate\Database\Eloquent\Model;
class Service extends Model
{
public function vsgoogle($domain){
function download_page($path){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$path);
curl_setopt($ch, CURLOPT_FAILONERROR,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$retValue = curl_exec($ch);
$data= curl_getinfo ($ch);
//print_r($data); // смотрим статусы для отладки - http_code
curl_close($ch);
return $retValue;
}
//меняем плохие вхождения
function replaceSimbolRu($baseKeyword){
$searchsimbol = array("ьи", "ье", "ью", "ья", "веб", "веб ", "вебмастер", "онлайн", "вебинар",
"вебинары"
);
$zamenasimbol = array("i", "ie", "iy", "iya", "web", "web ", "webmaster", "online", "webinar",
"webinary"
);
$myZnak = str_replace( $searchsimbol, $zamenasimbol, $baseKeyword );//преобразование мягкого знака
return $myZnak;
}
//исходный запрос
$key = $domain;
$searchsimbol = array(" ");
$zamenasimbol = array("+");
$query = str_replace($searchsimbol, $zamenasimbol, $key);
$urlNoVS = "http://suggestqueries.google.com/complete/search?&output=toolbar&gl=us&q=".$query;
//отправляем запрос без vs
$sXML = download_page($urlNoVS);
$oXML = new \SimpleXMLElement(utf8_encode($sXML));
//отправляем запрос с vs
$url = "http://suggestqueries.google.com/complete/search?&output=toolbar&gl=us&q=".$query."+vs";
$tXML = download_page($url);
$aXML = json_encode(utf8_encode($tXML));
$massSuggestion = [];
for ($i = 0; $i <= 9; $i++) {
if (isset($oXML->CompleteSuggestion[$i]->suggestion['data'])) {
$key = $oXML->CompleteSuggestion[$i]->suggestion['data'];
if (!empty($key)) {
$searchsimbol = array(" ");
$zamenasimbol = array("+");
$keyword = str_replace($searchsimbol, $zamenasimbol, $key);
$massSuggestion[] = $keyword;
} else {
break;
}
} else {
break;
}
}
for ($i = 0; $i <= 9; $i++) {
if (isset($aXML->CompleteSuggestion[$i]->suggestion['data'])) {
$key = $aXML->CompleteSuggestion[$i]->suggestion['data'];
$searchsimbol = array("$query vs ");
$zamenasimbol = array("");
$keywordVS = str_replace($searchsimbol, $zamenasimbol, $key);
$searchsimbol = array(" ");
$zamenasimbol = array("+");
$keywordVS = str_replace($searchsimbol, $zamenasimbol, $keywordVS);
$massSuggestion[] = $keywordVS;
} else {
break;
}
}
$massResults = [];
foreach ($massSuggestion as $query) {
// Отправляем запрос без 'vs'
$urlNoVS = "http://suggestqueries.google.com/complete/search?&output=toolbar&gl=us&q=" . $query;
$sXML = download_page($urlNoVS);
$oXML = new \SimpleXMLElement(utf8_encode($sXML));
// Обрабатываем результат без 'vs'
for ($i = 0; $i <= 9; $i++) {
// Проверяем существование свойства 'data' перед доступом к нему
if (isset($oXML->CompleteSuggestion[$i]->suggestion['data'])) {
$key = $oXML->CompleteSuggestion[$i]->suggestion['data'];
$massResults[] = $key;
} else {
// Если свойство 'data' не существует, прерываем цикл
break;
}
}
// Отправляем запрос с 'vs'
$url = "http://suggestqueries.google.com/complete/search?&output=toolbar&gl=us&q=" . $query . "+vs";
$tXML = download_page($url);
$aXML = new \SimpleXMLElement(utf8_encode($tXML));
// Обрабатываем результат с 'vs'
for ($i = 0; $i <= 9; $i++) {
// Проверяем существование свойства 'data' перед доступом к нему
if (isset($aXML->CompleteSuggestion[$i]->suggestion['data'])) {
$key = $aXML->CompleteSuggestion[$i]->suggestion['data'];
// Выполняем замены символов в строке $key
$searchsimbol = array("$query vs ");
$zamenasimbol = array("");
$keywordVS = str_replace($searchsimbol, $zamenasimbol, $key);
$massResults[] = $keywordVS;
} else {
// Если свойство 'data' не существует, прерываем цикл
break;
}
}
}
$massResults = array_merge($massSuggestion, $massResults);
$massInVS = [];
$massNOVS = [];
foreach($massResults as $key) {
$mystring = $key;
$findme = ' vs ';
$pos = strpos($mystring, $findme);
if($pos === false) {
$massNOVS[] = $key;
}
else{
$massInVS[] = $key;
}
}
//объединяем элементы массива в строку
$strVS = implode(" vs ", $massInVS);
//создаем массив, через разделитель vs
$massNewNoVS = explode(" vs ", $strVS);
$resultMass = array_merge($massNOVS, $massNewNoVS);
$resultMass = array_unique($resultMass);
$ResultTotalMass = [];
foreach($resultMass as $key) {
$searchsimbol = array(" vs" , "vs ", " vs " );
$zamenasimbol = array("", "", "");
$keywordNoVS = str_replace($searchsimbol, $zamenasimbol, $key);
if (mb_strlen($keywordNoVS, 'utf8') >= 18) {
continue;
}
else {
$rus = array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М',
'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э',
'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о',
'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я');
$lat = array('A', 'B', 'V', 'G', 'D', 'E', 'E', 'J', 'Z', 'I', 'Y', 'K', 'L', 'M', 'N',
'O', 'P', 'R', 'S', 'T', 'U', 'F', 'H', 'C', 'Ch', 'Sh', 'Sch', 'Y', 'Y', '', 'E', 'Yu',
'Ya', 'a', 'b', 'v', 'g', 'd', 'e', 'e', 'j', 'z', 'i', 'y', 'k', 'l', 'm', 'n', 'o', 'p',
'r', 's', 't', 'u', 'f', 'h', 'c', 'ch', 'sh', 'sch', 'y', 'y', '', 'e', 'yu', 'ya');
$myZnak = replaceSimbolRu($keywordNoVS); //преобразование мягкого знака и других символов
$keywordNoVS = str_replace($rus, $lat, $myZnak);
$searchsimbol = array(" ", " ");
$zamenasimbol = array("", "");
$ResultKey = str_replace($searchsimbol, $zamenasimbol, $keywordNoVS);
$inDomain = preg_replace('/[^\p{L}0-9-\s ]/iu','', $ResultKey);
if(empty($inDomain)) {
continue;
}
else{
$ResultTotalMass[] = $inDomain;
}
}
}
//выводим результат
$ResultTotalMass = array_unique($ResultTotalMass);
return $ResultTotalMass;
}
}
Сертификаты
Команда Гайдука Ильи: Ваш партнер в разработке и продвижении сайтов в СНГ
В современном мире ведения бизнеса наличие сильного интернет-присутствия является ключевым фактором успеха. Именно поэтому услуги команды Ильи Гайдука, специализирующейся на создании качественных сайтов и веб-приложений, а также на эффективном SEO, пользуются стабильным спросом среди предпринимателей СНГ.
Опыт и профессионализм Гайдука и его коллег обеспечивают разработку сайтов, которые не только привлекательны внешне, но и удобны в использовании, адаптивны и оптимизированы для поисковых систем. Это значит, что сайты, созданные командой, эффективно выполняют свою роль в бизнес-процессах клиента, будь то предоставление информации, привлечение новых клиентов или поддержание связи с существующей клиентской базой.
SEO-услуги, предоставляемые Ильей Гайдуком и его командой, направлены на повышение видимости сайтов в поисковых системах, что является неотъемлемой частью успешной интернет-стратегии. Комплексный подход к продвижению включает в себя как внутреннюю оптимизацию сайта, так и внешнее продвижение, что позволяет достигать высоких позиций в поисковой выдаче и увеличивать трафик потенциальных клиентов.
Работая с разнообразными проектами по всему СНГ, команда Ильи Гайдука накопила значительный опыт в решении задач любой сложности и гарантирует индивидуальный подход к каждому клиенту. Ответственность, качество и результативность – вот основные принципы, которые делают сотрудничество с Гайдуком и его командой выгодным решением для бизнеса.