홈페이지 및 후행 슬래시에 대한 표준 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)

Google이 해당 URL을 다른 페이지로 간주하지 않도록 표준 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.comhttp://www.example.com/동일하고, HTTP를 클라이언트가 서버에 요청을 보내기 전에 후자에 전자를 정상화해야한다 :

"abs_path가 URL에 존재하지 않는다면, 자원에 대한 Request-URI로 사용될 때 반드시"/ "로 주어져야한다 (5.1.2 절 )."

섹션 5.1.2는 다음과 같이 말합니다.

"절대 경로는 비워 둘 수 없습니다. 원래 URI에 아무것도 없으면"/ "(서버 루트)로 지정해야합니다."

RFC 3986 (URI Generic Syntax)6.2.3, Scheme-Based Normalization 섹션 에서이를 확인 합니다.

"예를 들어,"http "체계는 권한 구성 요소를 사용하고 기본 포트"80 "을 가지며"/ "와 동등한 빈 경로를 정의하므로 다음 4 개의 URI는 동일합니다.

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

일반적으로 경로가 비어있는 권한에 일반 구문을 사용하는 URI는 "/"경로로 정규화해야합니다. 마찬가지로 포트가 비어 있거나 구성표의 기본값 인 명시 적 ": port"는 포트와 ":"구분 기호가 생략 된 체계와 동일하므로 체계 기반 정규화를 통해 제거해야합니다. 예를 들어, 위의 두 번째 URI는 "http"체계의 일반적인 형식입니다. "

기술적으로, RFC 3986 섹션 6.2.3에 설명 된 정규화는 URL을 색인하는 것과 같은 구현에는 선택 사항이지만 RFC 2616을 사용하면 실제로 HTTP 요청을 보내려는 클라이언트에게는 필수입니다. 그럼에도 불구하고 표준에서 이러한 정규화를 허용하고 검색 엔진이 일반적으로 의도적으로 색인에 중복 항목을 추가 하고 싶지 않다면 모든 검색 엔진이 모든 URL을 동일하게 정규화 할 것임을 합리적으로 확신 할 수 있습니다.

따라서, 하나의 브라우저에 차이가 없습니다 또는 사용 여부를 검색 엔진 http://www.example.com이나 http://www.example.com/. 그것들은 동등합니다.


5
http://www.example.comhttp://www.example.com/동등하지만, 수 http://www.example.com/는 IS 표준 은 URI를 정규화해야 무엇 때문에 하나. 따라서 표준 메타 태그에 사용하겠습니다.
Stephen Ostermiller
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.