묻고답하기
SEO 모듈 레이아웃의 위젯의 게시글링크 문제.
2015.01.03 14:47
SEO 모듈을 꼭 사용하고 싶은데 지금 SEO 모듈로는 정상동작이 하지 않습니다. 제작자분께 이슈를 알려 드린 상태이긴 한데요.
문제의 핵심을 먼저 말씀 드리면
레이아웃에 위젯을 통한 게시물 링크가 노출이 되면 문제가 생깁니다.
문제점 1.
모듈에서 type 구분을 website와 article로 구문을 하는데 레이아웃에 위젯을 통해 게시물 링크가 노출되고 있으면 모든문서가 article이 아닌 website로 구분되어 글의요약이나 이미지 분석등 글의 분석이 이루어지지 않습니다.
문제점 2.
제가 코드를 약간 수정해서 (aticle = true 부분만...) article로 인식되게 하여도 문제는 레이아웃에 노출된 위젯에 의한 게시물의 주소에 해당하는 글요약(description) 등의 정보를 긁어와 버립니다.
if ($document_srl) {
$oDocument = Context::get('oDocument');
if (!is_a($oDocument, 'documentItem')) {
$oDocumentModel = getModel('document');
$oDocument = $oDocumentModel->getDocument($document_srl);
}
if (is_a($oDocument, 'documentItem') && $document_srl == $oDocument->document_srl) {
$is_article = true;
}
}
// 문서 데이터 수집
if ($is_article) {
if (!$oDocument->isSecret()) {
$piece->document_title = $oDocument->getTitleText();
$piece->url = getFullUrl('', 'mid', $current_module_info->mid, 'document_srl',$document_srl);
$piece->type = 'article';
$piece->description = trim(str_replace(' ', ' ', $oDocument->getContentText(400)));
$piece->author = $oDocument->getNickName();
if (count($oDocument->get('tag_list'))) {
$tags = implode(',', $oDocument->get('tag_list'));
if ($tags) $piece->keywords = $tags;
}
if ($oDocument->hasUploadedFiles()) {
$image_ext = array('bmp', 'gif', 'jpg', 'jpeg', 'png');
foreach ($oDocument->getUploadedFiles() as $file) {
if ($file->isvalid != 'Y') continue;
$ext = array_pop(explode('.', $file->uploaded_filename));
if (!in_array(strtolower($ext), $image_ext)) continue;
$piece->image[] = Context::get('request_uri') . $file->uploaded_filename;
}
}
} else {
$piece->url = getFullUrl('', 'mid', $current_module_info->mid);
}
} else {
if (!$is_index) {
$page = (Context::get('page') > 1) ? Context::get('page') : null;
$piece->url = getNotEncodedFullUrl('mid', $current_module_info->mid, 'page',$page);
}
}
$piece->title = $this->getBrowserTitle($piece->document_title);
if ($config->site_image_url) $piece->image[] = $config->site_image_url;
$this->addLink('canonical', $piece->url);
$this->addMeta('keywords', $piece->keywords);
$this->addMeta('description', $piece->description);
// Open Graph
$this->addMeta('og:type', $piece->type);
$this->addMeta('og:url', $piece->url);
$this->addMeta('og:site_name', $config->site_name);
$this->addMeta('og:title', $piece->title);
$this->addMeta('og:description', $piece->description);
$this->addMeta('og:article:author', $piece->author);
foreach ($piece->image as $img) {
$this->addMeta('og:image', $img);
}
$this->canonical_url = $piece->url;
$this->applySEO();
if ($config->use_optimize_title == 'Y') Context::setBrowserTitle($piece->title);
}
* 붉은색으로 칠한 부분을 제거하니 모든 문서가 websit로 구분되어 지던것이 문서는 article로 구분되어 집니다. 하지만 문제점 2로 인해 정상적인 메타태그가 생성되지 않고 있습니다. (물론 푸터쪽에 있는 위젯을 제거하면 될 것 같지만 게시판의 상단에 html입력란에 위젯을 넣어놓은 게시판은 또 여기서 영향을 받습니다 ㅜㅡ)
실제 문서의 요약글을 추출할 수 있는 방법이 어디를 수정해야 할까요... ㅡㅡ;
댓글 7
-
닉이
2015.01.04 07:06
-
몽실아빠
2015.01.04 11:19
컨텐츠위젯이나 컨텐츠확장위젯 등으로 다른게시물들의 링크주소가 노출되어 있으면 문제가 생깁니다. 저희 사이트 하단에 보시면 컨텐츠위젯으로 공지사항 1개가 노출되는게 보일겁니다.
그것 때문에 제가 위에 붉은색으로 표시한 부분을 지우고 확인해 보면 모두 해당 공지사항 글의 정보를 수집합니다. 메인 레이아웃에 노출된 공지사항 글의 경우는 자기 글 이기 때문에 제대로 수집이 되구요. 이런 식 입니다.
그래서 레이아웃에서 해당 공지글을 보이게 하는 위젯코드를 제거 하면 괜찮아 지는데 다시 게시판 상단에 컨텐츠화장위젯을 넣어놓은 게시판들은 또 그 컨텐츠확장위젯의 인기글 중 한개가 arricle의 글로 인식되어 엉뚱한 글이 수집이 되네요...
-
몽실아빠
2015.01.04 11:21
위젯을 게시판 상단 html 입력 부분에 한번 넣어보세요.. 그럼 아마 테스트가 될 것 같아요. 저도 레이아웃 없이 그냥 게시판만 가지고 테스트를 해 보았는데요. 상단에 게시물링크정보를가진 위젯코드가 있으면 문제가 되더라구요.
-
몽실아빠
2015.01.04 14:14
충돌이 되는 위젯을 대충 찾았습니다. newest_document 위젯과 인기글위젯 두개 이네요. 일단 두개 위젯을 피해서 설치하는 방법으로 해결해야 겠네요.
-
닉이
2015.01.04 14:20
저는 결국 재연을 못해봤어요. xe 1.7.8, 스케치북 1.7.0, 1.7.1, newest_document 위젯, contentextended 위젯, content 위젯으로 테스트 해봤지만 다 잘나오네요.
https://www.dramajoa.com/xe/pxe/ 테스트 페이지입니다. 잘나오네요.
먼가 다른게 있을텐데 궁금하기만 하네요. 말씀하신것처럼 포엠러브 하단 위젯의 공지글을 클릭하면 seo가 잘작동하지만 공지의 다른글은 seo가 작동을 안하고...신기합니다.
-
몽실아빠
2015.01.04 14:22
네. 공지글과 푸터의 하단에 링크가 동일하기 때문에 문제가 없구요. 다른 게시물은 푸터의 위젯에서 출력되는 공지글과 다르기에 문제가 생겨요. 일다 원인을 찾았으니 해당 위젯을 사용하지 않는 것으로 해결을 보려 합니다.
일단 위젯의 위치에도 영향을 받는거 같기도 하고 복잡한 상황 같아서요. 일단 문제가 생기지 않는 방법으로 해결이 가능할 것 같습니다.
-
몽실아빠
2015.01.04 14:23
아마 저희 사이트도 지금은 모두 정상적으로 잘 나오고 있을거에요... . 푸터 하단의 위젯만 다른위젯으로 교체하고 마무리 지으려고 해요. 감사합니다.
포메러브에서 위젯설치된거 찾아보고 몇개 설치해봤는데 재연이 잘안되네요. 어떤 위젯과 충돌이 생기나요?