2010-12-27 2 views
2

Ich habe gerade meinen ersten Stich bei der Erstellung einer ListView, ObjectDataSource und DataPager in einem AJAX-Panel gemacht.Verwenden von DataPager Control mit AJAX und SEO

Ich hatte Schwierigkeiten, es zu arbeiten, bis ich das QueryStringField="page" Attribut vom DataPager entfernte. Dieses Attribut bewirkt, dass die aktuelle Seite als Abfrageargument in der URL übergeben wird. Aus offensichtlichen Gründen, denke ich, wird das nicht funktionieren, wenn Sie mit AJAX zurück schreiben.

Jetzt ist meine Frage, ob dies meine SEO verletzt. Wenn ich QueryStringField verwendete, wurden die Seitenlinks als normale Links mit verschiedenen Abfrageargumenten angezeigt. Aber jetzt sind die Links nur Javascript. Habe ich nicht die Fähigkeit einer Suchmaschine verletzt, verwandte Seiten zu scannen?

Oder gibt es einen anderen Ansatz dazu?

Antwort

0

Wenn Sie ein Paging-Steuerelement oder ein Steuerelement ausführen, das nicht geschrieben wurde, um es ohne JavaScript fehlerfrei zu verarbeiten, werden Sie alle navigierbaren Seiten für Suchmaschinen im Wesentlichen unsichtbar machen.

In der Regel nur Quelle auf der Seite anzeigen und sehen, welche Links auf der Seite verfügbar sind. Nur diese Links sind für Suchmaschinen sichtbar.

Um die Suchmaschinenabdeckung zu bekommen UND AJAX auf Ihren Seiten einzutragen, schreiben Sie sie zuerst, um mit Standardpostbacks und hübschen URLs zu arbeiten (routing/url rewriting) und fügen Sie dann AJAX hinzu.

Es kann ein PITA sein, aber im Wesentlichen müssen Sie den Code zweimal schreiben.

Würde gerne hören, wenn jemand bessere Vorschläge hat.

Ich habe Sachen in .NET ohne Steuerelemente oder Webforms nur reines HTML geschrieben und benutze Jquery, um irgendwelche Magie hinzuzufügen.

Wir werden hoffentlich bald zu MVC wechseln.

Nur meine voreingenommene nehmen auf dem Weg, den wir gehen sollten ...

+0

Ich bin mir nicht sicher, ob ich folge. Ich ** habe es funktioniert zuerst mit Standard-Links. Aber soweit ich das beurteilen kann, ist das einfach nicht mit AJAX kompatibel. Wenn ich etwas nicht verpasse, verwende ich normale Links und Abfrageargumente ** oder ** AJAX, aber nicht beides. Habe ich etwas verpasst? –

+0

Ich denke, dass Sie Ihr Problem möglicherweise mit der hier vorgestellten Lösung lösen können. http://weblogs.asp.net/stefessedich/archive/2008/02/08/fully-accessible-ajax-paging-using-datapager.aspx. Ich arbeite wirklich nicht gerne mit vielen der mitgelieferten Webcontrols wie Gridviews und Datenpager-Controls - sobald Sie sich für benutzerdefinierte bheaviour-Dinge entscheiden, werden sie schnell und hässlich und komplex. Ich würde empfehlen, JQuery und ein Paging-Steuerelement wie diese http://blog.wekeroad.com/2007/12/10/aspnet-mvc-pagedlistt/ zu verwenden. Sie erhalten die volle Kontrolle und vermeiden jede MS "Magie", die oft Ihren Tag ruiniert;) – CountZero

+0

Das sieht aus wie ein vielversprechender Artikel. Vielen Dank. –