'브라우저 상태바(title)'에, 게시판별 각각의 모든 글에 'SEO 최적화 제목' 붙이기 정보
'브라우저 상태바(title)'에, 게시판별 각각의 모든 글에 'SEO 최적화 제목' 붙이기
관련링크
첨부파일
본문
'브라우저 상태바(title)'에
게시판별 각각의 글에 대한 '홈페이지 제목'이 아닌 'SEO 최적화 제목' 사용하기.
https://trigger.glitter.kr/bbs/board.php?bo_table=notice&wr_id=2
그누보드(기본 4개)의 모든 게시글에는 'wr_seo_title' 칼럼이 자동 삽입되어 있습니다.
아래의 후킹 함수를 /extend/에 추가하시면,
특정 게시판의 각각의 게시물 '브라우저 상태바(title)'에 홈페이지 제목이 아닌
미리 지정된 'wr_seo_title' 값을 적용하실 수 있습니다.
이 방식은 게시판별 일관된 제목과 각각의 글 제목을 유지하면서도,
별도로 설정한 'wr_seo_title' 값을 '브라우저 상태바(title)'에 표기할 수 있습니다.
/extend/bo_seo_title.extend.php = = =
<?php
if (!defined('_GNUBOARD_')) exit; // 보안 처리
// 게시판 및 게시글 ID 확인
if (isset($_GET['bo_table']) && isset($_GET['wr_id'])) {
$bo_table = preg_replace('/[^a-zA-Z0-9_]/', '', $_GET['bo_table']); // 보안 처리
$wr_id = intval($_GET['wr_id']); // wr_id는 정수형
// 해당 게시물의 wr_seo_title 조회
$sql = "SELECT wr_subject, wr_seo_title FROM g5_write_{$bo_table} WHERE wr_id = '{$wr_id}'";
$result = sql_fetch($sql);
// cf_title 값을 wr_seo_title로 변경하여 후킹 적용
if (!empty($result['wr_seo_title'])) {
$config['cf_title'] = trim($result['wr_seo_title']); // wr_seo_title 값 적용
} else {
$config['cf_title'] = trim($result['wr_subject']); // wr_seo_title이 없으면 wr_subject 사용
}
}
// 후킹 시스템을 사용하여 g5['title']을 재설정
add_event('head.sub.php', function() {
global $g5, $config;
if (!isset($g5['title'])) {
$g5['title'] = $config['cf_title'];
} else {
// 상태바에 표시될 제목 설정
$g5['title'] = implode(' | ', array_filter(array($g5['title'], $config['cf_title'])));
}
// XSS 방지를 위한 strip_tags 처리
$g5['title'] = strip_tags($g5['title']);
});
?>
추천
2
2
댓글 0개