Diese Frage ist sehr ähnlich zu einer, die ich gerade href: Can I get Google search results to use/display the final redirect url? fragte, aber jetzt ist die Frage spezifisch für Django.Wie kanonische URL mit Django HttpResponseRedirect bereitgestellt werden?
Meine Website hat die Homepage URLs, die das folgende Format verwenden:
www.mysite.com/id/pretty_title
der Startseite Links zu diesen Seiten, aber die href enthält tatsächlich einige Parameter:
www.mysite.com/id/?some_ugly_parameters_to_let_me_know_what_search_it_is_from
Diese dann zu
umleitetwww.mysite.com/id/pretty_title
, die die Seite zeigt.
Mein Problem ist, dass Googles Suchergebnisse zeigen den Link zu der Seite als die hässliche URL anstelle der hübsch umgeleitet ein.
Was ich gelernt habe, ist, dass ich eine kanonische Verbindung bereitstellen muss. Aber wie kann ich das tun, wenn die hässliche URL-Seite nie wirklich existiert, zumindest nicht als eine, die ich geschrieben habe?
Was Serverseite passiert ist, dass der Blick auf die hässliche URL hat eine Umleitung:
return HttpResponseRedirect(pretty_url)
Diese HTML-Seite wird von pretty_url angezeigt. Oder "zählt" es auch, dass es von der hässlichen_url angezeigt wird, da es dorthin umleitet? – user984003
In Ihrem Django sollte es nur eine Ansicht geben, die diesen eindeutigen Inhalt zurückgibt. Sie müssen nur das kanonische Tag in das HTML dieser einen Ansicht bringen. Ob der Inhalt dieser Ansicht über die eine oder andere URL zugänglich ist, ist nicht wichtig. – bakkal
Großartig, danke! Ich werde das machen. – user984003