Googlebot이 자바스크립트 미지원 버전의 사이트를 가져오는 중

방금 Discourse가 Google에 JS가 없는 버전의 사이트를 서빙하고 있다는 사실을 알게 되었습니다.

저는 JS를 사용하여 사이트 제목, 메타 설명, canonical 등을 설정해 왔는데, Google이 클라이언트 측 JavaScript 렌더링을 꽤 잘 수행하는 것 같습니다(여기서 말하는 것은 Discourse가 아니라 제 일반 사이트입니다).

이 기능을 비활성화하여 Google 봇에 특정 버전을 제공하지 않는 방법이 있을까요?

..또한, Discourse에는 자체에 대한 do-follow 링크인 "Powered by Discourse."가 있습니다. 이 부분에 대해 제가 할 수 있는 일이 있을까요?

수정 1: Discourse 링크가 그곳에 있는 것은 괜찮습니다. 아마도 no-follow로 설정하거나, do-follow이되 사이트 전체가 아닌 형태로 설정할 수 있을 것 같습니다.

수정 2: GitHub에서 링크를 제거하는 옵션이 있음을 확인했습니다 - 어떤 옵션으로 기울어야 할지 조언을 주실 수 있을까요?

여기서 어떤 통찰이나 조언을 주실 수 있나요?

이것이 왜 필요한지 설명하는 것이 좋은 아이디어일 것입니다. Discourse의 기본 동작 방식은 대부분의 사용자에게 문제없이 작동하므로, 귀하의 계정에 따르면 위의 선택 사항이 충돌을 일으키고 있는 것입니다.

죄송합니다

제가 제목, canonical, meta-description에 JavaScript를 사용한다고 했을 때, 그것은 Discourse 설정이 아니라 제 일반 웹사이트를 의미합니다. 저는 단지 Googlebot과 JS에 대한 제 경험을 전달하려는 것이었습니다

robots 파일을 조정해 보았지만, Google에 JavaScript 버전을 제공하지 않는 것 같습니다

수정: 또한 Discourse가 클라이언트 측 앱이라는 점을 점점 더 이해하기 시작했습니다. 정말 멋진 기능입니다. 여전히 Googlebot이 이걸 어떻게 처리하는지 궁금합니다. 알고리즘은 깔끔한 구조를 정말 좋아할 것 같습니다.

맞아요. 전부 애플리케이션이죠. 구글이 이를 제대로 이해할 가능성은 낮으므로, 구글 전용으로 두 번째 애플리케이션이 필요할 겁니다. 그래서 정적 버전(static version)을 보내는 거죠.

@pfaffman 님, 여기 답변 주셔서 감사합니다..

간지러운 곳을 긁어주듯, 이걸 테스트해 볼 방법이 있을까요? - 구글에 한번 시도해 보면 사이트가 어떤 모습으로 보일지 그저 궁금한 것입니다. 최근 구글은 클라이언트 사이드 JS에 대해 꽤 개방적인 태도를 보이고 있습니다. SEO 측면에서는 시도해 볼 가치가 있다고 생각합니다.

JS를 사용하지 않는 버전은 하이퍼링크를 텍스트와 같은 색상으로 제공합니다. 따라서 링크가 무엇인지 구별할 수 없습니다(구글 봇의 경우).

소스 코드가 공개되어 있으므로, 거기서 뭔가를 수정하면 됩니다. 저는 코드에 꽤 익숙하지만, 어디서부터 살펴봐야 할지 전혀 감이 잡히지 않습니다.

만약 그것이 사실이라면, 이미 답이 나왔을 것입니다. 저보다 Discourse에 더 잘 알고, 우리 둘보다 SEO에 더 관심이 많은 사람들이 이 문제에 대해 꽤 깊이 신경 쓰고 있기 때문입니다.

정말 구글 봇이 색맹이라서 텍스트 색상을 보고 어떤 것이 링크인지 결정한다고 생각합니까? 그리고 HTML을 읽어 href가 무엇인지 구별할 수 없다는 건가요? 그것은 불가능해 보입니다.

실제로 구글 봇은 완전한 색맹입니다 :slight_smile:

SEO 전문가를 포함해 많은 사람들이 봇이 우리가 화면에서 보는 것과 동일한 방식으로 웹사이트를 인식한다고 생각합니다.

음, 지금은 약간 주제에서 벗어난 것 같습니다.

이 메타 게시판에서 이 문제를 논의하기 위해 새 주제를 시작하려고 했습니다. (저는 GitHub의 풀 리퀘스트/커밋 관련 용어에 익숙하지 않아서요.)

솔직히 저도 놀랐습니다… SEO 측면에서 저를 초보자라고 부르지는 않겠습니다. 10년 넘게 간간이 관련 일을 해왔거든요. 여기서 일어나고 있는 것은 분명히 부정적인 랭킹 요인들입니다. "LetsEncypts"의 SEO에는 해가 되지 않을지 모르지만, 작은 사이트들에게는 분명히 악영향을 미칠 것입니다.

저는 대부분의 Discourse 사용자가 SEO에 대해 당신과 비슷한 생각을 가지고 있다고 생각합니다. 크게 신경 쓰지 않는다는 것이죠. 여기에는 아직 드러나지 않은 잠재력이 많이 있습니다.

네, 그들은 그것이 링크라는 것을 알고 있습니다. 또한 텍스트와 마찬가지로 어둡고, 사용자가 그것을 좋아하지 않을 것이라는 것도 알고 있습니다. 잊지 마세요, 구글은 이제 JS가 없는 버전에서 보이는 것을 기준으로 우리를 랭킹합니다.

“Powered by Discourse” 외부 링크에 관하여:

존 뮬러(John Mueller)/매트 컷츠(Matt Cutts) 같은 구글 SEO 담당자들과 함께한 영상을 본 기억이 납니다. 그들은 메뉴, JS 등으로 인해 숨겨진 내부 링크는 실제로 큰 피해를 주지 않는다고 언급했습니다. -

하지만 동시에, 외부 링크의 경우 구글봇에게는 표시하되 최종 사용자에게는 표시하지 않는다면 문제가 될 수 있다고도 언급했습니다.

솔직히 말해서 저는 지금 몽환적인 상태에 있는 것 같습니다. 이 문제가 해결되면, 모든 Discourse 포럼이 구글 유기적 트래픽에서 큰 폭의 상승을 보일 것이라고 확신합니다.

위와 같은 주장을 하는 것은 정말 쉽습니다. 특히 현재 상태에 이르게 된 내부 작동 방식이나 설계 결정을 스스로 이해하지 못한다고 인정하면서도 말이죠.

현실적으로 말하자면, 여기서는 아무것도 보장할 수 없으며, 해당 기술력을 가진 사람을 설득하여 코드를 변경하지 않는 한 이는 가정에 그칠 것입니다.

이 부분을 탐구할 예산이 있다면 Marketplace 채널이 좋은 출발점이 될 수 있습니다.

나는 상당히 폭넓은 개념은 가지고 있습니다. 이 앱은 JavaScript에 크게 의존하고 있으며, 역사적으로 구글은 JS(JavaScript)와 관련된 문제를 겪어왔습니다. 그래서 여러분은 지금 우리가 사용하고 있는 이 간단한 비-JS 방식을 선택한 것입니다. 나의 주장은 적어도 JS가 활성화된 상태에서 구글이 어떻게 렌더링하는지 시도해 보고 확인해 보자는 것입니다.

사실 나는 내가 과소평가하고 있다고 생각합니다. 일부는 저와 같은 의견을 가지고 있습니다. 레딧 기술 SEO 게시판에서

참고:
본문에 있는 하이퍼링크의 색상이 텍스트와 같은 색으로 표시된 것은 비교적 최근 업데이트에서 생긴 것 같습니다. 구글에 표시된 내 페이지의 이전 버전에서는 링크가 파란색으로 표시되어 있습니다.

이 주제는 꽤 오래되었지만, 저는 현재 Discourse와 SEO 주제에 관심이 많고 Nader 님이 아직 활동 중인 것 같으니, 이 주제를 다시 꺼내 보겠습니다.

Discourse가 구글에게는 다른 사용자에게 제공하는 것과 다른 콘텐츠를 제공하는 것도 별로 좋아하지 않습니다. 구글은 이를 극도로 싫어한다고 항상 들어왔거든요. 이는 절대 해서는 안 될 101호 규칙이었습니다.

JS를 활성화했을 때 Discourse가 느리게 로드되는 것이 문제 중 하나, 아니 주된 문제였나요?

이것은 구글에게는 정적(static) 버전을 제공하고, 사용자가 꽤 빨리 무언가가 표시되고 있음을 보여주기 위해 “로딩” 애니메이션을 표시하는 방식으로 우회되었습니다. "무언가"는 표시되지만, 사용자가 검색하고 링크를 클릭한 이유인 실제 정보는 아닙니다. 이 정보를 표시하는 데는 시간이 걸립니다. 그리고 JS 버전을 제공하면 구글은 이를 알 수 있게 됩니다. 현재는 구글이 이를 알지 못하도록 어느 정도 속이고 있는 상태입니다.

아니면 제가 잘못 생각하고 있는 건가요?
이것이 좋은 방법일까요? 그럼에도 불구하고 구글은 이를 알 수 있을까요? 예를 들어 Chrome 브라우저에서 보내오는 통계 등을 통해서요. 그리고 이것이 랭킹에 패널티를 부과할 수 있을까요?

오래전부터 이 글에 답글을 달아야겠다고 생각했는데, 저는 정말 만성적인 미루기 병자입니다.

결국, 다른 모든 방식은 유지보수가 너무 부담스러워서 Discourse의 기본 동작 방식을 유지하기로 했습니다.

이 부분에 대해 실험을 해본 결과, JS 버전이 Google에서 더 좋은 반응을 얻었다고 확신합니다. 더 나은 버전을 적용했을 때 노출 수가 항상 크게 증가하는 경향이 있었습니다.

Google 검색 담당자인 John Mueller 님이 이 문제에 대해 우리의 트윗에 답장을 주셨는데, 여기는 첫 번째 트윗입니다.

여전히 오픈소스 커뮤니티에서 어떤 형태의 해결책을 내놓는 것이 매우 큰 도움이 될 것이라고 생각합니다. 아마 서버 사이드 렌더링이 그 해법이 될 수 있겠죠.

Discourse가 이를 도입하는 것이 막대한 부담이 될 것이라는 점은 이해합니다. 하지만 만약 Google이 더 나은 UI/레이아웃 등을 제대로 인식하게 된다면, 전 세계의 Discourse 포럼들이 얼마나 큰 트래픽 증가를 경험할지 상상해 보세요.

다만 Google의 John 님은 현재 상태가 괜찮다고 하셨으니, 이 점도 고려해야 합니다.

https://twitter.com/JohnMu/status/1644803668493971456

공유해 주셔서 감사합니다.

다만, 이 답변은 현재 우리의 접근 방식을 더욱 뒷받침합니다. 왜냐하면 우리의 목표는 콘텐츠를 최대한 빨리 인덱싱하는 것이기 때문입니다 :sweat_smile:

참고로, 저는 현재 한 사이트에서 구글 노출 수와 클릭 수가 지수적 성장*보다 더 빠르게 늘고 있어서, 뭔가 제대로 하고 있다는 뜻이겠죠!

*아마 오래가지는 않겠지만, 그건 Discourse 탓으로 돌리지 않겠습니다! :sweat_smile:

알겠습니다. 제가 몇 가지 의견을 더할 수 있다면요. 제가 이해한 바로는, 백엔드 스택이 무엇이든 관계없이 Googlebot 크롤러는 새로운 콘텐츠나 페이지를 매우 빠르게 찾는 데 능숙합니다. 이것이 Discourse가 크롤러 버전을 사용하는 유일한 이유는 아닐 수 있지만, 그 함의는 충분히 이해합니다.

아마도 AI와 인터넷의 변화로 인해 온페이지(On-page) SEO의 개념은 점점 더 무의미한 요인이 될 것이며, 콘텐츠/데이터 자체의 중요성이 가장 커질 것입니다.

@stance455 Discourse가 JS 버전을 서빙하면, Googlebot은 (실제) 콘텐츠가 표시되기까지 얼마나 걸리는지 감지하게 됩니다. 이는 SEO 측면에서 매우 좋지 않습니다.

문제는 Discourse가 초기 로드될 때만 발생합니다. 하지만 이는 검색 엔진에서 링크를 클릭하는 사용자(그리고 구글 자체)에게 중요한 지표입니다.