Technical SEO Audit Checklist: 100-Point Guide

Complete 100-point technical SEO audit checklist covering crawlability, Core Web Vitals, structured data, international SEO, indexation, and site architecture for 2026.

E
ECOSIRE Research and Development Team
|19. März 202610 Min. Lesezeit2.3k Wörter|

Technische SEO-Audit-Checkliste: 100-Punkte-Leitfaden

Bei einem technischen SEO-Audit geht es nicht um Meta-Tags und Keyword-Dichte – es handelt sich um eine systematische technische Überprüfung, wie gut Ihre Website mit Suchmaschinen kommuniziert. Crawlbarkeit, Indexierung, Core Web Vitals, strukturierte Daten, Kanonisierung und internationale Signale wirken sich alle auf Ihren Rang aus, bevor ein einzelner Inhalt bewertet wird. Im Jahr 2026, da KI-gestützte Suchmaschinen und AEO (Answer Engine Optimization) genauso wichtig werden wie traditionelles SEO, ist die technische Grundlage wichtiger denn je.

Diese 100-Punkte-Checkliste ist nach Kategorien geordnet. Arbeiten Sie es systematisch durch und verfolgen Sie die Ergebnisse in einer Tabelle. Beheben Sie kritische Elemente (mit C gekennzeichnet) vor allen anderen Optimierungsarbeiten – sie können verhindern, dass der Rest irgendwelche Auswirkungen hat.

Wichtige Erkenntnisse

  • Crawlbarkeit ist das erste Tor – wenn der Googlebot Ihre Seiten nicht erreichen kann, ist alles andere von Bedeutung
  • Core Web Vitals (LCP, INP, CLS) sind bestätigte Ranking-Signale; Ziel-LCP < 2,5 s, INP < 200 ms, CLS < 0,1 – Kanonische Tags verhindern die Verwässerung von doppeltem Inhalt – jede Seite benötigt einen, der auf sich selbst verweist – hreflang ist für mehrsprachige Websites obligatorisch; x-default muss für jede URL-Gruppe festgelegt werden – Strukturierte Daten (JSON-LD) ermöglichen umfassende Ergebnisse und sind für die AI/LLM-Quellenzuordnung von entscheidender Bedeutung
  • HTTPS ist im Jahr 2026 der Schlüssel zum Erfolg; Mixed Content blockiert die Indexierung der betroffenen Seiten
  • Mobile-First-Indexierung bedeutet, dass Ihr mobiles Erlebnis von Google bewertet wird
  • Interne Verlinkung mit beschreibendem Ankertext verteilt den PageRank und signalisiert Themenrelevanz

Abschnitt 1: Crawlbarkeit und Indexierung (C = Critical)

robots.txt

  • (C) robots.txt ist unter /robots.txt zugänglich und gibt 200 zurück
  • (C) Sitemap-URL deklariert: Sitemap: https://example.com/sitemap.xml
  • Schlüsselseiten werden nicht versehentlich durch Disallow blockiert
  • Separate Crawl-Raten-Anweisungen für aggressive Bots
  • KI-Crawler gemäß Richtlinie ausdrücklich erlaubt oder nicht zugelassen (GPTBot, ClaudeBot, OAI-SearchBot)
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/
Disallow: /auth/
Sitemap: https://ecosire.com/sitemap.xml

# Allow AI indexers
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /

XML-Sitemap

  • (C) Sitemap gibt 200 mit korrektem Content-Type: application/xml zurück
  • (C) Alle kanonischen URLs enthalten; Keine URLs, die durch robots.txt oder noindex blockiert wurden
  • <lastmod> Daten sind korrekt (nicht alle das gleiche statische Datum)
  • <priority> und <changefreq> entsprechend dem Seitentyp festgelegt
  • Sitemap aufgeteilt in Index + Unter-Sitemaps für Websites mit mehr als 50.000 URLs
  • Sitemap an die Google Search Console und die Bing Webmaster Tools übermittelt
  • Bild-Sitemap für bildlastige Seiten enthalten
  • Alternative Sprach-URLs in der Sitemap (hreflang)
// Next.js sitemap.ts — programmatic with correct lastmod
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
  const posts = await getAllBlogPosts();
  return [
    {
      url: 'https://ecosire.com',
      lastModified: new Date(),
      changeFrequency: 'daily',
      priority: 1.0,
    },
    ...posts.map((post) => ({
      url: `https://ecosire.com/blog/${post.slug}`,
      lastModified: new Date(post.updatedAt),
      changeFrequency: 'weekly' as const,
      priority: 0.8,
    })),
  ];
}

Crawl-Budget

  • Paginierungsseiten verwenden rel="next" / rel="prev" (oder unendliches Scrollen mit SSR)
  • Facettierte Navigations-URLs sind entweder kanonisiert oder nicht indexiert
  • Sitzungs-IDs und Tracking-Parameter, die von indizierten URLs ausgeschlossen sind
  • Umleitungsketten auf einen Hop beschränkt (A nach B, nicht A nach B nach C)
  • Keine Soft 404s – 404-Seiten geben HTTP 404 zurück, nicht 200

Abschnitt 2: HTTPS und Sicherheit

  • (C) Alle über HTTPS bereitgestellten Seiten mit gültigem Zertifikat
  • (C) HTTP-Weiterleitungen zu HTTPS (301, nicht 302)
  • (C) Keine Warnungen zu gemischten Inhalten (HTTP-Ressourcen auf HTTPS-Seiten)
  • HSTS aktiviert mit max-age=31536000; includeSubDomains; preload
  • SSL-Zertifikat hat noch 90+ Tage Restlaufzeit
  • Das Zertifikat deckt WWW- und Nicht-WWW-Varianten ab
  • Zertifikatskette vollständig (keine Zwischen-CA fehlt)
# Nginx HTTPS configuration
server {
    listen 443 ssl http2;
    server_name ecosire.com;

    ssl_certificate     /etc/letsencrypt/live/ecosire.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ecosire.com/privkey.pem;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
}

Abschnitt 3: Grundlegende Web-Vitals

Largest Contentful Paint (LCP) – Ziel: unter 2,5 Sekunden

  • (C) LCP-Element identifiziert in CrUX/PageSpeed Insights
  • Heldenbild/-video vorinstalliert mit <link rel="preload" as="image"> – [ ] LCP-Bild mit korrektem fetchpriority="high"-Attribut bereitgestellt
  • Bilder im WebP- oder AVIF-Format, wenn möglich nicht PNG/JPEG
  • Bilder in angemessener Größe (kein 4000-Pixel-Bild wird bei 800 Pixel angezeigt)
  • [] CDN, das statische Assets mit Edge-Caching bereitstellt
  • Server TTFB unter 800 ms (reduziert das LCP-Fenster)
// Next.js: priority prop preloads the hero image
<Image
  src="/hero.webp"
  alt="Hero image"
  width={1200}
  height={630}
  priority
  sizes="100vw"
/>

Interaktion mit Next Paint (INP) – Ziel: unter 200 ms

  • Lange Aufgaben (über 50 ms) wurden identifiziert und aufgeteilt
  • Schweres JavaScript verzögert oder verzögert geladen
  • Ereignishandler sind effizient und verursachen keine Neuberechnungen des Layouts
  • Skripte von Drittanbietern, die mit async oder defer geladen wurden

Cumulative Layout Shift (CLS) – Ziel: unter 0,1

  • (C) Alle Bilder und Videos haben explizite width- und height-Attribute
  • Web-Schriftarten verwenden font-display: optional oder swap mit Fallback zur Größenanpassung
  • Anzeigenflächen haben reservierte Abmessungen
  • Dynamisch eingefügter Inhalt über dem Falz vermieden
  • Animationen verwenden nur transform und opacity (nicht top, left, width)

Abschnitt 4: URL-Struktur und Kanonisierung

  • (C) Jede Seite hat ein selbstreferenzierendes kanonisches Tag
  • (C) Canonical-Tag-URL stimmt mit der tatsächlich bereitgestellten URL überein (abschließender Schrägstrich konsistent)
  • www und nicht-www leiten zur kanonischen Version weiter
  • URLs sind Kleinbuchstaben, Bindestriche als Worttrenner, keine Unterstriche
  • URL-Tiefe höchstens 4 Ebenen vom Stammverzeichnis für wichtige Seiten
  • Keine URL-Parameter, die doppelten Inhalt ohne Kanonisierung erzeugen
  • Paginierte Serien werden bis zur ersten Seite kanonisiert (oder jede Seite selbstkanonisch)
// Next.js generateMetadata with canonical
export async function generateMetadata({ params }: Props): Promise<Metadata> {
  const { locale, slug } = await params;
  const base = locale === 'en' ? '' : `/${locale}`;
  const canonicalUrl = `https://ecosire.com${base}/blog/${slug}`;

  return {
    alternates: {
      canonical: canonicalUrl,
      languages: buildHreflangUrls(slug), // all 11 locales
    },
  };
}

Abschnitt 5: Metadaten und On-Page-SEO

  • (C) Jede Seite hat ein eindeutiges <title>-Tag (50-60 Zeichen)
  • (C) Jede Seite hat einen eindeutigen <meta name="description"> (150-160 Zeichen)
  • Titel folgen dem Muster: Primary Keyword | Brand Name
  • Keine doppelten Titel-Tags auf der gesamten Website
  • Open Graph-Tags: og:title, og:description, og:image, og:url, og:type
  • Twitter/X-Karten-Tags: twitter:card, twitter:title, twitter:image
  • OG-Bilder haben eine Größe von 1200 x 630 Pixel, weniger als 8 MB und werden vom CDN bereitgestellt
  • <meta name="robots"> wird nur zur Einschränkung verwendet (nicht redundant index,follow)
  • <html lang="en"> für alle Seiten korrekt eingestellt

Abschnitt 6: Strukturierte Daten (JSON-LD)

  • (C) JSON-LD gegenüber Microdata/RDFa bevorzugt (einfacher zu warten, Parser-freundlich)
  • Organisationsschema auf der Startseite mit sameAs sozialen Profil-URLs – [ ] Website-Schema mit SearchAction für Sitelinks-Suchfeld
  • BreadcrumbList-Schema auf allen Seiten unterhalb der Homepage
  • Artikelschema zu Blogbeiträgen mit datePublished, dateModified, author
  • FAQ-Seitenschema auf Seiten mit FAQ-Abschnitten
  • Produktschema auf Produktseiten mit offers, aggregateRating
  • Serviceschema auf Serviceseiten mit areaServed, serviceType – [ ] inLanguage-Eigenschaft für alle Schemata für mehrsprachige KI-Attribution
  • Strukturierte Daten, validiert im Rich Results Test von Google
// JSON-LD with XSS protection
// The .replace() encodes the less-than sign to prevent </script> breakout,
// making this safe for use in a script tag (no untrusted HTML rendered)
export function JsonLd({ data }: { data: Record<string, unknown> }) {
  const safeJson = JSON.stringify(data).replace(/</g, '\\u003c');

  return (
    <script
      type="application/ld+json"
      // Safe: safeJson is a sanitized JSON string, not HTML
      dangerouslySetInnerHTML={{ __html: safeJson }}
    />
  );
}

// Usage
const schema = {
  '@context': 'https://schema.org',
  '@type': 'FAQPage',
  inLanguage: locale,
  mainEntity: faqs.map((faq) => ({
    '@type': 'Question',
    name: faq.question,
    acceptedAnswer: { '@type': 'Answer', text: faq.answer },
  })),
};

<JsonLd data={schema} />

Abschnitt 7: Internationales SEO

  • (C) hreflang-Tags auf allen Seiten mit Sprachvarianten
  • (C) x-default hreflang für jede URL-Gruppe festgelegt
  • hreflang-Attribute sind bidirektional (wenn /en/ auf /fr/ verweist, muss /fr/ zurück auf /en/ verlinken)
  • Gebietsschema-URLs verwenden bei Bedarf ISO 639-1-Sprachcodes und ISO 3166-1-Regionalcodes
  • <html lang="xx"> entspricht dem hreflang-Gebietsschema für diese Seite
  • RTL-Sprachen (Arabisch, Hebräisch, Urdu) verwenden dir="rtl" auf <html>
  • Der Inhalt wird übersetzt und nicht nur ohne Überprüfung automatisch übersetzt
  • Geo-Targeting in der Google Search Console pro Gebietsschema-Unterverzeichnis festgelegt
// Next.js hreflang via generateMetadata
const locales = ['en', 'zh', 'es', 'ar', 'pt', 'fr', 'de', 'ja', 'tr', 'hi', 'ur'];

// In generateMetadata:
// alternates.languages keys must be BCP 47 language tags
alternates: {
  languages: Object.fromEntries([
    ['x-default', `https://ecosire.com/blog/${slug}`],
    ['en',        `https://ecosire.com/blog/${slug}`],
    ['zh',        `https://ecosire.com/zh/blog/${slug}`],
    ['ar',        `https://ecosire.com/ar/blog/${slug}`],
    // ... all 11 locales
  ]),
},

Abschnitt 8: Leistung und Infrastruktur

  • Statische Assets, die vom CDN bereitgestellt werden (CloudFront, Cloudflare, Fastly)
  • Browser-Caching: Cache-Control: public, max-age=31536000, immutable für gehashte Assets
  • Gzip- oder Brotli-Komprimierung auf dem Server aktiviert
  • HTTP/2 oder HTTP/3 aktiviert
  • DNS TTL 3600 oder weniger für agiles Failover
  • Server-Antwortzeit unter 200 ms für HTML (TTFB messen)
  • JavaScript-Bundle unter 250 KB beim anfänglichen Laden (gzippt)
  • Ungenutztes JavaScript entfernt (Tree-Shaking, Code-Splitting)
  • CSS wurde von ungenutzten Regeln in der Produktion bereinigt
# Nginx compression + caching headers
gzip on;
gzip_types text/html text/css application/javascript application/json image/svg+xml;
gzip_min_length 1024;

location /_next/static/ {
    expires max;
    add_header Cache-Control "public, max-age=31536000, immutable";
}

Abschnitt 9: Mobil- und Benutzererfahrung

  • (C) Viewport-Meta-Tag: <meta name="viewport" content="width=device-width, initial-scale=1">
  • Alle interaktiven Elemente haben Touch-Ziele von mindestens 48 x 48 Pixel
  • Kein horizontales Scrollen auf Mobilgeräten (maximale Breite: 100 vw)
  • Schriftgröße mindestens 16 Pixel für den Textkörper (verhindert den automatischen Zoom von iOS beim Eingabefokus)
  • Mobile Navigation auf realen Geräten getestet (iOS Safari, Chrome Android)
  • Pop-ups und Interstitials decken den Hauptinhalt auf Mobilgeräten nicht ab
  • Tap-to-Call auf Telefonnummern für mobile Besucher

Abschnitt 10: AEO (Answer Engine Optimization)

Immer wichtiger für KI-Suchmaschinen und Sprachassistenten:

  • Schlüsselantworten verpackt in data-speakable-Attribut
  • <details>/<summary> wird für zusammenklappbare FAQ-Inhalte verwendet (crawlbar, semantisch)
  • /llms.txt und /.well-known/llms.txt für KI-Crawler veröffentlicht
  • Prägnante, sachliche Antwortabsätze oben in wichtigen Abschnitten (Featured Snippet-Optimierung)
  • Entitätsbeziehungen klar in strukturierten Daten (Organisation über Dienstleistungen bis hin zu Produkten)
  • Markenname konsistent auf allen Seiten, sozialen Profilen und Verzeichnissen
  • IndexNow-API zur sofortigen URL-Übermittlung nach der Veröffentlichung neuer Inhalte

Häufig gestellte Fragen

Wie oft sollte ich ein technisches SEO-Audit durchführen?

Führen Sie vierteljährlich ein vollständiges Audit und monatlich einen leichten Crawl (Screaming Frog oder Sitebulb) durch. Jede wesentliche Änderung der Website – neuer Technologie-Stack, Migration, Hinzufügen internationaler Inhalte, größere Neugestaltung – erfordert eine sofortige Prüfung. Richten Sie eine kontinuierliche Überwachung über Google Search Console-Benachrichtigungen für plötzliche Rückgänge indizierter Seiten oder Crawling-Fehler ein.

Welche Tools benötige ich für ein technisches SEO-Audit?

Mindestens: Google Search Console (kostenlos, kanonisch), Screaming Frog oder Sitebulb (Crawling-Analyse), PageSpeed ​​Insights (Core Web Vitals), Google Rich Results Test (strukturierte Daten), WebAIM Contrast Checker (Barrierefreiheit/UX) und Ahrefs oder SEMrush (Backlinks, Keyword-Ranking). Fügen Sie für JavaScript-lastige Websites Rendertron oder Botify für das gerenderte Crawling hinzu.

Was ist das häufigste kritische SEO-Problem, das bei Audits festgestellt wird?

Fehlkonfigurationen kanonischer Tags sind das häufigste kritische Ergebnis – sie fehlen entweder vollständig, verweisen auf die falsche URL (häufig eine in der Produktion verbliebene Entwicklungs- oder Staging-Domäne) oder stimmen nicht mit der Verwendung von abschließenden Schrägstrichen überein. Am zweithäufigsten sind versehentliche Noindex-Anweisungen von CMS-Plugins oder in Produktions-Builds verbliebenen Staging-Konfigurationen.

Hilft Next.js App Router bei der technischen Suchmaschinenoptimierung?

Ja, deutlich. Serverseitiges Rendering bedeutet, dass sich der gesamte Inhalt in der ersten HTML-Antwort befindet (zum Crawlen ist kein JavaScript erforderlich). generateMetadata() Metadaten pro Seite verhindern globale statische Metadatenfehler. Die Konventionen sitemap.ts und robots.ts erleichtern die programmgesteuerte Verwaltung dieser Dateien. Die integrierte Bildkomponente erzwingt Breite und Höhe zur CLS-Verhinderung und generiert automatisch WebP/AVIF-Varianten.

Wie gehe ich mit SEO für paginierte Inhalte um?

Bei paginierten Blog-Archiven oder Produktlisten sollte jede Seite einen auf sich selbst verweisenden kanonischen Text (nicht kanonisch auf Seite 1) und einen beschreibenden Titel mit Angabe der Seitenzahl haben. Wenn der Inhalt umfangreich ist, sollte eine Indexierung möglich sein. Erwägen Sie bei dünn paginierten Seiten noindex auf Seiten nach Seite 3. Google hat rel="next"/rel="prev" im Jahr 2019 eingestellt, es wird jedoch immer noch von anderen Suchmaschinen verwendet.


Nächste Schritte

Ein technisches SEO-Audit ist eine einmalige Investition, die den ROI Ihrer gesamten Content- und Marketingarbeit vervielfacht. Die 100 Punkte in dieser Checkliste decken den gesamten Umfang dessen ab, was Suchmaschinen bewerten, bevor sie Ihre Inhalte bewerten.

ECOSIRE implementiert technische SEO-Best Practices als Standardbestandteil jedes Next.js-Projekts – von programmatischen Sitemaps und Hreflang für 11 Gebietsschemas bis hin zu strukturierten Daten, Core Web Vitals-Optimierung und IndexNow API-Integration. [Erkunden Sie unsere Webentwicklungsdienste] (/services), um zu erfahren, wie wir vom ersten Tag an für Sichtbarkeit in der Suche sorgen.

E

Geschrieben von

ECOSIRE Research and Development Team

Entwicklung von Enterprise-Digitalprodukten bei ECOSIRE. Einblicke in Odoo-Integrationen, E-Commerce-Automatisierung und KI-gestützte Geschäftslösungen.

Chatten Sie auf WhatsApp