Liquid, JavaScript, Themes
Hallo,
mir ist aufgefallen, dass Shopify URLs ohne Slash am Ende erstellt.
Es gibt Gründe, wieso ich alle URLs mit Slash am Ende benötige.
Gibt es eine Einstellungsmöglichkeit, um zu gewährleisten dass alle URLs mit einem Slash enden?
Ich habe bereits zwei Beiträge dazu gefunden, die mir allerdings nicht weiterhelfen:
- https://community.shopify.com/c/technische-fragen-antworten/url-mit-slash-endung-zu-shopify-url-weit...
Vielen Dank
- https://community.shopify.com/c/technische-fragen-antworten/doppelte-urls-mit-slash-am-ende/m-p/2013...
Hey @Verasipy
Hat dir die Lösung in deinem Link oben von unserem Experten Kenan Sönmez nicht weitergeholfen? Wenn nein, wie und warum nicht?
In Shopify gibt es keine native Einstellung, um URLs automatisch mit einem Slash am Ende zu generieren. Dies liegt daran, dass Shopify standardmäßig URLs ohne abschließenden Slash erstellt. Allerdings kannst du verschiedene Ansätze nutzen, um dieses Verhalten zu ändern und konsistente URLs sicherzustellen.
Um sicherzustellen, dass alle Zugriffe auf URLs ohne Slash am Ende automatisch auf URLs mit Slash am Ende weitergeleitet werden, kannst du 301-Weiterleitungen einrichten. Dies kann manuell oder über eine App erfolgen. Es gibt auch Apps im Shopify App Store, die die Verwaltung von 301-Weiterleitungen erleichtern, wie z.B. EasyRedirects oder Traffic Control - Bulk Redirects. Diese Apps bieten eine einfache Möglichkeit, mehrere Weiterleitungen zu erstellen und zu verwalten.
Shopify erstellt standardmäßig kanonische URLs mit einem abschließenden Slash. Dies stellt sicher, dass Suchmaschinen die richtige Version der URL indizieren.
theme.liquid
im Layout-Ordner.
<link rel="canonical" href="{{ canonical_url }}">
Wenn du Zugriff auf deine Domain Servereinstellungen (geht mit manchen Provider) hast, kannst du Rewrite-Regeln hinzufügen, um sicherzustellen, dass alle URLs mit einem Slash am Ende versehen werden. Beispiel für Apache (htaccess):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule ^(.*)$ /$1/ [L,R=301]
Nginx:
location / {
if ($request_uri ~* [^/]$) {
return 301 $uri/;
}
}
Hoffe das hilft dir weiter - lass wissen falls nicht! 😉
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Danke für die Rückmeldung.
Zitat 1: "Dies liegt daran, dass Shopify standardmäßig URLs ohne abschließenden Slash erstellt."
Zitat 2: "Shopify erstellt standardmäßig kanonische URLs mit einem abschließenden Slash."
Die beiden Aussagen in Kombination machen wenig Sinn und wären aus SEO Sicht nicht sinnvoll. Das bedeutet, dass Shopify standardmäßig URLs ohne Slash anlegt aber standardmäßig eine Canonical-URL mit Slash hat. Das würde überhaupt keinen Sinn machen und ich kann das in meiner Shopify Installation auch so nicht nachvollziehen. Bei meiner Installation ist es so, dass Shopify standardmäßig URLs ohne Slash am Ende anlegt und auch der Canonical keinen Slash am Ende hat. So ist es auch korrekt.
In meinem Fall möchte ich gerne alle URLs auf mit-Slash-am-Ende umstellen. Das kann ich über Weiterleitungen machen. Allerdings wird dann die Canonical URL wahrscheinlich immer noch ohne Slash am Ende sein, was aus SEO Sicht nicht gut wäre.
Ich könnte zwar auch die theme.liquid wie folgt anpassen:
<link rel="canonical" href="{{ canonical_url }}/"> (slash am Ende)
Allerdings bin ich mir unsicher, ob die theme.liquid bei jedem Update zurückgesetzt wird. Die Fehleranfälligkeit wäre mir deutlich zu hoch. Vor alle mit Canonicals ist nicht zu spaßen und kann zu gravierenden Crawlingproblemen führen.
Bezüglich der 301 Redirects:
Ich habe Zugriff auf meinen Provider, allerdings verstehe ich nicht richtig, wie ich dort eine htaccess bearbeiten soll. Shopify läuft ja nicht auf meinem Server sondern auf dem Shopify Server.
In folgendem Beitrag habe ich eine Antwort von dir gefunden, die meine Vermutung bestätigt: https://community.shopify.com/c/technische-fragen-antworten/301-weiterleitungen-bei-shop-relaunch-se...
Oder hat sich hier etwas seit Feb. 2023 geändert?
Hey @Verasipy
Shopify erstellt standardmäßig URLs ohne abschließenden Slash, und auch die kanonischen URLs haben keinen abschließenden Slash. Wenn du alle URLs auf deiner Shopify-Website so umstellen möchtest, dass sie mit einem abschließenden Slash enden, und sicherstellen möchtest, dass die kanonischen URLs ebenfalls mit einem Slash enden, dann ist ein systematischer Ansatz erforderlich. Da Shopify auf seinen eigenen Servern gehostet wird, hast du keinen Zugriff auf die .htaccess-Datei, um serverseitige Redirects einzurichten.
Hier wie du dies umsetzen koenntest:
Du kannst die theme.liquid
Datei so anpassen, dass die kanonischen URLs mit einem abschließenden Slash enden. Das ist technisch möglich und sollte nicht zurückgesetzt werden, wenn du keine größeren Theme-Updates durchführst. Hier ist, wie du dies tun kannst:
theme.liquid
und füge den abschließenden Slash zur kanonischen URL hinzu:<link rel="canonical" href="{{ canonical_url }}/">
Probiere eine Weiterleitung von der URL ohne Slash zur URL mit Slash zu erstellen:
/collections/fliesenbohrer
/collections/fliesenbohrer/
Hoffe das hilft dir weiter - lass wissen falls nicht! 😉
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Danke für die Rückmeldung.
Wenn ich das richtig sehe, hast du jetzt noch mal das klagestellt, was ich bereits in meiner Nachricht geschrieben habe. Dass die Änderungen in der theme.liquid bei einem Update nicht zurückgesetzt werden ist super!
Die Frage ist, wie ich die abschließenden Slashs an ALLE URLs bekomme ohne für jede URL eine Weiterleitung einrichten zu müssen.
Was ich natürlich auch vermeiden möchte ist, dass bei jedem Klick im Shop später eine für Nutzer und Crawler sichtbare Weiterleitung durchgeführt wird. Die Weiterleitung sollte serverseitig stattfinden, sodass sie von Mensch und Crawler nicht wahrgenommen werden. Ist das möglich?
Leider nein ausser du hast serverseitigen Zugriff zu deinen Domain Einstellungen bei deinem Provider in verbindung mit einer shopify.yml
, um URL-Strukturen festzulegen. Hier könnte ein Eintrag zur Erzwingung eines abschließenden Slashes gemacht werden.
Aber nativ ist das derzeit in Shopify selber nicht möglich.
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Ja, ich habe Zugriff auf den Server. Was meinst du mit shopify.yml? Ich würde das gerne versuchen, wenn das die einzige Möglichkeit ist.
Teil 2 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 16, 2024Teil 1 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 9, 2024Anpassungen des benutzerdefinierten Codes an Shopify-Themes (CSS) leicht gemachtIn diesem...
By Gabe Aug 28, 2024