Zum Hauptinhalt springen
Im SEO-Modus öffnet ein SEO-Fachmann den Shop mit einem eigenen Passwort und pflegt direkt auf der Produktdetailansicht zusätzliche Inhalte: einen SEO-Produktnamen für die sprechende Adresse, einen Hauptkategorieindex und bis zu zwanzig freie Felder für Seitentitel, Beschreibung und was sonst gebraucht wird. Die Eingabefelder stehen nicht in der Produktdetailansicht selbst, sondern in einem eigenen Template. Sie tragen es in der Shopkonfiguration shop.config im Abschnitt SEOProductFields beim Parameter Template ein und holen es mit ~WS-Module(product_seo)~ in die Seite. Die Tags dieser Seite gelten ausschließlich in diesem Template. Wegweiser: SEO-Content für Produkte · Referenz: Abschnitt SEOProductFields · Referenz: WS-Module()
Der Aufruf von WS-Module(product_seo) gehört in eine ST-SeoMode-Klammerung. Ohne sie bekommen auch gewöhnliche Besucher das Eingabeformular zu sehen.
Referenz: ST-SeoMode Die Ausgabe der gepflegten Inhalte im Shop übernehmen nicht diese Tags, sondern die PR-SeoFreeField1…20Tags in der Produktdetailansicht. Diese Seite beschreibt nur die Pflegeoberfläche. Referenz: PR-SeoFreeField1…20

Kann in diesem Subshop überhaupt gepflegt werden

Verbundene Subshops bekommen ihre SEO-Daten wie ihre Produktdaten automatisch aus dem Haupt-Subshop. Gepflegt wird deshalb nur dort. E-PSEO_Connected_Subshop ist die erste Entscheidung im Template.
Die Klammerung greift positiv, wenn die Pflege hier nicht möglich ist. Das Eingabeformular gehört deshalb in den negativen Zweig. Wer das verwechselt, baut ein Formular, dessen Absenden der Shop immer mit der Meldung ErrorConnectedSubshop abweist.
Als Einzel-Tag gibt E-PSEO_Connected_Subshop die Kennung des Subshops aus, in dem gepflegt werden muss. Nennen Sie sie im Hinweis, sonst muss der SEO-Fachmann raten, wohin er wechseln soll.

Das Formular

Beide Formulare des SEO-Modus, das zum Speichern und das zum Zurücksetzen, brauchen dieselben drei versteckten Felder: den Kontext, den Produktindex und den Aktionsnamen.
Ohne den Produktindex im Feld pi bricht das Modul ab und gibt gar nichts aus. Das ist die häufigste Ursache für ein Formular, das nach dem Absenden eine leere Seite hinterlässt.
E-PSEO_Action_Save und E-PSEO_Action_Reset liefern nur den technischen Namen. Sie stehen deshalb im name-Attribut, nicht im Wert. Am Absendeknopf lässt sich derselbe Name noch einmal setzen, nötig ist das neben dem versteckten Feld aber nicht.

Die Feldnamen

Zu jedem Eingabefeld gehören bis zu drei Tags nach demselben Raster. <Feld> steht für Name, MainCatIndex oder Field1 bis Field20.
Das versteckte Feld aus _Hidden gehört zu jedem SEO-Feld und zum Hauptkategorieindex dazu. Das Modul übernimmt einen Wert nur dann, wenn entweder etwas darin steht oder das zugehörige versteckte Feld mitgeschickt wurde. Ohne das versteckte Feld lässt sich ein einmal gefülltes Feld also nie wieder leeren, der alte Inhalt bleibt beim Speichern einfach stehen.
Der SEO-Produktname braucht kein verstecktes Feld und hat deshalb auch kein _Hidden-Tag. Er wird immer übernommen und lässt sich jederzeit leeren.
Übernehmen Sie die Feldnamen immer aus den _Input- und _Hidden-Tags. Ein selbst gewählter Name kommt beim Modul nicht an, die Eingabe geht beim Speichern verloren.

Die Längen

Der SEO-Produktname muss shopweit eindeutig sein, denn er wird zur Adresse des Produktes. Vergibt jemand einen Namen, der schon zu einem anderen Produkt gehört, weist das Modul das Speichern mit der Meldung ErrorNameAlreadyExists ab.
Wird beim Speichern auch nur ein Feld beanstandet, speichert das Modul gar nichts. Die Eingaben bleiben im Formular stehen, und die betroffenen Felder tragen ihre Fehlermeldung. Der SEO-Fachmann verliert also nichts, muss aber alle Beanstandungen beheben, bevor irgendetwas gesichert wird.

Fehler und Rückmeldungen

E-PSEO_Success und E-PSEO_Name_Changed sind reine Klammerungen ohne Textausgabe. Den Text schreiben Sie selbst ins Template.
Alle Meldungstexte stehen in der Shopkonfiguration shop.config im Abschnitt SEOProductFields-Text, nicht im Template. Fehlt dort ein Eintrag, bleibt die Meldung leer, und der SEO-Fachmann sieht einen Fehler ohne Begründung. Gebraucht werden ErrorNameTooLong, ErrorFieldTooLong, ErrorNameAlreadyExists, ErrorConnectedSubshop und ErrorMainCatIndexTooLong.
Referenz: Abschnitt SEOProductFields-Text E-PSEO_Name_Changed ist der Platz für den Hinweis, dass die sprechende Adresse des Produktes noch nicht umgestellt ist. Sie entsteht erst beim nächsten Generieren im TopRank-Manager, nicht beim Speichern.

Nachladen per AJAX

E-PSEO_Ajax greift, wenn das Modul über einen AJAX-Aufruf geladen wurde. Damit grenzen Sie den Bereich ab, der nach dem Speichern ausgetauscht werden soll.
Öffnender und schließender Marker müssen denselben Namen tragen, und dieser Name muss der Kennung des umgebenden Elements entsprechen. Ein Tippfehler an dieser Stelle führt dazu, dass der Shop nach dem Speichern nichts austauscht, ohne einen Fehler zu melden.
Ohne AJAX wird nach dem Speichern die ganze Produktseite neu geladen. Das hat den Vorteil, dass sich eine Änderung am Seitentitel sofort im Browser prüfen lässt. Bei der AJAX-Variante wird nur der eingeklammerte Bereich erneuert. Referenz: WS-Ajax-”ID” · Wegweiser: AJAX-Funktionen

WEBSALE-Tags in den SEO-Feldern

Nach schriftlicher Beauftragung und technischer Freischaltung dürfen in den SEO-Feldern selbst WEBSALE-Tags stehen. Sie werden dann bei der Ausgabe im Shop aufgelöst.
Damit dem SEO-Fachmann im Eingabefeld das Tag selbst und nicht dessen Ergebnis erscheint, klammern Sie den Inhalt mit WS-NoParsing. Ohne diese Klammerung sieht er nach dem Speichern nur noch das aufgelöste Ergebnis und kann das Tag weder prüfen noch korrigieren.
Referenz: WS-NoParsing

Die Tags im Überblick

Zulässig sind alle Tags dieser Seite im Template für die Produkt-SEO-Eingabefelder, das in der Shopkonfiguration shop.config im Abschnitt SEOProductFields beim Parameter Template eingetragen ist. E-PSEO_ProdIndex gibt den Produktindex aus, zu dem die angezeigten Felder gehören. Im Formular können Sie damit ~PR-ProdIndex~ ersetzen, was den Vorteil hat, dass der Wert aus dem Modul selbst stammt und nicht aus dem umgebenden Shop-Template.

Verwandte Themen