'브라우저 상태바(title)'에, 게시판별 각각의 모든 글에 'SEO 최적화 제목' 붙이기 정보
'브라우저 상태바(title)'에, 게시판별 각각의 모든 글에 'SEO 최적화 제목' 붙이기-
glitter0gim 홈페이지 자기소개 아이디로 검색 회원게시물
- 557

관련링크
첨부파일
본문
'브라우저 상태바(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개