Se você trabalha com wordpress, provavelmente já se deparou com a necessidade de por algum motivo ter que fazer um redirecionamento algum post para outra url.
De uma maneira geral isso é muito fácil, pois é só incluir um código de redirecionamento nesse post ou usar um dos muitos plugins que existem para este fim.
O problema é quando você precisa de redirecionar postagens específicas para endereços específicos e elas são muitas.
CONTEÚDO:
Quando você deve usar esse redirecionamento:
Um exemplo que vou citar aqui é o seguinte:
Imagina que você resolveu trocar alguns de seus posts para um site diferente. Você comprou um domínio específico, fez todas as configurações necessárias, copiou os posts e etc…
Agora você quer que os posts das categorias x e y sejam redirecionadas para esse seu novo domínio sem perder a autoridade deles nos buscadores, sem perder os visitantes orgânicos e etc…
Isso aconteceu comigo e eu pesquisei muito, testei bastante, até que encontrei uma solução para o meu problema e resolvi postar aqui para vocês, caso tenham a necessidade também.
Para redirecionar postagens de determinadas categorias para outra url basta você abrir o arquivo “functions.php” do seu tema e inserir o seguinte código nele:
//-----------Código para redirecionar posts de algumas categorias para outra url-----------------
add_action('template_redirect', 'post_redirect_by_custom_filters');
function post_redirect_by_custom_filters() {
global $post;
// this array can contain category names, slugs or even IDs.
$catArray = ['categoria1','categoria2','categoria3','categoria4'];
if (is_single($post->ID) && has_category($catArray, $post)) {
$new_url = "https://www.outroendereco.com/{$post->post_category}/{$post->post_name}/";
wp_redirect($new_url, 301);
exit;
}
}
//-----------Fim do código para redirecionar posts de algumas categorias para outra url-----------
Oque você deve alterar nesse código de redirecionamento:
Você deverá alterar os textos [‘categoria1′,’categoria2′,’categoria3′,’categoria4’] para os slugs das respectivas categorias que você deseja redirecionar, por exemplo: [‘carros’,’motos’,’caminhoes’,’onibus’] .
Além disso você também deverá alterar o endereço do campo $new_url = “https://www.outroendereco.com/ para o seu novo endereço, exemplo: $new_url = “https://www.sitesobreveiculos.com/ .
Sendo assim, o código já com as modificações que eu citei no exemplo acima ficaria dessa forma:
//-----------Código para redirecionar posts de algumas categorias para outra url-----------------
add_action('template_redirect', 'post_redirect_by_custom_filters');
function post_redirect_by_custom_filters() {
global $post;
// this array can contain category names, slugs or even IDs.
$catArray = ['carros','motos','caminhoes','onibus'];
if (is_single($post->ID) && has_category($catArray, $post)) {
$new_url = "https://www.sitesobreveiculos.com/{$post->post_category}/{$post->post_name}/";
wp_redirect($new_url, 301);
exit;
}
}
//-----------Fim do código para redirecionar posts de algumas categorias para outra url-----------
Ficou mais fácil de entender agora? Ou ainda está meio confuso? Atente-se aos pequenos detalhes nas mudanças dos Slugs das categorias e Endereço.
Observe que após o endereço você tem a continuação da linha do PHP com o seguinte código: {$post->post_category}/{$post->post_name}/”; Isso quer dizer que no novo site, os slugs e categorias dos posts migrados devem ser os mesmos do domínio anterior, assim quando o visitante acessar www.seusiteantico.com/carros/slug_do_post automaticamente será redirecionado para www.sitesobreveiculos.com/carros/slug_do_post.
E aí, gostaram? Tem outra forma de fazer isso mais fácil? Deixe sua dica ou perguntas nos comentários abaixo.
Até a próxima!