그누보드 4.37.13 - 네이버 신디케이션 적용
4.37.13 (2014.07.08)
: 네이버 신디케이션 적용
추가된 필드를 생성하기 위하여 관리자 > 기본환경설정을 한번 이상 실행하고 진행하시기 바랍니다.
신디케이션을 적용하는 방법에 대해서는 아래 링크의 내용을 참고하시기 바랍니다.
http://sir.co.kr/bbs/board.php?bo_table=faq&wr_id=41
알림) 글 한개 작성시 신디케이션 수집 문서 수가 2개씩 올라가는 현상은 아직 해결하지 못하였습니다.
adm/config_form.php
adm/config_form_update.php
lib/naver_syndi.lib.php (신규)
bbs/ping.php (신규)
bbs/write_update.php 에서는 아래 코드가 추가 되었습니다.
include_once($g4['path'] . '/lib/naver_syndi.lib.php');
...
// 게시판그룹접근사용을 하지 않아야 하고 비회원 글읽기가 가능해야 하며 비밀글이 아니어야 합니다.
if (!$group['gr_use_access'] && $board['bo_read_level'] < 2 && !$secret) {
naver_syndi_ping($bo_table, $wr_id);
}
: 네이버 신디케이션 적용
추가된 필드를 생성하기 위하여 관리자 > 기본환경설정을 한번 이상 실행하고 진행하시기 바랍니다.
신디케이션을 적용하는 방법에 대해서는 아래 링크의 내용을 참고하시기 바랍니다.
http://sir.co.kr/bbs/board.php?bo_table=faq&wr_id=41
알림) 글 한개 작성시 신디케이션 수집 문서 수가 2개씩 올라가는 현상은 아직 해결하지 못하였습니다.
adm/config_form.php
adm/config_form_update.php
lib/naver_syndi.lib.php (신규)
bbs/ping.php (신규)
bbs/write_update.php 에서는 아래 코드가 추가 되었습니다.
include_once($g4['path'] . '/lib/naver_syndi.lib.php');
...
// 게시판그룹접근사용을 하지 않아야 하고 비회원 글읽기가 가능해야 하며 비밀글이 아니어야 합니다.
if (!$group['gr_use_access'] && $board['bo_read_level'] < 2 && !$secret) {
naver_syndi_ping($bo_table, $wr_id);
}
첨부파일
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 37개
이전 신디케이션 적용되어 있는 사이트도 위처럼 수정하면 새로운 신디케이션 적용되는것인가요? (이전 신디는 서서히 종료한다고 하는데요)
그리고, 웹마스터도구의 토큰번호는 어디에 넣어야 할까요.
글쓰기 완료를 하면
naver_syndi.lib.php on line 37 에러가 보입니다.
글목록이 안보이고 게시판으로 들어가 보면 글은 등록이 되어 있고요.
37라인은
curl_setopt_array($ping, $ping_client_opt);
인데요.
저만그런가요? ㅜㅜ
등록은 되는데 첨부파일은 등록이 안되네요..
스킨이 문제인지..
에디터로 등록된 이미지만 보여집니다...
http://kr1.php.net/manual/en/function.curl-setopt-array.php
좀더 낮은 버전에서 사용할 방법이 있는지 찾아 보겠습니다.
저희가 낮은 php 버전에서 사용한지 오래돼서..
php버전이 낮아서 그누보드5도 설치 못하고 있습니다.
PHP 4.3.10을 사용하고 있습니다
<?php
if (!defined('_GNUBOARD_')) exit;
// http://kr1.php.net/manual/en/function.curl-setopt-array.php 참고
if (!function_exists('curl_setopt_array')) {
function curl_setopt_array(&$ch, $curl_options)
{
foreach ($curl_options as $option => $value) {
if (!curl_setopt($ch, $option, $value)) {
return false;
}
}
return true;
}
}
// 네이버 신디케이션에 ping url 을 curl 로 전달합니다.
function naver_syndi_ping($bo_table, $wr_id)
{
global $config, $g4;
$token = trim($config['cf_syndi_token']);
// 토큰값이 없다면 네이버 신디케이션 사용안함
if ($token == '') return 0;
// 토큰의 길이는 112 글자입니다.
if (strlen($token) != 112) return -1;
// 신디케이션 제외게시판
if (preg_match('#^('.$config['cf_syndi_except'].')$#', $bo_table)) return -2;
// curl library 가 지원되어야 합니다.
if (!function_exists('curl_init')) return -3;
$ping_auth_header = "Authorization: Bearer " . $token;
$ping_url = urlencode( $g4['url'] . '/' . $g4['bbs'] . "/ping.php?bo_table={$bo_table}&wr_id={$wr_id}" );
$ping_client_opt = array(
CURLOPT_URL => "https://apis.naver.com/crawl/nsyndi/v2",
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => "ping_url=" . $ping_url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_TIMEOUT => 10,
CURLOPT_HTTPHEADER => array("Host: apis.naver.com", "Pragma: no-cache", "Accept: */*", $ping_auth_header)
);
//print_r2($ping_client_opt); exit;
$ping = curl_init();
curl_setopt_array($ping, $ping_client_opt);
$response = curl_exec($ping);
curl_close($ping);
return $response;
}
?>
잘 되네요 아이고.. 눈물날거 같아요 감동입니다~!!
정말 거듭 감사드립니다 복 많이 받으실거에요!!
핑이 전달이 안되네요.
신디케이션 수신 문서 수가 제로입니다.
이상한 것은,,
이전 신디케이션 적용하여 working 상태였거든요
웹마스터도구에서 신디케이션 연동을 신청하고 나니까
그누4 신디케이션적용버전 설치전에는
웹문서 최신순에 등록된 글이 보였습니다.
그런데 그누 4.37.13으로 덮어 씌운후에 등록한 글은
최신순에도 안 보이네요
핑전달현황도 제로이고
마지막핑,핑사용개수도 비어있고.
수집상태가 알수없다고 되어 있다가 수집원활이라고 바꼈길래
잘 되나 했는데 연동키 넣고 난 후에 등록한 글은 보이지가 않습니다
에고..제가 뭘 잘못 설치해서 저만 그런건지..
네이버에 등록한 사이트 헤더에
<meta name="naver-site-verification" content="!@#$#$%%$%$$"/> <--- 이런거 심으란거랑
robots.txt 파일 설정 제경우엔 아래두줄로 되있어여
User-agent: *
Allow: /
확인한번 해보세요
제경우 그누보드 신디케이션 업데이트 버전 적용전에
네이버 웹마스터 사이트 등록까지만 한상태에서도
수집은 올라가서 그누보드 업데이트 이전 문제라고 생각을 한것인데...
고생이 많으십니다..
혹시 모르니
<meta name="naver-site-verification" content="!@#$#$%%$%$$"/>
이부분 소스로 등록하셧다면 파일로 등록 하는방법으로 다시해보시는것도 어떨런지요.
1시간 가량 전혀 되지않았는데
하루지나니 싹올라와 있더라구요~
일단 수집문서 갯수 늘어나면 별 문제 없는것 같습니다.
저두 이제 하루 지나니 노출되네요.
빠른 업데이트 해주신 관리자님도 감사합니다.
이 시간 이전에 다운로드 하신 분들께서는 bbs/write_update.php 의
if (!$group['gr_use_access'] && $board['bO_read_level'] < 2 && !$secret) {
를
if (!$group['gr_use_access'] && $board['bo_read_level'] < 2 && !$secret) {
로 수정해 주시기 바랍니다.
2일이 지났는데 안되네요.
빨간색 그래프로 딱 떠줘야 하는데... 제로보드XE로 한곳은 빨간색 그래프 따악 떠주는데... 왜 나만 이런걸까요. 다른분들은 다들 하루정도 지나니까 된다고 하시는데...
adm/config_form.php
adm/config_form_update.php
lib/naver_syndi.lib.php (신규)
bbs/ping.php (신규)
bbs/write_update.php
이 파일들만 FTP로 덮어씌워주면 되나요? (실은, 위 파일만 덮어씌웠는데, 버전이 그대로라서,,, 문의드립니다.
저는 며칠 지나니 핑이 전달되네요 느긋하게 기다려야 하나봅니다^^
신디케이션 수신문서0, 색인현황0은 그대로네요, 시간이 지나면 자동으로 수집하는건지 아니면 뭘 잘못한건지...
감사합니다.