[첫화면으로]"UseModWiki소스수정/표준페이지" 페이지의 변경 내역

마지막으로 [b]


현재 버전 . . . . 2012-2-10 2:04 am 수정한 사람: Raymundo
5 번째 수정본 . . . . 2012-2-10 12:55 am 수정한 사람: Raymundo
 

변경사항 (가장 최근의 "일반적인 수정"부터) (다른 변경사항 없음)

-5,27 +5,69
* [http://www.seo-korea.com/%ED%91%9C%EC%A4%80-%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%84%A4%EC%A0%95-link-rel-canonical/ 표준 페이지 설정, link rel=canonical | 검색엔진 최적화]
* [http://support.google.com/webmasters/bin/answer.py?hl=ko&answer=139394 rel="canonical" 정보 - 웹마스터 도구 도움말]
저 글과 같이 쇼핑몰에서 동일 제품 페이지인데 출력 옵션이 다르거나... 뭐 이런 경우가 유즈모드위키에서 흔히 일어나는 일은 아니지만, 그래도 하나의 위키 페이지를 출력하는 여러 형태의 주소가 있을 순 있겠는데, 이것들을 가장 일반적인 <code>wiki.pl/페이지이름</code> 형태의 태그를 붙여주면 검색 엔진에서 좀 챙겨 주려나?
저 글과 같이 쇼핑몰에서 동일 제품 페이지인데 출력 옵션이 다르거나... 뭐 이런 경우가 유즈모드위키에서 흔히 일어나는 일은 아니지만, 그래도 하나의 위키 페이지를 출력하는 여러 형태의 주소가 있을 순 있겠는데, 이것들을 가장 일반적인 <code>wiki.pl/페이지이름</code> 형태의 태그를 붙여주면 검색 엔진에서 좀 챙겨 주려나? 하는 기대로 만든 패치
<code>wiki.pl/페이지이름</code>과 동일한 출력이 나오는 경우가 뭐가 있나부터 보자
* 일단 앞에 www 가 붙은 것과 안 붙은 것 (이건 검색엔진이 알아서 해주고 있지 않을까)
* [[홈페이지주소간단히하기]]를 통해 들어온 것과 원래의 주소로 들어온 것
* 이미 웬만한 화면에는 noindex 태그를 넣은 상태라서, ([[/RobotsMetaTag]]) 사실 다음 페이지들은 애초에 검색이 안 되도록 한 상태
** 페이지의 과거 수정본들
** 페이지 편집 화면
** 검색 화면
** <code>action=browse&id=페이지이름</code> - 이건 검색되도록 해야 하나. 그런데 과거 수정본을 빼고 이것만 나오게 하려면 이거 좀 까다로와 보인다.
* (생각해보니 굳이 로봇태그와 이 표준페이지 태그를 서로 겹치지 않게 쓸 이유가 없네. 무조건 특정 페이지에 관련된 화면은 다 해당 페이지의 기본 주소를 표시해 줄까)
현재는 다음과 같은 경우에 한해서 표준페이지 정보를 출력한다.
* Local:action=rc&days=3""과 같이, 최근변경내역을 보는 여러 가지 경우 경우(3일전, 30일전 등)
* 다음과 같이, 변경내역 페이지(<code>$RCName</code>에 설정되어 있는 페이지, 또는 그것을 번역한 이름)의 주소를 표준페이지로 지정
{{{#!vim html
<link rel="canonical" href="http://gypark.pe.kr/wiki/최근변경내역" />
}}}
* Local:action=browse&id=UseModWiki소스수정/표준페이지""와 같이, <code>action=browse</code>를 써서 페이지 내용을 부가 정보와 같이 보는 경우(과거 리비전 보기, 두 리비전 내용 비교하기 등)
* <code>wiki.pl/페이지이름</code> 형태의 URL을 표준페이지로 지정
{{{#!vim html
<link rel="canonical" href="http://gypark.pe.kr/wiki/UseModWiki소스수정/표준페이지" />
}}}
* 주소의 앞부분은 <code>$FullUrl</code>에 값이 있으면 그것을 쓴다. 이 값을 써서 <code>www.gypark.pe.kr</code>의 표준페이지를 <code>gypark.pe.kr</code>로 지정하는 식으로 할 수 있겠다.
* 필수 요구 사항:
* 선택 요구 사항:
=== # 사용법 ===
=== # 부작용 ===
글쎄?
=== # wiki.pl 수정 ===
수정 내용
{{{#!vim perl
sub GetHtmlHeader {
    my ($title, $id) = @_;
    my ($dtd, $bgcolor, $html, $bodyExtra);
# 아래 단락 추가
    if ($FreeLinks) {
        $id = &FreeToNormal($id);
    }
...
    } else {
        $html .= "<META NAME='robots' CONTENT='noindex,nofollow'/>\n";
    }
### rel=canonical head - 이 단락 추가
    my $full_url = ($FullUrl ne '')?$FullUrl:$q->url(-full => 1);
    my $canonical eq '';
    if ( ($action eq '' or $action eq 'browse') and $id ne '' ) {
        $canonical = $full_url.ScriptLinkChar().$id;
    }
    elsif ( $action eq 'rc' or $action eq 'bookmark' ) {
        $canonical = $full_url.ScriptLinkChar().T($RCName);
    }
# history나 diff화면에서 표준 링크 지정. 이건 조금 과한가
#     elsif ( (my $id_param = GetParam('id', '')) ne '' ) {
#         $canonical = $full_url.ScriptLinkChar().$id_param;
#     }
    $html .= qq|<link rel="canonical" href="$canonical" />| if $canonical;
### 사용자 정의 헤더
    $html .= $UserHeader;
    ...
}
}}}
=== # 추가 업데이트 내역 ===