Outro dia eu estava fazendo uma limpeza de SEO na página do meu site e notei várias “páginas de imagem” indexadas no Google. Sempre que você adiciona uma imagem ao seu post, ele anexa automaticamente um link para a imagem que vai para um post em branco (o WordPress armazena os dados da imagem anexada como posts no banco de dados) com nada além dessa imagem e talvez um título e legenda (dependendo do tema você usa).
A questão é que essas páginas são praticamente inúteis, pois não têm conteúdo. É melhor vincular à sua imagem real se quiser que as pessoas possam clicar e ver uma versão grande ou usar um plug-in lightbox para suas postagens. As páginas de anexo no WordPress são o que é considerado conteúdo “fino”, então elas não têm valor e podem realmente prejudicar seus esforços de SEO.
Neste artigo, mostrarei diferentes maneiras de desativar esta página principal de anexo de imagem em seu site WordPress e redirecionar sua classificação de página de volta ao artigo principal ou à página inicial do seu site. E redirecionar essas postagens de anexos por meio de redirecionamentos 301 é a melhor solução para usabilidade e SEO.
Redirecionar páginas de anexos de imagem com o plug-in Yoast SEO
A maneira mais fácil é redirecionar suas páginas de anexos usando um plug-in e um gratuito. Aqui estão os 3 passos fáceis:
- Instalar e configurar Yoast SEO para WordPress
- Uma vez configurado, clique em SEO > Avançado e clique na guia Permalinks
- Ative a opção de “redirecionar URLs de anexos para URL de postagem pai” e salve
Redirecionar via função personalizada
Você também pode criar sua própria função personalizada para redirecionar suas páginas de anexos para a página inicial ou para o pai da postagem. Esta função deve ser colocada em seu arquivo functions.php (de preferência em um tema filho se você estiver usando um tema de outro desenvolvedor).
function myprefix_redirect_attachment_page() {
if ( is_attachment() ) {
global $post;
if ( $post && $post->post_parent ) {
wp_redirect( esc_url( get_permalink( $post->post_parent ) ), 301 );
exit;
} else {
wp_redirect( esc_url( home_url( ‘/’ ) ), 301 );
exit;
}
}
}
add_action( ‘template_redirect’, ‘myprefix_redirect_attachment_page’ );
Se você notar que o código só redirecionará quando is_attachment() retornar true. Isso significa que ele redirecionará para qualquer tipo de anexo, não apenas para imagens, o que geralmente é melhor. No entanto, você pode segmentar apenas anexos de imagem adicionando algumas verificações extras para ver qual é o tipo de anexo atual.
Redirecionar através do arquivo image.php
Sua segunda opção é desabilitar completamente suas páginas de anexos adicionando um redirecionamento do WordPress adicionado diretamente ao topo do seu arquivo image.php.
- Crie um novo arquivo chamado image.php em seu tema filho (sempre é melhor trabalhar com temas filho ao editar um tema) ou se você estiver desenvolvendo seu próprio tema, crie um arquivo image.php vazio em seu tema.
- Insira o código abaixo em seu arquivo image.php
<?php
global $post;
if ( $post && $post->post_parent ) {
wp_redirect( esc_url( get_permalink( $post->post_parent ) ), 301 );
exit;
} else {
wp_redirect( esc_url( home_url( ‘/’ ) ), 301 );
exit;
}
Agora, quando você atualizar sua página de anexo de imagem, ela deve redirecionar para a postagem original onde a imagem foi carregada ou, se foi carregada diretamente na biblioteca de mídia, ela será redirecionada para a página inicial do seu site.