?page= a volte reindirizza a una pagina con un URL canonico diverso

Uno dei nostri clienti ha rilevato il seguente problema relativo alla SEO, che riesco a riprodurre qui su meta.

Quando Discourse viene visitato da un crawler, inserisce link di paginazione ?page=XX in questo modo:

<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">next page â</a></b></span>

Quando una tale pagina viene caricata in un browser, Discourse esegue un reindirizzamento JavaScript verso un URL /t/slug/123/NN dove NN è il numero di un post.

Quindi https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294?page=2 reindirizza a 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 reindirizza a https://meta.discourse.org/t/post-rate-limit-trigger-for-a-topic-thats-heating-up/98294/45

Tuttavia, a volte quella pagina contiene un URL canonico che non corrisponde alla pagina originale che era stata richiesta.

Nell’esempio sopra, ?page=3 reindirizza al post 45 e la pagina del post 45 contiene un URL canonico ?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 dal rapporto SEO del cliente:

Questo crea una catena di tag canonici e reindirizzamenti e Google inizierà a non fidarsi dei tag canonici inseriti.

Non riesco a capire da dove provenga questo problema. A volte l’URL canonico ha un numero di pagina più alto, a volte fa riferimento a un numero di pagina più basso (come in questo esempio), e a volte è corretto.

Pensavo potesse essere legato a post cancellati o sussurri, ma un argomento con molti post rimossi non mostra questo comportamento di per sé (come https://meta.discourse.org/t/topic-list-previews/101646?page=5 che va al post 471 (!) e ha l’URL canonico corretto ?page=5). Penso che potrebbe trattarsi di un errore off-by-one.

7 Mi Piace

Immagino che qui per il canonico ci possa essere un leggero disallineamento delle parentesi. @kris.kotlarek, puoi indagare la prossima settimana? Dovrai creare un post su local con 44 risposte e poi vedere cosa succede.

6 Mi Piace

@kris.kotlarek ha già unito una correzione!

Fatecelo sapere se non funziona correttamente!

3 Mi Piace