본문 바로가기
SEO(검색엔진최적화)

티스토리는 왜 Google에서 버벅거릴까?(1st)

by HiSeoSem 2023. 7. 7.

티스토리는 왜 Google에서 버벅거릴까?(1st)  ||  SEO(검색엔진최적화)

티스토리의 robots.txt 및 xml사이트맵의 문제점

 

제가 자주 답변 활동하는 Google 검색 센터 커뮤니티에서 티스토리블로거들이 종종 질문하는 것들 중의 하나가

"왜 최근 글들이 구글에 색인이 안되었나?"입니다.

물론 마음 급한 블로거가 질문햇을 수도 있고 구글이 무조건 다 노출시키거나고 빠른 시간내에 노출시켜줄 의무가 있는 것도 아닙니다만 이러한 질문이 반복되면서 티스토리 유저로서 티스토리자체의 문제는 없나하고 들여다 보게 되었고

여럿 추정하는 것들 중의 하나로 우선 robots.txt와 xml사이트맵 그리고 canonical url문제를 언급하고자합니다.

1. 실태

티스토리의 robots.txt는 아래와 같이

User-agent: *
Disallow: /guestbook
Disallow: /m/guestbook
Disallow: /manage
Disallow: /owner
Disallow: /admin
Disallow: /search
Disallow: /m/search

User-agent: bingbot
Crawl-delay: 20

로 작성되어 있고 유저가 편집할 수 없는 부분입니다.

그리고 xml사이트맵을 보면 

티스토리 xml사이트맵

와 같이 되어있습니다. 

 

2. 문제점 및 Google crawling/indexing 이슈

  1) 위 두 파일을 보면 robots.txt로 차단하는 페이지가 xml사이트맵에 삽입되어 있습니다.

      검색로봇을 차단하는 페이지를 왜 사이트맵에 넣었을까? 또는 그 반대의 경우!

  2) 위 사이트맵에 기입된 /category/xxx 페이지들과 /tag페이지들

      이들 페이지들을 보면 canonical url이 모두

     <link rel="canonical" href="https://hiseosem.tistory.com"/>

       즉, 메인url을 표준url로 설정되어 있습니다.

 

3. Google crawling/indexing 이슈 및 시나리오

  위 2번에서 언급한 문제점들의 결과 Google은 이를 어떻게 판단할까요?

  1)관련:

      robots.txt로 차단한 페이지를 xml사이트맵에 넣더라도 xml사이트맵제출은 가능하며 상태도 정상으로 표기됩니다. 

      사이트맵을 체출하면 robots.txt에서의 사이트맵주소차단여부만 참조하지 제출한 개별url들이 robots.txt의 규칙에 부합하는지 실시간으로 참조하지는 않고 xml사이트맵의 규칙이나 소스가 적절한지 그리고 제출한 url수가 몇개인지만 확인합니다.

      정상제출이 된 경우 크롤링 대기열에 편입시킨 후 소정의 시간에 각각의 url을 크롤링(이 때는 robots.txt참조)하게되며(이 역시 제출한 url을 동시에 모두 크롤링하지도 않습니다.) 이후 색인여부를 판단해서  분류하게됩니다.

따라서 이 과정에서 /guestbook이 robots.txt로 차단되어 있음을 알게되고 혼란을 경험하게 됩니다.

 2)관련: 

    위 xml사이트맵그림처럼 category페이지,  tag페이지들이 죄다 메인페이지로 canonical url로 설정하는 경우 역시

실제 크롤링/인덱싱과정에서 혼란을 경험하게 할 것입니다.

특히 저처럼 카테고리가 많고 tag페이지들은 수백개씩이나 된다면 canonical url자체를 무시하는 사례가 많이 발생하게 될 것입니다.

 

 3) 위 1), 2)의 결과가 아래와 같은 상태를 초래하게 됩니다.

 

  즉, 작년 9월 이후 사이트맵을 통해 279개의 url을 제출하였는데 225개는 여전히 크롤링조차 하지 않은 상태입니다.

이는 티스토리서버의 부하내지는 일시적인 오류/13개 정도의 url을 클로링해보니 질낮은 페이지들이더라/페이지추가빈도가 빈약 정도를 그 이유로로 판단할 수 있습니다.

이에 더해 다른 경로로 크롤링했던 페이지들 특히 사이트맵으로는 제출하지 않은 질 낮은 페이지들 특히 /tag이하 페이지들은 수백개나 됩니다.

그 결과 구글은 "아~ 이 사이트는 질 낮은 페이지와 빈약한 페이지(a.k.a. thin page)들이 많구나!!!"해서

Crawling Budget (참조: https://developers.google.com/search/docs/crawling-indexing/large-site-managing-crawl-budget?hl=ko)을 산정하는데 매우 불리한 판단을 하게 되고 결국은 제대로 크롤링을 해가지 않음으로서 새로 글들을 업데이트함에도 불구하고 제때 제때 crawling/indexing이 이루어지지 않게 됩니다.

 

4. 개선 방안

   1) 티스토리는 robots.txt를 재작성하거나 유저에게 편집권한을 주어야합니다.

       제가 제안한다면     

User-agent: *
Disallow: /search
Disallow: /m/search

Sitemap: https://hiseosem.tistory.com/sitemap.xml

정도면 적절할 것 같고 /guestbook과 /tag는 티스토리유저들의 사용행태를 파악한 후 Disallow, Allow여부를 판단해서

적용하면 될 것입니다.

  2) 티스토리는 메인으로 집중시키고 있는 canonical url들을 해당 페이지에 맞게 작성되도록 개선해야합니다.

      구글에 xml사이트맵파일을 제출 시 robots.txt로 차단하는 url이나 부적절한 canonical url을 가진 url을 제출하더라도 제출자체의 성공/실패판단의 요건은 아니나 원칙적으로 robots.txt로 허용하는/meta noindex가없는/canonical url이 적절하게 기입된 깔금한 url들을 리스팅해서 제출하게끔하도록하는 것이 상식입니다.

현상태로는 일부 유저들의 사이트맵을 아예 무시하고 있을지도 모릅니다.

 

We'd stop fetching sitemap files if the URLs are invalid, but if you're returning content or redirecting (which is kinda recommended), we'll keep trying them. It shouldn't cause problems, since overall sitemap files are only a tiny-tiny part of all URLs fetched from a site.

 구글뿐만 아니라 네이버역시 급증하는 리소스부하때문에 예전처럼 소소한 요구들을 다 들어줄 수 없어서 점점 깔끔한 것들을 우선할 수 밖에 없습니다. 

  3)  티스트리측에서 현재를 고집한다면 유저들입장에서는 Category 수와 tag수를 최소화하는 것이 최선일 것입니다.

      그리고 서치콘솔에는 xml사이트맵을 제출하지 말고 차라리 rss파일만 제출하는 것이 나을 수도 있습니다.

 

P.S.) Google 검색 커뮤니티 에서 질문하시는 분들 중 20%~30%정도가 티스토리유저들로 추정이 됩니다.

       AdSense커뮤니티는 더 많을 것입니다.

        그런데 질문 시 사이트주소를 공개하지 않아서 답을 하려면 그야말로 소설을 쓰는 경우가 종종 있습니다.

        답변하는 분들도 티스토리블로그들을 이해하고 있으므로 가능하면 사이트주소를 공개하고 보다 자세히 질문해주시면 문제를 해결하는데 더욱 도움이 될 것입니다.

반응형

댓글