WooCommerce: Como alterar a estrutura de links permanentes

Publicados: 2021-09-28

A estrutura de links permanentes do WooCommerce pode parecer incomum para os recém-chegados. Essas partes /product/ e /product-category/ da URL são características distintas bem conhecidas, mas alguns especialistas não concordam que essa seja a maneira mais conveniente de lidar com links permanentes em termos de SEO.

Um pensamento popular é sempre manter a estrutura de URL o mais simples possível e remover quaisquer partes desnecessárias dela. Você não precisa aceitar a palavra desses especialistas ou de mim, pois a diretriz oficial do Google sugere evitar URLs longos com parâmetros desnecessários.

Então, o que isso significa exatamente para os construtores de lojas WooCommerce?

Em primeiro lugar, bases de URL como /shop/ , /product-category/ e /product/ podem ser consideradas desnecessárias, pois o Google sabe como definir páginas de loja e produto sem a necessidade de especificar isso dentro do URL.

E provavelmente você não quer criar uma falsa percepção da profundidade do site para os rastreadores para que eles não classifiquem essas páginas abaixo do que deveriam. Novamente, um preceito bem conhecido – as páginas mais próximas da pasta principal (domínio) são mais significativas para os mecanismos de pesquisa.

Se você concorda com essas declarações, seria útil entender como redesenhar a estrutura de links permanentes no WooCommerce. Então leia antes para saber mais sobre isso.

Qual é a estrutura de permalink padrão do WooCommerce?

Vamos ver como os links permanentes funcionam agora e o que podemos fazer para torná-los mais fáceis de usar.

Há algumas coisas que você deve ter certeza de indicar ao criar configurações de permalink:

  • base da categoria do produto (que é /product-category/ por padrão)
  • base de tags do produto ( /product-tag/ por padrão)
  • base da página do produto (pode ser /product/ , /shop/ ou qualquer outra base personalizada)

Você não tem como deixar essas opções em branco ou usar a mesma ( /shop/ , por exemplo) para ambos os permalinks. As bases de produtos, categorias e tags devem ser exclusivas para não causar conflitos entre taxonomias, postagens e páginas.

Portanto, os URLs padrão para as páginas da loja podem ser os seguintes:

  • Para páginas de categorias : site.com/product-category/category-slug
  • Para páginas de tags : site.com/product-tag/tag-slug
  • Para páginas de produtos : site.com/product/product-slug

Embora seja perfeitamente adequado para páginas de tags (você provavelmente precisa de alguma base para definir a diferença entre categorias e coleções), pode ser redundante usar essas bases para URLs de páginas de categorias e produtos.

Por que considerar alterar os permalinks padrão

Às vezes, os usuários do WooCommerce pedem para se livrar de /product-category/ e /product/ bases ou manipular a estrutura de URL padrão de outras maneiras. Isso acontece por dois motivos significativos:

  • Eles desejam ver URLs simples e claros , que também podem se beneficiar do ponto de vista de SEO
  • No caso de mudar de outro CMS para WP\Woo e desejar manter a mesma estrutura de URL

É discutível se a remoção dessas partes do URL pode melhorar seus resultados de SEO. Mas é a razão mais popular pela qual as pessoas estão considerando arruinar a estrutura de permalink padrão do WooCommerce.

Existem algumas fontes respeitadas nos dizendo como estruturar links permanentes e por que URLs mais curtos são melhores – fatores de classificação do mecanismo de pesquisa Backlinko (ponto 10), práticas recomendadas da Moz para estruturação de URL (pontos 6 e 11).

Caso você esteja iniciando um novo site, é seguro executar esses experimentos e ver como isso ajuda seu SEO. Considerando que alterar permalinks em um site já bem estabelecido pode ser um caso arriscado. Vou explicar melhor minhas preocupações.

Em relação à alteração de permalinks para corresponder aos URLs do seu site antigo, por outro lado, isso parece razoável e deixa você com mais chances de não prejudicar seu histórico de SEO.

Como remover /product-category/ e /product/ dos links permanentes do WooCommerce

Os métodos a seguir são seguros para uso em novos sites quando você não precisa brincar com redirecionamentos 301 para que seus usuários e rastreadores saibam que o URL foi alterado.

A primeira coisa que você precisa fazer é ir para WP Settings > Permalinks e rolar até “ Product category base ” e escrever “.” (ponto) como base personalizada.

Em seguida, cole este snippet em seu arquivo functions.php:

add_filter( 'request', function( $vars ) {

    global $wpdb;

    if( ! empty( $vars['pagename'] ) || ! empty( $vars['category_name'] ) || ! empty( $vars['name'] ) || ! empty( $vars['attachment'] ) ) {

        $slug = ! empty( $vars['pagename'] ) ? $vars['pagename'] : ( ! empty( $vars['name'] ) ? $vars['name'] : ( !empty( $vars['category_name'] ) ? $vars['category_name'] : $vars['attachment'] ) );

        $exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s" ,array( $slug )));

        if( $exists ){

            $old_vars = $vars;

            $vars = array('product_cat' => $slug );

            if ( !empty( $old_vars['paged'] ) || !empty( $old_vars['page'] ) )

                $vars['paged'] = ! empty( $old_vars['paged'] ) ? $old_vars['paged'] : $old_vars['page'];

            if ( !empty( $old_vars['orderby'] ) )

                    $vars['orderby'] = $old_vars['orderby'];

                if ( !empty( $old_vars['order'] ) )

                    $vars['order'] = $old_vars['order'];    

        }

    }

    return $vars;

});

Em seguida, adicione um filtro para remover /product/ base do URL da página do produto:

function na_remove_slug( $post_link, $post, $leavename ) {

        if ( 'product' != $post->post_type || 'publish' != $post->post_status ) {

        return $post_link;

    }

        $post_link = str_replace( '/product/', '/', $post_link );

        return $post_link;

}

add_filter( 'post_type_link', 'na_remove_slug', 10, 3 );

function change_slug_struct( $query ) {

        if ( ! $query->is_main_query() || 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) {

        return;

    }

                if ( ! empty( $query->query['name'] ) ) {

                $query->set( 'post_type', array( 'post', 'product', 'page' ) );

                } elseif ( ! empty( $query->query['pagename'] ) && false === strpos( $query->query['pagename'], '/' ) ) {

                $query->set( 'post_type', array( 'post', 'product', 'page' ) );

        // We also need to set the name query var since redirect_guess_404_permalink() relies on it.

        $query->set( 'name', $query->query['pagename'] );

    }

}

add_action( 'pre_get_posts', 'change_slug_struct', 99 );

Snippets foram retirados desta discussão do StackOverflow e pareciam funcionar bem para a maioria dos usuários, exceto em alguns casos:

  • URLs tradicionais responderão com um erro 404. Portanto, se você tiver essas páginas indexadas anteriormente, certifique-se de criar redirecionamentos 301 para as páginas correspondentes.
  • Pode não funcionar com paginação ou causar problemas com filtros, dependendo do tema e plugin que você usa.

Como configurar regras avançadas de permalinks com permalinks personalizados para WooCommerce

Mesmo que o WooCommerce em sua documentação nos avise sobre a remoção de /product/ , /product-category/ ou /shop/ das URLs, você pode procurar por links permanentes personalizados para extensão WooCommerce dentro de seu mercado oficial. Ele fornece a maneira mais segura de alterar as opções de permalink padrão para categorias e páginas de produtos.

Algumas variantes de permalinks para páginas de categorias estão disponíveis aqui:

Slug de categoria por si só significa remover parte /product-category/ de todos os URLs, deixando slug de domínio + categoria.

Caminho completo significa remover /product-category/ e adicionar slug de categoria pai (se a categoria tiver um) antes do slug de categoria correspondente.

Há também várias opções para páginas de produtos:

O slug de produto sozinho removerá qualquer parte excessiva do URL e deixará apenas o slug de domínio + produto.

O slug do produto com o nome da categoria criará a versão mais popular do URL do produto: domínio + slug de categoria + slug do produto .

O caminho completo funciona da mesma maneira que a opção nº 2 com uma exceção – ele expande o URL com o slug de categoria pai se a categoria de produto nativo tiver um.

Este plugin elimina problemas de paginação e filtragem, opera independentemente do seu tema e protege você de possíveis consequências feitas por rastreadores.

A única coisa a ter em atenção ao alterar esses links permanentes são os URLs duplicados. Verifique novamente se você não tem páginas ou tipos de postagem com os mesmos slugs que categorias ou produtos. Se você encontrar alguns, certifique-se de alterar esses slugs para exclusivos para evitar duplicatas.

Como adicionar extensões como .html a URLs

Honestamente, não sei se há algum benefício ou falha em fazer isso em termos de SEO. Mas muita gente está pedindo isso, então não podemos ignorar esse tópico.

Provavelmente, a principal razão pela qual você pode estar procurando uma solução para isso é a migração de outro CMS . Se você decidir mudar de outra plataforma para o WooCommerce, talvez queira replicar seus URLs antigos (por exemplo, aqueles com .html no final).

Claro, você pode usar redirecionamentos 301 para que todos saibam sobre seus novos URLs, mas geralmente notamos uma diminuição trivial no tráfego e nas posições de SERP depois de preencher um site com vários redirecionamentos 301 por algum tempo. Provavelmente não tem nada a ver com redirecionamentos porque, como o Google diz, eles não penalizam mais o PageRank por usar redirecionamentos.

Mas por outros motivos relacionados à migração de conteúdo, nova interface do usuário e chances de links quebrados, talvez você não queira arriscar e tentar recriar os mesmos URLs que você tinha.

Permalinks personalizados para WooCommerce lhe dão a chance de adicionar qualquer extensão no final do URL, seja .html, .php., .htm ou o que você precisar:

Como evitar problemas de SEO depois de alterar permalinks

A parte complicada de alterar URLs são duplicatas de conteúdo, erros 404 e redirecionamentos.

Quando você manipula URLs em um site criado recentemente sem nenhum histórico de domínio, classificação de página e URLs no índice do Google, você não precisa se preocupar com nada. Você pode se sentir à vontade para realizar experimentos e escolher qualquer combinação de permalink que desejar.

Mas quando se trata de alterar permalinks em um site com histórico e posições SERP de alto nível , você deve verificar cuidadosamente esses quatro pilares:

  1. Existem páginas, postagens, taxonomias, tipos de postagem personalizados ou outras entidades possíveis com o mesmo slug que categorias ou páginas de produtos? Se você encontrar alguns, considere mudar os slugs para os únicos para evitar conflitos.
  2. Acesse o console de pesquisa do Google e verifique as páginas com respostas 404. Se você encontrar alguns links quebrados , você deve verificar o arquivo sitemap.xml em busca deles ou de qualquer outra página do site, onde você pode colocar manualmente os links antigos.
  3. Caso haja uma chance de URLs antigos ainda serem vistos em algum lugar, certifique-se de incluir a tag 'rel=canonical' . Isso é necessário para que os rastreadores saibam qual página creditar pelo conteúdo, e o Google não punirá você por criar duplicatas.
  4. Não se esqueça dos redirecionamentos 301 de forma alguma. É crucial para os visitantes do site, bem como para os rastreadores. Depois que você alterar os permalinks, os antigos não estarão mais acessíveis, então todos, incluindo os rastreadores, receberão erros 404 ao visitá-los. Se você alterou permalinks com o script, recomendo instalar o plug-in de redirecionamento para lidar com redirecionamentos .

Mas você pode dormir bem: Permalinks personalizados para WooCommerce criarão redirecionamentos 301 e 'rel=canonical' para URLs antigos assim que você alterar a estrutura do permalink. E também, em conjunto com o plug-in Yoast, eles gerarão um novo mapa do site em seu nome com os URLs apropriados.

Conclusão

WooCommerce nos avisa sobre as consequências da alteração de permalinks – lentidão do site e conflitos de URL. Mas considerando que essa afirmação foi feita há muito tempo e, desde então, eles verificaram esse plugin premium que está fazendo exatamente isso, talvez o WooCommerce tenha mudado de ideia sobre a questão dos permalinks.

Isso ajudaria seu SEO?

Bem, essa é uma pergunta mais complexa. Alguns pesquisadores dizem que sim; alguns especialistas em SEO recomendam reduzir o número de pastas no caminho para produtos e categorias e criar URLs mais curtos. Mas deixo essa decisão para você. Eventualmente, não há verdade absoluta quando se trata de SEO.

E se você optar por tentar, como fazê-lo com segurança?

Se você está construindo um novo site, pode escolher qualquer método que desejar – adicionar trechos de código ou instalar o plug-in, ambos parecem ser seguros. Só não se esqueça de verificar se tudo está no lugar no sitemap.xml e se há algum comentário no lado do console de pesquisa do Google.

Se você considerar manipulações sobre links permanentes em um site existente, recomendo fortemente que você use o plug-in verificado. Você provavelmente não quer tentar o destino e estragar links quebrados, conteúdo duplicado ou criar acidentalmente um loop de redirecionamento.

O plug-in pode cobrir todas as suas necessidades, e o suporte disponível no WooCommerce.com o ajudará a lidar com possíveis problemas. Como os links permanentes são cruciais para o SEO, será um pesadelo ficar sozinho com esse problema.