SEO Health Score 올리기 챌린지
배경
비상!!!!! 😱
다행히 Ahrefs에서 무엇이 개선되어야 하는지도 가이드라인을 주고 있어서 하나씩 해결해가며 점수를 올려보기로 했다 💪
해결방법
1. sitemap 수정 (12 ➡️ 41)
기존에 만들어둔 sitemap은 News 메뉴 하위의 페이지들과 크게 두개로 스틱페이 'News 페이지' 하위에 있는 expo, blog 페이지들은 작성된 지 상당기간 지나 유효하지 않은 internal link들이 많았다. 그러나 모든 게시글들을 확인하며 유효하지 않은 링크들을 삭제하는 것은 무모한 짓을 뿐더러 리소스도 충분하지 않았다........ 결국 News 페이지를 제외한 sitemap을 생성하기로 했다.
점수는 41점으로 향상되었지만 여전히 아래 이슈들이 보여졌다.
2. robots.txt에서 Allow 와 Disallow 명시적으로 표시 (41 ➡️ 63)
Google Search Console 또한 좋은 힌트가 되었다.
robots.txt 파일에서 현재 크롤링 되어서는 안되는 페이지나 더이상 쓰이지 않는 페이지들을 Disallow로 선언해주었다.
User-agent: *
Allow: /
Allow: /about_sticpay/
Allow: /open_account/merchant-fast-track/
Disallow: /about/
Disallow: /mail_template/
Disallow: /mail_sender/
Disallow: /news/*
Disallow: /open_account/merchant/
Disallow: /stic_card/
Disallow: /support/
Disallow: /merchant/
Disallow: /partners/
수정된 파일을 적용하자 63점까지 Health Score가 향상되었다.
3. Double slash in URL 컨텐츠 수정 (63 ➡️ 68)
- Orphan page (has no incoming internal links)
news 페이지는 admin에서 잘못된 링크를 수정하거나, robots.txt에 new_list 링크를 disallow로 추가하는 등 위 이슈에 대해 추가 핸들링을 진행하니 5점이 추가로 향상되었다.
4. Missing reciprocal hreflang (no return-tag)
추가로 hreflang 태그로 감싸진 그룹의 모든 페이지가 동일한 x-default 태그를 갖고 있도록 수정했다.
BEFORE
AFTER
const NextSeo = ({ path, lang }: NextSeoProps) => {
const reciprocal = [{ hrefLang: 'x-default', href: `${BASEURL}/${path}` }];
const alternatedLang = supportedLngs
.map((lang) => {
return { hrefLang: lang, href: href(path, lang) };
})
.filter((alternate) => alternate.hrefLang !== lang);
return <Seo canonical={href(path, lang)} languageAlternates={[...reciprocal, ...alternatedLang]} />;
};
5. 400, 4xx 페이지 링크 수정
URL에 중복된 부분이 있는 링크의 경우 중복부분을 삭제하는 작업을 진행했다.
6. Canonical URL has no incoming internal links
support 페이지는 아래 스크린샷처럼 하위에 탭이 있어서 항상 쿼리스트링으로 탭 이름까지 물고 들어올 수 밖에 없다. 즉, https://sticpay.com/support 로 진입하는 링크가 웹 안에 존재하지 않는다는 뜻이다. (/support?tab=customer로 바로 진입) 이로 인해 incoming internal links 오류가 나고 있었다. support 페이지를 들어갈 수 없도록 만들고, sitemap.xml 에서 support를 제거, support?tab=customer support?tab=faq를 추가했다.
// Support/index.tsx
useEffect(() => {
const tab = router.query.tab;
if (!tab) router.replace(`/support?tab=customer`);
if (tab === 'faq') {
setKey('faq');
} else {
setKey('customer');
}
}, [router.query.tab]);
... 생략
return (
<>
<NextSeo path={`support?tab=${key}`} lang={i18n.language} />
<Wrapper>
...
</>
)
결과
1. 페이지 진입률 증가
키워드 검색 노출이 향상되면서 특정 페이지의 진입률이 폭발적으로 증가했다!!
마케팅 팀에서 확인해준 바로는 SEO개선으로 인해 키워드 검색이 잘 노출되어서 진입한 사용자가 늘어난 것으로 보여진다.
실제로 해당 키워드로 구글 검색 시 가장 상위에 스틱페이 페이지가 노출되는 것을 확인할 수 있었다!
2. Health Score 향상 (12 ➡️ 100)
개선사항 프로덕션 반영 후 Ahref에서 다시 Health Score를 측정했더니 큰 폭으로 향상된 점을 확인할 수 있었다.
최종적으로 12점에서 100점으로 향상되었다 👍