사람이 볼때 어떤 효과를 주기 위해 만들어진 기능이 과연 검색로봇이 문서를 가지고 갈때 어떠한 영향일 끼칠지 해당 수집로봇의 성능이나 특성을 잘 모르기 때문에 걱정이 생기는 경우가 있습니다. 물론 개인적인 걱정일 수도 있습니다.

 

그래서 왠만한 효과를 주는 코드 또는 애드온에는 크롤러에게는 제외하는 것을 적용합니다.

 

애드온에서는 

if(isCrawler())
    {
        return;
    } 

 

 

이렇게 해서 해당 애드온의 효과가 크롤러에게는 적용되지 않도록 하고 있습니다.

 

@karma 님의 lazyload 애드온을 예를 들어보겠습니다.

 

 

<img class="lazyload" src="/addons/lazyload/gray.png" rawsrc="//dmain.com/files/attach/images/230/244/089/002/4499266a3537b82ead05903c386179ad.jpg" />

 

이미지 로딩 소스가 저렇게 변경되어서 실제이미지가 아닌 이미지가 로딩되는 소스로 바뀝니다. 이걸 검색봇이 가져가서 실제 이미지가 뒤에 rawsrc 의 이미지라는 것을 제대로 해석할지 걱정이 드는거죠.

 

그래서 저는 이럴때는 그냥 속편하게 크롤러에게는 해당 기능을 제공하지 않습니다. 다행히도 네이버와 구글의 경우는 크롤러를 식별하는 코드는 잘 인식하고 가져가서 검색노출에는 원본 소스 그대로를 가지고 갈 수 있습니다.

 

위 lazyload 애드온은 하나의 예시일 뿐이며 저는 팝업애드온 등 비슷한 성격의 애드온은 모두 크롤러는 리턴시키고 있습니다.

 

뭐 그냥 둬도 알아서 잘 해석 할건데 제가 유난일 수도 있습니다.

 

  • Lv37

    웹표준도 아니고 애드온 제작자분이나 lazyload 라이브러리가 막 만들어 넣은 rawsrc 속성을 크롤러가 인식할 것 같지는 않네요. 특히 꽉 막힌 네이버 로봇이라면 얄짤없겠죠 ㅋㅋㅋ

    원래 이런 부가정보를 저장하기 위해 속성을 아무렇게나 지어넣으면 안되고, data-XXX 속성을 사용하는 것이 정석입니다. 그러나 XE 서드파티 자료들은 물론이고 유명한 JS 프레임워크들마저 이 권장사항은 안중에도 없는 것 같더군요. 없는 속성을 추가해도 대부분의 브라우저는 그냥 무시할 뿐이니... 그러나 네이버 로봇은 이런 속성이 있으면 체할지도 모릅니다. 걔는 만성 소화불량이거든요.

  • Lv37 Lv30
    네. 저도 웹지식이 없다보니 자신이 없어 왠만한 불안한 요소가 있는 경우는 크롤러는 다 리턴시켜서 안전하게 가고 있습니다.
  • Lv37 Lv30
    또 어떤 경우(팝업 애드온) 애드온 자체가 완전 잘못 만들어져서 html 구조를 무너뜨린 경우 웹문서 수집 자체가 안되는 경험도 해서 왠만하면 이런류의 애드온 상단에는 크롤러 리턴시켜버립니다.