게시판 모듈 이외의 메뉴/페이지에서 SEO가 출력안 되는 현상 관련...

· 댓글 : 0 조회 : 4566 · 3

버그인지는 확실치 않지만... 킴스큐 Q&A에 이에 대한 질문을 올렸으나 (http://www.kimsq.co.kr/?c=qna&p=2&uid=14429) 계속 답변이 달리지 않아서 커스텀으로 직접 SEO가 적용되도록 아래와 같이 수정해 보았습니다. 


혹시 필요하신 분은 참고하시라고 정리해봅니다. 


1. 증상

- 킴스큐 버전: 1.2.2

- 일단 모든 메뉴, 페이지, 모듈마게시판 모듈이 사용되는 html 페이지의 소스를 까보면 SEO 설정이 정상적으로 되어 있는 것을 확인할 수 있으나 게시판 모듈 이외의 모듈 혹은 페이지가 적용된 메뉴의 html 소스를 까보면 단순히 subject, keywords만 적용이 되어 있음


2. 원인

- 일단 SEO 설정하는 스위치 소스를 보면 아래와 같다. 


 

 

 

 

 


게시판 모듈 소스를(bbs/main.php) 보면 아래와 같이 위의 모든 항목의 SEO애 대해 설정하는 부분이 존재하나 _core를 아무리 뒤져봐도 아래와 같이 SEO 설정하는 부분을 찾지 못하였음. 


$_SEO = getDbData($table['s_seo'],'rel=3 and parent='.$B['uid'],'*');

if ($_SEO['uid'])

{

$g['meta_tit'] = $_SEO['title'];

$g['meta_sbj'] = $_SEO['subject'];

$g['meta_key'] = $_SEO['keywords'];

$g['meta_des'] = $_SEO['description'];

$g['meta_cla'] = $_SEO['classification'];

$g['meta_rep'] = $_SEO['replyto'];

$g['meta_lan'] = $_SEO['language'];

$g['meta_bui'] = $_SEO['build'];

}



3. 해결

1) "_core\engine\main.engine.php" 파일에서 70번째 줄의

$_HM = getDbData($table['s_menu'],"id='".$_tmp['id']."' and site=".$s,'*');

의 다음 줄에 


$_SEO = getDbData($table['s_seo'],"rel=1 AND parent=".$_HM['uid'],'*');


와 같이 선언해줌. 여기서 rel=1은 메뉴를 의미하고 $_HM['uid']는 메뉴 UID를 의미. 


2) 같은 파일에서 129번째 줄에 (if ($_HP['pagetype']==1)조건이 끝난 직후)

아래와 같이 선언해줌. 

$_SEO = getDbData($table['s_seo'],"rel=2 AND parent=".$_HP['uid'],'*');


여기서 rel=2은 페이지를 의미하고 $_HP['uid']는 페이지 UID를 의미. 


3) 마지막으로 같은 파일의 맨 마지막 부분의 switch 선언하는 부분 바로 위에

아래와 같이 $_SEO 세부값을 적용해준다. 


if ($_SEO['uid']) {

$g['meta_tit'] = $_SEO['title'];

$g['meta_sbj'] = $_SEO['subject'];

$g['meta_key'] = $_SEO['keywords'];

$g['meta_des'] = $_SEO['description'];

$g['meta_cla'] = $_SEO['classification'];

$g['meta_rep'] = $_SEO['replyto'];

$g['meta_lan'] = $_SEO['language'];

$g['meta_bui'] = $_SEO['build'];

}


이와 같이 해준 이후로는 모든 페이지에서 설정한 SEO가 정상적으로 출력이 됨. 

통계분석을 위해 매체별 전용URL 사용해주세요.
밍대디님의 포스트
최근 리스트
리스트가 없습니다.