Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Dynamische Seiten indizierbar machen

Geschrieben von: Christian Holm
Kategorie: ASP Tricks

Heutzutage ist eine Firmenwebsite meist gänzlich dynamisch aufgebaut, und umfasst im umfangreichen Falle mehrere tausend Seiten. Obwohl solche Sites enormen Content anzubieten haben, und sicher in alle Suchmaschinen submitted wurden, ist die Trefferquote bei Suchen nicht gerade berühmt - warum?

Der Grund ist, daß dynamische Sites meist ein Fragezeichen ("?") im Seitenaufruf enthalten - für den Querystring - und das indizieren die Spider der Suchmaschinen nicht. Dieser Artikel stellt den PortalPage Filter von AlphaSierraPapa vor, der Ihre dynamischen Seiten für Spider indizierbar und somit für Ihre potentiellen Kunden in den Suchmaschinen findbar macht - und dies geschieht ohne daß Sie Ihre Website neu programmieren zu müssen.

Bevor wir richtig loslegen, möchte ich Ihnen kurz die wichtigsten Eckdaten der Software präsentieren. Also, was sie mit Ihren dynamischen URLs macht, sowie die Vorteile die Sie durch ihre Verwendung erzielen. Danach folgt eine kurze Installationsanleitung und natürlich auch ein Beispiel einer dynamisch generierten Mini-Website, mit der Sie dann auch selbst die Funktionalität der Software testen können.

Was geschieht?

Bei dynamischen Webseiten lassen sich oft Querystrings nicht vermeiden - bei Redaktionssystemen zum Beispiel kommt der ganze Inhalt aus der Datenbank, aber die Seite zur Darstellung ist nur einmal programmiert - an die Seite wird eine ID übergeben, anhand derer die Daten aus der Datenbank geholt und dargestellt werden. Das Problem aber ist, daß Spider Seiten mit angehängten Fragezeichen nicht indizieren, also der gesamte schöne dynamische Inhalt nicht suchbar ist. Möglicherweise ist sogar nur die Startseite Ihrer Webpräsenz indiziert...

Hier kommt nun der PortalPage Filter (PPF) zum Einsatz. Dieser läßt, eingemappt als ISAPI Filter, Ihre dynamische Web Site von außen her komplett statisch aussehen - Ihre Site wird nun auch für Spider akzeptabel. Nun steht einem Eintag Ihrer Web Site samt relevanter Unterseiten in die Suchmaschinen nichts mehr im Wege. Das Beste ist, daß bei Verwendung dieses Filters die Funktionalität Ihrer ASP Querystrings nach innen vollständig erhalten bleibt.

Sehen wir uns nun ein kleines Beispiel an, wie ein "normaler" URL mit Querystring aussieht - einer, der nicht von Suchmaschinen indiziert wird:

http://www.IDontuseppf.com/item.asp?PicID=1

Hingegen wird der folgende URL sehr wohl von Suchmaschinen besucht werden:

http://www.Iuseppf.com/picturedb/PPF/PicID/1/item.asp

Hier hat der PortalPage Filter seine Finger im Spiel. Diese Interpretation des Querystrings zu einer Art "Pseudo-Pfadstruktur" verändert natürlich keinesfalls die ASP Funktionalität Ihrer Site. Die Querystrings bleiben nur nach außen hin verborgen, intern ändert sich gar nichts.

Wie immer gibt es mehrere Möglichkeiten um ans gewünschte Ziel zu gelangen. Um die Vorteile der PPF Komponete zu verdeutlichen, besprechen wir diese an einem konkreten Problem-Beispiel einer Web Site größeren Umfangs.

Vorteile in der Verwendung

Nehmen wir an, wir hätten eine Web Site mit einer Datenbankanbindung, einen Produktkatalog und zusätzlich einen Web Shop. Alle Seiten werden dynamisch mit ASP generiert und die einzelnen Produkte werden über eine getroffene Auswahl, einem Query String, erreicht.

Auf der Hauptseite findet der Kunde daher nur eine Übersicht über die vertriebenen Hauptproduktgruppen. Da Interessierte meistens in den Suchmaschinen nach den Produkten selbst suchen und eher selten nach dem Oberbegriff, stellt sich schon das eigentliche Problem dar. Da Ihre Hauptseite ja keine Query Strings enthält, ist sie in der Suchmaschine auffindbar. Jedoch die eigentlichen Produkte nicht, da diese Unterseiten mittels Query Strings angesteuert werden.

Da Suchmaschinen generell tausende Suchergebnisse zurückliefern, wäre es doch vorteilhaft dem Kunden sofort auf sein gewünschtes Produkt auf Ihrer Web Site hinzuleiten, anstatt ihn auf Ihrer Hauptseite erneut zu einer genaueren Suche aufzufordern.

Um dieses Problem zu lösen gibt es mehrere; eine kostspielige und aufwendige wäre, daß Sie zusätzliche Domains erstellen, die die einzelnen Inhalte als statische Seiten enthalten. Diese Möglichkeit ist, wie gesagt schon bei einem umfangreichen Online-Angebot kostspielig um den gesamten Inhalt zu indizieren und zu warten.

Als günstige und einfach anzuwendende Alternative bietet sich die PortalPage Filter Komponente von AlphaSierraPapa an. Durch die Interpretation der Querystrings enthaltenden URLs wird der dynamische Inhalt Ihrer Web Site, welcher z.B. aus einer Datenbank generiert wird, von außen her statisch. Nun werden auch die Unterseiten, die die tatsächlichen Produkte enthalten für Spider akzeptabel. Und Ihre zukünfigen Kunden finden nach einer Websuche sofort und unkompliziert genau das, was sie gesucht haben. Schon allein diese Erleichterung erhöht die Anzahl der Hits auf Ihre Web Site.

Sie erhalten diese Funktionalität für Ihre Web Site ohne großen Installations- und Administrationsaufwand. Um sich über diese Vorteile selbst ein Bild zu machen, können Sie kostenlos eine Testversion und zusätzlich eine kleine Test-Web Site downloaden.

Für den Fall des Falles steht Ihnen als zusätzliche Hilfestellung eine Frequently Asked Questions Liste sowie eine umfassende Dokumentation online zur Verfügung.

Lizenzmodelle

Die PortalPageFilter Komponente wird in zwei Lizenz-Versionen angeboten: einmal per Website, das andere per Webserver (unlimitierte Anzahl von Sites). Beides wird als Electronic Software Download (ESD) angeboten, d.h. Sie erhalten die Software sofort nach dem Kauf.

Die Installation

Die Installation der Komponete ist je nach Lizenz - entweder nur für eine Web Site oder für einen Server - unterschiedlich, jedoch denkbar einfach. Folgend die Erklärungen zur Installation der Websitelizenz, da dies auch der gleiche Vorgang für die Testversion ist:

Öffnen Sie den Internet Services Manager und klicken Sie mit der rechten Maustaste auf die gewünschte Web Site, um das Kontextmenü zu erhalten. Klicken Sie nun auf Properties (Eigenschaften) und wechseln Sie zu ISAPI Filters. Mit Add (Hinzufügen) erhalten Sie das Filter Properties Fenster, in dem Sie die nötigen Informationen zum Filter eingeben müssen (siehe Screenshot):

Die Einträge nur noch mit OK bestätigen. Der Filter ist sofort nach Bestätigung mit OK oder durch Klicken auf Apply (Anwenden) verfügbar. Damit wäre der erste Teil abgeschlossen.

Konvertierung der URLs

Interessierte unter Ihnen werden sicher nun fragen, wie der PPF grundsätzlich die statischen URLs für die verlinkten Seiten genieriert, um sie für Spider verträglich zu machen. Dieser Abschnitt soll kurz diese Punkte beschreiben.

Die ASP Function Library des PortalPage Filter ist in der Datei ppfhelpers.asp enthalten, die der Kaufversion und der Demoversion beiliegt. Diese Library konvertiert Links mit Query Strings wie

http://www.IDontuseppf.com/item.asp?PicID=1

in statische wie

http://www.Iuseppf.com/picturedb/PPF/PicID/1/item.asp

Die Library bietet hierfür die folgenden Funktionen

Function GenerateURLFromArray(ByVal strURI, ByRef arrParameters, ByRef arrValues)

Function GenerateURL_OneParam(ByVal strURI, ByRef strParamName, ByRef strParamValue)

Function GenerateThis_OneParam(ByRef strParamName, ByRef strParamValue)

Function GenerateThis_FromArray(ByRef arrParameters, ByRef arrValues)

Dabei haben die oben angeführten Funktionen folgende unterschiedlichen Modi:

GenerateURLFromArray: Sie übergeben den URL, ein Array, also ein (Daten)Feld und ein Array von Parameterwerten. Die durch die PPF Komponente generierten Links werden basierend auf die von Ihnen angegeben Parameter interpretiert.

GenerateURL_OneParam: Hier übergeben Sie wieder den URL, den Namen eines Parameters und einen Parameterwert. Aus diesen angegebenen Informationen werden die Links durch die PPF Komponente interpretiert.

GenerateThis_OneParam: In diesem Modus wird nur der Name eines Parameters und ein dazugehöriger Wert übergeben. Die Links werden basierend auf der SCRIPT_NAME Server-Variable und des angegebenen Parameters generiert.

GenerateThis_FromArray: Sie übergeben ein Array von Parameternamen, sowie ein Array von Parameterwerten. Die PPF Komponente erstellt die Links basierden auf der SCRIPT_NAME Server-Variable und der angegebenen Arrays generiert.

Sie könnten nun fragen, warum bei ausgehenden Seiten nicht automatisch eine Linkkorrektur durchgeführt wird - dies hat zwei Gründe: erstens soll man selbst entscheiden können, welche Seiten durch Spider erreichbar werden. Zweitens ist es eine Entscheidung zu Gunsten der höheren Geschwindigkeit, wie man in der FAQ nachlesen kann.

Produkt-Demo

Diese kleine Produkt-Demo soll die Konzepte, die Anwendung der ASP Funktionen, sowie die Generierung von Doorway Seiten zeigen. Diese Produkt-Demo können Sie natürlich auch separat downloaden. Das Download-Paket enthält alle benötigten ASP Dateien, sowie eine MS Access Datenbank und ein paar nette Bilder.

In der Hauptseite, z.B. default.asp, müssen Sie nur die ASP Function Library ppfhelpers.asp mittels <!-- include ... > referenzieren.

...
<!--#include file="../ppfhelpers.asp"-->
...

Nach der Angabe des Connection-Strings, des SQL-Strings für die Abfrage und der Erstellung des Recordset Objektes lassen wir uns nun die Links, z.B. mit Hilfe der Funktion GenerateURL_OneParam, erstellen:

...
Response.Write GenerateURL_OneParam("item.asp","PicID",rs(0))
...

item.asp ist hier der erforderliche URL, PicID der Parametername und rs(0) der (Anfangs)Wert des angegebenen Parameters.

Bei Ausführung dieser ASP Datei erhalten Sie folgendes Resultat, welches eine Doorway Seite darstellt:

Wenn Sie dann auf den durch die PPF Komponente generierten Link klicken, sehen Sie eine Detailseite eines Produkts (Screenshot).

Die Beispielanwendung kann mittels einer Variable von Querystring auf statische PortalPage Filter Links umgestellt werden, um zu demonstrieren, daß die ASP Funktionalität der Zielseiten nicht verändert werden muß.

Schlußbemerkung

Sie sollten zwei Dinge aus diesem Artikel mitnehmen: PortalPage Filter erlaubt Ihnen, Ihre Site vollständig suchbar zu machen, ohne daß Sie Ihre QueryString-basierten Seiten umprogrammieren müßten - nur die Seite, die Sie an die Suchmaschine abschicken. Ein einfacher Weg, um im Netz der Netze häufiger gefunden zu werden.

Links zu anderen Sites

Demowebsite für PortalPageFilter
FAQ zu PortalPageFilter
PortalPageFilter Infopage
Testversion PortalPageFilter

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.