title
에 본문 글 제목이 나오도록 하면 접근성 면에서도 좋은 데다가 검색 엔진 최적화 방법 가운데 하나라고 구글 같은 검색 사이트에서도 검색 결과 앞부분에 뜨는 데 유리하다.
테크노트 보드는 배포판 기본 설정에서는 title
에 본문 글 제목이 나오도록 되어 있지 않다. 따로 자바스크립트를 이용해서 title
에, 정확히는 브라우저 꼭대기와 맨 아래 탭 부분에 글 제목이 오도록 하는 방법을 알려주고 있긴 하다.
하지만 소스를 보면 실제로는 title
에 글 제목이 오는 건 아니기 때문에 검색 사이트에서는 title
에 글 제목이 있다고 인식하지는 못한다. 따라서 이건 검색 엔진 최적화 면에서는 무용지물이고, 접근성 면에서 어떨지는 브라우저 화면을 읽어주는 프로그램을 써 본 일이 없어서 모르겠다.
하여튼 그래서 진짜로 title
에 본문 글 제목이 오는 방법을 연구하여 피 안 나는 노력 끝에 그 방법을 알아냈다. 테크노트 보드를 쓰면서 타이틀에 글 제목이 오도록 하는 방법을 찾던 지구인들에게 도움이 되길 바란다.
title
에 본문 글 제목이 오도록 하는 방법1_main_html.php 파일 아니면 자기가 만든 다른 1_main_html_myboard.php 같은 파일을 열고 head
의 meta
태그 아래 <title> 태그가 오는 곳을 다음 코드로 바꿔준다.
<?php // 타이틀 태그
$table_name = "a_tn2_".$board."_list";
$query = "select subject from $table_name where no=$no";
$select_result = @mysql_query($query);
$Index_data = @mysql_fetch_array($select_result);
if ($command=='list' && $page)
echo "<title>황씨신문 - ".$Bconfig[tx1_1]." ".$page."쪽</title>";
elseif ($command=='write')
echo "<title>황씨신문 - ".$Bconfig[tx1_1]." - 쓰기</title>";
elseif ($command=='body' && $no>0)
echo "<title>황씨신문 - ".$Bconfig[tx1_1]." - ".$Index_data[subject]."</title>";
else
echo "<title>황씨신문 - ".$Bconfig[tx1_1]."</title>";
?>
위 코드에서 맨 위의 네 줄은 DB에서 현재 게시판 (변수 $board
)의 현재 게시물 번호 (변수 $no
)에 해당하는 제목 (subject
)를 불러오는 내용이다. 그냥 $Index_data[subject]
나 $Body_data[subject]
를 써서는 제목이 출력되지 않았기 때문에 이렇게 직접 DB에서 제목을 불러왔다.
만약 누리집 이름이 '황씨신문'이고 현재 게시판 이름 (변수 $Bconfig[tx1_1]
)이 '방명록'일 경우 title
, 즉 브라우저 꼭대기에는 if
문 조건에 따라 아래와 같이 다르게 나온다.
그런데 이미 쓴 글을 '수정'으로 들어가서 고칠 경우에는, command
가 write
대신에 iwindow
가 뜨기 때문에 '쓰기'라고 나오는 대신 네 번째 경우처럼 나온다.
title
에 보이는 형식을 바꾸고 싶다면 위 코드에서 출력을 나타내는 echo
부분을 바꿔 주면 된다. 누리집 이름은 '황씨신문' 대신에 자신의 누리집 이름을 적어 주면 된다. 변수는 $page
처럼 그냥 적어주고 그 외 문자열은 "<title>황씨신문 - "
처럼 따옴표로 감싸준다. 그리고 변수와 변수, 변수와 문자열 또는 문자열과 문자열 등을 이어 출력되게 할 때는 둘 사이에 .
을 넣어 주면 된다.
만약 title
에서 누리집 이름, 게시판 이름 그리고 글 제목을 아래와 같이, - 대신에 >로 나눠 보이게 하고 싶다면 위의 코드에서 if
문 부분을 아래 코드로 바꿔 준다. echo
부분에서 - 대신에 >를 넣어 준 것만 다르다.
if ($command=='list' && $page)
echo "<title>황씨신문 > ".$Bconfig[tx1_1]." ".$page."쪽</title>";
elseif ($command=='write')
echo "<title>황씨신문 > ".$Bconfig[tx1_1]." > 쓰기</title>";
elseif ($command=='body' && $no>0)
echo "<title>황씨신문 > ".$Bconfig[tx1_1]." > ".$Index_data[subject]."</title>";
else
echo "<title>황씨신문 > ".$Bconfig[tx1_1]."</title>";
만약 차례를 바꿔, 글 제목이 먼저 나오고 그 다음에 게시판 이름, 그리고 마지막으로 누리집 이름이 나오게 하고 싶다면, 맨 위의 코드에서 if
문 부분을 아래 코드로 바꿔 준다. 이 코드로 바꿀 경우 아래처럼 나온다.
if ($command=='list' && $page)
echo "<title>".$Bconfig[tx1_1]." ".$page."쪽 - 황씨신문</title>";
elseif ($command=='write')
echo "<title>".$Bconfig[tx1_1]." 쓰기 - 황씨신문</title>";
elseif ($command=='body' && $no>0)
echo "<title>".$Index_data[subject]." - ".$Bconfig[tx1_1]." - 황씨신문</title>";
else
echo "<title>".$Bconfig[tx1_1]." - 황씨신문</title>";
만약 본문 내용 보기에서 누리집 이름이나 게시판 이름은 다 빼고 title
에 글 제목만 나오게 하고 싶다면, 맨 위의 코드에서 if
문 세 번째 조건 부분을 아래 코드로 바꿔 준다.
elseif ($command=='body' && $no>0)
echo $Index_data[subject];
굳이 글 제목 외에 쓰기나 쪽수 등을 title
에 나타낸 까닭은 그게 접근성을 높이는 방법이기 때문이다. 화면 내용을 읽을 수 없어서 브라우저 화면을 읽어주는 프로그램을 쓰는 사람에게는 title
태그 내용이 중요하기 때문에, title
내용을 정확하고 자세하게 적어 주어야 한다.