Wenn Sie "will_paginate" und "ajax" googlen, ist das beste Ergebnis dieses Blog post : Aber der ursprüngliche Autor von will_paginate sagt zu diese Methode nicht zu verwenden (schlecht für SEO / Spinnen) ...
Aber ich kann nicht die Original-Autoren-Methode funktionieren (sein Javascript tötet alle meine Links). Ein anderer Gentleman schlägt eine ähnliche Methode vor wie das Konzept von mislav (dem ursprünglichen Willen_paginate Autor) . Aber ich kann nicht das bekommen, um entweder zu arbeiten.
so .... was ist der beste Weg, mit AJAX zu paginieren und SEO freundlich zu bleiben? (für SCHIENEN & gt; 2.1)
Tomhs Antwort ist richtig. Nur für Shiggles habe ich eine schnelle Implementierung entwickelt. Hier ist ein Screencast , der die Verwendung von Ajax zeigt, wenn Javascript aktiviert ist (Ihre Nutzer) und immer noch hübsche URLs haben, wenn Javascript deaktiviert ist (Google) . Und hier sind ein paar Code-Schnipsel, damit Sie darauf rollen können.
config/routes.rb:
app/controllers/items_controller.rb:
app/views/items/index.html.erb:
app/views/items/_items.html.erb:
Layout:
%Vor% public/javascripts/application.js:
Mein Beispiel verwendet jQuery (mit jRails ), aber es ist auch einfach mit Prototype zu tun.
Seo freundliche und unaufdringliche Javascript geht Hand in Hand. Was Sie tun können, ist Folgendes.
Bei dieser Vorgehensweise funktioniert die Paginierung für JS und nicht-js, da die Nicht-js-Benutzer (einschließlich Googlebot) Ihre Paginierung wie gewohnt durchlaufen. Nur wenn der Benutzer JavaScript aktiviert hat, wird der Container mit Daten mit neuen Ergebnissen aktualisiert.
Leider glaube ich nicht, dass Sie Ajax so verwenden können, wie Sie es möchten, und trotzdem SEO-freundlich bleiben, was den paginierten Inhalt betrifft. Das Problem ist, dass die Roboter von Google und Freunden, soweit ich weiß, Ihre Inhalte nicht mit XHR-Anfragen durchgehen werden, so dass sie diesen Inhalt einfach nicht sehen.
Wenn jedoch die paginierten Elemente jeweils eigene statische, SEO-freundliche Seiten haben (oder auf Ihrer Website anderweitig statisch verfügbar sind), findet der Inhalt immer noch seinen Weg in die Suchmaschinen. Dies ist die Art, wie Sie wahrscheinlich gehen möchten.
Es gibt eine Railscasts zu diesem Thema, die mir Ссылка
geholfen habenIch fahre rails 3.2, also fügte ich die dort erwähnte pagination.js in den Ordner app / assets / javascripts
einpagination.js
%Vor%Und dann erstellt
home.js.erb
%Vor%Da ich zwei verschiedene Angebote auf meiner Homepage habe.
Das war alles, was ich tun musste, um will_paginate mit Ajax zu arbeiten.
Was SEO betrifft, weiß ich nicht viel darüber, aber die URL http://localhost:3000/customers?_=1366372168315&feed_page=1&tags_page=2
funktioniert immer noch
Es gibt eine gute Möglichkeit, dies leicht zu tun, wenn Sie sich nicht um Spinnen sorgen. Nahm mich 5 Minuten. Check out:
Wenn Sie eine Fehlermeldung über eine fehlende 'Verlaufsdatei' erhalten, installieren Sie:
aber auch bewusst sein:
rails ajax_pagination konnte die Datei 'history' nicht finden
Tags und Links ruby-on-rails ajax