셀프호스팅 블로그의 구글 검색 색인 생성 최적화하기
구글에 사이트맵을 제출하면 알아서 색인이 색성되고 검색 결과에 자연스럽게 표시가 되면 좋겠지만, 몇몇가지 사소한 실수들로 인해 색인에서 누락되는 페이지들이 생기게 됩니다.
구글 검색 색인을 생성할 때 내 사이트와 DNS에 다음과 같은 설정은 피해야 합니다.
불필요한 서브도메인 연결은 피해야
자체 DNS를 사용할 때, 또는 도메인 등록처 등의 DNS를 이용할 때 *.mydomain.com 로 접속하는 모든 연결에 대해 주 도메인 ip나 호스트로 가도록 설정하는 것은 피해야 합니다.
마찬가지 이유로 www없는 도메인으로 운영하는 사이트에 www.mydomain.com ip를 연결하는 것도 피해야 합니다.
DNS단에서 주 서비스 도메인의 웹 서버 ip로 가도록 하는 설정은 구글 색인을 생성할 때 대체 페이지가 있는 것으로 인식되고, 불필요한 색인 생성 문제를 일으킵니다.
반대로 www가 붙은 도메인으로 사이트를 운영하면 루트 도메인을 서버 ip로 매핑하는 것은 피해야 합니다.
DNS ip 매핑을 대신해 CNAME으로 별칭을 설정하거나 불필요한 ip 매핑을 하지 않아야 합니다.
글 안에 현재 글의 url을 링크는 피해야
글 안에 글 자신의 링크는 넣는 것은 피해야 합니다. 구글 검색 색인은 명백하게 글 안에 자신의 URL을 링크하는 것을 문제가 있는 글로 인식하며, 색인을 생성하지 않거나, 검색 결과에 노출하지 않습니다.
구글 검색이 글의 연결성을 중요하게 생각하고, 다른 글, 또는 다른 사이트의 글을 링크하는 것을 선호하지만 자기 자신을 링크하는 것은 문제가 있다고 판단합니다.
관련글이나 사이트의 강의 목차 등을 목록으로 글 안에 표시를 할 때 자기 자신의 글이 포함되면 안됩니다.
제이쿼리 사용은 피해야
제이쿼리는 여전히 사용자층이 두터운 자바스크립트 라이브러리지만 무게가 상당히 무겁습니다. 특히 전체 라이브러리를 포함하고 있는 제이쿼리 라이브러리는 크기가 상당히 클 뿐만 아니라, 사용하지 않은 수 많은 모듈과 기능을 포함하고 있습니다.
또한 호환성 문제 해결을 위한 레거시 지원 기능들 또한 많이 포함되어 있기 때문에 속도가 느린 편입니다.
구글 성능 지표, 검색 최적화에서 제이쿼리는 악영향을 미치는 주요한 요인이 됩니다.
셀프 호스팅으로 로컬 라이브러리를 로딩하는 경우, 불필요한 모듈은 모두 제거한 컴팩트한 제이쿼리를 구성해서 최대한 작고 빠르게 로딩되도록 해야 합니다.
편의성때문에 CDN으로 배포되는 제이쿼리 라이브러리를 사용하면 사이트의 초기 로딩은 더 느려집니다.
특히 국내 사용자들을 대상으로 하는 블로그라면 아무리 빠르다고 해도 CDN 자체의 기본 지연이 있기 때문에 셀프 호스팅보다 더 느리게 로딩됩니다.
정보 제공성 블로그면 코멘트는 기본으로 안보이게
블로그의 컨텐츠 자체보다 코멘트 누적 내용이 더 길어지면, 코멘트로 인해 페이지 로딩이 느려지고, 심하면 페이지 로딩 지연의 주된 요인이 코멘트 내용 표시가 됩니다.
코텐트가 방문자 인터렉션과 재방문을 유도하는 중요한 기능이지만, 코멘트로 인해 페이지 로딩이 심각하게 느려지는 원인이 될 수 도 있습니다.
사용하는 블로그 기능에서 지원하면 가능하면 감추거나, 최근 몇 개만 노출되도록 하고 나머지는 사용자 선택에 의해 노출되도록 하는 방식이 페이지의 로딩 속도를 높이고, 검색 결과 순위를 높이는데 도움이 됩니다.
특히 구글의 검색 결과에 의존하는 방문자가 많은 정보성 사이트, 또는 블로그면 하이트 하단의 불필요하게 긴 코멘트는 검색 순위에 영향을 미칩니다.
http://는 https://로 리다이렉트를
SSL 인증서를 발급할 수 없는 서비스가 아닌 이상 https 로 블로그를 서비스해야 합니다. 구글은 http로 서비스되는 사이트, 블로그에 검색 결과 패널티를 적용합니다. 보안상 안전하지 않다고 판단하기 때문에 그렇습니다.
또한 서비스를 할 때 http와 https 모두를 서비스하는 것은 좋지 않습니다. 구글 색인을 생성할 때 이중 색인 시도를 하게 되고 구글 서치 콘솔에서 색인을 생성할 때 중복 페이지가 있는 것으로 인식합니다.
이왕이만 많으면 좋은게 구글 검색에서는 통용되지 않습니다.
네이버의 경우에도 http와 https 사이트는 완전히 다른 사이트로 처리가 되므로 서비스를 시작하는 단계에서 https 단일 서비스가 되도록 설정을 구성해야 합니다.