ProSEO plugin v.1.0.0
사이트맵과 Robots.txt를 생성하고 모든 페이지의 SEO를 도와줍니다.
pro SEO
- XE3 코어의 SEO 기능을 향상시키는 proSEO 입니다.
- 다이나믹 팩토리 플러그인과 호환됩니다.
- 멀티사이트 플러그인 을 지원합니다.
install
- XE3 코어의 수정이 필요합니다.
- 다음 파일을 수정합니다. ./cms/core/src/Xpressengine/Seo/SeoHandler.php
159: private function resolveData(SeoUsable $item = null)
- private 함수를 public으로 변경 해 줍니다.
159: public function resolveData(SeoUsable $item = null)
Features
Global Meta
- 사이트 전역에 걸쳐서 게시글, 페이지, 다이나믹 팩토리를 통해 생성된 문서 등에 대해 메타정보를 세세하게 설정할 수 있습니다.
- 이 옵션은 미들웨어를 통해 코어에서 기본 제공되는 SEO 서비스 프로바이더를 완전히 대체합니다.
대체되는 변수
- 설명
- 키워드
- 썸네일 (사이트 대표사진)
- 브라우저 제목
- 브라우저 부제목
- 스키마그래프
- 페이지 스키마 / 문서 유형
- 지원하는 페이지 스키마
- 웹 페이지 (기본)
- 상품 목록 페이지
- 상세 페이지
- 소개 페이지
- 자주 묻는 질문 페이지
- 질문/답변 페이지
- 프로필 페이지
- 연락 페이지
- 의료목적의 웹페이지
- 결제 페이지
- 부동산 관련 목록페이지
- 검색 결과페이지
- 지원하는 문서 유형 (Article Type)
- 일반 (기본)
- 소셜 미디어 포스팅
- 뉴스 기사
- 광고주 컨텐츠 (유료광고 등)
- 풍자/유머
- 학술 논문
- 기술 문서
- 보고서
- 지원하는 페이지 스키마
- 페이지 스키마 / 문서 유형
- 전역설정과, 인스턴스 유형별 설정, 문서별 설정을 모두 제공합니다.
- 각 설정은 상/하위 관계를 가지고, 하위설정이 비어있으면 상위설정으로 대체되는 구조를 가지고 있습니다.
Sitemap.xml
- 생성된 인스턴스 및 슬러그를 가진 모든 Document에 대해서 사이트맵을 제공합니다.
- 인스턴스 유형별 사이트맵을 별도로 제공합니다.
- XE3 메뉴 인스턴스 기반으로 3Depth의 사이트맵을 생성합니다.
- Menu 모델을 기반으로 첫번째 사이트맵 인덱스를 생성합니다.
- Menu 모델에 포함된 MenuItem 모델을 기반으로 두번째 Depth의 사이트맵 인덱스를 생성합니다.
- Menu Item 모델에서 확인된 module type에 한해 사이트맵 인덱스가 등록됩니다.
- 기본 지원 모듈 유형
- 페이지
- 위젯페이지
- 사용자 정의 문서유형 (다이나믹 팩토리)
- 게시판
- 멀티사이트 플러그인 을 사용하는 경우 사이트별 사이트맵이 별도로 생성되고 관리됩니다.
Robots.txt
- 주요 검색엔진의 접근을 직접 제어할 수 있습니다.
- 지원하는 검색엔진
- 구글
- 네이버
- 다음
- 추가 에이전트에 대한 제어가 필요한 경우 직접 robots.txt를 편집할 수 있지만, 자동생성으로 변경하면 언제든 복원할 수 있습니다.
- 멀티사이트 플러그인 을 사용하는 경우 사이트별 Robots.txt가 별도로 생성되고 관리됩니다.
예정된 업데이트
- 서드파티 플러그인 지원
- 사이트맵 XML에 플러그인별 Links 반환하도록 지원
- 메타정보를 플러그인별로 Relation할 수 있는 Abstract Model 제공
- 코어 카테고리 아카이브 사이트맵 지원
- 다이나믹팩토리 아카이브 사이트맵 지원
- 구글 지식정보에 활용 가능한 스키마그래프 (Knowledge Graph포함) / Meta base 지원
문제 해결
Homestead 환경
- Homestead 환경의 Nginx 기본설정에 robots.txt에 대한 Location 제어가 포함되어 있습니다. 아래 지침에 따르면 정상적으로 Robots.txt를 동작시킬 수 있습니다.
sudo vi /etc/nginx/sites-available/sitedomain
nginx 환경설정을 열어서 다음 구문을 삭제합니다.
location = /robots.txt { access_log off; log_not_found off; }
nginx를 재시작 합니다.
sudo /etc/init.d/nginx restart
1.0.0
업데이트 2021.08.17기록 없음