Como a Weglot gere os redireccionamentos
Neste artigo, ficará a saber mais sobre como a Weglot gere os redireccionamentos no seu sítio Web.
Nota: Neste artigo, utilizaremos o "redireccionamento 301". 301 significa que um redireccionamento é permanente.
1. Redireccionamentos sem Weglot
Em primeiro lugar, podemos ver como funcionam os redireccionamentos sem utilizar o Weglot.
No WordPress, se criar uma página /sobre nós
. De seguida, decida alterar este URL para /sobre
.
Agora, quando fores /sobre nós
tem uma página de erro 404.
⇒ Por padrão, não há redirecionamento 301 no WordPress.
No entanto, pode utilizar os plug-ins "Yoast Premium" ou "Redirection" para criar um redireccionamento 301 a partir de /sobre nós
para /sobre
.
Uma vez feito isso, quando for /sobre nós
será redireccionado para /sobre
.
Vejamos como funciona quando está a utilizar outra ferramenta que não o WordPress (o Shopify é utilizado aqui para o exemplo).
Ao alterar um URL na Shopify, pode escolher (com uma caixa de verificação, ver captura de ecrã) se pretende criar um redireccionamento :
Se selecionar a caixa, vá para /sobre nós
será redireccionado para /sobre
.
2. Estou a utilizar o plugin Weglot para WordPress
Se tiver um redireccionamento: /a
⇒ /b
Depois, continuando /fr/b
mostrará a página francesa; no entanto, ir a /fr/a
será redireccionado para /b
e NÃO /fr/b
.
Para que /fr/a redireccione para /fr/b, pode tentar adicionar este filtro (através do plugin Code Snippet):
add_filter( 'wp_redirect', 'wp_redirect_weglot', 0, 2 ); function wp_redirect_weglot( $url, $status ) { if ( function_exists( 'weglot_get_current_language' ) ) { $cl = weglot_get_current_language(); $ol = weglot_get_original_language(); $request_url_service = weglot_get_service( 'Request_Url_Service_Weglot' ); $language_service = weglot_get_service( 'Language_Service_Weglot' ); if ( $cl !== $ol && strpos( $url, '/' . $cl . '/' ) === false ) { $u = $request_url_service ->create_url_object( $url ) ->getForLanguage( $language_service->get_language_from_internal( $cl ) ); if ( $u === false || empty( $u ) ) { return $url; } return $u; } } return $url; }
3. Estou a utilizar outra integração Weglot
Para saber se está a utilizar uma integração JavaScript ou uma integração de subdomínio/subdiretório, pode ir ao seu painel de controlo Weglot > Ir ao seu projeto > página "Configuração" > Verificar a opção "Subdomínios ou Subdirectórios".
Se estiver ativado, significa que está a utilizar uma integração de subdomínio/subdiretório:
Se estiver desligado, significa que está a utilizar uma integração JavaScript.
a. Tenho uma integração JavaScript
Como a tradução é efectuada do lado do browser sem um URL específico, funcionará. Ou seja, se aceder a /a
, será redireccionado para /b
e depois traduzir-se-á quando estiver em /b
.
b. Tenho uma integração de subdomínio/subdiretório
As integrações de subdomínio e subdiretório mantêm os redireccionamentos, o que significa que se tiver um redireccionamento: /a
⇒ /b
e depois ir para es.site.com/a
, será redireccionado para es.site.com/b
.
O mesmo se aplica às subdirectorias.
Se tiver alguma dificuldade com os redireccionamentos nas suas versões traduzidas, pode contactar-nos diretamente em support@weglot.com.