<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title></title>
	<atom:link href="https://viktorpasztor.de/en/feed/" rel="self" type="application/rss+xml" />
	<link>https://viktorpasztor.de</link>
	<description></description>
	<lastBuildDate>Fri, 21 Aug 2026 23:36:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://viktorpasztor.de/wp-content/uploads/2026/08/favicon-512x512-viktor-pasztor-indigo-150x150.png</url>
	<title></title>
	<link>https://viktorpasztor.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Pagination and SEO: How to Set Up Blog Archive Pages Correctly</title>
		<link>https://viktorpasztor.de/en/pagination-seo/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 21:57:16 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/pagination-seo/</guid>

					<description><![CDATA[Guide · Pagination Pagination and SEO: How to Set Up Blog Archive Pages Correctly By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 5 min Short answer Three rules are enough for clean blog pagination Three rules apply to paginated blog archives: every archive page gets its own URL with a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · Pagination</p>
    <h1 class="lp-hero__title">Pagination and SEO: How to Set Up Blog Archive Pages Correctly</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 5 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>Three rules are enough for clean blog pagination</h2>
    <p>Three rules apply to paginated blog archives: every archive page gets its own URL with a self-canonical, the pages are connected via normal HTML links, and no archive page is set to noindex. Google stopped evaluating the rel=&#8221;prev&#8221; and rel=&#8221;next&#8221; markups in March 2019 – whoever still maintains them is maintaining dead markup.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#was-paginierung-bedeutet">What pagination means in a blog</a></li>
        <li><a href="#drei-regeln">The three rules for clean blog pagination</a></li>
        <li><a href="#rel-prev-next">rel=&#8221;prev&#8221; and rel=&#8221;next&#8221;: no effect since 2019</a></li>
        <li><a href="#regeln-ueberblick">Pagination: the rules at a glance</a></li>
        <li><a href="#blog-archiv-shop-kategorie">A blog archive is not a shop category</a></li>
        <li><a href="#praxis-checkliste">Practice: how to check your pagination</a></li>
        <li><a href="#haeufige-fehler">Common pagination mistakes</a></li>
        <li><a href="#faq">Frequently asked questions on pagination</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="was-paginierung-bedeutet">
  <div class="lp-wrap">
    <div class="lp-section__label">Context</div>
    <h2>What pagination means in a blog</h2>
    <p>As soon as a blog has more posts than fit on one overview page, pagination arises: /seo-blog/, /seo-blog/page/2/, /seo-blog/page/3/ and so on. WordPress generates this structure automatically – and that&#8217;s exactly why it&#8217;s rarely configured deliberately. This shows up regularly in audits: archive pages set to noindex by plugin default or all pointing their canonical to page 1.</p>
    <p>Meanwhile, the canonical tag is gaining ground industry-wide: in 2024, 65 percent of mobile-crawled pages used it, up from just 61 percent in 2022 (Web Almanac 2024, HTTP Archive).</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 400" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Bar chart: canonical tag usage 2022 versus 2024, mobile 61 to 65 percent, desktop 59 to 69 percent, source Web Almanac 2024">
        <rect x="0" y="0" width="900" height="400" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="399" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="24" font-weight="bold" fill="#000000">Canonical tag usage: 2022 vs 2024</text>
        <text x="40" y="74" font-size="14" fill="#404040">Share of crawled pages with rel=canonical, in percent</text>
        <g stroke="rgba(128,128,128,0.25)" stroke-width="1">
          <line x1="340" y1="110" x2="340" y2="305"></line>
          <line x1="440" y1="110" x2="440" y2="305"></line>
          <line x1="540" y1="110" x2="540" y2="305"></line>
          <line x1="640" y1="110" x2="640" y2="305"></line>
          <line x1="740" y1="110" x2="740" y2="305"></line>
          <line x1="840" y1="110" x2="840" y2="305"></line>
        </g>
        <g font-size="12" fill="#404040" text-anchor="middle">
          <text x="340" y="325">0 %</text>
          <text x="440" y="325">20 %</text>
          <text x="540" y="325">40 %</text>
          <text x="640" y="325">60 %</text>
          <text x="740" y="325">80 %</text>
          <text x="840" y="325">100 %</text>
        </g>
        <g font-size="13" fill="#404040" text-anchor="end">
          <text x="328" y="149">Mobile – 2022</text>
          <text x="328" y="193">Mobile – 2024</text>
          <text x="328" y="237">Desktop – 2022</text>
          <text x="328" y="281">Desktop – 2024</text>
        </g>
        <rect x="340" y="130" width="305" height="28" fill="#3D44FF" rx="6"></rect>
        <text x="655" y="149" font-size="13" font-weight="bold" fill="#404040">61 %</text>
        <rect x="340" y="174" width="325" height="28" fill="#FA6161" rx="6"></rect>
        <text x="675" y="193" font-size="13" font-weight="bold" fill="#404040">65 %</text>
        <rect x="340" y="218" width="295" height="28" fill="#3D44FF" rx="6"></rect>
        <text x="645" y="237" font-size="13" font-weight="bold" fill="#404040">59 %</text>
        <rect x="340" y="262" width="345" height="28" fill="#FA6161" rx="6"></rect>
        <text x="695" y="281" font-size="13" font-weight="bold" fill="#404040">69 %</text>
        <text x="40" y="360" font-size="12" fill="#404040">Source: Web Almanac 2024, HTTP Archive – canonical tag usage on mobile- and desktop-crawled pages.</text>
        <text x="860" y="382" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · Pagination</text>
      </svg>
      <figcaption>Canonical tags are being used more often industry-wide: mobile from 61 to 65 percent, desktop from 59 to 69 percent (2022 vs 2024).</figcaption>
    </figure>
    <p>Why that&#8217;s a problem: for many older posts, the archive pages are the only internal link path. Cut them off and old articles hang in the void without internal links – losing exactly the findability that clean internal linking is supposed to create.</p>
  </div>
</section>

<section class="lp-section" id="drei-regeln">
  <div class="lp-wrap">
    <div class="lp-section__label">The basics</div>
    <h2>The three rules for clean blog pagination</h2>
    <p>All three rules appear – directly or indirectly – in Google&#8217;s own documentation. They don&#8217;t contradict each other, they complement each other.</p>
    <h3>1. Self-canonical on every archive page</h3>
    <p>Every component page canonicalises to itself: /page/2/ to /page/2/, not to page 1. A canonical from all archive pages to the first page tells Google &#8220;the subsequent pages are duplicates&#8221; – they&#8217;re not, they list different posts. <a href="https://developers.google.com/search/docs/specialty/ecommerce/pagination-and-incremental-page-loading" target="_blank" rel="noopener">Google explicitly recommends in the official documentation</a> giving every paginated page its own canonical URL.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 380" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Infographic: self-canonical in pagination – correct and wrong canonical references for page 2 and page 3 compared">
        <rect x="0" y="0" width="900" height="380" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="379" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="24" font-weight="bold" fill="#000000">Self-canonical on paginated archive pages</text>
        <text x="40" y="74" font-size="14" fill="#404040">How correct and wrong canonical references differ</text>
        <text x="250" y="112" font-size="15" font-weight="bold" fill="#3D44FF" text-anchor="middle">Correct: self-canonical</text>
        <text x="670" y="112" font-size="15" font-weight="bold" fill="#FA6161" text-anchor="middle">Wrong: canonical to page 1</text>
        <rect x="60" y="140" width="150" height="48" rx="6" fill="#ffffff" stroke="rgba(128,128,128,0.4)"></rect>
        <text x="135" y="169" font-size="13" fill="#404040" text-anchor="middle">/page/2/</text>
        <line x1="215" y1="164" x2="253" y2="164" stroke="#404040" stroke-width="2"></line>
        <polygon points="253,158 265,164 253,170" fill="#404040"></polygon>
        <rect x="260" y="140" width="150" height="48" rx="6" fill="#ffffff" stroke="#3D44FF" stroke-width="2"></rect>
        <text x="335" y="169" font-size="13" fill="#404040" text-anchor="middle">/page/2/</text>
        <text x="425" y="169" font-size="20" fill="#3D44FF" text-anchor="middle">✓</text>
        <rect x="480" y="140" width="150" height="48" rx="6" fill="#ffffff" stroke="rgba(128,128,128,0.4)"></rect>
        <text x="555" y="169" font-size="13" fill="#404040" text-anchor="middle">/page/2/</text>
        <line x1="635" y1="164" x2="673" y2="164" stroke="#404040" stroke-width="2"></line>
        <polygon points="673,158 685,164 673,170" fill="#404040"></polygon>
        <rect x="680" y="140" width="150" height="48" rx="6" fill="#ffffff" stroke="#FA6161" stroke-width="2"></rect>
        <text x="755" y="169" font-size="13" fill="#404040" text-anchor="middle">/seo-blog/</text>
        <text x="845" y="169" font-size="20" fill="#FA6161" text-anchor="middle">✗</text>
        <rect x="60" y="230" width="150" height="48" rx="6" fill="#ffffff" stroke="rgba(128,128,128,0.4)"></rect>
        <text x="135" y="259" font-size="13" fill="#404040" text-anchor="middle">/page/3/</text>
        <line x1="215" y1="254" x2="253" y2="254" stroke="#404040" stroke-width="2"></line>
        <polygon points="253,248 265,254 253,260" fill="#404040"></polygon>
        <rect x="260" y="230" width="150" height="48" rx="6" fill="#ffffff" stroke="#3D44FF" stroke-width="2"></rect>
        <text x="335" y="259" font-size="13" fill="#404040" text-anchor="middle">/page/3/</text>
        <text x="425" y="259" font-size="20" fill="#3D44FF" text-anchor="middle">✓</text>
        <rect x="480" y="230" width="150" height="48" rx="6" fill="#ffffff" stroke="rgba(128,128,128,0.4)"></rect>
        <text x="555" y="259" font-size="13" fill="#404040" text-anchor="middle">/page/3/</text>
        <line x1="635" y1="254" x2="673" y2="254" stroke="#404040" stroke-width="2"></line>
        <polygon points="673,248 685,254 673,260" fill="#404040"></polygon>
        <rect x="680" y="230" width="150" height="48" rx="6" fill="#ffffff" stroke="#FA6161" stroke-width="2"></rect>
        <text x="755" y="259" font-size="13" fill="#404040" text-anchor="middle">/seo-blog/</text>
        <text x="845" y="259" font-size="20" fill="#FA6161" text-anchor="middle">✗</text>
        <text x="40" y="330" font-size="13" fill="#404040">/seo-blog/ (page 1) canonicalises to itself in both cases – the difference only concerns pages 2, 3 and beyond.</text>
        <text x="40" y="355" font-size="12" fill="#404040">Source: Google Search Central, documentation &#8220;Pagination and incremental page loading&#8221;, retrieved 6 Aug 2026</text>
      </svg>
      <figcaption>Self-canonical: page 2 and page 3 canonicalise to themselves (correct) – not to page 1 (wrong).</figcaption>
    </figure>
    <h3>2. Normal HTML links between the pages</h3>
    <p>Googlebot follows a-href links. Pagination that only works via JavaScript click handlers or a &#8220;Load more&#8221; button is a dead end for the crawler – <a href="https://developers.google.com/search/docs/specialty/ecommerce/pagination-and-incremental-page-loading" target="_blank" rel="noopener">Google names the solution in the same documentation</a>: supplement or replace buttons with real links.</p>
    <h3>3. No noindex on archive pages</h3>
    <p>The widespread SEO plugin option &#8220;don&#8217;t index archive pages&#8221; dates from a time when people feared duplicate content. Today it costs you twice: first, permanently non-indexed pages drop out of the crawl rhythm; second, it weakens the link path to older posts. Leave archive pages indexable – they rarely rank, but they carry.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="rel-prev-next">
  <div class="lp-wrap">
    <div class="lp-section__label">Historic, but ineffective</div>
    <h2>rel=&#8221;prev&#8221; and rel=&#8221;next&#8221;: no effect since 2019</h2>
    <p>Many themes and plugins still set both markups today. However, Google <a href="https://developers.google.com/search/blog/2019/03/mobile-first-indexing-structured-data" target="_blank" rel="noopener">confirmed in March 2019</a> that rel=prev/next hasn&#8217;t been used as an indexing signal for years. The markup does no harm – but whoever gets it sold as &#8220;pagination SEO&#8221; is paying for decoration.</p>
  </div>
</section>

<section class="lp-section" id="regeln-ueberblick">
  <div class="lp-wrap">
    <div class="lp-section__label">Overview</div>
    <h2>Pagination: the rules at a glance</h2>
    <table class="lp-article__table">
      <thead>
        <tr><th>Measure</th><th>Recommendation</th><th>Why</th></tr>
      </thead>
      <tbody>
        <tr><td>Self-canonical per archive page</td><td>Mandatory</td><td>Prevents Google from treating subsequent pages as duplicates</td></tr>
        <tr><td>Normal HTML links between the pages</td><td>Mandatory</td><td>Only this way can Googlebot follow all pages</td></tr>
        <tr><td>noindex on archive pages</td><td>Avoid</td><td>Cuts the link path to older posts</td></tr>
        <tr><td>rel=&#8221;prev&#8221; / rel=&#8221;next&#8221;</td><td>No effect since March 2019</td><td>No longer an indexing signal, but harmless</td></tr>
        <tr><td>Posts per archive page</td><td>10–20</td><td>Usual corridor for load time and usability</td></tr>
      </tbody>
    </table>
  </div>
</section>

<section class="lp-section lp-section--surface" id="blog-archiv-shop-kategorie">
  <div class="lp-wrap">
    <div class="lp-section__label">Distinction</div>
    <h2>A blog archive is not a shop category</h2>
    <p>Almost all pagination guides cover online shop categories. For blogs, one decisive difference applies: a shop category page is meant to rank itself (&#8220;men&#8217;s running shoes&#8221;), a blog archive page almost never – there, the posts rank. It follows: in a blog, /page/2/ needs no keyword optimisation, no text of its own, no description. It needs only three things: reachable, indexable, linked. Whoever optimises more into it wastes time at the wrong end.</p>
    <p>What works instead when older posts should become more visible: tidy up categories and tags (fewer, but maintained), link the most important evergreen posts directly from the blog home page and from new articles – and keep archive depth flat. A post only reachable via /page/9/ sits nine clicks away from the home page.</p>
  </div>
</section>

<section class="lp-section" id="praxis-checkliste">
  <div class="lp-wrap">
    <div class="lp-section__label">Practice</div>
    <h2>How to check your pagination</h2>
    <p>Five steps to check the state of a blog&#8217;s pagination without extra tools:</p>
    <ol>
      <li>Open the page source of an archive page (right-click → View page source) and search for <code>rel="canonical"</code>: does the URL point to itself or to page 1?</li>
      <li>Check the SEO plugin settings: is an option like &#8220;don&#8217;t index archive pages&#8221; or &#8220;noindex paginated pages&#8221; activated? If so, deactivate it.</li>
      <li>Check whether /page/2/ and further pages are reachable via real a-href links – not only via a &#8220;Load more&#8221; button without a link fallback.</li>
      <li>Check archive depth: how many clicks away from the home page are the oldest posts? Tidy up categories and tags, link important evergreen posts directly.</li>
      <li>Leave rel=&#8221;prev&#8221;/rel=&#8221;next&#8221; in the theme if present – removing isn&#8217;t a must, adding has brought nothing since 2019.</li>
    </ol>
  </div>
</section>

<section class="lp-section lp-section--surface" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common pagination mistakes</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Canonical from all archive pages to page 1</h3><p>Tells Google the subsequent pages are copies – the link path to old posts disappears from the index.</p></div>
      <div class="lp-card"><h3>noindex by plugin default</h3><p>Check your SEO plugin settings: &#8220;Index paginated archives&#8221; belongs on Yes.</p></div>
      <div class="lp-card"><h3>&#8220;Load more&#8221; without real links</h3><p>Convenient for users, a wall for the crawler.</p></div>
      <div class="lp-card"><h3>Selling rel=prev/next as a measure</h3><p>No Google effect since 2019.</p></div>
      <div class="lp-card"><h3>&#8220;Optimising away&#8221; pagination with 100 posts per page</h3><p>Load time and usability suffer; 10–20 entries per page is the usual corridor.</p></div>
    </div>
  </div>
</section>

<section class="lp-section" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions on pagination</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>Should archive pages go into the XML sitemap?</summary>
        <p>No, not necessary – the posts themselves belong in the sitemap. Google finds the archive pages via internal linking.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Do paginated pages rank themselves?</summary>
        <p>Blog archive pages practically never, and that&#8217;s fine. They&#8217;re distributors, not destination pages. Shop categories are the other case – there, page 1 ranks.</p>
      </details>
      <details class="lp-faq__item">
        <summary>What about duplicate content between archive pages?</summary>
        <p>Page 2 lists different posts than page 1 – that&#8217;s not a duplicate. With self-canonicals, the worry is settled.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How many posts per archive page?</summary>
        <p>10 to 20 is usual. More decisive than the number: the most important content shouldn&#8217;t first appear on page 5, but be linked directly.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/technical-seo/">Technical SEO</a></h3>
        <p>What a crawl finds and what happens afterwards.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/on-page-optimization/">On-page optimisation</a></h3>
        <p>How structure and internal links work together.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-audit/">SEO audit</a></h3>
        <p>How an audit finds errors like wrong canonicals.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Unsure what your SEO plugin is doing to your archives?</h2>
      <p>In the SEO audit we take a look into your settings. Reply within 24 hours on business days.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/seo-audit/">→ Request an SEO audit now</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{--lp-accent:var(--primary,hsla(238,100%,62%,1));--lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));--lp-surface:var(--bg-surface,hsla(0,0%,100%,1));--lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));--lp-heading:var(--text-title,hsla(0,0%,0%,1));--lp-ink:var(--text-body,hsla(0,0%,25%,1));--lp-muted:#666666;--lp-border:var(--border-primary,hsla(0,0%,50%,0.25));--lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));--lp-radius:var(--radius-m,1.2rem);--lp-radius-l:var(--radius-l,2rem);--lp-section:var(--space-xl,5.6rem);--lp-wrap:min(120rem,100%);--lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media (max-width: 1024px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: 1fr; }
}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/ueber-mich/","jobTitle":"SEO-Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/pagination-seo/#article","headline":"Pagination and SEO: How to Set Up Blog Archive Pages Correctly","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en","isPartOf":{"@id":"https://viktorpasztor.de/seo-blog/paginierung/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/pagination-seo/"},"description":"Solving pagination for blog archives correctly: own URL with a self-canonical per page, real HTML links instead of JavaScript, and when noindex makes sense.","url":"https://viktorpasztor.de/en/pagination-seo/"},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/pagination-seo/#faq","url":"https://viktorpasztor.de/en/pagination-seo/","name":"Pagination and SEO: How to Set Up Blog Archive Pages Correctly","inLanguage":"en","breadcrumb":{"@id":"https://viktorpasztor.de/seo-blog/paginierung/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"Should archive pages go into the XML sitemap?","acceptedAnswer":{"@type":"Answer","text":"No, not necessary – the posts themselves belong in the sitemap. Google finds the archive pages via internal linking."}},{"@type":"Question","name":"Do paginated pages rank themselves?","acceptedAnswer":{"@type":"Answer","text":"Blog archive pages practically never, and that's fine. They're distributors, not destination pages. Shop categories are the other case – there, page 1 ranks."}},{"@type":"Question","name":"What about duplicate content between archive pages?","acceptedAnswer":{"@type":"Answer","text":"Page 2 lists different posts than page 1 – that's not a duplicate. With self-canonicals, the worry is settled."}},{"@type":"Question","name":"How many posts per archive page?","acceptedAnswer":{"@type":"Answer","text":"10 to 20 is usual. More decisive than the number: the most important content shouldn't first appear on page 5, but be linked directly."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/seo-blog/paginierung/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"Pagination and SEO: How to Set Up Blog Archive Pages Correctly","item":"https://viktorpasztor.de/en/pagination-seo/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Accessibility &#038; Mobile: Legal Duty and SEO Lever</title>
		<link>https://viktorpasztor.de/en/accessibility-mobile-seo/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 21:51:18 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/accessibility-mobile-seo/</guid>

					<description><![CDATA[Guide · Accessibility Accessibility &#38; Mobile: Legal Duty and SEO Lever By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 6 min Short answer The BFSG and mobile SEO share most of the work Since 28 June 2025, the German Accessibility Strengthening Act (BFSG) has obliged most online shops and B2C [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · Accessibility</p>
    <h1 class="lp-hero__title">Accessibility &amp; Mobile: Legal Duty and SEO Lever</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 6 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>The BFSG and mobile SEO share most of the work</h2>
    <p>Since 28 June 2025, the German Accessibility Strengthening Act (BFSG) has obliged most online shops and B2C service providers to run accessible websites. The side effect: a large share of the roughly 50 WCAG 2.1 AA criteria – alt texts, heading hierarchy, contrasts, clean HTML – overlaps with what Google checks in mobile evaluation anyway. Whoever rebuilds now handles two construction sites in one project.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#wen-das-bfsg-betrifft">Who the BFSG affects – and who falls outside</a></li>
        <li><a href="#barrierefreiheit-seo">Where accessibility and SEO are the same work</a></li>
        <li><a href="#mobile-seo-teilmenge">Mobile SEO optimisation is a subset of it</a></li>
        <li><a href="#wcag-pruefrahmen">WCAG 2.1 AA as the audit frame</a></li>
        <li><a href="#rankings">What it really does for rankings</a></li>
        <li><a href="#praxisbeispiel">Case study: BFSG rebuild at a workshop supplies shop</a></li>
        <li><a href="#haeufige-fehler">Common mistakes in accessibility and mobile SEO</a></li>
        <li><a href="#faq">Frequently asked questions on accessibility and mobile SEO</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="wen-das-bfsg-betrifft">
  <div class="lp-wrap">
    <div class="lp-section__label">Legal situation</div>
    <h2>Who the BFSG affects – and who falls outside</h2>
    <p>The German <a href="https://www.gesetze-im-internet.de/bfsg/" target="_blank" rel="noopener">Accessibility Strengthening Act (BFSG)</a> has applied since 28 June 2025 to products and services aimed at consumers: almost all online shops, plus booking flows, appointment scheduling and order forms. Pure B2B is generally not covered.</p>
    <p>The most important exception: micro-enterprises with fewer than 10 employees and at most 2 million euros in annual turnover or balance sheet total are exempt for services. Whether you fall under the threshold depends on details – have a lawyer check that; this is about the technical part and the search engine side, not legal advice.</p>
    <p>For everyone else: market surveillance authorities can demand fixes, and the law provides for fines of up to 100,000 euros. In practice, cease-and-desist letters are likely to be the faster pain. And the need for action is real: 94.8 percent of the 1 million most-visited home pages worldwide showed automatically detectable WCAG 2 violations in 2025 – 51 errors per page on average.</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Metric</th><th>Value</th></tr>
      </thead>
      <tbody>
        <tr><td>Home pages with automatically detectable WCAG 2 errors</td><td>94.8 %</td></tr>
        <tr><td>Errors per home page on average</td><td>51</td></tr>
      </tbody>
    </table>
    <p>Source: <a href="https://webaim.org/projects/million/2025" target="_blank" rel="noopener">WebAIM Million 2025</a>, analysis of the 1 million most-visited home pages worldwide, as of February 2025.</p>
  </div>
</section>

<section class="lp-section" id="barrierefreiheit-seo">
  <div class="lp-wrap">
    <div class="lp-section__label">Overlap</div>
    <h2>Where accessibility and SEO are the same work</h2>
    <p>A large share of the WCAG criteria overlaps with what belongs to <a href="https://viktorpasztor.de/en/on-page-optimization/">on-page optimisation</a> anyway. Six points that serve both at once:</p>
    <ul>
      <li><strong>Alt texts:</strong> screen readers read them aloud, Google uses them for image search. An alt text of 5 to 15 words serves both.</li>
      <li><strong>Heading hierarchy:</strong> exactly one H1, then H2/H3 without jumps. Assistive technology navigates by heading, Google reads the structure.</li>
      <li><strong>Contrasts:</strong> WCAG 2.1 AA demands 4.5:1 for body text and 3:1 for large type.</li>
      <li><strong>Keyboard operation:</strong> forces real button and a elements instead of click handlers on divs – exactly this HTML is what Google crawls more reliably.</li>
      <li><strong>Understandable link texts:</strong> &#8220;To the returns policy&#8221; instead of &#8220;Click here&#8221; – tells screen readers and Google what&#8217;s behind the link.</li>
      <li><strong>Clean, semantic HTML:</strong> nav, main, table – the shared basis of accessibility and crawlability.</li>
    </ul>
    <figure class="lp-figure">
      <svg viewBox="0 0 640 380" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Schematic representation of a contact form: the Tab key moves focus in a logical order across the name field, email field, newsletter checkbox and submit button, each with a visible focus outline.">
        <title>Example representation of the keyboard focus order on a form</title>
        <rect x="0.5" y="0.5" width="639" height="379" rx="16" fill="var(--lp-surface)" stroke="var(--lp-border)" stroke-width="1"></rect>
        <rect x="0.5" y="0.5" width="639" height="36" rx="16" fill="var(--lp-page-bg)"></rect>
        <rect x="0.5" y="20" width="639" height="16" fill="var(--lp-page-bg)"></rect>
        <circle cx="20" cy="18" r="5" fill="var(--lp-border)"></circle>
        <circle cx="38" cy="18" r="5" fill="var(--lp-border)"></circle>
        <circle cx="56" cy="18" r="5" fill="var(--lp-border)"></circle>
        <rect x="80" y="9" width="300" height="18" rx="9" fill="var(--lp-surface)" stroke="var(--lp-border)"></rect>
        <text x="92" y="22" font-size="10" fill="var(--lp-muted)" font-family="sans-serif">example-form.com/contact</text>

        <text x="40" y="70" font-size="16" font-weight="700" fill="var(--lp-heading)" font-family="sans-serif">Contact form (example)</text>

        <text x="40" y="100" font-size="12" fill="var(--lp-ink)" font-family="sans-serif">Name</text>
        <rect x="40" y="108" width="560" height="34" rx="6" fill="var(--lp-page-bg)" stroke="var(--lp-border)" stroke-width="1.5"></rect>
        <circle cx="22" cy="125" r="14" fill="var(--lp-accent)"></circle>
        <text x="22" y="129" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle" font-family="sans-serif">1</text>

        <text x="40" y="168" font-size="12" fill="var(--lp-ink)" font-family="sans-serif">Email address</text>
        <text x="600" y="168" font-size="11" fill="var(--lp-accent)" text-anchor="end" font-family="sans-serif">current focus (visible outline)</text>
        <rect x="37" y="173" width="566" height="40" rx="8" fill="none" stroke="var(--lp-accent)" stroke-width="3"></rect>
        <rect x="40" y="176" width="560" height="34" rx="6" fill="var(--lp-page-bg)" stroke="var(--lp-border)" stroke-width="1.5"></rect>
        <circle cx="22" cy="193" r="14" fill="var(--lp-accent)"></circle>
        <text x="22" y="197" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle" font-family="sans-serif">2</text>

        <rect x="40" y="240" width="20" height="20" rx="4" fill="var(--lp-page-bg)" stroke="var(--lp-border)" stroke-width="1.5"></rect>
        <text x="70" y="255" font-size="12" fill="var(--lp-ink)" font-family="sans-serif">Subscribe to newsletter</text>
        <circle cx="22" cy="250" r="14" fill="var(--lp-accent)"></circle>
        <text x="22" y="254" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle" font-family="sans-serif">3</text>

        <rect x="40" y="285" width="160" height="42" rx="8" fill="var(--lp-accent)"></rect>
        <text x="120" y="311" font-size="14" font-weight="700" fill="#ffffff" text-anchor="middle" font-family="sans-serif">Submit</text>
        <circle cx="22" cy="306" r="14" fill="var(--lp-accent)"></circle>
        <text x="22" y="310" font-size="13" font-weight="700" fill="#ffffff" text-anchor="middle" font-family="sans-serif">4</text>

        <line x1="22" y1="139" x2="22" y2="179" stroke="var(--lp-accent)" stroke-width="2" stroke-dasharray="4 4"></line>
        <line x1="22" y1="207" x2="22" y2="236" stroke="var(--lp-accent)" stroke-width="2" stroke-dasharray="4 4"></line>
        <line x1="22" y1="264" x2="22" y2="292" stroke="var(--lp-accent)" stroke-width="2" stroke-dasharray="4 4"></line>

        <text x="40" y="355" font-size="11" fill="var(--lp-muted)" font-family="sans-serif">The Tab key moves focus in a logical order without skipping fields – WCAG 2.1 AA, criteria 2.4.3 and 2.4.7.</text>
      </svg>
      <figcaption>Example, schematic representation – not a real form from any specific website. It shows what a sensible tab order with a visible focus outline looks like (WCAG 2.1 AA, criteria 2.4.3 &#8220;Focus Order&#8221; and 2.4.7 &#8220;Focus Visible&#8221;).</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section lp-section--surface" id="mobile-seo-teilmenge">
  <div class="lp-wrap">
    <div class="lp-section__label">Mobile SEO</div>
    <h2>Mobile SEO optimisation is a subset of it</h2>
    <p>Google indexes mobile-first: what gets evaluated is what your smartphone user sees. Many mobile problems are accessibility problems under a different name:</p>
    <ul>
      <li><strong>Touch targets:</strong> tap areas of 48 CSS pixels with 8 pixels of spacing.</li>
      <li><strong>Don&#8217;t block zoom:</strong> user-scalable=no violates WCAG 1.4.4 (200 % magnification) and worsens use for everyone.</li>
      <li><strong>Font size:</strong> below a 16-pixel base font, it becomes unreadable for many on a phone.</li>
      <li><strong>Page experience:</strong> layout shifts (CLS) make operation impossible for people with impairments – Google measures the same value in the Core Web Vitals, which are checked as part of <a href="https://viktorpasztor.de/en/technical-seo/">technical SEO</a>.</li>
    </ul>
    <p>In short: whoever implements their BFSG project cleanly has done a substantial part of the mobile SEO homework on the side. The reverse does not hold.</p>
  </div>
</section>

<section class="lp-section" id="wcag-pruefrahmen">
  <div class="lp-wrap">
    <div class="lp-section__label">Audit frame</div>
    <h2>WCAG 2.1 AA as the audit frame</h2>
    <p>The BFSG names no pixel values. The practical frame of reference is EN 301 549, which points to <a href="https://www.w3.org/TR/WCAG21/" target="_blank" rel="noopener">WCAG 2.1 AA</a> – around 50 success criteria:</p>
    <ol>
      <li><strong>Test automatically:</strong> Lighthouse, WAVE or axe DevTools. Free, done in 10 minutes.</li>
      <li><strong>Assess honestly:</strong> automatic tools only find about 30 to 40 percent of violations. A Lighthouse score of 100 does not mean &#8220;accessible&#8221;.</li>
      <li><strong>Check manually:</strong> operate the whole page with only Tab, Enter and arrow keys. Run through the checkout with a screen reader (VoiceOver comes preinstalled on every iPhone).</li>
      <li><strong>Prioritise:</strong> checkout and forms first – that&#8217;s where the legal and economic risk arises. Then templates, individual pages last.</li>
    </ol>
  </div>
</section>

<section class="lp-section lp-section--surface" id="rankings">
  <div class="lp-wrap">
    <div class="lp-section__label">Effect</div>
    <h2>What it really does for rankings</h2>
    <p>Straight talk: accessibility is not a ranking factor you flip and then positions rise. The benefit lies in three other places: fine and cease-and-desist risks are avoided. Signals Google measures indirectly improve. And a target group is unlocked: according to the <a href="https://www.destatis.de/DE/Presse/Pressemitteilungen/2024/07/PD24_281_227.html" target="_blank" rel="noopener">Federal Statistical Office</a>, around 7.9 million people with severe disabilities live in Germany, plus everyone with temporary impairments and everyone over 60.</p>
  </div>
</section>

<section class="lp-section" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>BFSG rebuild at a workshop supplies shop</h2>
    <blockquote class="lp-article__quote">
      <p>&#8220;At an online shop for workshop supplies with around 3,000 items, we straightened the heading structure because of the BFSG, backfilled alt texts for the product images and made the checkout keyboard-operable. After three months, mobile visibility was noticeably better – not because of a secret switch, but because the basics were finally right.&#8221;</p>
      <cite>— Viktor Pásztor, SEO freelancer</cite>
    </blockquote>
  </div>
</section>

<section class="lp-section lp-section--surface" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes in accessibility and mobile SEO</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Installing an overlay widget and ticking the box</h3><p>The one-click tools don&#8217;t fix the errors in the code. Legally contested, technically insufficient.</p></div>
      <div class="lp-card"><h3>Only chasing the Lighthouse score</h3><p>The test doesn&#8217;t see more than half of the WCAG requirements at all.</p></div>
      <div class="lp-card"><h3>Stuffing alt texts with keywords</h3><p>Describe what&#8217;s in the image, done.</p></div>
      <div class="lp-card"><h3>user-scalable=no in the viewport</h3><p>An attribute that violates WCAG and worsens mobile use.</p></div>
      <div class="lp-card"><h3>&#8220;Determining&#8221; the micro-enterprise exemption yourself</h3><p>The classification is often not clear-cut. Have it checked.</p></div>
      <div class="lp-card"><h3>Touching the checkout last</h3><p>That&#8217;s exactly where the risk is greatest.</p></div>
    </div>
  </div>
</section>

<section class="lp-section" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions on accessibility and mobile SEO</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>Does the BFSG also apply to B2B shops?</summary>
        <p>Generally no – the law targets consumer business. But as soon as private customers can order and that isn&#8217;t cleanly excluded, the scope is quickly reached. When in doubt, clarify legally; fines of up to 100,000 euros.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Is an accessibility overlay enough?</summary>
        <p>No. Overlays change nothing about the faulty HTML underneath and cover only a fraction of the roughly 50 WCAG 2.1 AA criteria. The rebuild has to happen in the code.</p>
      </details>
      <details class="lp-faq__item">
        <summary>What does implementation cost?</summary>
        <p>A first audit with prioritisation is doable in 5 to 10 hours (€100/h). Implementation usually runs through the shop&#8217;s developer; it&#8217;s accompanied as part of ongoing <a href="https://viktorpasztor.de/en/ongoing-seo-support/">SEO support</a> from €1,000/month.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Is accessibility a ranking factor?</summary>
        <p>Not directly. But about half of the measures feed into things Google demonstrably evaluates. Expect indirect effect over months, not an overnight jump.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/on-page-optimization/">On-page optimisation</a></h3>
        <p>How structure, alt texts and link texts play together.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/technical-seo/">Technical SEO</a></h3>
        <p>What a crawl finds and what happens afterwards.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/ongoing-seo-support/">SEO support</a></h3>
        <p>Ongoing support for website and accessibility.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Want to know where your shop stands on the BFSG and mobile optimisation?</h2>
      <p>30 minutes, a concrete assessment, no obligation.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/seo-audit/">→ Book a free initial consultation</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{--lp-accent:var(--primary,hsla(238,100%,62%,1));--lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));--lp-surface:var(--bg-surface,hsla(0,0%,100%,1));--lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));--lp-heading:var(--text-title,hsla(0,0%,0%,1));--lp-ink:var(--text-body,hsla(0,0%,25%,1));--lp-muted:#666666;--lp-border:var(--border-primary,hsla(0,0%,50%,0.25));--lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));--lp-radius:var(--radius-m,1.2rem);--lp-radius-l:var(--radius-l,2rem);--lp-section:var(--space-xl,5.6rem);--lp-wrap:min(120rem,100%);--lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media (max-width: 1024px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: 1fr; }
}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
.lp-page cite{opacity:1}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/ueber-mich/","jobTitle":"SEO-Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/accessibility-mobile-seo/#article","headline":"Accessibility & Mobile: Legal Duty and SEO Lever","description":"The BFSG has been mandatory for most online shops and B2C providers since June 2025 – and doubles as an SEO lever, because accessibility and mobile SEO overlap.","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en","isPartOf":{"@id":"https://viktorpasztor.de/seo-blog/barrierefreiheit/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/accessibility-mobile-seo/"},"url":"https://viktorpasztor.de/en/accessibility-mobile-seo/"},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/accessibility-mobile-seo/#faq","url":"https://viktorpasztor.de/en/accessibility-mobile-seo/","name":"Accessibility & Mobile: Legal Duty and SEO Lever","inLanguage":"en","breadcrumb":{"@id":"https://viktorpasztor.de/seo-blog/barrierefreiheit/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"Does the BFSG also apply to B2B shops?","acceptedAnswer":{"@type":"Answer","text":"Generally no – the law targets consumer business. But as soon as private customers can order and that isn't cleanly excluded, the scope is quickly reached. When in doubt, clarify legally; fines of up to 100,000 euros."}},{"@type":"Question","name":"Is an accessibility overlay enough?","acceptedAnswer":{"@type":"Answer","text":"No. Overlays change nothing about the faulty HTML underneath and cover only a fraction of the roughly 50 WCAG 2.1 AA criteria. The rebuild has to happen in the code."}},{"@type":"Question","name":"What does implementation cost?","acceptedAnswer":{"@type":"Answer","text":"A first audit with prioritisation is doable in 5 to 10 hours (€100/h). Implementation usually runs through the shop's developer; it's accompanied as part of ongoing SEO support from €1,000/month."}},{"@type":"Question","name":"Is accessibility a ranking factor?","acceptedAnswer":{"@type":"Answer","text":"Not directly. But about half of the measures feed into things Google demonstrably evaluates. Expect indirect effect over months, not an overnight jump."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/seo-blog/barrierefreiheit/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"Accessibility & Mobile: Legal Duty and SEO Lever","item":"https://viktorpasztor.de/en/accessibility-mobile-seo/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SEO &#038; GEO: What Makes You Visible in AI Search Interfaces</title>
		<link>https://viktorpasztor.de/en/seo-geo-ai-visibility/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 21:44:09 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/seo-geo-ai-visibility/</guid>

					<description><![CDATA[Guide · SEO &#38; GEO SEO &#38; GEO: What Makes You Visible in AI Search Interfaces By Viktor Pásztor · Updated on 1 August 2026 · Reading time approx. 8 min Short answer Google simply calls GEO SEO – with two technical prerequisites GEO (generative engine optimisation) means optimising for AI search interfaces like AI [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · SEO &amp; GEO</p>
    <h1 class="lp-hero__title">SEO &amp; GEO: What Makes You Visible in AI Search Interfaces</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 1 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 8 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>Google simply calls GEO SEO – with two technical prerequisites</h2>
    <p>GEO (generative engine optimisation) means optimising for AI search interfaces like AI Overviews, AI Mode and ChatGPT. At page level, Google names two technical prerequisites: the page must be indexed and allowed to serve a snippet. Everything else is solid SEO plus consistent facts across all sources – you don&#8217;t need a new discipline for it.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#was-geo-ist">What GEO is – and what Google itself says about it</a></li>
        <li><a href="#belegt-plausibel-spekulation">Proven, plausible, speculation: the distinction that counts</a></li>
        <li><a href="#technische-voraussetzungen">The technical prerequisites in detail</a></li>
        <li><a href="#ki-crawler-steuern">Controlling AI crawlers: GPTBot, ClaudeBot, PerplexityBot, Google-Extended</a></li>
        <li><a href="#llms-txt">llms.txt: the honest state of affairs</a></li>
        <li><a href="#entitaeten-konsistenz">Entity consistency: the underestimated part</a></li>
        <li><a href="#messung">Measurement: one solid report, a lot of noise</a></li>
        <li><a href="#praxisbeispiel">Case study from a B2B project</a></li>
        <li><a href="#haeufige-fehler">Common mistakes</a></li>
        <li><a href="#faq">FAQ</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="was-geo-ist">
  <div class="lp-wrap">
    <div class="lp-section__label">Context</div>
    <h2>What GEO is – and what Google itself says about it</h2>
    <p>GEO stands for generative engine optimisation: the work of getting a website to appear in AI-generated answers – in Google&#8217;s AI Overviews and AI Mode, in ChatGPT, Claude or Perplexity. The term sounds like a new discipline with its own toolbox. Google disagrees. The <a href="https://developers.google.com/search/docs/fundamentals/ai-optimization-guide" target="_blank" rel="noopener">official guide to optimising for generative search features</a> states: from the perspective of Google Search, optimising for generative AI features is simply SEO.</p>
    <p>That&#8217;s not appeasement, that&#8217;s architecture. AI Overviews and AI Mode run on the same index and the same ranking systems as classic search. Their prevalence fluctuates strongly, though: the share of US search queries with an AI Overview rose from 6.49 percent in January 2025 to 24.61 percent in July and fell back to 15.69 percent by November 2025 (Semrush).</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Month 2025</th><th>Share of US search queries with an AI Overview</th></tr>
      </thead>
      <tbody>
        <tr><td>January</td><td>6.49 %</td></tr>
        <tr><td>July</td><td>24.61 %</td></tr>
        <tr><td>November</td><td>15.69 %</td></tr>
      </tbody>
    </table>
    <p style="font-size:1.3rem;color:var(--lp-muted)">Source: Semrush, as of 2025.</p>
    <p>Two techniques decide which pages end up in an answer: grounding (RAG) backs the generated answer with pages from the search index. Query fan-out generates additional related search queries and fetches further results for them. Whoever wants to be cited in AI answers must first be in the index. There is no side entrance.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 760 440" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Schema: SEO as the basis, GEO as the extension for generative search interfaces, AI visibility as the result – example representation">
        <circle cx="230" cy="220" r="185" fill="var(--lp-surface)" stroke="var(--lp-border)" stroke-width="2"></circle>
        <circle cx="230" cy="220" r="130" fill="color-mix(in srgb, var(--lp-accent) 12%, var(--lp-surface))" stroke="color-mix(in srgb, var(--lp-accent) 45%, var(--lp-border))" stroke-width="2"></circle>
        <circle cx="230" cy="220" r="75" fill="var(--lp-accent)"></circle>
        <text x="230" y="62" text-anchor="middle" font-size="22" font-weight="700" fill="var(--lp-heading)">SEO</text>
        <text x="230" y="84" text-anchor="middle" font-size="12.5" fill="var(--lp-muted)">Search engine optimisation</text>
        <text x="230" y="116" text-anchor="middle" font-size="19" font-weight="700" fill="var(--lp-heading)">GEO</text>
        <text x="230" y="136" text-anchor="middle" font-size="11.5" fill="var(--lp-muted)">Generative engine opt.</text>
        <text x="230" y="212" text-anchor="middle" font-size="16" font-weight="700" fill="#fff">AI</text>
        <text x="230" y="234" text-anchor="middle" font-size="16" font-weight="700" fill="#fff">visibility</text>
        <rect x="480" y="62" width="18" height="18" rx="3" fill="var(--lp-border)"></rect>
        <text x="510" y="76" font-size="16" font-weight="700" fill="var(--lp-heading)">SEO</text>
        <text x="510" y="97" font-size="12.5" fill="var(--lp-ink)">Basis: crawling, indexing,</text>
        <text x="510" y="115" font-size="12.5" fill="var(--lp-ink)">relevance, E-E-A-T</text>
        <rect x="480" y="182" width="18" height="18" rx="3" fill="color-mix(in srgb, var(--lp-accent) 45%, var(--lp-surface))"></rect>
        <text x="510" y="196" font-size="16" font-weight="700" fill="var(--lp-heading)">GEO</text>
        <text x="510" y="217" font-size="12.5" fill="var(--lp-ink)">Google&#8217;s addition: snippet permission</text>
        <text x="510" y="235" font-size="12.5" fill="var(--lp-ink)">For other AI: crawler control</text>
        <rect x="480" y="302" width="18" height="18" rx="3" fill="var(--lp-accent)"></rect>
        <text x="510" y="316" font-size="16" font-weight="700" fill="var(--lp-heading)">AI visibility</text>
        <text x="510" y="337" font-size="12.5" fill="var(--lp-ink)">Goal: citation in AI Overviews,</text>
        <text x="510" y="355" font-size="12.5" fill="var(--lp-ink)">AI Mode, ChatGPT, Perplexity</text>
      </svg>
      <figcaption>Schematic, example representation of the relationship between SEO, GEO and AI visibility – no measurement, no real ranking data. According to Google, GEO is not a standalone discipline, but SEO with two additional technical prerequisites.</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section" id="belegt-plausibel-spekulation">
  <div class="lp-wrap">
    <div class="lp-section__label">State of evidence</div>
    <h2>Proven, plausible, speculation: the distinction that counts</h2>
    <p>GEO is a field full of claims. Before you invest money or time, sort every measure into one of three tiers. This sorting is the actual value of this article.</p>
    <p><strong>Proven – stated in Google&#8217;s documentation:</strong></p>
    <ul>
      <li>At page level, <a href="https://developers.google.com/search/docs/appearance/ai-features" target="_blank" rel="noopener">two prerequisites: indexed and snippet permission</a>. Plus the <a href="https://support.google.com/webmasters/answer/16908024" target="_blank" rel="noopener">inclusion of the website in the Search Console</a>.</li>
      <li>Unique, experience-based content is the strongest lever. Summaries of what&#8217;s already been said are not.</li>
      <li>Structured data is not required for generative search features. A special schema does not exist.</li>
      <li>Google Search does not evaluate llms.txt.</li>
    </ul>
    <p><strong>Plausible – a justifiable derivation, without proof of effect:</strong></p>
    <ul>
      <li>Entity consistency: identical company facts across the website, schema, legal notice and business profiles. Grounding systems compare sources; contradictions weaken the assignment.</li>
      <li>A grounding page that bundles your company&#8217;s citable core facts. Useful for humans, possibly useful for machines.</li>
      <li>Allow OAI-SearchBot: <a href="https://platform.openai.com/docs/bots" target="_blank" rel="noopener">according to OpenAI</a>, websites that lock out the crawler do not appear in ChatGPT&#8217;s search answers. Allowing it is therefore a prerequisite – a citation probability does not follow from it.</li>
    </ul>
    <p><strong>Speculation – circulating, but not verifiable:</strong></p>
    <ul>
      <li>llms.txt as a visibility lever.</li>
      <li>&#8220;Chunking&#8221; content, rewriting &#8220;for the AI&#8221;, purchased mentions. Google explicitly names all three as unnecessary.</li>
      <li>&#8220;AI ranking scores&#8221; from third-party tools. Google makes it clear: no external tool has access to internal ranking or AI systems.</li>
    </ul>
    <p>A guide that mixes these three levels sells you speculation at the price of facts.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="technische-voraussetzungen">
  <div class="lp-wrap">
    <div class="lp-section__label">Checklist</div>
    <h2>The technical prerequisites in detail</h2>
    <p>The checklist for Google&#8217;s generative search features is short:</p>
    <ul>
      <li>The page is indexed.</li>
      <li>The page is allowed to serve a snippet – no nosnippet, no max-snippet:0, no data-nosnippet over the main content.</li>
      <li>The website is included for generative search features in the Search Console.</li>
      <li>The content is crawlable and available as text, not only in images or behind JavaScript.</li>
      <li>The page experience is right, the main content is clearly distinguishable from the trimmings.</li>
    </ul>
    <p>If any of these points fails, the cause lies in <a href="https://viktorpasztor.de/en/technical-seo/">technical SEO</a> – and that&#8217;s where it gets fixed, not in a GEO tool.</p>
  </div>
</section>

<section class="lp-section" id="ki-crawler-steuern">
  <div class="lp-wrap">
    <div class="lp-section__label">Crawler control</div>
    <h2>Controlling AI crawlers: GPTBot, ClaudeBot, PerplexityBot, Google-Extended</h2>
    <p>Every major provider now separates training, search and user requests. The overview:</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Provider</th><th>Crawler</th><th>Purpose</th></tr>
      </thead>
      <tbody>
        <tr><td>OpenAI</td><td>GPTBot</td><td>Training the models</td></tr>
        <tr><td>OpenAI</td><td>OAI-SearchBot</td><td>Search results in ChatGPT</td></tr>
        <tr><td>OpenAI</td><td>ChatGPT-User</td><td>Page retrieval on user request</td></tr>
        <tr><td>Anthropic</td><td>ClaudeBot</td><td>Training the models</td></tr>
        <tr><td>Anthropic</td><td>Claude-SearchBot</td><td>Search quality</td></tr>
        <tr><td>Anthropic</td><td>Claude-User</td><td>Page retrieval on user request</td></tr>
        <tr><td>Perplexity</td><td>PerplexityBot</td><td>Search results in Perplexity</td></tr>
        <tr><td>Perplexity</td><td>Perplexity-User</td><td>Page retrieval on user request</td></tr>
        <tr><td>Google</td><td>Google-Extended</td><td>Training and grounding for Gemini and Vertex AI</td></tr>
      </tbody>
    </table>
    <p>The most common misconception first: Google-Extended does not control AI Overviews. The token concerns the training of future Gemini models and grounding in Gemini apps and Vertex AI. <a href="https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers" target="_blank" rel="noopener">Google explicitly writes</a>: the token influences neither inclusion in search nor ranking. AI Overviews run via the normal Googlebot. Whoever wants out of there would have to suppress snippets – and thereby also lose classic search.</p>
    <p>Whether you allow the other providers&#8217; crawlers is a business decision, not a technical one. Allowing means: a chance of being named in their answers, often without a click. Blocking means: your content isn&#8217;t used there, but you&#8217;re invisible. By the way, not every retrieval respects robots.txt. <a href="https://docs.perplexity.ai/guides/bots" target="_blank" rel="noopener">Perplexity itself documents</a> that Perplexity-User generally ignores robots.txt rules for user-initiated retrievals.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="llms-txt">
  <div class="lp-wrap">
    <div class="lp-section__label">llms.txt</div>
    <h2>llms.txt: the honest state of affairs</h2>
    <p>llms.txt is a proposal from the developer community: a Markdown file in the domain root that offers AI systems the most important pages and facts in curated form. The state of affairs in one sentence: Google Search does not evaluate the file – it says so in Google&#8217;s own guide – and no other major provider documents using it for search answers.</p>
    <blockquote class="lp-article__quote">
      <p>&#8220;I manage around 15 client projects in parallel, and in none of them have I seen an effect I could cleanly attribute to llms.txt. I still create it: it costs me half an hour, does no harm, and if a system ever evaluates it, it&#8217;s ready.&#8221;</p>
      <cite>— Viktor Pásztor, SEO freelancer</cite>
    </blockquote>
    <p>That&#8217;s exactly how you should classify the file: a deliberate measure with an open outcome. Whoever sells it to you as a breakthrough hasn&#8217;t read the evidence – or is ignoring it.</p>
  </div>
</section>

<section class="lp-section" id="entitaeten-konsistenz">
  <div class="lp-wrap">
    <div class="lp-section__label">Consistency</div>
    <h2>Entity consistency: the underestimated part</h2>
    <p>Grounding systems compare statements across multiple sources. If your website, legal notice, Organization schema and Google Business Profile show different company names, addresses or self-descriptions, every contradiction weakens the assignment. The measure is unspectacular: the same facts everywhere. A uniform company name including legal form, identical contact details, the same key figures.</p>
    <p>This is no new AI craft, but well-maintained <a href="https://viktorpasztor.de/en/on-page-optimization/">on-page work</a> with clean schema – except that sloppiness here could become more expensive than before. The effect is not proven. But it&#8217;s the most plausible unproven measure in the whole field, and it costs almost nothing.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="messung">
  <div class="lp-wrap">
    <div class="lp-section__label">Measurement</div>
    <h2>Measurement: one solid report, a lot of noise</h2>
    <p>For Google there is exactly one solid source: the <a href="https://support.google.com/webmasters/answer/16984139" target="_blank" rel="noopener">Search Console report on generative search features</a>. It shows how your content is found via AI features.</p>
    <p>For ChatGPT, Claude and Perplexity, no official report exists. What remains: referral traffic in web analytics and manual spot checks. Spot checks fluctuate strongly and are personalised – they serve as an indication, not a metric. Whoever sells you an exact measurement from that is measuring something – just not what they claim.</p>
  </div>
</section>

<section class="lp-section" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>Case study from a B2B project</h2>
    <p>A B2B client wanted to know why ChatGPT names the competition for industry questions, but not him. The check revealed: robots.txt blanket-blocked all non-Google crawlers – a leftover from an old security configuration. Plus three different company names in circulation: one in the legal notice, one in the schema, a third in industry directories.</p>
    <p>The measures: OAI-SearchBot and PerplexityBot released per the client&#8217;s decision, GPTBot blocked at the client&#8217;s request, the company name unified everywhere, core facts bundled on a visible, linked page. There was no citation promise – no provider guarantees visibility. But the documented prerequisites are now met, and the decision on every crawler lies with the client in writing.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Blocking Google-Extended</h3><p>Whoever blocks Google-Extended to disappear from AI Overviews achieves nothing. The Overviews run via the normal Googlebot.</p></div>
      <div class="lp-card"><h3>One page per fan-out question</h3><p>Creating a separate page for every conceivable follow-up question falls under <a href="https://developers.google.com/search/docs/essentials/spam-policies" target="_blank" rel="noopener">Google&#8217;s spam policy on mass-produced content</a>.</p></div>
      <div class="lp-card"><h3>Structured data as an AI lever</h3><p>Google explicitly says structured data is not required for generative features.</p></div>
      <div class="lp-card"><h3>Facts page only for bots</h3><p>Building a facts page for crawlers and hiding it from users is cloaking and endangers the whole domain.</p></div>
      <div class="lp-card"><h3>Numbers without a source</h3><p>Grounding prefers the verifiable. An unsubstantiated claim is worthless for it.</p></div>
      <div class="lp-card"><h3>Believing &#8220;internal AI metrics&#8221;</h3><p>Some GEO tools promise internal AI metrics. Such metrics don&#8217;t exist for outsiders.</p></div>
    </div>
  </div>
</section>

<section class="lp-section" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>FAQ</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>Is GEO its own discipline requiring a specialist agency?</summary>
        <p>No. Google explicitly classifies optimisation for generative search features as SEO. Anything beyond that, any solid SEO provider handles too. You don&#8217;t have to pay extra for a separate vocabulary.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How do I get into ChatGPT&#8217;s search answers?</summary>
        <p>Prerequisite according to OpenAI: OAI-SearchBot is allowed to crawl your website. After that, the same applies as everywhere: content that answers a question better than the rest. There is no guarantee.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Does blocking GPTBot hurt my Google ranking?</summary>
        <p>No. GPTBot is an OpenAI crawler and has nothing to do with Google&#8217;s ranking. Blocking Google-Extended also, according to Google, influences neither inclusion in search nor ranking.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Can anyone guarantee me citations in AI answers?</summary>
        <p>No. Neither Google nor OpenAI nor Anthropic or Perplexity guarantee inclusion or mention, and no third party has access to their internal systems. Whoever sells a citation guarantee is selling something they don&#8217;t control.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/technical-seo/">Technical SEO</a></h3>
        <p>Crawling, indexing and page experience – the basis AI search features also build on.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-costs/">SEO pricing</a></h3>
        <p>What working with me costs.</p>
      </div>
      <div class="lp-card">
        <h3>SEO tools</h3>
        <p>Which tools I use daily – and what for.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>The next step: have your visibility checked</h2>
      <p>I&#8217;ll check where your website stands on the technical prerequisites, crawler control and entity consistency. Reply within 24 hours on business days – an honest assessment instead of a citation guarantee, because nobody can give you that.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/seo-audit/">→ Request an SEO audit now</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{--lp-accent:var(--primary,hsla(238,100%,62%,1));--lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));--lp-surface:var(--bg-surface,hsla(0,0%,100%,1));--lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));--lp-heading:var(--text-title,hsla(0,0%,0%,1));--lp-ink:var(--text-body,hsla(0,0%,25%,1));--lp-muted:#666666;--lp-border:var(--border-primary,hsla(0,0%,50%,0.25));--lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));--lp-radius:var(--radius-m,1.2rem);--lp-radius-l:var(--radius-l,2rem);--lp-section:var(--space-xl,5.6rem);--lp-wrap:min(120rem,100%);--lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media (max-width: 1024px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: 1fr; }
}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
.lp-page cite{opacity:1}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/ueber-mich/","jobTitle":"SEO-Freelancer","knowsAbout":["Suchmaschinenoptimierung","Technisches SEO","AI Overviews","Generative Engine Optimization","KI-Crawler"]},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/seo-geo-ai-visibility/#faq","url":"https://viktorpasztor.de/en/seo-geo-ai-visibility/","name":"SEO & GEO: What Makes You Visible in AI Search Interfaces","inLanguage":"en","breadcrumb":{"@id":"https://viktorpasztor.de/seo-blog/ki-seo-geo/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"Is GEO its own discipline requiring a specialist agency?","acceptedAnswer":{"@type":"Answer","text":"No. Google explicitly classifies optimisation for generative search features as SEO. Anything beyond that, any solid SEO provider handles too. You don't have to pay extra for a separate vocabulary."}},{"@type":"Question","name":"How do I get into ChatGPT's search answers?","acceptedAnswer":{"@type":"Answer","text":"Prerequisite according to OpenAI: OAI-SearchBot is allowed to crawl your website. After that, the same applies as everywhere: content that answers a question better than the rest. There is no guarantee."}},{"@type":"Question","name":"Does blocking GPTBot hurt my Google ranking?","acceptedAnswer":{"@type":"Answer","text":"No. GPTBot is an OpenAI crawler and has nothing to do with Google's ranking. Blocking Google-Extended also, according to Google, influences neither inclusion in search nor ranking."}},{"@type":"Question","name":"Can anyone guarantee me citations in AI answers?","acceptedAnswer":{"@type":"Answer","text":"No. Neither Google nor OpenAI nor Anthropic or Perplexity guarantee inclusion or mention, and no third party has access to their internal systems. Whoever sells a citation guarantee is selling something they don't control."}}]},{"@type":"Article","@id":"https://viktorpasztor.de/en/seo-geo-ai-visibility/#article","headline":"SEO & GEO: What Makes You Visible in AI Search Interfaces","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-01","dateModified":"2026-08-01","inLanguage":"en","isPartOf":{"@id":"https://viktorpasztor.de/seo-blog/ki-seo-geo/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/seo-geo-ai-visibility/"},"description":"GEO (generative engine optimisation) explained: Google simply calls it SEO – with two technical prerequisites for visibility in AI search interfaces.","url":"https://viktorpasztor.de/en/seo-geo-ai-visibility/"},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/seo-blog/ki-seo-geo/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"SEO & GEO: What Makes You Visible in AI Search Interfaces","item":"https://viktorpasztor.de/en/seo-geo-ai-visibility/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SEO vs. GEO vs. MCP SEO: What Separates the Terms – and What You Need</title>
		<link>https://viktorpasztor.de/en/seo-vs-geo-vs-mcp-seo/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 21:34:17 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/seo-vs-geo-vs-mcp-seo/</guid>

					<description><![CDATA[Guide · SEO vs. GEO vs. MCP SEO SEO vs. GEO vs. MCP SEO: What Separates the Terms – and What You Need By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 6 min Short answer SEO, GEO and MCP SEO complement each other – they don&#8217;t compete SEO optimises pages [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · SEO vs. GEO vs. MCP SEO</p>
    <h1 class="lp-hero__title">SEO vs. GEO vs. MCP SEO: What Separates the Terms – and What You Need</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 6 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>SEO, GEO and MCP SEO complement each other – they don&#8217;t compete</h2>
    <p>SEO optimises pages for rankings and clicks. GEO (generative engine optimisation) optimises for being cited as a source in AI answers like AI Overviews. MCP SEO is my own, third approach: it automates the routine work behind both – crawls, meta data, redirects, reports – with no change going live without your approval. The three don&#8217;t compete, they stack.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#seo-basis">SEO: the basis that doesn&#8217;t disappear</a></li>
        <li><a href="#geo">GEO: the new goal is citation instead of click</a></li>
        <li><a href="#mcp-seo">MCP SEO: the third category – way of working instead of goal</a></li>
        <li><a href="#dreier-vergleich">The three-way comparison</a></li>
        <li><a href="#was-du-brauchst">What you concretely need of it</a></li>
        <li><a href="#praxisbeispiel">Case study: the assessment in the initial call</a></li>
        <li><a href="#haeufige-fehler">Common mistakes with SEO, GEO and MCP SEO</a></li>
        <li><a href="#faq">Frequently asked questions about SEO, GEO and MCP SEO</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="seo-basis">
  <div class="lp-wrap">
    <div class="lp-section__label">Foundation</div>
    <h2>SEO: the basis that doesn&#8217;t disappear</h2>
    <p>Search engine optimisation means: your page should rank as high as possible for relevant search queries and win the click. The work behind it – clean technology, content with substance, authority – is the foundation of every further step. Important for this comparison: SEO is the part whose result you&#8217;ve known for twenty years – ten blue links, your page among them.</p>
  </div>
</section>

<section class="lp-section" id="geo">
  <div class="lp-wrap">
    <div class="lp-section__label">New goal</div>
    <h2>GEO: the new goal is citation instead of click</h2>
    <p>Since Google has been rolling out AI Overviews and the AI Mode, search answers many questions directly – with a generated answer that cites sources. What that means for clicks has been measured: for searches with an AI summary, US users clicked a classic result in only 8 percent of visits in March 2025, without a summary in 15 percent (Pew Research Center).</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 400" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Bar chart: click-through rate on Google searches with and without an AI summary, USA, March 2025 – 15 percent without, 8 percent with an AI summary, 1 percent click on the cited source in the summary">
        <rect x="0" y="0" width="900" height="400" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="399" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="24" font-weight="bold" fill="#000000">Click-through rate on Google searches with an AI summary</text>
        <text x="40" y="74" font-size="14" fill="#404040">Share of searches with a click on a result, USA, March 2025</text>
        <g stroke="rgba(128,128,128,0.25)" stroke-width="1">
          <line x1="340" y1="110" x2="340" y2="330"></line>
          <line x1="513" y1="110" x2="513" y2="330"></line>
          <line x1="687" y1="110" x2="687" y2="330"></line>
          <line x1="860" y1="110" x2="860" y2="330"></line>
        </g>
        <g font-size="12" fill="#404040" text-anchor="middle">
          <text x="340" y="350">0 %</text>
          <text x="513" y="350">5 %</text>
          <text x="687" y="350">10 %</text>
          <text x="860" y="350">15 %</text>
        </g>
        <g font-size="13" fill="#404040" text-anchor="end">
          <text x="328" y="159">Without AI summary</text>
          <text x="328" y="229">With AI summary</text>
          <text x="328" y="299">Click on cited source in summary</text>
        </g>
        <rect x="340" y="140" width="520" height="28" fill="#3D44FF" rx="6"></rect>
        <text x="840" y="159" font-size="13" font-weight="bold" fill="#ffffff" text-anchor="end">15 %</text>
        <rect x="340" y="210" width="277" height="28" fill="#3D44FF" rx="6"></rect>
        <text x="597" y="229" font-size="13" font-weight="bold" fill="#ffffff" text-anchor="end">8 %</text>
        <rect x="340" y="280" width="35" height="28" fill="#FA6161" rx="4"></rect>
        <text x="385" y="299" font-size="13" font-weight="bold" fill="#404040">1 %</text>
        <text x="40" y="378" font-size="12" fill="#404040">Source: Pew Research Center, March 2025</text>
        <text x="860" y="378" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · SEO vs. GEO vs. MCP SEO</text>
      </svg>
      <figcaption>Click-through rate on Google searches with and without an AI summary: 15 % click without, 8 % with a summary, only 1 % click on the cited source in the summary (Pew Research Center, March 2025).</figcaption>
    </figure>
    <p>GEO describes optimising for exactly these citations. The industry classifies it similarly: <a href="https://www.wordstream.com/blog/generative-engine-optimization" target="_blank" rel="noopener">WordStream</a> and <a href="https://www.seerinteractive.com/insights/what-is-generative-engine-optimization-geo" target="_blank" rel="noopener">Seer Interactive</a> describe GEO as an evolution, not a replacement of SEO; market observers like <a href="https://collingmedia.com/advertising-strategies/geo-vs-seo-why-your-brand-needs-generative-engine-optimization-in-2026/" target="_blank" rel="noopener">Colling Media citing Gartner</a> expect a noticeable decline in classic search queries in favour of AI answers by the end of 2026 – the exact number is a forecast, the direction is considered undisputed.</p>
    <p>What GEO practically demands overlaps strongly with good SEO: precise answer blocks (40–60 words, with a number), clean structure, consistent entities – meaning the same company name everywhere, the same facts, linked profiles. What&#8217;s new is the focus: you write citable units, not just ranking pages.</p>
    <p>To be honest, part of it is: how strongly GEO measures increase the citation probability is harder to measure than a ranking. Whoever sells you &#8220;position 1 in ChatGPT&#8221; is selling a promise without a measuring instrument. What&#8217;s proven: without indexable, structured, consistent content, you certainly won&#8217;t be cited.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 460" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Schematic comparison: on the left a classic Google search result with a link list, on the right an AI-generated answer with a source citation">
        <rect x="0" y="0" width="900" height="460" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="459" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="42" font-size="22" font-weight="bold" fill="#000000">Classic search result vs. AI answer with source</text>
        <text x="40" y="64" font-size="13" fill="#404040">Schematic comparison – not a real search query</text>

        <rect x="40" y="90" width="380" height="330" fill="#ffffff" stroke="rgba(128,128,128,0.25)" rx="10"></rect>
        <rect x="56" y="106" width="150" height="26" fill="#3D44FF" rx="13"></rect>
        <text x="131" y="123" font-size="11" font-weight="bold" fill="#ffffff" text-anchor="middle">GOOGLE SEARCH (SERP)</text>
        <text x="56" y="160" font-size="12" fill="#1a7a3c">viktorpasztor.de › seo-blog</text>
        <text x="56" y="182" font-size="15" font-weight="bold" fill="#3D44FF">SEO vs. GEO vs. MCP SEO: the comparison</text>
        <text x="56" y="203" font-size="12" fill="#404040">SEO ranks pages, GEO targets citations in AI</text>
        <text x="56" y="221" font-size="12" fill="#404040">answers. What you really need …</text>
        <line x1="56" y1="240" x2="396" y2="240" stroke="rgba(128,128,128,0.25)"></line>
        <text x="56" y="264" font-size="11" fill="#7a7a7a">wordstream.com › generative-engine-optimization</text>
        <text x="56" y="284" font-size="13" font-weight="bold" fill="#9a9dff">What is generative engine optimisation?</text>
        <text x="56" y="302" font-size="11" fill="#7a7a7a">An overview of GEO strategies …</text>
        <line x1="56" y1="320" x2="396" y2="320" stroke="rgba(128,128,128,0.25)"></line>
        <rect x="56" y="336" width="250" height="8" fill="rgba(128,128,128,0.15)" rx="4"></rect>
        <rect x="56" y="352" width="180" height="8" fill="rgba(128,128,128,0.15)" rx="4"></rect>
        <text x="56" y="396" font-size="11" font-style="italic" fill="#404040">User sees around 10 link results, clicks one</text>

        <rect x="480" y="90" width="380" height="330" fill="#f7f7fd" stroke="rgba(128,128,128,0.25)" rx="10"></rect>
        <rect x="496" y="106" width="190" height="26" fill="#221B4E" rx="13"></rect>
        <text x="591" y="123" font-size="10.5" font-weight="bold" fill="#ffffff" text-anchor="middle">AI ANSWER (AI OVERVIEW)</text>
        <text x="496" y="160" font-size="13" fill="#1a1a1a">SEO optimises for rankings and clicks, GEO</text>
        <text x="496" y="180" font-size="13" fill="#1a1a1a">targets citations in AI answers like AI</text>
        <text x="496" y="200" font-size="13" fill="#1a1a1a">Overviews. Both approaches build on each</text>
        <text x="496" y="220" font-size="13" fill="#1a1a1a">other and don&#8217;t replace each other.</text>
        <rect x="496" y="248" width="348" height="64" fill="#ffffff" stroke="#3D44FF" stroke-width="1.5" rx="8"></rect>
        <text x="512" y="272" font-size="11" fill="#404040">Cited source</text>
        <text x="512" y="293" font-size="13" font-weight="bold" fill="#3D44FF">viktorpasztor.de › seo-blog</text>
        <text x="496" y="354" font-size="11" font-style="italic" fill="#404040">Answer is often read, source clicked less often</text>

        <text x="40" y="440" font-size="11" fill="#404040">Illustrative, schematic representation</text>
        <text x="860" y="440" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · SEO vs. GEO vs. MCP SEO</text>
      </svg>
      <figcaption>Schematic juxtaposition of a classic search result and an AI answer with a source citation. Simplified, example representation – not a real search query or actual measurement.</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section lp-section--surface" id="mcp-seo">
  <div class="lp-wrap">
    <div class="lp-section__label">Way of working</div>
    <h2>MCP SEO: the third category – way of working instead of goal</h2>
    <p>SEO and GEO describe <em>what</em> is optimised for. MCP SEO describes <em>how</em> the work gets done – it&#8217;s my own system, which is why you won&#8217;t know the term from any other comparison. The core: the recurring SEO tasks – crawling the website, researching keywords, preparing meta data, tracking down redirects, writing reports – run automated via standardised interfaces. The decisive part is the approval principle: <strong>not a single change goes onto your website before you&#8217;ve seen and approved it.</strong></p>
    <p>That makes MCP SEO no competitor to SEO or GEO, but their engine room. The automation makes the routine cheaper – from €100 to €400 per month plus credits instead of an agency retainer – and leaves the human working time where it makes the difference: strategy, substance, decisions. How the modules interact is shown in the overview under <a href="https://viktorpasztor.de/en/mcp-seo-en/">MCP SEO</a>.</p>
  </div>
</section>

<section class="lp-section" id="dreier-vergleich">
  <div class="lp-wrap">
    <div class="lp-section__label">Comparison</div>
    <h2>The three-way comparison</h2>
    <p>This is how the three approaches stand side by side:</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Criterion</th><th>SEO</th><th>GEO</th><th>MCP SEO</th></tr>
      </thead>
      <tbody>
        <tr><td><strong>Goal</strong></td><td>Ranking + click</td><td>Citation in AI answers</td><td>Automating routine</td></tr>
        <tr><td><strong>Measurability</strong></td><td>high (positions, clicks)</td><td>developing (GSC doesn&#8217;t yet report AI traffic separately)</td><td>high (completed tasks, time, costs)</td></tr>
        <tr><td><strong>Time horizon</strong></td><td>Months</td><td>Months, building on SEO</td><td>immediately effective as a way of working</td></tr>
        <tr><td><strong>Who needs it</strong></td><td>everyone with search demand</td><td>everyone whose customers use AI answers</td><td>everyone paying for SEO routine</td></tr>
        <tr><td><strong>Relationship</strong></td><td colspan="3">GEO requires SEO · MCP SEO accelerates both</td></tr>
      </tbody>
    </table>
  </div>
</section>

<section class="lp-section lp-section--surface" id="was-du-brauchst">
  <div class="lp-wrap">
    <div class="lp-section__label">Context</div>
    <h2>What you concretely need of it</h2>
    <p>The answer is unspectacular: SEO basis first, then GEO fine-tuning, and MCP SEO as a way of working as soon as the routine costs hurt. Whoever today has neither indexable content nor clean structure doesn&#8217;t need a GEO discussion – they need an <a href="https://viktorpasztor.de/en/seo-audit/">audit</a>. Whoever ranks solidly catches up on the GEO share with citable answer blocks and entity consistency. And whoever wants to run both continuously without paying agency prices should look at the <a href="https://viktorpasztor.de/en/mcp-seo-en/">MCP SEO model</a>.</p>
  </div>
</section>

<section class="lp-section" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>The assessment in the initial call</h2>
    <p>In the free initial call, I go through the three questions in the same order this comparison sets out. First SEO: is the website technically clean, indexable, with content that has substance? If not, any GEO discussion is premature – without a ranking basis, there&#8217;s nothing that could be cited.</p>
    <p>Only then does GEO come to the table: are the most important answers formulated as standalone, citable blocks, with consistent entities across the website, schema and business profile? And lastly MCP SEO: which of the recurring tasks – crawls, meta data, redirects, reports – is worth automating, without a single change going live without approval? This order is no coincidence: it follows exactly the dependency from the comparison table above.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes with SEO, GEO and MCP SEO</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Buying GEO as a replacement for SEO</h3><p>Without rankings and indexing, there&#8217;s nothing to cite.</p></div>
      <div class="lp-card"><h3>Believing &#8220;AI visibility guarantees&#8221;</h3><p>There is no reliable measuring instrument for guaranteed AI citations.</p></div>
      <div class="lp-card"><h3>Looking at the term instead of the work</h3><p>80 percent of GEO is clean SEO under a new name.</p></div>
      <div class="lp-card"><h3>Automation without an approval principle</h3><p>Tools that write live unchecked are a risk, not progress.</p></div>
    </div>
  </div>
</section>

<section class="lp-section" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions about SEO, GEO and MCP SEO</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>Does GEO replace classic SEO?</summary>
        <p>No. GEO builds on the same foundations – indexability, structure, authority. Industry consensus is evolution, not replacement.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Is MCP SEO an official industry term?</summary>
        <p>No – it&#8217;s the name of my system, built on the open Model Context Protocol standard. This comparison deliberately places it alongside the industry terms.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Can I measure whether I&#8217;m cited in AI Overviews?</summary>
        <p>Partially. The Search Console doesn&#8217;t report AI Overview traffic separately; what can be observed are impression patterns and manual spot checks on your most important search queries.</p>
      </details>
      <details class="lp-faq__item">
        <summary>What does getting started cost?</summary>
        <p><a href="https://viktorpasztor.de/en/ongoing-seo-support/">SEO support</a> costs from €1,000 per month, <a href="https://viktorpasztor.de/en/mcp-seo-en/">MCP SEO</a> from €100 to €400 per month plus credits. What fits your situation, we&#8217;ll clarify in a free initial call.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/mcp-seo-en/">MCP SEO</a></h3>
        <p>How the automation modules interact.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/ongoing-seo-support/">SEO support</a></h3>
        <p>Ongoing SEO work with a clear approval principle.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-audit/">SEO audit</a></h3>
        <p>Where your website stands today technically and content-wise.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Want to know where your website stands on SEO and AI visibility?</h2>
      <p>In a free initial call, you&#8217;ll get an honest assessment – without a buzzword bill.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/contact/">→ Book a call</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{--lp-accent:var(--primary,hsla(238,100%,62%,1));--lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));--lp-surface:var(--bg-surface,hsla(0,0%,100%,1));--lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));--lp-heading:var(--text-title,hsla(0,0%,0%,1));--lp-ink:var(--text-body,hsla(0,0%,25%,1));--lp-muted:#666666;--lp-border:var(--border-primary,hsla(0,0%,50%,0.25));--lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));--lp-radius:var(--radius-m,1.2rem);--lp-radius-l:var(--radius-l,2rem);--lp-section:var(--space-xl,5.6rem);--lp-wrap:min(120rem,100%);--lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media (max-width: 1024px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: 1fr; }
}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/en/about-me/","jobTitle":"SEO Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/seo-vs-geo-vs-mcp-seo/#article","headline":"SEO vs. GEO vs. MCP SEO: What Separates the Terms – and What You Need","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en-US","isPartOf":{"@id":"https://viktorpasztor.de/en/seo-vs-geo-vs-mcp-seo/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/seo-vs-geo-vs-mcp-seo/#webpage"}},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/seo-vs-geo-vs-mcp-seo/#webpage","url":"https://viktorpasztor.de/en/seo-vs-geo-vs-mcp-seo/","name":"SEO vs. GEO vs. MCP SEO: What Separates the Terms – and What You Need","inLanguage":"en-US","breadcrumb":{"@id":"https://viktorpasztor.de/en/seo-vs-geo-vs-mcp-seo/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"Does GEO replace classic SEO?","acceptedAnswer":{"@type":"Answer","text":"No. GEO builds on the same foundations – indexability, structure, authority. Industry consensus is evolution, not replacement."}},{"@type":"Question","name":"Is MCP SEO an official industry term?","acceptedAnswer":{"@type":"Answer","text":"No – it's the name of Viktor Pásztor's system, built on the open Model Context Protocol standard."}},{"@type":"Question","name":"Can I measure whether I'm cited in AI Overviews?","acceptedAnswer":{"@type":"Answer","text":"Partially. The Search Console doesn't report AI Overview traffic separately; what can be observed are impression patterns and manual spot checks."}},{"@type":"Question","name":"What does getting started cost?","acceptedAnswer":{"@type":"Answer","text":"SEO support costs from €1,000 per month, MCP SEO from €100 to €400 per month plus credits."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/en/seo-vs-geo-vs-mcp-seo/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"SEO vs. GEO vs. MCP SEO","item":"https://viktorpasztor.de/en/seo-vs-geo-vs-mcp-seo/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Understanding Indexing and Crawling: How Your Page Gets into the Google Index</title>
		<link>https://viktorpasztor.de/en/indexing-crawling/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 21:28:10 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/indexing-crawling/</guid>

					<description><![CDATA[Guide · Indexing Understanding Indexing and Crawling: How Your Page Gets into the Google Index By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 6 min Short answer Three stages, three tools, one checkpoint Google processes your page in three stages: crawling, rendering, indexing. Whether a URL is in the index, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · Indexing</p>
    <h1 class="lp-hero__title">Understanding Indexing and Crawling: How Your Page Gets into the Google Index</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 6 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>Three stages, three tools, one checkpoint</h2>
    <p>Google processes your page in three stages: crawling, rendering, indexing. Whether a URL is in the index, you check in under a minute with the URL inspection of the Google Search Console. The three most common blockers are noindex, faulty canonicals and robots.txt blocks – three tools that get mixed up constantly.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#drei-stufen">Crawling, rendering, indexing: the three stages</a></li>
        <li><a href="#search-console-pruefen">Checking in the Search Console whether a URL is in the index</a></li>
        <li><a href="#robots-noindex-canonical">robots.txt, noindex, canonical: three tools, three tasks</a></li>
        <li><a href="#crawl-budget">Crawl budget: only a topic from five-figure URL counts</a></li>
        <li><a href="#javascript-rendering">JavaScript rendering: when content only appears in the browser</a></li>
        <li><a href="#signale-ueberblick">Indexing signals at a glance</a></li>
        <li><a href="#praxisbeispiel">Case study: a Shopware shop with a crawling problem</a></li>
        <li><a href="#haeufige-fehler">Common mistakes with indexing and crawling</a></li>
        <li><a href="#faq">Frequently asked questions about indexing</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="drei-stufen">
  <div class="lp-wrap">
    <div class="lp-section__label">Basics</div>
    <h2>Crawling, rendering, indexing: the three stages</h2>
    <p><strong>Crawling:</strong> the Googlebot retrieves the URL. It finds it via links, your XML sitemap or a re-check of already known URLs.</p>
    <p><strong>Rendering:</strong> Google executes the page&#8217;s JavaScript – with a Chromium-based rendering service. Only then does Google see the page as your visitor sees it.</p>
    <p><strong>Indexing:</strong> Google evaluates the rendered content, chooses the canonical version and adds the page to the index. Or not.</p>
    <p>The point where most misunderstandings arise: crawled doesn&#8217;t mean indexed. Google crawls significantly more URLs than it indexes. And even indexing guarantees no visitors – an analysis of around 14 billion pages shows that 96.55 percent of all examined pages get zero traffic from Google search (Ahrefs, 2023). Without the index, no ranking, no matter how good the text is.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 420" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Bar chart: 96.55 percent of around 14 billion analysed pages receive no organic Google traffic, source Ahrefs 2023">
        <rect x="0" y="0" width="900" height="420" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="419" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="24" font-weight="bold" fill="#000000">How many pages get Google traffic at all?</text>
        <text x="40" y="74" font-size="14" fill="#404040">Share of around 14 billion analysed pages without organic traffic from Google search</text>
        <g stroke="rgba(128,128,128,0.25)" stroke-width="1">
          <line x1="300" y1="110" x2="300" y2="330"></line>
          <line x1="450" y1="110" x2="450" y2="330"></line>
          <line x1="600" y1="110" x2="600" y2="330"></line>
          <line x1="750" y1="110" x2="750" y2="330"></line>
          <line x1="860" y1="110" x2="860" y2="330"></line>
        </g>
        <g font-size="12" fill="#404040" text-anchor="middle">
          <text x="300" y="350">0%</text>
          <text x="450" y="350">25%</text>
          <text x="600" y="350">50%</text>
          <text x="750" y="350">75%</text>
          <text x="860" y="350">100%</text>
        </g>
        <g font-size="14" fill="#404040" text-anchor="end">
          <text x="288" y="165">Pages without Google traffic</text>
          <text x="288" y="245">Pages with Google traffic</text>
        </g>
        <rect x="300" y="145" width="540.9" height="40" fill="#FA6161" rx="6"></rect>
        <text x="850.9" y="171" font-size="15" font-weight="bold" fill="#ffffff" text-anchor="end">96.55 %</text>
        <rect x="300" y="225" width="19.3" height="40" fill="#3D44FF" rx="4"></rect>
        <text x="333" y="251" font-size="15" font-weight="bold" fill="#404040">3.45 %</text>
        <text x="40" y="378" font-size="13" fill="#404040">Around 14 billion pages from the Ahrefs web index were examined.</text>
        <text x="40" y="400" font-size="12" fill="#404040">Source: Ahrefs study 2023</text>
        <text x="860" y="405" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · Indexing</text>
      </svg>
      <figcaption>96.55 percent of around 14 billion examined pages receive no organic traffic from Google search (Ahrefs, 2023).</figcaption>
    </figure>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 320" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Infographic: the three stages crawling, rendering and indexing – crawled doesn't mean indexed">
        <rect x="0" y="0" width="900" height="320" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="319" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="44" font-size="22" font-weight="bold" fill="#000000">Three stages to the index</text>
        <text x="40" y="68" font-size="14" fill="#404040">Crawled doesn&#8217;t mean indexed – every stage can stop a page</text>
        <g>
          <rect x="50" y="100" width="230" height="150" rx="14" fill="#3D44FF"></rect>
          <text x="165" y="140" font-size="15" font-weight="bold" fill="#ffffff" text-anchor="middle">1. Crawling</text>
          <text x="165" y="170" font-size="12.5" fill="#ffffff" text-anchor="middle">Googlebot retrieves the URL –</text>
          <text x="165" y="188" font-size="12.5" fill="#ffffff" text-anchor="middle">found via links or</text>
          <text x="165" y="206" font-size="12.5" fill="#ffffff" text-anchor="middle">the XML sitemap</text>
        </g>
        <polygon points="288,175 316,165 316,185" fill="#404040"></polygon>
        <g>
          <rect x="335" y="100" width="230" height="150" rx="14" fill="#3D44FF"></rect>
          <text x="450" y="140" font-size="15" font-weight="bold" fill="#ffffff" text-anchor="middle">2. Rendering</text>
          <text x="450" y="170" font-size="12.5" fill="#ffffff" text-anchor="middle">Google executes JavaScript</text>
          <text x="450" y="188" font-size="12.5" fill="#ffffff" text-anchor="middle">and sees the page like</text>
          <text x="450" y="206" font-size="12.5" fill="#ffffff" text-anchor="middle">a real visitor</text>
        </g>
        <polygon points="573,175 601,165 601,185" fill="#404040"></polygon>
        <g>
          <rect x="620" y="100" width="230" height="150" rx="14" fill="#FA6161"></rect>
          <text x="735" y="140" font-size="15" font-weight="bold" fill="#ffffff" text-anchor="middle">3. Indexing</text>
          <text x="735" y="170" font-size="12.5" fill="#ffffff" text-anchor="middle">Google chooses the canonical</text>
          <text x="735" y="188" font-size="12.5" fill="#ffffff" text-anchor="middle">version and adds the page</text>
          <text x="735" y="206" font-size="12.5" fill="#ffffff" text-anchor="middle">– or not</text>
        </g>
        <text x="40" y="290" font-size="13" fill="#404040">Every stage can stop a page: robots.txt at stage 1, faulty rendering at stage 2, noindex or quality at stage 3.</text>
      </svg>
      <figcaption>The three stages crawling, rendering and indexing – crawled doesn&#8217;t mean indexed.</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section" id="search-console-pruefen">
  <div class="lp-wrap">
    <div class="lp-section__label">Checking</div>
    <h2>Checking in the Search Console whether a URL is in the index</h2>
    <p>Forget the site: query – it&#8217;s a rough estimate, not a report. The reliable source is the <a href="https://search.google.com/search-console/about" target="_blank" rel="noopener">Google Search Console</a>, and it costs 0 euros.</p>
    <p><strong>Single URL:</strong> enter the address into the URL inspection. You&#8217;ll see in seconds: is the URL on Google? When was it last crawled? Which canonical URL did Google choose?</p>
    <p><strong>Whole website:</strong> the &#8220;Indexing → Pages&#8221; report lists all non-indexed URLs with reasons. Two statuses come up constantly: &#8220;Crawled – currently not indexed&#8221; (a quality or duplicate problem) and &#8220;Discovered – currently not indexed&#8221; (not yet crawled, often a question of crawl prioritisation).</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="robots-noindex-canonical">
  <div class="lp-wrap">
    <div class="lp-section__label">Tools</div>
    <h2>robots.txt, noindex, canonical: three tools, three tasks</h2>
    <h3>robots.txt controls crawling</h3>
    <p>A disallow rule in <a href="https://developers.google.com/search/docs/crawling-indexing/robots/intro" target="_blank" rel="noopener">robots.txt</a> forbids retrieval. But it doesn&#8217;t prevent indexing: if the URL is linked, it can still end up in the index – as an empty entry without content.</p>
    <h3>noindex controls indexing</h3>
    <p>The <a href="https://developers.google.com/search/docs/crawling-indexing/block-indexing" target="_blank" rel="noopener">meta robots tag noindex</a> says: &#8220;Don&#8217;t put this page in the index.&#8221; For Google to read that, the page has to be crawlable. From this follows mistake number 1 in almost every audit: blocking a page via robots.txt and setting it to noindex at the same time. Google never sees the noindex. If you want a page out: set noindex, allow crawling.</p>
    <h3>Canonical is a hint, not an instruction</h3>
    <p>The <a href="https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls" target="_blank" rel="noopener">canonical tag</a> recommends a preferred version to Google for duplicates. Google usually follows – but not always. It&#8217;s no good as a blocking tool.</p>
  </div>
</section>

<section class="lp-section" id="crawl-budget">
  <div class="lp-wrap">
    <div class="lp-section__label">Context</div>
    <h2>Crawl budget: only a topic from five-figure URL counts</h2>
    <p>The most overrated topic in technical SEO. Websites under about 10,000 URLs practically don&#8217;t need to worry. It becomes relevant from around 1 million URLs – or from about 10,000 URLs with daily changing content, for example large shops with faceted navigation.</p>
    <p>If your website has 300 pages and one of them isn&#8217;t indexed, that&#8217;s not down to crawl budget. It&#8217;s blocked, too thin or a duplicate.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="javascript-rendering">
  <div class="lp-wrap">
    <div class="lp-section__label">Technology</div>
    <h2>JavaScript rendering: when content only appears in the browser</h2>
    <p>If your CMS delivers content via client-side JavaScript, Google may see an almost empty page on first retrieval. Here&#8217;s how to check that in 2 minutes: open the URL inspection in the Search Console, start the live test, look at the rendered HTML. If texts or products are missing there, you have a rendering problem.</p>
    <p>The most robust solution: server-side rendering – the normal case with WordPress, Shopify and Shopware, the most common problem area with headless setups.</p>
    <p>More system – status codes, redirects, sitemaps – in the <a href="https://viktorpasztor.de/en/technical-seo/">technical SEO</a> guide.</p>
  </div>
</section>

<section class="lp-section" id="signale-ueberblick">
  <div class="lp-wrap">
    <div class="lp-section__label">Overview</div>
    <h2>Indexing signals at a glance</h2>
    <table class="lp-article__table">
      <thead>
        <tr><th>Signal</th><th>Controls</th><th>Effect</th></tr>
      </thead>
      <tbody>
        <tr><td>noindex</td><td>Indexing</td><td>Page stays out of the index – requires it to be crawlable</td></tr>
        <tr><td>Canonical</td><td>Duplicates</td><td>Recommendation to Google, not a block</td></tr>
        <tr><td>robots.txt (disallow)</td><td>Crawling</td><td>Prevents retrieval, but not necessarily indexing</td></tr>
        <tr><td>XML sitemap</td><td>Discovery</td><td>Should only contain index-worthy URLs with status code 200</td></tr>
      </tbody>
    </table>
    <p>The four signals solve different tasks. Whoever mixes them – for example using robots.txt as a deindexing tool – produces exactly the mistakes from the next section.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>A Shopware shop with a crawling problem</h2>
    <blockquote class="lp-article__quote">
      <p>&#8220;On a Shopware shop with around 60,000 URLs, about two thirds of all crawls went into filter URLs without any search demand. We blocked the parameter patterns via robots.txt, cleaned up the sitemap and concentrated internal linking on categories. After eight weeks, new products appeared in the index after two to three days instead of around two weeks.&#8221;</p>
      <cite>— Viktor Pásztor, SEO freelancer</cite>
    </blockquote>
    <p>The example shows why crawl budget only becomes a topic with large, dynamic websites: it&#8217;s not the number of pages alone that decides, but how much of it Google wastes on irrelevant URLs.</p>
  </div>
</section>

<section class="lp-section" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes with indexing and crawling</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>robots.txt block combined with noindex</h3><p>Google never sees the noindex if the page is simultaneously blocked via robots.txt. The page remains in the index as an empty entry.</p></div>
      <div class="lp-card"><h3>Canonical misunderstood as deindexing</h3><p>It&#8217;s a recommendation for duplicates, not an eviction. Google usually follows the canonical – but without guarantee.</p></div>
      <div class="lp-card"><h3>noindex taken live from staging</h3><p>Check after every relaunch: a forgotten noindex from the staging environment takes the complete live website out of the index.</p></div>
      <div class="lp-card"><h3>Sitemap full of junk, crawl budget panic on small sites</h3><p>Only index-worthy URLs with status code 200 belong in the sitemap. And under 10,000 URLs, you solve index problems through quality and internal linking, not through crawl budget.</p></div>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions about indexing</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>How long does it take Google to index a new page?</summary>
        <p>Between a few hours and several weeks. On established websites with a clean sitemap and internal linking, 1 to 7 days are realistic.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Why is my page crawled but not indexed?</summary>
        <p>Google currently doesn&#8217;t consider the page index-worthy – typical with duplicates, very thin content or weak internal linking. There is no entitlement to indexing.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How do I quickly remove a page from the Google index?</summary>
        <p>For the immediate effect, use the removals tool in the Search Console – it hides the URL for around 6 months. Only noindex on a crawlable page or status code 410 works permanently.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Does the Indexing API help with normal pages?</summary>
        <p>No. Google officially supports the <a href="https://developers.google.com/search/apis/indexing-api/v3/quickstart" target="_blank" rel="noopener">Indexing API</a> for only two content types: job postings and livestream videos.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/technical-seo/">Technical SEO</a></h3>
        <p>What a crawl finds and what happens next.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/on-page-optimization/">On-page optimisation</a></h3>
        <p>How content is prepared for ranking and indexing.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-costs/">SEO pricing</a></h3>
        <p>What working with me costs.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Indexing problems on your website?</h2>
      <p>An SEO audit checks crawling, rendering and indexing point by point – including a look into your Search Console. Reply within 24 hours on business days.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/seo-audit/">→ Request an SEO audit now</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{
  --lp-accent:var(--primary,hsla(238,100%,62%,1));
  --lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));
  --lp-surface:var(--bg-surface,hsla(0,0%,100%,1));
  --lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));
  --lp-heading:var(--text-title,hsla(0,0%,0%,1));
  --lp-ink:var(--text-body,hsla(0,0%,25%,1));
  --lp-muted:#666666;
  --lp-border:var(--border-primary,hsla(0,0%,50%,0.25));
  --lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));
  --lp-radius:var(--radius-m,1.2rem);
  --lp-radius-l:var(--radius-l,2rem);
  --lp-section:var(--space-xl,5.6rem);
  --lp-wrap:min(120rem,100%);
  --lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);
  font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);
}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media (max-width: 1024px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: 1fr; }
}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
.lp-page cite{opacity:1}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/en/about-me/","jobTitle":"SEO Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/indexing-crawling/#article","headline":"Understanding Indexing and Crawling: How Your Page Gets into the Google Index","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en-US","isPartOf":{"@id":"https://viktorpasztor.de/en/indexing-crawling/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/indexing-crawling/#webpage"}},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/indexing-crawling/#webpage","url":"https://viktorpasztor.de/en/indexing-crawling/","name":"Understanding Indexing and Crawling: How Your Page Gets into the Google Index","inLanguage":"en-US","breadcrumb":{"@id":"https://viktorpasztor.de/en/indexing-crawling/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"How long does it take Google to index a new page?","acceptedAnswer":{"@type":"Answer","text":"Between a few hours and several weeks. On established websites with a clean sitemap and internal linking, 1 to 7 days are realistic."}},{"@type":"Question","name":"Why is my page crawled but not indexed?","acceptedAnswer":{"@type":"Answer","text":"Google currently doesn't consider the page index-worthy – typical with duplicates, very thin content or weak internal linking. There is no entitlement to indexing."}},{"@type":"Question","name":"How do I quickly remove a page from the Google index?","acceptedAnswer":{"@type":"Answer","text":"For the immediate effect, use the removals tool in the Search Console – it hides the URL for around 6 months. Only noindex on a crawlable page or status code 410 works permanently."}},{"@type":"Question","name":"Does the Indexing API help with normal pages?","acceptedAnswer":{"@type":"Answer","text":"No. Google officially supports the Indexing API for only two content types: job postings and livestream videos."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/en/indexing-crawling/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"Indexing & crawling","item":"https://viktorpasztor.de/en/indexing-crawling/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SEO in Online Marketing: Where the Channel Really Belongs</title>
		<link>https://viktorpasztor.de/en/seo-in-online-marketing/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 21:22:10 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/seo-in-online-marketing/</guid>

					<description><![CDATA[Guide · SEO in online marketing SEO in Online Marketing: Where the Channel Really Belongs By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 6 min Short answer SEO is one of four core channels in online marketing SEO is one of four core channels in online marketing – alongside SEA, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · SEO in online marketing</p>
    <h1 class="lp-hero__title">SEO in Online Marketing: Where the Channel Really Belongs</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 6 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>SEO is one of four core channels in online marketing</h2>
    <p>SEO is one of four core channels in online marketing – alongside SEA, social media and email. The central difference: SEA works from day 1 and stops with the budget. SEO usually needs 6 to 12 months, but then delivers visitors without click costs. Which channel fits is decided by your time horizon and the search volume.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#kernkanaele-vergleich">The four core channels compared</a></li>
        <li><a href="#wann-welcher-kanal">When which channel is the right choice</a></li>
        <li><a href="#seo-kompound-effekt">SEO as a compound effect</a></li>
        <li><a href="#seo-falsche-wahl">Honestly: when SEO is the wrong choice</a></li>
        <li><a href="#praxisbeispiel">Case study: the reallocation in real projects</a></li>
        <li><a href="#haeufige-fehler">Common mistakes in the channel mix</a></li>
        <li><a href="#faq">Frequently asked questions about SEO in online marketing</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="kernkanaele-vergleich">
  <div class="lp-wrap">
    <div class="lp-section__label">Context</div>
    <h2>The four core channels compared</h2>
    <p>Every channel answers a different question. SEO and SEA pick up people who are already actively searching. How much runs through this path is shown by an analysis across thousands of domains: 53 percent of measurable website traffic comes from organic search, 15 percent from paid search and only 5 percent from organic social media (BrightEdge, 2019). Social media creates demand where there is none yet. Email keeps contacts warm that you&#8217;ve already won.</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Channel</th><th>Share of measurable website traffic</th></tr>
      </thead>
      <tbody>
        <tr><td>Organic search (SEO)</td><td>53 %</td></tr>
        <tr><td>Paid search (SEA)</td><td>15 %</td></tr>
        <tr><td>Organic social media</td><td>5 %</td></tr>
      </tbody>
    </table>
    <p>Source: BrightEdge, analysis across thousands of domains, 2019.</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Channel</th><th>Cost</th><th>Time to effect</th><th>Sustainability</th></tr>
      </thead>
      <tbody>
        <tr><td>SEO</td><td>Ongoing work instead of media budget; with me from €1,000/month</td><td>6–12 months</td><td>High – rankings often last for years</td></tr>
        <tr><td>SEA</td><td>Click prices from approx. €0.50, in B2B often €3–15 per click</td><td>1–7 days</td><td>None – ad off, traffic gone</td></tr>
        <tr><td>Social media</td><td>Content production plus ads budget</td><td>1–4 weeks (paid), months (organic)</td><td>Low – posts usually live 24–72 hours</td></tr>
        <tr><td>Email</td><td>Tool from approx. €20/month plus editorial work</td><td>Immediate – with an existing list</td><td>Medium – as good as your list</td></tr>
      </tbody>
    </table>
    <p>The basic pattern: speed and sustainability stand against each other. No channel delivers both.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 800 320" width="800" height="320" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Schematic overview: SEO as one of four equal core channels in the marketing mix, alongside SEA, social media and email" font-family="-apple-system, system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif">
        <rect width="800" height="320" fill="var(--lp-surface)"></rect>
        <text x="400" y="38" text-anchor="middle" font-size="19" font-weight="700" fill="var(--lp-heading)">The four core channels in the marketing mix</text>
        <g>
          <rect x="30" y="64" width="170" height="216" rx="16" fill="var(--lp-page-bg)" stroke="var(--lp-accent)" stroke-width="3"></rect>
          <circle cx="115" cy="116" r="26" fill="var(--lp-accent)"></circle>
          <text x="115" y="122" text-anchor="middle" font-size="16" font-weight="700" fill="#fff">SEO</text>
          <text x="115" y="172" text-anchor="middle" font-size="14" font-weight="700" fill="var(--lp-heading)">Organic search</text>
          <text x="115" y="196" text-anchor="middle" font-size="12" fill="var(--lp-muted)"><tspan x="115" dy="0">Works long-term,</tspan><tspan x="115" dy="16">without click costs</tspan></text>
        </g>
        <g>
          <rect x="215" y="64" width="170" height="216" rx="16" fill="var(--lp-page-bg)" stroke="var(--lp-border)" stroke-width="1.5"></rect>
          <circle cx="300" cy="116" r="26" fill="var(--lp-dark)"></circle>
          <text x="300" y="122" text-anchor="middle" font-size="15" font-weight="700" fill="#fff">SEA</text>
          <text x="300" y="172" text-anchor="middle" font-size="14" font-weight="700" fill="var(--lp-heading)">Paid search</text>
          <text x="300" y="196" text-anchor="middle" font-size="12" fill="var(--lp-muted)"><tspan x="300" dy="0">Immediately visible,</tspan><tspan x="300" dy="16">ends with budget</tspan></text>
        </g>
        <g>
          <rect x="400" y="64" width="170" height="216" rx="16" fill="var(--lp-page-bg)" stroke="var(--lp-border)" stroke-width="1.5"></rect>
          <circle cx="485" cy="116" r="26" fill="var(--lp-dark)"></circle>
          <text x="485" y="121" text-anchor="middle" font-size="12" font-weight="700" fill="#fff">Social</text>
          <text x="485" y="172" text-anchor="middle" font-size="14" font-weight="700" fill="var(--lp-heading)">Social media</text>
          <text x="485" y="196" text-anchor="middle" font-size="12" fill="var(--lp-muted)"><tspan x="485" dy="0">Creates demand,</tspan><tspan x="485" dy="16">short half-life</tspan></text>
        </g>
        <g>
          <rect x="585" y="64" width="185" height="216" rx="16" fill="var(--lp-page-bg)" stroke="var(--lp-border)" stroke-width="1.5"></rect>
          <circle cx="677" cy="116" r="26" fill="var(--lp-dark)"></circle>
          <text x="677" y="121" text-anchor="middle" font-size="12" font-weight="700" fill="#fff">Mail</text>
          <text x="677" y="172" text-anchor="middle" font-size="14" font-weight="700" fill="var(--lp-heading)">Email</text>
          <text x="677" y="196" text-anchor="middle" font-size="12" fill="var(--lp-muted)"><tspan x="677" dy="0">Keeps existing</tspan><tspan x="677" dy="16">contacts warm</tspan></text>
        </g>
        <text x="400" y="305" text-anchor="middle" font-size="11" fill="var(--lp-muted)">Schematic classification – no ranking, no measurements of a specific website</text>
      </svg>
      <figcaption>Example schematic representation of the four core channels in the marketing mix. Not measurement data of a specific website or campaign, but a simplified classification for orientation.</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section" id="wann-welcher-kanal">
  <div class="lp-wrap">
    <div class="lp-section__label">Decision</div>
    <h2>When which channel is the right choice</h2>
    <p><strong>SEA</strong>, if you need results fast: product launch, seasonal business, or to test keywords before betting twelve months of SEO on them. A click price of 5 euros at a 2 percent conversion rate means: 250 euros per lead – you have to be able to afford that, permanently.</p>
    <p><strong>Social media</strong>, if your offer needs explanation or is new and nobody is searching for it. Or if your audience buys visually: fashion, furnishings, food.</p>
    <p><strong>Email</strong>, as soon as you have a list. The channel with the consistently best return, because you don&#8217;t pay anew for the reach every time.</p>
    <p><strong>SEO</strong>, if there&#8217;s measurable search volume and you think in timeframes of years. What SEO delivers in detail is its own topic – this is about the classification in the overall picture.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="seo-kompound-effekt">
  <div class="lp-wrap">
    <div class="lp-section__label">Calculated long-term</div>
    <h2>SEO as a compound effect</h2>
    <p>SEA works like rent: you pay every month, and when you stop, you&#8217;re out. SEO works like repayment: every good article pays into a stock that keeps working.</p>
    <p>Run the numbers. A guide costs you once – say eight hours of work. If it ranks stably after a year and brings 500 visitors a month, that&#8217;s 6,000 visitors per year without you paying per click. Over three years, the cost per visitor drops to a fraction of what the same clicks would cost through ads.</p>
    <p>The effect amplifies: 30 good articles support each other via internal links, the domain gains authority, new content ranks faster. That&#8217;s exactly why the &#8220;SEO vs. SEA&#8221; comparison is always skewed in SEA&#8217;s favour on a monthly view – and almost always the reverse on a three-year view.</p>
    <p>Prerequisite: clean <a href="https://viktorpasztor.de/en/keyword-research/">keyword research</a> and texts that match search intent. Without both, nothing compounds.</p>
  </div>
</section>

<section class="lp-section" id="seo-falsche-wahl">
  <div class="lp-wrap">
    <div class="lp-section__label">Honestly considered</div>
    <h2>Honestly: when SEO is the wrong choice</h2>
    <p><strong>Short-term promotions.</strong> A discount weekend, an event in six weeks – by the time SEO kicks in, the promotion is over. That&#8217;s a case for SEA and email.</p>
    <p><strong>No search volume.</strong> If nobody searches for your offer, there&#8217;s nothing to rank. A novel product needs demand first – via social, PR or ads. SEO comes after.</p>
    <p><strong>No budget for the dry spell.</strong> Whoever can&#8217;t last the first 6 to 12 months quits before the effect sets in. Then better start with SEA, and begin SEO when there&#8217;s headroom.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>The reallocation in real client projects</h2>
    <p>The swap of ads budget for SEO budget is not a model on paper. I see it repeatedly in ongoing client projects.</p>
    <blockquote class="lp-article__quote">
      <p>&#8220;I see this reallocation repeatedly in ongoing client projects: if the SEO budget is built up with discipline over 12 months and more, the share of the ads budget in total costs drops noticeably without inquiries declining.&#8221;</p>
      <cite>— Viktor Pásztor, SEO freelancer</cite>
    </blockquote>
  </div>
</section>

<section class="lp-section" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes in the channel mix</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Playing SEO off against SEA</h3><p>The channels cover different time horizons. SEA delivers immediate data that saves your SEO strategy six months of guesswork.</p></div>
      <div class="lp-card"><h3>Quitting after three months</h3><p>Plan at least 12 months, otherwise don&#8217;t bother.</p></div>
      <div class="lp-card"><h3>Choosing channels by gut feeling</h3><p>Whether SEO is worth it is in the search volume data – not in gut feeling. Whoever plays all four channels half-heartedly at once masters none of them consistently.</p></div>
      <div class="lp-card"><h3>Measuring traffic instead of inquiries</h3><p>10,000 visitors without conversion are not a success.</p></div>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions about SEO in online marketing</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>How much budget does SEO need per month?</summary>
        <p>Serious, ongoing support usually starts in the four-figure range – with me from €1,000/month at an hourly rate of €100. Below that, selective audits make more sense than continuous support.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How long does it take for SEO to work?</summary>
        <p>Expect 6 to 12 months until clearly visible results; first movement often shows after 3 to 4 months. Fixed ranking guarantees for a deadline are not credible.</p>
      </details>
      <details class="lp-faq__item">
        <summary>SEO or SEA – which is better?</summary>
        <p>Wrong question. SEA works in days and ends with the budget, SEO needs months and then carries for years. For short-term goals SEA, from a planning horizon of 12+ months usually SEO.</p>
      </details>
      <details class="lp-faq__item">
        <summary>What share of the marketing budget should SEO have?</summary>
        <p>No blanket number. Practical guideline: if you spend more than twice your possible SEO budget per month on clicks for keywords you could rank for organically, the reallocation is almost always profitable.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/keyword-research/">Keyword research</a></h3>
        <p>How search volume becomes a priority list.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-costs/">SEO pricing</a></h3>
        <p>What ongoing SEO support actually costs.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/ongoing-seo-support/">SEO support</a></h3>
        <p>What the collaboration looks like over the first 12 months.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Unsure whether SEO is the right channel for you?</h2>
      <p>In a free initial call, we&#8217;ll calculate with your numbers – search volume, click prices, time horizon.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/ongoing-seo-support/">→ Request a free call</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{--lp-accent:var(--primary,hsla(238,100%,62%,1));--lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));--lp-surface:var(--bg-surface,hsla(0,0%,100%,1));--lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));--lp-heading:var(--text-title,hsla(0,0%,0%,1));--lp-ink:var(--text-body,hsla(0,0%,25%,1));--lp-muted:#666666;--lp-border:var(--border-primary,hsla(0,0%,50%,0.25));--lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));--lp-radius:var(--radius-m,1.2rem);--lp-radius-l:var(--radius-l,2rem);--lp-section:var(--space-xl,5.6rem);--lp-wrap:min(120rem,100%);--lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media (max-width: 1024px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: 1fr; }
}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
.lp-page cite{opacity:1}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/en/about-me/","jobTitle":"SEO Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/seo-in-online-marketing/#article","headline":"SEO in Online Marketing: Where the Channel Really Belongs","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en-US","isPartOf":{"@id":"https://viktorpasztor.de/en/seo-in-online-marketing/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/seo-in-online-marketing/#webpage"}},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/seo-in-online-marketing/#webpage","url":"https://viktorpasztor.de/en/seo-in-online-marketing/","name":"SEO in Online Marketing: Where the Channel Really Belongs","inLanguage":"en-US","breadcrumb":{"@id":"https://viktorpasztor.de/en/seo-in-online-marketing/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"How much budget does SEO need per month?","acceptedAnswer":{"@type":"Answer","text":"Serious, ongoing support usually starts in the four-figure range – with Viktor Pásztor from €1,000/month at an hourly rate of €100. Below that, selective audits make more sense."}},{"@type":"Question","name":"How long does it take for SEO to work?","acceptedAnswer":{"@type":"Answer","text":"Expect 6 to 12 months until clearly visible results; first movement often shows after 3 to 4 months. Fixed ranking guarantees for a deadline are not credible."}},{"@type":"Question","name":"SEO or SEA – which is better?","acceptedAnswer":{"@type":"Answer","text":"Wrong question. SEA works in days and ends with the budget, SEO needs months and then carries for years. For short-term goals SEA, from a planning horizon of 12+ months usually SEO."}},{"@type":"Question","name":"What share of the marketing budget should SEO have?","acceptedAnswer":{"@type":"Answer","text":"No blanket number. If you spend more than twice your possible SEO budget per month on clicks for keywords you could rank for organically, the reallocation is almost always profitable."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/en/seo-in-online-marketing/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"SEO in online marketing","item":"https://viktorpasztor.de/en/seo-in-online-marketing/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Black Hat, White Hat, Negative SEO: Where the Line Runs</title>
		<link>https://viktorpasztor.de/en/black-hat-white-hat-seo/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 21:15:55 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/black-hat-white-hat-seo/</guid>

					<description><![CDATA[Guide · Black hat, white hat, negative SEO Black Hat, White Hat, Negative SEO: Where the Line Runs By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 5 min Short answer White hat follows the rules, black hat deliberately breaks them White hat SEO works within Google&#8217;s guidelines, black hat deliberately [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · Black hat, white hat, negative SEO</p>
    <h1 class="lp-hero__title">Black Hat, White Hat, Negative SEO: Where the Line Runs</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 5 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>White hat follows the rules, black hat deliberately breaks them</h2>
    <p>White hat SEO works within Google&#8217;s guidelines, black hat deliberately violates them – with techniques from purchased links to mass-generated AI pages, which Google has explicitly classified as &#8220;scaled content abuse&#8221; since 2024. Negative SEO, the attack by third parties, is real, but rarer than feared: Google automatically ignores most spam links. Panic is the wrong reaction, a checking plan the right one.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#begriffe">The terms in one paragraph each</a></li>
        <li><a href="#ki-massencontent">What has changed: mass AI content is the new black hat</a></li>
        <li><a href="#grenzfaelle">The borderline cases, sorted by risk</a></li>
        <li><a href="#negative-seo-pruefplan">Negative SEO: the sober checking plan</a></li>
        <li><a href="#praxisbeispiel">Case study: how I handle suspected cases</a></li>
        <li><a href="#haeufige-fehler">Common mistakes with black hat, white hat and negative SEO</a></li>
        <li><a href="#faq">Frequently asked questions about black hat, white hat and negative SEO</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="begriffe">
  <div class="lp-wrap">
    <div class="lp-section__label">Context</div>
    <h2>The terms in one paragraph each</h2>
    <p><strong>White hat</strong> means: content, technology and linking follow the <a href="https://developers.google.com/search/docs/essentials" target="_blank" rel="noopener">Google Search Essentials</a>. Slower, but the result is yours permanently.</p>
    <p><strong>Black hat</strong> means: deliberate violation of the <a href="https://developers.google.com/search/docs/essentials/spam-policies" target="_blank" rel="noopener">spam policies</a> – cloaking, doorway pages, purchased links, keyword stuffing, hidden text. The deal is always the same: a short-term effect against the risk of losing visibility through an algorithm or manual action.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 800 420" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Schematic curve: short-term ranking rise through black hat methods, followed by a sharp visibility drop after a Google reaction, marked with a warning symbol at the turning point">
        <rect x="70" y="30" width="700" height="320" rx="12" fill="var(--lp-page-bg)"></rect>
        <line x1="70" y1="350" x2="770" y2="350" stroke="var(--lp-border)" stroke-width="2"></line>
        <line x1="70" y1="30" x2="70" y2="350" stroke="var(--lp-border)" stroke-width="2"></line>
        <text x="420" y="400" text-anchor="middle" font-size="15" fill="var(--lp-muted)">Time</text>
        <text x="30" y="190" text-anchor="middle" font-size="15" fill="var(--lp-muted)" transform="rotate(-90 30 190)">Visibility / rankings</text>
        <path d="M90,300 C170,280 230,160 330,110" fill="none" stroke="var(--lp-accent)" stroke-width="4" stroke-linecap="round"></path>
        <path d="M330,110 L400,105" fill="none" stroke="var(--lp-accent)" stroke-width="4" stroke-linecap="round"></path>
        <path d="M400,105 C440,110 460,240 480,300" fill="none" stroke="#dc2626" stroke-width="4" stroke-linecap="round"></path>
        <path d="M480,300 C560,325 650,330 750,332" fill="none" stroke="#dc2626" stroke-width="4" stroke-linecap="round" stroke-dasharray="2 8"></path>
        <line x1="400" y1="82" x2="400" y2="350" stroke="var(--lp-border)" stroke-width="1.5" stroke-dasharray="4 6"></line>
        <g transform="translate(400,58)">
          <polygon points="0,-20 18,13 -18,13" fill="#dc2626"></polygon>
          <text x="0" y="9" text-anchor="middle" font-size="16" font-weight="700" fill="#fff">!</text>
        </g>
        <text x="400" y="22" text-anchor="middle" font-size="13" font-weight="600" fill="#dc2626">Google reaction</text>
        <text x="190" y="210" text-anchor="middle" font-size="14" font-weight="600" fill="var(--lp-accent)">short-term boost</text>
        <text x="600" y="290" text-anchor="middle" font-size="14" font-weight="600" fill="#dc2626">Penalty / visibility loss</text>
        <circle cx="90" cy="300" r="5" fill="var(--lp-heading)"></circle>
        <circle cx="750" cy="332" r="5" fill="#dc2626"></circle>
      </svg>
      <figcaption>SSchematic example: how a short-term ranking boost through black hat methods can develop before a Google reaction (algorithm update or manual action) leads to visibility loss.</figcaption>
    </figure>
    <p><strong>Grey hat</strong> is the excuse term in between – usually black hat with better marketing.</p>
    <p><strong>Negative SEO</strong> means: someone applies black hat techniques against your website – spam links to your domain, copied content, fake reviews.</p>
  </div>
</section>

<section class="lp-section" id="ki-massencontent">
  <div class="lp-wrap">
    <div class="lp-section__label">What has changed</div>
    <h2>Mass AI content is the new black hat</h2>
    <p>The classic techniques are known and reliably detected. How reliably is shown by Google&#8217;s own numbers: in 2022, SpamBrain detected five times more spam websites than the year before and 200 times more than in 2018 – 99 percent of visits from Google search remained spam-free <em>(Google Webspam Report 2022)</em>.</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Period</th><th>Detected spam websites compared</th><th>Share of spam-free search visits</th></tr>
      </thead>
      <tbody>
        <tr><td>2018</td><td>Reference value</td><td>–</td></tr>
        <tr><td>2021</td><td>Basis for the 2022 comparison value</td><td>–</td></tr>
        <tr><td>2022</td><td>5 times more than 2021, 200 times more than 2018</td><td>99 %</td></tr>
      </tbody>
    </table>
    <p>Source: Google Webspam Report 2022.</p>
    <p>Today&#8217;s relevant grey area is a different one: hundreds or thousands of AI-generated pages without their own substance, produced solely for rankings. With the <a href="https://developers.google.com/search/docs/essentials/spam-policies" target="_blank" rel="noopener">March 2024 spam update, Google created its own category for this: &#8220;scaled content abuse&#8221;</a> – and explicitly classifies not the tool, but the purpose. Writing with AI assistance is allowed; rolling out masses of pages without added value is not.</p>
    <p>This is the point where it&#8217;s decided today whether a service provider works cleanly. Anyone promising you &#8220;500 pages in a week&#8221; is selling you a risk. How I work with AI instead – automating the routine, approval before every change, substance from your knowledge – is described under <a href="https://viktorpasztor.de/en/mcp-seo-en/">MCP SEO</a>.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="grenzfaelle">
  <div class="lp-wrap">
    <div class="lp-section__label">Risk classification</div>
    <h2>The borderline cases, sorted by risk</h2>
    <p>Between clearly clean and clearly black hat lie a few practices where the classification depends on the implementation – not the tool.</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Practice</th><th>Classification</th><th>Risk</th></tr>
      </thead>
      <tbody>
        <tr><td>Guest posts with editorial value</td><td>White hat</td><td>none</td></tr>
        <tr><td>AI draft, human-refined, with own substance</td><td>White hat</td><td>none</td></tr>
        <tr><td>Reviving expired domains for links</td><td>Spam policy (&#8220;expired domain abuse&#8221;)</td><td>high</td></tr>
        <tr><td>Purchased links without rel=&#8221;sponsored&#8221;</td><td>Black hat</td><td>high</td></tr>
        <tr><td>Masses of AI pages without added value</td><td>Black hat (&#8220;scaled content abuse&#8221;)</td><td>high</td></tr>
      </tbody>
    </table>
  </div>
</section>

<section class="lp-section" id="negative-seo-pruefplan">
  <div class="lp-wrap">
    <div class="lp-section__label">Suspected case</div>
    <h2>Negative SEO: the sober checking plan</h2>
    <p>The fear of link attacks is bigger than the danger: Google has explained for years that spam links are <a href="https://developers.google.com/search/docs/crawling-indexing/links-crawlable" target="_blank" rel="noopener">largely devalued automatically</a> – which is why, according to <a href="https://support.google.com/webmasters/answer/2648487" target="_blank" rel="noopener">Google&#8217;s own documentation</a>, the disavow tool is intended for one case only: when a <strong>manual action</strong> for unnatural links exists or realistically looms. Anyone submitting a disavow for every odd backlink is fighting a problem Google solved long ago.</p>
    <p>If you suspect an attack, check in this order:</p>
    <ol>
      <li><strong>Search Console → Manual actions:</strong> if nothing is listed there, there&#8217;s no acute penalty problem.</li>
      <li><strong>Date the ranking loss:</strong> does it coincide with a Google update? Then the cause usually lies with your own site, not the competitor.</li>
      <li><strong>Look at the backlink profile</strong> (Ahrefs/Semrush): a sudden surge of identical anchor texts from spam domains is conspicuous – document, monitor.</li>
      <li><strong>Check for content theft:</strong> have copied content on third-party domains removed via a <a href="https://support.google.com/legal/troubleshooter/1114905" target="_blank" rel="noopener">DMCA report</a> if necessary.</li>
      <li><strong>Disavow only in case of a manual action</strong> – then targeted, with documentation.</li>
    </ol>
  </div>
</section>

<section class="lp-section lp-section--surface" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>How I handle suspected cases</h2>
    <p>When rankings drop, the first question is almost always: did someone attack us? I then go through exactly the checking plan above before a disavow is even discussed. In the vast majority of cases I accompany across my currently around 15 client projects, there is no manual action in the Search Console – instead, the drop coincides with a Google update or an own technical change. A disavow without this check would repair nothing that&#8217;s broken, but cost a lot of time.</p>
    <p>For AI texts, the same rule applies with me as with the checking plan: nothing goes live without approval, and substance comes from what the client actually knows – not from generic volume. That&#8217;s exactly what separates the permissible use of AI in my work from the scaled content abuse Google has explicitly sanctioned since 2024.</p>
  </div>
</section>

<section class="lp-section" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes with black hat, white hat and negative SEO</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Disavow as a hygiene ritual</h3><p>Without a manual action, mostly ineffective to harmful.</p></div>
      <div class="lp-card"><h3>&#8220;The competitor did it&#8221; as the default explanation</h3><p>In most cases, the cause is an update or an own technical problem.</p></div>
      <div class="lp-card"><h3>Recognising black hat providers by the guarantee, not the price</h3><p>&#8220;Position 1 guaranteed&#8221; is the most reliable warning signal.</p></div>
      <div class="lp-card"><h3>Considering AI clean or dirty across the board</h3><p>What counts is the purpose: substance or mass.</p></div>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions about black hat, white hat and negative SEO</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>Is black hat SEO illegal?</summary>
        <p>Usually not in the criminal sense – but it violates Google&#8217;s guidelines and can also become legally relevant in cases of deception or reputational damage (negative SEO). The practical punishment is the loss of visibility.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Can negative SEO really harm me?</summary>
        <p>Rarely. Google&#8217;s systems devalue spam links predominantly automatically. More dangerous are content theft and fake reviews – both can be reported.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How do I recognise a dubious SEO provider?</summary>
        <p>By three signals: ranking guarantees, no information about methods, extremely high page or link numbers in a short time.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Is AI content black hat?</summary>
        <p>No – not per se. Google evaluates whether content benefits people. Mass production without added value has been its own spam category since March 2024.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3>What is SEO</h3>
        <p>The basics, before it&#8217;s about borderline cases.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/link-building-link-audit/">Off-page &amp; link building</a></h3>
        <p>What clean link building looks like in practice.</p>
      </div>
      <div class="lp-card">
        <h3>SEO vs. GEO vs. MCP SEO</h3>
        <p>How the disciplines differ and complement each other.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Unsure whether your SEO is clean?</h2>
      <p>Unsure whether your previous provider worked cleanly? In a free initial call, we&#8217;ll look at your link profile together.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/contact/">→ Book a call now</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{--lp-accent:var(--primary,hsla(238,100%,62%,1));--lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));--lp-surface:var(--bg-surface,hsla(0,0%,100%,1));--lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));--lp-heading:var(--text-title,hsla(0,0%,0%,1));--lp-ink:var(--text-body,hsla(0,0%,25%,1));--lp-muted:#666666;--lp-border:var(--border-primary,hsla(0,0%,50%,0.25));--lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));--lp-radius:var(--radius-m,1.2rem);--lp-radius-l:var(--radius-l,2rem);--lp-section:var(--space-xl,5.6rem);--lp-wrap:min(120rem,100%);--lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media (max-width: 1024px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .lp-grid--2, .lp-grid--4 { grid-template-columns: 1fr; }
}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/en/about-me/","jobTitle":"SEO Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/black-hat-white-hat-seo/#article","headline":"Black Hat, White Hat, Negative SEO: Where the Line Runs","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en-US","isPartOf":{"@id":"https://viktorpasztor.de/en/black-hat-white-hat-seo/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/black-hat-white-hat-seo/#webpage"}},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/black-hat-white-hat-seo/#webpage","url":"https://viktorpasztor.de/en/black-hat-white-hat-seo/","name":"Black Hat, White Hat, Negative SEO: Where the Line Runs","inLanguage":"en-US","breadcrumb":{"@id":"https://viktorpasztor.de/en/black-hat-white-hat-seo/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"Is black hat SEO illegal?","acceptedAnswer":{"@type":"Answer","text":"Usually not in the criminal sense – but it violates Google's guidelines and can also become legally relevant in cases of deception or reputational damage. The practical punishment is the loss of visibility."}},{"@type":"Question","name":"Can negative SEO really harm me?","acceptedAnswer":{"@type":"Answer","text":"Rarely. Google's systems devalue spam links predominantly automatically. More dangerous are content theft and fake reviews – both can be reported."}},{"@type":"Question","name":"How do I recognise a dubious SEO provider?","acceptedAnswer":{"@type":"Answer","text":"By three signals: ranking guarantees, no information about methods, extremely high page or link numbers in a short time."}},{"@type":"Question","name":"Is AI content black hat?","acceptedAnswer":{"@type":"Answer","text":"No – not per se. Mass production without added value has been its own spam category since March 2024 – AI-assisted work with substance is not."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/en/black-hat-white-hat-seo/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"Black hat vs. white hat","item":"https://viktorpasztor.de/en/black-hat-white-hat-seo/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Structured Data and Entities: Schema.org for Google and AI Search</title>
		<link>https://viktorpasztor.de/en/structured-data-entities/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 21:08:50 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/structured-data-entities/</guid>

					<description><![CDATA[Guide · Structured data Structured Data and Entities: Schema.org for Google and AI Search By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 6 min Short answer More important than individual rich results today is entity consistency Structured data are machine-readable statements in JSON-LD format that tell Google and AI search [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · Structured data</p>
    <h1 class="lp-hero__title">Structured Data and Entities: Schema.org for Google and AI Search</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 6 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>More important than individual rich results today is entity consistency</h2>
    <p>Structured data are machine-readable statements in JSON-LD format that tell Google and AI search systems who and what is behind a page. In 2026, Google still displays around 20 rich result types – FAQ snippets have been switched off since May 2026. More important than individual snippets today is entity consistency: Organization, Person and Breadcrumb cleanly linked via @id.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#was-ist-json-ld">What JSON-LD is – in two minutes</a></li>
        <li><a href="#eiserne-regel">The iron rule: markup = visible content</a></li>
        <li><a href="#rich-results-2026">Which rich results Google still supports in 2026</a></li>
        <li><a href="#faqpage-bleibt">Why FAQPage markup stays anyway</a></li>
        <li><a href="#entitaeten-verknuepfen">Linking entities: Organization, Person, Breadcrumb via @id</a></li>
        <li><a href="#validieren">Validating: two tools, two questions</a></li>
        <li><a href="#entitaeten-konsistenz">Entity consistency: preparing for AI search</a></li>
        <li><a href="#praxisbeispiel">Case study: @id linking in practice</a></li>
        <li><a href="#haeufige-fehler">Common mistakes when using structured data</a></li>
        <li><a href="#faq">Frequently asked questions about structured data</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="was-ist-json-ld">
  <div class="lp-wrap">
    <div class="lp-section__label">Basics</div>
    <h2>What JSON-LD is – in two minutes</h2>
    <p>JSON-LD is a script block that describes content in a form machines understand unambiguously. Instead of Google having to guess from your body text whether &#8220;Jaguar&#8221; is an animal or a car, you say it explicitly: &#8220;@type&#8221;: &#8220;Product&#8221;, manufacturer, price, rating.</p>
    <p>The vocabulary is provided by <a href="https://schema.org/" target="_blank" rel="noopener">Schema.org</a>. JSON-LD is the format recommended by Google – Microdata and RDFa still work, but are harder to maintain. Adoption reflects that: 54.8 percent of all websites now use JSON-LD, Microdata only reaches 21.9 percent (<a href="https://w3techs.com/technologies/overview/structured_data" target="_blank" rel="noopener">W3Techs, as of August 2026</a>).</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 380" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Bar chart: adoption of structured data formats among websites, JSON-LD 54.8 percent, generic RDFa 37.5 percent, Microdata 21.9 percent, as of August 2026">
        <rect x="0" y="0" width="900" height="380" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="379" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="24" font-weight="bold" fill="#000000">Structured data formats compared</text>
        <text x="40" y="74" font-size="14" fill="#404040">Share of websites using each format (multiple use possible), as of August 2026</text>
        <g stroke="rgba(128,128,128,0.25)" stroke-width="1">
          <line x1="426" y1="110" x2="426" y2="255"></line>
          <line x1="513" y1="110" x2="513" y2="255"></line>
          <line x1="600" y1="110" x2="600" y2="255"></line>
          <line x1="686" y1="110" x2="686" y2="255"></line>
          <line x1="773" y1="110" x2="773" y2="255"></line>
          <line x1="860" y1="110" x2="860" y2="255"></line>
        </g>
        <g font-size="12" fill="#404040" text-anchor="middle">
          <text x="340" y="275">0 %</text>
          <text x="426" y="275">10 %</text>
          <text x="513" y="275">20 %</text>
          <text x="600" y="275">30 %</text>
          <text x="686" y="275">40 %</text>
          <text x="773" y="275">50 %</text>
          <text x="860" y="275">60 %</text>
        </g>
        <g font-size="13" fill="#404040" text-anchor="end">
          <text x="328" y="149">JSON-LD</text>
          <text x="328" y="193">generic RDFa</text>
          <text x="328" y="237">Microdata</text>
        </g>
        <rect x="340" y="130" width="475" height="28" fill="#FA6161" rx="6"></rect>
        <text x="805" y="149" font-size="13" font-weight="bold" fill="#ffffff" text-anchor="end">54.8 %</text>
        <rect x="340" y="174" width="325" height="28" fill="#3D44FF" rx="6"></rect>
        <text x="675" y="193" font-size="13" font-weight="bold" fill="#404040">37.5 %</text>
        <rect x="340" y="218" width="190" height="28" fill="#3D44FF" rx="6"></rect>
        <text x="540" y="237" font-size="13" font-weight="bold" fill="#404040">21.9 %</text>
        <text x="40" y="312" font-size="13" fill="#404040">That makes JSON-LD by far the most widely used format for structured data.</text>
        <text x="40" y="340" font-size="12" fill="#404040">Source: W3Techs, markup usage statistics, retrieved August 2026</text>
        <text x="860" y="362" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · Structured data</text>
      </svg>
      <figcaption>Adoption of structured data formats: JSON-LD clearly leads with 54.8 percent, ahead of generic RDFa (37.5 percent) and Microdata (21.9 percent).</figcaption>
    </figure>
    <p>JSON-LD sits as one block in one place and can be deployed centrally. Your visitors see none of it – crawlers see all of it.</p>
  </div>
</section>

<section class="lp-section" id="eiserne-regel">
  <div class="lp-wrap">
    <div class="lp-section__label">Basic rule</div>
    <h2>The iron rule: markup = visible content</h2>
    <p>Everything you mark up must be visible on the page. A price in the markup that isn&#8217;t on the page; a rating without visible reviews; questions in FAQPage markup that appear nowhere in the text – all of that violates <a href="https://developers.google.com/search/docs/appearance/structured-data/sd-policies" target="_blank" rel="noopener">Google&#8217;s structured data policies</a>.</p>
    <p>The consequence is real: Google imposes manual actions for structured data spam. Then the entire domain loses its rich results. Rule of thumb: <strong>write the visible content first, generate the markup from it</strong> – never the other way around.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="rich-results-2026">
  <div class="lp-wrap">
    <div class="lp-section__label">Overview</div>
    <h2>Which rich results Google still supports in 2026</h2>
    <p>In 2026, Google still supports around 20 rich result types, documented in the <a href="https://developers.google.com/search/docs/appearance/structured-data/search-gallery" target="_blank" rel="noopener">Search Gallery</a>. The most important at a glance:</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Type</th><th>Shows</th><th>Status 2026</th></tr>
      </thead>
      <tbody>
        <tr><td>Product</td><td>Price, availability, ratings</td><td>active – most important markup for shops</td></tr>
        <tr><td>Article</td><td>Classification for News and Discover</td><td>active</td></tr>
        <tr><td>LocalBusiness</td><td>Opening hours, location</td><td>active</td></tr>
        <tr><td>Recipe</td><td>Recipe rich result</td><td>active, depending on niche</td></tr>
        <tr><td>Event</td><td>Event data</td><td>active, depending on niche</td></tr>
        <tr><td>JobPosting</td><td>Job posting</td><td>active, depending on niche</td></tr>
        <tr><td>Review-Snippets</td><td>Rating stars</td><td>active, depending on niche</td></tr>
        <tr><td>BreadcrumbList</td><td>Path display in the snippet</td><td>active</td></tr>
        <tr><td>FAQPage</td><td>Question-answer snippet</td><td>switched off since May 2026</td></tr>
        <tr><td>HowTo</td><td>Step-by-step instructions</td><td>discontinued</td></tr>
        <tr><td>Sitelinks-Searchbox</td><td>Search box in the snippet</td><td>discontinued</td></tr>
      </tbody>
    </table>
    <p>Discontinued over the years were, among others, HowTo and the sitelinks search box. The most recent cut: in May 2026, Google finally switched off FAQ rich results – after they had only been served for individual government and health sites since 2023 anyway.</p>
  </div>
</section>

<section class="lp-section" id="faqpage-bleibt">
  <div class="lp-wrap">
    <div class="lp-section__label">Context</div>
    <h2>Why FAQPage markup stays anyway</h2>
    <p>Rich results were never the only consumer of structured data. FAQPage markup delivers question-answer pairs machine-readably – exactly the format AI search systems process when assembling answers. A cleanly marked-up answer of 40 to 60 words is a ready-made citation unit for AI Overviews and AI Mode.</p>
    <p>On top of that, the entity effect: every valid markup feeds the search engine&#8217;s understanding of who you are. My recommendation: keep FAQPage markup – but only for visibly answered questions.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="entitaeten-verknuepfen">
  <div class="lp-wrap">
    <div class="lp-section__label">Linking</div>
    <h2>Linking entities: Organization, Person, Breadcrumb via @id</h2>
    <p>This is where solid markup separates from copy-paste markup. Every entity gets a fixed @id: <code>https://viktorpasztor.de/#organization</code> for the company, <code>#person</code> for the person, one <code>#breadcrumb</code> and <code>#article</code> ID per page.</p>
    <p>The effect: instead of every page creating a new, unconnected entity, all articles reference the same person. One entity, a hundred pieces of evidence – instead of a hundred entities with one piece each.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 460" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Schema: one central Person entity with a fixed @id, referenced by several article pages via author.@id, instead of each creating its own entities">
        <rect x="0" y="0" width="900" height="460" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="459" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="24" font-weight="bold" fill="#000000">One @id, many pieces of evidence</text>
        <text x="40" y="74" font-size="14" fill="#404040">Several articles point to the same Person entity instead of each creating a new one</text>
        <g stroke="#3D44FF" stroke-opacity="0.35" stroke-width="2">
          <line x1="330" y1="245" x2="560" y2="105"></line>
          <line x1="330" y1="245" x2="560" y2="205"></line>
          <line x1="330" y1="245" x2="560" y2="305"></line>
          <line x1="330" y1="245" x2="560" y2="405"></line>
        </g>
        <rect x="50" y="190" width="280" height="110" rx="12" fill="#3D44FF"></rect>
        <text x="190" y="228" font-size="17" font-weight="bold" fill="#ffffff" text-anchor="middle">Person</text>
        <text x="190" y="252" font-size="12" fill="#ffffff" text-anchor="middle">@id: viktorpasztor.de/#person</text>
        <text x="190" y="272" font-size="12" fill="#ffffff" text-anchor="middle">Viktor Pásztor</text>
        <g>
          <rect x="560" y="70" width="300" height="70" rx="10" fill="#ffffff" stroke="rgba(128,128,128,0.3)"></rect>
          <text x="580" y="98" font-size="14" font-weight="bold" fill="#000000">Article: SEO tools</text>
          <text x="580" y="120" font-size="12" fill="#404040">author.@id → #person</text>
          <rect x="560" y="170" width="300" height="70" rx="10" fill="#ffffff" stroke="rgba(128,128,128,0.3)"></rect>
          <text x="580" y="198" font-size="14" font-weight="bold" fill="#000000">Article: structured data</text>
          <text x="580" y="220" font-size="12" fill="#404040">author.@id → #person</text>
          <rect x="560" y="270" width="300" height="70" rx="10" fill="#ffffff" stroke="rgba(128,128,128,0.3)"></rect>
          <text x="580" y="298" font-size="14" font-weight="bold" fill="#000000">Article: technical SEO</text>
          <text x="580" y="320" font-size="12" fill="#404040">author.@id → #person</text>
          <rect x="560" y="370" width="300" height="70" rx="10" fill="#ffffff" stroke="rgba(128,128,128,0.3)"></rect>
          <text x="580" y="398" font-size="14" font-weight="bold" fill="#000000">More articles …</text>
          <text x="580" y="420" font-size="12" fill="#404040">author.@id → #person</text>
        </g>
        <text x="40" y="440" font-size="12" fill="#404040">Schema: @id linking of Person and Article entities</text>
      </svg>
      <figcaption>All articles reference the same Person entity via @id – creating one entity with many pieces of evidence instead of many unconnected duplicates.</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section" id="validieren">
  <div class="lp-wrap">
    <div class="lp-section__label">Checking</div>
    <h2>Validating: two tools, two questions</h2>
    <p>Two tools, two different questions:</p>
    <ol>
      <li><a href="https://search.google.com/test/rich-results" target="_blank" rel="noopener">Rich Results Test</a> (Google): is the markup suitable for a Google rich result? Only checks supported types.</li>
      <li><a href="https://validator.schema.org/" target="_blank" rel="noopener">Schema Markup Validator</a> (Schema.org): is the markup syntactically valid – regardless of what Google makes of it?</li>
    </ol>
    <p>Use both: an FAQPage block has been invisible in the Rich Results Test since May 2026, but can still be checked in the Schema Markup Validator. After that, keep an eye on the Search Console.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="entitaeten-konsistenz">
  <div class="lp-wrap">
    <div class="lp-section__label">AI search</div>
    <h2>Entity consistency: preparing for AI search</h2>
    <p>AI search systems assign statements to entities. Consistency means: <strong>name, address, service description and profiles match everywhere</strong> – in the schema markup, in the legal notice, in the Google Business Profile, on LinkedIn. sameAs references connect the profiles explicitly. Three spellings of the company name are three candidates for a machine instead of one entity.</p>
  </div>
</section>

<section class="lp-section" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>@id linking in practice</h2>
    <p>This is what the linking looks like in practice:</p>
    <blockquote class="lp-article__quote">
      <p>&#8220;For a B2B software provider, we consolidated the scattered Organization blocks across around 300 pages onto one central @id and linked the authors as Person entities. Four months later, the provider was named as a source in AI Overviews for the first time – before that, it didn&#8217;t appear there at all.&#8221;</p>
      <cite>— Viktor Pásztor, SEO freelancer</cite>
    </blockquote>
    <p>What was decisive was not a single schema type, but that in the end every page pointed to the same Person and Organization @id – instead of creating dozens of unconnected copies.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes when using structured data</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Markup without a visible counterpart</h3><p>The fastest way to a manual action: price, rating or question in the markup, but not visible on the page.</p></div>
      <div class="lp-card"><h3>No @id linking</h3><p>Without a fixed @id, every page creates an isolated duplicate entity instead of referencing the same Person or Organization.</p></div>
      <div class="lp-card"><h3>FAQ markup deleted after May 2026</h3><p>The snippet benefit is gone, the entity benefit for AI search systems isn&#8217;t. Deleting was premature here.</p></div>
      <div class="lp-card"><h3>Installed once, never maintained</h3><p>Prices and authors in the markup go stale if nobody keeps them in sync with the visible content.</p></div>
    </div>
  </div>
</section>

<section class="lp-section" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions about structured data</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>Does schema markup bring better rankings?</summary>
        <p>Not directly – structured data is not a ranking factor. But product snippets with price and rating often measurably increase the click-through rate, frequently in the range of 5–15 %.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Should I still add FAQPage markup in 2026?</summary>
        <p>Yes, if the questions are visibly answered on the page. The rich results have been gone since May 2026; the value for entity assignment and AI search remains.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How many schema types does a normal website need?</summary>
        <p>Usually 4 are enough: Organization or Person, Article, BreadcrumbList and, depending on the business, Product or LocalBusiness.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How quickly do markup changes take effect?</summary>
        <p>After the next crawl of the page – on active websites often within 3 to 14 days.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/technical-seo/">Technical SEO</a></h3>
        <p>What a crawl finds and what happens next.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/on-page-optimization/">On-page optimisation</a></h3>
        <p>How a page&#8217;s content and structure interact.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-audit/">SEO audit service</a></h3>
        <p>An audit checks markup, technology and content together.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Unsure whether your markup is clean?</h2>
      <p>In a free initial call, we&#8217;ll check your structured data and your entity consistency on concrete pages. Reply within 24 hours on business days.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/seo-audit/">→ Book a call now</a>
    </div>
  </div>
</section>
</div>

<style>
/* Portable Ratgeber-Section (.lp-page.lp-article) – erweitert die Leistungsseiten-Tokens
   um Artikel-spezifische Bausteine: Byline, Inhaltsverzeichnis, Zitat, Vergleichstabelle. */
.lp-page{
  --lp-accent:var(--primary,hsla(238,100%,62%,1));
  --lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));
  --lp-surface:var(--bg-surface,hsla(0,0%,100%,1));
  --lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));
  --lp-heading:var(--text-title,hsla(0,0%,0%,1));
  --lp-ink:var(--text-body,hsla(0,0%,25%,1));
  --lp-muted:color-mix(in srgb, var(--text-body,#404040) 65%, var(--bg-body,#e6e6e6));
  --lp-border:var(--border-primary,hsla(0,0%,50%,0.25));
  --lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));
  --lp-radius:var(--radius-m,1.2rem);
  --lp-radius-l:var(--radius-l,2rem);
  --lp-section:var(--space-xl,5.6rem);
  --lp-wrap:min(120rem,100%);
  --lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);
  font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);
}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media(max-width:1024px){.lp-grid--2,.lp-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.lp-grid--2,.lp-grid--4{grid-template-columns:1fr}}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
.lp-page cite{opacity:1}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/en/about-me/","jobTitle":"SEO Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/structured-data-entities/#article","headline":"Structured Data and Entities: Schema.org for Google and AI Search","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en-US","isPartOf":{"@id":"https://viktorpasztor.de/en/structured-data-entities/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/structured-data-entities/#webpage"}},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/structured-data-entities/#webpage","url":"https://viktorpasztor.de/en/structured-data-entities/","name":"Structured Data and Entities: Schema.org for Google and AI Search","inLanguage":"en-US","breadcrumb":{"@id":"https://viktorpasztor.de/en/structured-data-entities/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"Does schema markup bring better rankings?","acceptedAnswer":{"@type":"Answer","text":"Not directly – structured data is not a ranking factor. But product snippets with price and rating often measurably increase the click-through rate, frequently in the range of 5–15 %."}},{"@type":"Question","name":"Should I still add FAQPage markup in 2026?","acceptedAnswer":{"@type":"Answer","text":"Yes, if the questions are visibly answered on the page. The rich results are gone; the value for entity assignment and AI search remains."}},{"@type":"Question","name":"How many schema types does a normal website need?","acceptedAnswer":{"@type":"Answer","text":"Usually 4 are enough: Organization or Person, Article, BreadcrumbList and, depending on the business, Product or LocalBusiness."}},{"@type":"Question","name":"How quickly do markup changes take effect?","acceptedAnswer":{"@type":"Answer","text":"After the next crawl of the page – on active websites often within 3 to 14 days."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/en/structured-data-entities/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"Structured data","item":"https://viktorpasztor.de/en/structured-data-entities/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>301, 302 or 410: Which Status Code Is Right When</title>
		<link>https://viktorpasztor.de/en/http-status-codes/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 21:00:53 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/http-status-codes/</guid>

					<description><![CDATA[Guide · Status codes &#38; redirects 301, 302 or 410: Which Status Code Is Right When By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 5 min Short answer The decision follows a fixed logic The decision follows a simple logic: if there&#8217;s an equivalent successor, set a 301 redirect. If [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · Status codes &amp; redirects</p>
    <h1 class="lp-hero__title">301, 302 or 410: Which Status Code Is Right When</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 5 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>The decision follows a fixed logic</h2>
    <p>The decision follows a simple logic: if there&#8217;s an equivalent successor, set a 301 redirect. If the change is truly temporary, a 302. If the content is gone without replacement, respond with 410. And if the page still has traffic or backlinks: keep it instead of deleting. Google treats both redirect types similarly today – but only after a transition period, and that&#8217;s exactly where the mistakes happen.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#vier-optionen">The four options – a decision logic</a></li>
        <li><a href="#statuscodes-tabelle">Status codes at a glance</a></li>
        <li><a href="#redirect-301">301: the standard for every move</a></li>
        <li><a href="#redirect-302">302: almost always the wrong choice</a></li>
        <li><a href="#redirect-410">410 instead of 404: deleting with notice</a></li>
        <li><a href="#praxisbeispiel">The relaunch case: where visibility really gets lost</a></li>
        <li><a href="#haeufige-fehler">Common mistakes</a></li>
        <li><a href="#faq">Frequently asked questions about status codes and redirects</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="vier-optionen">
  <div class="lp-wrap">
    <div class="lp-section__label">Decision logic</div>
    <h2>The four options – a decision logic</h2>
    <p>For every URL that&#8217;s due to be dropped or moved, I check four questions in this order:</p>
    <ol>
      <li><strong>Does the page still have value?</strong> Traffic in the Search Console, backlinks, internal links. If yes: don&#8217;t delete – keep or revise.</li>
      <li><strong>Is there an equivalent successor?</strong> Then 301. Equivalent means: the visitor finds there what they were looking for – not just the homepage.</li>
      <li><strong>Is the page coming back?</strong> Maintenance window, seasonal promotion, A/B test: 302. Only then.</li>
      <li><strong>Gone without replacement?</strong> Then 410 (&#8220;Gone&#8221;) – the honest signal to Google to remove the URL from the index promptly.</li>
    </ol>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 620" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Decision tree: four questions lead to the choice between keep, 301, 302 or 410">
        <rect x="0" y="0" width="900" height="620" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="619" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="22" font-weight="bold" fill="#000000">Decision tree: 301, 302, 410 or keep</text>
        <text x="40" y="70" font-size="13" fill="#404040">Four questions in a fixed order – every URL gets exactly one answer</text>
        <rect x="330" y="96" width="240" height="52" rx="10" fill="#3D44FF"></rect>
        <text x="450" y="118" font-size="13" font-weight="bold" fill="#ffffff" text-anchor="middle">1. Does the page still have value?</text>
        <text x="450" y="136" font-size="11" fill="#e6e6ff" text-anchor="middle">Traffic, backlinks, internal links</text>
        <line x1="450" y1="148" x2="450" y2="176" stroke="#9b9b9b" stroke-width="1.5"></line>
        <line x1="130" y1="176" x2="770" y2="176" stroke="#9b9b9b" stroke-width="1.5"></line>
        <line x1="130" y1="176" x2="130" y2="196" stroke="#9b9b9b" stroke-width="1.5"></line>
        <line x1="450" y1="176" x2="450" y2="196" stroke="#9b9b9b" stroke-width="1.5"></line>
        <text x="150" y="170" font-size="11" fill="#404040">Yes</text>
        <text x="470" y="170" font-size="11" fill="#404040">No, keep checking</text>
        <rect x="20" y="196" width="220" height="50" rx="10" fill="#FA6161"></rect>
        <text x="130" y="226" font-size="14" font-weight="bold" fill="#ffffff" text-anchor="middle">Keep / revise</text>
        <rect x="330" y="196" width="240" height="52" rx="10" fill="#3D44FF"></rect>
        <text x="450" y="218" font-size="13" font-weight="bold" fill="#ffffff" text-anchor="middle">2. Equivalent successor?</text>
        <text x="450" y="236" font-size="11" fill="#e6e6ff" text-anchor="middle">Visitor finds what they sought</text>
        <line x1="450" y1="248" x2="450" y2="276" stroke="#9b9b9b" stroke-width="1.5"></line>
        <line x1="230" y1="276" x2="770" y2="276" stroke="#9b9b9b" stroke-width="1.5"></line>
        <line x1="230" y1="276" x2="230" y2="296" stroke="#9b9b9b" stroke-width="1.5"></line>
        <line x1="450" y1="276" x2="450" y2="296" stroke="#9b9b9b" stroke-width="1.5"></line>
        <text x="250" y="270" font-size="11" fill="#404040">Yes</text>
        <text x="470" y="270" font-size="11" fill="#404040">No, keep checking</text>
        <rect x="120" y="296" width="220" height="50" rx="10" fill="#3D44FF"></rect>
        <text x="230" y="326" font-size="15" font-weight="bold" fill="#ffffff" text-anchor="middle">301 redirect</text>
        <rect x="330" y="296" width="240" height="52" rx="10" fill="#3D44FF"></rect>
        <text x="450" y="318" font-size="13" font-weight="bold" fill="#ffffff" text-anchor="middle">3. Is the page coming back?</text>
        <text x="450" y="336" font-size="11" fill="#e6e6ff" text-anchor="middle">Maintenance, promotion, A/B test</text>
        <line x1="450" y1="348" x2="450" y2="376" stroke="#9b9b9b" stroke-width="1.5"></line>
        <line x1="310" y1="376" x2="570" y2="376" stroke="#9b9b9b" stroke-width="1.5"></line>
        <line x1="310" y1="376" x2="310" y2="396" stroke="#9b9b9b" stroke-width="1.5"></line>
        <line x1="570" y1="376" x2="570" y2="396" stroke="#9b9b9b" stroke-width="1.5"></line>
        <text x="330" y="370" font-size="11" fill="#404040">Yes</text>
        <text x="580" y="370" font-size="11" fill="#404040">No</text>
        <rect x="210" y="396" width="200" height="50" rx="10" fill="#3D44FF"></rect>
        <text x="310" y="426" font-size="15" font-weight="bold" fill="#ffffff" text-anchor="middle">302 redirect</text>
        <rect x="470" y="396" width="200" height="50" rx="10" fill="#FA6161"></rect>
        <text x="570" y="426" font-size="15" font-weight="bold" fill="#ffffff" text-anchor="middle">410 – gone without replacement</text>
        <text x="40" y="486" font-size="12" fill="#404040">Only checking all four questions in order avoids the most common redirect mistakes.</text>
        <text x="860" y="600" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · Status codes &amp; redirects</text>
      </svg>
      <figcaption>Decision tree for status codes: check value, then successor, then return, otherwise 410.</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section" id="statuscodes-tabelle">
  <div class="lp-wrap">
    <div class="lp-section__label">Overview</div>
    <h2>Status codes at a glance</h2>
    <table class="lp-article__table">
      <thead>
        <tr><th>Status code</th><th>Meaning</th><th>SEO effect</th></tr>
      </thead>
      <tbody>
        <tr><td>200 OK</td><td>Page is reachable and delivers content</td><td>Normal state, no action needed</td></tr>
        <tr><td>301 Moved Permanently</td><td>Permanent redirect</td><td>Transfers signals to the target URL, standard for moves</td></tr>
        <tr><td>302 Found</td><td>Temporary redirect</td><td>Target URL only takes over signals with a delay</td></tr>
        <tr><td>404 Not Found</td><td>Page not found</td><td>Rechecked by Google several times before it drops from the index</td></tr>
        <tr><td>410 Gone</td><td>Deliberately removed, no replacement</td><td>Clear signal, usually disappears from the index faster than 404</td></tr>
      </tbody>
    </table>
    <p>The table shows the codes that are actually relevant in daily SEO work. All other 4xx and 5xx codes are usually technical errors, not a strategic decision.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="redirect-301">
  <div class="lp-wrap">
    <div class="lp-section__label">The standard case</div>
    <h2>301: the standard for every move</h2>
    <p>The permanent redirect transfers the old URL&#8217;s signals to the new one – <a href="https://developers.google.com/search/docs/crawling-indexing/301-redirects" target="_blank" rel="noopener">Google confirms in the official docs</a> that server-side redirects are the strongest way to communicate a move. The lifespan matters: <a href="https://developers.google.com/search/docs/crawling-indexing/301-redirects" target="_blank" rel="noopener">Google recommends keeping redirects active for at least a year</a>; from practice, I advise permanent for important pages – backlinks don&#8217;t age.</p>
    <p>The most common 301 mistake isn&#8217;t the missing redirect, but the chain: old → interim → new → new slug. Every station costs crawl time, and from about five hops Google gives up. Always shorten chains to a single jump.</p>
  </div>
</section>

<section class="lp-section" id="redirect-302">
  <div class="lp-wrap">
    <div class="lp-section__label">The exception</div>
    <h2>302: almost always the wrong choice</h2>
    <p>The search volume for &#8220;302 seo&#8221; is small, the problem behind it big: 302 is usually set accidentally because it&#8217;s the default in some systems. The consequence is no drama – Google treats a permanently standing 302 <a href="https://developers.google.com/search/docs/crawling-indexing/301-redirects" target="_blank" rel="noopener">like a 301 after some time</a> – but the transition period is unnecessary blur: the old URL stays in the index longer, the new one takes over more slowly. Mnemonic: 302 only if you know the return date.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="redirect-410">
  <div class="lp-wrap">
    <div class="lp-section__label">Deleting with notice</div>
    <h2>410 instead of 404: deleting with notice</h2>
    <p>A deleted page without a successor should not redirect to the homepage – <a href="https://developers.google.com/search/docs/crawling-indexing/http-network-errors" target="_blank" rel="noopener">Google treats such &#8220;soft redirects&#8221; as soft 404s</a>, and the user lands confused in nowhere. A clean 410 says: deliberately removed. In practice, 410 URLs usually disappear from the index faster than 404s, because Google initially rechecks 404 several times as a possible random error.</p>
  </div>
</section>

<section class="lp-section" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>The relaunch case: where visibility really gets lost</h2>
    <p>Most ranking losses after a relaunch have the same cause: the redirect concept was missing or only covered the main pages. How much is at stake is shown by a <a href="https://ahrefs.com/blog/link-rot-study" target="_blank" rel="noopener">study by Ahrefs across a good two million websites</a>: 66.5 percent of all links set to these domains since 2013 are now dead.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 460" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Bar chart: link rot after nine years – 66.5 percent dead links, 6.45 percent temporary errors, 27.05 percent intact, Ahrefs study across 2 million websites">
        <rect x="0" y="0" width="900" height="460" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="459" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="22" font-weight="bold" fill="#000000">Link rot after nine years</text>
        <text x="40" y="70" font-size="13" fill="#404040">Share of links set since 2013, by state, in percent</text>
        <g stroke="rgba(128,128,128,0.25)" stroke-width="1">
          <line x1="260" y1="100" x2="260" y2="340"></line>
          <line x1="420" y1="100" x2="420" y2="340"></line>
          <line x1="580" y1="100" x2="580" y2="340"></line>
          <line x1="740" y1="100" x2="740" y2="340"></line>
        </g>
        <g font-size="12" fill="#404040" text-anchor="middle">
          <text x="260" y="360">0 %</text>
          <text x="420" y="360">25 %</text>
          <text x="580" y="360">50 %</text>
          <text x="740" y="360">75 %</text>
        </g>
        <g font-size="13" fill="#404040" text-anchor="end">
          <text x="248" y="149">Dead (link rot)</text>
          <text x="248" y="219">Intact</text>
          <text x="248" y="289">Temporary errors</text>
        </g>
        <rect x="260" y="130" width="425.6" height="38" fill="#FA6161" rx="6"></rect>
        <text x="695" y="155" font-size="14" font-weight="bold" fill="#404040">66.5 %</text>
        <rect x="260" y="200" width="173.1" height="38" fill="#3D44FF" rx="6"></rect>
        <text x="443" y="225" font-size="14" font-weight="bold" fill="#404040">27.05 %</text>
        <rect x="260" y="270" width="41.3" height="38" fill="#9b9b9b" rx="6"></rect>
        <text x="311" y="295" font-size="14" font-weight="bold" fill="#404040">6.45 %</text>
        <text x="40" y="400" font-size="13" fill="#404040">Result based on over 2 million websites examined since January 2013.</text>
        <text x="40" y="424" font-size="12" fill="#404040">Source: Ahrefs, &#8220;Link Rot Study&#8221;, retrieved 6 August 2026</text>
        <text x="860" y="445" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · Status codes &amp; redirects</text>
      </svg>
      <figcaption>Link rot over nine years: 66.5 percent of links are dead, 27.05 percent intact, 6.45 percent show temporary errors (Ahrefs study across 2 million websites).</figcaption>
    </figure>
    <p>Categories, old blog slugs, parameter URLs – everything that carried backlinks or rankings runs into 404. That&#8217;s why every relaunch should be preceded by a complete crawl of the old domain plus a GSC comparison, and every URL gets one of the four decisions from the decision tree above. The overall framework for this work is provided by <a href="https://viktorpasztor.de/en/technical-seo/">technical SEO</a>.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Redirecting everything to the homepage</h3><p>Soft 404 for Google, dead end for users. Without an equivalent successor, 410 is more honest than a redirect into nowhere.</p></div>
      <div class="lp-card"><h3>302 as a permanent solution</h3><p>Delays signal transfer without any benefit. 302 only belongs where a concrete return date is fixed.</p></div>
      <div class="lp-card"><h3>Leaving redirect chains in place</h3><p>Old → interim → new costs crawl time. After every relaunch, crawl once and shorten to one hop.</p></div>
      <div class="lp-card"><h3>Treating 404 pages as a problem across the board</h3><p>A 404 for URLs that never existed is correct – only URLs with traffic, backlinks or internal links need a decision.</p></div>
    </div>
  </div>
</section>

<section class="lp-section" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions about status codes and redirects</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>Does a 301 redirect lose link equity?</summary>
        <p>According to Google, no PageRank is lost through the redirect itself. What matters in practice is the relevance of the target – a redirect to a different topic works like none at all.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How long does a redirect have to stay active?</summary>
        <p><a href="https://developers.google.com/search/docs/crawling-indexing/301-redirects" target="_blank" rel="noopener">At least one year according to Google</a>. For URLs with backlinks: permanently.</p>
      </details>
      <details class="lp-faq__item">
        <summary>404 or 410 – which is better?</summary>
        <p>For deliberately deleted content, 410. A 404 isn&#8217;t wrong, but Google rechecks it more often before the URL drops from the index.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How do I find all URLs that need a redirect?</summary>
        <p>Crawl of the old website (for example with Screaming Frog) plus a Search Console export of pages with impressions plus a backlink list. The intersection is the redirect map.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/technical-seo/">Technical SEO</a></h3>
        <p>What a crawl finds and what happens next.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-audit/">SEO audit</a></h3>
        <p>How an audit uncovers redirect errors and indexing problems.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/ongoing-seo-support/">SEO support</a></h3>
        <p>Ongoing monitoring of redirects and error pages.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Relaunch planned and unsure about the redirect concept?</h2>
      <p>An SEO audit clarifies which URLs need a redirect – and which can be deleted. Reply within 24 hours on business days.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/seo-audit/">→ Request an SEO audit now</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{--lp-accent:var(--primary,hsla(238,100%,62%,1));--lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));--lp-surface:var(--bg-surface,hsla(0,0%,100%,1));--lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));--lp-heading:var(--text-title,hsla(0,0%,0%,1));--lp-ink:var(--text-body,hsla(0,0%,25%,1));--lp-muted:#666666;--lp-border:var(--border-primary,hsla(0,0%,50%,0.25));--lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));--lp-radius:var(--radius-m,1.2rem);--lp-radius-l:var(--radius-l,2rem);--lp-section:var(--space-xl,5.6rem);--lp-wrap:min(120rem,100%);--lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media(max-width:1024px){.lp-grid--2,.lp-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.lp-grid--2,.lp-grid--4{grid-template-columns:1fr}}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
.lp-page cite{opacity:1}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/en/about-me/","jobTitle":"SEO Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/http-status-codes/#article","headline":"301, 302 or 410: Which Status Code Is Right When","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en-US","isPartOf":{"@id":"https://viktorpasztor.de/en/http-status-codes/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/http-status-codes/#webpage"}},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/http-status-codes/#webpage","url":"https://viktorpasztor.de/en/http-status-codes/","name":"301, 302 or 410: Which Status Code Is Right When","inLanguage":"en-US","breadcrumb":{"@id":"https://viktorpasztor.de/en/http-status-codes/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"Does a 301 redirect lose link equity?","acceptedAnswer":{"@type":"Answer","text":"According to Google, no PageRank is lost through the redirect itself. What matters in practice is the relevance of the target – a redirect to a different topic works like none at all."}},{"@type":"Question","name":"How long does a redirect have to stay active?","acceptedAnswer":{"@type":"Answer","text":"At least one year according to Google. For URLs with backlinks: permanently."}},{"@type":"Question","name":"404 or 410 – which is better?","acceptedAnswer":{"@type":"Answer","text":"For deliberately deleted content, 410. A 404 isn't wrong, but Google rechecks it more often before the URL drops from the index."}},{"@type":"Question","name":"How do I find all URLs that need a redirect?","acceptedAnswer":{"@type":"Answer","text":"Crawl of the old website (for example with Screaming Frog) plus a Search Console export of pages with impressions plus a backlink list. The intersection is the redirect map."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/en/http-status-codes/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"Status codes","item":"https://viktorpasztor.de/en/http-status-codes/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Improve Your Google Ranking: 5 Measures, Sorted by Impact</title>
		<link>https://viktorpasztor.de/en/improve-google-ranking/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 20:53:15 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/improve-google-ranking/</guid>

					<description><![CDATA[Guide · Improve rankings Improve Your Google Ranking: 5 Measures, Sorted by Impact By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 6 min Short answer Five steps in the right order You improve your SEO ranking in this order: 1. check indexing, 2. match search intent, 3. set internal links, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · Improve rankings</p>
    <h1 class="lp-hero__title">Improve Your Google Ranking: 5 Measures, Sorted by Impact</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 6 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>Five steps in the right order</h2>
    <p>You improve your SEO ranking in this order: 1. check indexing, 2. match search intent, 3. set internal links, 4. optimise snippets, 5. reduce load time. The order follows impact per hour of effort. Visible movement usually takes 4 to 12 weeks on existing pages, more like 6 months on new domains.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 290" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Process graphic: the five steps to improving Google rankings in the recommended order – 1 check indexing, 2 match search intent, 3 set internal links, 4 optimise snippets, 5 reduce load time">
        <rect x="0" y="0" width="900" height="290" fill="var(--lp-surface)"></rect>
        <rect x="0.5" y="0.5" width="899" height="289" fill="none" stroke="var(--lp-border)" rx="8"></rect>
        <text x="450" y="34" font-size="20" font-weight="bold" fill="var(--lp-heading)" text-anchor="middle">The five steps in the recommended order</text>
        <text x="450" y="54" font-size="13" fill="var(--lp-muted)" text-anchor="middle">Sorted by impact per hour of effort – own schematic representation</text>
        <g>
          <circle cx="100" cy="140" r="22" fill="var(--lp-accent)"></circle>
          <text x="100" y="147" font-size="19" font-weight="bold" fill="#ffffff" text-anchor="middle">1</text>
          <text x="100" y="190" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">Indexing</text>
          <text x="100" y="208" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">check</text>
          <text x="100" y="234" font-size="11" fill="var(--lp-muted)" text-anchor="middle">blockers first</text>
        </g>
        <path d="M179.5,130 L195.5,140 L179.5,150" fill="none" stroke="var(--lp-border)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path>
        <g>
          <circle cx="275" cy="140" r="22" fill="var(--lp-accent)"></circle>
          <text x="275" y="147" font-size="19" font-weight="bold" fill="#ffffff" text-anchor="middle">2</text>
          <text x="275" y="190" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">Search intent</text>
          <text x="275" y="208" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">match</text>
          <text x="275" y="234" font-size="11" fill="var(--lp-muted)" text-anchor="middle">biggest lever</text>
        </g>
        <path d="M354.5,130 L370.5,140 L354.5,150" fill="none" stroke="var(--lp-border)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path>
        <g>
          <circle cx="450" cy="140" r="22" fill="var(--lp-accent)"></circle>
          <text x="450" y="147" font-size="19" font-weight="bold" fill="#ffffff" text-anchor="middle">3</text>
          <text x="450" y="190" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">Internal links</text>
          <text x="450" y="208" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">set</text>
          <text x="450" y="234" font-size="11" fill="var(--lp-muted)" text-anchor="middle">in your hands</text>
        </g>
        <path d="M529.5,130 L545.5,140 L529.5,150" fill="none" stroke="var(--lp-border)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path>
        <g>
          <circle cx="625" cy="140" r="22" fill="var(--lp-accent)"></circle>
          <text x="625" y="147" font-size="19" font-weight="bold" fill="#ffffff" text-anchor="middle">4</text>
          <text x="625" y="190" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">Snippets</text>
          <text x="625" y="208" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">optimise</text>
          <text x="625" y="234" font-size="11" fill="var(--lp-muted)" text-anchor="middle">quickly effective</text>
        </g>
        <path d="M704.5,130 L720.5,140 L704.5,150" fill="none" stroke="var(--lp-border)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path>
        <g>
          <circle cx="800" cy="140" r="22" fill="var(--lp-accent)"></circle>
          <text x="800" y="147" font-size="19" font-weight="bold" fill="#ffffff" text-anchor="middle">5</text>
          <text x="800" y="190" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">Load time</text>
          <text x="800" y="208" font-size="13" font-weight="600" fill="var(--lp-heading)" text-anchor="middle">reduce</text>
          <text x="800" y="234" font-size="11" fill="var(--lp-muted)" text-anchor="middle">no miracle cure</text>
        </g>
      </svg>
      <figcaption>Own representation: the five steps from this guide in the recommended order – not a universal norm, but the prioritisation by effort and impact justified in the text.</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#warum-reihenfolge">Why the order decides success</a></li>
        <li><a href="#schritt-1-indexierung">Step 1: check indexing</a></li>
        <li><a href="#schritt-2-suchintention">Step 2: match search intent</a></li>
        <li><a href="#schritt-3-interne-links">Step 3: set internal links</a></li>
        <li><a href="#schritt-4-snippets">Step 4: optimise snippets</a></li>
        <li><a href="#schritt-5-ladezeit">Step 5: reduce load time</a></li>
        <li><a href="#zeitraeume">Realistic timeframes at a glance</a></li>
        <li><a href="#praxisbeispiel">Case study: position and intent in practice</a></li>
        <li><a href="#haeufige-fehler">Common mistakes when building rankings</a></li>
        <li><a href="#faq">Frequently asked questions about improving rankings</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="warum-reihenfolge">
  <div class="lp-wrap">
    <div class="lp-section__label">Context</div>
    <h2>Why the order decides success</h2>
    <p>Most ranking guides list 20 measures without weighting. The result: you spend three days optimising image alt texts while half your pages aren&#8217;t even in the index.</p>
    <p>That&#8217;s why I work by a simple principle: blockers first, then levers, then fine-tuning. A non-indexed page ranks at 0 percent – no matter how good the text is. A page that misses search intent might rank at position 40. A good page without internal links gives away positions.</p>
    <p>If you don&#8217;t know where your website stands: that&#8217;s exactly what my <a href="https://viktorpasztor.de/en/seo-audit/">SEO audit</a> is for – it delivers the prioritised list for your concrete situation.</p>
  </div>
</section>

<section class="lp-section" id="schritt-1-indexierung">
  <div class="lp-wrap">
    <div class="lp-section__label">Step 1</div>
    <h2>Check indexing – the blocker before everything else</h2>
    <p>Open the Google Search Console and look at the &#8220;Indexing &gt; Pages&#8221; report. There you&#8217;ll see how many of your URLs are in the index – and why the others are missing: noindex tags, redirect chains, duplicates without a canonical URL, crawling errors.</p>
    <p>You check individual important pages with the URL inspection. If it says &#8220;Crawled – currently not indexed&#8221;, Google considers the page too weak or too similar to others. That&#8217;s a quality signal, not a coincidence.</p>
    <p>Rule of thumb from my audits: websites with more than 500 URLs almost always have indexing problems nobody knew about. This check is among the first steps in every <a href="https://viktorpasztor.de/en/seo-audit/">SEO audit</a>.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="schritt-2-suchintention">
  <div class="lp-wrap">
    <div class="lp-section__label">Step 2</div>
    <h2>Match search intent – the biggest single lever</h2>
    <p>Google ranks the page that best serves the intent behind the search query. Not the longest, not the most keyword-dense – the most fitting one.</p>
    <p>The test takes 5 minutes: google your keyword and look at the top 10. Are there guides, but your page is a product page? Then you&#8217;re losing not because of quality, but because of format.</p>
    <p>Concretely, optimisation here means: adapt the format to the SERP, answer the question in the first paragraph, add real substance that the top 10 lack. Pages between position 5 and 15 respond most strongly to this revision, often within 2 to 8 weeks of the recrawl.</p>
  </div>
</section>

<section class="lp-section" id="schritt-3-interne-links">
  <div class="lp-wrap">
    <div class="lp-section__label">Step 3</div>
    <h2>Internal links – underestimated and completely in your hands</h2>
    <p>Internal links show Google which pages matter to you and pass authority from strong to weak pages. Unlike backlinks, they cost you nothing but care.</p>
    <p>Three rules are enough to start. First: every important page gets links from at least 3 thematically fitting other pages. Second: the anchor text describes the target (&#8220;keyword research for online shops&#8221; instead of &#8220;click here&#8221;). Third: no orphaned pages – every URL reachable within a maximum of 3 clicks from the homepage.</p>
    <p>You&#8217;ll find your strongest link givers in the Search Console under &#8220;Links&#8221;: the pages with the most external references should link to your most important target pages. What that looks like in detail is shown on my <a href="https://viktorpasztor.de/en/on-page-optimization/">on-page optimisation</a> page.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="schritt-4-snippets">
  <div class="lp-wrap">
    <div class="lp-section__label">Step 4</div>
    <h2>Optimise snippets – more clicks from existing rankings</h2>
    <p>Title and meta description don&#8217;t change your ranking directly – but they decide how many of the people who see your result click. How steep the gradient is across industries is shown by an analysis of over 80 million keywords: position 1 gets an average of 28.5 percent of clicks, position 10 only 2.5 percent (Sistrix, 2020).</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 340" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Bar chart: average click-through rate at position 1 versus position 10, 28.5 percent versus 2.5 percent, source Sistrix 2020">
        <rect x="0" y="0" width="900" height="340" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="339" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="24" font-weight="bold" fill="#000000">Click-through rate by position: rank 1 vs. rank 10</text>
        <text x="40" y="74" font-size="14" fill="#404040">Average click-through rate across 80 million analysed keywords, Sistrix 2020</text>
        <g stroke="rgba(128,128,128,0.25)" stroke-width="1">
          <line x1="340" y1="110" x2="340" y2="260"></line>
          <line x1="513" y1="110" x2="513" y2="260"></line>
          <line x1="687" y1="110" x2="687" y2="260"></line>
          <line x1="860" y1="110" x2="860" y2="260"></line>
        </g>
        <g font-size="12" fill="#404040" text-anchor="middle">
          <text x="340" y="280">0 %</text>
          <text x="513" y="280">10 %</text>
          <text x="687" y="280">20 %</text>
          <text x="860" y="280">30 %</text>
        </g>
        <g font-size="13" fill="#404040" text-anchor="end">
          <text x="328" y="155">Position 1</text>
          <text x="328" y="225">Position 10</text>
        </g>
        <rect x="340" y="130" width="494" height="40" fill="#FA6161" rx="6"></rect>
        <text x="824" y="155" font-size="14" font-weight="bold" fill="#ffffff" text-anchor="end">28.5 %</text>
        <rect x="340" y="200" width="43" height="40" fill="#3D44FF" rx="6"></rect>
        <text x="393" y="225" font-size="14" font-weight="bold" fill="#404040" text-anchor="start">2.5 %</text>
        <text x="40" y="304" font-size="12" fill="#404040">Source: Sistrix, analysis of over 80 million keywords, 2020</text>
        <text x="860" y="325" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · Improve rankings</text>
      </svg>
      <figcaption>Position 1 gets an average of 28.5 percent of clicks, position 10 only 2.5 percent – the same position can still perform very differently depending on the snippet.</figcaption>
    </figure>
    <p>Improving the click-through rate from 2 to 4 percent doubles your traffic without a single new position.</p>
    <p>This is how you proceed: filter the Search Console for pages with many impressions and a weak click-through rate. Rewrite the title: keyword first, concrete benefit or number after it, maximum 60 characters. The meta description answers in 155 characters why exactly your result is worth the click.</p>
  </div>
</section>

<section class="lp-section" id="schritt-5-ladezeit">
  <div class="lp-wrap">
    <div class="lp-section__label">Step 5</div>
    <h2>Reduce load time – mandatory, but no miracle cure</h2>
    <p>Core Web Vitals are a ranking factor, but a small one. A page doesn&#8217;t jump from position 30 to 3 because it loads faster. But it can lose positions if it&#8217;s significantly slower than the competition.</p>
    <p>The target values: LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1. The biggest brakes: uncompressed images, third-party scripts, missing caching. Measure with PageSpeed Insights, fix the three biggest items, measure again.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="zeitraeume">
  <div class="lp-wrap">
    <div class="lp-section__label">Overview</div>
    <h2>Realistic timeframes at a glance</h2>
    <table class="lp-article__table">
      <thead>
        <tr><th>Measure</th><th>Typical timeframe until effect</th></tr>
      </thead>
      <tbody>
        <tr><td>Indexing fixes</td><td>2 to 8 weeks</td></tr>
        <tr><td>Revised content (position 5–15)</td><td>2 to 8 weeks after recrawl</td></tr>
        <tr><td>Internal linking</td><td>4 to 12 weeks</td></tr>
        <tr><td>Snippet optimisation</td><td>click-through effect often after days</td></tr>
        <tr><td>New content on established domains</td><td>3 to 6 months</td></tr>
        <tr><td>New domains</td><td>6 to 12 months</td></tr>
      </tbody>
    </table>
    <p>Anyone promising you faster guarantees is promising something they don&#8217;t control. Continuity beats sprint: that&#8217;s exactly why I offer <a href="https://viktorpasztor.de/en/ongoing-seo-support/">ongoing SEO support</a> instead of one-off magic packages.</p>
  </div>
</section>

<section class="lp-section" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>Position and intent decide the click-through rate</h2>
    <p>How strongly position and search intent decide the click-through rate is shown by a look into the Search Console of a project I manage.</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Keyword</th><th>Position</th><th>Click-through rate</th><th>Impressions</th></tr>
      </thead>
      <tbody>
        <tr><td>chiasamen mit apfelessig</td><td>1.5</td><td>13.6 %</td><td>–</td></tr>
        <tr><td>höhle der löwen abnehmen</td><td>9</td><td>0.49 %</td><td>29,449</td></tr>
      </tbody>
    </table>
    <p>Source: Google Search Console, monikagungl.com (public reference), 08/2025–07/2026. Raw search volume without a top position and fitting intent is almost worthless – the long-tail keyword at position 1.5 gets a significantly higher click-through rate than the keyword with almost 30,000 impressions at position 9.</p>
    <blockquote class="lp-article__quote">
      <p>&#8220;A Shopify merchant with a mid-four-figure URL inventory wondered about stagnating rankings. The crawl revealed: filter parameters had created thousands of duplicates, and Google was spending its crawl budget on variants instead of products. After the cleanup, the number of indexed relevant pages rose significantly within two months – the rankings followed.&#8221;</p>
      <cite>— Viktor Pásztor, SEO freelancer</cite>
    </blockquote>
  </div>
</section>

<section class="lp-section lp-section--surface" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes when building rankings</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Optimising past position 1</h3><p>Fix blockers first, then content. Starting with fine-tuning on a non-indexed page wastes time.</p></div>
      <div class="lp-card"><h3>Too many pages for the same keyword</h3><p>Three guides on the same topic cannibalise each other instead of strengthening each other.</p></div>
      <div class="lp-card"><h3>Checking rankings daily after every change</h3><p>Evaluate trends over 4 weeks, not daily values. Day-to-day fluctuations say little.</p></div>
      <div class="lp-card"><h3>Buying backlinks</h3><p>The penalty risk doesn&#8217;t outweigh the short-term effect.</p></div>
      <div class="lp-card"><h3>Changing everything at once</h3><p>Then you never know what worked. One measure after another, with an eye on the effect.</p></div>
    </div>
  </div>
</section>

<section class="lp-section" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions about improving rankings</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>How quickly do internal links work?</summary>
        <p>As soon as Google has recrawled the linking pages – depending on crawl frequency, 2 to 6 weeks.</p>
      </details>
      <details class="lp-faq__item">
        <summary>My page is stuck at position 11 to 15 – what to do?</summary>
        <p>The most rewarding starting position: usually substance is missing compared to the top results, or internal authority. Revise the content and set 3 to 5 internal links from strong pages.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Does a faster website automatically bring better rankings?</summary>
        <p>No. Below 2.5 seconds LCP, further acceleration brings hardly any measurable ranking effects – but better conversion rates.</p>
      </details>
      <details class="lp-faq__item">
        <summary>How many keywords can one page cover?</summary>
        <p>One page covers one search intent – often 10 to 50 keyword variants with the same intent.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/technical-seo/">Technical SEO</a></h3>
        <p>What a crawl finds and what happens next.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/on-page-optimization/">On-page optimisation</a></h3>
        <p>How content matches search intent.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-costs/">SEO pricing</a></h3>
        <p>What working with me costs.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Want to know which of the 5 steps has the biggest lever on your website?</h2>
      <p>In a free initial call, we&#8217;ll look at your Search Console data together and find the prioritised order for your website. Reply within 24 hours on business days.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/seo-audit/">→ Request an SEO audit now</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{
  --lp-accent:var(--primary,hsla(238,100%,62%,1));
  --lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));
  --lp-surface:var(--bg-surface,hsla(0,0%,100%,1));
  --lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));
  --lp-heading:var(--text-title,hsla(0,0%,0%,1));
  --lp-ink:var(--text-body,hsla(0,0%,25%,1));
  --lp-muted:#666666;
  --lp-border:var(--border-primary,hsla(0,0%,50%,0.25));
  --lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));
  --lp-radius:var(--radius-m,1.2rem);
  --lp-radius-l:var(--radius-l,2rem);
  --lp-section:var(--space-xl,5.6rem);
  --lp-wrap:min(120rem,100%);
  --lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);
  font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);
}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media(max-width:1024px){.lp-grid--2,.lp-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.lp-grid--2,.lp-grid--4{grid-template-columns:1fr}}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
.lp-page cite{opacity:1}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/en/about-me/","jobTitle":"SEO Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/improve-google-ranking/#article","headline":"Improve Your Google Ranking: 5 Measures, Sorted by Impact","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en-US","isPartOf":{"@id":"https://viktorpasztor.de/en/improve-google-ranking/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/improve-google-ranking/#webpage"}},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/improve-google-ranking/#webpage","url":"https://viktorpasztor.de/en/improve-google-ranking/","name":"Improve Your Google Ranking: 5 Measures, Sorted by Impact","inLanguage":"en-US","breadcrumb":{"@id":"https://viktorpasztor.de/en/improve-google-ranking/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"How quickly do internal links work?","acceptedAnswer":{"@type":"Answer","text":"As soon as Google has recrawled the linking pages – depending on crawl frequency, 2 to 6 weeks."}},{"@type":"Question","name":"My page is stuck at position 11 to 15 – what to do?","acceptedAnswer":{"@type":"Answer","text":"The most rewarding starting position: usually substance is missing compared to the top results, or internal authority. Revise the content and set 3 to 5 internal links from strong pages."}},{"@type":"Question","name":"Does a faster website automatically bring better rankings?","acceptedAnswer":{"@type":"Answer","text":"No. Below 2.5 seconds LCP, further acceleration brings hardly any measurable ranking effects – but better conversion rates."}},{"@type":"Question","name":"How many keywords can one page cover?","acceptedAnswer":{"@type":"Answer","text":"One page covers one search intent – often 10 to 50 keyword variants with the same intent."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/en/improve-google-ranking/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"Improve rankings","item":"https://viktorpasztor.de/en/improve-google-ranking/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Image SEO: How to Optimise Images for Google and Users</title>
		<link>https://viktorpasztor.de/en/image-seo/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 20:45:30 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/image-seo/</guid>

					<description><![CDATA[Guide · Image SEO Image SEO: How to Optimise Images for Google and Users By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 6 min Short answer Five points decide good image SEO Image SEO means: descriptive file names, meaningful alt texts, WebP or AVIF instead of JPEG, correct dimensions with [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · Image SEO</p>
    <h1 class="lp-hero__title">Image SEO: How to Optimise Images for Google and Users</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 6 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>Five points decide good image SEO</h2>
    <p>Image SEO means: descriptive file names, meaningful alt texts, WebP or AVIF instead of JPEG, correct dimensions with srcset, and lazy loading for everything except the LCP image. AVIF often saves 40 to 50&nbsp;% file size compared to JPEG. Since the EU AI Act, you additionally have to label AI-generated images. Per page, implementation rarely takes longer than 30 minutes.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#dateinamen">File names: the first ranking factor everyone ignores</a></li>
        <li><a href="#alt-texte">Alt texts: accessibility first, then SEO</a></li>
        <li><a href="#webp-avif">WebP and AVIF: the format question is settled</a></li>
        <li><a href="#masse-srcset">Dimensions and srcset: never deliver more pixels than needed</a></li>
        <li><a href="#lazy-loading">Lazy loading – but not for the LCP image</a></li>
        <li><a href="#ki-bilder">AI images: labelling obligation under the EU AI Act</a></li>
        <li><a href="#bildsitemaps">Image sitemaps: only needed in special cases</a></li>
        <li><a href="#praxisbeispiel">Case study: an image project in numbers</a></li>
        <li><a href="#haeufige-fehler">Common mistakes in image SEO</a></li>
        <li><a href="#faq">Frequently asked questions about image SEO</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="dateinamen">
  <div class="lp-wrap">
    <div class="lp-section__label">Ranking factor no. 1</div>
    <h2>File names: the first ranking factor everyone ignores</h2>
    <p>Google reads the file name before any algorithm analyses the image itself. IMG_20260806_1432.jpg says nothing. road-bike-carbon-frame-black.jpg says everything.</p>
    <ul>
      <li><strong>Lowercase, hyphens, no umlauts.</strong> „Küchenmaschine“ becomes kuechenmaschine.</li>
      <li><strong>3 to 5 words</strong> that describe what&#8217;s visible – not what you want to rank for.</li>
      <li><strong>Name before uploading.</strong> Renaming afterwards in the CMS often creates new URLs.</li>
    </ul>
    <p>For shops with thousands of product images, a naming scheme like productname-variant-view.avif from the ERP is worth it. One hour of configuration instead of hundreds of manual steps.</p>
  </div>
</section>

<section class="lp-section" id="alt-texte">
  <div class="lp-wrap">
    <div class="lp-section__label">Accessibility first</div>
    <h2>Alt texts: accessibility first, then SEO</h2>
    <p>The alt text exists for people who can&#8217;t see the image – screen reader users, but also anyone with a dropped connection. SEO is the side effect. Whoever reverses the order writes alt texts like &#8220;images seo optimisation agency berlin&#8221; – useless for the blind, risky for rankings. In its own <a href="https://developers.google.com/search/docs/appearance/google-images" target="_blank" rel="noopener">image search documentation</a>, Google names the same order: first an honest description, then visibility.</p>
    <ul>
      <li><strong>Describe what&#8217;s visible,</strong> in one sentence: “A mechanic trues a wheel in the assembly stand.”</li>
      <li><strong>80 to 125 characters</strong> are a good corridor.</li>
      <li><strong>Decorative images get an empty alt attribute</strong> (alt=&#8221;&#8221;), so screen readers skip them.</li>
      <li><strong>No “image of…”</strong> – the software already knows it&#8217;s an image.</li>
    </ul>
    <p>This is how file name, alt text and fixed dimensions interlock in the markup – purely as an example, without a real image loading here:</p>
    <pre><code>&lt;img src="rennrad-carbon-rahmen-schwarz.avif"
     alt="Black carbon road bike frame photographed from the side"
     width="800" height="600" loading="lazy"&gt;</code></pre>
  </div>
</section>

<section class="lp-section lp-section--surface" id="webp-avif">
  <div class="lp-wrap">
    <div class="lp-section__label">Format question</div>
    <h2>WebP and AVIF: the format question is settled</h2>
    <p>JPEG and PNG are legacy for web use. According to <a href="https://developers.google.com/speed/webp/docs/webp_study" target="_blank" rel="noopener">Google&#8217;s own WebP study</a>, WebP saves around 25 to 35&nbsp;% file size compared to JPEG. According to <a href="https://web.dev/articles/compress-images-avif" target="_blank" rel="noopener">web.dev</a>, AVIF goes further: 40 to 50&nbsp;% savings at the same perceived quality, available in all major browsers since 2024.</p>
    <p>Recommendation for 2026: <strong>AVIF as standard, WebP as fallback</strong> via the picture element. PNG only for lossless graphics, SVG for logos and icons. Most CMS handle the conversion server-side. Important: test the quality level – AVIF at quality 50 to 60 usually looks better than JPEG at 80 and weighs half.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 340" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Bar chart: file size compared – JPEG 100 percent as base, WebP around 70 percent (around 30 percent smaller), AVIF around 55 percent (around 45 percent smaller), reference values from studies">
        <rect x="0" y="0" width="900" height="340" fill="var(--lp-surface,#ffffff)"></rect>
        <rect x="0.5" y="0.5" width="899" height="339" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="22" font-weight="bold" fill="var(--lp-heading,#000000)">File size compared: JPEG, WebP, AVIF</text>
        <text x="40" y="72" font-size="14" fill="var(--lp-muted,#404040)">Reference values from Google&#8217;s WebP study and web.dev – not a measurement of a specific image</text>
        <rect x="220" y="100" width="620" height="46" rx="6" fill="#b0b0b0"></rect>
        <text x="200" y="128" font-size="14" font-weight="bold" fill="var(--lp-heading,#000000)" text-anchor="end">JPEG</text>
        <text x="236" y="128" font-size="13" fill="#ffffff">Base size</text>
        <text x="852" y="128" font-size="14" fill="var(--lp-heading,#000000)" text-anchor="start">100&nbsp;%</text>
        <rect x="220" y="170" width="434" height="46" rx="6" fill="#9195ff"></rect>
        <text x="200" y="198" font-size="14" font-weight="bold" fill="var(--lp-heading,#000000)" text-anchor="end">WebP</text>
        <text x="236" y="198" font-size="13" fill="#ffffff">around −30&nbsp;% vs. JPEG</text>
        <text x="852" y="198" font-size="14" fill="var(--lp-heading,#000000)" text-anchor="start">≈ 70&nbsp;%</text>
        <rect x="220" y="240" width="341" height="46" rx="6" fill="var(--lp-accent,#3D44FF)"></rect>
        <text x="200" y="268" font-size="14" font-weight="bold" fill="var(--lp-heading,#000000)" text-anchor="end">AVIF</text>
        <text x="236" y="268" font-size="13" fill="#ffffff">around −45&nbsp;% vs. JPEG · recommended</text>
        <text x="852" y="268" font-size="14" fill="var(--lp-heading,#000000)" text-anchor="start">≈ 55&nbsp;%</text>
        <text x="860" y="320" font-size="11" fill="var(--lp-muted,#404040)" text-anchor="end">viktorpasztor.de · Image SEO</text>
      </svg>
      <figcaption>Schematic comparison, not a measurement of a specific image: the bars reflect the study reference values cited above (Google WebP study: approx. 25–35&nbsp;% savings, web.dev on AVIF: approx. 40–50&nbsp;% savings vs. JPEG).</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section" id="masse-srcset">
  <div class="lp-wrap">
    <div class="lp-section__label">Performance</div>
    <h2>Dimensions and srcset: never deliver more pixels than needed</h2>
    <p>A 2,400-pixel-wide image in a 400-pixel container is the most common performance mistake in my audits. How much is at stake is shown by the <a href="https://almanac.httparchive.org/en/2024/media" target="_blank" rel="noopener">Web Almanac 2024 by HTTP Archive</a>: at 1,054&nbsp;KB, images are the largest single item in the median page weight of a desktop homepage – ahead of JavaScript, fonts, CSS and HTML. In cases like the one described above, the browser loads a multiple of the data needed for the visible container.</p>
    <p>The solution is srcset with sizes: the same image in several widths (e.g. 400, 800, 1200, 1600 pixels), the browser picks the right one. Modern CMS generate the variants automatically – just check that the sizes attribute matches the layout. This includes <strong>fixed width and height attributes</strong> in the HTML: they prevent layout shifts and keep your CLS value stable.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="lazy-loading">
  <div class="lp-wrap">
    <div class="lp-section__label">LCP in focus</div>
    <h2>Lazy loading – but not for the LCP image</h2>
    <p>loading=&#8221;lazy&#8221; only loads images when they scroll into view. Mandatory for everything below the first viewport. The exception: the largest image in the first viewport – your LCP element. That needs the opposite: loading=&#8221;eager&#8221; plus fetchpriority=&#8221;high&#8221;. A lazy-loaded hero image regularly delays the LCP by 500 to 1,000 milliseconds.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 320" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Schema: loading behaviour of images – first image eager with high priority, all other images lazy">
        <rect x="0" y="0" width="900" height="320" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="319" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="22" font-weight="bold" fill="#000000">Loading behaviour of images on a page</text>
        <text x="40" y="72" font-size="14" fill="#404040">Practical rule: first image eager, all others lazy</text>
        <rect x="60" y="110" width="360" height="150" rx="12" fill="#3D44FF"></rect>
        <text x="240" y="150" font-size="16" font-weight="bold" fill="#ffffff" text-anchor="middle">First image in the viewport (LCP)</text>
        <text x="240" y="180" font-size="13" fill="#ffffff" text-anchor="middle">loading=&#8221;eager&#8221;</text>
        <text x="240" y="202" font-size="13" fill="#ffffff" text-anchor="middle">fetchpriority=&#8221;high&#8221;</text>
        <text x="240" y="230" font-size="12" fill="#e6e6ff" text-anchor="middle">loads immediately, without delay</text>
        <rect x="480" y="110" width="360" height="150" rx="12" fill="#9b9b9b"></rect>
        <text x="660" y="150" font-size="16" font-weight="bold" fill="#ffffff" text-anchor="middle">All other images</text>
        <text x="660" y="180" font-size="13" fill="#ffffff" text-anchor="middle">loading=&#8221;lazy&#8221;</text>
        <text x="660" y="210" font-size="12" fill="#f0f0f0" text-anchor="middle">only load when scrolled into the viewport</text>
        <text x="860" y="300" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · Image SEO</text>
      </svg>
      <figcaption>Practical rule for image SEO: only the first, visible image loads eager with high priority – all other images load lazy.</figcaption>
    </figure>
    <p>Practical rule: <strong>First image eager, all others lazy.</strong> Many themes blanket-set everything to lazy – the second most common mistake in my audits. This too can be shown as pure example markup, without a real image loading here:</p>
    <pre><code>&lt;img src="hero-rennrad-shop.avif"
     alt="Road bike workshop with a view of the bike wall"
     width="1600" height="900" loading="eager" fetchpriority="high"&gt;</code></pre>
  </div>
</section>

<section class="lp-section" id="ki-bilder">
  <div class="lp-wrap">
    <div class="lp-section__label">EU AI Act</div>
    <h2>AI images: labelling obligation under the EU AI Act</h2>
    <p>Since August 2026, <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689" target="_blank" rel="noopener">Article 50 of the EU AI Act</a> applies fully: AI-generated or AI-manipulated images must be recognisable as such. Concretely: AI images need machine-readable labelling (many generators embed C2PA metadata – don&#8217;t strip it when compressing). For realistic-looking people, places or events, the labelling must additionally be visible, for example in the caption.</p>
    <p>Stock images too: <strong>Check licence and personal rights.</strong> “Royalty-free” doesn&#8217;t mean rights-free – editorial licences often don&#8217;t allow commercial use, and depicted people need a model release. Document source, licence type and scope of use per image – a spreadsheet is enough.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="bildsitemaps">
  <div class="lp-wrap">
    <div class="lp-section__label">Special case</div>
    <h2>Image sitemaps: only needed in special cases</h2>
    <p>Almost never needed. If images are embedded regularly in the HTML, Google finds them via the normal crawl. Only sensible if images are loaded via JavaScript – or if image search traffic is a real business goal, for example with recipe or product databases.</p>
  </div>
</section>

<section class="lp-section" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>An image project in numbers</h2>
    <p>Numbers weigh more than claims. An example from an ongoing client project shows what the individual levers – format, srcset, lazy loading rule – deliver together in practice.</p>
    <blockquote class="lp-article__quote">
      <p>“For a bike parts shop, we converted around 12,000 product images to AVIF, fixed srcset and set the hero image to eager. The LCP dropped from 3.4 to 1.9 seconds in the CrUX report, and image impressions in the Search Console rose by about 30 percent within three months.”</p>
      <cite>— Viktor Pásztor, SEO freelancer</cite>
    </blockquote>
    <p>None of the levers is spectacular on its own. Taken together – format, right size, correct loading priority – they make the difference that shows up in the Core Web Vitals.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes in image SEO</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>All images lazy-loaded</h3><p>Even the LCP image gets lazy-loaded. That costs 0.5 to 1 second on the largest element in the first viewport – exactly where it counts most.</p></div>
      <div class="lp-card"><h3>Keyword stuffing in the alt text</h3><p>Instead of an honest description, there&#8217;s a keyword chain like “images seo optimisation agency berlin” – useless for screen reader users and risky for rankings.</p></div>
      <div class="lp-card"><h3>Original size without srcset, missing dimensions</h3><p>4,000-pixel photos land uncropped in 400-pixel containers, and without width and height attributes the layout jumps while loading – bad for the CLS value.</p></div>
      <div class="lp-card"><h3>AI images and stock photos without documentation</h3><p>AI-generated images without labelling have been a legal risk since 2026, and stock images often lack the documented licence including personal rights.</p></div>
    </div>
  </div>
</section>

<section class="lp-section" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions about image SEO</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>How long should an alt text be?</summary>
        <p>80 to 125 characters are a good corridor. One descriptive sentence is enough; screen readers read out the complete text.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Does image SEO bring measurable traffic?</summary>
        <p>Yes, depending on the industry. For visually driven topics, 5 to 15&nbsp;% of impressions often come via image search.</p>
      </details>
      <details class="lp-faq__item">
        <summary>WebP or AVIF – which do I take in 2026?</summary>
        <p>AVIF as standard, WebP as fallback. AVIF saves 40 to 50&nbsp;% file size compared to JPEG.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Do I have to label every AI image?</summary>
        <p>Yes, machine-readable always (Art. 50 EU AI Act). Additionally visible if the image depicts real people, places or events deceptively realistically.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/technical-seo/">Technical SEO</a></h3>
        <p>What a crawl finds and what happens next.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/on-page-optimization/">On-page optimisation</a></h3>
        <p>How content, structure and images interact.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-costs/">SEO pricing</a></h3>
        <p>What working with me costs.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Images slowing down your site?</h2>
      <p>In a free initial call, we&#8217;ll look at your Core Web Vitals and the biggest image problem areas. Reply within 24 hours on business days.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/seo-audit/">→ Request an SEO audit now</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{
  --lp-accent:var(--primary,hsla(238,100%,62%,1));
  --lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));
  --lp-surface:var(--bg-surface,hsla(0,0%,100%,1));
  --lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));
  --lp-heading:var(--text-title,hsla(0,0%,0%,1));
  --lp-ink:var(--text-body,hsla(0,0%,25%,1));
  --lp-muted:#666666;
  --lp-border:var(--border-primary,hsla(0,0%,50%,0.25));
  --lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));
  --lp-radius:var(--radius-m,1.2rem);
  --lp-radius-l:var(--radius-l,2rem);
  --lp-section:var(--space-xl,5.6rem);
  --lp-wrap:min(120rem,100%);
  --lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);
  font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);
}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media(max-width:1024px){.lp-grid--2,.lp-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.lp-grid--2,.lp-grid--4{grid-template-columns:1fr}}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
.lp-page cite{opacity:1}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/en/about-me/","jobTitle":"SEO Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/image-seo/#article","headline":"Image SEO: How to Optimise Images for Google and Users","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en-US","isPartOf":{"@id":"https://viktorpasztor.de/en/image-seo/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/image-seo/#webpage"}},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/image-seo/#webpage","url":"https://viktorpasztor.de/en/image-seo/","name":"Image SEO: How to Optimise Images for Google and Users","inLanguage":"en-US","breadcrumb":{"@id":"https://viktorpasztor.de/en/image-seo/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"How long should an alt text be?","acceptedAnswer":{"@type":"Answer","text":"80 to 125 characters are a good corridor. One descriptive sentence is enough; screen readers read out the complete text."}},{"@type":"Question","name":"Does image SEO bring measurable traffic?","acceptedAnswer":{"@type":"Answer","text":"Yes, depending on the industry. For visually driven topics, 5 to 15 % of impressions often come via image search."}},{"@type":"Question","name":"WebP or AVIF – which do I take in 2026?","acceptedAnswer":{"@type":"Answer","text":"AVIF as standard, WebP as fallback. AVIF saves 40 to 50 % file size compared to JPEG."}},{"@type":"Question","name":"Do I have to label every AI image?","acceptedAnswer":{"@type":"Answer","text":"Yes, machine-readable always (Art. 50 EU AI Act). Additionally visible if the image depicts real people, places or events deceptively realistically."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/en/image-seo/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"Image SEO","item":"https://viktorpasztor.de/en/image-seo/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SEO vs. SEA: The Calculation Instead of the Matter of Belief</title>
		<link>https://viktorpasztor.de/en/seo-vs-sea-comparison/</link>
		
		<dc:creator><![CDATA[Viktor]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 20:38:20 +0000</pubDate>
				<category><![CDATA[Unkategorisiert]]></category>
		<guid isPermaLink="false">https://viktorpasztor.de/seo-vs-sea-comparison/</guid>

					<description><![CDATA[Guide · SEO vs. SEA SEO vs. SEA: The Calculation Instead of the Matter of Belief By Viktor Pásztor · Updated on 6 August 2026 · Reading time approx. 5 min Short answer SEA delivers immediately, SEO usually pays off from month 12 to 24 SEA (Google Ads) delivers plannable clicks at a unit price [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="lp-page lp-article">
<section class="lp-section lp-hero">
  <div class="lp-wrap lp-hero__inner">
    <p class="lp-hero__tagline">Guide · SEO vs. SEA</p>
    <h1 class="lp-hero__title">SEO vs. SEA: The Calculation Instead of the Matter of Belief</h1>
    <div class="lp-article__meta">
      <span>By Viktor Pásztor</span>
      <span>·</span>
      <span>Updated on 6 August 2026</span>
      <span>·</span>
      <span>Reading time approx. 5 min</span>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap lp-section__center">
    <div class="lp-section__label">Short answer</div>
    <h2>SEA delivers immediately, SEO usually pays off from month 12 to 24</h2>
    <p>SEA (Google Ads) delivers plannable clicks at a unit price from day 1 – in B2B often €3 to €15 per click. SEO costs work upfront and needs 6 to 12 months, after which clicks come without unit costs. Depending on the click price, break-even is usually between month 12 and 24. I offer both – hence the calculation here instead of the usual channel sermon.</p>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">Contents</div>
    <nav class="lp-article__toc" aria-label="Table of contents">
      <h2>On this page</h2>
      <ol>
        <li><a href="#warum-dieser-vergleich">Why this comparison usually goes wrong</a></li>
        <li><a href="#break-even-rechnung">The break-even calculation, laid open</a></li>
        <li><a href="#was-die-rechnung-nicht-zeigt">What the calculation doesn&#8217;t show</a></li>
        <li><a href="#praxisbeispiel">The hybrid strategy: ads as a data source for SEO</a></li>
        <li><a href="#preise">Pricing</a></li>
        <li><a href="#haeufige-fehler">Common mistakes in the SEO vs. SEA comparison</a></li>
        <li><a href="#faq">Frequently asked questions about SEO and SEA</a></li>
      </ol>
    </nav>
  </div>
</section>

<section class="lp-section lp-section--surface" id="warum-dieser-vergleich">
  <div class="lp-wrap">
    <div class="lp-section__label">Context</div>
    <h2>Why this comparison usually goes wrong</h2>
    <p>SEO agencies make SEA look bad, ads agencies make SEO look bad. For a sense of scale: across 13,474 US search campaigns, the average Google Ads cost per click from April 2025 to March 2026 was 5.42 US dollars, from 1.63 US dollars for entertainment to 9.87 US dollars for legal services (WordStream/LocaliQ Google Ads Benchmarks 2026) – depending on what&#8217;s being sold. I offer both channels, <a href="https://viktorpasztor.de/en/ongoing-seo-support/">SEO support</a> and Google Ads.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 400" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Bar chart: Google Ads click prices by industry in US dollars, average 5.42 US dollars, range 1.63 to 9.87 US dollars">
        <rect x="0" y="0" width="900" height="400" fill="#ffffff"></rect>
        <rect x="0.5" y="0.5" width="899" height="399" fill="none" stroke="rgba(128,128,128,0.25)" rx="8"></rect>
        <text x="40" y="46" font-size="24" font-weight="bold" fill="#000000">Google Ads click prices by industry</text>
        <text x="40" y="74" font-size="14" fill="#404040">Cost per click in US dollars, 13,474 US search campaigns, April 2025 to March 2026</text>
        <g stroke="rgba(128,128,128,0.25)" stroke-width="1">
          <line x1="340" y1="110" x2="340" y2="300"></line>
          <line x1="444" y1="110" x2="444" y2="300"></line>
          <line x1="548" y1="110" x2="548" y2="300"></line>
          <line x1="652" y1="110" x2="652" y2="300"></line>
          <line x1="756" y1="110" x2="756" y2="300"></line>
          <line x1="860" y1="110" x2="860" y2="300"></line>
        </g>
        <g font-size="12" fill="#404040" text-anchor="middle">
          <text x="340" y="320">0 $</text>
          <text x="444" y="320">2 $</text>
          <text x="548" y="320">4 $</text>
          <text x="652" y="320">6 $</text>
          <text x="756" y="320">8 $</text>
          <text x="860" y="320">10 $</text>
        </g>
        <g font-size="13" fill="#404040" text-anchor="end">
          <text x="328" y="149">Entertainment (cheapest industry)</text>
          <text x="328" y="209">Average across all industries</text>
          <text x="328" y="269">Legal services (most expensive industry)</text>
        </g>
        <rect x="340" y="130" width="85" height="28" fill="#3D44FF" rx="6"></rect>
        <text x="435" y="149" font-size="13" font-weight="bold" fill="#404040">1.63 $</text>
        <rect x="340" y="190" width="282" height="28" fill="#FA6161" rx="6"></rect>
        <text x="612" y="209" font-size="13" font-weight="bold" fill="#ffffff" text-anchor="end">5.42 $</text>
        <rect x="340" y="250" width="513" height="28" fill="#3D44FF" rx="6"></rect>
        <text x="843" y="269" font-size="13" font-weight="bold" fill="#ffffff" text-anchor="end">9.87 $</text>
        <text x="40" y="352" font-size="13" fill="#404040">The range runs from 1.63 to 9.87 US dollars – the average is 5.42 US dollars.</text>
        <text x="40" y="378" font-size="12" fill="#404040">Source: WordStream/LocaliQ Google Ads Benchmarks 2026</text>
        <text x="860" y="393" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · SEO vs. SEA</text>
      </svg>
      <figcaption>Google Ads click prices by industry: average 5.42 US dollars, range from 1.63 US dollars (entertainment) to 9.87 US dollars (legal services).</figcaption>
    </figure>
    <blockquote class="lp-article__quote">
      <p>“I earn from both – SEO support and Google Ads – so I have no interest in skewing this comparison.”</p>
      <cite>— Viktor Pásztor, SEO and Google Ads freelancer</cite>
    </blockquote>
    <p>The honest answer starts with a question: over what timeframe are you calculating? Over 3 months, SEA always wins. Over 36 months, almost always SEO – if the conditions are right.</p>
    <figure class="lp-figure">
      <svg viewBox="0 0 900 712" xmlns="http://www.w3.org/2000/svg" font-family="Inter, Arial, sans-serif" role="img" aria-label="Schematic Google search results page: at the top a marked Ad area with two paid results, below it a marked Organic area with three organic results">
        <rect x="0" y="0" width="900" height="712" rx="16" fill="#ffffff" stroke="rgba(128,128,128,0.25)"></rect>
        <rect x="40" y="28" width="820" height="50" rx="25" fill="#ffffff" stroke="rgba(128,128,128,0.25)" stroke-width="1.5"></rect>
        <circle cx="68" cy="52" r="7" fill="none" stroke="#404040" stroke-width="2"></circle>
        <line x1="73" y1="57" x2="79" y2="63" stroke="#404040" stroke-width="2" stroke-linecap="round"></line>
        <text x="96" y="58" font-size="14" fill="#404040">google.com/search?q=seo+agentur+beispielstadt</text>
        <line x1="40" y1="98" x2="860" y2="98" stroke="rgba(128,128,128,0.25)" stroke-width="1"></line>
        <rect x="40" y="112" width="100" height="27" rx="13.5" fill="#FA6161"></rect>
        <text x="90" y="130" text-anchor="middle" font-size="12" font-weight="bold" fill="#ffffff">AD</text>
        <rect x="24" y="150" width="852" height="190" rx="14" fill="#FA6161" fill-opacity="0.06" stroke="#FA6161" stroke-width="1.25"></rect>
        <rect x="24" y="150" width="6" height="190" rx="3" fill="#FA6161"></rect>
        <text x="52" y="182" font-size="12" fill="#404040"><tspan font-weight="bold" fill="#FA6161">Ad</tspan> · beispiel-agentur-seo.de</text>
        <text x="52" y="205" font-size="17" font-weight="600" fill="#3D44FF">SEO agency Exampletown – get a quote now</text>
        <rect x="52" y="216" width="420" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <rect x="52" y="230" width="340" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <line x1="52" y1="250" x2="828" y2="250" stroke="rgba(128,128,128,0.25)" stroke-width="1"></line>
        <text x="52" y="276" font-size="12" fill="#404040"><tspan font-weight="bold" fill="#FA6161">Ad</tspan> · zweite-agentur-beispiel.de</text>
        <text x="52" y="299" font-size="17" font-weight="600" fill="#3D44FF">Google Ads campaigns – example agency</text>
        <rect x="52" y="310" width="400" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <rect x="52" y="324" width="300" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <rect x="40" y="364" width="118" height="27" rx="13.5" fill="#3D44FF"></rect>
        <text x="99" y="382" text-anchor="middle" font-size="12" font-weight="bold" fill="#ffffff">ORGANIC</text>
        <rect x="24" y="402" width="852" height="268" rx="14" fill="#3D44FF" fill-opacity="0.05" stroke="#3D44FF" stroke-width="1.25"></rect>
        <rect x="24" y="402" width="6" height="268" rx="3" fill="#3D44FF"></rect>
        <text x="52" y="432" font-size="12" fill="#404040">www.beispielstadt-marketing.de › seo-agentur</text>
        <text x="52" y="455" font-size="17" font-weight="600" fill="#3D44FF">SEO agency Exampletown – visibility that stays</text>
        <rect x="52" y="466" width="440" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <rect x="52" y="480" width="360" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <line x1="52" y1="498" x2="828" y2="498" stroke="rgba(128,128,128,0.25)" stroke-width="1"></line>
        <text x="52" y="522" font-size="12" fill="#404040">www.andere-agentur-beispiel.de › leistungen › seo</text>
        <text x="52" y="545" font-size="17" font-weight="600" fill="#3D44FF">SEO services at a glance – example agency</text>
        <rect x="52" y="556" width="420" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <rect x="52" y="570" width="330" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <line x1="52" y1="588" x2="828" y2="588" stroke="rgba(128,128,128,0.25)" stroke-width="1"></line>
        <text x="52" y="612" font-size="12" fill="#404040">www.dritte-agentur-beispiel.de › ratgeber</text>
        <text x="52" y="635" font-size="17" font-weight="600" fill="#3D44FF">SEO vs. SEA explained – example agency guide</text>
        <rect x="52" y="646" width="400" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <rect x="52" y="660" width="300" height="8" rx="4" fill="#404040" fill-opacity="0.18"></rect>
        <text x="860" y="696" font-size="11" fill="#404040" text-anchor="end">viktorpasztor.de · SEO vs. SEA (schematic)</text>
      </svg>
      <figcaption>Example schematic representation of a Google search results page: at the top the “Ad” area (paid), below it the organic results. Not real search results or an actual measurement, but a simplified illustration for context.</figcaption>
    </figure>
  </div>
</section>

<section class="lp-section" id="break-even-rechnung">
  <div class="lp-wrap">
    <div class="lp-section__label">Worked example</div>
    <h2>The break-even calculation, laid open</h2>
    <p>Take a realistic B2B example: target keywords with a combined potential of 2,000 clicks per month, click price €6.</p>
    <p><strong>SEA:</strong> 2,000 clicks × €6 = €12,000/month media budget, plus management. From day 1, precisely scalable, ends with the budget.</p>
    <p><strong>SEO:</strong> Support from €1,000/month with me. Result: little in the first months, from month 6 to 12 a growing organic share. If the site reaches even a quarter of the click potential (500 clicks/month), it arithmetically replaces €3,000 of media budget – three times the support costs. At half: six times.</p>
    <p>The break-even – the point where cumulative SEO costs fall below cumulative ads costs for the same clicks – depends almost entirely on the click price: at €1 clicks it takes long or never pays off; at €5 it&#8217;s typically in the second year; at €10+ often already in the first. Rule of thumb: the more expensive your clicks, the faster SEO pays off. The assumptions are deliberately conservative – recalculate with your real click prices, they&#8217;re in your Google Ads account.</p>
    <table class="lp-article__table">
      <thead>
        <tr><th>Criterion</th><th>SEO</th><th>SEA (Google Ads)</th></tr>
      </thead>
      <tbody>
        <tr><td>Cost</td><td>support from €1,000/month</td><td>in the example 2,000 clicks × €6 = €12,000/month media budget</td></tr>
        <tr><td>Time to effect</td><td>6 to 12 months until a growing organic share</td><td>from day 1</td></tr>
        <tr><td>Sustainability</td><td>the stock remains, even when paused</td><td>ends with the budget</td></tr>
        <tr><td>Controllability</td><td>no guaranteed result</td><td>can be switched on and off instantly</td></tr>
        <tr><td>Typical break-even vs. ads costs</td><td>month 12 to 24, depending on click price</td><td>–</td></tr>
      </tbody>
    </table>
    <p style="font-size:1.3rem;color:var(--lp-muted)">Break-even calculation based on the example in this section: 2,000 clicks/month potential, €6 click price, SEO support from €1,000/month. The actual break-even depends on the respective click price.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="was-die-rechnung-nicht-zeigt">
  <div class="lp-wrap">
    <div class="lp-section__label">Limits of the calculation</div>
    <h2>What the calculation doesn&#8217;t show</h2>
    <p>Three factors shift the picture, in both directions. For SEA: perfect controllability (on today, off tomorrow), visibility for keywords you&#8217;ll never rank for, and data from day 1. For SEO: organic results appear more credible to many users than ads, the content additionally pays into AI visibility, and the stock remains when you pause. Against SEO: the result can&#8217;t be guaranteed – anyone promising you fixed click numbers is calculating dishonestly.</p>
  </div>
</section>

<section class="lp-section" id="praxisbeispiel">
  <div class="lp-wrap">
    <div class="lp-section__label">Case study</div>
    <h2>The hybrid strategy: ads as a data source for SEO</h2>
    <p>The smartest use is not either-or. This is how I combine both channels in client projects:</p>
    <ol>
      <li><strong>Ads first on the purchase keywords:</strong> 4 to 8 weeks of campaigning deliver real conversion data per keyword – before a single SEO text is written.</li>
      <li><strong>SEO on the winners:</strong> The keywords that demonstrably bring inquiries in ads get pages and content. No 12-month bet on assumptions.</li>
      <li><strong>Scale ads back step by step</strong> where organic rankings take over – the freed-up budget moves to keywords that are organically out of reach.</li>
    </ol>
    <p>This way SEA finances the learning phase and SEO permanently lowers unit costs. The channel comparison with social and email is its own topic – this was only about the calculation between the two search channels.</p>
  </div>
</section>

<section class="lp-section lp-section--surface" id="preise">
  <div class="lp-wrap">
    <div class="lp-section__label">Pricing</div>
    <h2>Pricing</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:2.4rem">
      <div class="lp-card"><h3>SEO support</h3><p>from €1,000/month, ongoing optimisation and content.</p></div>
      <div class="lp-card"><h3>Google Ads management</h3><p>€100/hour based on effort, plus the media budget that goes directly to Google.</p></div>
    </div>
    <p style="margin-top:2rem">Details and pricing logic for both models: <a href="https://viktorpasztor.de/en/seo-costs/">SEO pricing</a>.</p>
  </div>
</section>

<section class="lp-section" id="haeufige-fehler">
  <div class="lp-wrap">
    <div class="lp-section__label">Avoid</div>
    <h2>Common mistakes in the SEO vs. SEA comparison</h2>
    <div class="lp-grid lp-grid--2" style="margin-top:3rem">
      <div class="lp-card"><h3>Comparing on a monthly view</h3><p>That way SEA always wins – and you pay rent forever.</p></div>
      <div class="lp-card"><h3>Starting SEO without knowing the click prices</h3><p>Your ads account reveals what every organic click is worth.</p></div>
      <div class="lp-card"><h3>Switching off ads completely once SEO is running</h3><p>For unreachable keywords, SEA remains the only access.</p></div>
      <div class="lp-card"><h3>Buying brand keywords at a premium</h3><p>Even though you&#8217;ve long been organically in position 1 – worth checking, but no automatism: competitors sometimes bid on your name.</p></div>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface" id="faq">
  <div class="lp-wrap">
    <div class="lp-section__label">Frequently asked questions</div>
    <h2>Frequently asked questions about SEO and SEA</h2>
    <div style="margin-top:2.6rem">
      <details class="lp-faq__item" open="">
        <summary>What is the difference between SEO and SEA?</summary>
        <p>Both are search engine marketing: SEO earns visibility through content and technology (organic results), SEA buys it per click (ads). Together they form SEM.</p>
      </details>
      <details class="lp-faq__item">
        <summary>What does a click cost on Google Ads?</summary>
        <p>Depending on the industry, from under €1 (B2C, broad terms) to over €15 (B2B, legal, finance). Your real values are in the Keyword Planner or, after 4 weeks of campaigning, in your account.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Can SEO completely replace Google Ads?</summary>
        <p>Rarely sensible. For purchase-intent keywords with unreachable organic competition and for quick tests, SEA remains the right tool.</p>
      </details>
      <details class="lp-faq__item">
        <summary>Do Google Ads influence my organic rankings?</summary>
        <p>No – Google strictly separates the two systems. But ads deliver data that makes your SEO strategy measurably better.</p>
      </details>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-section__label">About the author</div>
    <div class="lp-grid" style="grid-template-columns:1fr;margin-top:2rem">
      <div class="lp-card">
        <h3>Viktor Pásztor</h3>
        <p>Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100&nbsp;% remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. <a href="https://viktorpasztor.de/en/about-me/">More about Viktor Pásztor</a></p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section lp-section--surface">
  <div class="lp-wrap">
    <div class="lp-section__label">Related articles</div>
    <h2>Keep reading</h2>
    <div class="lp-grid lp-grid--4" style="margin-top:3rem">
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/keyword-research/">Keyword research</a></h3>
        <p>How search data becomes a topic list.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/ongoing-seo-support/">SEO support</a></h3>
        <p>What ongoing SEO collaboration covers.</p>
      </div>
      <div class="lp-card">
        <h3><a href="https://viktorpasztor.de/en/seo-costs/">SEO pricing</a></h3>
        <p>What working with me costs – SEO and Google Ads compared.</p>
      </div>
    </div>
  </div>
</section>

<section class="lp-section">
  <div class="lp-wrap">
    <div class="lp-ctaband">
      <h2>Want the calculation with your real numbers?</h2>
      <p>Bring your Google Ads account to the free initial call – afterwards you&#8217;ll know which channel comes first for you.</p>
      <a class="lp-btn lp-btn--on-dark" href="https://viktorpasztor.de/en/ongoing-seo-support/">→ Request a call now</a>
    </div>
  </div>
</section>
</div>

<style>
.lp-page{--lp-accent:var(--primary,hsla(238,100%,62%,1));--lp-accent-hover:var(--primary-d-1,hsla(240,56%,50%,1));--lp-surface:var(--bg-surface,hsla(0,0%,100%,1));--lp-page-bg:var(--bg-body,hsla(0,0%,90%,1));--lp-heading:var(--text-title,hsla(0,0%,0%,1));--lp-ink:var(--text-body,hsla(0,0%,25%,1));--lp-muted:#666666;--lp-border:var(--border-primary,hsla(0,0%,50%,0.25));--lp-dark:var(--primary-d-4,hsla(250,43%,13%,1));--lp-radius:var(--radius-m,1.2rem);--lp-radius-l:var(--radius-l,2rem);--lp-section:var(--space-xl,5.6rem);--lp-wrap:min(120rem,100%);--lp-shadow:0 1.4rem 4rem hsla(0,0%,0%,.08);font-family:-apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.5rem;line-height:1.7;color:var(--lp-ink);background:var(--lp-page-bg);}
.lp-page *{box-sizing:border-box}
.lp-page h1,.lp-page h2,.lp-page h3{color:var(--lp-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;margin:0}
.lp-page h1{font-size:var(--text-xl,3.2rem)}
.lp-page h2{font-size:var(--text-l,2.4rem)}
.lp-page h3{font-size:var(--text-m,1.8rem)}
.lp-page p{margin:.6em 0}
.lp-page a{color:var(--lp-accent);text-underline-offset:2px}
.lp-wrap{max-width:var(--lp-wrap);margin:0 auto;padding:0 2.4rem}
.lp-section{padding:var(--lp-section) 0}
.lp-section--surface{background:var(--lp-surface)}
.lp-section__label{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-accent);font-weight:700;margin-bottom:.8rem}
.lp-section__center{text-align:center;max-width:76rem;margin:0 auto}
.lp-page a.lp-btn{display:inline-block;font-weight:600;font-size:1.6rem;padding:.7em 1.5em;border-radius:.4rem;text-decoration:none;cursor:pointer;border:.2rem solid transparent;transition:.15s}
.lp-page a.lp-btn--on-dark{background:#fff;color:var(--lp-accent)}
.lp-hero{padding-top:var(--lp-section)}
.lp-hero__inner{text-align:center;max-width:82rem;margin:0 auto}
.lp-hero__tagline{color:var(--lp-accent);font-size:1.3rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0}
.lp-hero__title{margin-top:1rem}
.lp-figure{margin:2.6rem 0;background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:1.6rem;box-shadow:var(--lp-shadow)}
.lp-figure svg{display:block;width:100%;height:auto;border-radius:.8rem}
.lp-figure figcaption{font-size:1.3rem;color:var(--lp-muted);margin-top:1.2rem;text-align:center}
.lp-grid{display:grid;gap:2.2rem}
.lp-grid--2{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}
.lp-grid--4{grid-template-columns:repeat(auto-fit,minmax(21rem,1fr))}
.lp-card{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.8rem;box-shadow:var(--lp-shadow)}
.lp-card h3{margin-bottom:.8rem}
.lp-faq__item{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius);padding:1.6rem 2rem;margin-bottom:1.2rem}
.lp-faq__item summary{cursor:pointer;font-weight:600;color:var(--lp-heading);list-style:none}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item[open] summary{color:var(--lp-accent)}
.lp-ctaband{background:var(--lp-accent);color:#fff;text-align:center;border-radius:var(--lp-radius-l);padding:6rem 2.4rem}
.lp-ctaband h2{color:#fff}
.lp-ctaband p{max-width:52ch;margin:1rem auto 2.2rem;opacity:.9}
.lp-article__meta{margin-top:1.4rem;color:var(--lp-muted);font-size:1.4rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-article__toc{background:var(--lp-surface);border:.1rem solid var(--lp-border);border-radius:var(--lp-radius-l);padding:2.4rem 2.8rem;box-shadow:var(--lp-shadow)}
.lp-article__toc h2{font-size:var(--text-m,1.8rem);margin-bottom:1.2rem}
.lp-article__toc ol{margin:0;padding-left:2rem}
.lp-article__toc li{margin-bottom:.6rem}
.lp-article__toc a{color:var(--lp-ink);text-decoration:none}
.lp-article__toc a:hover{color:var(--lp-accent);text-decoration:underline}
.lp-article__quote{border-left:.4rem solid var(--lp-accent);background:var(--lp-page-bg);border-radius:0 var(--lp-radius) var(--lp-radius) 0;padding:1.8rem 2.4rem;margin:2rem 0}
.lp-article__quote p{font-size:1.6rem;font-style:italic;color:var(--lp-heading);margin:0 0 .8rem}
.lp-article__quote cite{font-size:1.3rem;color:var(--lp-muted);font-style:normal}
.lp-article__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--lp-surface);border-radius:var(--lp-radius-l);overflow:hidden;box-shadow:var(--lp-shadow);margin:2rem 0}
.lp-article__table th,.lp-article__table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid var(--lp-border);text-align:left;font-size:1.4rem}
.lp-article__table thead th{background:var(--lp-dark);color:#fff;font-weight:600}
.lp-article__table tbody tr:last-child td{border-bottom:none}
@media(max-width:52rem){.lp-article__table{font-size:1.2rem}}
@media(max-width:1024px){.lp-grid--2,.lp-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.lp-grid--2,.lp-grid--4{grid-template-columns:1fr}}
.lp-section p a,.lp-section li a,.lp-quote a,.lp-faq__item p a{text-decoration:underline;text-underline-offset:2px}
.lp-page cite{opacity:1}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://viktorpasztor.de/#person","name":"Viktor Pásztor","url":"https://viktorpasztor.de/en/about-me/","jobTitle":"SEO Freelancer","knowsLanguage":["de","hu","en"]},{"@type":"Article","@id":"https://viktorpasztor.de/en/seo-vs-sea-comparison/#article","headline":"SEO vs. SEA: The Calculation Instead of the Matter of Belief","author":{"@id":"https://viktorpasztor.de/#person"},"publisher":{"@id":"https://viktorpasztor.de/#person"},"datePublished":"2026-08-06","dateModified":"2026-08-06","inLanguage":"en-US","isPartOf":{"@id":"https://viktorpasztor.de/en/seo-vs-sea-comparison/#webpage"},"mainEntityOfPage":{"@id":"https://viktorpasztor.de/en/seo-vs-sea-comparison/#webpage"}},{"@type":["WebPage","FAQPage"],"@id":"https://viktorpasztor.de/en/seo-vs-sea-comparison/#webpage","url":"https://viktorpasztor.de/en/seo-vs-sea-comparison/","name":"SEO vs. SEA: The Calculation Instead of the Matter of Belief","inLanguage":"en-US","breadcrumb":{"@id":"https://viktorpasztor.de/en/seo-vs-sea-comparison/#breadcrumb"},"mainEntity":[{"@type":"Question","name":"What is the difference between SEO and SEA?","acceptedAnswer":{"@type":"Answer","text":"Both are search engine marketing: SEO earns visibility through content and technology (organic results), SEA buys it per click (ads). Together they form SEM."}},{"@type":"Question","name":"What does a click cost on Google Ads?","acceptedAnswer":{"@type":"Answer","text":"Depending on the industry, from under €1 (B2C, broad terms) to over €15 (B2B, legal, finance). Your real values are in the Keyword Planner or in your account after 4 weeks of campaigning."}},{"@type":"Question","name":"Can SEO completely replace Google Ads?","acceptedAnswer":{"@type":"Answer","text":"Rarely sensible. For purchase-intent keywords with unreachable organic competition and for quick tests, SEA remains the right tool."}},{"@type":"Question","name":"Do Google Ads influence my organic rankings?","acceptedAnswer":{"@type":"Answer","text":"No – Google strictly separates the two systems. But ads deliver data that makes your SEO strategy measurably better."}}]},{"@type":"BreadcrumbList","@id":"https://viktorpasztor.de/en/seo-vs-sea-comparison/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://viktorpasztor.de/en/"},{"@type":"ListItem","position":2,"name":"SEO blog","item":"https://viktorpasztor.de/en/seo-blog/"},{"@type":"ListItem","position":3,"name":"SEO vs. SEA","item":"https://viktorpasztor.de/en/seo-vs-sea-comparison/"}]}]}</script>

<!-- /wp:post-content -->]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
