[첫화면으로]UseModWiki소스수정/표준페이지

마지막으로 [b]

1. rel=canonical 표준 페이지 태그
1.1. 부작용
1.2. wiki.pl 수정
1.3. 추가 업데이트 내역
1.4. 사용자 의견

1. rel=canonical 표준 페이지 태그

저 글과 같이 쇼핑몰에서 동일 제품 페이지인데 출력 옵션이 다르거나... 뭐 이런 경우가 유즈모드위키에서 흔히 일어나는 일은 아니지만, 그래도 하나의 위키 페이지를 출력하는 여러 형태의 주소가 있을 순 있겠는데, 이것들을 가장 일반적인 wiki.pl/페이지이름 형태의 태그를 붙여주면 검색 엔진에서 좀 챙겨 주려나? 하는 기대로 만든 패치

현재는 다음과 같은 경우에 한해서 표준페이지 정보를 출력한다.
<link rel="canonical" href="http://gypark.pe.kr/wiki/최근변경내역" />

<link rel="canonical" href="http://gypark.pe.kr/wiki/UseModWiki소스수정/표준페이지" />

1.1. 부작용

글쎄?

1.2. wiki.pl 수정

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;
    ...
}

1.3. 추가 업데이트 내역

1.4. 사용자 의견

html head 부분을 출력하는 시점에서 처리해야 하니 이래저래 좀 애매해지네...
-- Raymundo 2012-2-9 4:12 pm

이 패치를 하려다가 엉뚱한 곳에서 버그들을 속속 발견하고 있다 -_-;
-- Raymundo 2012-2-10 12:55 am
이름:  
Homepage:
내용:
 

위키위키분류

마지막 편집일: 2012-2-10 2:04 am (변경사항 [d])
980 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기