Unerwartet hohe Plenty-Kosten wegen Traffic – was tun?

Hallo zusammen,

ich habe ein Problem mit meinem Plenty-Account. Die Kosten sind in den letzten Monaten stark angestiegen, anscheinend wegen sehr hohem Traffic. Da mein Umsatz aktuell sehr niedrig ist, habe ich meine Website vorerst geschlossen.

  • Bringt diese Maßnahme wirklich etwas, oder gibt es bessere Alternativen?

  • Kann Plenty die Rechnungen im Nachhinein korrigieren, da das Problem schon seit zwei Monaten besteht?

  • Ich habe bereits im ersten Monat Instagram-Bots blockiert, trotzdem sind die Rechnungen enorm hoch geblieben.

  • Gibt es die Möglichkeit, zusätzlichen Traffic offiziell zu buchen, anstatt direkt so hohe Kosten tragen zu müssen?

Vielleicht hatte jemand schon ein ähnliches Problem und kann mir Tipps geben, wie ich am besten vorgehen sollte.

Danke im Voraus!

Hallo,

wahrscheinlich ist Meta der Auslöser:

Gruß Dirk

Hallo Dirk,

danke für den Hinweis. Ich habe das Thema auch nach der ersten hohen Rechnung gelesen und den vorgeschlagenen Code auf meiner Seite eingebaut. Leider hat das bei mir nichts gebracht – im Gegenteil: Die Abrechnung und der Traffic in diesem Monat sind sogar noch höher ausgefallen als im ersten Monat.

Aus diesem Grund musste ich die Seite komplett schließen, weil die Kosten für mich nicht mehr tragbar waren.

Weißt du, ob man in so einem Fall gegen die Plenty-Rechnungen Einspruch einlegen kann oder ob es eine Möglichkeit gibt, den entstandenen Schaden wenigstens teilweise erstattet zu bekommen?

Viele Grüße

Hey @home27

Zunächst müsstest du nachweisen dass Plenty für den „Schaden“ verantwortlich ist. Deine Seite wurde oft besucht, PlentyONE hat das wie vereinbart geleistet und rechnet mit dir den entstandenen Traffic ab.

Wenn du von Schäden sprichst, müsste PlentyONE Verursacher des hohen Traffics sein.

Du solltest prüfen was tatsächlich den Traffic erhöht, und hier dann die passenden Sperren finden.

Das ist mir nicht bekannt.

Ja, wir hatten bereits Kundenanfragen zu diesen Themen, haben den Traffic überprüft und die verursacher ausgesperrt, sofern es möglich war, und diese Sperren von den Bots berücksichtigt werden.

Meine Empfehlung:
Prüfe zunächst im Webalizer, woher der Traffic stammt:

Dort siehst du unter anderem die Top User Agents im Bezug auf die Hits (Aufrufe)

Dann kannst du ebenfalls prüfen welche Zielseiten die meisten Traffic verursachen, das kann aber wild gemischt sein, wenn es keinen einzelnen Verursacher gibt.

Viele Hits müssen nicht zwangsläufig für den meisten Traffic sorgen (wenn viele Hits auf kleine Dateien abgesendet würden), aber in der Regel geht die Anzahl der Hits Hand in Hand mit dem Traffic im Durchschnitt.

Und dann kannst du sehen, welche IP-Adressen den meisten Traffic verursacht haben.

Sven von der webimpact® GmbH
www.webimpact.io
webimpact GmbH Logo Banner PlentyONE Enterprise Partner
:envelope: office@webimpact.io
:telephone_receiver: +49 (0) 2974 77 999 99

3 „Gefällt mir“

Hi Leute,
kam heute von Plenty. Vllt. hilft es euch ja weiter…

Gruß aus Berlin,
Timo

Hallo,

was genau erhöht den Traffic? ist es das Crawlen der Bilder? Die haben wir auf das Sirv CDN ausgelagert, da ist der Traffic billiger

wäre da auch ein starker Anstieg durch Google kritisch ?
Da liegen wir sonst um die 2% , im September bei fast 67% :thinking:

Gruß

Ute

Ich finde gut das von Plenty einen Hinweis nun gab.

Das Grundproblem sehe ich aber in den wie ich finde viel zu hohen traffic kosten.

Ich möchte eigentlich niemanden aussperren der Einträge in der robots.txt befolgt.

Das sind nach meinem Verständnis eigentlich eher seriöse Dienste, dubiose ignorieren das eh.

Unser Plentyshop wird bestimmt in jeder KI-Suche gerade ignoriert wegen unserer robots.txt.

Die Trafficpreise von Plenty lassen uns aber keine andere wahl leider.

Wenn wir von Plenty weg sind haben wir das Problem nichtmehr.

1 „Gefällt mir“

Ja, aber der Beitrag ist so typisch nichtssagend.
Pauschal diese Agents zu unterbinden ist ja ok, aber sagt den Usern doch wofür die Sind

Meta-Webcrawler im Detail erklärt

Demnächst kommt von plenty der Vorschlag:

User-agent: *
Disallow: /

damit man massiv Kosten sparen kann

Oder das Angebot per

Order Deny,Allow
Deny from all

bzw

deny all;
Die Kosten auf ein Minimum zu reduzieren.

Ja, ne, die Kosten die weitergegeben werden sind hier das größte Problem.

Unsere Top-Urls sind zb.


Lösungen die wir bauen mussten, damit wir Probleme umschiffen können

1 „Gefällt mir“

Bei uns läuft der auch enorm hoch

Hosting: 1 GB Traffic
Verbrauch: 257
Inklusive: 10
Website: 257,03
CDN: 0,00
Zeitraum: 17.08.2025 - 16.09.2025

Ich habe die Statistik angeschaut und sehe folgendes Top Einträge
facebookexternalhit, meta-externalagent, Bytespider, AhrefsBot, MJ12bot

Somit sind das Traffic Kosten nicht durch echte Kunden sondern nur rein durch Bots.

Das Problem aber ist das ich mehrere Meta Shops habe und auch Werbekampagnen auf Meta laufen habe. Plenty erwähnt zwar das die Händler welche das nicht verwenden es direkt blockieren sollen aber wichtig ist auch zuwissen das wenn man es nutzt dies nicht einfach so blockieren sollte. Wer Facebook / Instagram Ads und den Meta-Shop + Pixel nutzt, muss mit Blockierungen extrem vorsichtig sein, sonst zerschiesst es vor allem die Kampagnen.

Dier hier unten sollten wir ohne weiteres blockieren können, da keinen Mehrwert hat.
Bytespider, AhrefsBot, MJ12bot

Ich habe jetzt folgendes blockiert und folgendes gelassen und bin gespannt.

# --- Meta/Facebook/Instagram (für Ads, Pixel, Shop wichtig) ---
User-agent: facebookexternalhit
Disallow:
User-agent: meta-externalagent
Disallow:

# --- Wichtige Suchmaschinen (SEO) ---
User-agent: Googlebot
Disallow:
User-agent: Googlebot-Image
Disallow:
User-agent: Googlebot-Mobile
Disallow:
User-agent: AdsBot-Google
Disallow:
User-agent: Google-InspectionTool
Disallow:
User-agent: Bingbot
Disallow:
User-agent: DuckDuckBot
Disallow:

# --- AI Bots (für ChatGPT, Perplexity & Co.) ---
User-agent: GPTBot
Disallow:
User-agent: CCBot
Disallow:

# --- Social / Messenger Bots (für Previews) ---
User-agent: WhatsApp
Disallow:
User-agent: Twitterbot
Disallow:
User-agent: Slackbot
Disallow:
User-agent: Discordbot
Disallow:

# --- Apple ---
User-agent: Applebot
Disallow:

# --- SEO/Analyse-Bots ---
# Semrush aktiv genutzt → erlauben
User-agent: SemrushBot
Disallow:

# Amazonbot erlaubt (nützlich für Alexa/Marketplace)
User-agent: Amazonbot
Disallow:

# --- Blockierte Traffic-Fresser ---
User-agent: AhrefsBot
Disallow: /
User-agent: MJ12bot
Disallow: /
User-agent: DotBot
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: BLEXBot
Disallow: /
User-agent: DataForSeoBot
Disallow: /
User-agent: YandexBot
Disallow: /

@Michael.L bist auf Cloudflare? Wie war der Übergang? Warst du kurzzeitig komplett offline?

BG Sülo

wir haben auf Sirv gewechselt, das hat @felix.ries umgesetzt, bis da der Cache aufgewärmt ist dauert es eine Zeit.

Das hatte Felix gemacht als Plenty noch kein eigenes CDN hatte, ich habe aber mal die Kosten verglichen, bei Sirv zahlen wir jetzt für 160 GB Traffic $ 89,-
Bei Plenty sind es 20 Cent je GB, so gesehen wäre Plenty gar nicht so teuer.

Aber gut Sirv, ist schon schneller und hat noch andere Vorteile, aber nur zum Geld sparen muss man dann auch nicht wechseln

Oder zahlt Ihr mehr pro GB? ich dachte es geht hier um größere Beträge, aber 20 Cent pro GB finde ich nicht schlimm.

Nutzt Ihr das CDN von Plenty gar nicht, Ihr habt da Null Traffic

Hi @Michael.L ok damals war es anders.
Wenn ich jetzt direkt alles umändere und einen Fehler mache, dann zeigt die Domain ins Leere Unsere Seite würde komplett offline gehen deshlab muss alles gut abgestimmt sein, vor allem Timing!

Nun Ja bei Cloudflare hast du eben nur Vorteile vor allem erkennt und läuft vieles automatisch und du musst dich nicht um alles dann kümmern und die Hammer Performance die du dann auch hast!
Mein Ziel ist es demnächst dies auch mal durchzubringen das ich auf Cloudflare umsteige sobald ich die Zeit habe.

Bessere Performance (Caching, CDN weltweit)
Mehr Sicherheit (DDoS-Schutz, Bot-Filter)
Sehr einfache Bedienung (DNS + SSL in einer Oberfläche)
Viele Dinge automatisch erkennbar (HTTPS Redirects, Brotli, HTTP/3, Page Rules etc.

Sirv denke ich hat Felix sicher wegen den Bildoptimierung ausgewählt wo Sirv ja Spitzenklasse ist.
BG Sülo

Bei uns aktuell direkt alles über Hosting. Deshalb bin ich ja hier am planen.

Moin zusammen,

@Michael.L weißt du wie genau es umgesetzt wurde (oder direkt von @felix.ries )? Wir haben auch schon bei Kunden etwas eingebaut, was den Traffic entsprechend etwas verringern soll und zusätzlich natürlich mit Bildoptimierungen wie webp und avif kommt. Der größte Punkt dabei ist bisher immer nur das einbauen ins Theme. Aber es gibt Möglichkeiten den Traffic da wegzulenken und die Kosten zu verringern (Kosten in der Regel bei 8 Cent / GB Traffic) - falls der Traffic über die statischen Inhalte generiert wird.

Matthias von der webimpact® GmbH
www.webimpact.io
webimpact GmbH Logo Banner PlentyONE Enterprise Partner
:envelope: office@webimpact.io
:telephone_receiver: +49 (0) 2974 77 999 99

1 „Gefällt mir“

Das gab es mal als Plugin im Marketplace von mir. Da ich nur noch Kundenservice Automatisierung mache, ist das Plugin leider nicht mehr online aber hier die zwei entschiedenen Codes, falls es jemand weiterführen will:

Kann man sich mit ChatGPT wahrscheinlich fix zurecht biegen und einbauen.

Im Kern wird da lediglich nur die Domain vom plenty CDN durch die von sirv ersetzt. Bilder werden automatisch übertragen aber das Upload Tool hilft beim vorwärmen..

ItemImageCarousel.twig:

CODE ANZEIGEN
{% set fullParams = config('SirvCDN.itemImageCarouselParams') %}
{% set middleParams = config('SirvCDN.itemImageCarouselMiddleParams') %}
{% set previewParams = config('SirvCDN.itemImageCarouselPreviewParams') %}
{% set cdnBase = config('SirvCDN.cdnBase') %}
{% set sirvBase = config('SirvCDN.sirvBase') %}

{% set jsSnippetFull = ".replace('" ~ cdnBase ~ "','" ~ sirvBase ~ "').replace(imageUrlAccessor == 'url' ? 'url' : imageUrlAccessor.replace('url','').toLowerCase(),'full') + '" ~  fullParams ~ "'" %}
{% set jsSnippetMiddle = ".replace('" ~ cdnBase ~ "','" ~ sirvBase ~ "').replace(imageUrlAccessor == 'url' ? 'url' : imageUrlAccessor.replace('url','').toLowerCase(),'full') + '" ~  middleParams ~ "'" %}
{% set jsSnippetPreview = ".replace('" ~ cdnBase ~ "','" ~ sirvBase ~ "').replace('preview','full') + '" ~  previewParams ~ "'" %}

{% if config('SirvCDN.isPreloading') == "true" %}
    {% set preloadImage = (item.documents[0].data.images.all[0].url | replace({ (cdnBase ~''): sirvBase})) ~ middleParams %}
    {{ add_asset(preloadImage,'image') }}
{% endif %}

<!-- SSR:template(item-image-carousel) -->
<script type="x/template" data-component="item-image-carousel">
    <div itemscope itemtype="http://schema.org/Thing">
        <template>
            <div class="single-carousel owl-carousel owl-theme owl-single-item mt-0" ref="single">
                <div v-for="image in singleImages" class="prop-1-1">
                    <a :href="image.url{{ jsSnippetFull | raw }}" :data-lightbox="'single-item-image' + _uid">
                        <img class="owl-lazy" :data-src="image.url{{ jsSnippetMiddle | raw }}" :alt="getAltText(image)"
                             :title="getImageName(image)">
                    </a>
                </div>
            </div>
            <div v-if="showThumbs" id="thumb-carousel" class="owl-thumbs owl-carousel owl-theme owl-single-item"
                 ref="thumbs">
                <div class="prop-1-1" v-for="(imagePreview, index) in carouselImages">
                    <div class="image-container" @click="goTo(index)">
                        <lazy-img
                                picture-class="owl-thumb border-appearance"
                                v-bind:class="{ 'active': currentItem === index}"
                                :image-url="imagePreview.url{{ jsSnippetPreview | raw }}"
                                :alt="getAltText(imagePreview)"
                                :title="getImageName(imagePreview)">
                        </lazy-img>
                    </div>
                </div>
            </div>
        </template>
        <div v-if="!initialized" class="single-carousel owl-carousel owl-loaded owl-theme owl-single-item mt-0">
            <div class="prop-1-1">
                <img
                        class="owl-placeholder"
                        :src="singleImages[0].url{{ jsSnippetMiddle | raw }}"
                        :alt="getAltText(singleImages[0].url)"
                        :title="getImageName(singleImages[0].url)"
                >
            </div>
        </div>
    </div>
</script>
<!-- /SSR -->

CategoryImageCarousel.twig

CODE ANZEIGEN
{% set params = config('SirvCDN.categoryImageCarouselParams') %}
{% set cdnBase = config('SirvCDN.cdnBase') %}
{% set sirvBase = config('SirvCDN.sirvBase') %}

{% set jsSnippet = ".replace('" ~ cdnBase ~ "','" ~ sirvBase ~ "').replace('middle','full') + '" ~  params ~ "'"  %}

<!-- SSR:template(category-image-carousel) -->
<script type="x/template" data-component="category-image-carousel">
    <a :id="'owl-carousel-' + _uid" v-if="$data.$_enableCarousel" class="owl-carousel owl-theme" :href="itemUrl" role="listbox" :aria-label="$translate('Ceres::Template.itemImageCarousel')">
        <div v-for="(imageUrl, index) in imageUrls" :key="index">
            <lazy-img v-if="index === 0 && !disableLazyLoad" ref="itemLazyImage" picture-class="img-fluid" :image-url="imageUrl.url{{ jsSnippet | raw }}" :alt="getAltText(imageUrl)" :title="getTitleText(imageUrl)" role="option"></lazy-img>
            <img v-else-if="index !== 0 && !disableLazyLoad" class="img-fluid owl-lazy" :data-src="imageUrl.url{{ jsSnippet | raw }}" :alt="getAltText(imageUrl)" :title="getTitleText(imageUrl)" role="option">
            <img v-else class="img-fluid" :src="imageUrl.url{{ jsSnippet | raw }}" :alt="getAltText(imageUrl)" :title="getAltText(imageUrl)" role="option">
        </div>
    </a>
    <a v-else :href="itemUrl">
        <lazy-img v-if="!disableLazyLoad" ref="itemLazyImage" picture-class="img-fluid" :image-url="imageUrls[0].url{{ jsSnippet | raw }}" :alt="getAltText(imageUrls[0])" :title="getTitleText(imageUrls[0])"></lazy-img>
        <img v-else class="img-fluid" :src="imageUrls[0].url{{ jsSnippet | raw }}" :alt="getAltText(imageUrls[0])" :title="getTitleText(imageUrls[0])">
    </a>
</script>
<!-- /SSR -->

Alte Marketplace Anleitung:

Zusammenfassung

SirvCDN

Beta-Hinweis: Teste das Plugin zunächst in einer inaktiven Plugin-Set-Kopie.

Dieses Plugin ermöglicht dir in wenigen Minuten, alle deine Bilder im modernen und viel schnelleren webP-Bildformat auszuliefern.

Und zwar ohne, dass du dich technisch mit Web-Entwicklung oder Bildformaten auseinandersetzen musst und auch ohne das du irgendwelche Dateien hin und her kopieren oder aufwendig pflegen musst.

Das Sirv CDN ermittelt bei jedem Shop-Aufruf die technischen Voraussetzungen deines Besuchers und liefert immer das beste Bildformat, in der besten Qualität, aber mit minimalen Dateigrößen aus. Dadurch sparst du je nach Bild zwischen 30% und 40% an Dateigröße, was deinen Shop zu einer kleinen Bild-Rakete macht.

Da die meisten modernen Browser mittlerweile das webP-Bildformat verstehen, bedeutet das, dass deine Bilder fast ausschließlich in diesem Format ausgegeben werden.

Überzeug dich selbst und teste deinen Shop im Google Pagespeed Insights Test mit Vorher-/Nachher-Werten.

Welche Plugin Version muss ich installieren?

Prüfe hier ob Deine aktuelle Ceres Version kompatibel ist und welche Version du installieren musst.

Ceres Version Plugin Version
ab Version 5.0.23 Version 1.0.4
ab Version 5.0.29 Version >= 1.0.5

Schritt 1: Registrierung beim CDN Dienst Sirv

>> Hier geht es zur Registrierung <<

Du kannst den Dienst Sirv 30 Tage lang kostenlos testen. Wenn du wenig Speicher brauchst oder wenig Traffic (Datenübertragung von Bildern) hast, kannst du Sirv sogar komplett kostenlos nutzen (allerdings ist das komfortable Auto-Fetch Feature dann nicht dabei und du musst die Bilder manuell hochladen).

Schritt 2: Konfiguriere dein neues CDN

Klicke oben links auf deinen Profilnamen und wähle “Manage your account”

Einstellungen im Bereich “Account”

  1. Im Bereich Account kannst du optional einen eigenen Accountnamen definieren. Dieser Name wird später auch in der CDN Domain auftauchen.

Einstellungen im Bereich “Content Delivery”

  1. Aktiviere das CDN (“Enable CDN”)
  2. Kopier dir die “SIRV DOMAIN” für später!

Auto-Fetch aktivieren und einrichten!

Aktiviere unbedingt die Auto-Fetch Funktion. Dadurch werden Bilder beim ersten Aufruf automatisch von deinem Ceres-Shop ins CDN von Sirv geladen und du musst dich um nichts mehr kümmern! Neue Bilder kannst du einfach in deinem Plenty-System hinterlegen. Eine Übertragung findet nur einmal statt, danach werden die Bilder von deinem Sirv CDN in optimierter Form ausgeliefert.

Als Basis-Pfad muss deine CDN Domain von Plentymarkets hinterlegt werden

So findest du deine CDN Domain in Plentymarkets

  1. Öffne einfach einen Artikel in deinem Plentymarkets-Backend
  2. Wechsel in das Tab-Bilder
  3. Kopier dir den ersten Teil der angezeigten URL - Aufbau: https://cdn0XY.plentymarkets.com/benutzerdefinierterKey
  4. Wenn du eine eigene CDN Domain in Plentymarkets hinterlegt hast, nimmst du den definierten Domain-Namen

Schritt 3: Lade deine Bilder über unser Tool hoch

Damit alle Bilder beim Start in deinem Shop verfügbar sind, musst du einmalig das CDN von sirv über unser Tool vorbereiten. Der Schritt ist nur am Anfang nötig. Neue Bilder werden in Zukunft automatisiert hochgeladen.

>> Hier geht es zum Upload-Tool + Anleitung <<

Beachte das beim Upload ein stündliches Limit von 2.000 Bildern gilt, allerdings wird dieses Limit sofort auf 6.000 erhöht, wenn man es überschreitet. Das neue Limit steht euch dann bis zu 24h zur Verfügung. Wenn ihr große Mengen an Bildern hochladen wollt, solltet ihr also innerhalb der 24h Frist handeln. Diese Ausnahme Regel könnt ihr alle 30 Tage nutzen. Zur besseren Übersicht, solltet ihr eure Datei in 6.000-er Pakete aufteilen. Ob und welche Limits aktuell greifen, seht ihr im Bereich „Usage“ eures Accounts. Ihr könnt ggf. auch ein höheres Limit anfragen.

Schritt 4: Richte das Plugin ein

  1. Öffne das SirvCDN Plugin
  2. Klicke auf Einstellungen
  3. Trage bei Basispfad - Plentymarkets CDN den Wert aus dem letzten Schritt ein (ohne https://)
  4. Trage bei Sirv CDN Domain den Wert aus deinem sirv Account ein (ohne https://)
  5. Aktiviere den webP Support für deine Artikeldetailseite und Kategorieseite

Optional: Parameter ändern

Die Standard-Einstellungen kannst du so lassen, wenn du ein normalen Ceres Shop ohne Anpassungen verwendest. Hierbei geht es lediglich um die verschiedenen Bildgrößen. Wenn du jedoch ein eigenes Theme hast oder andere Anforderungen, melde dich in unserem Support-Beitrag

Optional: Preloading aktivieren

Über die Plugin-Einstellung kann Preloading für das erste Artikelbild auf der Artikeldetailseite aktiviert werden.
Damit die Bilder nicht doppelt vorgeladen werden, muss die Preloading-Option im Shopbuilder Artikelbild-Widget deaktiviert werden.

FAQ

Wie viel Speicher brauche ich bei Sirv?

  1. Gehe in dein Plenty-System
  2. Klicke oben links auf das rote Plenty-Logo >> Hosting
  3. Wechsel links in den Bereich “Speicherverbrauch”
  4. Schaue dir die Spalte Website-Daten an und betrachte am besten den Vormonat

Anmerkung: In dieser Kennzahl stecken sicher jede Menge Daten-Typen. Bei unseren Tests wurde erheblich weniger Speicher bei Sirv gebraucht, als im Backend angegeben.

Wie viel Traffic habe ich im Monat?

  1. Gehe in dein Plenty-System
  2. Klicke oben links auf das rote Plenty-Logo >> Hosting
  3. Wechsel links in den Bereich “Traffic”
  4. Schaue dir die Spalte CDN-Traffic an und betrachte am besten den Vormonat

Anmerkung: Auch hier wird der Wert von Sirv deutlich drunterliegen, sodass ihr mit den Limits klar kommen solltet. Der Traffic sinkt zudem erheblich, weil die webP Bild-Dateien viel kleiner sind.

Agenturprofil ansehen

Das Upload Tool gibt es sogar noch :smiley:

3 „Gefällt mir“

Hallo, wo lenkt Ihr da hin, bzw. wo gibt es das GB für 8 Cent?

Hey @felix.ries ,

danke dir. Dann ist es so, wie ich befürchtet habe und man muss wirklich in die einzelnen Dateien rein und den Pfad tauschen. Ich hatte gehofft du hättest einen globalen Weg gefunden in einem Controller oder sowas :slight_smile:

@Michael.L wir arbeiten da eng mit unserem Hoster www.creoline.com zusammen und haben bisher gute Erfahrungen auch in dem Bereich gemacht. Falls es interessant ist, können wir da sehr gerne bei unterstützen :slight_smile:

Matthias von der webimpact® GmbH
www.webimpact.io
webimpact GmbH Logo Banner PlentyONE Enterprise Partner
:envelope: office@webimpact.io
:telephone_receiver: +49 (0) 2974 77 999 99