Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с индексацией и сжатым контентом  (Прочитано 27760 раз)
0 Пользователей и 1 Гость смотрят эту тему.
zorky
Гость
« : 11-01-2009 09:56 » 

Вот что пшел yandex:
Сервер, на котором находится Ваш сайт, некорректно отдает нашему роботу сжатый
контент. На данный момент видно, что сервер, отдавая страницу, в заголовке
заявляет реальный размер страницы вместо размера сжатого файла. от yandex

и Хостинг центр:
Здравствуйте!
Действительно, Ваша страница отдает в заголовке "Content-Length". Однако, наши
сервера по умолчанию этого не делают.
Нами был создан скрипт "/test/test.php" на примере которого это
подтверждается:

-----------------------------------
$ telnet rattanpr.ru 80
Trying 89.111.176.83...
Connected to rattanpr.ru.
Escape character is '^]'.
GET /test/test.php HTTP/1.1
Host: rattanpr.ru

HTTP/1.1 200 OK
Server: nginx/0.5.35
Date: Fri, 28 Nov 2008 07:47:03 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: close
X-Powered-By: PHP/4.3.9
Set-Cookie: Apache=89.111.168.2.88061227858423802; path=/; expires=Sat,
28-Nov-09 07:47:03 GMT

4
test
0

Connection closed by foreign host.
----------------------------------


Для решения данной проблемы Вам необходимо обратиться к разработчикам Вашего
сайта - обратился - месяц не могут найти проблему.

Помогите! Где это исправить?!
Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #1 : 11-01-2009 10:35 » 

Ничего не понял, что ты хочешь от нас узнать? Как сделать так что бы контент отдаваемый твоим сайтом сжимался или что? Если так, то спроси как делали test.php
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
zorky
Гость
« Ответ #2 : 11-01-2009 10:38 » 

Ну суть в этом:
Сервер, на котором находится Ваш сайт, некорректно отдает нашему роботу сжатый
контент. На данный момент видно, что сервер, отдавая страницу, в заголовке
заявляет реальный размер страницы вместо размера сжатого файла." - это как исправить найти не могут
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 11-01-2009 10:41 » 

zorky, если ты не понимаешь в этом деле, то как можно тебе что-либо советовать - мы же на разных языках говорить будем.

Если по делу: саппорт все уже сказал. Уберите из движка выдачу заголовка Content-Length - пусть будет без него, или выдавайте его корректно.

McZim, по моему это очевидно Ага

Код:
<?php echo "test"?>
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #4 : 11-01-2009 10:42 » 

RXL, ни разу не работал ни с роботами ни с пыхом, поэтому туплю Улыбаюсь
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
zorky
Гость
« Ответ #5 : 11-01-2009 10:44 » 

Ребят, ну в том то и дело. Те, кто "понимает" - уже месяц пытаются сделать все - и никак не могут найти где собственно исправлять. Поэтому говорите, а я хотя бы передал тем, кто должет все это исправлять!
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 11-01-2009 10:50 » 

zorky, пусть попробуют запускать php в командной строке, по анализируют результаты, перед выводом пусть посмотрят headers_list (для php5) - задача для php-программиста средней руки и не на месяц - на диагностику одного дня хватит.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zorky
Гость
« Ответ #7 : 11-01-2009 11:35 » 

Коллега прислал:
Вообще-то в настоящий момент сервис отдает не совсем это. Сейчас содержимое отдается в сжатом виде. Соответственно в заголовке пакета есть такая запись:

Content-Encoding: gzip

А раз так, то длину контента возвращать и не нужно: она зашита в сжатом теле пакета.
Кроме того замечу, что такой пакет отдается браузеру (на IE пробовал), возможно роботу будет отдан несколько иной пакет. Обычно различий не делают, но не исключено. Из приведенного вами примера не видно, каким агентом тестировали скрипт.
Впрочем если изначально запросить несжатую страницу, в заголовках ответа так же нет длины тела пакета.

Если хостер работает правильно, ну или по крайней мере одинаково для всех, то дело скорее всего в сайте. Кроме как "обратитесь к разработчикам" тут ничего больше не посоветуешь, разве что при следующем обращении воспользуйтесь скипидаром для натирания наиболее нежных мест разработчиков.



Скажите, как можно протестировать скрипт обработки содеждимого?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 11-01-2009 12:09 » 

zorky, какие у тебя отношения с разработчиками?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zorky
Гость
« Ответ #9 : 11-01-2009 12:25 » 

Дело в том, что когда я устроился на работу, сайт был "сдан", и мне его совственно отдали наполсять и раскручивать. Начали раскрутку по ключевым, смотрб, результаты ну очень низкие, оказавается из-за ошибки в настройках сайта, у нас сайт не переиндексировался месяца 3 уже. Отношения строятся так - звоню, говорю что за беда, они признают косяк - но вот уже месяц - а воз и ныне там.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 12-01-2009 06:53 » 

zorky, найди других программеров. Я думаю, что эти просто не хотят работать или у них не осталось толковых программеров.

Найти, где выводятся заголовки и где включается компрессия - дело пяти минут. Конечно, чтобы разобраться в логике кода нужно будет время. Во всяком случае, найти, где убрать вывод заголовка Content-Type можно достаточно быстро, а потом уже неторопясь разобраться, как отдавать его корректно. Собственно, все ключевые слова уже несколько раз повторены.

Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zorky
Гость
« Ответ #11 : 12-01-2009 10:00 » 

Да, спасибо.

Вот что еще заметил:

Ответ сервера был таков:
{
"status_code": 200,
"ok": true,
"headers": {
"Content-Length": "15277",
"Expires": "Mon, 26 Jul 1997 05:00:00 GMT",
"Content-Language": "RU",
"Content-Encoding": "gzip",
"Set-Cookie": "PHPSESSID=f1fe375e5615020acb24f92dfef661ff; path=\/",
"X-Google-Cache-Control": "remote-fetch",
"Vary": "Accept-Encoding",
"X-Powered-By": "PHP\/4.3.9",
"Server": "nginx\/0.5.35",
"Accept-Charset": "windows-1251",
"Connection": "keep-alive",
"Via": "HTTP\/1.1 GWA",
"Pragma": "no-cache",
"Cache-control": "private, no-cache, must-revalidate",
"Date": "Mon, 12 Jan 2009 08:31:07 GMT",
"Content-Type": "text\/html; charset=windows-1251"
}
}


В .htaccess добавил строчку: php_value session.use_trans_sid 0
ответ изменился так:

{
"status_code": 200,
"ok": true,
"headers": {
"Content-Length": "5826",
"Expires": "Mon, 26 Jul 1997 05:00:00 GMT",
"Content-Language": "RU",
"Content-Encoding": "gzip",
"Set-Cookie": "PHPSESSID=944a8ee0c3ae2ed84795914f52e7a10c; path=\/",
"X-Google-Cache-Control": "remote-fetch",
"Vary": "Accept-Encoding",
"X-Powered-By": "PHP\/4.3.9",
"Server": "nginx\/0.5.35",
"Accept-Charset": "windows-1251",
"Connection": "keep-alive",
"Via": "HTTP\/1.1 GWA",
"Pragma": "no-cache",
"Cache-control": "private, no-cache, must-revalidate",
"Date": "Mon, 12 Jan 2009 09:21:30 GMT",
"Content-Type": "text\/html; charset=windows-1251"
}
}

т.е. Content-Length - уменьшился.

Скажите, решема ли проблема таким способом?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 12-01-2009 16:42 » 

zorky, это несвязанные вещи.

Вопрос: что это за вывод - в какой момент и где получены приведенные данные?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zorky
Гость
« Ответ #13 : 13-01-2009 09:58 » 

h**p://json-head.appspot.com/?url=http://rattanpr.ru/ вот тут.

После того как в .htaccess добавил строчку: php_value session.use_trans_sid 0 - размер страницы уменьшился, так как этим убрал PHPSESSID


« Последнее редактирование: 13-01-2009 11:35 от RXL » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 13-01-2009 11:33 » 

h**p://json-head.appspot.com/?url=http://rattanpr.ru/ вот тут.
Фигня. Пользуйся telnet и все сам увидишь и главное - будешь контролировать процесс.
Короче, это заголовки, полученные клиентом, но не известно, кто что тут выдал. Для полноценной диагностики надо получить заголовки, заданные программой - мало ли что там Апачь или какая-нибудь примочка сотворили.

zorky, у тебя SID присутствует и до, и после.

Кстати, что за "галочка" у тебя в тексте встречается?
« Последнее редактирование: 13-01-2009 11:38 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zorky
Гость
« Ответ #15 : 13-01-2009 11:46 » 

как запускать: rattanpr.ru и порт (80?)
Прошу прощения, SID - это что?
И про какую галочку вы говорите?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 13-01-2009 13:13 » 

SID - Session ID.

session.use_trans_sid



Тестировать так:

1. Готовишь файл запроса. Тут можно указать все нужные заголовки и даже сформировать POST-запрос с передачей параметров.

GET / HTTP/1.0
Host: rattanpr.ru
User-Agent: xxxxxxx

2. Копируешь это дело в буфер обмена.

3. В консоли CMD запускаешь
telnet rattanpr.ru 80

4. Вставляешь свой запрос из буфера и дополняешь переводом строки. Если объем выводимого текста большой, то стоит повторить запрос с выводом в файл:
telnet rattanpr.ru 80 >log.txt




Насчет галочки понял - это последовательность из бекслеша и слеша - просто сливается на экране в непонятный символ.



Увидеть, какие заголовки создает именно php-программа: в месте ее завершения вызвать ф-ию headers_list и сохранить куда-нибудь возвращаемый ею массив (выводить в браузер не стоит - если вывод идет сжатый, то фигня может получится).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zorky
Гость
« Ответ #17 : 14-01-2009 07:44 » 

Извини, а User-Agent - что писать?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 14-01-2009 08:19 » 

zorky, что угодно Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
zorky
Гость
« Ответ #19 : 14-01-2009 08:33 » new

Вот ответ

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
                                                  <HTML><HEAD>
                                                              <TITLE>301 Moved P
ermanently</TITLE>
                  </HEAD><BODY>
                               <H1>Moved Permanently</H1>
                                                         The document has moved
<A HREF="h**p://hc.ru/">here</A>.<P>
                                    <HR>
                                        <ADDRESS>Apache/1.3.34 Server at tux.rbc
.ru Port 80</ADDRESS>
                     </BODY></HTML>
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 14-01-2009 08:38 » 

zorky, что ты набирал в телнетовской строке?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
zorky
Гость
« Ответ #21 : 14-01-2009 08:46 » 

Вот теперь такой ответ на запрос /test/test.php

HTTP/1.1 200 OK
Server: nginx/0.5.35
Date: Wed, 14 Jan 2009 08:43:27 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
X-Powered-By: PHP/4.3.9
Set-Cookie: Apache=89.222.214.233.5716712319226063; path=/; expires=Thu, 14-Jan-
10 08:43:25 GMT
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines