?page= às vezes redireciona para uma página com um URL canônico diferente

Um de nossos clientes identificou o seguinte problema relacionado a SEO, que consigo reproduzir aqui no meta.

Quando o Discourse é acessado por um rastreador, ele insere links de paginação ?page=XX da seguinte forma:

<link rel="next" href="/t/slug/123?page=2">

e

<span itemprop='name'><b><a rel="next" itemprop="url" href="/t/slug/123?page=2">próxima página â</a></b></span>

Quando tal página é carregada em um navegador, o Discourse executa um redirecionamento JavaScript para uma URL /t/slug/123/NN, onde NN é o número de um post.

Assim, https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294?page=2 redireciona para https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294/23
e https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294?page=3 redireciona para https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294/45.

No entanto, às vezes essa página contém uma URL canônica que não corresponde à página original que estava sendo solicitada.

No exemplo acima, ?page=3 redireciona para o post 45 e a página do post 45 contém uma URL canônica ?page=2.

<link rel="canonical" href="https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294?page=2" />

Citando o relatório de SEO do cliente:

Isso cria uma cadeia de tags canônicas e redirecionamentos, e o Google começará a não confiar nas tags canônicas implementadas.

Não consigo descobrir a origem disso. Às vezes, a URL canônica tem um número de página maior, às vezes refere-se a um número de página menor (como neste exemplo), e às vezes está correta.

Pensei que pudesse estar relacionado a posts excluídos ou sussurros, mas um tópico com muitos posts removidos não apresenta esse comportamento por si só (como em https://meta.discourse.org/t/topic-list-previews/101646?page=5, que vai para o post 471 (!), o qual possui a URL canônica correta ?page=5). Acredito que possa ser um erro de off-by-one.

7 curtidas

Acho que pode haver um leve desalinhamento de colchetes aqui para o canônico. @kris.kotlarek, você pode investigar na próxima semana? Você precisará criar um post no local com 44 respostas e depois ver o que acontece.

6 curtidas

@kris.kotlarek já tem uma correção mesclada!

Avise-nos se não estiver funcionando corretamente!

3 curtidas