Канонічна URL-адреса для домашньої сторінки та кінці косої риски


14

Моя домашня сторінка може бути пов’язана так:

http://example.com
http://example.com/
http://example.com/?ref=1
http://example.com/index.html
http://example.com/index.html?ref=2

(the same page is served for all those URLs)

Я думаю про визначення канонічної URL-адреси, щоб переконатися, що Google не вважає ці URL-адресами різними сторінками:

<link rel="canonical" href="/webmasters//" /> (relative)
<link rel="canonical" href="http://example.com/" /> (trailing slash)
<link rel="canonical" href="http://example.com" /> (no trailing slash)

Який з них слід використовувати? Я б просто ляпнув, /але возитися з канонічним виглядає як страшний бізнес, тому я хотів спочатку перевірити двічі.

Це взагалі гарна ідея для визначення канонічної URL-адреси для домашньої сторінки?



Відповіді:


14

Згідно з RFC 2616 (HTTP / 1.1), розділ 3.2.2 , URL-адреси http://www.example.comта http://www.example.com/їх еквівалентні, а HTTP-клієнти повинні нормалізувати перший та останній перед тим, як надсилати запит на сервер:

"Якщо abs_path відсутній в URL-адресі, він ОБОВ'ЯЗКОВО задається як" / ", коли він використовується як запит-URI для ресурсу ( розділ 5.1.2 )."

де в розділі 5.1.2 сказано:

"Зауважте, що абсолютний шлях не може бути порожнім; якщо жоден відсутній у вихідному URI, його ОБОВ'ЯЗКОВО задавати як" / "(корінь сервера)."

RFC 3986 (URI Generic Syntax) підтверджує це в розділі 6.2.3 "Нормалізація на основі схеми" , зазначаючи, що:

"Наприклад, оскільки схема" http "використовує компонент повноважень, має порт за замовчуванням" 80 "і визначає порожній шлях, який є еквівалентним" / ", наступні чотири URI еквівалентні:

    http://example.com
    http://example.com/
    http://example.com:/
    http://example.com:80/

Загалом, URI, який використовує загальний синтаксис для повноважень із порожнім шляхом, повинен бути нормалізований до шляху "/". Аналогічно, явний ": port", для якого порт порожній або стандартний для схеми, еквівалентний тому, де порт і його розділювач ":" вилучені, і тому їх слід видалити шляхом нормалізації на основі схеми. Наприклад, другий URI вище - це нормальна форма для схеми "http". "

З технічної точки зору, нормалізація, описана в розділі 6.2.3 RFC 3986, не є обов'язковою для реалізації, яка, наприклад, лише індексує URL-адреси, хоча RFC 2616 робить її обов'язковою для клієнтів, які бажають фактично надсилати HTTP-запити. Але, враховуючи, що стандарт дозволяє таку нормалізацію, і враховуючи, що пошукові системи, як правило, не хочуть навмисно додавати дублікати до їх індексу, можна бути впевненим, що майже всі пошукові системи будуть нормалізувати всі ці URL-адреси однаковими.

Таким чином, це не має різниці ні для браузерів, ні для пошукових систем, чи використовуєте ви, http://www.example.comчи http://www.example.com/. Вони рівноцінні.


5
http://www.example.comі http://www.example.com/може бути рівнозначним, але http://www.example.com/є канонічним, тому що це те, що URI повинні бути нормалізовані. Тож я б використав це в канонічному метатезі.
Стівен Остерміллер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.