인덱싱을 위해 Google에 제출 된 사이트 맵이 있습니다. ) 여기에 앰퍼샌드 (&
)가있는 URL을 추가합니다. 사이트 맵에서 &
를 이스케이프해야하므로 URL의 &
를 &
로 대체했습니다. 사이트 맵. 내 실제 페이지 URL에는 &
만 포함됩니다.
Google 웹 마스터 및 SEO를 처음 사용하므로 URL과 사이트 맵에서 앰퍼샌드의 차이가 다음과 같은지 이해하고 싶습니다. 문제가 발생합니다. 내 페이지에 색인이 생성 되나요? URL에서 &
를 &
로 바꾼 후 사이트에 액세스 할 수 있기 때문에 이것은 멍청한 수준의 질문처럼 보일 수 있습니다. 그러나 여전히이면에서 도움을 주시면 감사하겠습니다.
댓글
- URL의 어느 부분 에서 앰퍼샌드를 사용하고 있습니까?
- @ MrWhite URL에 매개 변수를 거의 전달하지 않고 매개 변수를 분리하기 위해 앰퍼샌드를 사용하여 해당 매개 변수를 분리합니다.
Answer
URL과 사이트 맵의 앰퍼샌드 차이로 인해 문제가 발생하는 경우
tl; dr URL 이 동일하므로 문제 없습니다.
사이트 맵에서
&
를 이스케이프해야하므로&
를 …
사이트 맵은 XML 문서입니다. 모든 XML 문서와 마찬가지로 데이터 값은 XML 엔티티 인코딩으로 저장되어야합니다. &
문자는 특수 문자 (그 자체가 XML 엔티티의 시작을 나타냄)이므로 특수한 의미를 무효화하도록 인코딩해야합니다. 이것은 데이터가 XML 문서 내부 에 저장되는 방식입니다.
XML 문서가 XML 파서에 의해 읽혀질 때 데이터 값은 XML 엔티티 디코딩 됩니다. em>, 실제 값으로 돌아갑니다. 따라서 XML 문서를 읽을 때 &
는 &
가됩니다.
따라서 iv XML 문서에 저장된 id = “bf41cac7db”>
는 HTML5 문서의 URL /page?foo=1&bar=2
와 동일 합니다. .
실제 페이지 URL에는
&
완벽하게 괜찮은 HTML5에서는 모호함이 없습니다. 그러나 HTML4.1 (및 이전 버전)에서는 HTML 소스에서 &
를 &
로 올바르게 HTML 엔터티 인코딩해야했습니다. 유효한 HTML 코드입니다. 그러나 브라우저는 매우 관대하며 HTML 문서는 여전히 “작동”했을 것입니다.
HTML5에서는 iv id = “를 HTML 엔티티 인코딩에 엄격하게 필요 합니다. 7fb32abd5c “>
모호한 부분이있는 경우. 다음 기여 된 예를 살펴보세요. 리터럴 문자열 “& dollar;”를 전달하려고합니다. foo
URL 매개 변수에서.
<!-- In an HTML document (WRONG) --> <a href="/page?foo=$">link</a>
원하는 URL은
그러나 위의 HTML 앵커는 사용자를 http://example.com/page?foo=$
로 보냅니다. 이는 의도가 아닙니다. 원하는 결과를 생성하려면 &
반드시 HTML 엔티티가 특수한 의미를 무효화하도록 인코딩되어 다음과 같은 (올바른) HTML이됩니다.
<!-- In an HTML document (CORRECT) --> <a href="/page?foo=&dollar;">link</a>
HTML-entity가 HTML에서 &
를 일관되게 인코딩하는 것은 항상 안전 입니다. 문서. CMS를 통해 콘텐츠를 생성하는 경우 자동으로 생성됩니다.
URL에
&
가 있습니다.
아마도”URL에서 HTML에서 “? HTML 엔티티를 사용하는 경우 브라우저 주소 표시 줄 (예 :)에 &
를 사용하여 &
를 인코딩합니다. HTML 컨텍스트 외부에서는 예상되는 결과를 얻지 못합니다. 예를 들어 브라우저의 주소 표시 줄에 다음을 직접 입력 한 경우 :
/page?foo=1&bar=2
그러면 두 개의 URL 매개 변수 및 [amp;bar] => 2
, 이는 분명히 의도가 아닙니다.
댓글
- 요약 : URL에 일반 앰퍼샌드 (
&
)가 포함되어 있지만sitemap.xml
를 사용하는 경우 인코딩 일반 앰퍼샌드 (&
). 인코딩 된 앰퍼샌드의 의미 는 여전히 일반 앰퍼샌드입니다. 대부분의 인코딩을 건너 뛰려면 형식.
답변
사이트 맵에 포함하는 URL은 RFC-3986 표준 . Google 공식 가이드 에서 읽을 수 있듯이 &
는 &
그래서 좋습니다.
하지만 Google Searh Console을 통해 사이트 맵을 제출하면 제출 한 URL에 문제가 있는지 알 수 있습니다.
경우에 따라 최종 URL 만 포함해야합니다. 즉, 피할 수있는 매개 변수가있을 수 있습니다. 예 :
- https://example.com/shoes (good one) - https://example.com/shoes?order=1&color=blue (remove this one)
댓글
- example.com/shoes?order=1& color = blue 를 실제 URL로, 사이트 맵에서 ( example.com/shoes?order=1 & amp; color = blue .
- 예, 가능합니다. '는 기본 링크입니다. 즉, '는 내부 링크에 사용하는 기본 URL이고 사용자의 콘텐츠 값이 URL보다 높습니다. 매개 변수없이.