URL kanonik untuk halaman beranda dan garis miring

14

Halaman beranda saya berpotensi dihubungkan sebagai:

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)

Saya sedang berpikir untuk mendefinisikan URL kanonik untuk memastikan Google tidak menganggap url tersebut sebagai halaman yang berbeda:

<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)

Yang mana yang harus digunakan? Saya hanya akan menampar /tetapi mengacaukan kanonik tampaknya seperti bisnis yang menakutkan jadi saya ingin periksa dulu.

Apakah ini ide yang bagus untuk mendefinisikan URL kanonik untuk halaman rumah?

serg
sumber

Jawaban:

14

Menurut RFC 2616 (HTTP / 1.1), bagian 3.2.2 , URL http://www.example.comdan http://www.example.com/setara, dan klien HTTP harus menormalkan yang pertama ke yang terakhir sebelum mengirim permintaan ke server:

"Jika abs_path tidak ada dalam URL, itu HARUS diberikan sebagai" / "saat digunakan sebagai URI Permintaan untuk sumber daya ( bagian 5.1.2 )."

di mana bagian 5.1.2 mengatakan:

"Perhatikan bahwa path absolut tidak boleh kosong; jika tidak ada yang hadir dalam URI asli, itu HARUS diberikan sebagai" / "(root server)."

RFC 3986 (URI Generic Syntax) mengonfirmasi hal ini di bagian 6.2.3, Normalisasi Berbasis Skema , mencatat bahwa:

"Misalnya, karena skema" http "menggunakan komponen otoritas, memiliki port default" 80 ", dan mendefinisikan jalur kosong yang setara dengan" / ", empat URI berikut ini setara:

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

Secara umum, URI yang menggunakan sintaksis generik untuk otoritas dengan jalur kosong harus dinormalisasi ke jalur "/". Demikian juga, ": port" yang eksplisit, yang portnya kosong atau default untuk skema, sama dengan di mana port dan ":" pembatasnya dieliminasi dan karenanya harus dihapus oleh normalisasi berbasis skema. Misalnya, URI kedua di atas adalah bentuk normal untuk skema "http". "

Secara teknis, normalisasi yang dijelaskan dalam RFC 3986 bagian 6.2.3 adalah opsional untuk implementasi yang misalnya hanya indeks URL, meskipun RFC 2616 mengharuskannya untuk klien yang ingin mengirim permintaan HTTP. Namun, mengingat standar memungkinkan normalisasi seperti itu, dan mengingat bahwa mesin pencari umumnya tidak ingin secara sengaja menambahkan duplikat ke indeks mereka, orang dapat cukup yakin bahwa hampir semua mesin pencari akan menormalkan semua URL itu menjadi sama.

Dengan demikian, tidak ada bedanya untuk browser atau mesin pencari apakah Anda menggunakan http://www.example.comatau http://www.example.com/. Mereka setara.

Ilmari Karonen
sumber
5
http://www.example.comdan http://www.example.com/mungkin setara, tetapi http://www.example.com/merupakan kanonik karena itulah yang harus dinormalisasi dengan URI. Jadi saya akan menggunakannya dalam meta tag kanonik.
Stephen Ostermiller