Pergunta

Alguém sabe como modificar os links canônicos do WordPress para adicionar um parâmetro URL personalizado?

Eu tenho um site do WordPress com uma página que consulta um banco de dados (sem palavras) separado. Passei no parâmetro URL "Pubid" para exibir livros individuais e está funcionando bem.

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

Mas as páginas de livros individuais não estão aparecendo corretamente no Google - o parâmetro pubid é despojado.

Eu acho que talvez seja porque todas as páginas do item têm a mesma tag de link "canônica" gerada automaticamente na fonte - uma com o parâmetro "pubid" despojado.

Exemplo: link rel = 'Canonical' href = 'http://www.uglyducklingpressse.org/catalog/browse/item/'

Existe uma maneira de editar .htaccess para adicionar um parâmetro de URL personalizado ao WordPress, para que o parâmetro não seja retirado por links permalings e os links "canônicos"?

Ou talvez haja outra solução ... obrigado por qualquer idéia!

Foi útil?

Solução

Você deve ser capaz de substituir o wordpress's rel_canonical Função de ação com sua própria função na qual (quando suas condições são atendidas), você cria um link canônico que anexa a variável de sequência de consulta. O seguinte deve funcionar, embora você provavelmente precise alterar as condições para atender às suas necessidades.

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();
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top