# Einkaufswelten SEO Problem

**URL:** <https://forum.shopware.com/t/einkaufswelten-seo-problem/28497>\
**Category:** Sonstiges\
**Created:** [26. Juni 2015 um 21:44 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497 "2015-06-26T21:44:28Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Milchkanne](https://avatars.discourse-cdn.com/v4/letter/m/e9c0ed/32.png) [@Milchkanne](https://forum.shopware.com/u/Milchkanne)\
**Post date:** [26. Juni 2015 um 21:44 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/1 "2015-06-26T21:44:28Z")

</div>

Hallo zusammen, wir haben für unseren Shop, der unter SW 5 läuft, eine Einkaufswelt für die Startseite angelegt. Diese umfasst einige Banner und einen HTML-Block am unteren Ende, der mit Text gefüllt ist. Siehe [https://www.breuer-versand.de](https://www.breuer-versand.de) Nun bin ich davon ausgegangen, dass Google die Banner und den Text spidern kann, was aber nicht der Fall ist. In Google Webmaster Tools kommt zum Vorschein, dass die Einkaufswelt aufgrund eines Eintrags in der robots.txt diesen Bereich nicht erfassen kann. Disallow: /widgets soll dies verhindern. Nun stehe ich vor einem Rätsel, denn die Startseite einer Webseite ist ja nicht ganz unwichtig. Aber wenn diese existiert und von Google ignoriert wird, ist das auch suboptimal. Was kann ich tun dass Google zumindest den Text im unteren Bereich der Seite lesen kann? Macht es Sinn den Eintrag Disallow: /widgets aus der robots.txt zu entfernen? Ich danke Euch für jeden Tipp!! Viele Grüße Werner

---

<div class="post-metadata">

**Author:** ![SebastianKloepper](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sebastiankloepper/32/21435_2.png) [@SebastianKloepper](https://forum.shopware.com/u/SebastianKloepper)\
**Post date:** [27. Juni 2015 um 00:24 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/2 "2015-06-27T00:24:31Z")

</div>

Hallo Werner, verstehe das Problem nicht ganz. Das /widgets bezieht sich darauf, dass Google dieser URL nicht folgen soll. Das ist auch richtig und korrekt, da Google sonst Script Bestandteile crawlen würde. Alles Wichtig kann Google in Standard problemlos lesen Sebastian

---

<div class="post-metadata">

**Author:** ![Milchkanne](https://avatars.discourse-cdn.com/v4/letter/m/e9c0ed/32.png) [@Milchkanne](https://forum.shopware.com/u/Milchkanne)\
**Post date:** [27. Juni 2015 um 11:48 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/3 "2015-06-27T11:48:45Z")

</div>

Hallo, danke für Deine Mail. Zur Veranschaulichung meines Problems habe ich einen Screenshot von Google Webmaster eingeügt Jetzt wird mein Problem sicherlich deutlich. Danke schon mal

---

<div class="post-metadata">

**Author:** ![macommerce](https://avatars.discourse-cdn.com/v4/letter/m/ecccb3/32.png) [@macommerce](https://forum.shopware.com/u/macommerce)\
**Post date:** [25. September 2015 um 15:25 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/4 "2015-09-25T15:25:25Z")

</div>

PUSH! Kann Google nun HTMl-Elemente und deren Texte auslesen? Thema Ajax Meta… bla… Gibts hier noch eine Antwort von Shopware?

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [25. September 2015 um 15:32 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/5 "2015-09-25T15:32:23Z")

</div>

Hallo, Schau dir mal die Dokumentation von Google zum Ajax-Crawling an: [https://developers.google.com/webmaster … cification](https://developers.google.com/webmasters/ajax-crawling/docs/specification) Speziell diesen Part: [quote]Pages without hash fragments It may be impossible or undesirable for some pages to have hash fragments in their URLs. For this reason, this scheme has a special provision for such pages: in order to indicate that a page without a hash fragment should be crawled again in \_escaped\_fragment\_ form, it is possible to embed a special meta tag into the head of its HTML. The syntax for this meta tag is as follows:The following important restrictions apply: The meta tag may only appear in pages without hash fragments. Only „!“ may appear in the content field. The meta tag must appear in the head of the document. The crawler treats this meta tag as follows: If the page [http://www.example.com](http://www.example.com) contains the meta tag in its head, the crawler will retrieve the URL [http://www.example.com?\_escaped\_fragment\_=](http://www.example.com?%5C_escaped%5C_fragment%5C_=). It will index the content of the page as [http://www.example.com](http://www.example.com) and will display [http://www.example.com](http://www.example.com) in search results. As noted above, the mapping from the \_escaped\_fragment\_ to the #! syntax is slightly different in this case: to retrieve the original URL, the web server instead simply removes the tokens \_escaped\_fragment\_= (note the =) from the URL. In other words, you want to end up with the URL [http://www.example.com](http://www.example.com) instead of [http://www.example.com#!](http://www.example.com#!). [/quote] Der Crawler geht also hin und ruft deine Startseite auf, sieht im Quelltext den Metatag und ruft die Seite dann über den ?\_escaped\_fragment-Parameter auf. Entsprechend musst du auch deine Seite selbst über diesen Parameter aufrufen wenn du „Abruf wie durch Google“ benutzt. Die Elemente sind da ggf. in der Preview verschoben, aber der HTML-Inhalt ist so wie er soll. [http://www.example.com/?\_escaped\_fragment\_=](http://www.example.com/?%5C_escaped%5C_fragment%5C_=) ist also die Lösung. Dies liefert einen HTML-Snapshot der Seite zurück mit allen Ajax-Inhalten. Die „Abruf wie durch Google“-Seite muss also auch mit diesem Link gefüttert werden. Moritz

---

<div class="post-metadata">

**Author:** ![Ailurus](https://avatars.discourse-cdn.com/v4/letter/a/58f4c7/32.png) [@Ailurus](https://forum.shopware.com/u/Ailurus)\
**Post date:** [5. Oktober 2015 um 15:51 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/6 "2015-10-05T15:51:28Z")

</div>

Hallo, Die gleiche Frage habe ich ebenfalls, und als ich /?\_escaped\_fragment\_= (mit meinem Domain zuerst, klar) unter “search appearance/google data highlighter” verwende, schafft Google immer noch nicht, den Einkaufswelten zu laden. Abruf wie durch Google funktioniert aber nun einwandfrei. Gibt es dann eine andere Möglichkeit, tags für die erste Seite zu erstellen? Danke im Voraus! Beste Grüße, Vincent

---

<div class="post-metadata">

**Author:** ![diestelkamp](https://avatars.discourse-cdn.com/v4/letter/d/2acd7d/32.png) [@diestelkamp](https://forum.shopware.com/u/diestelkamp)\
**Post date:** [27. Februar 2016 um 15:36 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/7 "2016-02-27T15:36:31Z")

</div>

Ich habe dasselbe Problem.

Unter Einkaufswelten habe ich ein Block mit Links und H1-Überschrift. Für SEO-Werkzeuge diesen Block nicht sichtbar ist ![Frown](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/569ff272a6dd35730487f053b5b3cd1f98b23eea.png "Frown")

---

<div class="post-metadata">

**Author:** ![gezeichnet](https://avatars.discourse-cdn.com/v4/letter/g/e19b73/32.png) [@gezeichnet](https://forum.shopware.com/u/gezeichnet)\
**Post date:** [1. März 2016 um 10:50 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/8 "2016-03-01T10:50:53Z")

</div>

Google hat&nbsp; “/?\_escaped\_fragment\_=” als depreceated markiert&nbsp;[https://developers.google.com/webmasters/ajax-crawling/docs/specification](https://developers.google.com/webmasters/ajax-crawling/docs/specification).&nbsp;  
Es ist also eine frage der Zeit (oder vielleicht ist es auch schon so), dass diese technik nicht mehr funktioniert. Google selber sagt, das ihre möglichkeiten JS zu lesen inzwischen sehr weit fortgeschritten sind. Das bedeutet für mich aber noch nicht, das sie den Code dann auch wirklich lesen können und auf die per Ajax nachgeladenen Inhalte warten.&nbsp;  
Die Webdevelopertools (ansicht wie google)&nbsp;geben derzeit bei EKW Seiten nichts aus, sicherlich kann ich mit “/?\_escaped\_fragment\_=” die anzeige in dort erzwingen.&nbsp;

Hat den schonmal jemand tests gemacht ob die Einkaufswelten ranken, seit google die technik mit escaped\_fragment nicht mehr nutzen möchte?

---

<div class="post-metadata">

**Author:** ![michaelg](https://avatars.discourse-cdn.com/v4/letter/m/77aa72/32.png) [@michaelg](https://forum.shopware.com/u/michaelg)\
**Post date:** [28. Mai 2016 um 08:08 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/9 "2016-05-28T08:08:50Z")

</div>

Neben der Markierung der Technik durch Google als veraltet, scheint sich die Nutzung der Einkaufswelten zudem negativ auf die PageSpeed auszuwirken, da kaum Inhalte mit dem ersten laden der Seite verfügbar sind… Gibt es Ideen oder Ansätze, um Ajax hier zu vermeiden?

---

<div class="post-metadata">

**Author:** ![gezeichnet](https://avatars.discourse-cdn.com/v4/letter/g/e19b73/32.png) [@gezeichnet](https://forum.shopware.com/u/gezeichnet)\
**Post date:** [30. Mai 2016 um 12:15 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/10 "2016-05-30T12:15:27Z")

</div>

Ja, du kannst es vermeiden! Wobei ich eher der Meinung bin das der Pagespeed dadurch eher sinkt, es wird ja erst gerendert wenn alle Bilder vorhanden sind. Dein PageLoad sinkt dadurch also.

Such im Template unter “frontend/home/index.tpl” mal nach&nbsp;

```
{foreach $emotions as $emotion}
    {if $hasEscapedFragment}
        {if 0|in_array:$emotion.devicesArray}
            {action module=widgets controller=emotion action=index emotionId=$emotion.id controllerName=$Controller}
        ..........

```

&nbsp;

Das ist die Anweisung was passieren soll, wenn \_escaped\_fragment\_ an der url steht. Du musst das also als Standardverhalten nutzen. Genauso sollte es in der “frondend/listing/index.tpl” gehen.&nbsp;  
&nbsp;

---

<div class="post-metadata">

**Author:** ![michaelg](https://avatars.discourse-cdn.com/v4/letter/m/77aa72/32.png) [@michaelg](https://forum.shopware.com/u/michaelg)\
**Post date:** [8. Juni 2016 um 19:14 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/11 "2016-06-08T19:14:16Z")

</div>

Gibt es neben dem Einfluss auf das PageSpeed andere Gründe, weshalb die Einkaufswelten per Default via AJAX nachgeladen werden?

&nbsp;

---

<div class="post-metadata">

**Author:** ![gezeichnet](https://avatars.discourse-cdn.com/v4/letter/g/e19b73/32.png) [@gezeichnet](https://forum.shopware.com/u/gezeichnet)\
**Post date:** [7. Juni 2018 um 13:21 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/12 "2018-06-07T13:21:10Z")

</div>

@michaelg‍ Ohne JS kannst du dem Emotion Controller nicht die Größe des Bilderschirms mitteilen. Extra Einkaufswelten für Mobile wären also nur bedingt möglich. Du könntest eine default EKW laden und später durch eine von JS geladene ersetzen, das erzeugt aber viel mehr Traffic und Renderzeit.

&nbsp;

Das von mir oben genannte Beispiel funktioniert nicht mehr, da Shopware auf “escaped\_fragment” inzwischen verzichtet. Man kann das sofortige rendern aber trotzdem erzwingen.&nbsp;

```
// am Beispiel der '/frontend/home/index'
// Shopwareversion: 5.4.3

// suche nach:
{block name='frontend_home_index_emotion_wrapper'}

// durch dieses ersetzen:

    {action module=widgets controller=emotion action=index emotionId=$emotion.id controllerName=$Controller}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [7. Juni 2018 um 13:27 UTC](https://forum.shopware.com/t/einkaufswelten-seo-problem/28497/13 "2018-06-07T13:27:34Z")

</div>

\*Boa\* - nach zwei Jahren wieder ausgegraben&nbsp; ![Wink](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/b3785da0cbf2c8566cb535dcf55b2730b5224899.png "Wink")  
Oder auch einfach so:  
[Quick Tip: Shopping worlds without AJAX](https://developers.shopware.com/blog/2017/06/26/quick-tip-shopping-worlds-without-ajax/)
