WordPress 자동 생성 "Canonical"링크 - 사용자 정의 URL 매개 변수를 추가하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2430623

문제

사용자 정의 URL 매개 변수를 추가하기 위해 WordPress Canonical 링크를 수정하는 방법을 아는 사람이 있습니까?

별도의 (단어가 아닌) 데이터베이스를 쿼리하는 페이지가있는 WordPress 사이트가 있습니다. 개별 책을 표시하기 위해 URL 매개 변수 "pubid"를 통과했으며 정상적으로 작동합니다.

예시: http://www.uglyducklingpresse.org/catalog/browse/item/?pubid=63

그러나 개별 도서 페이지는 Google에서 제대로 표시되지 않습니다.? Pubid 매개 변수가 제거되었습니다.

아마도 모든 항목 페이지에 소스에 동일한 자동 생성 "Canonical"URL 링크 태그가 있기 때문일 수 있습니다.

예 : 링크 rel = 'canonical'href = 'http://www.uglyducklingpresse.org/catalog/browse/item/'

WordPress에 사용자 정의 URL 매개 변수를 추가하기 위해 .htaccess를 편집 할 수있는 방법이 있습니까?

아니면 다른 해결책이있을 수도 있습니다 ... 어떤 아이디어에 감사드립니다!

도움이 되었습니까?

해결책

WordPress를 교체 할 수 있어야합니다 rel_canonical 조건이 충족 될 때 (조건이 충족 될 때) 쿼리 문자열 변수를 추가하는 표준 링크를 만듭니다. 다음은 효과가 있어야하지만 필요를 충족시키기 위해 조건을 변경해야 할 것입니다.

remove_action('wp_head', 'rel_canonical');
add_action('wp_head', 'my_rel_canonical');

function my_rel_canonical() {
    if (is_page('item') && isset($_GET['pubID'])) {
        global $post;
        $link = get_permalink($post->ID) . '?pubID=' . absint($_GET['pubID']);
        echo "<link rel='canonical' href='$link' />\n";
    } else {
        rel_canonical();
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top