My fellow makers! • Launch day is over and we finished at rank 1 !! see our launch ↗
LaunchAmp

Example report · SEO-Check

moewenbohne.example

Example report. The company and its website are made up – everything else looks exactly like your report.

Check your own website →

Overall score

60/ 100
Pages read
14
Findings
41
critical or high
5
Checked
October 12, 2026, 23:34

moewenbohne.example scores 60 out of 100. 14 pages were read, there are 41 findings, 5 of them critical or high. Most worth fixing: Images without alt text.

Score by area

AreaWeightScoreStatusAssessment
Technical SEO22 %32weak6 findings, 3 of them critical or high. Most important: Broken internal links (4xx).
Content quality23 %53weak16 findings. Most important: Articles without a named author.
On-page SEO20 %67room to improve6 findings. Most important: Identical titles on several pages.
Structured data10 %78room to improve4 findings. Most important: Product markup without offer (price, availability).
Performance10 %65room to improve5 findings. Most important: Render-blocking scripts in the head.
AI search readiness10 %100goodNo issues in the points checked.
Images5 %53weak4 findings, 2 of them critical or high. Most important: Images without alt text.

The most important problems

  1. Images without alt text – 5 of 8 images have no alt attribute.
  2. Broken internal links (4xx) – 2 page(s) linked from your own site do not exist.
  3. Mixed content: HTTPS pages load HTTP resources – 1 page(s) load images, scripts or styles over plain HTTP.
  4. Sitemap lists addresses that do not exist – 1 sitemap URL(s) answer with an error status.
  5. Oversized images – 1 image(s) over 500 KB and 1 over 200 KB (of 2 measured).

Quick wins

  1. Images without alt text – 5 of 8 images have no alt attribute.
  2. Broken internal links (4xx) – 2 page(s) linked from your own site do not exist.
  3. Mixed content: HTTPS pages load HTTP resources – 1 page(s) load images, scripts or styles over plain HTTP.
  4. Sitemap lists addresses that do not exist – 1 sitemap URL(s) answer with an error status.
  5. Articles without a visible date – 3 article(s) show no publication or update date.

Measured values

What was read and measured – the basis of the findings below.

Server and home page

Time to first byte
1.10 s
HTML size
3 KB
Compression
gzip
Cache-Control
not set
Redirects from http://
1

Speed (mobile, lab)

PageSpeed
71 / 100
LCP
3.60 s
CLS
0.140
TBT
380 ms

Security headers

HSTS
no
X-Content-Type-Options
no
X-Frame-Options / frame-ancestors
no
Referrer-Policy
no
Content-Security-Policy
no

robots.txt, sitemap, AI

robots.txt
present
Sitemap
13 addresses in 1 file(s)
llms.txt
missing
Redirects found
0
Languages
de

AI crawlers in robots.txt

OAI-SearchBot
partly
ChatGPT-User
partly
PerplexityBot
partly
Claude-SearchBot
partly
Claude-User
partly
GPTBot
partly
ClaudeBot
partly
anthropic-ai
partly
CCBot
partly
Google-Extended
partly
Bytespider
partly
cohere-ai
partly

Images

Images found
8
Without alt text
5
File sizes measured
2
/bilder/hero.jpg
762 KB
/bilder/charge.jpg
303 KB

Structured data found

Product
2 page(s)

Findings and fixes

Sorted by priority. Text in [square brackets] marks gaps to fill in. Every critical or high finding was measured a second time from freshly loaded pages: 5 checked, 5 confirmed, 0 struck out.

High – within a week · 5

high Images without alt text

5 of 8 images have no alt attribute. Search engines and screen readers cannot tell what the picture shows; Google Images ranks mainly by alt text.

Evidence: https://moewenbohne.example/ → /bilder/hero.jpg; https://moewenbohne.example/ → /bilder/charge.jpg; https://moewenbohne.example/produkt/aethiopien-guji/ → /bilder/guji-1.jpg; https://moewenbohne.example/produkt/aethiopien-guji/ → /bilder/guji-2.jpg

Affected pages (5)
  • https://moewenbohne.example/ → /bilder/hero.jpg
  • https://moewenbohne.example/ → /bilder/charge.jpg
  • https://moewenbohne.example/produkt/aethiopien-guji/ → /bilder/guji-1.jpg
  • https://moewenbohne.example/produkt/aethiopien-guji/ → /bilder/guji-2.jpg
  • https://moewenbohne.example/produkt/aethiopien-guji/ → /bilder/IMG_4021.jpg

Fix: Describe each picture in 10–125 characters; use alt="" only for pure decoration.

Open the templates or the editor of the home page and of the product page 'aethiopien-guji' and add an alt attribute to each affected image. Describe briefly (10–125 characters) what is actually shown; what the images really look like is not clear from the facts, so the texts below are placeholders you have to adapt. For pure decoration, set alt="" so screen readers skip the image. The evidence names four images (hero.jpg, charge.jpg, guji-1.jpg, guji-2.jpg); the fifth affected image is [gap: not named in the facts] and has to be found when you go through the two pages. Afterwards, check in the page source that all 8 images have an alt attribute.

Code to add

<img src="/bilder/hero.jpg" alt="[description of the hero image, e.g. subject and context]">
<img src="/bilder/charge.jpg" alt="[Beschreibung der Charge, was auf dem Bild zu sehen ist]">
<img src="/bilder/guji-1.jpg" alt="[Description: Ethiopia Guji, view 1]">
<img src="/bilder/guji-2.jpg" alt="[Description: Ethiopia Guji, view 2]">

high Mixed content: HTTPS pages load HTTP resources

1 page(s) load images, scripts or styles over plain HTTP. Browsers block or warn, and the padlock disappears.

Evidence: https://moewenbohne.example/blog/handfilter-anleitung/ (1)

Affected pages (1)
  • https://moewenbohne.example/blog/handfilter-anleitung/ (1)

Fix: Change the resource addresses to https://.

high Sitemap lists addresses that do not exist

1 sitemap URL(s) answer with an error status. A sitemap should contain only working pages.

Evidence: https://moewenbohne.example/produkt/alte-sorte-2024/ (404)

Affected pages (1)
  • https://moewenbohne.example/produkt/alte-sorte-2024/ (404)

Fix: Remove the dead addresses or restore the pages.

The address https://moewenbohne.example/produkt/alte-sorte-2024/ returns status 404 but is listed in the sitemap. First check whether the page was removed on purpose. If so, take the entry out of the sitemap. If the sitemap is generated by a CMS or plugin, remove or unpublish the product there so the sitemap rebuilds itself. [gap: the CMS or sitemap plugin in use is not known.] If the page was deleted by mistake, restore it so it answers with status 200. If there is a successor product, also set up a 301 redirect from the old path to the new page. Afterwards, fetch the sitemap and the address again and check that the entry is gone and that no other addresses with an error status are listed.

Code to add

<!-- Remove this entry from sitemap.xml: -->
<url>
  <loc>https://moewenbohne.example/produkt/alte-sorte-2024/</loc>
</url>

high Oversized images

1 image(s) over 500 KB and 1 over 200 KB (of 2 measured). They slow the page, especially on mobile.

Evidence: /bilder/hero.jpg (762 KB); /bilder/charge.jpg (303 KB)

Fix: Compress to WebP at ~80 % quality and scale to the displayed size.

Two images are too large: /bilder/hero.jpg (762 KB) and /bilder/charge.jpg (303 KB). First check at what width each image is actually displayed on the page [gap: display size is missing in the facts] and scale the file to that width, for high-resolution displays at most to double. Then export both images as WebP at about 80 % quality, for example with Squoosh or the command-line tool cwebp. Replace the files or point the HTML to the new versions, and keep JPG as a fallback for older browsers. Give width and height in the img tag so the layout does not jump. The hero image, if it is visible right on load, should not be delayed with loading="lazy"; for charge.jpg lazy loading makes sense if it sits further down. Measure the file sizes again after the export.

Code to add

cwebp -q 80 -resize 1600 0 bilder/hero.jpg -o bilder/hero.webp
cwebp -q 80 -resize 800 0 bilder/charge.jpg -o bilder/charge.webp

<picture>
  <source srcset="/bilder/hero.webp" type="image/webp">
  <img src="/bilder/hero.jpg" width="1600" height="[height missing]" alt="[Alt-Text fehlt]">
</picture>

Medium – within a month · 26

medium Articles without a named author

3 article(s) show no author. Who wrote it, and why they know the subject, is the first thing E-E-A-T asks.

Evidence: https://moewenbohne.example/blog/; https://moewenbohne.example/blog/kaffee-lagern/; https://moewenbohne.example/blog/handfilter-anleitung/

Affected pages (3)
  • https://moewenbohne.example/blog/
  • https://moewenbohne.example/blog/kaffee-lagern/
  • https://moewenbohne.example/blog/handfilter-anleitung/

Fix: Add a byline with a short bio and Person markup.

Name a responsible person for every article and show them visibly right under the H1, e.g. “By [name], [role]” with the date. Below that or at the end of the article, add a short author box of 2 to 3 sentences on why the person knows the topic (e.g. roasting, barista experience) and link to a dedicated author page. I do not know the name, qualification and author page URL: [author name], [qualification], [author page URL]. On the overview page /blog/, the author name should appear per teaser, since it lists articles. In addition, add the person as schema.org markup (Article with an author of type Person) in the page source. The details in the markup must match the visible text. Example for the article “Kaffee richtig lagern”:

Code to add

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Kaffee richtig lagern: So bleibt das Aroma frisch",
  "mainEntityOfPage": "https://moewenbohne.example/blog/kaffee-lagern/",
  "datePublished": "[Publication date]",
  "author": {
    "@type": "Person",
    "name": "[Autorenname]",
    "jobTitle": "[Rolle]",
    "url": "[Autorenseiten-URL]"
  }
}
</script>

medium Articles without a visible date

3 article(s) show no publication or update date. Readers and AI systems judge freshness by it.

Evidence: https://moewenbohne.example/blog/; https://moewenbohne.example/blog/kaffee-lagern/; https://moewenbohne.example/blog/handfilter-anleitung/

Affected pages (3)
  • https://moewenbohne.example/blog/
  • https://moewenbohne.example/blog/kaffee-lagern/
  • https://moewenbohne.example/blog/handfilter-anleitung/

Fix: Show "published" and "updated" dates (<time>) and set datePublished/dateModified.

medium Identical titles on several pages

2 pages share 1 title(s), e.g. "kaffee kaufen – möwenbohne". They compete for the same query (keyword cannibalisation); usually only one of them ranks.

Evidence: https://moewenbohne.example/kaffee/ = https://moewenbohne.example/espresso/

Affected pages (2)
  • https://moewenbohne.example/kaffee/
  • https://moewenbohne.example/espresso/

Fix: Give every page a title that names what is specific to it.

medium Pages that no other page links to (orphans)

2 sitemap page(s) are not linked from any crawled page. Crawlers find them only through the sitemap, and they get no link value.

Evidence: https://moewenbohne.example/produkt/alte-sorte-2024/; https://moewenbohne.example/warenkorb/

Affected pages (2)
  • https://moewenbohne.example/produkt/alte-sorte-2024/
  • https://moewenbohne.example/warenkorb/

Fix: Link them from related pages and the navigation.

medium Thin content

2 indexable page(s) have fewer than 150 words of main text. Google values pages that answer the query completely; very thin pages are often left out of the index.

Evidence: https://moewenbohne.example/blog/ (143); https://moewenbohne.example/produkt/hausmischung/ (75)

Affected pages (2)
  • https://moewenbohne.example/blog/ (143)
  • https://moewenbohne.example/produkt/hausmischung/ (75)

Fix: Expand with what visitors ask, or merge/noindex the page. Word count is no goal in itself – coverage is.

medium Product markup without offer (price, availability)

2 product page(s) declare a Product but no Offer. Google needs price and availability for product rich results.

Evidence: https://moewenbohne.example/produkt/aethiopien-guji/; https://moewenbohne.example/produkt/kolumbien-huila/

Affected pages (2)
  • https://moewenbohne.example/produkt/aethiopien-guji/
  • https://moewenbohne.example/produkt/kolumbien-huila/

Fix: Add an Offer with price, priceCurrency and availability.

medium H1 heading missing

1 page(s) have no H1. The H1 tells visitors and search engines what the page is about.

Evidence: https://moewenbohne.example/ueber-uns/

Affected pages (1)
  • https://moewenbohne.example/ueber-uns/

Fix: Add exactly one H1 per page with the main topic.

medium Empty phrases (assessment)

The claim "leading provider of holistic coffee enjoyment" is unproven and says nothing concrete. It also appears twice on the page.

Evidence: Quote from /: “Wir sind der führende Anbieter für ganzheitliche Kaffeegenüsse.”

Affected pages (1)
  • https://moewenbohne.example/

Fix: Delete the sentence and put a verifiable statement in its place, for example: "Roasting in Lüneburg since [gap], [gap] varieties, roasted in batches of [gap] kg".

medium Claims without evidence (assessment)

Neither farms nor countries, certificates or roasting parameters are named. "Gentle" and "moderate temperature" remain claims. "Small batches" is not quantified either.

Evidence: Quote from /: “Alle Bohnen beziehen wir von Farmen, deren Anbauweise und Erntebedingungen wir kennen, und rösten sie schonend bei moderater Temperatur.”

Affected pages (1)
  • https://moewenbohne.example/

Fix: Name specific farms or cooperatives with their region, the batch size in kg and the roasting temperature or duration. Add seals or direct-trade evidence if available: [gap].

medium Visitor questions left open (assessment)

The sample packs lack contents, quantity and price. Shipping costs, delivery time and roast date are not stated either. The page promises "three varieties" but describes only two.

Evidence: Quote from /: “Wer sich erst orientieren möchte, greift zu einem unserer Probierpakete. Darin stecken kleine Mengen mehrerer Röstungen”

Affected pages (1)
  • https://moewenbohne.example/

Fix: List varieties, grams and price for each sample pack. State shipping costs, delivery time and whether the roast date is on the bag. Describe the third variety or correct the number.

medium Claims without evidence (assessment)

The figure is itself admitted to be unproven and cannot be measured. It reads like a marketing claim and weakens the credibility of the otherwise factual tips.

Evidence: Quote from /blog/kaffee-lagern/: “Wir behaupten gern, dass richtige Lagerung bis zu 80 Prozent mehr Aroma bringt.”

Affected pages (1)
  • https://moewenbohne.example/blog/kaffee-lagern/

Fix: Delete the percentage or replace it with a concrete observation, e.g. the result of a blind tasting: [gap: number of samples, storage time, result]. Alternatively cite a source on aroma ageing.

medium Visitor questions left open (assessment)

The question of shelf life stays vague: "first weeks" and "a few days" are imprecise, and in the end it says four to six weeks. The time in the freezer is missing too.

Evidence: Quote from /blog/kaffee-lagern/: “Kaffee schmeckt am besten in den ersten Wochen nach dem Rösten, zumeist nach einer kurzen Ruhephase von wenigen Tagen.”

Affected pages (1)
  • https://moewenbohne.example/blog/kaffee-lagern/

Fix: Add concrete figures: resting phase in days, best drinking window in weeks, shelf life frozen in months [gap: the roastery's values]. Add a small table.

medium Interchangeable text (assessment)

The section repeats the main text almost completely and switches from formal to informal address. It looks duplicated and generic. There is also a conflicting statement on freezing (instructions at the top, a warning against it at the bottom).

Evidence: Quote from /blog/kaffee-lagern/: “Die wichtigsten RegelnKaffee ist ein Naturprodukt, das nach dem Rösten langsam an Aroma verliert.”

Affected pages (1)
  • https://moewenbohne.example/blog/kaffee-lagern/

Fix: Shorten the summary to a brief checklist with consistent address and align the freezing statement. Add your own details instead, e.g. the roast date on the Möwenbohne bag and a suitable storage tin recommendation [gap].

medium Visitor questions left open (assessment)

Grind size is named as the most important lever but is only described with a comparison. Anyone who owns a particular grinder does not learn which setting to choose.

Evidence: Quote from /blog/handfilter-anleitung/: “Für den Handfilter eignet sich ein mittlerer Mahlgrad, etwa in der Körnung von grobem Meersalz.”

Affected pages (1)
  • https://moewenbohne.example/blog/handfilter-anleitung/

Fix: Add reference values for common hand grinders, for example click counts or scale values [gap], and name the grinders the values refer to.

medium Unclear offer (assessment)

The page refers to "our varieties" but does not name a single one. A link or a recommendation of which roast suits hand filter brewing is missing too. The reader does not know where to get the coffee.

Evidence: Quote from /blog/handfilter-anleitung/: “Probiere dich mit Ruhe durch unsere Sorten, drehe nur an einer Variable zugleich und vertraue deinem Geschmack.”

Affected pages (1)
  • https://moewenbohne.example/blog/handfilter-anleitung/

Fix: Name one or two specific filter coffees from Möwenbohne with a link to the shop. Add the recommended brewing values, such as dose and temperature [gap].

medium Claims without evidence (assessment)

The statement about the roasting is a pure claim. It does not say how the coffee is roasted or how to recognise the result.

Evidence: Quote from /blog/handfilter-anleitung/: “Bei der Möwenbohne in Lüneburg rösten wir unsere Kaffees so, dass sie im Filter klar, süß und angenehm saftig werden.”

Affected pages (1)
  • https://moewenbohne.example/blog/handfilter-anleitung/

Fix: Describe concretely how you roast for filter, for example roast level and roasting time [gap], and give an example with tasting notes from the range.

medium Claims without evidence (assessment)

The quality statement remains a pure claim. Nowhere does it say where the green coffee comes from, how it is roasted or how the standards show in practice.

Evidence: Quote from /ueber-uns/: “Wir stellen höchste Ansprüche an Auswahl, Röstung und Verpackung, denn nur so wird aus einer Bohne ein Genussmoment, den man nicht vergisst.”

Affected pages (1)
  • https://moewenbohne.example/ueber-uns/

Fix: Name concrete facts: countries of origin and growing partners [gap], roasting method and batch size [gap], roast date on the pack [gap] and, if any, certificates or ratings.

medium Unclear offer (assessment)

The page tells the founding story but does not say which products exist (varieties, beans or ground, subscriptions), where it ships and who the coffee is for.

Evidence: Quote from /ueber-uns/: “Aus dem Schuppen wurde eine kleine Rösterei mit eigenem Lager, aus zwei Menschen ein Team, das sich gemeinsam um jede einzelne Bestellung kümmert.”

Affected pages (1)
  • https://moewenbohne.example/ueber-uns/

Fix: Add a section on the range with examples [gap], delivery countries and shipping terms [gap], and a link to the shop.

medium Empty phrases (assessment)

Phrases like passion, enthusiasm and moment of enjoyment are interchangeable and say nothing verifiable about the roastery.

Evidence: Quote from /ueber-uns/: “Wer bei uns bestellt, wird Teil einer Geschichte, die mit einem Schuppen, einer Möwe und einer großen Leidenschaft begann und noch lange nicht zu Ende erzählt ist.”

Affected pages (1)
  • https://moewenbohne.example/ueber-uns/

Fix: Replace them with concrete details, for example how many kilos are roasted per batch [gap], how the team works and which customer feedback has led to changes.

medium No Organization/LocalBusiness markup on the home page

The home page does not describe who is behind the site in machine-readable form. This is the basis for knowledge panels and for AI systems recognising your brand.

Evidence: Startseiten-Typen: keine

Affected pages (1)
  • https://moewenbohne.example/

Fix: Add Organization (or LocalBusiness) JSON-LD with name, url, logo and sameAs.

medium Render-blocking scripts in the head

1 page(s) load three or more scripts in <head> without async/defer. They stop the page from appearing until downloaded and run (counted from real <script> tags, not comments).

Evidence: https://moewenbohne.example/ (4)

Affected pages (1)
  • https://moewenbohne.example/ (4)

Fix: Add defer or async, or move scripts to the end of <body>.

Code to add

<script src="/app.js" defer></script>

medium Largest Contentful Paint too slow

The main content appears after 3.6 s on a simulated mobile connection (target: under 2.5 s).

Evidence: PageSpeed Insights (mobil, Labor): LCP 3.60 s, CLS 0.140, TBT 380 ms, Score 71

Affected pages (1)
  • https://moewenbohne.example/

Fix: Compress and preload the largest image, reduce render-blocking resources, speed up the server.

medium Layout shifts while loading

Cumulative Layout Shift is 0.140 (target: under 0.1). Content jumps as images or fonts load.

Evidence: PageSpeed Insights (mobil, Labor): LCP 3.60 s, CLS 0.140, TBT 380 ms, Score 71

Affected pages (1)
  • https://moewenbohne.example/

Fix: Set width and height on images and reserve space for embeds and ads.

medium JavaScript blocks the page (interaction delay)

Total Blocking Time is 380 ms in the lab (target: under 200 ms). This is the lab proxy for INP; users feel a sluggish page.

Evidence: PageSpeed Insights (mobil, Labor): LCP 3.60 s, CLS 0.140, TBT 380 ms, Score 71

Affected pages (1)
  • https://moewenbohne.example/

Fix: Split or defer heavy scripts; remove unused third-party code.

medium Security headers missing

The home page response lacks: HSTS (Strict-Transport-Security), X-Content-Type-Options, X-Frame-Options / CSP frame-ancestors, Referrer-Policy, Content-Security-Policy. They protect visitors; HSTS also prevents downgrade to HTTP.

Evidence: Gelesene Header der Startseite: content-type, content-encoding

Fix: Set the headers in the server configuration.

Code to add

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"

medium Images without width and height

4 of 8 images lack width/height. The browser cannot reserve space, so the layout jumps while loading (CLS).

Evidence: 4/8

Fix: Add width and height attributes (or CSS aspect-ratio).

Code to add

<img src="…" alt="…" width="800" height="600">

Low – when there is time · 10

low Open Graph tags missing or incomplete

14 page(s) lack og:title or og:image. Shared links on LinkedIn, WhatsApp or Slack show up without a preview image.

Evidence: https://moewenbohne.example/; https://moewenbohne.example/kaffee/; https://moewenbohne.example/espresso/; https://moewenbohne.example/blog/

Affected pages (14)
  • https://moewenbohne.example/
  • https://moewenbohne.example/kaffee/
  • https://moewenbohne.example/espresso/
  • https://moewenbohne.example/blog/
  • https://moewenbohne.example/ueber-uns/
  • https://moewenbohne.example/versand/
  • https://moewenbohne.example/produkt/aethiopien-guji/
  • https://moewenbohne.example/produkt/kolumbien-huila/
  • https://moewenbohne.example/produkt/hausmischung/
  • https://moewenbohne.example/blog/kaffee-lagern/
  • https://moewenbohne.example/impressum/
  • https://moewenbohne.example/datenschutz/
  • https://moewenbohne.example/kontakt/
  • https://moewenbohne.example/blog/handfilter-anleitung/

Fix: Add og:title, og:description and og:image (1200×630).

Code to add

<meta property="og:title" content="[Titel]">
<meta property="og:description" content="[Beschreibung]">
<meta property="og:image" content="https://moewenbohne.example/bild.jpg">

low Meta descriptions too short or too long

8 under 70 and 0 over 170 characters.

Evidence: https://moewenbohne.example/kaffee/ (34); https://moewenbohne.example/blog/ (59); https://moewenbohne.example/ueber-uns/ (56); https://moewenbohne.example/versand/ (53)

Affected pages (8)
  • https://moewenbohne.example/kaffee/ (34)
  • https://moewenbohne.example/blog/ (59)
  • https://moewenbohne.example/ueber-uns/ (56)
  • https://moewenbohne.example/versand/ (53)
  • https://moewenbohne.example/produkt/hausmischung/ (46)
  • https://moewenbohne.example/impressum/ (25)
  • https://moewenbohne.example/datenschutz/ (36)
  • https://moewenbohne.example/kontakt/ (20)

Fix: Aim for 120–160 characters.

low Crawled pages missing from the sitemap

3 indexable page(s) found by following links are not in the sitemap.

Evidence: https://moewenbohne.example/impressum/; https://moewenbohne.example/datenschutz/; https://moewenbohne.example/kontakt/

Affected pages (3)
  • https://moewenbohne.example/impressum/
  • https://moewenbohne.example/datenschutz/
  • https://moewenbohne.example/kontakt/

Fix: Add them, or set them to noindex if they should not rank.

low Articles without Article markup

3 article(s) have no Article/BlogPosting markup with author and dates.

Evidence: https://moewenbohne.example/blog/; https://moewenbohne.example/blog/kaffee-lagern/; https://moewenbohne.example/blog/handfilter-anleitung/

Affected pages (3)
  • https://moewenbohne.example/blog/
  • https://moewenbohne.example/blog/kaffee-lagern/
  • https://moewenbohne.example/blog/handfilter-anleitung/

Fix: Add Article JSON-LD with headline, author, datePublished.

low Meta description missing

1 of 14 pages have no meta description. Google writes its own snippet and the click rate suffers.

Evidence: https://moewenbohne.example/produkt/kolumbien-huila/

Affected pages (1)
  • https://moewenbohne.example/produkt/kolumbien-huila/

Fix: Write 120–160 characters per page that promise what the visitor gets.

low The home page has little text

The home page offers fewer than 300 words. Search engines and AI assistants need to read what you offer, for whom and where.

Evidence: https://moewenbohne.example/ (287)

Affected pages (1)
  • https://moewenbohne.example/ (287)

Fix: Add a short section: what, for whom, where, why you.

low HTML without cache headers

The home page is delivered without Cache-Control. Browsers and CDNs cannot reuse it, so repeat visits are slower than needed.

Evidence: Cache-Control: (leer)

Affected pages (1)
  • https://moewenbohne.example/

Fix: Set a short Cache-Control for HTML (e.g. max-age=300) and a long one for static files.

Code to add

Header set Cache-Control "public, max-age=300"

low All sitemap dates are identical

Every <lastmod> shows the same date, so it carries no information about what changed.

Evidence: lastmod: 2026-01-15

Fix: Output the real modification date per page.

low Postal address found, but no LocalBusiness markup

The pages show a street address, yet no LocalBusiness (or subtype) markup tells search engines where you are, when you are open and how to reach you.

Evidence: Anschrift im Text erkannt; Typen: product

Fix: Add LocalBusiness JSON-LD with address, telephone, openingHours and geo.

Code to add

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "[Firmenname]",
  "address": {"@type": "PostalAddress", "streetAddress": "[Street]", "postalCode": "[PLZ]", "addressLocality": "[Ort]", "addressCountry": "DE"},
  "telephone": "[Telefon]",
  "openingHours": "Mo-Fr 09:00-17:00"
}
</script>

low JPEG/PNG without modern formats

8 image(s) are served as JPEG/PNG without a WebP/AVIF alternative (no <picture>, no srcset). WebP is typically 25–35 % smaller.

Evidence: hero.jpg, charge.jpg, guji-1.jpg, guji-2.jpg

Fix: Convert to WebP/AVIF.

Notes – no action needed · 2

note Articles shorter than the usual coverage guide

2 article(s) have under 800 words. This is a guide for topical coverage, not a ranking factor.

Evidence: https://moewenbohne.example/blog/kaffee-lagern/ (792); https://moewenbohne.example/blog/handfilter-anleitung/ (547)

Affected pages (2)
  • https://moewenbohne.example/blog/kaffee-lagern/ (792)
  • https://moewenbohne.example/blog/handfilter-anleitung/ (547)

Fix: Check whether the question is answered fully.

note No llms.txt

There is no /llms.txt. Google and others state it is not a ranking or citation lever today; it is reported for completeness only.

Evidence: https://moewenbohne.example/llms.txt → 404

Fix: Optional: add a short overview of your key pages.

Code to add

# [Firmenname]
> [One sentence: what, for whom, where]

## Wichtige Seiten
- [Leistungen](https://moewenbohne.example/leistungen): [Beschreibung]

Pages read

AddressStatusTitleWordsDepthCanonical
/200Möwenbohne – Kaffeerösterei aus Lüneburg2870self
/kaffee/200Kaffee kaufen – Möwenbohne2821self
/espresso/200Kaffee kaufen – Möwenbohne2481self
/blog/200Magazin – Möwenbohne1431self
/ueber-uns/200Über uns – Möwenbohne2891self
/versand/200Versand & Lieferzeiten – Möwenbohne1971self
/produkt/aethiopien-guji/200Äthiopien Guji – Möwenbohne2281self
/produkt/kolumbien-huila/200Kolumbien Huila – Möwenbohne2121self
/produkt/hausmischung/200Hausmischung – Möwenbohne751self
/blog/kaffee-lagern/200Kaffee richtig lagern: So bleibt das Aroma frisch7921self
/impressum/200Impressum – Möwenbohne551self
/datenschutz/200Datenschutz – Möwenbohne2251self
/kontakt/200Kontakt – Möwenbohne641self
/blog/handfilter-anleitung/200Handfilter-Anleitung in sechs Schritten5472self
/alt-lieferung/404 ← /versand/
/produkt/alte-sorte-2024/404

More pages were found than read: 16.

Not checked

What could not be measured is never reported as “fine”.

  • Search Console, Analytics and real search rankings (needs access to your accounts)
  • Backlinks and link quality (needs a paid link database)
  • Rendered screenshots, touch-target size and font size (needs a real browser)
  • IndexNow (the key file name cannot be guessed from outside)
  • Google Business Profile, citations and reviews (local SEO off your own site)
  • Whether AI assistants recommend your brand – that is the GEO check, a separate product
  • Page type versus search results (SXO): not enough verified results
  • 1 page(s) are blocked for our reader by your robots.txt
  • Content assessment covers 4 page(s); the rule-based checks cover all 14 pages read

Method

Checked on October 12, 2026 by an AI agent developed by LaunchAmp, using Claude, which reads the website the way a search engine does and rates technology, content, structured data, load time and readiness for AI search. Every finding rests on a measurement or proof from this run. Search engines and AI systems keep changing how they rate; an audit is a snapshot – the trend is what counts.

Convinced by the report?

Run your own check now for €9, once, no subscription.