- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Хочу установить на сайте GZIP сжатие HTML с помощью функции "ob_start" (PHP). Вопрос: не повлияет ли это на индексацию поисковиками, поисковики умеют делать разархивацию?
сам сталкивался с этой проблемой, попал мне такой сайтец, в выдаче небыло вообще, убрали сжатие сразу взлетел на 57 место по конкурентному запросу, то ли я так хорошо поработал. то ли...
Умеют, и на индексацию это не влияет.
Anton111, всякий нормальный http-товарищ, в частности поисковый робот или браузер, при запросе всякой страницы говорит, что он понимает, а чего нет :)
Т.е. если кто-то или что-то не понимает gzip, то он этого дела просто не запросит и получит обычную несжатую страницу, если же понимает, о чем он серверу сообщает, то сервер, если соответственно настроен, выдаст страницу в gzip'е...
Tow, на индексацию это дело по определению не может влиять, просто видать на том сервере что-то "недонастроили" :D
Anton111, всякий нормальный http-товарищ, в частности поисковый робот или браузер, при запросе всякой страницы говорит, что он понимает, а чего нет :)
Т.е. если кто-то или что-то не понимает gzip, то он этого дела просто не запросит и получит обычную несжатую страницу, если же понимает, о чем он серверу сообщает, то сервер, если соответственно настроен, выдаст страницу в gzip'е...
Понятно. Значит можно ставить сжатие. Спасибо!
function miscGzHandler($buf) {
$zipRatio = 5; // 0 <= zipRatio <= 9
$zipDebug = 0; // 0 <= zipDebug <= 2
if(empty($buf) || !isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
header('Content-length: '.strlen($buf));
return $buf;
}
$enc_ar = explode(',', $_SERVER['HTTP_ACCEPT_ENCODING']);
$mayZip = false; $encoding = '';
foreach($enc_ar as $enc) {
$enc = trim($enc);
if('gzip' === $enc || 'x-gzip' === $enc) {
$mayZip = true;
$encoding = $enc;
break;
}
}
if(!$mayZip) {
header('Content-length: '.strlen($buf));
return $buf;
}
$bufZiped = gzcompress($buf, $zipRatio);
if($zipDebug) {
$bufLen = strlen($buf);
$bufZipedLen= strlen($bufZiped);
$buf .= (2 == $zipDebug) ? "\n\n<!"."--\n" : "\n<br><pre style='width:1%; border:3px ridge; background-color:white; color:gray; font:xx-small Lucida Console, Courier New; padding:3px; margin:10px;'>\n";
$buf .= "Contenido HTML : ".$bufLen." bytes\n";
$buf .= "Transferidos : ".$bufZipedLen." bytes\n";
$buf .= "Nivel GZip : ".$zipRatio."\n";
$buf .= "Tama+o final : ".sprintf("%.1f%%", ($bufZipedLen/$bufLen)*100)."\n";
$buf .= "Diferencia : ".sprintf("%.1f", $bufLen/$bufZipedLen)." veces\n";
$buf .= (2 == $zipDebug) ? "--".">\n" : "</pre>\n";
$bufZiped = gzcompress($buf, $zipRatio);
}
$bufZiped = pack('cccccccc',0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00)
.substr($bufZiped, 0, -4)
.pack('V',crc32($buf))
.pack('V',strlen($buf));
header('Content-encoding: '.$encoding);
header('Content-length: '.strlen($bufZiped));
return $bufZiped;
}
я вот такое сжатие использую - очень хорошо сжимает и никаких проблем с поисковиками
FreeMarket, Спасибо за помошь!
А зачем так извращаться — не проще поставить модуль к Апачу?
да, но модуль будут использовать все сайты на сервере, а так будет использовать только определённый сайт и при этом нагрузки на сервер не будет
На сколько я знаю, ставят модуль не для апаче а для php...и его легко можно настроить не то что для сжатия отдельных сайтов, а даже для сжатия и отдельных страниц...так что эта функция абсолютно неэффективна, сжатие в php намного быстрее, из-за того что выполняется на уровне ядра.
Нет. И в apache и в php модули написаны на C и используют zlib. Так что здесь вопрос не в скорости, а в удобстве.
"выполняется на уровне ядра" - к чему бы это? :)