현재 그누5에는 구글뉴스사이트맵이 있는데요. 이거를 그누4용도로 할려고합니다.
어떻게 해야될까요???
소스첨부합니다...
Copy
<?php</urlset>// please give feedbacks to bomool.netinclude_once("_common.php");$charset = $g5[charset];$url = "http://news.su-wan.com"; //::::::::::::::: write your GNUboard root path// 특수문자 변환. 변환하지않으면 XML 문법에 맞지 않으니까 변환해야합니다.function specialchars_replace($str, $len=0) { if ($len) { // 두번째 인자로 길이 값을 주면 그 길이만큼만 잘르고 나머지는 버린 후 치환합니다 $str = substr($str, 0, $len); } // 정규식으로 치환해야 제대로 원하는 것만 치환시키겠죠.. $str = preg_replace("/&/", "&", $str); $str = preg_replace("/</", "<", $str); $str = preg_replace("/>/", ">", $str); return $str;}header("Content-type: text/xml;charset=\"UTF-8\"");header("Cache-Control: no-cache, must-revalidate");header("Pragma: no-cache");echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";?><urlset xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"><?php$query = sql_query("select bo_table from `$g5[board_table]` where bo_read_level='1'");while($temp = sql_fetch_array($query)) { $bo_arr[] = $temp[bo_table];}$i = 1;foreach($bo_arr as $bo) { $query = sql_query("select wr_id, wr_datetime, wr_subject from `$g5[write_prefix]$bo` where wr_is_comment='0' AND wr_option NOT LIKE '%secret%'"); while($row = sql_fetch_array($query)) { // list of bo_table echo "<url>\n"; echo "<loc>$url/bbs/board.php?bo_table=$bo&wr_id=$row[wr_id]</loc>\n"; $temp = sql_fetch("select wr_datetime from `$g5[write_prefix]$bo` where wr_parent='$row[wr_id]' order by wr_id DESC"); $lastmod = str_replace(" ", "T", substr($temp[wr_datetime], 0, 30))."+00:00"; if(!$lastmod) { $temp = sql_fetch("select wr_datetime from `$g5[write_prefix]$bo` where wr_id='$row[wr_id]'"); $lastmod = str_replace(" ", "T", substr($temp[wr_datetime], 0, 30))."+00:00"; } if(!$lastmod) $lastmod = $g5[time_ymd]; echo "<news:news>\n"; echo "<news:publication>\n"; echo "<news:name>".specialchars_replace("수완뉴스")."</news:name>\n"; echo "<news:language>".specialchars_replace("ko")."</news:language>\n"; echo "</news:publication>\n"; echo "<news:publication_date>".specialchars_replace("$lastmod")."</news:publication_date>\n"; echo "<title>".specialchars_replace('['.$board['bo_subject'].'] '.$row['wr_subject'])."</title>\n"; echo " </news:news>\n"; echo "</url>\n"; } $i++;}?></urlset>
|
답변 3개 / 댓글 5개
채택된 답변
+20 포인트
소스에 있는 모든 g5를 g4로 모두 바꾸시면 될듯 한데요.
에디터에서 일괄변경 기능 을 사용하시면 되겠네요.
답변에 대한 댓글 4개
그 g4로 변경한소스를 google sitemap에 넣었더니,, 이런문구가 나오는데 혹시나 아시나요??
Sitemap 또는 Sitemap 색인 파일에 네임스페이스가 올바로 명시되어 있지 않습니다.
사이트맵 또는 사이트맵 색인 파일에서 필요한 네임스페이스(http://www.sitemaps.org/schemas/sitemap/0.9)를 선언하지 않습니다.
태그: urlset
사이트맵 또는 사이트맵 색인 파일에서 필요한 네임스페이스(http://www.google.com/schemas/sitemap-news/0.9)를 선언하지 않습니다.
상위 태그: news
태그: title
Sitemap 또는 Sitemap 색인 파일에 네임스페이스가 올바로 명시되어 있지 않습니다.
사이트맵 또는 사이트맵 색인 파일에서 필요한 네임스페이스(http://www.sitemaps.org/schemas/sitemap/0.9)를 선언하지 않습니다.
태그: urlset
사이트맵 또는 사이트맵 색인 파일에서 필요한 네임스페이스(http://www.google.com/schemas/sitemap-news/0.9)를 선언하지 않습니다.
상위 태그: news
태그: title
https://support.google.com/news/publisher/answer/74288?hl=ko
구글뉴스등록할때 사용하라는 xml인데.. 이거를 적용해서 한게 저위에 소스인데... 왜안될까요???
답변을 작성하려면 로그인이 필요합니다.
근데 urlset 이 윗부분도 닫혀 있네요?