리치 스니펫 별이 검색 결과에 표시되지 않는 상위 10가지 이유 알아보기

게시 됨: 2015-11-21

검색 결과에 표시될 때 리치 스니펫 별은 일반적으로 Google의 클릭률을 크게 향상시킵니다. 그러나 매력적인 작은 노란색 별을 검색 결과에 표시하는 것은 많은 도메인에서 상당히 어려운 일임이 입증되었습니다. 실제로 Raven Tools의 2015년 10월 연구에 따르면 사이트의 80%에 스키마 마크업이 없습니다.

지난 몇 년 동안 Bazaarvoice SEO 팀은 수백 개의 도메인과 협력하여 Google에서 리치 스니펫 별을 표시하지 못하게 하는 문제를 식별하고 해결했습니다. 문제는 이해하기 어렵지 않지만 특정 문제를 찾는 것이 때때로 어려울 수 있습니다.

알아야 할 주요 정의:

  • HTML 노드 – HTML 코드에서 노드는 여는 HTML 태그, 닫는 HTML 태그 및 그 사이의 모든 요소를 ​​정의하는 데 사용되는 단어입니다. 예를 들어, 다음은 id가 foo인 완전한 HTML 단락 노드입니다. <p id=”foo”>이 문장은 노드의 일부입니다.</p>
  • 중첩 HTML 노드 – HTML 노드는 서로 내부에 배치될 수 있습니다. 예를 들어, 다음은 한 단어가 굵은 노드로 굵게 표시된 완전한 HTML 단락 노드입니다. <p id="foo">이 문장은 노드의 <b>일부</b>입니다.</p>
  • Itemscope – schema.org itemscope 속성은 노드 내에서 다루어질 주제를 식별하기 위해 HTML 노드에 추가될 수 있습니다.
  • 유형 항목 범위 – 몇 가지 항목 범위는 특별하며 일반적으로 유형 항목 범위라고 합니다. 이러한 항목 범위는 웹사이트 내에서 주요 주제를 식별하는 데 사용됩니다. 제품, LocalBusiness, Store, Recipe, Hotel, Article 및 WebPage는 리뷰와 관련된 가장 일반적인 유형 항목 범위입니다.
  • Itemprop – schema.org itemprop 속성을 HTML 노드에 추가하여 itemscope 내에서 특정 유형의 데이터를 식별할 수 있습니다. itemprops를 숨겨진 레이블로 생각하는 것이 종종 도움이 됩니다. 다음 문장에서 작성자 itemprop는 굵은 노드에 추가됩니다. <p id=”foo”>이 문장은 <b itemprop=”author”>Newman<이 작성했습니다. /b>

문제 #1: 중첩 실패

가장 일반적인 문제는 schema.org 마크업 요소를 적절하게 중첩하지 못하는 것입니다. 중첩의 기본 전제는 HTML 코드가 웹 페이지가 지정된 주제에 대한 주소 지정을 시작하고 중지하는 시점을 식별해야 한다는 것입니다.

Bazaarvoice 클라이언트는 홈페이지를 제외한 모든 페이지에서 가장 바깥쪽 유형 항목 범위로 WebPage를 사용해야 합니다. WebSite는 도메인 홈페이지에 적합한 항목 범위 유형입니다. 아래 예와 같이 본문 노드에 이러한 속성을 포함하는 것이 좋습니다.

페이지에 기본 엔터티가 있는 경우(일반적으로 세부 정보 페이지(제품, 레시피, 호텔, LocalBusiness, Store 등))에는 기본 엔터티의 itemscope 유형과 함께 mainEntity itemprop을 추가해야 합니다. (아래 좋은 예의 2행 참조)

페이지에 여러 유형의 항목 범위가 있는 것이 허용되며, 이는 목록 및 그리드 페이지와 제품 권장 사항이 있는 세부 정보 페이지에 적합합니다. 페이지에 기본 엔터티가 없으면 mainEntity itemprop을 포함하지 마십시오.

각 엔터티(각 유형 itemscope HTML 노드)와 관련된 모든 속성은 HTML 노드 내에 중첩되어야 합니다. HTML 노드가 조기에 닫히는 것은 매우 일반적입니다. (아래의 나쁜 예에서는 4행, 좋은 예에서는 8행 참조)

이러한 방식으로 코드를 적절하게 중첩하면 가격, 가용성, 평가, 리뷰 및 기타 CGC 요소와 같은 itemscope 유형 내의 전체 콘텐츠가 해당 항목과 관련되어 있음을 Google에 알립니다. 그러면 Google은 검색 시 제품에 대한 별표를 표시하는 방법을 알고 있습니다.

2015.11.NA.SEOClientResource_eBook_110215-pg18

페이지 전체에서 정확히 일치하는 이름으로 각 엔터티를 참조하는 것도 좋은 생각입니다. 예를 들어 itemprop이라는 이름이 "노란색 스카프"로 정의되고 itemReviewed itemprops가 "노란색 프린지 ​​스카프"로 정의된 경우 Google은 페이지에 두 제품에 대한 데이터가 포함되어 있다고 생각할 수 있습니다.

또한 페이지 상단과 하단에 표시된 제품 이름이 정확히 일치하는지 확인하는 것이 좋습니다. 페이지 상단의 '노란 스카프'와 페이지 하단의 '노란색 스카프'라는 용어를 사용하면 Googlebot이 혼동을 일으킬 수 있습니다.

문제 2: 닫히지 않은 HTML 태그

HTML 코드를 작성할 때 각 HTML 노드를 열고 닫아야 합니다 . 슬래시 문자(/)는 HTML 노드의 닫힘을 나타냅니다. 다음 예는 별도의 여는 태그와 닫는 태그를 사용하는 일반적인 노드를 보여줍니다.

Bad : <div>이 노드는 닫히지 않은 노드입니다.

좋음 : <div>닫힌 노드입니다.</div>

일부 HTML 요소(<img>, <meta> 등)는 별도의 닫는 태그를 사용하지 않습니다. 이러한 경우 닫는 슬래시가 포함된 단일 태그가 사용됩니다.

불량: <img src="image.gif">

좋음: <img src="image.gif" />

HTML 태그가 닫혀 있지 않으면 Google의 구조화된 데이터 인터프리터가 계층 구조를 이해하는 데 어려움을 겪을 수 있으므로 문제 #1에서 참조된 중첩을 잘못 해석할 수 있습니다.

문제 #3: 여러 집계 평가 itemprops

위에서 설명한 것처럼 각 엔터티는 itemscope 유형을 사용하여 정의해야 합니다. 그러나 각 유형 itemscope에 대해 하나의aggregateRating itemprop만 있어야 합니다. 디스플레이가 여러 위치에 집계 등급을 포함하더라도 마크업은 itemscope 유형당 한 번만 agregateRating itemprop으로 레이블을 지정해야 합니다. 여러aggregateRating itemprops는 Google을 혼동시키고 별표가 표시되지 않습니다.

문제 #4: 누락된 aggregateRating itemprop

리치 스니펫에 의해 표시되는 평점이 웹페이지의 평균 리뷰 평점과 일치하지 않는 경우가 있습니다. 이는 무엇이 잘못되었는지에 대한 중요한 단서를 제공합니다. AggregateRating itemprops가 없으면 Google은 첫 번째 리뷰 itemprop을 검색하고 모든 리뷰어의 평균 평점이 아닌 한 개인의 평점만 표시합니다.

문제 #5: 혼합 구조화된 데이터 유형

Schema.org 어휘는 RDFa, Microdata 및 JSON-LD를 비롯한 다양한 인코딩과 함께 사용할 수 있습니다. Bazaarvoice는 Microdata를 권장하고 지원합니다. 어떤 경우 에도 이러한 유형의 구조화된 데이터 중 하나만 단일 웹페이지에서 사용할 수 있습니다 . 동일한 페이지에서 JSON-LD와 마이크로데이터를 혼합하면 리치 스니펫이 제대로 표시되지 않습니다.

문제 #6: 기본 엔터티가 정의되지 않음

Google은 DOM(Document Object Model)에서 만나는 첫 번째 Type itemscope의 aggregateRating을 찾습니다 . 페이지에 여러 유형 항목 범위가 포함된 경우 위의 #1에서 참조한 대로 기본 엔터티에 mainEntity 항목 범위의 레이블이 지정되었는지 확인하세요.

문제 #7: schema.org/Organization 사용

조직도 유형 항목 범위입니다. 그러나 Google이 조직에 대해 리치 스니펫 별을 표시하는 경우를 찾지 못했습니다. 전화번호 및 연락처 정보와 같은 일반적인 조직 정보 주변의 헤더에 조직 항목 범위가 배치된 경우를 많이 보았습니다. SEO 팀이 제품 페이지에서 조직 유형 항목 범위를 찾은 모든 경우에 리치 스니펫 별이 표시되지 않도록 했습니다. 검색 결과에 리치 스니펫을 표시하려는 페이지의 경우 조직 항목 범위를 포함하지 마십시오.

문제 #8: 지원 리뷰 콘텐츠 누락

Google은 리뷰가 동일한 페이지에 없는 몇 가지 경우에 리치 스니펫 별을 표시했습니다. 그러나 이 시나리오에서 별이 표시되는 것은 기껏해야 산발적입니다. Google은 페이지에 리뷰 텍스트가 없다는 것을aggregateRating이 잘못된 데이터일 수 있다는 단서로 해석할 수 있기 때문입니다. AggregateRating을 표시하는 동일한 페이지에 항상 8개의 리뷰를 포함하는 것이 좋습니다.

문제 #9: 의심스러운 콘텐츠 신뢰성

Google이 도메인 또는 도메인 내의 콘텐츠를 신뢰하지 않는 경우 리치 스니펫 별이 검색 결과에 렌더링되지 않을 것입니다. 이것은 일반적으로 아직 평판이 좋지 않은 새로운 도메인의 문제입니다. Bazaarvoice CGC에는 작성자 이름 및 콘텐츠 생성 날짜와 같은 귀중한 진위 단서가 포함되어 평판이 향상됩니다. 이는 귀하의 도메인에서 발생하는 소셜 활동이 합법적이고 귀하의 평판을 향상시킨다는 신호입니다.

문제 #10: 일관되지 않은 서버 측 및 요소 코드 마크업 검사

이것은 업계가 2014년 10월 Google에서 발표한 변경 사항에 여전히 적응하고 있는 영역입니다. 그 이후로 Googlebot은 JavaScript와 서버 측 페이지 요소를 크롤링했습니다. 이러한 변경 사항에 대해서는 다음에 자세히 논의하겠지만 리치 스니펫 문제를 해결할 때 코드의 서버 측 소스 보기 버전과 요소 검사를 통해 찾은 렌더링된 HTML 버전을 모두 감사하는 것이 매우 중요하다는 점을 명심하십시오. , 두 버전 모두 의도한 콘텐츠와 마크업을 포함하는지 확인합니다. 아래에서 이 이중 감사를 수행하는 방법에 대해 자세히 설명합니다.

각 도구에 표시되는 코드 버전이 일치하지 않으면 Google에서 리치 스니펫 별을 표시하는 데 일관성이 없을 수도 있습니다. 최적의 결과를 얻으려면 두 버전 모두 이 게시물의 모든 원칙을 준수해야 합니다.