Процес створення однакового добре організованого сайту нагадує будівництво будинку. Можна швидко прибігти на майданчик, приліпити абияк цеглини один до одного, і потім розслабитися, солодко позіхаючи. А потім, через кілька місяців, ви будете дивуватися, чому у вас тече дах, а на ваших гостей зі стелі валиться штукатурка.

А можна все спланувати заздалегідь, скласти креслення сайту, і весь час пам’ятати про те, як ви в майбутньому будете його розширювати. Адже, який дизайнер не захоче додати щось нове до свого сайту? І якого сайту не доведеться в майбутньому змінювати технологію, на якій він працює?

Сумно усвідомлювати, але в цьому процесі часто забувають про одному етапі — продуманій структурі посилань, тих URL-ів, які будуть ссылатсья на різні частини вашого сайту. Ось кілька корисних порад.

Ваш друг, похила риска

Готовий посперечатися, що ви, подорожуючи по Інтернету, вже стикалися з погано продуманою структурою посилань. У більшості випадків проблема полягає в тому, що розробники навіть не розуміють, що вони своїми посиланнями без потреби покладають на сервер додаткове навантаження.

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

посилання

Начебто, все в порядку. У засланні присутній «http://» адреса оточений лапками, закриваючий тег не забутий, і всі повинні бути щасливі, так?

Не зовсім. Процес переходу за посиланням буде виглядати приблизно так, в залежності від вашого сервера і налаштувань:

Броузер: гей, сервер, дай-но мені «subdirectory».

Сервер: постривай хвилинку. Спочатку я спробую пошукати файл з ім’ям «subdirectory»… Гм.. Такого файлу немає! Спробую-но я пошукати каталог з ім’ям «subdirectory»? … А, ось він. Порядок. А наступного разу, будь ласка, користуйся похилою рискою наприкінці адреси.

Броузер: Вас зрозумів.

Лише злегка змінивши посилання на:

посилання

… ви позбудетеся від цього діалогу. Сервера не доведеться гадати, що саме вам потрібно: файл або підкаталог з ім’ям «subdirectory». Посилання сама йому про це скаже.

Невже це так важливо? Важливо, тому що:

  • Ми самі собі робимо послугу, так як це правильний метод написання адреси.
  • Ми робимо послуг сервера, так як йому менше доведеться звертатися до диска.
  • І, що більш важливо, ми робимо послугу відвідувачу, так як йому не доведеться втрачати зайві кілька секунд в очікуванні, поки сервер спочатку буде шукати файл, а потім каталог. Ну, а ми з вами знаємо, що в web-бізнесі ці кілька секунд — великий, дуже великий термін.
  • Каталоги та файли

    Розглянемо наступний приклад посилання:

    Про нас

    Взагалі-то з цієї посиланням все в порядку — в сенсі синтаксису. Також, це посилання не створить ніякого додаткового навантаження на ваш сайт. Що ж з нею не так?

    Давайте тепер поговоримо про семантику. Я пропоную змінити посилання ось так:

    Про нас

    Чому? Навіщо вам витрачати час і змінювати нормальну посилання, що вказує на файл, посилання, що вказує на каталог (віртуальний або реальний)? Дуже добре, що ви запитали.

    а) Розширюваність

    Що буде, якщо компанія, в якій ви працюєте, вирішить ускладнити (або просто поміняти) сайт і скористатися іншою технологією? Наприклад, замінить движок PHP (about.php) на ColdFusion (about.cfm)?

    Якщо всі посилання будуть вказувати на каталоги, адреса сторінки залишиться незмінним незалежно від того, який програмний механізм працює на сайті. Хіба це не чудово? Посилання цілі, і час на їх зміна не витрачається!

    З самого початку побудуйте продуману структуру каталогів на сайті, і ви в майбутньому самі собі будете вдячні.

    б) Безпека

    Навряд чи варто виставляти на показ те, якою технологією ви користуєтеся на сайті. Використовуючи в посиланнях каталоги, ви ховаєте цю інформацію від навколишнього світу.

    Вам навіть не треба створювати реальні каталоги на диску. З допомогою mod_rewrite (я особисто користуюся ним) ви можете переробляти URL-и так, як вам буде завгодно.

    Від одноманітної, простий і продуманої структури каталогів виграють всі. Також ви можете бути впевненими, що ваш сайт не зламається, коли начальство вирішить встановити новітню систему управління контентом, яка працює на інший web-технології.

    Успіхів.