cotonti.com : Редиректы и SEO https://www.cotonti.com Neueste Themenbeiträge Cotonti en Sat, 10 Jan 2026 01:06:13 -0000 Roffun Я проверял ответ сервера по этому сервису,  404 работает корректно, сервер получает ответ:

HTTP/1.1 404 Not Found

А оформить 404 страницу - не проблема. 

]]>
Do, 27 Mär 2014 21:13:17 -0000
Macik #34297 Moool13:

И какой адрес у заглушки?

Прямого адреса у заглушки нет. Ее можно вызвать только из кода через cot_die_message();

]]>
Do, 17 Mai 2012 10:47:39 -0000
Moool13 Но может все-таки поменять редирект на код ошибки?

И какой адрес у заглушки?

]]>
So, 13 Mai 2012 12:58:46 -0000
Macik Понял. Спасибо за разъяснения.

]]>
So, 13 Mai 2012 11:46:53 -0000
Trustmaster Избавиться от редиректов на message в функциях типа cot_block() можно. Не скажу, что можно избавиться от них совсем.

Заглушки cot_die_message() поддерживают шаблоны: error.tpl и error.код_ошибки.tpl. Но там 1 шаблон на всю страницу. header/footer не поддерживаются, потому что их включение потянет за собой выполнение множества кода и плагинов, что неприемлемо, если произошла серьёзная ошибка.

]]>
So, 13 Mai 2012 06:45:08 -0000
Macik #34286 Trustmaster:

Редиректы и корректные HTTP-коды не совместимы в принципе. Хотим корректных кодов, надо убирать редиректы.

А если message.php будет после редиректа выдавать, скажем, 404 или 403, то браузеры и поисковики расценивают это как редирект на несуществующую страницу, то есть как ошибку логики сайта.

А на сколько реально (трудоёмко) избавиться от редиектов (я про те которые ведут на message.php) через header('Location') ?

Может тогда (на примере с отсутствием доступа) сделать вывод страницы «заглушки» (как в cot_die_message) с правильным кодом, а с него (при необходимости) редирект через мета тег на «главную».

Еще вопрос: какими факторами был обусловлен минималистичный дизайн «страниц заглушек»? Т.е. можно ли к ним (в теории) прикрутить стандартный (шаблонный) дизайн?

]]>
Sa, 12 Mai 2012 23:56:11 -0000
Moool13 Да, с messahe.php много неясностей..

Как по мне, лучше разбить на разные ф-ии пункты (1234), приведенные Macik'ом.

Добавлено 24 секунды спустя:

Хотим корректных кодов, надо убирать редиректы.

Я за уборку редиректов. Прпавильный ответ важней, имхо.

]]>
Sa, 12 Mai 2012 19:11:39 -0000
Trustmaster Редиректы и корректные HTTP-коды не совместимы в принципе. Хотим корректных кодов, надо убирать редиректы.

А если message.php будет после редиректа выдавать, скажем, 404 или 403, то браузеры и поисковики расценивают это как редирект на несуществующую страницу, то есть как ошибку логики сайта.

]]>
Sa, 12 Mai 2012 19:10:57 -0000
Macik #34281 Moool13:

Еще заметил - http://www.cotonti.com/datas/users/200_1645.png

Может, там тоже ответ 404 сделать?

 

Тут надо от разработчиков комментарий получить, на предмет, как и когда используется тот или иной вызов сообщений.

На сколько я понимаю, есть 4 основных сценария использования сообщений об ошибке:

  1. Вывод сообщений внутри страницы (например не все поля формы заполнены правильно) - используется cot_error($message, $src). Позволяет «копить ошибки в стек» и выводит их единым блоком;
  2. Вызов сообщения об ошибке (или запрос на подтверждение), подгружаемые через Ajax - используется «прямой» вызов messahe.php;
  3. Завершение скрипта с выводом ошибки (например «запрашиваемая страница не найдена», «раздел заблокирован»). Используется системными файлами через cot_die_message($code,[$header]). Особенность в том, что выводится страница «заглушка» без стандартного дизайна. Коды ошибки должны корректно передаваться на клиента;
  4. Ошибки доступа к ресурсам сайта, через cot_block($allowed). Используется редирект (через header('Location: ...')) на страницу с ошибкой (message.php), после чего может быть еще один редирект (meta тег "refresh"), например на страницу авторизации.

Еще вопрос к разработчикам:  при попытке обращения к ресурсам недоступным пользователю (например в админку без пароля) мы получаем сообщение 930 и редирект на страницу авторизации (или главную). Со стороны пользователя все ОК, однако, запрашиваемая сраница отдается с кодом «302 Found», а последующая страница с сообщением 930 отдается по коду «200», хотя по логике должен отдаваться код «401 Authorization Required» (или как указано в коде cot_block($allowed) «403 Forbidden»).  Вот иллюстрация.

Непонятки кроются в functions.php,см. функцию cot_redirect($url):
в строке 4598 мы устанавливаем заголовок «HTTP/1.1 403 Forbidden», пришедший к нам из  cot_block($allowed),
однако далее в строке 4619 имеем header('Location: '.$url), который «имеет приоритет» и естественно отдает 302.

Как решение этой проблемы - 930 сообщение должно отдавать в этом случае код 401 (или 403).

 

]]>
Sa, 12 Mai 2012 16:40:34 -0000
Moool13 Еще заметил - http://www.cotonti.com/datas/users/200_1645.png

Может, там тоже ответ 404 сделать?

]]>
Sa, 12 Mai 2012 07:54:43 -0000
Macik #34277 Oughtem:

о чём это говорит? я не понял

О том, что несуществующая ссылка содержащая русские буквы обрабатывается корректно и движок отдает 404 ошибку.

]]>
Fr, 11 Mai 2012 23:41:58 -0000
Oughtem о чём это говорит? я не понял

]]>
Fr, 11 Mai 2012 11:18:08 -0000
Macik Протестировал локально. (0.9.9)

Это отвечает на поставленный вопрос?

 

]]>
Mi, 09 Mai 2012 19:30:22 -0000
Moool13 Oughtem, создай новый тикет, укажи все подробности из этой темы (не забудь добавить что ответ 200 с незакодированными в %HEX ссылками)

]]>
Di, 08 Mai 2012 20:27:26 -0000
Oughtem ну а всё-таки, вопрос с 200 ответом несуществующих страниц остаётся открытым. Он заносится в TODO или так и останется? Судьба тикета Траста неизвестна.

]]>
Di, 08 Mai 2012 20:06:47 -0000
Moool13

Как русские домены работали б тогда?

Они работают в пуникоде.

]]>
Di, 08 Mai 2012 10:35:34 -0000
Oughtem тут проверить можно

Но разве ПС не "переводит а в %D0%B0?

Сам не знаю, но по логике вещей не должна. Как русские домены работали б тогда?

]]>
Mo, 07 Mai 2012 20:29:42 -0000
Moool13 Скопируй текст: http://www.cotonti.com/ааааа

]]>
Mo, 07 Mai 2012 20:16:55 -0000
Trustmaster trustmaster@linux-c72h:~/temp$ wget "http://www.cotonti.com/ааааааа" asking libproxy about url 'http://www.cotonti.com/%D0%B0%D0%B0%D0%B0%D0%B0%D0%B0%D0%B0%D0%B0' libproxy suggest to use 'direct://' --2012-05-07 23:43:23-- http://www.cotonti.com/%D0%B0%D0%B0%D0%B0%D0%B0%D0%B0%D0%B0%D0%B0 Распознаётся www.cotonti.com... 78.46.200.212 Устанавливается соединение с www.cotonti.com|78.46.200.212|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 404 Not Found 2012-05-07 23:43:23 ОШИБКА 404: Not Found.

Ой ли 200?

Никак не могу заставить что-либо запросить страницу http://www.cotonti.com/ааааа, всё время кодируется в %HEX, как и положено.

]]>
Mo, 07 Mai 2012 19:45:46 -0000
Moool13 Извиняюсь, дошло.

Но разве ПС не "переводит а в %D0%B0?  (закодированные ссылки выдают 404)

 

 

ЗЫ

В любом случае дыру нужно залатать

]]>
Mo, 07 Mai 2012 19:34:59 -0000
Oughtem вы мне показываете то, что я уже посмотрел, спасибо, познавательно. Вся шняга в том что поисковик, пройдя по вашей ссылочке пройдёт и будет думать, что это новая страница на сайте, т.к. она отдаёт код 200. ТС привёл цитату из хелпа, где говориться, что это не правильно. Понимаете суть?

]]>
Mo, 07 Mai 2012 18:47:59 -0000
Moool13 Oughtem, http://www.cotonti.com/%D0%B0%D0%B0%D0%B0%D0%B0%D0%B0%D0%B0%D0%B0

404

]]>
Mo, 07 Mai 2012 18:12:42 -0000
Oughtem Прошу прощения за ап некротопа, но этот вопрос до сих пор актуален. Сейчас 

http://www.cotonti.com/ffffffff правильно выдаёт

HTTP/1.1 404 Not Found

а http://www.cotonti.com/ааааааа (русскими буквами) выдаёт 

HTTP/1.1 200 OK

Есть решение?

]]>
Mo, 07 Mai 2012 18:03:13 -0000
Yusupov Mo, 17 Mai 2010 01:35:13 -0000 Trustmaster тикет.]]> Mo, 17 Mai 2010 01:07:16 -0000 Yusupov
Что происходит дальше: Когда пользователи заходят по старой ссылке через поиск, они попадают на страницу об ошибке, где сообщается, что такой страницы не существует и происходит редирект. Вроде все норм.

Теперь посмотрим поведение поискового робота в данном случае. Он сканирует старую ссылку и натыкается на страницу с сообщением ошибки и дальше редирект, но по логике он должен попасть на страницу с 404 ошибкой.

Вот выдержка из рекомендаций Яндекса:
http://help.yandex.ru/webmaster/?id=1108949
Soft 404. Одна из распространенных ошибок заключается в замене сообщения об ошибке 404 (страница не найдена) для несуществующих страниц на страницу-заглушку, которая возвращается с кодом ответа 200 (ОК). В этом случае поисковая система считает, что страница с некорректным адресом существует, и не удаляет ее из своей базы. Это приводит к более медленному индексированию полезных страниц на сайте.

Какие есть предложения на этот счет?]]>
So, 16 Mai 2010 21:36:43 -0000