Im Ergebnis sollten Sie diesen Code vor sich haben:
#SET sitename = "#INSERT_SP_STATICSITENAME_{or=#INSERT_OR_ID&el=#INSERT_EL_ID}!" #ENDSET #IF ( "#INSERT_PARAM_shopcgi!" == "#INSERT_SP_CGI" ) #IF ( #INSERT_SP_VAR_sitename*length! > 0 ) <link rel="canonical" href="http://www.example.com/#INSERT_SP_VAR_sitename!" /> #ELSE#ENDIF #ELSE#ENDIF
Aber was steht dort nun genau?
Die erste Zeile lädt über den VIO.Matrix Platzhalter #INSERT_SP_STATICNAME_{}! den statischen Seitennamen der URL mit der aktuellen Ordner- bzw. Elemente-ID.
Danach wird geprüft, ob der Besucher sich gerade im dynamischen Web aufhält - denn nur dort macht die Einbindung des Canonical Links auch Sinn. Auf den statischen Seiten muss man das nicht machen, da diese ja bereits über die gewünschte statische URL aufgerufen werden.
Trifft dies zu wird in der nächsten #IF-Bedingung geprüft, ob der statische Seitenname überhaupt exisiert. Es kann durchaus dynamische Seiten geben die auf Grund einer Einstellung nicht als statische Seiten erzeugt werden. Oder der statische Export hat diese bisher nicht erstellt, dann findet #INSERT_SP_STATICNAME_{}! diesen Dateinamen natürlich auch nicht. Daher geht man hier sicher, dass auch wirklich nur URLs statischer Seiten eingetragen werden.