Extra Form
PHP PHP 7.4
CMS Rhymix 2.x

1.

게시판에서 다국어 기능을 사용하여 작성한 내용은 확장변수?에 그 내용이 저장되고 검색 엔진에 전혀 반영이 안된다는 것을 알았습니다. 꼭 검색에 노출되야할 글이 있어서 기진곰님의 댓글에서 힌트를 얻어 같은 글 내에 언어별로 div를 묶었더니 검색에 반영되는 것을 확인했습니다. 

 

문제는 검색되었을때 글 제목이 여전히(당연히) 한글로 나온다는 것인데 해결할 수 있는 방법이 있을까요?  영어 내용이 있는 div에 제목을 넣고 어떤 태그를 넣어서 제목으로 인식시켜준다던지...는 가능할까요?

 

Screenshot_20220120-114938_Chrome.jpg

 

2.

https://scorefactory.io/factory2ielts

이 페이지는 저희 주력 서비스 중 하나입니다. 

 

SEO는 다국어로 작성이 되어있는데, 보시다싶이 페이지가 목록으로 구성되어있어서 검색 노출에 불리한 것 같습니다. 개선할 수 있는 방법이 있을까요? 관련 내용을 넣고 display:none; 처리를 해서 내용으누있지만 보이지는 않게 하면 검색엔진에 반영이 될지 아니면 다른 좋은 방법이 있을지 조언을 구합니다.

  • profile

    정확히 지금 상황을 그림만 보고 판단하기는 어려우나

    1.번의 경우는 지난번 글에 댓글로 작성해 드린 현재 라이믹스 다국어기능의 구조적 한계로 인한 문제일 것입니다. 이건 대대적인 url 개편이 있어야 근본적 해결이 될 것으로 판단됩니다.

    지난 댓글의 설명이 전부 이해가 안가셨을 수도 있는데요.

    구글이나 네이버 검색엔진은 현재 url을 파싱해서 해당 문서의 정보를 색인합니다.
    글 내용에 영문을 넣었더니 영문으로 검색이 되더라.. 당연한거죠. 이건 다국어와 관련도 없습니다.

    다국어로 문서를 다양하게 보여주는데 현재로선 검색엔진 입장에서 봐서는 모두 1개의 url 입니다.
    따라서 url 의 canonical(대표) 을 찾아서 해당 url을 기준으로 정보를 수집하려고 합니다.

    이때 기본 언어에 meta 소스및 현재 크롤링되는 title 모두다 한국어 기준으로 되어있습니다.

    검색엔진에서 canonical url을 무시하고 언어변수가 붙은 모든 url을 개별 url로 취급해 주길 기대해야 하는데 불가능한 부분을 기대하는 것일 겁니다.

    앞서 기진곰님께서 말씀 하셨듯이 제대로된 다국어로 검색엔진에 대응하려면 /ko, /en 등의 분리된 주소체계로 접속이 되게끔 되어야 하고 해당 url들이 모두 독립된 url로 공표해야 한다고 보여집니다.

     

    쉽게 설명하면 

    기존에 XE에서 다국어문서의 검색엔진 대응을 할때 기대한 것이

    ?en , ?ko 의 변수  url을 개별문서 취급해주길 기대하고 해당  url로 접속시  seo 관련 태그및 문서 타이틀은 다국어에 기록된 대로 만들었습니다. 하지만 이건  url 구조상 검색엔진에서 받아주기 힘든 것을 요구하는 것이죠. 그러면서 canonical  url 규칙은 지키려고 모두 기본  url 로 가리키기도 하구요.

  • profile profile
    네~ 설명해주셨던 내용은 대략 이해를 했습니다. 그래도 혹시나 검색에 반영될까 기다려봤는데 역시나 안되더라구요. 지금은 다국어로 입력한 내용이 검색되도록 하는게 아니라 원문에 다국어 내용을 넣고 해당 언어 설정이 아니면 안보이도록 해서 검색에만 걸리게 해둔 상황이고 이렇게 하니 당연히 검색은 됩니다. 그런데 제목 부분이 한글 그대로 노출되서 해결할 방법이 있을까 했는데.. 이건 생각해볼수록 불가능하겠네요. 영 안되면 그냥 가장 많이 검색되어야할 언어로 제목을 수정할까 고민 중입니다.
  • profile profile

    이유는 검색엔진이 색인하는 url 형태와 canonical url 규칙 등 위에 제가 설명한 것이 원인 일 겁니다. 원인이라기보다는 SEO 에 대응을 잘못한 것이죠.

    1234?l=en 이 이것을 독립된 문서로 취급해준다고 네이버,구글에서 보증을 해준다면 라이믹스에서 canonical url 을 개별적으로 언어별로 변수 붙여서 유지하면 됩니다만 그걸 검색엔진에서 받아줄리가 없겠죠. 사이트맵,rss 등 모든 서드파티에서 다국어의 문서를 개별문서로 발행,생성되도록도 하여야하구요.

    문서에 다양한 언어의 내용을 함께 섞어서 넣는것은 당연히 원문서번호의 문서 검색에 내용이 있기에 걸리는 거 뿐이죠. 하지만 나머지 다른 부분은 원문서의 언어로 가져가는 게 당연하구요. 그냥 해당 키워드로 검색되어진거 뿐입니다. 다국어랑 전혀 관련이 없는...

  • profile
    영문 제목을 특정 변수에 담을 수 있다면
    적당한 시점에 Context::setBrowserTitle() 등의 방법으로 제목을 강제 지정할 수 있습니다.
    물론 검색에 걸리는 각종 meta 태그도 거기에 맞추어 변경해 주셔야 하고요.
    이런 태그 내용을 강제 지정하는 기능은 Context에 모두 있습니다.
    필요에 따라 호출하는 코드를 직접 작성하셔야 합니다.
  • profile profile
    예를들어 게시판 확장 변수에 영문 제목을 입력하고 게시판 스킨에서 context~ 부분을 본문에서 출력하도록 한다던지 하는 방법인가요?
  • profile profile
    검색엔진이 긁어가는 제목은 본문이 아니라 HTML 소스 최상단에 있는 <title> 태그이지요.
    여기 들어갈 내용은 코어가 글 제목과 게시판 제목을 자동으로 조합해서 쓰는데,
    상황에 따라 다른 언어로 제목을 넣고 싶으시다면 이걸 직접 커스터마이징해야 합니다.
    그래서 Context::setBrowserTitle() 함수를 알려드린 것이고요.
  • profile profile

    그냥 제목을 영어로 적으시면 필요도 없습니다.

    왜냐면 다국어 영어 url로 파싱해서 색인하지 않는것에서 지금 문제가 출발하는 것입니다.
    지금 중요한 문서만 제목을 영어로 적는다고 하신 것을

    Context::setBrowserTitle() 을 이용해서 특정 문서만 다국어 제목의 영어로 보여줄수도 있다는 것으로 해석됩니다.

    따라서 영문, 국문 2개의 색인이 별도로 되게 해준다는 의미가 아닙니다.

     

    그럼에도 이렇게 구현을 하면 한국어로 접속하신 분들은 한글로 보이지만 검색봇이 접근했을때는 문서 타이틀이 영문으로 해석될 수 있죠. 그런데 이건 실제 내용과 다른 타이틀이나 내용을 조작하는 행위로 어뷰징으로 해석될수도 있으니 주의가 필요합니다.

  • profile profile
    네! 감사합니다!
  • profile profile
    네 결론은 같은 url이 두개의 title를 설령 갖는다고 하더라도 검색 결과에 제가 원하는 방식으로 반영시키는건 불가능할것 같습니다.