Dico

Dico

SEO Health Score 올리기 챌린지

배경

비상!!!!! 😱

image-1

image-2

image-3

다행히 Ahrefs에서 무엇이 개선되어야 하는지도 가이드라인을 주고 있어서 하나씩 해결해가며 점수를 올려보기로 했다 💪

해결방법

1. sitemap 수정 (12 ➡️ 41)

기존에 만들어둔 sitemap은 News 메뉴 하위의 페이지들과 크게 두개로 스틱페이 'News 페이지' 하위에 있는 expo, blog 페이지들은 작성된 지 상당기간 지나 유효하지 않은 internal link들이 많았다. 그러나 모든 게시글들을 확인하며 유효하지 않은 링크들을 삭제하는 것은 무모한 짓을 뿐더러 리소스도 충분하지 않았다........ 결국 News 페이지를 제외한 sitemap을 생성하기로 했다.

image-4

점수는 41점으로 향상되었지만 여전히 아래 이슈들이 보여졌다.

image-5

2. robots.txt에서 Allow 와 Disallow 명시적으로 표시 (41 ➡️ 63)

Google Search Console 또한 좋은 힌트가 되었다.

image-7

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가 향상되었다. image-8

3. Double slash in URL 컨텐츠 수정 (63 ➡️ 68)

  • Orphan page (has no incoming internal links)

news 페이지는 admin에서 잘못된 링크를 수정하거나, robots.txt에 new_list 링크를 disallow로 추가하는 등 위 이슈에 대해 추가 핸들링을 진행하니 5점이 추가로 향상되었다.

image-9

4. Missing reciprocal hreflang (no return-tag)

추가로 hreflang 태그로 감싸진 그룹의 모든 페이지가 동일한 x-default 태그를 갖고 있도록 수정했다.

image-10

BEFORE image-11

AFTER image-12

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에 중복된 부분이 있는 링크의 경우 중복부분을 삭제하는 작업을 진행했다. image-13

image-14

6. Canonical URL has no incoming internal links

image-15

support 페이지는 아래 스크린샷처럼 하위에 탭이 있어서 항상 쿼리스트링으로 탭 이름까지 물고 들어올 수 밖에 없다. 즉, https://sticpay.com/support 로 진입하는 링크가 웹 안에 존재하지 않는다는 뜻이다. (/support?tab=customer로 바로 진입) 이로 인해 incoming internal links 오류가 나고 있었다. support 페이지를 들어갈 수 없도록 만들고, sitemap.xml 에서 support를 제거, support?tab=customer support?tab=faq를 추가했다.

image-16

// 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. 페이지 진입률 증가

키워드 검색 노출이 향상되면서 특정 페이지의 진입률이 폭발적으로 증가했다!!

image-17

image-18

마케팅 팀에서 확인해준 바로는 SEO개선으로 인해 키워드 검색이 잘 노출되어서 진입한 사용자가 늘어난 것으로 보여진다.

image-19

실제로 해당 키워드로 구글 검색 시 가장 상위에 스틱페이 페이지가 노출되는 것을 확인할 수 있었다!

image-20

2. Health Score 향상 (12 ➡️ 100)

개선사항 프로덕션 반영 후 Ahref에서 다시 Health Score를 측정했더니 큰 폭으로 향상된 점을 확인할 수 있었다.

최종적으로 12점에서 100점으로 향상되었다 👍

image-21