Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Эти правильные «неправильные» ссылки

 

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

 

 

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

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

загрузка...

 

 

А заодно и о том, как сделать так, чтобы ссылки «дохли» не очень активно.

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 и так далее. Соответственно, адрес этих статей — /redir.php?url=www.mysite.ru%2Farticle1.html%2C /redir.php?url=www.mysite.ru%2Farticle2.html... И все работает хорошо, но в какой-то момент вы вдруг решаете перенести все статьи в отдельную директорию. Соответственно, адреса статей меняются на /redir.php?url=www.mysite.ru%2Farticles%2Farticle1.html. Вы тщательно правите все ссылающиеся документы, проверяете сайт линк-валидатором, и все, вроде бы, работает прекрасно, но... У кого-то в папке «Избранное» сохранилась старая ссылка, кто-то нашел старую распечатку вашего сайта, поисковики сохраняют скешированные страницы... И все это приводит к тому, что посетителям выдается все та же знаменитая 404-я ошибка...

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

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

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

header("Location: /redir.php?url=www.mysite.ru%2Farticles%2Farticle1.html");

Проблема же заключается в том, что в первом случае посетитель получает код ошибки 200 (и считает, что все прошло правильно), а во втором — 302 (и опять же, считает, что все в порядке). На первый взгляд, в этом нет ничего страшного — посетитель видит правильную страницу, сервер не отмечает никаких ошибок, и все работает прекрасно. Но вот поисковики при таком ответе сохраняют «старые» ссылки, браузеры и всякие роботы — тоже... Причем особенно актуален вопрос именно с поисковиками. Дело в том, что при выдаче результатов поиска они ориентируются на популярность вашей страницы, учитывая количество ссылок, на эту страницу указывающих. Но для поисковика /redir.php?url=www.mysite.ru%2Farticle1.html и /redir.php?url=www.mysite.ru%2Farticles%2Farticle1.html%26nbsp%3B%26mdash%3B это две разные страницы! И если половина ссылок использует старый адрес, а половина — новый, то для поисковика популярность вашей страницы окажется вполовину заниженной. А если на вашем сайте страницы генерируются динамически, да еще и используют относительную адресацию (вида <a href="article2.html">), то при использовании старого адреса посетитель (и поисковик!) увидит ссылку <a href="/redir.php?url=www.mysite.ru%2Farticle2.html">... Не говоря уже о том, что все подобные ссылки будут считаться правильными и сохраняться поисковиками, и когда через год-другой вы снова поменяете навигацию и удалите переадресацию «очень старых» ссылок, то обнаружите множество 404-х ошибок в логах...

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

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

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

header("HTTP/1.1 301 Moved Permanently");
header("Location: /redir.php?url=www.mysite.ru%2Farticles%2Farticle1.html");

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

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

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

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

Что же делать, если посетитель интересуется документом, которого все равно уже нет? Можно, конечно, не делать ничего и совершенно честно показать ему стандартную 404-ю страницу. Но лучше будет эту страницу оформить как-то более интересно — например, кратко сказать о вашем сайте и о том, что на нем можно найти, предложить посмотреть какие-то близкие по теме документы или, на худой конец, какой-нибудь анекдот вывести, чтобы посетителю было не так обидно. А еще лучше при удалении старого документа оставить на его месте уведомление о том, что он был удален по таким-то и таким-то причинам, а аналогичная, но более свежая версия находится там-то и там-то — в этом случае даже 404-я ошибка появляться не будет.

«Собственноручная» обработка 404-й ошибки достаточно легко реализуется с помощью скриптов и директивы ErrorDocument сервера Apache. Например, если в конфигурации своего сервера вы напишете:

ErrorDocument 404 error.php

то при возникновении 404-й ошибки посетителю будет показана не стандартная «ошибочная» страница, а ваш скрипт. Что именно этот скрипт будет делать — решать вам, я же попробую подкинуть несколько идей:

  • записать в файл, откуда посетитель пришел (referer), и какой документ хотел посмотреть (после этого вы сможете связаться с веб-мастером ссылающегося сайта и предложить ему исправить ссылку на более свежую);
  • проверить запрошенный адрес на соответствие известным вам адресам «старого образца» и попытаться «догадаться», что именно посетитель хотел увидеть. После этого «перекинуть» его на новый адрес с помощью все того же кода 301;
  • если точно определить желание посетителя не удалось, то можно ему об этом написать и предложить несколько вариантов, которые, как вам кажется, похожи на запрошенный документ;
  • вывести форму для поиска по сайту и основную навигацию по разделам сайта;
  • проверить, не идет ли сканирование сервера с целью поиска «дыр» в защите (например, запрос formmail.pl), и если да — заблокировать IP-сканера на часок. Список запросов от сканеров и различных червей можно пополнять, почитывая соответствующие листы рассылки и группы usenet или же просто просматривая лог;
  • вывести случайную страницу (естественно, предупредив посетителя, что запрошенная им страница не существует) — это может помочь удержать посетителя, если ваш сайт представляет собой какую-то коллекцию сравнительно однотипных вещей — например, фотогалерею;
  • перенаправить посетителя на www.listsoft.ru — программы-то ему наверняка нужны!

    Вот, пожалуй, и все. Успехов вам и вашему сайту! И чтобы свеженаписанный error.php почаще простаивал без работы!

    Ссылки по теме




    Статья получена: hostinfo.ru
    загрузка...

     

     

  • Наверх


    Постоянная ссылка на статью "Эти правильные «неправильные» ссылки":


    Рассказать другу

    Оценка: 4.0 (голосов: 16)

    Ваша оценка:

    Ваш комментарий

    Имя:
    Сообщение:
    Защитный код: включите графику
     
     



    Поиск по базе статей:





    Темы статей






    Новые статьи

    Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

    Вместе с этой статьей обычно читают:

    Mazda 6: Эти глаза не против

    В тесте участвуют автомобили: Mazda 6 Агрессивная внешность новой «Мазды» отлично сочетается с настоящим спортивным характером. Ну вот, совсем же другое дело – просто любо-дорого посмотреть! «Мазда-6» – это кошачий силуэт, стильные колесные диски, спицы которых напоминают изогнутый восточный ятаган, но главное, конечно, фары!

    » Японские автомобили - 2370 - читать


    Toyota Corolla: Не только пиво бывает правильным

    В тесте участвуют автомобили: Toyota Corolla Посмотреть другие фото (11) Едва появившись на свет, за первую половину 2003 года «Тойота-Королла» разошлась у нас тиражом в 2946 экземпляров. И это при том, что дилерам хронически не хватало количества и ассортимента выделяемых для России машин, а модели-конкуренты – одна другой лучше.

    » Японские автомобили - 2451 - читать


    Toyota Corolla: Все правильно сделали

    В тесте участвуют автомобили: Toyota Corolla Посмотреть другие фото (13) Ее успех на российском рынке достоин подражания. Лучше, чем «Короллу», в «гольф»-классе раскупают только гораздо более дешевые «Лансер» и «Фокус» да узбекскую старушку «Нексию».

    » Японские автомобили - 2691 - читать


    Платные ссылки – это зло?

    Поисковики, в особенности Google, твердят: не используйте их. Но некоторые оптимизаторы говорят о том, что платные ссылки работают. Понижают ли платные ссылки качество поиска?

    » Продвижение и оптимизация - 3362 - читать


    Правильное дыхание во время беременности и родов. Зачем это нужно?

    Сегодня каждый знает о том, что будущей маме необходимо учиться "правильно" дышать и делать специальные дыхательные упражнения на протяжении всей беременности. Давайте попробуем понять, зачем это нужно. В организме женщины, ждущей ребенка, происходят значительные изменения.

    » Беременность и роды - 3235 - читать



    Статья на тему Интернет » Интересное в сети » Эти правильные «неправильные» ссылки

    Все статьи | Разделы | Поиск | Добавить статью | Контакты

    © Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

    Энциклопедия Art.Thelib.Ru