새롭게 블로그를 개발하거나 리펙토링 하면서 글의 URL
이 변경될 수 있습니다. 동일한 글인데 URL
이 2개 생기는 경우 우리는 어떤 URL
에 대해서 가중치를 주고 Index
에 등록을 해야 할까요? 2개의 URL
모두 Index
에 등록하면 화력이 분산
되지 않을까요? 제가 직접 새롭게 블로그를 개발하면서 겪은 이 문제에 대한 결과를 공유합니다.
상황
작성된 블로그 글에 Index
를 등록하고 구글 상위에 노출되면서 사용자가 잘 찾아오고 있는데 블로그가 변경되면서 해당 글의 URL
이 변경되는 경우 Index
처리는 어떻게 될까요?
우리는 이 상황에서 아래 중 어떤 것을 택할지 고민하게 됩니다.
- 이전 URL을 그대로 유지
- 새로운 페이지의 URL을 새롭게 Index에 등록
혹여나 구글 상위에 잘 노출되고 있는 글이 새로운 Index
등록으로 문제가 되지 않을까 노심초사를 하며 말이죠…
하지만 검색 엔진은 그렇게 멍청하지 않았습니다. 어떻게 처리되는지 설명해 보도록 하겠습니다.
시나리오
각 시나리오
는 동일한 글
에 대해서 변경 전 URL
과 변경된 URL
이 어떻게 Google Search Console
에서 처리되는가에 대해서 설명할 것입니다.
전제 조건
기본적으로 아래의 전제가 깔려있습니다.
변경 전 URL
클릭 시변경된 URL
으로리디렉션
처리됨변경 전 URL
의 페이지는변경된 URL
으로rel="canonical"
가 적용되어 있음
참고: 중복 URL을 표준 태그로 통합 | Google 검색 센터 | 문서 | Google DevelopersURL 변경 후
따로Google Search Console
에서 건드린 것이 없음
아래는 변경 전 URL
클릭 시 서빙되는 파일인데 코드로 보면 아래와 같은 것입니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta
http-equiv="refresh"
content="0; url=/blog/2021/05/06/using-recoil-in-nextjs/"
/>
<!-- 변경된 URL으로 적용 -->
<link rel="canonical" href="/blog/2021/05/06/using-recoil-in-nextjs/" />
</head>
<script>
// 변경된 URL으로 리디렉션 처리
window.location.href = "/blog/2021/05/06/using-recoil-in-nextjs/";
</script>
</html>
변경 전 URL
이 변경된 URL
보다 인기가 더 많은 경우
변경 전 URL
인 https://parkgang.github.io/golang/lets-create-an-http-cache-server-with-golang/ 이며 해당 링크를 검사해 보았습니다.
변경 전 URL
은 Index
가 살아있는 상태이네요.
보니까 색인생성
이라는 부분에 새롭게 정보가 추가되었는데 리디렉션
과 canonical
를 명시했기 때문에 검색엔진
이 다시 크롤링
한 결과 표준 페이지
는 변경된 URL
인 https://parkgang.github.io/blog/2021/11/17/lets-create-an-http-cache-server-with-golang/ 라는 것을 이미 알고 있네요!
이를 통해서 변경 전 URL
이 어떤 URL
으로 알 수 있는 정보는 사용자 선언 표준 URL
이라고 하는 rel="canonical"
곳에 선언할 수 있다는 것을 알 수 있었습니다.
공식 문서를 읽어보면 알 수 있지만 표준 페이지
를 명시하더라도 검색 엔진이 보기에 더 적합한 페이지를 표준 페이지
라고 지정할 수 있다고 합니다.
즉, 우리는 검색 엔진에게 표준 페이지
힌트를 제공할 뿐 변경은 검색 엔진
마음입니다.
예를 들어 변경 전 URL
이 웹상으로 더 공유가 많이 되었다면 변경 전 URL
클릭 시 리디렉션
되어 변경된 URL
으로 접근이 될지언정 검색 엔진은 변경 전 URL
이 더 표준 페이지
와 적합하다고 생각하는 것입니다.
그래서 표준 페이지
로 지정한 변경된 URL
을 검사하면 아래와 같이 Index
가 생성되지 않은 것을 볼 수 있습니다.
변경 전 URL
이 인기가 많지만 변경된 URL
으로 바꾸고 싶다면?
그렇다면 리디렉션
과 canonical
를 명시해서 내가 지정한 표준 페이지
를 지정되면 어떻게 표시될까요?
변경 전 URL
에 대해서 조회해 보겠습니다.
변경 전 URL
인 https://parkgang.github.io/next.js/using-recoil-in-next.js/ 는 이전에 Index
가 생성되어 잘 운영되던 페이지입니다.
근데 이제는 Index
가 없다고 하네요? 이유는 사용자 선언 표준 URL
을 보면 제가 리디렉션
과 canonical(케노티컬) 태그
를 변경된 URL
으로 Index
가 생성되었다고 합니다.
그럼 변경된 URL
인 https://parkgang.github.io/blog/2021/05/06/using-recoil-in-nextjs/ 으로 검사를 해볼까요?
검사를 해보니 Index
가 등록되었다고 합니다.
중요한 것은 저는 변경된 URL
으로 Index
를 요청한 적이 없습니다. 하지만 그럼에도 자동으로 생성된 것을 볼 수 있습니다.
그리고 하단에 색인생성
부분을 보면 https://parkgang.github.io/golang/lets-create-an-http-cache-server-with-golang/ 와 다르게 Google에서 선택한 표준 URL
이 검사된 URL
과 같다고 합니다.
즉, 제가 리디렉션
및 케노티컬 태그
로 원하는 표준 페이지
로 지정한 페이지를 검색 엔진
이 선택되었다는 것을 의미합니다.
Index
는 있지만 인기가 없어서 갱신이 안된 경우
트래픽
이 없어서 검색엔진
이 아직 크롤링
을 시작도 안한 경우는 변경 전 URL
과 변경된 URL
중 어떤 것을 Index
으로 생성해야 될까요?
우선 변경 전 URL
으로 검사를 해봅시다.
사용자 선언 표준 URL
도 지정되어 있지 않고 캡처한 시점이 2022-07-09
인데 크롤링
날짜는 2022-05-01
으로 낙후된 것을 볼 수 있습니다.
그럼 혹시나 하는 마음으로 변경된 URL
도 한번 조사해 볼까요?
역시 등록되어 있지 않네요.
이럴 땐 어떻게 하는 것이 현명할까요? 그냥 변경된 URL
으로 Index
를 생성하는 것이 좋을까요? 아니면 변경 전 URL
으로 다시 Index
하여 검색 엔진
이 알아서 선택할 수 있도록 하는 것이 좋을까요?
사실 지금 말로 정리하면서 정답이 나왔죠? 검색 엔진
이 알아서 선택할 수 있도록 하는 것이 좋습니다.
우리 입장에서야 변경된 URL
이 더 Fresh
하고 좋다고 느껴지지만 실제 Index
시 어떤 페이지가 더 가산점을 받을지는 검색 엔진
만이 알 수 있습니다.
검색 엔진
이 선택한 URL
이 어떤 것인지 어떻게 알 수 있을까요? URL
검사를 통해 알 수 있습니다.
변경 전 URL
에서실제 URL 테스트
를 눌러보도록 합니다.요청 시점으로 실제 크롤링 된 예상 결과를 보여주는데 여기서 핵심은
사용자 선언 표준 URL
을 인식한 것이고검색 엔진
입장에서 선택한표준 URL
은색인 생성 이후
에 확인된다는 것입니다.
그럼 결과가 어떻게 되는지는 실제 Index
생성이 필요하므로 시간이 걸리겠군요 Index
생성을 요청 후 검색 엔진
이 어떤 것을 표준 URL
으로 선택하는지 볼까요?
시간이 지나 결과는 예상하지 못한 리디렉션
오류가 발생했습니다.
이전에 색인되어 있었다는 내용은 어디로 가고 이제 색인이 등록되어 있지 않다고 합니다.
제 생각에는 다시 크롤링
하니까 이전에 색인된 내용이 필요 없다고 판단하여 제거한 것 같으며 제거된 상태에서 다시 색인을 생성하려고 하니 리디렉션
되는 링크들이므로 잘못된 색인이라고 오류가 발생하는 거 같습니다.
그래서 변경된 URL
으로 Index
를 다시 생성했습니다.
결론
검색 엔진
은 똑똑하며 필요한 정보를 잘 적어주면 가중치
에 맞게 필요한 페이지 1개
만 Index
으로 생성되는 것을 볼 수 있었습니다.
마치며
제 개인적으로도 블로그
를 개선하면 URL
변경에 따른 Side Effect
가 걱정되어서 찾아보게 된 것인데 SEO
에 대해서 조금 더 이해할 수 있는 계기가 되었습니다.
이 글을 보고 블로그
를 개선 및 마이그레이션 하면서 URL
이 변경되면 이전 Index
는 어떻게 되는 거지! 라는 걱정 말고 자신감
을 가지고 할 수 있도록 내용이 전달되었으면 좋겠습니다.
읽어주셔서 감사합니다!