<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: René</title>
    <description>The latest articles on DEV Community by René (@webgaudi).</description>
    <link>https://dev.to/webgaudi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3977825%2F778cd09b-bad2-40cb-a968-4037f2b08495.png</url>
      <title>DEV Community: René</title>
      <link>https://dev.to/webgaudi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/webgaudi"/>
    <language>en</language>
    <item>
      <title>Die unsichtbare Empfehlung</title>
      <dc:creator>René</dc:creator>
      <pubDate>Wed, 10 Jun 2026 13:46:43 +0000</pubDate>
      <link>https://dev.to/webgaudi/die-unsichtbare-empfehlung-4pi5</link>
      <guid>https://dev.to/webgaudi/die-unsichtbare-empfehlung-4pi5</guid>
      <description>&lt;p&gt;Eine Kundin erzählte uns kürzlich, wie sie ihren neuen Steuerberater gefunden hat. Nicht über Google, nicht über eine Empfehlung aus dem Bekanntenkreis. Sie hat ChatGPT gefragt: &lt;em&gt;"Welcher Steuerberater in Münster kennt sich mit E-Commerce aus?"&lt;/em&gt; Drei Namen kamen zurück. Einen davon hat sie angerufen.&lt;/p&gt;

&lt;p&gt;Zwei Dinge sind an dieser Geschichte bemerkenswert. Erstens: Die Kundin fand den Vorgang völlig normal. Zweitens: Die anderen Steuerberater in Münster werden nie erfahren, dass sie an diesem Tag nicht in Frage kamen. Es gab keine Suchergebnisseite, auf der sie weiter unten standen. Sie kamen schlicht nicht vor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Eine neue Art, gefunden zu werden
&lt;/h2&gt;

&lt;p&gt;Über zwei Jahrzehnte lang war die Frage klar: Wer bei Google auf Seite eins steht, bekommt die Anfragen. Diese Frage gilt weiterhin — aber sie hat Gesellschaft bekommen. ChatGPT, Perplexity, Googles KI-Übersichten: Immer häufiger spricht ein Assistent eine Empfehlung aus, statt zehn blaue Links anzuzeigen.&lt;/p&gt;

&lt;p&gt;Der Unterschied ist größer, als er zunächst wirkt. Eine Suchergebnisseite zeigt Optionen, und der Mensch wählt. Ein Assistent wählt vor — und nennt drei Namen, manchmal nur einen. Wer nicht genannt wird, existiert für diesen Kunden nicht. Es gibt kein "weiter unten" mehr, in dem man wenigstens noch sichtbar wäre.&lt;/p&gt;

&lt;h2&gt;
  
  
  Warum viele Websites für KI unsichtbar sind
&lt;/h2&gt;

&lt;p&gt;Die gute Nachricht zuerst: KI-Assistenten erfinden ihre Empfehlungen nicht. Sie lesen das Netz — Websites, Verzeichnisse, Bewertungen, Fachartikel. Wer dort klar und maschinenlesbar auftritt, wird gefunden. Wer nicht, bleibt stumm.&lt;/p&gt;

&lt;p&gt;Und genau hier scheitern viele Unternehmensseiten. Die typischen Gründe kennen wir aus unseren Audits:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Die Seite sagt nicht, was sie ist.&lt;/strong&gt; Ein Friseursalon, dessen Startseite nur "Willkommen" und ein Stimmungsbild zeigt, mag Menschen gefallen. Eine Maschine, die in Sekundenbruchteilen entscheidet, ob diese Seite die Frage &lt;em&gt;"guter Friseur für Locken in Köln"&lt;/em&gt; beantwortet, findet darin: nichts. Was Sie anbieten, für wen, und wo — das gehört in Text, nicht nur ins Gefühl.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Es fehlen strukturierte Daten.&lt;/strong&gt; Schema.org-Auszeichnungen (LocalBusiness, Öffnungszeiten, Leistungen, Bewertungen) sind das Vokabular, in dem Maschinen Unternehmen verstehen. Sie kosten nichts, sind unsichtbar für Besucher — und werden von den meisten Baukasten-Seiten schlicht weggelassen. Warum Vorlagen-Websites auch darüber hinaus an ihre Grenzen stoßen, haben wir im Beitrag &lt;a href="https://tinteundpixel.de/journal/website-baukasten-grenzen/" rel="noopener noreferrer"&gt;Tausend Betriebe, eine Vorlage&lt;/a&gt; beschrieben.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Die Seite ist technisch schwer lesbar.&lt;/strong&gt; Was sich nur per JavaScript zusammensetzt, in Sekunden lädt statt in Millisekunden, oder hinter Pop-ups versteckt, wird von Crawlern ungern und unvollständig gelesen. Schnelle, statisch ausgelieferte Seiten haben hier denselben Vorteil, den sie bei Google schon immer hatten — nur dass er jetzt doppelt zählt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Das Unternehmen existiert nur auf der eigenen Website.&lt;/strong&gt; KI-Modelle gewichten, was an mehreren Stellen übereinstimmend steht. Ein gepflegtes Google-Unternehmensprofil, Einträge in seriösen Branchenverzeichnissen, echte Bewertungen, vielleicht eine Erwähnung in der Lokalpresse — jedes dieser Signale bestätigt: Dieses Unternehmen gibt es wirklich, und es ist das, was es behauptet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Was sich für Sie nicht ändert
&lt;/h2&gt;

&lt;p&gt;Man könnte nun in Hektik verfallen und nach "KI-Optimierung" suchen wie 2005 nach Meta-Keywords. Unnötig. Denn das Bemerkenswerte ist: Fast alles, was eine Website für KI-Assistenten sichtbar macht, ist seit Jahren guter Handwerksstandard. Klare Inhalte, die Fragen Ihrer Kunden beantworten. Saubere Technik. Strukturierte Daten. Konsistente Einträge. Schnelle Ladezeiten — genau die Punkte, auf die wir bei &lt;a href="https://tinteundpixel.de/" rel="noopener noreferrer"&gt;Tinte&amp;amp;Pixel&lt;/a&gt; bei jedem Projekt von Beginn an achten.&lt;/p&gt;

&lt;p&gt;Wer seine Website in den letzten Jahren ordentlich gebaut hat, ist bereits gut aufgestellt. Wer sie als digitale Visitenkarte ohne Substanz betreibt, war schon bei Google im Nachteil — jetzt wird aus dem Nachteil Unsichtbarkeit.&lt;/p&gt;

&lt;p&gt;Unsere Schwesteragentur &lt;a href="https://webgaudi.at/" rel="noopener noreferrer"&gt;Webgaudi&lt;/a&gt; in Wien hat schon vor Jahren beschrieben, &lt;a href="https://webgaudi.at/blog/suchmaschinen-optimieren/" rel="noopener noreferrer"&gt;was sich an der Suchmaschinenoptimierung durch KI verändert hat&lt;/a&gt; — die Kernaussage gilt unverändert: Es gewinnt nicht, wer trickst, sondern wer verständlich ist. Für Menschen wie für Maschinen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ein einfacher Selbsttest
&lt;/h2&gt;

&lt;p&gt;Fragen Sie heute Abend ChatGPT, was es über Ihr Unternehmen weiß. Fragen Sie es, wen es für Ihre Leistung in Ihrer Stadt empfehlen würde. Die Antwort ist ein ehrlicher Spiegel Ihrer digitalen Präsenz — ehrlicher als jedes Ranking, weil es kein "Platz 8" gibt, mit dem man sich trösten könnte.&lt;/p&gt;

&lt;p&gt;Wenn Ihr Name fällt: gut gemacht. Wenn nicht, wissen Sie jetzt, woran es liegt. Und dass es sich beheben lässt. Erzählen Sie uns einfach &lt;a href="https://tinteundpixel.de/#kontakt" rel="noopener noreferrer"&gt;kurz von Ihrem Vorhaben&lt;/a&gt; — wir geben Ihnen eine ehrliche Einschätzung.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>web</category>
      <category>astro</category>
    </item>
    <item>
      <title>How We Ship 100/100 PageSpeed Sites for Small-Business Clients (Without a CMS)</title>
      <dc:creator>René</dc:creator>
      <pubDate>Wed, 10 Jun 2026 13:41:07 +0000</pubDate>
      <link>https://dev.to/webgaudi/how-we-ship-100100-pagespeed-sites-for-small-business-clients-without-a-cms-2oc6</link>
      <guid>https://dev.to/webgaudi/how-we-ship-100100-pagespeed-sites-for-small-business-clients-without-a-cms-2oc6</guid>
      <description>&lt;p&gt;Most small-business websites are slow. Not because the businesses don't care, but because the default stack they get sold — a heavyweight CMS, a page builder, twelve plugins — fights against performance from day one.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://webgaudi.at/" rel="noopener noreferrer"&gt;webgaudi.at&lt;/a&gt;, our small web studio in Vienna, we build sites for therapists, lawyers, electricians and restaurants. Tiny budgets, no dev team on the client side, and one hard promise we make: &lt;strong&gt;100/100 on PageSpeed Insights, mobile and desktop.&lt;/strong&gt; Here's the actual playbook — no secrets, just decisions that compound.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Static-first with Astro: ship zero JS by default
&lt;/h2&gt;

&lt;p&gt;The single biggest lever is architectural. A brochure site for a psychotherapist has maybe one interactive element (a contact form, an FAQ accordion). It does not need a client-side framework, and it definitely doesn't need a database rendering pages on every request.&lt;/p&gt;

&lt;p&gt;We use &lt;a href="https://astro.build/" rel="noopener noreferrer"&gt;Astro&lt;/a&gt; because its islands architecture makes "zero JavaScript" the default instead of an optimization:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;---
// FaqSection.astro — pure HTML/CSS, no JS shipped
const faqs = await getCollection('faq');
---
{faqs.map((faq) =&amp;gt; (
  &amp;lt;details&amp;gt;
    &amp;lt;summary&amp;gt;{faq.data.question}&amp;lt;/summary&amp;gt;
    &amp;lt;div set:html={faq.rendered.html} /&amp;gt;
  &amp;lt;/details&amp;gt;
))}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Native &lt;code&gt;&amp;lt;details&amp;gt;/&amp;lt;summary&amp;gt;&lt;/code&gt; gives you an accessible accordion for free. The temptation to reach for a React component here is real — resist it. Every island you don't ship is hydration cost you never pay.&lt;/p&gt;

&lt;p&gt;When we &lt;em&gt;do&lt;/em&gt; need interactivity, we scope it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;ContactForm client:visible /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;client:visible&lt;/code&gt; means the form's JS only loads when it scrolls into view. On a typical landing page, that's the difference between 0 KB and 40 KB of JS on initial load.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Images: the 80% problem
&lt;/h2&gt;

&lt;p&gt;Almost every failing Lighthouse audit we inherit comes down to images. Our rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Author in highest quality, let the build optimize.&lt;/strong&gt; Astro's &lt;code&gt;&amp;lt;Image /&amp;gt;&lt;/code&gt; component generates AVIF/WebP, correct &lt;code&gt;srcset&lt;/code&gt;, and explicit dimensions (no layout shift):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Image } from 'astro:assets';
import hero from '../assets/hero.jpg';

&amp;lt;Image src={hero} alt="..." widths={[400, 800, 1200]} format="avif" /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The LCP image gets &lt;code&gt;loading="eager"&lt;/code&gt; and &lt;code&gt;fetchpriority="high"&lt;/code&gt;.&lt;/strong&gt; Everything below the fold gets lazy-loaded. Getting this one attribute right is often worth 0.5–1s of LCP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No icon libraries.&lt;/strong&gt; Inline the 6 SVGs you actually use. A 200 KB icon font for a hamburger menu is how good scores die.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Fonts without the FOIT (and without the GDPR headache)
&lt;/h2&gt;

&lt;p&gt;We self-host fonts as subsetted WOFF2 with &lt;code&gt;font-display: swap&lt;/code&gt; and preload only the body font:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"preload"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"/fonts/inter-latin.woff2"&lt;/span&gt; &lt;span class="na"&gt;as=&lt;/span&gt;&lt;span class="s"&gt;"font"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"font/woff2"&lt;/span&gt; &lt;span class="na"&gt;crossorigin&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Side note for anyone building for EU clients: loading fonts from Google's CDN has been a legal problem since a 2022 German court ruling (LG München) — a visitor's IP gets transmitted to Google without consent. Self-hosting fixes performance &lt;em&gt;and&lt;/em&gt; compliance in one move. Two birds.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Edge delivery instead of a single origin server
&lt;/h2&gt;

&lt;p&gt;Static output means the whole site can live on a CDN. We deploy to an edge network so a site for a Viennese client loads just as fast for someone visiting from a hotel WiFi in Lisbon. TTFB consistently lands under 100ms — something a shared-hosting PHP origin can't match no matter how much you cache.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. The boring checklist that protects the score
&lt;/h2&gt;

&lt;p&gt;Performance regresses through a thousand small additions. Before every go-live:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lighthouse CI run on throttled mobile (the real-world case), not desktop&lt;/li&gt;
&lt;li&gt;No third-party scripts above the fold; analytics loads deferred and only after consent&lt;/li&gt;
&lt;li&gt;One critical CSS file under ~50 KB, no unused framework CSS (we purge aggressively)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;viewport&lt;/code&gt; meta, explicit width/height on all media, no render-blocking resources&lt;/li&gt;
&lt;li&gt;Accessibility pass: semantic landmarks, contrast, focus states — Lighthouse's a11y score is part of the 100/100 promise, not an afterthought&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What this means for clients (the part nobody measures)
&lt;/h2&gt;

&lt;p&gt;The interesting outcome isn't the green circle — it's behavior. Average load time across our portfolio is ~0.8s, and the bounce-rate difference compared to the WordPress sites we replace is dramatic. Studies keep showing mobile users abandon pages after roughly 4 seconds; for a small business where the website &lt;em&gt;is&lt;/em&gt; the sales funnel, that's lost revenue, not a vanity metric.&lt;/p&gt;

&lt;p&gt;If you're a freelancer or studio serving small businesses, my honest pitch: static-first isn't a constraint, it's a feature you can sell. Faster sites, lower hosting costs, smaller attack surface, no plugin update treadmill.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I run &lt;a href="https://webgaudi.at/" rel="noopener noreferrer"&gt;webgaudi.at&lt;/a&gt;, a small web studio in Vienna building fast, GDPR-compliant sites for SMBs in Austria, Germany and Switzerland. Happy to answer questions about the stack in the comments — especially if you're fighting your own PageSpeed battles.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>astro</category>
      <category>performance</category>
      <category>seo</category>
    </item>
  </channel>
</rss>
