Тестуємо онлайн-сервіси

2188

Здрастуйте, шановні читачі блогу . Сьогодні я хочу поговорити в першу чергу про такому важливому понятті для правильної роботи будь-якого сайту, як правильна відповідь сервера. Що це таке? Спочатку ми розглянемо трохи теорії про те, які коди відповіді бувають, на які варто звернути особливу увагу, ну і як їх перевірити для всіх сторінок свого проекту.

Тестуємо онлайн-сервіси

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

Що таке http та онлайн сервіси для перегляду відповіді сервера

Отже, при запиті браузером користувача будь-якої сторінки вашого сайту разом з Html кодом цієї вебсторінки, обозревателю буде переданий і так званий Http заголовок з відповіддю хоста, в якому окрім іншої інформації буде вказано код. Він представляє з себе тризначне число (найбільш часто зустрічаються варіанти 200, 301, 302, 404), яке позначає ситуацію, що склалася на хості при обробці запиту браузера.

Що таке HTTP? Це протокол, за яким здійснюється обмін даними між вебсервером, на якому розташований зацікавив вас сайт, і вашим браузером. Розшифровується абревіатура як Hypertext Transfer Protocol. Браузер користувача звертається до сервера з запитом будь-якого документа і отримує відповідний відповідь.

Якщо відповідь на запит http приходить позитивний (200 OK), то браузер починає завантаження потрібного йому файлу. Якщо негативний, то інформує про це користувача. Є ще і шифрований протокол SHTTP, але суті справи це не змінює.

Наприклад, при успішній завантаженні сторінки, браузер буде переданий Http заголовок з кодом 200 OK (крім цифр ще наводиться і пояснюючий напис). В разі, якщо запитувана сторінка на сервері знайдено не буде, то браузер отримає відповідь 404 Not Found. Можете самі перевірити відповідь головної сторінки свого сайту, наприклад, на цьому сервісі.

Тестуємо онлайн-сервісиТестуємо онлайн-сервіси

Наприклад, ввівши туди свідомо неіснуючу адресу сторінки свого ресурсу (для цього після доменного імені можна написати будь-яку ахінею, наприклад, https:///трали-вали), буде отримано приблизно такий Http заголовок:

HTTP/1.1 404 Not Found
Server: nginx/0.6.32
Date: Wed, 09 Mar 2011 14:52:43 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered By: PHP/5.2.17
X-Pingback: https:///xmlrpc.php
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Last-Modified: Wed, 09 Mar 2011 14:52:43 GMT
Vary: Accept-Encoding

І це добре, бо пошукові системи правильно оброблять даний відповідь сервера і не будуть додавати в індекс вашу неіснуючу вебсторінку (404 сторінка для Joomla, 404 Not Found для Вордпресс).

Причому варто враховувати, що неіснуючі документи можуть з’явитися як з вашої вини, так і з-за помилки якого-небудь доброзичливця, яка де-небудь посилання на ваш сайт з помилкою. Подивитися ті неіснуючі документи (фактично биті посилання), які є на вашому ресурсі, ви можете в Яндекс Вебмастере або панелі Google, як це було описано у статті Перевірка битих посилань.

Набагато гірше буде, якщо неіснуючий документ не буде видавати у відповідь 404, бо в цьому разі на вашому сайті за різними адресами (URL) неіснуючих сторінок (а їх може бути скільки завгодно багато) буде видаватися одна і так само веб-сторінка помилки 404. На обличчя буде відверте дублювання контенту, яке може спричинити за собою санкції з боку пошукових систем. А воно вам треба — на рівному місці наступати на граблі.

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

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

Обов’язково перевірте коди відповіді хоча б у деяких вебсторінок вашого ресурсу, і особливо перевірте правильність цифр, виданих у відповідь на запит неіснуючого документа (введіть щось типу http://vash-domen.ru/jhguytrhkfkfijd). Для цієї мети можна скористатися наведеним вище онлайн сервісом або ж поруч інших, здатних показати всі це:

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

  • Є ще цікавий онлайн сервіс, який дозволить дізнатися коди відповідей відразу 200 введених вами Урлов. Досить зручна річ, бо можна буде завантажити список Урлов і швидко отримати разблюдовку.
  • Всі можливі варіанти кодів відповіді сервера

    Зверну вашу увагу ще й на відповідь сервера 301, який з’являється у випадку використання редиректа (перенаправлення назавжди). Справа в тому, що пошукові системи рекомендують використовувати 301 редирект у разі зміни адреси (URL) сторінок сайту (він буде перекидати відвідувача зі старого Урла на новий) або, наприклад, при склейці дзеркал сайту з WWW або без WWW, як це було описано тут.

    Якщо ви використовували 301 редирект, то можете перевірити правильність Http відповіді при зверненні до склеєним Урлам. Наприклад, при запиті www. сервер дає правильну відповідь 301 Moved Permanently:

    Тестуємо онлайн-сервісиТестуємо онлайн-сервіси

    Згадав, що з приводу 404 помилки я чув досить цікаву історію. Вебмайстер або оптимізатор, провідний розкрутку певного проекту, отримав відставку і був цим дуже засмучений. Причому, настільки сильно, що зважився на те, щоб підкласти колишньому роботодавцеві велику і жирну свиню.

    Але зробив він все дуже грамотно, бо спочатку нові оптимізатори, які займаються просуванням цього проекту, ніяк не могли зрозуміти, чому позиції сайту різко просіли. Як це реалізувати на практиці я не знаю, але той вебмастер зробив так, що всі сторінки успішно відкривалися і відмінно працювали, але при цьому в заголовку Http для всіх них сервер давав відповідь 404 Not Found.

    Дрібниця, начебто, абсолютно не впливає на коректну роботу ресурсу, але геть вбиває всі зусилля щодо просування цього проекту. На цьому прикладі, напевно, ще більш наочно можна побачити важливість перевірки кодів відповіді.

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

    Взагалі, всі коди відповіді сервера можна розділити на п’ять груп:

  • 100-199 є інформаційними, говорять про те, що сервер обробляє запит
  • 200-299 означають, що запитує у сервера дані були успішно передані (наприклад, 200 — запит було успішно виконано і необхідні дані передані)
  • 300-399 означають переадресацію і необхідність виконати додаткові дії (наприклад,301 — грубо кажучи, документ змінив адресу назавжди; 302 — документ змінив адресу тимчасово)
    Тестуємо онлайн-сервісиТестуємо онлайн-сервіси

  • 400-499 означають, що запит був сформований не правильно і виконаний бути не може (наприклад, 404 — документ за вказаною адресою не знайдений на хості)
    Тестуємо онлайн-сервісиТестуємо онлайн-сервіси
  • 500-599 означають, що на сервері сталася помилка і запит виконаний бути не може
    Тестуємо онлайн-сервісиТестуємо онлайн-сервіси
  • Більш детально подивитися всі можливі коди відповіді Http заголовку ви можете, наприклад, у Вікіпедії.

    Удачі вам! До зустрічей на сторінках блогу