망보드 랜드마크와 양식 라벨 오류 해결하기

망보드 랜드마크와 양식 라벨 오류 해결하기

안녕하세요! 지난번 SNS 공유 버튼 최적화에 이어, 오늘은 구글 서치 콘솔(또는 라이트하우스)에서 자주 발생하는 ‘웹 접근성’ 관련 오류 두 가지(랜드마크와 양식 라벨 오류 )를 해결해 보려고 합니다.

내 사이트가 구글 검색에서 좋은 점수를 받으려면 눈에 보이는 디자인도 중요하지만, 검색 로봇이나 스크린 리더가 사이트를 얼마나 잘 이해하느냐가 정말 중요하거든요. 오늘 해결해 볼 에러는 바로 이겁니다.

워드프레스 망보드 검색 최적화
  1. 문서에 주요 랜드마크가 없습니다.
  2. 양식 요소에 관련 라벨이 포함되어 있지 않습니다.

이게 무슨 뜻이고 어떻게 고치는지, 망보드와 워드프레스 사용자분들을 위해 쉽게 알려드릴게요!

망보드 랜드마크 없음 양식 요소에 관련 라벨이 포함되어 있지 않습니다 오류해결방법

1. “주요 랜드마크가 없습니다” 해결하기

이 검색 최적화 접근성 에러는 검색 로봇이 사이트에 들어왔을 때 “이 페이지에서 진짜 중요한 본문이 어디야?”라고 길을 잃었을 때 발생합니다. 집으로 치면 거실과 안방에 이름표가 없는 셈이죠.

보통 본문 영역을 감싸는 태그에 role="main"이라는 속성만 넣어주면 해결됩니다. 하지만 페이지마다 클래스명이 달라서 고치기 까다로운데요, 저는 자바스크립트를 이용해 자동으로 이름표를 붙여주는 방식을 사용했습니다.

[해결 코드 예시]functions.php 파일에 아래 코드를 넣으면 글 페이지(.container), 카테고리(.ht-body-wrapper), 메인 페이지(.ht-content-wrap)를 자동으로 찾아 본문으로 지정해 줍니다.

document.addEventListener('DOMContentLoaded', function() {
 var selectors = '.container', '.ht-body-wrapper', '.ht-content-wrap'];
 for (var i = 0; i selectors.length; i++) {
 var element = document.querySelector(selectorsi]);
 if (element && !element.getAttribute('role')) {
 element.setAttribute('role', 'main');
 }
 }
});

2. “양식 요소에 관련 라벨이 없습니다” 해결하기

두 번째는 주로 망보드에서 발생하는 검색 최적화 오류중 양식 요소에 대한 오류는 검색창에서 발생합니다. 스크린 리더를 쓰는 분들이 검색창에 커서를 가져갔을 때 “검색어를 입력하세요”라고 읽어줘야 하는데, 이름표(label)가 없어서 그냥 “빈 칸”이라고 읽어주는 상태인 거죠.

디자인상 이름표를 밖으로 노출하고 싶지 않을 때는 aria-label이라는 속성을 써서 검색 로봇에게만 살짝 알려주면 됩니다.

[해결 코드 예시]

var searchInput = document.getElementById('wp-block-search__input-1') || document.querySelector('.wp-block-search__input');
if (searchInput && !searchInput.getAttribute('aria-label')) {
 searchInput.setAttribute('aria-label', '사이트 검색');
}

3. 한 번에 해결하는 통합 최적화 팁

저는 위 두 가지 문제를 해결하는 코드를 하나로 합쳐서 테마의 functions.php에 넣어두었습니다. 이렇게 하면 매번 파일을 일일이 수정할 필요 없이 구글의 검사를 가뿐하게 통과할 수 있습니다.

코드를 적용하고 나면 꼭 구글 서치 콘솔에 가서 ‘수정 결과 확인’을 눌러주세요. 며칠 뒤면 “통과함”이라는 기분 좋은 메시지를 보실 수 있을 겁니다.

망보드나 워드프레스를 운영하다 보면 이런 기술적인 에러들이 발목을 잡곤 하죠. 하지만 하나씩 해결하다 보면 내 사이트가 검색엔진이 보기에 훨씬 ‘친절하고 건강한 사이트’가 된다는 사실!

여러분도 이번 기회에 랜드마크와 라벨 설정을 확인해 보세요. 궁금한 점은 댓글로 남겨주시면 아는 선에서 답변해 드릴게요!

댓글 남기기