본문 바로가기
openipc.kr
SEO

카테고리 페이지의 canonical의 문제점 해결 방법(canonical이 루트url)

openipc.kr

카테고리 페이지의 CANONICAL

검색엔진 최적화(SEO)에서 중복 문서 문제를 해결하기 위해 표준 페이지를 지정하는 것이 중요합니다. 중복 페이지는 주로 모바일과 데스크탑 버전, 2차 도메인 사용, 콘텐츠 복사 등으로 발생합니다. 이러한 중복은 검색엔진 순위 저하와 트래픽 분산, 사용자 신뢰도 저하를 초래합니다. 해결책으로는 리디렉션, canonical 태그 설정, 사이트맵 제출 등이 있습니다특히, 티스토리 블로그는 리디렉션 사용 시 주의가 필요하며, canonical 태그는 자동으로 설정됩니다. 카테고리 페이지는 중복 문제를 피하기 위해 canonical을 설정하지 않거나 고유 페이지 주소를 사용해야 합니다..




검색엔진 최적화중에 이중페이지와 중복 문서에 대한 오류를 해결하는 방법과 이중페이지가 발생하는 원인과 문제점에 대한 정보입니다. 검색에서 이중문서를 방지 하기 위해 표준페이지를 지정해 주는 방식으로 이중문서와 중복에 대한 문제점을 주로 해결합니다. 이런한 중복과 이중페이지는 주로 자신이 작성한 글페이지가 다른 경로로 유입이 되는경우 발생하며 특히 2차 도메인을 사용할 경우 많이 발생합니다.

중복 페이지의 원인

  • 동일 페이지에 접속시 모바일 버전(m.example.com)과 데스크탑 버전(www.example.com)에 접속하는경우
  • 2차도메인 사용으로 2개 이상의 서로 다른 도메인으로 동일 페이지 접속시
  • 다른 콘텐츠를 복사하거나 붙여넣는 경우
  • 사이트의 구조적 문제로 서로 다른 경로로 접속시 (예 관련글, 카테고리페이지)

중복 페이지 문제점

  • 검색엔진 순위 저하: 중복 페이지로 인해 검색엔진에서 순위가 낮아질 수 있으며, 심한 경우 색인에서 제외될 수 있습니다.
  • 트래픽 분산: 이중 경로로 트래픽이 분산되어 페이지당 트래픽 순위가 하락할 수 있습니다.
  • 신뢰도 저하: 방문자와 사용자의 신뢰도가 떨어지는 경우가 발생할 수 있습니다.
  • 자원 낭비: 검색엔진을 운영하는 기업의 자원을 낭비하게 됩니다



중복 페이지는 운영자와 검색 기업에 부정적인 요인이 많이 발생하기 때문에 중복 문서에 대해서는 검색 순위에서 많은 부분을 점수에 반영하며 중복페이지에 대한 문제가 해결되지 않으면 검색 최적화 문제로 인해 순위 저하뿐만 아니라 검색에서 노출이 되지 않는 경우도 발생할 수 있습니다.

표준 페이지
이러한 문제점을 해결하기 위해서 각각의 페이지는 표준 페이지라는 개념을 도입해서 각각의 페이지가 다른 경로로 접속 시 원래 원본 페이지의 URL(주소)를 지정하는 방법으로 오류의 문제점을 해결합니다.

중복 페이지 방지법


가장 강력하고 효과적인 방법은 리디렉션과 CANONICAL태그 지정 그리고 사이트맵 등의 방법을 사용하는 것입니다.

리디렉션 사용법


주로 2차(2개 이상) 도메인 사용 시 한 개의 표준 도메인(대표 도메인)을 설정하여 다른 도메인으로 접속 시 바로 대표 도메인으로 연결해 주는 방법입니다. 이 방법은 가장 강력하고 확실한 방법이지만 몇 가지 고려해야 할 사항이 있습니다.

티스토리 블로그는 리디렉션을 금지하고 있습니다. 사용 시 불이익을 당할 수 있기 때문에 문제가 발생하며, 리디렉션을 하는 페이지에 대해서는 검색 엔진이 색인을 회피하거나 색인을 하지 않을 수 있습니다. 그 이유는 부정적으로 사용하는 사례가 많기 때문입니다.



가능하면 리디렉션은 짧은 시간에 강력하게 해결하기 위해 임시적으로 사용할 것을 권장합니다. 가장 좋은 것은 1개의 도메인으로 1개의 사이트를 운영하는 것입니다. 아래는 리디렉션 코드입니다.

✔ 예 티스토리 블로그

<!-- Domain Redirect -->
<script type="text/javascript">
    var mainDomain = 'openipc.kr'; // 메인 도메인
    var tistoryDomain = 'openpc.tistory.com'; // 티스토리 기본 도메인
    var online = document.URL; // 접근 URL
    var re = /tistory\.com\/manage/ig; // 관리자 페이지 예외 정규표현식
    var re2 = /#login-guide/g; // 댓글 작성 예외 정규표현식
    var re3 = /openipc\.kr\/##/ig; // openipc.kr/## 에 해당하는 정규표현식

    if (online.match(tistoryDomain)) {
        // 티스토리 도메인 접속 시 메인 도메인으로 리다이렉트
        if (online.match(re)) {
            // 관리자 페이지 예외 처리
        } else if (online.match(re2)) {
            // 로그인 가이드 예외 처리
        } else {
            document.location.href = online.replace(tistoryDomain, mainDomain);                    
        }
    } else if (online.match(re3)) {
        // openipc.kr/## 접속 시 openpc.tistory.com/manage로 이동
        document.location.href = 'https://openpc.tistory.com/manage';
    }
</script>



✔ 예: 일반사이트

<meta http-equiv="Refresh" content="0; url=https://example.com/new-page">

CANONICAL 태그


주로 권장되고 많이 사용하는 방법은 CANONICAL 태그를 이용해 표준 사이트를 지정하는 방식입니다. 이 방법은 티스토리 블로그를 운영할 경우 별도로 설정할 필요가 없으며, 자동으로 설정되며 운영자가 특별히 관리하지 않아도 됩니다. 일반 사이트는 자작 페이지에 대해 설정해주어야 합니다. 아래는 간단한 코드 예입니다.

✔ 예: CANONICAL 태그

<link rel="canonical" href="https://example.com/고유페이지 주소">

사이트맵



사이트맵을 제출해서 올바른 경로를 확인할 수 있게 해주는 방법은 일반적인 방법이며, 별로 효과가 없다고 보시면 됩니다. 단, 검색에서 제외하고 싶다면 사이트맵을 빼는 것은 잊지 않는 것이 좋습니다.

canonical의 문제점
canonical의 문제점

카테고리 페이지의 문제


주로 사용하는 CANONICAL 태그를 사용 시 문제가 되는 부분이 카테고리 페이지입니다. 각각의 독립적인 페이지는 1개의 표준 페이지를 지정해주면 되지만, 카테고리 페이지는 여러 문서들이 같이 노출되기 때문에 1개의 페이지를 선택해서 지정 시 나머지 페이지는 이중 문서로 인식할 수 있습니다.

이때 해결할 수 있는 방법은
카테고리 페이지는 CANONICAL을 설정하지 않는 것입니다. 그리고 카테고리 페이지를 검색에 노출시키고 싶다면 카테고리 페이지의 고유 페이지 주소를 CANONICAL로 지정해 주는 방법을 사용하시면 됩니다.

티스토리 카테고리 페이지는 동일하게 루트 URL를 표시하고 있습니다. 그래서 검색 엔진 최적화 측정 시 "문서에 유효한 REL=CANONICAL 없음과 콘텐츠 페이지가 아닌 도메인의 루트 URL(홈페이지)를 가리킴"이라는 경고 메시지가 나옵니다.



어차피 카테고리 페이지는 검색에 노출이 되더라도 별로 의미가 없다고 판단하시면 그냥 무시하시면 되고, 부득이 카테고리 페이지를 노출시켜야 할 이유가 있다면 코드를 수정해야 하지만 서버에서 작업을 진행해야 하기 때문에 티스토리는 수정이 불가능합니다.

그러나 뭔가 찜찜합니다. 검색 엔진 최적화에서 카테고리 페이지만 항상 92점인 경우가 많습니다. 그러면 이런 방법을 사용하면 어떨가요? 검색 엔진 최적화 테스트의 눈을 가리면 됩니다.

아래 코드를 이용하시면 자동으로 생성된 CANONICAL을 카테고리 페이지 고유 페이지 주소로 변경해서 검색 엔진 최적화 측정 시 CANONICAL 경고를 없애는 방법입니다.

✔ 예 카테고리 페이지로 접속시만 수정

<script async>
    // 현재 URL을 가져오는 함수
    function getCurrentUrl() {
        return window.location.href; // 현재 페이지의 URL을 반환
    }

    // DOMContentLoaded 이벤트가 발생하면 실행
    document.addEventListener('DOMContentLoaded', function() {
        var currentUrl = getCurrentUrl(); // 현재 URL을 변수에 저장

        // URL이 카테고리 페이지 특정 경로 접속하는지 확인
        if (currentUrl.startsWith('https://도메인주소/category/')) {
            // canonical 링크 요소를 선택
            var canonicalLink = document.querySelector('link[rel="canonical"]');

            // canonical 링크가 존재하는지 확인
            if (canonicalLink) {
                // canonical 링크의 href 속성을 현재 URL로 설정
                canonicalLink.setAttribute('href', currentUrl);
            }
        }
    });
</script>





카테고리로 접속시 기존의 루트를 가리키는 CANONICAL의 내용을 수정해서 현재의 페이지 주소로 변경해서 검색엔진 최적화 테스트에서 CANONICAL 경고에 대처할수 있습니다. 물런 근본적인 해결책은 아닙니다.