다른 명령
좋습니다. devcafe.co.kr 사이트를 프로그램 개발 주제에 맞게 SEO에 최적화하려면, 다음과 같은 단계별 커스터마이징 전략을 권장합니다:
⸻
1. URL 구조 개선 (Pretty URL 적용)
목표: https://devcafe.co.kr/wiki/문서제목 형태로 변경
설정 예시 (Apache + .htaccess 사용 시):
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^wiki/(.*)$ /index.php?title=$1 [PT,L,QSA]
LocalSettings.php
$wgScriptPath = "/wiki"; $wgArticlePath = "/wiki/$1";
⸻
2. 사이트 구조 & 메타 설정
페이지 타이틀 구성 (MediaWiki:Pagetitle)
$1 - DevCafe 개발 위키
메타디스크립션 삽입: • 확장기능: Extension:MetaDescription • 대안: MediaWiki:CommonHeader.html 파일 또는 OutputPageBeforeHTML 훅 사용하여 meta 삽입
$wgHooks['OutputPageBeforeHTML'][] = function ( $out, &$text ) {
$desc = $out->getPageTitle() . '에 대한 설명 페이지입니다. 개발자 문서, 튜토리얼, 가이드 등 포함.'; $out->addMeta( 'description', $desc ); return true;
};
⸻
3. 내부 링크 구조 최적화 • 위키 내부에 자주 사용되는 개념, 라이브러리 이름 등 내부링크 강화 • 고립 문서 확인: Special:LonelyPages • 자동 링크 유도 템플릿 도입: 틀:See also
⸻
4. SEO 친화적 콘텐츠 형식
구성 요소 권장 방식 문단 제목 H2 ~ H3 사용 (예: == 함수 예제 ==) 코드 블록 <syntaxhighlight lang="python"> 등 명시적 언어 설정 이미지 `[[파일:example.png TOC 기본 자동 생성되므로 첫 문단 전 배치 권장
⸻
5. 검색엔진 친화적 설정
robots.txt
User-agent: * Disallow: /index.php Disallow: /load.php Allow: /wiki/ Sitemap: https://devcafe.co.kr/sitemap.xml
sitemap 생성기 • 확장기능: Extension:GoogleNewsSitemap • 또는 외부 도구 이용 후 정적 sitemap.xml 업로드
⸻
6. 확장기능 추천 (개발 위키 전용)
확장기능 기능 SyntaxHighlight_GeSHi 코드 하이라이팅 Cite 출처, 각주 표기 PageImages 페이지 대표 이미지 자동 추출 Header Tabs 문서 내 탭 구분 (예: 설명 / 예제 / 문제 해결 등) MobileFrontend 모바일 대응 GoogleAnalyticsIntegration 구글 애널리틱스 연동 (GA4 포함)
⸻
7. 오픈그래프 및 스키마 마크업
대표 이미지 및 소셜 공유용 메타태그 설정 (MediaWiki:CommonHeader.html 또는 Hook 사용):
<meta property="og:title" content="문서 제목" />
<meta property="og:description" content="문서 요약 설명" />
<meta property="og:image" content="" />
⸻
8. 속도 최적화 • LocalSettings.php 캐시 설정:
$wgEnableParserCache = true; $wgCachePages = true; $wgMainCacheType = CACHE_ACCEL; // APCu 또는 Memcached 권장
• ResourceLoader로 JS/CSS 압축 • 이미지 용량 줄이기 / WebP 지원 고려
⸻
9. 구조화 데이터 (JSON-LD)
문서 하단에 자동 삽입 (개발자 문서이므로 TechArticle 스키마 권장):
<script type="application/ld+json"> {
"@context": "http://schema.org", "@type": "TechArticle", "headline": "Oracle CONNECT BY 사용법", "author": { "@type": "Organization", "name": "DevCafe" }, "publisher": { "@type": "Organization", "name": "DevCafe" }, "mainEntityOfPage": "https://devcafe.co.kr/wiki/Oracle_CONNECT_BY"
} </script>
⸻
10. Google Search Console 등록 • sitemap.xml 제출 • robots.txt 확인 • 페이지 색인 상태 점검 • schema 오류 및 개선사항 피드백 받기
⸻
다음 단계 제안 • Google PageSpeed Insights나 Ahrefs, Semrush, Google Search Console 등으로 초기 SEO 진단 • 상위 문서 10개부터 집중 최적화 (타이틀, 메타, 구조) • 필요한 경우, 각 문서에 FAQ 구조화 데이터 삽입해 Featured Snippet 노출 유도
⸻
LocalSettings.php, .htaccess, 또는 문서 템플릿 샘플
좋습니다! devcafe.co.kr의 위키 문서 중 하나를 가상으로 설정하고, 그 페이지를 SEO 최적화된 형태로 제작해드리겠습니다.
⸻
예시 문서: Oracle CONNECT BY 구문
SEO 최적화 요소가 반영된 위키 문서 샘플 (MediaWiki 형식)
Oracle CONNECT BY 사용법 - 계층형 쿼리 정복하기
Oracle의 `CONNECT BY` 구문은 계층형 데이터를 조회하는 데 사용되는 SQL 문입니다. 이 문서는 사용법, 예제, 주의사항을 포함한 완전한 가이드를 제공합니다.
CONNECT BY란?
`CONNECT BY`는 트리 형태의 계층 구조 데이터를 조회할 때 사용하는 Oracle의 SQL 확장입니다. 예: 조직도, 게시판 댓글 트리, 파일 디렉터리 구조 등
기본 문법
```sql SELECT * FROM employees START WITH manager_id IS NULL CONNECT BY PRIOR employee_id = manager_id;
주요 키워드 설명
• START WITH: 루트 노드를 지정합니다. • CONNECT BY: 계층 관계를 정의합니다. • PRIOR: 부모-자식 간 연결을 지정합니다.
예제
조직도 트리 조회
SELECT LEVEL, employee_name, employee_id, manager_id FROM employees START WITH manager_id IS NULL CONNECT BY PRIOR employee_id = manager_id;
자주 발생하는 문제
• 무한 루프 발생: 순환 참조가 존재할 경우 CONNECT_BY_ISCYCLE로 방지 • LEVEL 값이 비정상: START WITH 조건 확인 필요
관련 문서
• START WITH 문법 • CONNECT_BY_ISCYCLE 활용법 • LEVEL 함수 이해하기
참고자료
FAQ
- CONNECT BY는 MySQL에도 있나요?
- 없습니다. MySQL에서는 WITH RECURSIVE 구문을 사용해야 합니다.
- CONNECT BY에서 순환 참조는 어떻게 피하나요?
- CONNECT_BY_ISCYCLE을 사용해 필터링할 수 있습니다.
---
- **해당 문서에 적용된 SEO 요소 요약**
| 요소 | 적용 | |------|------| | 문서 제목 | `Oracle CONNECT BY 사용법 - 계층형 쿼리 정복하기` (키워드 중심 + 클릭 유도형) | | URL | `https://devcafe.co.kr/wiki/Oracle_CONNECT_BY_사용법` | | 내부 링크 | `LEVEL 함수`, `START WITH 문법` 등 내부 위키 문서 연계 | | 문단 구조 | `== ==` 문법으로 H2 ~ H3 구성 (검색엔진 구조 이해에 도움) | | 코드 블록 | `syntaxhighlight` 언어 지정으로 정확한 구문 하이라이팅 | | FAQ 블록 | Featured Snippet 유도 목적 | | 카테고리 | `` 등 주제별 그룹핑 |
---
- **추가 삽입할 SEO 메타 정보 (OutputPageBeforeHTML hook)**
```php $out->addMeta( 'description', 'Oracle의 CONNECT BY 구문을 사용해 계층형 데이터를 조회하는 방법을 정리한 문서입니다. 예제와 주의사항 포함.' ); $out->addMeta( 'keywords', 'Oracle, CONNECT BY, 계층형 쿼리, LEVEL, START WITH' ); $out->addMeta( 'og:title', 'Oracle CONNECT BY 사용법 - DevCafe 개발 위키' ); $out->addMeta( 'og:description', '계층형 쿼리를 위한 CONNECT BY 구문 완전 정복' ); $out->addMeta( 'og:image', 'https://devcafe.co.kr/images/connect_by_example.png' );
⸻
추천 작업 흐름 1. Oracle CONNECT BY 문서부터 최적화 적용 2. 인기 있는 문서 순으로 동일한 템플릿 적용 3. 공통 템플릿 (Template:문서서식) 제작하여 작성 일관성 유지 4. Special:LonelyPages, Special:WantedPages를 활용해 내부 링크 리팩터링
⸻