Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 22762 байт. Загружен за: 0сек.
Проверяемая страница не запрещена в robots.txt.
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ═══════ GOOGLE ANALYTICS ═══════ -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-YG0K67H8PY"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-YG0K67H8PY');
</script>
<!-- ═══════ DYNAMIC META (Multi-Domain) ═══════ -->
<script>
(function() {
var host = window.location.hostname;
var base = 'https://' + host;
var canonical = document.querySelector('link[rel="canonical"]');
if (!canonical) {
canonical = document.createElement('link');
canonical.rel = 'canonical';
document.head.appendChild(canonical);
}
canonical.href = base + '/';
var ogUrl = document.querySelector('meta[property="og:url"]');
if (ogUrl) ogUrl.content = base + '/';
var ogImage = document.querySelector('meta[property="og:image"]');
if (ogImage) ogImage.content = base + '/og-image.jpg';
var twImage = document.querySelector('meta[name="twitter:image"]');
if (twImage) twImage.content = base + '/og-image.jpg';
})();
</script>
<!-- ═══════ PRIMARY TITLE (i18n) ═══════ -->
<title data-i18n="meta.title">Timo Böse — Motion Designer & Visual Designer Berlin</title>
<!-- ═══════ SEO: META TAGS ═══════ -->
<meta name="description" content="Timo Böse — Freelance Motion Designer & Visual Designer in Berlin. Spezialisiert auf 3D/2D Animation, Motion Graphics, AI-Video Produktion und Grafikdesign. Kunden: Spotify, Google, Porsche, IBM, Adidas, LEGO.">
<meta name="keywords" content="Motion Designer Berlin, Animator Berlin, 3D Artist Berlin, Motion Graphics, After Effects, Cinema 4D, Blender, Visual Effects, Animation, 3D Animation, 2D Animation, AI-Video Produktion, KI Video, Grafikdesigner Berlin, Visual Designer, Creative Direction, premium downgrade, Timo Böse">
<meta name="author" content="Timo Böse">
<meta name="robots" content="index, follow">
<meta name="revisit-after" content="7 days">
<meta name="language" content="German, English">
<meta name="geo.region" content="DE-BE">
<meta name="geo.placename" content="Berlin">
<!-- ═══════ OPEN GRAPH ═══════ -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://timoboese.com/">
<meta property="og:title" content="Timo Böse — Motion Designer & AI Video Producer Berlin">
<meta property="og:description" content="Freelance Motion Designer, Grafikdesigner und AI-Video-Produzent in Berlin. 3D/2D Animation, Motion Graphics, KI-gestützte Videoproduktion.">
<meta property="og:image" content="https://timoboese.com/og-image.jpg">
<meta property="og:locale" content="de_DE">
<meta property="og:site_name" content="Premium Downgrade — Timo Böse">
<!-- ═══════ TWITTER CARD ═══════ -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Timo Böse — Motion Designer & AI Video Producer Berlin">
<meta name="twitter:description" content="Freelance Motion Designer, 3D Artist & AI Video Producer in Berlin. 3D/2D Animation, Motion Graphics, KI-Video.">
<meta name="twitter:image" content="https://timoboese.com/og-image.jpg">
<!-- ═══════ CANONICAL / FAVICON ═══════ -->
<link rel="canonical" href="https://timoboese.com/">
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="assets/favicon/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="assets/favicon/apple-touch-icon.png">
<link rel="manifest" href="assets/favicon/site.webmanifest">
<link rel="alternate" hreflang="de" href="https://timoboese.com/">
<link rel="alternate" hreflang="en" href="https://timoboese.com/?lang=en">
<link rel="alternate" hreflang="x-default" href="https://timoboese.com/">
<!-- ═══════ AI SEARCH OPTIMIZATION: Structured Data ═══════ -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": ["Person", "CreativeProfessional"],
"name": "Timo Böse",
"url": "https://timoboese.com",
"jobTitle": ["Motion Designer", "Visual Designer", "AI Video Producer", "3D Artist", "Grafikdesigner"],
"description": "Timo Böse is a freelance motion designer, visual designer, and AI video producer based in Berlin, Germany. Specializing in 3D/2D animation, motion graphics, AI-generated video content, and graphic design for brands like Spotify, Google, Porsche, IBM, Adidas, and LEGO.",
"address": {
"@type": "PostalAddress",
"addressLocality": "Berlin",
"addressCountry": "DE"
},
"knowsAbout": [
"Motion Design", "3D Animation", "2D Animation", "Motion Graphics",
"AI Video Production", "KI-Video Produktion", "Graphic Design",
"Visual Effects", "After Effects", "Cinema 4D", "Blender",
"Creative Direction", "Generative AI", "AI-gestützte Videoproduktion",
"3D Modeling", "Character Animation", "Visual Storytelling"
],
"sameAs": [
"https://vimeo.com/timoboese",
"https://www.linkedin.com/in/timoboese",
"https://www.xing.com/profile/Timo_Boese",
"https://www.instagram.com/premiumdowngrade/"
],
"hasOccupation": {
"@type": "Occupation",
"name": "Motion Designer & AI Video Producer",
"skills": ["Motion Design", "3D Animation", "AI Video Production", "Graphic Design", "Cinema 4D", "After Effects", "Blender", "Creative Direction"]
},
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "Graphic Design"
}
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"name": "Premium Downgrade — Motion Design & AI Video Studio",
"description": "Freelance motion design, animation, AI video production, and graphic design studio in Berlin.",
"url": "https://timoboese.com",
"address": {
"@type": "PostalAddress",
"addressLocality": "Berlin",
"addressCountry": "DE"
},
"priceRange": "$$$",
"serviceType": ["Motion Design", "AI Video Production", "3D Animation", "2D Animation", "Graphic Design", "Creative Direction", "Visual Effects"]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Was macht ein Motion Designer in Berlin?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Timo Böse ist ein freiberuflicher Motion Designer und Visual Designer in Berlin. Er erstellt 3D- und 2D-Animationen, Motion Graphics, AI-generierte Videos und Grafikdesign für internationale Marken wie Spotify, Google, Porsche, IBM und Adidas."
}
},
{
"@type": "Question",
"name": "Bietet Timo Böse AI-Video Produktion an?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Ja, Timo Böse spezialisiert sich auf AI-Video Produktion (KI-Video Produktion) und nutzt generative AI-Tools für innovative Videokampagnen, Motion Graphics und visuelle Inhalte."
}
},
{
"@type": "Question",
"name": "Welche Tools verwendet Timo Böse für Motion Design?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Timo Böse arbeitet mit After Effects, Cinema 4D, Blender, Adobe Creative Suite und verschiedenen AI-Tools für generative Video-Produktion und Motion Graphics."
}
},
{
"@type": "Question",
"name": "Wo finde ich einen 3D Artist in Berlin?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Timo Böse ist ein erfahrener 3D Artist und Motion Designer in Berlin. Er erstellt 3D-Animationen, Produktvisualisierungen und KI-gestützte 3D-Inhalte für Marken wie Porsche, LEGO und Adidas."
}
}
]
}
</script>
<!-- ═══════ CSS (kombiniert & minifiziert) ═══════ -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/main.combined.css?v=4">
<!-- ═══════ SCRIPTS ═══════ -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.12.2/lottie.min.js"></script>
<script src="./js/main.combined.js?v=3" defer></script>
</head>
<body>
<header id="siteHeader" class="site-header">
<div class="logo" id="lottieLogoContainer"></div>
<nav class="main-nav">
<ul>
<li><a href="#work" class="nav-work" data-i18n="nav.work">Work</a></li>
<li><a href="#about" class="nav-about" data-i18n="nav.about">About</a></li>
<li><a href="#footer-snap-point" class="nav-contact" data-i18n="nav.contact">Contact</a></li>
<li class="lang-switch">
<button class="lang-switch-btn lang-current" data-lang="de">
<span class="lang-label">DE</span>
</button>
</li>
</ul>
</nav>
</header>
<main>
<section id="landing">
<video autoplay muted loop playsinline id="heroVideo" preload="auto" aria-label="Hero motion design showcase">
<source src="./assets/mov/hero-video.webm" type="video/webm">
</video>
<div class="scroll-hint-wrapper" id="mainScrollHint">
<div class="scroll-text" data-i18n="hero.scroll">SCROLL</div>
<div class="scroll-hint-pill"><div class="scroll-dot"></div></div>
</div>
</section>
<section id="about">
<div class="gradient-bg">
<div class="blob"></div>
<div class="blob"></div>
<div class="blob"></div>
</div>
<div class="content-wrapper">
<h1 id="dynamic-text" data-i18n="about.headline" data-text="Graphic design in motion. Timo Böse — twenty years of moving image work for [clients] across sport, luxury, automotive, tech and [music], realised through independent commissions and long-term collaboration with [studios] in Germany and beyond.">Graphic design in motion.
Timo Böse — twenty years of moving image work for <i>[clients]</i> across sport, luxury, automotive, tech and [music], realised through independent commissions and long-term collaboration with <i>[studios]</i> in Germany and beyond.</h1>
<div class="sub-text">
<div class="col">
<h4 data-i18n="about.focus_title">Focus</h4>
<p data-i18n="about.focus_text">Motion design, brand campaigns, key visuals, social media content — the full range of moving image, from concept to delivery. AI-integrated production where it serves the work. Complex briefs welcome.</p>
</div>
<div class="col">
<h4 data-i18n="about.approach_title">Approach</h4>
<p data-i18n="about.approach_text">I come from graphic design — that shapes how I see, how I compose, and what I consider finished. Motion is the medium, design is the thinking behind it.</p>
</div>
<div class="col">
<h4 data-i18n="about.background_title">Background</h4>
<p data-i18n="about.background_text">Trained in graphic design, evolved through two decades of professional moving image work across Europe. Taught at the Filmakademie Baden-Württemberg. Based in Berlin.</p>
</div>
</div>
</div>
</section>
<section id="work">
<div class="grid-wrapper">
<div class="grid-row row-1">
<!-- 1. Showreel -->
<div class="project-item" onclick="openProject('project_01')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_01.webm" muted loop playsinline preload="none" aria-describedby="project1"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.showreel">Showreel</div>
<div class="project-meta" data-i18n="work.showreel_meta">work compilation</div>
</div>
</div>
<!-- 2. The Last Museum -->
<div class="project-item" onclick="openProject('project_02')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_02.webm" muted loop playsinline preload="none" aria-describedby="project2"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.museum">The Last Museum</div>
<div class="project-meta" data-i18n="work.museum_meta">AI Video Concept</div>
</div>
</div>
<!-- 3. Pro7 TV Idents -->
<div class="project-item" onclick="openProject('project_03')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_03.webm" muted loop playsinline preload="none" aria-describedby="project3"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.pro7">Pro7 TV Idents</div>
<div class="project-meta" data-i18n="work.pro7_meta">Broadcast Design</div>
</div>
</div>
</div>
<div class="grid-row row-2">
<!-- 4. Toca Me -->
<div class="project-item" onclick="openProject('project_04')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_04.webm" muted loop playsinline preload="none" aria-describedby="project4"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.toca_me">Toca Me</div>
<div class="project-meta" data-i18n="work.toca_me_meta">Event Opener</div>
</div>
</div>
<!-- 5. Bilou 2023 -->
<div class="project-item" onclick="openProject('project_05')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_05.webm" muted loop playsinline preload="none" aria-describedby="project5"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.bilou_2023">Bilou 2023</div>
<div class="project-meta" data-i18n="work.bilou_2023_meta">Campaign Visuals</div>
</div>
</div>
</div>
<div class="grid-row row-3">
<!-- 6. Nike Kobe 8 -->
<div class="project-item" onclick="openProject('project_06')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_06.webm" muted loop playsinline preload="none" aria-describedby="project6"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.nike_kobe">Nike Kobe 8</div>
<div class="project-meta" data-i18n="work.nike_kobe_meta">Key Visual</div>
</div>
</div>
<!-- 7. Bilou Wednesday -->
<div class="project-item" onclick="openProject('project_07')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_07.webm" muted loop playsinline preload="none" aria-describedby="project7"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.bilou_wed">Bilou Wednesday</div>
<div class="project-meta" data-i18n="work.bilou_wed_meta">Limited Edition</div>
</div>
</div>
<!-- 8. Âme -->
<div class="project-item" onclick="openProject('project_08')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_08.webm" muted loop playsinline preload="none" aria-describedby="project8"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.ame">Âme</div>
<div class="project-meta" data-i18n="work.ame_meta">Album Artwork & Visuals</div>
</div>
</div>
</div>
<div class="grid-row row-4">
<!-- 9. Lufthansa Digital Hangar -->
<div class="project-item" onclick="openProject('project_09')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_09.webm" muted loop playsinline preload="none" aria-describedby="project9"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.lufthansa">Lufthansa Digital Hangar</div>
<div class="project-meta" data-i18n="work.lufthansa_meta">Confidential</div>
</div>
</div>
<!-- 10. Aviation -->
<div class="project-item" onclick="openProject('project_10')">
<div class="project-media">
<video loading="lazy" src="./assets/mov/project_10.webm" muted loop playsinline preload="none" aria-describedby="project10"></video>
</div>
<div class="project-info">
<div class="project-title" data-i18n="work.aviation">Aviation</div>
<div class="project-meta" data-i18n="work.aviation_meta">3D Animation</div>
</div>
</div>
</div>
</div>
</section>
<!-- FOOTER (Load external) -->
<footer id="footer-snap-point" class="footer-container"></footer>
<script>
// Load footer BEFORE other scripts
fetch('footer.html')
.then(response => response.text())
.then(data => {
document.querySelector('.footer-container').innerHTML = data;
console.log('✓ Footer loaded');
// NOW bind overlays after footer is loaded
if (typeof bindOverlay === 'function') {
setTimeout(() => {
bindOverlay('imprintLink', 'imprintOverlay', 'imprint.json');
bindOverlay('privacyLink', 'privacyOverlay', 'privacy.json');
}, 100);
}
})
.catch(err => console.error('Footer load error:', err));
</script>
</main>
<!-- ═══════ COOKIE BANNER JS ═══════ -->
<script>
document.addEventListener('DOMContentLoaded', function() {
var banner = document.getElementById('cookieBanner');
if (!banner) return;
if (!localStorage.getItem('cookieConsent')) {
banner.style.display = 'block';
}
document.getElementById('cookieAccept').addEventListener('click', function() {
localStorage.setItem('cookieConsent', 'accepted');
banner.style.display = 'none';
});
document.getElementById('cookieDecline').addEventListener('click', function() {
localStorage.setItem('cookieConsent', 'declined');
banner.style.display = 'none';
});
});
</script>
<!-- ═══════ COOKIE BANNER ═══════ -->
<div id="cookieBanner" class="cookie-banner">
<div class="cookie-banner-content">
<p data-i18n="cookie.text">Diese Website verwendet Cookies, um die Nutzererfahrung zu verbessern. Mit der Nutzung stimmst du der Verwendung von Cookies zu.</p>
<div class="cookie-banner-buttons">
<button id="cookieAccept" class="cookie-btn cookie-btn-primary" data-i18n="cookie.accept">Akzeptieren</button>
<button id="cookieDecline" class="cookie-btn cookie-btn-secondary" data-i18n="cookie.decline">Ablehnen</button>
</div>
</div>
</div>
<div id="imprintOverlay" class="overlay">
<div class="overlay-inner">
<button class="close-btn" id="imprintClose">✕</button>
<div class="overlay-content"></div>
</div>
</div>
<div id="privacyOverlay" class="overlay">
<div class="overlay-inner">
<button class="close-btn" id="privacyClose">✕</button>
<div class="overlay-content"></div>
</div>
</div>
</body>
</html>