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 Broken internal links (4xx)
2 page(s) linked from your own site do not exist. Visitors and crawlers hit dead ends and link value is lost.
Evidence: https://moewenbohne.example/versand/ → https://moewenbohne.example/alt-lieferung/ (404); https://moewenbohne.example/produkt/alte-sorte-2024/ (404)
Affected pages (2)
- https://moewenbohne.example/versand/ → https://moewenbohne.example/alt-lieferung/ (404)
- https://moewenbohne.example/produkt/alte-sorte-2024/ (404)
Fix: Fix the link target or redirect the old address to the right page.
https://moewenbohne.example/versand/ contains a link to https://moewenbohne.example/alt-lieferung/, which returns a 404. Open that page in the CMS and replace the link target with the current delivery information page [gap: the current target URL is not named in the facts]. If the page has only moved, also set up a 301 redirect from /alt-lieferung/ to the new address. For https://moewenbohne.example/produkt/alte-sorte-2024/ (also a 404), the facts do not name the linking page [gap: source page of the link]; find it by crawl or by searching the CMS for the link text or the URL. Then decide: if there is a successor product, redirect to it with a 301 and adjust the link. If there is none, remove the link or point to the matching product category. Afterwards, crawl again to check that neither link leads to a 404 any more.
Code to add
# Example Apache (.htaccess), adjust the target
Redirect 301 /alt-lieferung/ /[neue-lieferseite]/
Redirect 301 /produkt/alte-sorte-2024/ /[nachfolgeprodukt-oder-kategorie]/
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 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 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]