Маркетер
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
YouTube 151 Подписчики
Telegram 241 Подписчики
VK 0 Подписчиков
Маркетер
Маркетер
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
  • Кодирование

Эти правильные «неправильные» ссылки

  • 22.04.2004

Автор статьи: Михаил Брод

>

 

Эти правильные "неправильные" ссылки

[обработка ошибок на сайте]материал подготовил: Дмитрий Турецкий
22.04.2004
 

Каждый пользователь интернета неоднократно сталкивался с различными ошибками на сайтах — в первую очередь, со знаменитой 404-й, говорящей о том, что запрошенный документ не найден на сервере. Иногда это происходит из-за банальной опечатки в адресе, но значительно чаще причиной является какая-то реорганизация, устроенная на сайте веб-мастером…

Чаще всего сообщение об ошибке является стандартным — мол, документ не найден, так что пишите администратору. И в большинстве случаев посетитель, увидев подобное сообщение, просто закрывает окно браузера и уходит куда-то еще… Поэтому сегодня мы поговорим о том, как удержать посетителя, пришедшего на ваш сайт по устаревшей и давно «сдохшей» ссылке… А заодно и о том, как сделать так, чтобы ссылки «дохли» не очень активно.

 

Для начала давайте разберем причины появления «битых» внутренних ссылок. Это могут быть опечатки, изменение навигации или устаревание (удаление) страниц. Будем разбираться по порядку.

Опечатки

Увы, от них никуда не деться. Люди любят ошибаться, клавиатуры — залипать, CapsLock — нажиматься вместо Shift и так далее, и так далее… именно для того чтобы вылавливать подобные ошибки, существует класс программ, называемых «линк-валидаторами», которыми рекомендуется эпизодически проверять ваш сайт — особенно после каких-то обновлений. Это, разумеется, не панацея, особенно если сайт очень большой и динамический, но все же использование линк-валидаторов позволяет выловить наиболее явные ошибки. Одной из очень удобных программ этого класса является бесплатная Xenu’s Link Sleuth, которая вдобавок еще и инсталляции не требует. Работает она очень шустро и создает удобный отчет в HTML-формате с указанием всей необходимой информации об обнаруженных ошибках.

Очень часто встречающейся причиной сбойных ссылок является несоблюдение регистра. Дело в том, что Unix (который используется на большинстве интернет-серверов), в отличие от Windows, различает регистр в именах файлов. Поэтому, если файл у вас называется Page.htm, а в ссылке прописано <a href=»page.htm»>, то в Windows (в частности, при тестировании на вашей домашней машине) все будет работать, а вот как только документ попадет в интернет, то вылезет та самая 404-я ошибка… Регистр стоит соблюдать и в том случае, если ваш сервер работает под Windows — ведь не исключено, например, что вы впоследствии захотите перенести свой сайт к другому провайдеру или организовать зеркало… А менять кучу документов в «авральном режиме» — не самое приятное времяпрепровождение…

Еще одной распространенной ошибкой является использование обратного слеша (\) вместо прямого (/) в адресах. большинство современных браузеров «наслышано» об этой привычке начинающих веб-мастеров, и в большинстве случает программа правильно догадывается о том, куда они хотели послать посетителя. Но так делают не все. Да и некоторые программы или скрипты, работающие на сервере, могут отказаться обрабатывать такие ссылки. Так что уделяйте этому внимание…

Наконец, стоит предусмотреть возможность того, что при ручном наборе адреса опечатается посетитель — если при просмотре логов сервера вы часто встречаете одни и те же опечатки, то добавьте их к скрипту error.php (о нем речь пойдет в конце заметки).

Изменение навигации

Очень много проблем и ошибок вызывает изменение навигации и структуры сайта. Например, есть у вас сайт со статьями. И все статьи вы выкладываете в корень с именами article1.html, article2.html и так далее. Соответственно, адрес этих статей — http://www.mysite.ru/article1.html, http://www.mysite.ru/article2.html… И все работает хорошо, но в какой-то момент вы вдруг решаете перенести все статьи в отдельную директорию. Соответственно, адреса статей меняются на http://www.mysite.ru/articles/article1.html. Вы тщательно правите все ссылающиеся документы, проверяете сайт линк-валидатором, и все, вроде бы, работает прекрасно, но… У кого-то в папке «избранное
» сохранилась старая ссылка, кто-то нашел старую распечатку вашего сайта, поисковики сохраняют скешированные страницы… И все это приводит к тому, что посетителям выдается все та же знаменитая 404-я ошибка…

404-я ошибка появляется из-за опечаток, переезда или удаления документов

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

Дело в том, что, когда сервер получает от браузера запрос на показ какого-то документа, он сначала посылает в ответ всяческие служебные заголовки, среди которых находится код ответа. Этот код обозначает результат обработки запроса (в частности, 404 — именно код ответа). Наиболее распространенными кодами являются 200 (все прошло гладко, ошибок не обнаружено), 301 (документ постоянно перемещен на другой адрес), 302 (документ временно перемещен на другой адрес) и 404 (документ не найден).

Так вот, чаще всего для переадресации посетителя используется либо mod_rewrite (который просто «втихую», то есть незаметно для пользователя, изменяет адрес и возвращает затребованный документ), либо клиентский скрипт (о том, как его создать и подключить — ниже), который использует что-то вроде PHP-команды

header(«Location: http://www.mysite.ru/articles/article1.html»);

Проблема же заключается в том, что в первом случае посетитель получает код ошибки 200 (и считает, что все прошло правильно), а во втором — 302 (и опять же, считает, что все в порядке). На первый взгляд, в этом нет ничего страшного — посетитель видит правильную страницу, сервер не отмечает никаких ошибок, и все работает прекрасно. Но вот поисковики при таком ответе сохраняют «старые» ссылки, браузеры и всякие роботы — тоже… Причем особенно актуален вопрос именно с поисковиками. Дело в том, что при выдаче результатов поиска они ориентируются на популярность вашей страницы, учитывая количество ссылок, на эту страницу указывающих. Но для поисковика http://www.mysite.ru/article1.html и http://www.mysite.ru/articles/article1.html — это две разные страницы! и если половина ссылок использует старый адрес, а половина — новый, то для поисковика популярность вашей страницы окажется вполовину заниженной. А если на вашем сайте страницы генерируются динамически, да еще и используют относительную адресацию (вида <a href=»article2.html»>), то при использовании старого адреса посетитель (и поисковик!) увидит ссылку <a href=»http://www.mysite.ru/article2.html»>… Не говоря уже о том, что все подобные ссылки будут считаться правильными и сохраняться поисковиками, и когда через год-другой вы снова поменяете навигацию и удалите переадресацию «очень старых» ссылок, то обнаружите множество 404-х ошибок в логах…

При смене расположения документов на сервере удобно использовать mod_rewrite

Отсюда ясно, что намного правильнее использовать код ошибки 301, чтобы указать, что страница переехала постоянно. К счастью, сделать это совсем несложно — при использовании mod_rewrite достаточно написать, например

RewriteRule ^/(article[0-9]+\.html) /articles/$1 [R=301, L]

а при использовании PHP-скрипта

header(«HTTP/1.1 301 Moved Permanently»);
header(«Location: http://www.mysite.ru/articles/article1.html»);

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

RewriteRule ^(article[0-9]+\.html) /articles/$1 [L]

Удаление страниц

Как известно, если сайт не обновляется, то он весьма быстро теряет свою аудиторию. А если обновляется, то рано или поздно, но документы на нем устаревают и удаляются. Но старые ссылки сохраняются в самых разных местах и довольно регулярно «всплывают» — я, например, до сих пор регистрирую заходы на сайт по ссылкам, которые уже лет шесть как не существуют!

Что же делать, если посетитель интересуется документом, которого все равно уже нет? Можно, конечно, не делать ничего и соверш

Алексей Волков

Предыдущий материал
  • Управление и организация бизнеса

Аббревиатуры иностранных компаний

  • 22.04.2004
  • Алексей Волков
Read More
Следующий материал
  • Кодирование

Версии RSS

  • 27.04.2004
  • Алексей Волков
Read More
Вас также может заинтересовать
Read More
  • CSS

Формализация CSS

  • Алексей Волков
  • 23.05.2012
Read More
  • JQuery

Хитрости JQuery

  • jokar
  • 23.05.2012
Read More
  • JQuery

Закруглить углы изображения при помощи JQuery

  • jokar
  • 21.05.2012
Read More
  • JQuery

Знакомьтесь: Nivo Slider от jQuery

  • tamo
  • 28.09.2010
Read More
  • JQuery

Первое знакомство с jQuery: часть первая.

  • tamo
  • 26.09.2010
Read More
  • JQuery

Продолжаем изучать jQuery: часть вторая. Учимся выделять элементы.

  • tamo
  • 26.09.2010
Read More
  • JQuery

Продолжаем изучать jQuery: работа с анимацией. Часть третья.

  • tamo
  • 26.09.2010
Read More
  • Flash

TiltViewer — 3D Flash галерея

  • Nika75
  • 21.09.2010

Добавить комментарий

Для отправки комментария вам необходимо авторизоваться.

Свежие посты
  • Дайджест постов Сергея Людкевича
    • 12.09.24
  • Как юристы тормозят бизнес
    • 30.08.24
  • Продвижение оптовых кампаний в Яндекс Директ
    • 06.03.24
  • Cарафанное радио
    • 13.01.24
  • 5-55: История компании
    • 01.03.23
Маркетер
  • О проекте
  • Информационное спонсорство
  • Рекламным агентствам
  • Ссылки
(с) ООО "Маркетер". Официальный сайт. Маркетер: Статьи про рекламу, маркетинг, public relations, интернет

Введите ключевые слова для поиска и нажмите Enter