Bagi peramban maupun bagi mesin pencari, /about dan /about/ adalah dua alamat. Kalau keduanya membalas 200, Anda punya dua salinan tiap halaman. Perbaikannya adalah memilih satu bentuk lalu mengalihkan yang lain ke sana - dan cara hal itu jadi keliru adalah sebuah gelung.

Pilih salah satu

# nginx: no trailing slash
rewrite ^/(.*)/$ /$1 permanent;

# nginx: with a trailing slash
rewrite ^([^.]*[^/])$ $1/ permanent;

Pola kedua sengaja mengecualikan apa pun yang mengandung titik, sehingga berkas - /logo.png, /robots.txt - tidak dikirim ke /logo.png/.

Gelungnya

Dua aturan yang berselisih - satu menambahkan garis miringnya, satu lagi mencabutnya - menghasilkan pengalihan tanpa akhir. Ini biasanya terjadi ketika server webnya punya satu aturan dan kerangka aplikasinya punya aturan sebaliknya. Perbaiki di SATU tempat saja, dan tempat itu sebaiknya aplikasinya kalau ia memang punya pendirian.
curl -sSIL https://example.com/about | grep -E '^HTTP|^location' | head -10

Lebih dari satu pengalihan di keluaran itu, atau dua alamat yang sama muncul bergantian, itulah gelungnya. Lihat gelung pengalihan.

Direktori adalah kekecualiannya

Direktori yang sungguhan memerlukan garis miring penutup: tanpanya, tautan relatif di dalam halaman itu terselesaikan satu tingkat terlalu tinggi, sehingga CSS dan gambarnya rusak sementara HTML-nya termuat. Bukan tanpa sebab server web mengalihkan demi menambahkannya.

Nyatakan yang mana yang kanonis

<link rel="canonical" href="https://example.com/about">
Mana pun yang Anda pilih, buat peta situs, tag kanonis, dan tautan internalnya sepakat dengan pilihan itu. Situs yang di dalam dirinya menaut ke bentuk yang kemudian ia alihkan, membayar satu perjalanan pergi-pulang pada setiap klik.