Sitemap lädt ... und lädt... und lädt...

Unsere Sitemap lädt sich den Wolf bis sie angezeigt wird. Meist um die 40 - 50 Sekunden.

Wir haben ca. 3000 Artikel mit insgeamt ca. 8000 Varianten. Das kann doch nicht zu viel sein…

Woran kann sowas noch liegen?

Link zur Map

Hmmm…sehr guter Punkt an dem ich auch hänge - das gibt es doch nicht, dass das neue Shopware daran scheitert?! :frowning:

Ich habe auch ca 4000 Artikel und 6000 Varianten. Der Sitemap Aufruf dauert ewig und bricht dann ab - obwohl ich auf dem Server nun schon eine Laufzeit von 3 Minuten eingestellt habe. 

  • Gibt es irgendwie einen Trick?
  • Kann ich die Sitemap in mehrere Teile unterteilen?
  • würde es funktionieren, wenn ich sie über die Konsole erstellen lasse?
  • … ???
     

Wäre für jeden Tipp dankbar…danke!

 

 

Wir sind hier auch immer noch nicht weiter.

Vor allem soll SW 6 eigentlich in dem Punkt recht ausgereift sein und zwischencachen.

Niemand eine Idee?

 

Oder gleiche Probleme???

Shopware 6 war bei mir sooo langsam das ich gleich freiwillig auf Version 5 gewechselt bin.

LG Markus

Auf der Roadmap von Shopware 6 steht ganz klar der Punkt „Improve Cache, HTTP-Cache and Performance“
Den hatte ich zwar so in Erinnerung, dass der für Dezember diesen jahres geplant war, aber wurde wohl verschoben.

Caching wünsche ich mir bei Shopware 6 allerdings wirklich sehr sehr ausgiebig.
So dass:

  1. alles statisch gecached werden kann
  2. dass man vorcachen kann (eine Produktseite schon so vorrechnen, wie sie in der Zukunft aussehen wird)
    Dazu will ich hinzufügen, dass ich hierbei meine. Die Selbe Seite vorrechnen nur bei geringerer Stückzahl. Damit wenn das Produkt gekauft wird, nicht die Seite neu gerendert werden muss, sondern einfach den Cache mit der anderen vorgerechneten Version ersetzt werden kann. So kann man den Shop für große/viele Bestellungen rüsten.
  3. Dinge wie Sitemap & robots.txt sollen statisch gecached und nur eventbased (bei Änderungen) neu gerendert werden und da auch nur die Teile, die nötig sind. Sodass das Generieren bei vielen Produkten nicht lange braucht.
  4. Cache darf nur in seltenen Fällen eine TTL haben, sonst nicht!
  5. Cache-WarmUp/PreBuild ohne externe oder interne requests durch den Webserver.

Alles natürlich nur meine Wunschliste… 

Jap … wie ich sagte… das war schon lange geplant!
Eigentlich für November: (Source)

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski “Moritz Naczenski”)‍

Was sagst du denn dazu?

Die Sitemap wird ja gecached, dass stelllst du da ja ein. Das ist nicht das Problem

Es gibt Performance Optimierungen bei der Sitemap, das hilft aber nur bei der Generierung. Ich sehe da jetzt keinen direkten Zusammenhang mit dem Thema auf der Roadmap. Das Ticket mit der Sitemap-Performance ist ja bereits in Umsetzung. Unabhängig davon funktioniert das aber mit der hier beschriebenen Menge an Artikeln auch einwandfrei.

Wie generiert ihr denn die Sitemap? Das kann man ja im Admin einstellen.

Aktuell wird sie live generiert.

@Jostshopping24 schrieb:

Aktuell wird sie live generiert.

Also generell sollte man die Generierung auf „geplant“ setzen und dann den Scheduler auf die CLI umstellen.  

@Moritz Naczenski schrieb:

@Jostshopping24 schrieb:

Aktuell wird sie live generiert.

Also generell sollte man die Generierung auf „geplant“ setzen und dann den Scheduler auf die CLI umstellen.  

 Also generell sollte man die Generierung auf „geplant“ setzen

Ok bekomme ich noch hin…

 

den Scheduler auf die CLI umstellen.  

Hm???

 

Wir sind daran letztens auch gescheitert, da wir es von z.B. Magento gewohnt sind, dass die Sitemap automatisch mit den Shop-Cronjobs generiert werden.

Da hier das leider nicht der Fall zu sein scheint (zumindest nicht bei uns), haben wir manuell einen Cronjob erstellt und lassen den einmal am Tag zu einer Zeit laufen, an dem möglichst wenige Traffic auf der Seite ist.

Wenn dein Provider das unterstützt, kannst du den über das Terminal mit crontab -e manuell erstellen. Dort dann einfach folgende Zeile einfügen:
00 2 * * * /path/to/your/domain/yourdomain.de/shopware/bin/console sitemap:generate

Im oben gezeigten Beispiel läuft dann die Generierung der Sitemap jeden Tag um 2 Uhr morgens.
Erklärung für die Sternchen:  Minute / Stunde / Tag / Monat / Wochentag

Wenn du noch mehr Beispiele zu Cronjobs brauchst, findest du hier einige: https://crontab.guru/examples.html

Edit: Generierung der Sitemap aber trotzdem auf “geplant” stellen :wink:

 

Grüße

@Hoargarth schrieb:

Wir sind daran letztens auch gescheitert, da wir es von z.B. Magento gewohnt sind, dass die Sitemap automatisch mit den Shop-Cronjobs generiert werden.

Da hier das leider nicht der Fall zu sein scheint (zumindest nicht bei uns), haben wir manuell einen Cronjob erstellt und lassen den einmal am Tag zu einer Zeit laufen, an dem möglichst wenige Traffic auf der Seite ist.

Wenn dein Provider das unterstützt, kannst du den über das Terminal mit crontab -e manuell erstellen. Dort dann einfach folgende Zeile einfügen:
00 2 * * * /path/to/your/domain/yourdomain.de/shopware/bin/console sitemap:generate

Im oben gezeigten Beispiel läuft dann die Generierung der Sitemap jeden Tag um 2 Uhr morgens.
Erklärung für die Sternchen:  Minute / Stunde / Tag / Monat / Wochentag

Wenn du noch mehr Beispiele zu Cronjobs brauchst, findest du hier einige: https://crontab.guru/examples.html

Edit: Generierung der Sitemap aber trotzdem auf „geplant“ stellen ;)

 

Grüße

Ich habe nur die Möglichkeit einen Conjob Skript zu hinterlegen.

Weiß ich leider nicht wie das funktioniert.

Hallo,

bei mir kommt sobald ich die Sitemap über die Konsole generieren will folgender Fehler:

 Provided language 2fbb5fe2e29a4d70aa5854ce7ce3e20b is not in list  
   of available languages:  

Hat jemand einen Tipp für mich?

 

 

@Moritz Naczenski schrieb:

Ich sehe da jetzt keinen direkten Zusammenhang mit dem Thema auf der Roadmap.

Stimmt mein Fehler, bzw falscher Thread dafür.
Darf ich fragen ob man den „CronJob“ workaround eventuell geschmeidiger implementieren kann?
Ich meine damit: ein CronJob für die Sitemap-Generierung ist keine Lösung sondern eher ein zeitgesteuerter Workaround.
Besser, schneller und effektiver wäre es doch:

 

Wenn sich etwas ändert, was die Sitemap verändert (site create/delete/visible/edit etc) dann wird automatisch und direkt ein " sitemap:generate" von der Applikation gefeuert. Klar, könnte man sagen, dass es wenn von PHP initiiert in einem timeouterror münden kann, aber wie lange brauch es schon eine Sitemap zu generieren? Eigentlich keine Minuten.

Falls man aber auch noch das lösen will kann man per PHP ein script anstoßen, welches wiederum ein anderes im Background und nicht unter selben prozess anstoßt, womit das eigentliche Skript nur millisekunden läuft und die Generierung der Sitemap dann im Hintergrund läuft.

 

Was ist der Vorteil daran?
Man muss nicht auf den Cron warten und die Sitemap wird Eventgesteuert geupdated und nicht timergesteuert „checken“ ob man regenerieren muss. Gerade bei „nur“ täglich ausgeführten Crons wie:

@Hoargarth schrieb:
00 2 * * * /path/to/your/domain/yourdomain.de/shopware/bin/console sitemap:generate

kann es eben sein, dass man kurz nach „02:00“ eine Änderung hat und die erst ca. 24 Stunden später in der Sitemap zu sehen sein wird.
Eventuell kann man das aber auch als „Option/Konfiguration“ als separates feature anbieten?
Fände ich zumindest sehr sinnvoll, vorallem wenn man mal sieht wie oft Google in letzter Zeit vorbei schaut.