Что такое URL адреса

Что такое URL адреса (урл, uri), чем отличаются абсолютные и относительные ссылки для сайта

Что такое URL адреса, нюансы индексации сайта

Итак, давайте посмотрим что такое URL, зачем он нужен и из каких частей состоит. Как вы знаете, поисковые системы производят индексацию сайтов ни как единого целого, а как совокупность отдельных web страниц. Те страницы вашего сайта, которые будут проиндексированы поисковиком, будут участвовать в ранжировании по различным поисковым запросам (читайте подробнее о подборе ключевых слов в Яндексе (wordstat.yandex.ru) на основе статистики запросов Яндекса, Google.ru и Рамблера, а так же про ранжирование и релевантность).

Ну так вот, любой документ (web страница) в сети интернет имеет свой уникальный адрес, который очень часто называют аббревиатурой URL (урл), которая расшифровывается как Uniform Resource Locator (определитель местонахождения ресурса). URL, равно как и протокол HTTP, а так же как и язык гипертекстовой разметки Html с валидатором W3C, был разработан и создан одним и тем же человеком — Тимом Бернерсом-Ли (отцом основателем проекта Всемирная паутина WWW — World Wide Web).

По большому счету URL является частным случаем другого идентификатора под названием URI (Uniform Resource Identifier — унифицированный идентификатор ресурса), но нам с вами все эти тонкости скорее всего будут не нужны (излишни) при работе со своим сайтом и его платной или бесплатной раскруткой. Давайте попробуем в общих чертах разобраться с тем, что такое URL и из каких частей он состоит, а потом перейдем к относительным и абсолютным ссылкам.

URL адрес — это способ однозначно указать на что-то в интернете. URL используется не только для работы с сайтами по протоколу http, но нас, конечно же, будет интересовать именно применение идентификатора URL применительно к Web (протоколы http и https). Например, URL применительно к Web будет выглядеть примерно так (чуть ниже я приведу общую блок-схему построения URL, но пока хотелось бы начать с простого частого примера):

1
http://ktonanovenkogo.ru/papka/fail.html

В этом примере URL часть «http» обозначает протокол передачи данных или же, если следовать терминологии спецификации URL, схему (ибо тот же mailto не является протоколом передачи данных, в отличии от http или ftp, но используется в URL адресах). Далее в приведенном примере URL адреса следует «ktonanovenkogo.ru» (или же это может быть «www.ktonanovenkogo.ru») — это так называемое доменное имя или же имя узла (хоста).

В Web-е есть специфика обозначения доменного имени в URL адреса сайта — доменное имя может быть с WWW или без WWW. Для того, чтобы успешно можно было раскрутить свой сайт, очень важно будет склеить два зеркала вашего сайта с WWW или без WWW через 301 редирект. Зачастую, склейку зеркал за вас может выполнить хостер, но это обязательно нужно будет проверить.

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

Ничего плохого в использовании WWW в URL адресе сайта нет, но нужно четко определить главное зеркало (через Яндекс Вебмастер и через Гугл Вебмастер, а так же через прописывание директивы Host в файл robots.txt вашего сайта), которое будет индексироваться поисковиками и которое будет участвовать в ранжировании.

У меня, например, главное зеркало — это «ktonanovenkogo.ru», т.е. «без WWW» и, если вы добавите к любому моему URL приставку WWW, то произойдет автоматическое перенаправление на URL «без WWW».

1
http://www.ktonanovenkogo.ru/papka/fail.html

Склеить можно не только описанные выше зеркала, но и любые другие доменные имена, принадлежащие вам. Например, если возможно различное написание латинскими буквами какого-либо известного бренда, то покупаются все возможные доменные имена (варианты написания с ошибками, в разных доменных зонах и т.п.) и склеиваются между собой. Тогда, при обращении к сайту по любому из возможных URL адресов, будет открываться главное зеркало.

Но вернемся к нашим баранам — URL адресам. Та часть URL, которая расположена за третьим слешем (/) — в нашем примере это «papka/fail.html», называется путем до конкретного документа или файла. В нашем случае — это документ «fail.html», который лежит в папке «papka», которая в свою очередь лежит в корневой папке сайта (корне сервера, который в URL всегда соответствует третьему слешу).

Но это еще не все, что может быть записано в URL адресе. Посредством URL различные движки сайта (CMS) передают так называемые GET параметры, которые добавляются в самый конец URL адреса веб страницы после простановки знака вопроса, например, так:

1
http://www.ktonanovenkogo.ru/papka/fail.html?print=yes

Вся беда в том, что для поисковых систем два таких URL адреса (с и без Get параметров) являются абсолютно разными веб документами и каждый из них будет проиндексирован поисковиками. К одному и тому же URL адресу веб страницы может добавляться вашей Cms сколько угодно много различных Get параметров и все это будет проиндексировано поиском Яндекса и Гугола если вы не создадите соответствующие запреты в файле robots.txt. В противном случае поисковики вас могут пессимизировать за большое количество дублированного контента.

Так же, например, к главной странице моего ресурса можно обратиться по двум разным URL адресам:

1
http://ktonanovenkogo.ru
1
http://ktonanovenkogo.ru/index.php

(даже по трем — еще и http://ktonanovenkogo.ru/) и в любом случае откроется главная страница. Это довольно плохо, т.к. поисковики найдут у меня три разных страницы (имеющих с их точки зрения разные URL адреса), но с одинаковым содержанием, что поисковикам ох как не нравится. Поэтому у меня сделано так, что при вводе любого из приведенных чуть выше URL адресов будет выполнено перенаправление на URL вида «http://ktonanovenkogo.ru/». Делается это, как правило, с помощью 301 редиректа в файле .htaccess, либо напрямую в настройках сервера вами самими, либо вашим хостером.

Структура URL адреса, кодировка в URL-encoded

Вообще, полную блок-схему URL адреса можно представить так:

chto-takoe-url

В URL адресах, используемых в Web (открытый протокол http и шифрованный протокол https), как правило, не используют логин, пароль и порт, хотя для доступа на платные сайты, может понадобиться указание логина и пароля:

1
http://login:pass@ktonanovenkogo.ru/platniy-dostup.html

Так же довольно часто используются пароли для входа на Ftp сервер, где так же может использовать не стандартный порт, отличный от используемого по умолчанию для этого протокола. Тогда для доступа к ресурсам такого Ftp сервера потребуется вводить подобный URL адрес:

1
ftp://login:pass@ktonanovenkogo.ru:6789/samoe-nujnoe/cimus

Про GET параметры, которые могут прописываться в URL адресе после знака вопроса мы уже говорили и упоминали, что следует обязательно запрещать к индексации страницы, в URL адресах которых имеются подобные параметры. Но кроме всех этих вещей, которые могут входить в состав URL адреса, на приведенной чуть выше блок-схеме вы можете видеть так называемый якорь, который добавляется в самом конце урл после разделяющего символа решетки «#» (URL ссылки, содержащие якоря, обычно называют хеш ссылками).

Якоря заранее проставляются внутри Html кода веб документа (страницы), а затем, добавив название этого якоря к URL адресу страницы через символ решетки «#», вы сможете перейти не на начало этой веб страницы, а сразу к тому месту, где был проставлен якорь (браузер Гугол Хром, Мазила, Опера или даже Интернет Эксплорер автоматически прокрутит страницу до нужного места). Про работу с гиперссылками в Html и в том числе про организацию навигации на странице с помощью хеш ссылок (якорей) я планирую подробно рассказать в ближайшей статье рубрики Html для чайников.

Еще стоит сказать о различных кодировках, которые используются в URL адресах. Без перекодирования в URL можно использовать только ограниченное количество символов. Обычно советуют ограничиться набором из символов: [0-9],[a-z],[A-Z],[_],[-].

Вообще, во избежании ошибок, я бы советовал задавать название файлов и URL страниц своего сайта в нижнем регистре, ибо для юникс подобных систем (на которых работает большинство веб серверов) символы в верхнем и нижнем регистре являются разными (в отличии от Windows). Из-за разных регистров может возникнуть никому не нужная путаница. Использование каких-либо других символов (включая русские) в URL адресах допустимо, но при этом будет происходить перекодировка этих самых символов (URL Encoding).

Что опечаливает, так это неудобоваримый вид URL адресов с символами, например, кириллицы, которые получаются после перекодировки. Каждый символ кириллицы кодируется с помощью двух байт в Юникоде (UTF-8), записанных в шестнадцатеричном коде и разделенных знаком процента «%». Например, URL адрес:

1
http://ktonanovenkogo.ru/кто на новенького/

после перекодировки станет таким:

1
2
3
http//ktonanovenkogo.ru/%BA%D1%82%D0%BE%20%D0%BD%D0%
B0%20%D0%BD%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C%D0%BA%D0
%BE%D0%B3%D0%BE

В общем, получается не очень здорово и с этим неудобоваримым видом URL адресов на национальных кодировках планируют разбираться и бороться, но движется это дело не ахти как быстро. В связи со всем вышесказанным я бы советовал при использовании ЧПУ на своих CMS (Как продвигать сайт самостоятельно) не делать URL адреса на русском, а использовать транслитерацию, тем более, что по мнению многих продвиженцев так будет лучше в плане Seo продвижения под Яндекс и Google.ru.

Относительные и абсолютные ссылки на сайте

Давайте начнем с абсолютных ссылок, т.к. в этом случае ничего особенного, сверх того, что мы уже обсудили в данной статье, говорить и не придется. Т.о. абсолютная ссылка должна соответствовать тем требованиям, которые мы предъявляем к URL адресу — должен указываться протокол передачи данных, доменное имя сайта (хоста) и путь до нужного web документа. Все.

Но т.к. абсолютная ссылка в Html формируется с помощью специальных тегов, то мы просто должны будем вставить конструкцию элементов ссылки в нужное место веб документа и прописать в атрибуте Href этой ссылки URL адрес того веб документа (абсолютный путь), на который должен будет попасть посетитель при переходе по данной ссылке:

1
<a href="http://ktonanovenkogo.ru/vokrug-da-okolo/programs/phpmyadmin-skachat-ustanovka-nastrojka.html">PhpMyAdmin</a>

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

Итак, если судить по названию относительных ссылок, то адрес web документа, на который они ссылаются, должен быть прописан относительно того документа вашего сайта, из кода которого и будет проставлена данная относительная ссылка (пляшем от печки). Второй вариант простановки относительных ссылок заключается в использования в качестве точки отсчета корневой папки сайта. Вот именно эти два способа создания относительных ссылок мы сейчас и рассмотрим.

Самый простой и короткий вариант записи относительной ссылки (имеется в виду значения атрибута Href тега гиперссылки) получится в том случае, когда оба web документа: донор (с которого идет ссылка) и акцептор (файл или web документ на который ведет относительная ссылка), находятся в одной папке на сервере.

url адреса

Тогда относительная ссылка будет представлять из себя лишь название web документа акцептора:

1
<a href="akceptor.html">Текст относительной ссылки (анкор)</a>

Теперь давайте предположим, что документ акцептор лежит в папке, которая расположена в одной директории с документом донором.

относительные ссылки

Как в этом случае будет выглядеть относительная ссылка? Все тоже довольно просто:

1
<a href="papka/akceptor.html">Относительная ссылка</a>

Пока, думаю, что все понятно — прописываем в относительной ссылке путь до файла или документа акцептора (название папки, а через прямой слеш «/» название файла или документа). Т.е. нам для того, чтобы попасть от донора к акцептору, нужно будет открыть папку, название которой мы и указываем в относительной ссылке.

Теперь давайте рассмотрим противоположную ситуацию, когда внутри папки лежит сам документ донор, с которого нужно проставить относительную ссылку на документ или файл акцептор, который уже лежит на уровень выше:

url относительные ссылки

Для того, чтобы нам от документа донора пройти к файлу (или документу) акцептору, потребуется подняться из этой папки на уровень выше. Для этого в относительных ссылках предусмотрен специальный элемент — две точки подряд, а затем через прямой слеш прописывается дальнейший путь к акцептору. Поэтому для приведенного выше примера относительная ссылка будет иметь вид:

1
<a href="../akceptor.html">Что такое URL адреса</a>

Если для создания относительной ссылки вам понадобится подняться на два уровня вверх, то запись будет иметь вид:

1
<a href="../../akceptor.html">Что такое Урл адреса</a>

Ну, а если после этого, для прописывания пути до акцептора вам нужно будет еще войти в какую-либо папку на этом втором верхнем (относительно документа донора) уровне:

относительные и абсолютные ссылки

Тогда относительная ссылка, проставленная из Html кода документа донора, может иметь следующий вид:

1
<a href="../../primer-2/akceptor.html">Сложная относительная ссылка</a>

Таких спусков в папки и подъемов на уровень вверх может быть сколь угодно много, главное, чтобы вы сами не запутались. Все рассмотренные выше относительные ссылки мы писали относительно того документа донора, с которого проставляется ссылка, но можно в качестве точки отсчета взять корневую папку сайта. Корень сервера в обозначении относительных ссылок выглядит как одиночный прямой слеш «/».

Т.о. переход на главную страницу в виде относительной ссылки будет выглядеть довольно просто, но экстравагантно:

1
<a href="/">Относительная ссылка на главную страницу сайта</a>

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

1
<a href="http://ktonanovenkogo.ru/wp-content/uploads/html-tegi.html">Текст абсолютной ссылки</a>

А относительная ссылка на тот же самый файл будет несколько короче:

1
<a href="/wp-content/uploads/html-tegi.html">Текст относительной ссылки</a>

Папки — относительные и абсолютные ссылки

Хочу обратить ваше внимание на один нюанс, который стоит учитывать при создании как абсолютных, так и относительных ссылок. Если вы хотите сослаться на папку, то обязательно ставьте в конце такой ссылки (после названия папки) прямой слеш «/». Т.е., если я хочу открыть содержимое папки, то мне следует написать такую ссылку:

1
<a href="/wp-content/uploads/">URL адреса</a>

А не такую:

1
<a href="/wp-content/uploads">URL</a>

Во втором случае, при обработке такой относительной (или абсолютной, не суть важно) ссылки, сервер будет сначала пытаться найти файл с именем «uploads» (именно такой без каких-либо расширений) и, не найдя его, уже потом будет искать такую папку. Поэтому, написав сразу же слеш после названия нужной вам папки, вы не будете отнимать лишние ресурсы у вашего сервера на поиски того, чего там нет.

Так же следует знать, что при обращении в относительной или абсолютной ссылке к папке, веб сервер отобразит так называемый индексный файл, который лежит в этой папке и который, как правило, называется либо index.html, либо index.php. Если индексного файла в папке не будет, то при неправильно настроенной на сервере безопасности, вы увидите листинг содержимого этой папки, что может привести к снижению безопасности вашего ресурса. Обязательно закройте эту уязвимость, если обнаружите.

женская красота

красивые свадебные платья

выбор запчастей