Optimierung markemacht.de und adametz.media für Live-Deploy.
Beide Sites mit lokalem Font-Hosting, WebP, Build-Pipeline, SEO-Basis, HSTS, Performance-Tuning und aktualisierten Impressum/Datenschutz-Texten. Co-authored-by: Cursor <cursoragent@cursor.com>
92
_adametz.media/.htaccess
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
# ADAMETZ.MEDIA — Apache-Konfiguration (adametz.media)
|
||||||
|
# Kanonische Domain: https://adametz.media (ohne www)
|
||||||
|
|
||||||
|
# ── Rewrite-Engine ────────────────────────────────────────────────────────────
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteBase /
|
||||||
|
|
||||||
|
# HTTPS erzwingen und www → non-www (301 Permanent)
|
||||||
|
RewriteCond %{HTTPS} off [OR]
|
||||||
|
RewriteCond %{HTTP_HOST} ^www\.adametz\.media$ [NC]
|
||||||
|
RewriteRule ^ https://adametz.media%{REQUEST_URI} [R=301,L]
|
||||||
|
|
||||||
|
# Build-Skript und interne Dateien nicht öffentlich
|
||||||
|
RewriteRule ^scripts/ - [F,L]
|
||||||
|
RewriteRule ^assets/components/ - [F,L]
|
||||||
|
RewriteRule ^assets/version\.txt$ - [F,L]
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# ── Fehlerseiten ──────────────────────────────────────────────────────────────
|
||||||
|
ErrorDocument 404 /404.html
|
||||||
|
|
||||||
|
# ── Verzeichnislisting deaktivieren ───────────────────────────────────────────
|
||||||
|
Options -Indexes -MultiViews
|
||||||
|
|
||||||
|
# ── Standard-Dokument ─────────────────────────────────────────────────────────
|
||||||
|
DirectoryIndex index.html
|
||||||
|
|
||||||
|
# ── Zeichensatz ───────────────────────────────────────────────────────────────
|
||||||
|
AddDefaultCharset UTF-8
|
||||||
|
|
||||||
|
# ── MIME-Typen ────────────────────────────────────────────────────────────────
|
||||||
|
<IfModule mod_mime.c>
|
||||||
|
AddType image/webp .webp
|
||||||
|
AddType image/svg+xml .svg
|
||||||
|
AddType font/woff2 .woff2
|
||||||
|
AddType font/woff .woff
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# ── Kompression ───────────────────────────────────────────────────────────────
|
||||||
|
<IfModule mod_deflate.c>
|
||||||
|
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml
|
||||||
|
AddOutputFilterByType DEFLATE application/javascript application/json application/xml
|
||||||
|
AddOutputFilterByType DEFLATE image/svg+xml font/woff2 font/woff
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_brotli.c>
|
||||||
|
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/css text/xml
|
||||||
|
AddOutputFilterByType BROTLI_COMPRESS application/javascript application/json application/xml
|
||||||
|
AddOutputFilterByType BROTLI_COMPRESS image/svg+xml font/woff2 font/woff
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# ── Cache-Steuerung ───────────────────────────────────────────────────────────
|
||||||
|
<IfModule mod_expires.c>
|
||||||
|
ExpiresActive On
|
||||||
|
ExpiresDefault "access plus 0 seconds"
|
||||||
|
|
||||||
|
ExpiresByType text/html "access plus 0 seconds"
|
||||||
|
ExpiresByType text/css "access plus 7 days"
|
||||||
|
ExpiresByType application/javascript "access plus 7 days"
|
||||||
|
ExpiresByType image/svg+xml "access plus 7 days"
|
||||||
|
ExpiresByType image/webp "access plus 7 days"
|
||||||
|
ExpiresByType image/jpeg "access plus 7 days"
|
||||||
|
ExpiresByType image/png "access plus 7 days"
|
||||||
|
ExpiresByType font/woff2 "access plus 7 days"
|
||||||
|
ExpiresByType font/woff "access plus 7 days"
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
SetEnvIf Request_URI "^/assets/" ASSET_PATH=1
|
||||||
|
Header set Cache-Control "public, max-age=604800, immutable" env=ASSET_PATH
|
||||||
|
|
||||||
|
<FilesMatch "\.(html)$">
|
||||||
|
Header set Cache-Control "no-cache, must-revalidate"
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
Header always set X-Content-Type-Options "nosniff"
|
||||||
|
Header always set X-Frame-Options "SAMEORIGIN"
|
||||||
|
Header always set Referrer-Policy "strict-origin-when-cross-origin"
|
||||||
|
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
|
||||||
|
Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'self'; base-uri 'self'; form-action 'self' mailto:"
|
||||||
|
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" env=HTTPS
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# ── Zugriffsschutz ────────────────────────────────────────────────────────────
|
||||||
|
<FilesMatch "(^\.|\.md$|\.DS_Store$)">
|
||||||
|
Require all denied
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
<FilesMatch "(^|/)version\.txt$">
|
||||||
|
Require all denied
|
||||||
|
</FilesMatch>
|
||||||
162
_adametz.media/404.html
Normal file
|
|
@ -0,0 +1,162 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Seite nicht gefunden – Kevin Adametz</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Die angeforderte Seite wurde nicht gefunden."
|
||||||
|
/>
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
|
||||||
|
<meta property="og:title" content="Seite nicht gefunden – Kevin Adametz" />
|
||||||
|
<meta
|
||||||
|
property="og:description"
|
||||||
|
content="Die angeforderte Seite wurde nicht gefunden."
|
||||||
|
/>
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="https://adametz.media/404.html" />
|
||||||
|
<link rel="canonical" href="https://adametz.media/" />
|
||||||
|
<meta name="twitter:title" content="Seite nicht gefunden – Kevin Adametz" />
|
||||||
|
<meta
|
||||||
|
name="twitter:description"
|
||||||
|
content="Die angeforderte Seite wurde nicht gefunden."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<meta property="og:locale" content="de_DE" />
|
||||||
|
<meta property="og:site_name" content="ADAMETZ.MEDIA" />
|
||||||
|
<meta property="og:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta property="og:image:width" content="1200" />
|
||||||
|
<meta property="og:image:height" content="630" />
|
||||||
|
<meta property="og:image:alt" content="Kevin Adametz — Markensysteme, die funktionieren" />
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta name="theme-color" content="#0a0a0a" />
|
||||||
|
|
||||||
|
<link rel="preload" href="assets/fonts/outfit-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
<link rel="preload" href="assets/fonts/source-sans-3-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="assets/fav/apple-icon-180x180.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="assets/fav/favicon-32x32.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="assets/fav/favicon-16x16.png" />
|
||||||
|
<link rel="shortcut icon" href="assets/fav/favicon.ico" />
|
||||||
|
<link rel="manifest" href="manifest.json" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="assets/styles.css?v=20250610" />
|
||||||
|
<script src="assets/js/app.js?v=20250610" defer></script>
|
||||||
|
|
||||||
|
<script defer src="https://sys.adametz.media/config.js" data-website-id="69ec86fc-7f06-4cc5-9e2c-fd9daaae7faa"></script>
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "WebSite",
|
||||||
|
"name": "ADAMETZ.MEDIA",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"description": "Markensysteme für Unternehmen, die sich klar erklären wollen – von der Strategie bis zur Umsetzung.",
|
||||||
|
"inLanguage": "de-DE"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "Kevin Adametz",
|
||||||
|
"jobTitle": "Markenarchitekt",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"email": "info@adametz.media",
|
||||||
|
"telephone": "+49-5206-7076721",
|
||||||
|
"address": {
|
||||||
|
"@type": "PostalAddress",
|
||||||
|
"streetAddress": "In der Lake 4",
|
||||||
|
"addressLocality": "Bielefeld",
|
||||||
|
"postalCode": "33739",
|
||||||
|
"addressCountry": "DE"
|
||||||
|
},
|
||||||
|
"worksFor": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "ADAMETZ.MEDIA"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Zum Inhalt springen</a>
|
||||||
|
|
||||||
|
<nav class="nav" id="nav" aria-label="Hauptnavigation">
|
||||||
|
<div class="container">
|
||||||
|
<div class="nav-inner">
|
||||||
|
<a href="index.html" class="nav-logo">
|
||||||
|
<img
|
||||||
|
src="assets/img/logo.png"
|
||||||
|
alt="Adametz.Media Logo"
|
||||||
|
class="nav-logo-img"
|
||||||
|
width="252"
|
||||||
|
height="160"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
Adametz.Media
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<ul class="nav-links">
|
||||||
|
<li><a href="index.html#start">Start</a></li>
|
||||||
|
<li><a href="index.html#haltung">Haltung</a></li>
|
||||||
|
<li><a href="index.html#umsetzung">Umsetzung</a></li>
|
||||||
|
<li><a href="index.html#projekte">Evidenz</a></li>
|
||||||
|
<li><a href="index.html#kontakt">Kontakt</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="nav-toggle"
|
||||||
|
id="navToggle"
|
||||||
|
aria-label="Menü öffnen"
|
||||||
|
aria-controls="navMobile"
|
||||||
|
aria-expanded="false"
|
||||||
|
>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="nav-mobile" id="navMobile">
|
||||||
|
<a href="index.html#start">Start</a>
|
||||||
|
<a href="index.html#haltung">Haltung</a>
|
||||||
|
<a href="index.html#umsetzung">Umsetzung</a>
|
||||||
|
<a href="index.html#projekte">Evidenz</a>
|
||||||
|
<a href="index.html#kontakt">Kontakt</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content-section" id="main">
|
||||||
|
<div class="container">
|
||||||
|
<div class="content-wrapper">
|
||||||
|
<h1>Seite nicht gefunden</h1>
|
||||||
|
<p>
|
||||||
|
Die angeforderte Seite existiert nicht oder wurde verschoben.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="index.html" class="btn">
|
||||||
|
Zur Startseite
|
||||||
|
<span class="btn-arrow">→</span>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<p class="footer-copy">© 2026 ADAMETZ.MEDIA – Kevin Adametz</p>
|
||||||
|
<div class="footer-links">
|
||||||
|
<a href="impressum.html">Impressum</a>
|
||||||
|
<a href="datenschutz.html">Datenschutz</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
186
_adametz.media/DEPLOYMENT.md
Normal file
|
|
@ -0,0 +1,186 @@
|
||||||
|
# Live-Deployment — adametz.media
|
||||||
|
|
||||||
|
Kurzanleitung für den Upload auf den Produktionsserver (Apache + `.htaccess`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Server-Anforderungen
|
||||||
|
|
||||||
|
| Komponente | Erforderlich |
|
||||||
|
|------------|--------------|
|
||||||
|
| **Webserver** | Apache mit `mod_rewrite`, `mod_headers`, `mod_expires`, `mod_deflate` |
|
||||||
|
| **PHP** | Nicht erforderlich (reine Static-Site) |
|
||||||
|
| **HTTPS** | Pflicht — wird per `.htaccess` erzwungen |
|
||||||
|
| **Optional** | `mod_brotli` (zusätzliche Kompression) |
|
||||||
|
|
||||||
|
Domain: **https://adametz.media** (ohne `www`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Deploy-Ablauf (Checkliste)
|
||||||
|
|
||||||
|
### 1. Vor dem Upload (lokal)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd _adametz.media
|
||||||
|
|
||||||
|
# Bei CSS/JS-Änderungen: Version erhöhen
|
||||||
|
# → assets/version.txt (z. B. 20250610)
|
||||||
|
|
||||||
|
# Head, Header, Footer in alle HTML-Seiten einspielen
|
||||||
|
python3 scripts/build-site.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Auf den Server hochladen
|
||||||
|
|
||||||
|
Document Root = Inhalt von `_adametz.media/` (alle Dateien im Root der Domain).
|
||||||
|
|
||||||
|
### 3. Kurz testen
|
||||||
|
|
||||||
|
- [ ] https://adametz.media/ lädt korrekt
|
||||||
|
- [ ] Hero-Bild und Scroll-Reveal funktionieren
|
||||||
|
- [ ] Mobile Navigation öffnet und schließt
|
||||||
|
- [ ] https://adametz.media/robots.txt erreichbar
|
||||||
|
- [ ] https://adametz.media/sitemap.xml erreichbar
|
||||||
|
- [ ] Ungültige URL zeigt `404.html`
|
||||||
|
- [ ] `mailto:`- und `tel:`-Links funktionieren
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Was hochladen — was nicht
|
||||||
|
|
||||||
|
### Mit hochladen
|
||||||
|
|
||||||
|
- Alle `*.html` im Root (inkl. `404.html`)
|
||||||
|
- `.htaccess`
|
||||||
|
- `robots.txt`, `sitemap.xml`, `manifest.json`, `browserconfig.xml`
|
||||||
|
- `assets/` (css, js, fonts, img, fav, components)
|
||||||
|
|
||||||
|
### Nicht öffentlich / nicht nötig
|
||||||
|
|
||||||
|
| Pfad | Grund |
|
||||||
|
|------|--------|
|
||||||
|
| `scripts/` | Build-Skript — wird per `.htaccess` blockiert |
|
||||||
|
| `assets/version.txt` | Nur für Build — wird blockiert |
|
||||||
|
| `*.md` | Werden per `.htaccess` blockiert |
|
||||||
|
| `.DS_Store` | Werden blockiert |
|
||||||
|
| Ungenutzte PNG/JPG-Originale in `assets/img/` | Nicht deployen — nur WebP-Varianten ausliefern |
|
||||||
|
| `assets/manifest.json` | Gelöscht — nur Root-`manifest.json` nutzen |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Build-Workflow
|
||||||
|
|
||||||
|
Die Site nutzt ein einfaches Build-Skript analog zu markemacht.de:
|
||||||
|
|
||||||
|
```
|
||||||
|
assets/components/
|
||||||
|
head-common.html → Favicons, OG-Bild, JSON-LD, CSS/JS mit Cache-Busting
|
||||||
|
header-index.html → Navigation für Startseite (Anker-Links)
|
||||||
|
header-sub.html → Navigation für Unterseiten
|
||||||
|
footer.html → Footer
|
||||||
|
|
||||||
|
scripts/build-site.py → Inlined Komponenten in alle *.html
|
||||||
|
assets/version.txt → Versionsnummer für ?v= Cache-Busting
|
||||||
|
```
|
||||||
|
|
||||||
|
**Nach jeder Änderung an Komponenten oder version.txt:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 scripts/build-site.py
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bilder
|
||||||
|
|
||||||
|
Genutzte Bilder liegen als **WebP** in `assets/img/`:
|
||||||
|
|
||||||
|
| Datei | Verwendung | Größe (ca.) |
|
||||||
|
|-------|------------|-------------|
|
||||||
|
| `hero-bg2.webp` | Hero-Hintergrund (LCP) | ~91 KB |
|
||||||
|
| `og-share.webp` | Social-Media-Vorschau | ~49 KB |
|
||||||
|
| `haltung-*.webp` | Haltung-Sektion | ~11–18 KB |
|
||||||
|
| `umsetzung-*.webp` | Umsetzung-Sektion | ~24–54 KB |
|
||||||
|
| `case-*.webp` | Evidenz-Sektion | ~10–62 KB |
|
||||||
|
| `am.webp` | Hero-Portrait | ~2 KB |
|
||||||
|
| `back.webp` | Kontakt-Portrait | ~19 KB |
|
||||||
|
| `logo.png` | Logo (klein, PNG) | ~8 KB |
|
||||||
|
|
||||||
|
**Neue Bilder hinzufügen:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Beispiel: PNG → WebP mit ffmpeg
|
||||||
|
ffmpeg -y -i neues-bild.png -vf "scale=800:-2" -c:v libwebp -quality 80 neues-bild.webp
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Schriften
|
||||||
|
|
||||||
|
Alle Schriften sind lokal gehostet (`assets/fonts/`):
|
||||||
|
|
||||||
|
- **Outfit** (400, 500, 600, 700) — Headlines
|
||||||
|
- **Source Sans 3** (400, 500, 600) — Fließtext
|
||||||
|
|
||||||
|
Keine externen Font-Requests (kein Google Fonts).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SEO
|
||||||
|
|
||||||
|
| Datei | Inhalt |
|
||||||
|
|-------|--------|
|
||||||
|
| `robots.txt` | Crawler-Regeln + Sitemap-Verweis |
|
||||||
|
| `sitemap.xml` | 3 URLs: `/`, `/impressum.html`, `/datenschutz.html` |
|
||||||
|
| JSON-LD | `WebSite` + `Person` auf allen Seiten (via head-common) |
|
||||||
|
| `og-share.webp` | Dediziertes OG-Bild (1200×630) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Apache-Konfiguration (`.htaccess`)
|
||||||
|
|
||||||
|
Die `.htaccess` enthält:
|
||||||
|
|
||||||
|
- HTTPS + www→non-www Redirect (301)
|
||||||
|
- `ErrorDocument 404 /404.html`
|
||||||
|
- Gzip + Brotli-Kompression
|
||||||
|
- Cache-Steuerung: HTML frisch, Assets 7 Tage (mit `?v=` Cache-Busting)
|
||||||
|
- Security-Headers (CSP, X-Frame-Options, etc.)
|
||||||
|
- Schutz für `scripts/`, `version.txt`, `.md`, `.DS_Store`
|
||||||
|
|
||||||
|
**CSP:** Keine externen Skripte — `script-src 'self'` only.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Wartung
|
||||||
|
|
||||||
|
### CSS/JS geändert?
|
||||||
|
|
||||||
|
1. `assets/version.txt` erhöhen (z. B. `20250610`)
|
||||||
|
2. `python3 scripts/build-site.py` ausführen
|
||||||
|
3. Geänderte Dateien hochladen
|
||||||
|
|
||||||
|
### Navigation/Footer geändert?
|
||||||
|
|
||||||
|
1. Komponente in `assets/components/` bearbeiten
|
||||||
|
2. `python3 scripts/build-site.py` ausführen
|
||||||
|
3. Alle HTML-Dateien hochladen
|
||||||
|
|
||||||
|
### Neues Bild?
|
||||||
|
|
||||||
|
1. WebP erstellen und in `assets/img/` ablegen
|
||||||
|
2. HTML referenzieren (oder Build-Skript anpassen)
|
||||||
|
3. Hochladen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
| Problem | Lösung |
|
||||||
|
|---------|--------|
|
||||||
|
| Altes CSS nach Update | `version.txt` erhöhen + Build ausführen |
|
||||||
|
| 404 zeigt Server-Default | `.htaccess` prüfen, `mod_rewrite` aktiv? |
|
||||||
|
| Bilder laden nicht | WebP-Dateien hochgeladen? `mod_mime` für `.webp`? |
|
||||||
|
| Redirect-Loop | HTTPS-Zertifikat und `RewriteBase /` prüfen |
|
||||||
|
| Header fehlt auf Unterseite | `build-site.py` erneut ausführen |
|
||||||
BIN
_adametz.media/assets/android-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
_adametz.media/assets/android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
_adametz.media/assets/android-icon-36x36.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
_adametz.media/assets/android-icon-48x48.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
_adametz.media/assets/android-icon-72x72.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
_adametz.media/assets/android-icon-96x96.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
11
_adametz.media/assets/components/footer.html
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<p class="footer-copy">© 2026 ADAMETZ.MEDIA – Kevin Adametz</p>
|
||||||
|
<div class="footer-links">
|
||||||
|
<a href="impressum.html">Impressum</a>
|
||||||
|
<a href="datenschutz.html">Datenschutz</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
56
_adametz.media/assets/components/head-common.html
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
<meta property="og:locale" content="de_DE" />
|
||||||
|
<meta property="og:site_name" content="ADAMETZ.MEDIA" />
|
||||||
|
<meta property="og:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta property="og:image:width" content="1200" />
|
||||||
|
<meta property="og:image:height" content="630" />
|
||||||
|
<meta property="og:image:alt" content="Kevin Adametz — Markensysteme, die funktionieren" />
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta name="theme-color" content="#0a0a0a" />
|
||||||
|
|
||||||
|
<link rel="preload" href="assets/fonts/outfit-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
<link rel="preload" href="assets/fonts/source-sans-3-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="assets/fav/apple-icon-180x180.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="assets/fav/favicon-32x32.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="assets/fav/favicon-16x16.png" />
|
||||||
|
<link rel="shortcut icon" href="assets/fav/favicon.ico" />
|
||||||
|
<link rel="manifest" href="manifest.json" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="assets/styles.css?v={{VERSION}}" />
|
||||||
|
<script src="assets/js/app.js?v={{VERSION}}" defer></script>
|
||||||
|
|
||||||
|
<script defer src="https://sys.adametz.media/config.js" data-website-id="69ec86fc-7f06-4cc5-9e2c-fd9daaae7faa"></script>
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "WebSite",
|
||||||
|
"name": "ADAMETZ.MEDIA",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"description": "Markensysteme für Unternehmen, die sich klar erklären wollen – von der Strategie bis zur Umsetzung.",
|
||||||
|
"inLanguage": "de-DE"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "Kevin Adametz",
|
||||||
|
"jobTitle": "Markenarchitekt",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"email": "info@adametz.media",
|
||||||
|
"telephone": "+49-5206-7076721",
|
||||||
|
"address": {
|
||||||
|
"@type": "PostalAddress",
|
||||||
|
"streetAddress": "In der Lake 4",
|
||||||
|
"addressLocality": "Bielefeld",
|
||||||
|
"postalCode": "33739",
|
||||||
|
"addressCountry": "DE"
|
||||||
|
},
|
||||||
|
"worksFor": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "ADAMETZ.MEDIA"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
47
_adametz.media/assets/components/header-index.html
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
<a class="skip-link" href="#start">Zum Inhalt springen</a>
|
||||||
|
|
||||||
|
<nav class="nav" id="nav" aria-label="Hauptnavigation">
|
||||||
|
<div class="container">
|
||||||
|
<div class="nav-inner">
|
||||||
|
<a href="#start" class="nav-logo">
|
||||||
|
<img
|
||||||
|
src="assets/img/logo.png"
|
||||||
|
alt="Adametz.Media Logo"
|
||||||
|
class="nav-logo-img"
|
||||||
|
width="252"
|
||||||
|
height="160"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
Adametz.Media
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<ul class="nav-links">
|
||||||
|
<li><a href="#start">Start</a></li>
|
||||||
|
<li><a href="#haltung">Haltung</a></li>
|
||||||
|
<li><a href="#umsetzung">Umsetzung</a></li>
|
||||||
|
<li><a href="#projekte">Evidenz</a></li>
|
||||||
|
<li><a href="#kontakt">Kontakt</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="nav-toggle"
|
||||||
|
id="navToggle"
|
||||||
|
aria-label="Menü öffnen"
|
||||||
|
aria-controls="navMobile"
|
||||||
|
aria-expanded="false"
|
||||||
|
>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="nav-mobile" id="navMobile">
|
||||||
|
<a href="#start">Start</a>
|
||||||
|
<a href="#haltung">Haltung</a>
|
||||||
|
<a href="#umsetzung">Umsetzung</a>
|
||||||
|
<a href="#projekte">Evidenz</a>
|
||||||
|
<a href="#kontakt">Kontakt</a>
|
||||||
|
</div>
|
||||||
47
_adametz.media/assets/components/header-sub.html
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
<a class="skip-link" href="#main">Zum Inhalt springen</a>
|
||||||
|
|
||||||
|
<nav class="nav" id="nav" aria-label="Hauptnavigation">
|
||||||
|
<div class="container">
|
||||||
|
<div class="nav-inner">
|
||||||
|
<a href="index.html" class="nav-logo">
|
||||||
|
<img
|
||||||
|
src="assets/img/logo.png"
|
||||||
|
alt="Adametz.Media Logo"
|
||||||
|
class="nav-logo-img"
|
||||||
|
width="252"
|
||||||
|
height="160"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
Adametz.Media
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<ul class="nav-links">
|
||||||
|
<li><a href="index.html#start">Start</a></li>
|
||||||
|
<li><a href="index.html#haltung">Haltung</a></li>
|
||||||
|
<li><a href="index.html#umsetzung">Umsetzung</a></li>
|
||||||
|
<li><a href="index.html#projekte">Evidenz</a></li>
|
||||||
|
<li><a href="index.html#kontakt">Kontakt</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="nav-toggle"
|
||||||
|
id="navToggle"
|
||||||
|
aria-label="Menü öffnen"
|
||||||
|
aria-controls="navMobile"
|
||||||
|
aria-expanded="false"
|
||||||
|
>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="nav-mobile" id="navMobile">
|
||||||
|
<a href="index.html#start">Start</a>
|
||||||
|
<a href="index.html#haltung">Haltung</a>
|
||||||
|
<a href="index.html#umsetzung">Umsetzung</a>
|
||||||
|
<a href="index.html#projekte">Evidenz</a>
|
||||||
|
<a href="index.html#kontakt">Kontakt</a>
|
||||||
|
</div>
|
||||||
BIN
_adametz.media/assets/fav/apple-icon-114x114.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
_adametz.media/assets/fav/apple-icon-120x120.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
_adametz.media/assets/fav/apple-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
_adametz.media/assets/fav/apple-icon-152x152.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
_adametz.media/assets/fav/apple-icon-180x180.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
_adametz.media/assets/fav/apple-icon-57x57.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
_adametz.media/assets/fav/apple-icon-60x60.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
_adametz.media/assets/fav/apple-icon-72x72.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
_adametz.media/assets/fav/apple-icon-76x76.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
_adametz.media/assets/fav/apple-icon-precomposed.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
_adametz.media/assets/fav/apple-icon.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
_adametz.media/assets/fav/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
_adametz.media/assets/fav/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 2 KiB |
BIN
_adametz.media/assets/fav/favicon-96x96.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
_adametz.media/assets/fav/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
_adametz.media/assets/fav/ms-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
_adametz.media/assets/fav/ms-icon-150x150.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
_adametz.media/assets/fav/ms-icon-310x310.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
_adametz.media/assets/fav/ms-icon-70x70.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
41
_adametz.media/assets/fonts/README.md
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
# Font-Dateien
|
||||||
|
|
||||||
|
Dieser Ordner sollte die folgenden Font-Dateien enthalten:
|
||||||
|
|
||||||
|
## Outfit Font (4 Varianten)
|
||||||
|
|
||||||
|
- `outfit-regular.woff2` (Font-Weight: 400)
|
||||||
|
- `outfit-regular.woff` (Font-Weight: 400)
|
||||||
|
- `outfit-medium.woff2` (Font-Weight: 500)
|
||||||
|
- `outfit-medium.woff` (Font-Weight: 500)
|
||||||
|
- `outfit-semibold.woff2` (Font-Weight: 600)
|
||||||
|
- `outfit-semibold.woff` (Font-Weight: 600)
|
||||||
|
- `outfit-bold.woff2` (Font-Weight: 700)
|
||||||
|
- `outfit-bold.woff` (Font-Weight: 700)
|
||||||
|
|
||||||
|
## Source Sans 3 Font (3 Varianten)
|
||||||
|
|
||||||
|
- `source-sans-3-regular.woff2` (Font-Weight: 400)
|
||||||
|
- `source-sans-3-regular.woff` (Font-Weight: 400)
|
||||||
|
- `source-sans-3-medium.woff2` (Font-Weight: 500)
|
||||||
|
- `source-sans-3-medium.woff` (Font-Weight: 500)
|
||||||
|
- `source-sans-3-semibold.woff2` (Font-Weight: 600)
|
||||||
|
- `source-sans-3-semibold.woff` (Font-Weight: 600)
|
||||||
|
|
||||||
|
## Fonts herunterladen
|
||||||
|
|
||||||
|
Die Fonts können von folgenden Quellen heruntergeladen werden:
|
||||||
|
|
||||||
|
1. **Google Fonts** (https://fonts.google.com/):
|
||||||
|
|
||||||
|
- Outfit: https://fonts.google.com/specimen/Outfit
|
||||||
|
- Source Sans 3: https://fonts.google.com/specimen/Source+Sans+3
|
||||||
|
|
||||||
|
2. **Alternative Tools zum Herunterladen**:
|
||||||
|
|
||||||
|
- Google Webfonts Helper: https://gwfh.mranftl.com/fonts
|
||||||
|
- Fontsquirrel: https://www.fontsquirrel.com/
|
||||||
|
|
||||||
|
3. **Direkter Download** (mit Tools wie `google-webfonts-helper` oder Browser-Erweiterungen)
|
||||||
|
|
||||||
|
Die Fonts müssen im WOFF2- und WOFF-Format vorliegen für optimale Browser-Kompatibilität.
|
||||||
BIN
_adametz.media/assets/fonts/outfit-500.woff2
Normal file
BIN
_adametz.media/assets/fonts/outfit-600.woff2
Normal file
BIN
_adametz.media/assets/fonts/outfit-700.woff2
Normal file
BIN
_adametz.media/assets/fonts/outfit-regular.woff2
Normal file
BIN
_adametz.media/assets/fonts/source-sans-3-500.woff2
Normal file
BIN
_adametz.media/assets/fonts/source-sans-3-600.woff2
Normal file
BIN
_adametz.media/assets/fonts/source-sans-3-700.woff2
Normal file
BIN
_adametz.media/assets/fonts/source-sans-3-regular.woff2
Normal file
BIN
_adametz.media/assets/img/am.jpg
Normal file
|
After Width: | Height: | Size: 340 KiB |
BIN
_adametz.media/assets/img/am.webp
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
_adametz.media/assets/img/back.jpg
Normal file
|
After Width: | Height: | Size: 349 KiB |
BIN
_adametz.media/assets/img/back.webp
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
_adametz.media/assets/img/case-1.png
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
_adametz.media/assets/img/case-1.webp
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
_adametz.media/assets/img/case-2.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
_adametz.media/assets/img/case-2.webp
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
_adametz.media/assets/img/case-3.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
_adametz.media/assets/img/case-3.webp
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
_adametz.media/assets/img/case-4.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
_adametz.media/assets/img/case-4.webp
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
_adametz.media/assets/img/case-5.png
Normal file
|
After Width: | Height: | Size: 900 KiB |
BIN
_adametz.media/assets/img/case-5.webp
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
BIN
_adametz.media/assets/img/haltung-1.png
Normal file
|
After Width: | Height: | Size: 2 MiB |
BIN
_adametz.media/assets/img/haltung-1.webp
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
_adametz.media/assets/img/haltung-11.png
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
_adametz.media/assets/img/haltung-2.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
_adametz.media/assets/img/haltung-2.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
_adametz.media/assets/img/haltung-3.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
_adametz.media/assets/img/haltung-3.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
_adametz.media/assets/img/haltung-4.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
_adametz.media/assets/img/haltung-4.webp
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
_adametz.media/assets/img/hero-bg.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
_adametz.media/assets/img/hero-bg1.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
_adametz.media/assets/img/hero-bg2-640.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
_adametz.media/assets/img/hero-bg2-960.webp
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
_adametz.media/assets/img/hero-bg2.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
_adametz.media/assets/img/hero-bg2.webp
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
_adametz.media/assets/img/logo-dark-1.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
_adametz.media/assets/img/logo-dark.png
Executable file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
_adametz.media/assets/img/logo-footer-dark.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
BIN
_adametz.media/assets/img/logo.png
Executable file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
_adametz.media/assets/img/og-share.webp
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
_adametz.media/assets/img/umsetzung-1.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
_adametz.media/assets/img/umsetzung-1.webp
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
_adametz.media/assets/img/umsetzung-11.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
_adametz.media/assets/img/umsetzung-2.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
_adametz.media/assets/img/umsetzung-2.webp
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
_adametz.media/assets/img/umsetzung-3.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
_adametz.media/assets/img/umsetzung-3.webp
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
_adametz.media/assets/img/umsetzung-31.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
72
_adametz.media/assets/js/app.js
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var nav = document.getElementById('nav');
|
||||||
|
var navToggle = document.getElementById('navToggle');
|
||||||
|
var navMobile = document.getElementById('navMobile');
|
||||||
|
|
||||||
|
/* Navigation scroll effect */
|
||||||
|
if (nav) {
|
||||||
|
var scrolled = false;
|
||||||
|
window.addEventListener(
|
||||||
|
'scroll',
|
||||||
|
function () {
|
||||||
|
var shouldScroll = window.scrollY > 100;
|
||||||
|
if (shouldScroll === scrolled) return;
|
||||||
|
scrolled = shouldScroll;
|
||||||
|
nav.classList.toggle('scrolled', scrolled);
|
||||||
|
},
|
||||||
|
{ passive: true }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mobile menu */
|
||||||
|
if (navToggle && navMobile) {
|
||||||
|
navToggle.addEventListener('click', function () {
|
||||||
|
var isOpen = navMobile.classList.toggle('active');
|
||||||
|
navToggle.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
|
||||||
|
});
|
||||||
|
|
||||||
|
navMobile.querySelectorAll('a').forEach(function (link) {
|
||||||
|
link.addEventListener('click', function () {
|
||||||
|
navMobile.classList.remove('active');
|
||||||
|
navToggle.setAttribute('aria-expanded', 'false');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scroll reveal via IntersectionObserver */
|
||||||
|
var reveals = document.querySelectorAll('.reveal');
|
||||||
|
if (reveals.length && 'IntersectionObserver' in window) {
|
||||||
|
var observer = new IntersectionObserver(
|
||||||
|
function (entries) {
|
||||||
|
entries.forEach(function (entry) {
|
||||||
|
if (entry.isIntersecting) {
|
||||||
|
entry.target.classList.add('active');
|
||||||
|
observer.unobserve(entry.target);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
{ rootMargin: '0px 0px -80px 0px', threshold: 0.05 }
|
||||||
|
);
|
||||||
|
reveals.forEach(function (el) {
|
||||||
|
observer.observe(el);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
reveals.forEach(function (el) {
|
||||||
|
el.classList.add('active');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Smooth scroll for anchor links */
|
||||||
|
document.querySelectorAll('a[href^="#"]').forEach(function (anchor) {
|
||||||
|
anchor.addEventListener('click', function (e) {
|
||||||
|
var href = this.getAttribute('href');
|
||||||
|
if (!href || href === '#') return;
|
||||||
|
var target = document.querySelector(href);
|
||||||
|
if (!target) return;
|
||||||
|
e.preventDefault();
|
||||||
|
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})();
|
||||||
1200
_adametz.media/assets/styles.css
Normal file
1
_adametz.media/assets/version.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
20250610
|
||||||
2
_adametz.media/browserconfig.xml
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<browserconfig><msapplication><tile><square70x70logo src="/assets/fav/ms-icon-70x70.png"/><square150x150logo src="/assets/fav/ms-icon-150x150.png"/><square310x310logo src="/assets/fav/ms-icon-310x310.png"/><TileColor>#0a0a0a</TileColor></tile></msapplication></browserconfig>
|
||||||
500
_adametz.media/datenschutz.html
Normal file
|
|
@ -0,0 +1,500 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Datenschutzerklärung – Kevin Adametz</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Datenschutzerklärung von ADAMETZ.MEDIA mit Informationen zu Hosting, Server-Logs, Kontakt und Analyse."
|
||||||
|
/>
|
||||||
|
<meta name="author" content="Kevin Adametz" />
|
||||||
|
<meta name="robots" content="index, follow" />
|
||||||
|
|
||||||
|
<meta property="og:title" content="Datenschutzerklärung – Kevin Adametz" />
|
||||||
|
<meta
|
||||||
|
property="og:description"
|
||||||
|
content="Datenschutzerklärung von ADAMETZ.MEDIA mit Informationen zu Hosting, Server-Logs, Kontakt und Analyse."
|
||||||
|
/>
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="https://adametz.media/datenschutz.html" />
|
||||||
|
<link rel="canonical" href="https://adametz.media/datenschutz.html" />
|
||||||
|
<meta name="twitter:title" content="Datenschutzerklärung – Kevin Adametz" />
|
||||||
|
<meta
|
||||||
|
name="twitter:description"
|
||||||
|
content="Datenschutzerklärung von ADAMETZ.MEDIA mit Informationen zu Hosting, Server-Logs, Kontakt und Analyse."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<meta property="og:locale" content="de_DE" />
|
||||||
|
<meta property="og:site_name" content="ADAMETZ.MEDIA" />
|
||||||
|
<meta property="og:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta property="og:image:width" content="1200" />
|
||||||
|
<meta property="og:image:height" content="630" />
|
||||||
|
<meta property="og:image:alt" content="Kevin Adametz — Markensysteme, die funktionieren" />
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta name="theme-color" content="#0a0a0a" />
|
||||||
|
|
||||||
|
<link rel="preload" href="assets/fonts/outfit-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
<link rel="preload" href="assets/fonts/source-sans-3-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="assets/fav/apple-icon-180x180.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="assets/fav/favicon-32x32.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="assets/fav/favicon-16x16.png" />
|
||||||
|
<link rel="shortcut icon" href="assets/fav/favicon.ico" />
|
||||||
|
<link rel="manifest" href="manifest.json" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="assets/styles.css?v=20250610" />
|
||||||
|
<script src="assets/js/app.js?v=20250610" defer></script>
|
||||||
|
|
||||||
|
<script defer src="https://sys.adametz.media/config.js" data-website-id="69ec86fc-7f06-4cc5-9e2c-fd9daaae7faa"></script>
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "WebSite",
|
||||||
|
"name": "ADAMETZ.MEDIA",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"description": "Markensysteme für Unternehmen, die sich klar erklären wollen – von der Strategie bis zur Umsetzung.",
|
||||||
|
"inLanguage": "de-DE"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "Kevin Adametz",
|
||||||
|
"jobTitle": "Markenarchitekt",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"email": "info@adametz.media",
|
||||||
|
"telephone": "+49-5206-7076721",
|
||||||
|
"address": {
|
||||||
|
"@type": "PostalAddress",
|
||||||
|
"streetAddress": "In der Lake 4",
|
||||||
|
"addressLocality": "Bielefeld",
|
||||||
|
"postalCode": "33739",
|
||||||
|
"addressCountry": "DE"
|
||||||
|
},
|
||||||
|
"worksFor": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "ADAMETZ.MEDIA"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Zum Inhalt springen</a>
|
||||||
|
|
||||||
|
<nav class="nav" id="nav" aria-label="Hauptnavigation">
|
||||||
|
<div class="container">
|
||||||
|
<div class="nav-inner">
|
||||||
|
<a href="index.html" class="nav-logo">
|
||||||
|
<img
|
||||||
|
src="assets/img/logo.png"
|
||||||
|
alt="Adametz.Media Logo"
|
||||||
|
class="nav-logo-img"
|
||||||
|
width="252"
|
||||||
|
height="160"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
Adametz.Media
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<ul class="nav-links">
|
||||||
|
<li><a href="index.html#start">Start</a></li>
|
||||||
|
<li><a href="index.html#haltung">Haltung</a></li>
|
||||||
|
<li><a href="index.html#umsetzung">Umsetzung</a></li>
|
||||||
|
<li><a href="index.html#projekte">Evidenz</a></li>
|
||||||
|
<li><a href="index.html#kontakt">Kontakt</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="nav-toggle"
|
||||||
|
id="navToggle"
|
||||||
|
aria-label="Menü öffnen"
|
||||||
|
aria-controls="navMobile"
|
||||||
|
aria-expanded="false"
|
||||||
|
>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="nav-mobile" id="navMobile">
|
||||||
|
<a href="index.html#start">Start</a>
|
||||||
|
<a href="index.html#haltung">Haltung</a>
|
||||||
|
<a href="index.html#umsetzung">Umsetzung</a>
|
||||||
|
<a href="index.html#projekte">Evidenz</a>
|
||||||
|
<a href="index.html#kontakt">Kontakt</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content-section" id="main">
|
||||||
|
<div class="container">
|
||||||
|
<div class="content-wrapper">
|
||||||
|
<h1>Datenschutzerklärung</h1>
|
||||||
|
<p>
|
||||||
|
Informationen dazu, welche personenbezogenen Daten beim Besuch dieser Website
|
||||||
|
verarbeitet werden.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>1. Datenschutz auf einen Blick</h3>
|
||||||
|
<h4>Allgemeine Hinweise</h4>
|
||||||
|
<p>
|
||||||
|
Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren
|
||||||
|
personenbezogenen Daten passiert, wenn Sie unsere Website besuchen. Personenbezogene
|
||||||
|
Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können.
|
||||||
|
Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem
|
||||||
|
Text aufgeführten Datenschutzerklärung.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h4>Datenerfassung auf unserer Website</h4>
|
||||||
|
<p><strong>Wer ist verantwortlich für die Datenerfassung auf dieser Website?</strong></p>
|
||||||
|
<p>
|
||||||
|
Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen
|
||||||
|
Kontaktdaten können Sie dem Impressum dieser Website entnehmen.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p><strong>Wie erfassen wir Ihre Daten?</strong></p>
|
||||||
|
<p>
|
||||||
|
Ihre Daten werden zum einen dadurch erhoben, dass Sie uns diese mitteilen — z. B.
|
||||||
|
per E-Mail oder Telefon. Diese Website verwendet kein Kontaktformular.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Andere Daten werden automatisch beim Besuch der Website durch unsere IT-Systeme erfasst.
|
||||||
|
Das sind vor allem technische Daten (z. B. Internetbrowser, Betriebssystem oder
|
||||||
|
Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie
|
||||||
|
unsere Website betreten.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p><strong>Wofür nutzen wir Ihre Daten?</strong></p>
|
||||||
|
<p>
|
||||||
|
Ein Teil der Daten wird erhoben, um eine fehlerfreie Bereitstellung der Website zu
|
||||||
|
gewährleisten. Andere Daten werden zur anonymisierten Analyse Ihres Nutzerverhaltens
|
||||||
|
verwendet.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p><strong>Welche Rechte haben Sie bezüglich Ihrer Daten?</strong></p>
|
||||||
|
<p>
|
||||||
|
Sie haben jederzeit das Recht unentgeltlich Auskunft über Herkunft, Empfänger und Zweck
|
||||||
|
Ihrer gespeicherten personenbezogenen Daten zu erhalten. Sie haben außerdem ein Recht,
|
||||||
|
die Berichtigung, Sperrung oder Löschung dieser Daten zu verlangen. Hierzu sowie zu
|
||||||
|
weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit unter der im Impressum
|
||||||
|
angegebenen Adresse an uns wenden. Des Weiteren steht Ihnen ein Beschwerderecht bei der
|
||||||
|
zuständigen Aufsichtsbehörde zu.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Außerdem haben Sie das Recht, unter bestimmten Umständen die Einschränkung der
|
||||||
|
Verarbeitung Ihrer personenbezogenen Daten zu verlangen. Details hierzu entnehmen Sie
|
||||||
|
der Datenschutzerklärung unter „Recht auf Einschränkung der Verarbeitung".
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>2. Hosting</h3>
|
||||||
|
<h4>Externes Hosting</h4>
|
||||||
|
<p>
|
||||||
|
Diese Website wird bei einem externen Dienstleister gehostet (Hoster). Die
|
||||||
|
personenbezogenen Daten, die auf dieser Website erfasst werden, werden auf den Servern
|
||||||
|
des Hosters gespeichert. Hierbei kann es sich v. a. um IP-Adressen, Kontaktanfragen,
|
||||||
|
Meta- und Kommunikationsdaten, Vertragsdaten, Kontaktdaten, Namen, Websitezugriffe und
|
||||||
|
sonstige Daten, die über eine Website generiert werden, handeln.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Der Einsatz des Hosters erfolgt zum Zwecke der Vertragserfüllung gegenüber unseren
|
||||||
|
potenziellen und bestehenden Kunden (Art. 6 Abs. 1 lit. b DSGVO) und im Interesse einer
|
||||||
|
sicheren, schnellen und effizienten Bereitstellung unseres Online-Angebots durch einen
|
||||||
|
professionellen Anbieter (Art. 6 Abs. 1 lit. f DSGVO). Unser Hoster wird Ihre Daten nur
|
||||||
|
insoweit verarbeiten, wie dies zur Erfüllung seiner Leistungspflichten erforderlich ist
|
||||||
|
und unsere Weisungen in Bezug auf diese Daten befolgen.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Wir setzen folgenden Hoster ein:<br />
|
||||||
|
ALL-INKL.COM - Neue Medien Münnich<br />
|
||||||
|
Inhaber: René Münnich<br />
|
||||||
|
Hauptstraße 68<br />
|
||||||
|
02742 Friedersdorf
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h4>Abschluss eines Vertrages über Auftragsverarbeitung (AVV)</h4>
|
||||||
|
<p>
|
||||||
|
Wir haben einen Vertrag über Auftragsverarbeitung (AVV) mit dem oben genannten Anbieter
|
||||||
|
geschlossen. Hierbei handelt es sich um einen datenschutzrechtlich vorgeschriebenen
|
||||||
|
Vertrag, der gewährleistet, dass dieser die personenbezogenen Daten unserer
|
||||||
|
Websitebesucher nur nach unseren Weisungen und unter Einhaltung der DSGVO verarbeitet.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3>3. Allgemeine Hinweise und Pflichtinformationen</h3>
|
||||||
|
<h4>Datenschutz</h4>
|
||||||
|
<p>
|
||||||
|
Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen
|
||||||
|
Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten
|
||||||
|
vertraulich und entsprechend der gesetzlichen
|
||||||
|
Datenschutzvorschriften sowie dieser Datenschutzerklärung.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Wenn Sie diese Website benutzen, werden verschiedene
|
||||||
|
personenbezogene Daten erhoben. Personenbezogene Daten sind Daten,
|
||||||
|
mit denen Sie persönlich identifiziert werden können. Die
|
||||||
|
vorliegende Datenschutzerklärung erläutert, welche Daten wir erheben
|
||||||
|
und wofür wir sie nutzen. Sie erläutert auch, wie und zu welchem
|
||||||
|
Zweck das geschieht.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B.
|
||||||
|
bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann.
|
||||||
|
Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist
|
||||||
|
nicht möglich.
|
||||||
|
</p>
|
||||||
|
<h4>Hinweis zur verantwortlichen Stelle</h4>
|
||||||
|
<p>
|
||||||
|
Die verantwortliche Stelle für die Datenverarbeitung auf dieser Website ist:<br />
|
||||||
|
<br />
|
||||||
|
ADAMETZ.MEDIA<br />
|
||||||
|
Kevin Adametz<br />
|
||||||
|
In der Lake 4<br />
|
||||||
|
33739 Bielefeld<br />
|
||||||
|
<br />
|
||||||
|
Tel: +49 5206 7076721<br />
|
||||||
|
E-Mail: <a href="mailto:info@adametz.media">info@adametz.media</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Verantwortliche Stelle ist die natürliche oder juristische Person,
|
||||||
|
die allein oder gemeinsam mit anderen über die Zwecke und Mittel der
|
||||||
|
Verarbeitung von personenbezogenen Daten (z.B. Namen,
|
||||||
|
E-Mail-Adressen o. Ä.) entscheidet.
|
||||||
|
</p>
|
||||||
|
<h4>Widerruf Ihrer Einwilligung zur Datenverarbeitung</h4>
|
||||||
|
<p>
|
||||||
|
Viele Datenverarbeitungsvorgänge sind nur mit Ihrer ausdrücklichen
|
||||||
|
Einwilligung möglich. Sie können eine bereits erteilte Einwilligung
|
||||||
|
jederzeit widerrufen. Dazu reicht eine formlose Mitteilung per
|
||||||
|
E-Mail an uns. Die Rechtmäßigkeit der bis zum Widerruf erfolgten
|
||||||
|
Datenverarbeitung bleibt vom Widerruf unberührt.
|
||||||
|
</p>
|
||||||
|
<h4>
|
||||||
|
Widerspruchsrecht gegen die Datenerhebung in besonderen Fällen sowie
|
||||||
|
gegen Direktwerbung (Art. 21 DSGVO)
|
||||||
|
</h4>
|
||||||
|
<p>
|
||||||
|
Wenn die Datenverarbeitung auf Grundlage von Art. 6 Abs. 1 lit. e
|
||||||
|
oder f DSGVO erfolgt, haben Sie jederzeit das Recht, aus Gründen,
|
||||||
|
die sich aus Ihrer besonderen Situation ergeben, gegen die
|
||||||
|
Verarbeitung Ihrer personenbezogenen Daten Widerspruch einzulegen;
|
||||||
|
dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling.
|
||||||
|
Die jeweilige Rechtsgrundlage, auf denen eine Verarbeitung beruht,
|
||||||
|
entnehmen Sie dieser Datenschutzerklärung. Wenn Sie Widerspruch
|
||||||
|
einlegen, werden wir Ihre betroffenen personenbezogenen Daten nicht
|
||||||
|
mehr verarbeiten, es sei denn, wir können zwingende schutzwürdige
|
||||||
|
Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte
|
||||||
|
und Freiheiten überwiegen oder die Verarbeitung dient der
|
||||||
|
Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen
|
||||||
|
(Widerspruch nach Art. 21 Abs. 1 DSGVO).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Werden Ihre personenbezogenen Daten verarbeitet, um Direktwerbung zu
|
||||||
|
betreiben, so haben Sie das Recht, jederzeit Widerspruch gegen die
|
||||||
|
Verarbeitung Sie betreffender personenbezogener Daten zum Zwecke
|
||||||
|
derartiger Werbung einzulegen; dies gilt auch für das Profiling,
|
||||||
|
soweit es mit solcher Direktwerbung in Verbindung steht. Wenn Sie
|
||||||
|
widersprechen, werden Ihre personenbezogenen Daten anschließend
|
||||||
|
nicht mehr zum Zwecke der Direktwerbung verwendet (Widerspruch nach
|
||||||
|
Art. 21 Abs. 2 DSGVO).
|
||||||
|
</p>
|
||||||
|
<h4>Beschwerderecht bei der zuständigen Aufsichtsbehörde</h4>
|
||||||
|
<p>
|
||||||
|
Im Falle von Verstößen gegen die DSGVO steht den Betroffenen ein
|
||||||
|
Beschwerderecht bei einer Aufsichtsbehörde, insbesondere in dem
|
||||||
|
Mitgliedstaat ihres gewöhnlichen Aufenthalts, ihres Arbeitsplatzes
|
||||||
|
oder des Orts des mutmaßlichen Verstoßes zu. Das Beschwerderecht
|
||||||
|
besteht unbeschadet anderweitiger verwaltungsrechtlicher oder
|
||||||
|
gerichtlicher Rechtsbehelfe.
|
||||||
|
</p>
|
||||||
|
<h4>Recht auf Datenübertragbarkeit</h4>
|
||||||
|
<p>
|
||||||
|
Sie haben das Recht, Daten, die wir auf Grundlage Ihrer Einwilligung
|
||||||
|
oder in Erfüllung eines Vertrags automatisiert verarbeiten, an sich
|
||||||
|
oder an einen Dritten in einem gängigen, maschinenlesbaren Format
|
||||||
|
aushändigen zu lassen. Sofern Sie die direkte Übertragung der Daten
|
||||||
|
an einen anderen Verantwortlichen verlangen, erfolgt dies nur,
|
||||||
|
soweit es technisch machbar ist.
|
||||||
|
</p>
|
||||||
|
<h4>SSL- bzw. TLS-Verschlüsselung</h4>
|
||||||
|
<p>
|
||||||
|
Diese Seite nutzt aus Sicherheitsgründen und zum Schutz der
|
||||||
|
Übertragung vertraulicher Inhalte, wie zum Beispiel Bestellungen
|
||||||
|
oder Anfragen, die Sie an uns als Seitenbetreiber senden, eine
|
||||||
|
SSL-bzw. TLS-Verschlüsselung. Eine verschlüsselte Verbindung
|
||||||
|
erkennen Sie daran, dass die Adresszeile des Browsers von "http://"
|
||||||
|
auf "https://" wechselt und an dem Schloss-Symbol in Ihrer
|
||||||
|
Browserzeile.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Wenn die SSL- bzw. TLS-Verschlüsselung aktiviert ist, können die
|
||||||
|
Daten, die Sie an uns übermitteln, nicht von Dritten mitgelesen
|
||||||
|
werden.
|
||||||
|
</p>
|
||||||
|
<h4>Auskunft, Sperrung, Löschung und Berichtigung</h4>
|
||||||
|
<p>
|
||||||
|
Sie haben im Rahmen der geltenden gesetzlichen Bestimmungen
|
||||||
|
jederzeit das Recht auf unentgeltliche Auskunft über Ihre
|
||||||
|
gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger
|
||||||
|
und den Zweck der Datenverarbeitung und ggf. ein Recht auf
|
||||||
|
Berichtigung, Sperrung oder Löschung dieser Daten. Hierzu sowie zu
|
||||||
|
weiteren Fragen zum Thema personenbezogene Daten können Sie sich
|
||||||
|
jederzeit unter der im Impressum angegebenen Adresse an uns wenden.
|
||||||
|
</p>
|
||||||
|
<h4>Recht auf Einschränkung der Verarbeitung</h4>
|
||||||
|
<p>
|
||||||
|
Sie haben das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten
|
||||||
|
zu verlangen. Das Recht auf Einschränkung der Verarbeitung besteht in folgenden Fällen:
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Wenn Sie die Richtigkeit Ihrer bei uns gespeicherten personenbezogenen Daten bestreiten,
|
||||||
|
benötigen wir in der Regel Zeit, um dies zu überprüfen. Für die Dauer der Prüfung haben
|
||||||
|
Sie das Recht, die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu
|
||||||
|
verlangen.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Wenn die Verarbeitung Ihrer personenbezogenen Daten unrechtmäßig geschah / geschieht,
|
||||||
|
können Sie statt der Löschung die Einschränkung der Datenverarbeitung verlangen.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Wenn wir Ihre personenbezogenen Daten nicht mehr benötigen, Sie sie jedoch zur Ausübung,
|
||||||
|
Verteidigung oder Geltendmachung von Rechtsansprüchen benötigen, haben Sie das Recht,
|
||||||
|
statt der Löschung die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu
|
||||||
|
verlangen.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Wenn Sie einen Widerspruch nach Art. 21 Abs. 1 DSGVO eingelegt haben, muss eine Abwägung
|
||||||
|
zwischen Ihren und unseren Interessen vorgenommen werden. Solange noch nicht feststeht,
|
||||||
|
wessen Interessen überwiegen, haben Sie das Recht, die Einschränkung der Verarbeitung
|
||||||
|
Ihrer personenbezogenen Daten zu verlangen.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Wenn Sie die Verarbeitung Ihrer personenbezogenen Daten
|
||||||
|
eingeschränkt haben, dürfen diese Daten – von ihrer Speicherung
|
||||||
|
abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung,
|
||||||
|
Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der
|
||||||
|
Rechte einer anderen natürlichen oder juristischen Person oder aus
|
||||||
|
Gründen eines wichtigen öffentlichen Interesses der Europäischen
|
||||||
|
Union oder eines Mitgliedstaats verarbeitet werden.
|
||||||
|
</p>
|
||||||
|
<h4>Widerspruch gegen Werbe-E-Mails</h4>
|
||||||
|
<p>
|
||||||
|
Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten
|
||||||
|
Kontaktdaten zur Übersendung von nicht ausdrücklich angeforderter
|
||||||
|
Werbung und Informationsmaterialien wird hiermit widersprochen. Die
|
||||||
|
Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte
|
||||||
|
im Falle der unverlangten Zusendung von Werbeinformationen, etwa
|
||||||
|
durch Spam-E-Mails, vor.
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3>4. Datenerfassung auf unserer Website</h3>
|
||||||
|
<h4>Cookies</h4>
|
||||||
|
<p>Diese Webseite verwendet keine Cookies.</p>
|
||||||
|
|
||||||
|
<h4>Server-Log-Dateien</h4>
|
||||||
|
<p>
|
||||||
|
Der Provider der Seiten erhebt und speichert automatisch Informationen in so genannten
|
||||||
|
Server-Log-Dateien, die Ihr Browser automatisch an uns übermittelt. Dies sind:
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Browsertyp und Browserversion<br />
|
||||||
|
verwendetes Betriebssystem<br />
|
||||||
|
Referrer URL<br />
|
||||||
|
Hostname des zugreifenden Rechners<br />
|
||||||
|
Uhrzeit der Serveranfrage<br />
|
||||||
|
IP-Adresse
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Eine Zusammenführung dieser Daten mit anderen Datenquellen wird nicht vorgenommen. Die
|
||||||
|
Erfassung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Der
|
||||||
|
Websitebetreiber hat ein berechtigtes Interesse an der technisch fehlerfreien
|
||||||
|
Darstellung und der Optimierung seiner Website – hierzu müssen die Server-Log-Files
|
||||||
|
erfasst werden.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h4>E-Mail-Kontakt</h4>
|
||||||
|
<p>
|
||||||
|
Wenn Sie uns per E-Mail Anfragen zukommen lassen, werden Ihre Angaben (z. B.
|
||||||
|
E-Mail-Adresse und der Text Ihrer Anfrage) zwecks Bearbeitung der Anfrage und für den
|
||||||
|
Fall von Anschlussfragen bei uns gespeichert. Diese Daten geben wir nicht ohne Ihre
|
||||||
|
Einwilligung weiter.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Die Verarbeitung dieser Daten erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO,
|
||||||
|
sofern Ihre Anfrage mit der Erfüllung eines Vertrags zusammenhängt oder zur
|
||||||
|
Durchführung vorvertraglicher Maßnahmen erforderlich ist. In allen übrigen Fällen beruht
|
||||||
|
die Verarbeitung auf unserem berechtigten Interesse an der effektiven Bearbeitung der
|
||||||
|
an uns gerichteten Anfragen (Art. 6 Abs. 1 lit. f DSGVO) oder auf Ihrer Einwilligung
|
||||||
|
(Art. 6 Abs. 1 lit. a DSGVO), sofern diese abgefragt wurde.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Die von Ihnen an uns übersendeten Daten verbleiben bei uns, bis Sie uns zur Löschung
|
||||||
|
auffordern, Ihre Einwilligung zur Speicherung widerrufen oder der Zweck für die
|
||||||
|
Datenspeicherung entfällt (z. B. nach abgeschlossener Bearbeitung Ihrer Anfrage).
|
||||||
|
Zwingende gesetzliche Bestimmungen – insbesondere Aufbewahrungsfristen – bleiben
|
||||||
|
unberührt.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h4>Verarbeiten von Daten (Kunden- und Vertragsdaten)</h4>
|
||||||
|
<p>
|
||||||
|
Wir erheben, verarbeiten und nutzen personenbezogene Daten nur, soweit sie für die
|
||||||
|
Begründung, inhaltliche Ausgestaltung oder Änderung des Rechtsverhältnisses erforderlich
|
||||||
|
sind (Bestandsdaten). Dies erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO, der die
|
||||||
|
Verarbeitung von Daten zur Erfüllung eines Vertrags oder vorvertraglicher Maßnahmen
|
||||||
|
gestattet. Personenbezogene Daten über die Inanspruchnahme unserer Internetseiten
|
||||||
|
(Nutzungsdaten) erheben, verarbeiten und nutzen wir nur, soweit dies erforderlich ist,
|
||||||
|
um dem Nutzer die Inanspruchnahme des Dienstes zu ermöglichen oder abzurechnen.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Die erhobenen Kundendaten werden nach Abschluss des Auftrags oder Beendigung der
|
||||||
|
Geschäftsbeziehung gelöscht. Gesetzliche Aufbewahrungsfristen bleiben unberührt.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>5. Analyse-Tools</h3>
|
||||||
|
<h4>Umami Analytics (selbst gehostet)</h4>
|
||||||
|
<p>
|
||||||
|
Diese Website nutzt das Open-Source-Webanalyse-Tool Umami für interne Auswertungen. Um
|
||||||
|
höchste Datenschutzstandards zu gewährleisten, wird Umami vollständig auf einem eigenen
|
||||||
|
Server gehostet. Dadurch bleiben alle erfassten Daten in unserer alleinigen Kontrolle
|
||||||
|
und werden nicht an Dritte weitergegeben.
|
||||||
|
</p>
|
||||||
|
<p>Umami wurde datenschutzfreundlich konzipiert:</p>
|
||||||
|
<p>
|
||||||
|
Es werden keine Cookies in Ihrem Browser gespeichert.<br />
|
||||||
|
Es findet kein website- oder geräteübergreifendes Tracking (Cross-Site Tracking) statt.<br />
|
||||||
|
Alle IP-Adressen werden unmittelbar bei der Erfassung vollständig anonymisiert, sodass
|
||||||
|
ein Rückschluss auf Ihre Person oder Ihr genaues Gerät ausgeschlossen ist.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Es werden lediglich grundlegende, anonyme Telemetriedaten erfasst (z. B. aufgerufene
|
||||||
|
Seiten, Browsertyp, Betriebssystem, Herkunftsland und Bildschirmauflösung). Die Nutzung
|
||||||
|
von Umami erfolgt auf Grundlage unseres berechtigten Interesses gemäß Art. 6 Abs. 1
|
||||||
|
lit. f DSGVO. Unser berechtigtes Interesse liegt in der anonymisierten Analyse des
|
||||||
|
Nutzerverhaltens, um unsere Website sowie unser Angebot technisch und inhaltlich
|
||||||
|
fortlaufend zu optimieren.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<p class="footer-copy">© 2026 ADAMETZ.MEDIA – Kevin Adametz</p>
|
||||||
|
<div class="footer-links">
|
||||||
|
<a href="impressum.html">Impressum</a>
|
||||||
|
<a href="datenschutz.html">Datenschutz</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
244
_adametz.media/impressum.html
Normal file
|
|
@ -0,0 +1,244 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Impressum – Kevin Adametz</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Impressum und Anbieterkennzeichnung von ADAMETZ.MEDIA."
|
||||||
|
/>
|
||||||
|
<meta name="author" content="Kevin Adametz" />
|
||||||
|
<meta name="robots" content="index, follow" />
|
||||||
|
|
||||||
|
<meta property="og:title" content="Impressum – Kevin Adametz" />
|
||||||
|
<meta
|
||||||
|
property="og:description"
|
||||||
|
content="Impressum und Anbieterkennzeichnung von ADAMETZ.MEDIA."
|
||||||
|
/>
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="https://adametz.media/impressum.html" />
|
||||||
|
<link rel="canonical" href="https://adametz.media/impressum.html" />
|
||||||
|
<meta name="twitter:title" content="Impressum – Kevin Adametz" />
|
||||||
|
<meta
|
||||||
|
name="twitter:description"
|
||||||
|
content="Impressum und Anbieterkennzeichnung von ADAMETZ.MEDIA."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<meta property="og:locale" content="de_DE" />
|
||||||
|
<meta property="og:site_name" content="ADAMETZ.MEDIA" />
|
||||||
|
<meta property="og:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta property="og:image:width" content="1200" />
|
||||||
|
<meta property="og:image:height" content="630" />
|
||||||
|
<meta property="og:image:alt" content="Kevin Adametz — Markensysteme, die funktionieren" />
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta name="theme-color" content="#0a0a0a" />
|
||||||
|
|
||||||
|
<link rel="preload" href="assets/fonts/outfit-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
<link rel="preload" href="assets/fonts/source-sans-3-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="assets/fav/apple-icon-180x180.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="assets/fav/favicon-32x32.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="assets/fav/favicon-16x16.png" />
|
||||||
|
<link rel="shortcut icon" href="assets/fav/favicon.ico" />
|
||||||
|
<link rel="manifest" href="manifest.json" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="assets/styles.css?v=20250610" />
|
||||||
|
<script src="assets/js/app.js?v=20250610" defer></script>
|
||||||
|
|
||||||
|
<script defer src="https://sys.adametz.media/config.js" data-website-id="69ec86fc-7f06-4cc5-9e2c-fd9daaae7faa"></script>
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "WebSite",
|
||||||
|
"name": "ADAMETZ.MEDIA",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"description": "Markensysteme für Unternehmen, die sich klar erklären wollen – von der Strategie bis zur Umsetzung.",
|
||||||
|
"inLanguage": "de-DE"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "Kevin Adametz",
|
||||||
|
"jobTitle": "Markenarchitekt",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"email": "info@adametz.media",
|
||||||
|
"telephone": "+49-5206-7076721",
|
||||||
|
"address": {
|
||||||
|
"@type": "PostalAddress",
|
||||||
|
"streetAddress": "In der Lake 4",
|
||||||
|
"addressLocality": "Bielefeld",
|
||||||
|
"postalCode": "33739",
|
||||||
|
"addressCountry": "DE"
|
||||||
|
},
|
||||||
|
"worksFor": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "ADAMETZ.MEDIA"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Zum Inhalt springen</a>
|
||||||
|
|
||||||
|
<nav class="nav" id="nav" aria-label="Hauptnavigation">
|
||||||
|
<div class="container">
|
||||||
|
<div class="nav-inner">
|
||||||
|
<a href="index.html" class="nav-logo">
|
||||||
|
<img
|
||||||
|
src="assets/img/logo.png"
|
||||||
|
alt="Adametz.Media Logo"
|
||||||
|
class="nav-logo-img"
|
||||||
|
width="252"
|
||||||
|
height="160"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
Adametz.Media
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<ul class="nav-links">
|
||||||
|
<li><a href="index.html#start">Start</a></li>
|
||||||
|
<li><a href="index.html#haltung">Haltung</a></li>
|
||||||
|
<li><a href="index.html#umsetzung">Umsetzung</a></li>
|
||||||
|
<li><a href="index.html#projekte">Evidenz</a></li>
|
||||||
|
<li><a href="index.html#kontakt">Kontakt</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="nav-toggle"
|
||||||
|
id="navToggle"
|
||||||
|
aria-label="Menü öffnen"
|
||||||
|
aria-controls="navMobile"
|
||||||
|
aria-expanded="false"
|
||||||
|
>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="nav-mobile" id="navMobile">
|
||||||
|
<a href="index.html#start">Start</a>
|
||||||
|
<a href="index.html#haltung">Haltung</a>
|
||||||
|
<a href="index.html#umsetzung">Umsetzung</a>
|
||||||
|
<a href="index.html#projekte">Evidenz</a>
|
||||||
|
<a href="index.html#kontakt">Kontakt</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content-section" id="main">
|
||||||
|
<div class="container">
|
||||||
|
<div class="content-wrapper">
|
||||||
|
<h1>Impressum</h1>
|
||||||
|
<p>Angaben gemäß § 5 DDG.</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
ADAMETZ.MEDIA<br />
|
||||||
|
Kevin Adametz<br />
|
||||||
|
In der Lake 4<br />
|
||||||
|
33739 Bielefeld
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Inhaber / Vertreten durch</h3>
|
||||||
|
<p>Kevin Adametz</p>
|
||||||
|
|
||||||
|
<h3>Kontakt</h3>
|
||||||
|
<p>
|
||||||
|
Telefon: +49 5206 7076721<br />
|
||||||
|
E-Mail: <a href="mailto:info@adametz.media">info@adametz.media</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Umsatzsteuer-ID</h3>
|
||||||
|
<p>
|
||||||
|
Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz:<br />
|
||||||
|
DE298729654
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Steuernummer</h3>
|
||||||
|
<p>349/5910/0994</p>
|
||||||
|
|
||||||
|
<h3>EU-Streitschlichtung</h3>
|
||||||
|
<p>
|
||||||
|
Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit:
|
||||||
|
<a href="https://ec.europa.eu/consumers/odr/" rel="noopener noreferrer">https://ec.europa.eu/consumers/odr/</a>.
|
||||||
|
Unsere E-Mail-Adresse finden Sie oben im Impressum.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Verbraucherstreitbeilegung / Universalschlichtungsstelle</h3>
|
||||||
|
<p>
|
||||||
|
Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer
|
||||||
|
Verbraucherschlichtungsstelle teilzunehmen.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3>Haftungsausschluss (Disclaimer)</h3>
|
||||||
|
|
||||||
|
<h4>Haftung für Inhalte</h4>
|
||||||
|
<p>
|
||||||
|
Als Diensteanbieter sind wir gemäß § 7 Abs. 1 DDG für eigene Inhalte auf diesen Seiten
|
||||||
|
nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 DDG sind wir als
|
||||||
|
Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde
|
||||||
|
Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige
|
||||||
|
Tätigkeit hinweisen.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den
|
||||||
|
allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch
|
||||||
|
erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei
|
||||||
|
Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend
|
||||||
|
entfernen.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h4>Haftung für Links</h4>
|
||||||
|
<p>
|
||||||
|
Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen
|
||||||
|
Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen.
|
||||||
|
Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der
|
||||||
|
Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf
|
||||||
|
mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der
|
||||||
|
Verlinkung nicht erkennbar.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete
|
||||||
|
Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von
|
||||||
|
Rechtsverletzungen werden wir derartige Links umgehend entfernen.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Urheberrecht</h3>
|
||||||
|
<p>
|
||||||
|
Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen
|
||||||
|
dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art
|
||||||
|
der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen
|
||||||
|
Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind
|
||||||
|
nur für den privaten, nicht kommerziellen Gebrauch gestattet.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die
|
||||||
|
Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche
|
||||||
|
gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden,
|
||||||
|
bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen
|
||||||
|
werden wir derartige Inhalte umgehend entfernen.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<p class="footer-copy">© 2026 ADAMETZ.MEDIA – Kevin Adametz</p>
|
||||||
|
<div class="footer-links">
|
||||||
|
<a href="impressum.html">Impressum</a>
|
||||||
|
<a href="datenschutz.html">Datenschutz</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
747
_adametz.media/index.html
Normal file
|
|
@ -0,0 +1,747 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>
|
||||||
|
Kevin Adametz – Ich entwickle Markensysteme, die funktionieren
|
||||||
|
</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Ich entwickle Markensysteme für Unternehmen, die sich klar erklären wollen – von der Strategie bis zur Umsetzung."
|
||||||
|
/>
|
||||||
|
<meta name="author" content="Kevin Adametz" />
|
||||||
|
<meta name="robots" content="index, follow" />
|
||||||
|
|
||||||
|
<meta
|
||||||
|
property="og:title"
|
||||||
|
content="Kevin Adametz – Markensysteme, die funktionieren"
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
property="og:description"
|
||||||
|
content="Ich entwickle Markensysteme für Unternehmen, die sich klar erklären wollen."
|
||||||
|
/>
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="https://adametz.media/" />
|
||||||
|
<link rel="canonical" href="https://adametz.media/" />
|
||||||
|
<meta
|
||||||
|
name="twitter:title"
|
||||||
|
content="Kevin Adametz – Markensysteme, die funktionieren"
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
name="twitter:description"
|
||||||
|
content="Ich entwickle Markensysteme für Unternehmen, die sich klar erklären wollen."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<meta property="og:locale" content="de_DE" />
|
||||||
|
<meta property="og:site_name" content="ADAMETZ.MEDIA" />
|
||||||
|
<meta property="og:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta property="og:image:width" content="1200" />
|
||||||
|
<meta property="og:image:height" content="630" />
|
||||||
|
<meta property="og:image:alt" content="Kevin Adametz — Markensysteme, die funktionieren" />
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:image" content="https://adametz.media/assets/img/og-share.webp" />
|
||||||
|
<meta name="theme-color" content="#0a0a0a" />
|
||||||
|
|
||||||
|
<link rel="preload" href="assets/fonts/outfit-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
<link rel="preload" href="assets/fonts/source-sans-3-regular.woff2" as="font" type="font/woff2" crossorigin />
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="assets/fav/apple-icon-180x180.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="assets/fav/favicon-32x32.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="assets/fav/favicon-16x16.png" />
|
||||||
|
<link rel="shortcut icon" href="assets/fav/favicon.ico" />
|
||||||
|
<link rel="manifest" href="manifest.json" />
|
||||||
|
<link rel="preload" as="image" href="assets/img/hero-bg2-960.webp" type="image/webp" fetchpriority="high" imagesrcset="assets/img/hero-bg2-640.webp 640w, assets/img/hero-bg2-960.webp 960w, assets/img/hero-bg2.webp 1920w" imagesizes="100vw" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="assets/styles.css?v=20250610" />
|
||||||
|
<script src="assets/js/app.js?v=20250610" defer></script>
|
||||||
|
|
||||||
|
<script defer src="https://sys.adametz.media/config.js" data-website-id="69ec86fc-7f06-4cc5-9e2c-fd9daaae7faa"></script>
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "WebSite",
|
||||||
|
"name": "ADAMETZ.MEDIA",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"description": "Markensysteme für Unternehmen, die sich klar erklären wollen – von der Strategie bis zur Umsetzung.",
|
||||||
|
"inLanguage": "de-DE"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "Kevin Adametz",
|
||||||
|
"jobTitle": "Markenarchitekt",
|
||||||
|
"url": "https://adametz.media/",
|
||||||
|
"email": "info@adametz.media",
|
||||||
|
"telephone": "+49-5206-7076721",
|
||||||
|
"address": {
|
||||||
|
"@type": "PostalAddress",
|
||||||
|
"streetAddress": "In der Lake 4",
|
||||||
|
"addressLocality": "Bielefeld",
|
||||||
|
"postalCode": "33739",
|
||||||
|
"addressCountry": "DE"
|
||||||
|
},
|
||||||
|
"worksFor": {
|
||||||
|
"@type": "Organization",
|
||||||
|
"name": "ADAMETZ.MEDIA"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a class="skip-link" href="#start">Zum Inhalt springen</a>
|
||||||
|
|
||||||
|
<nav class="nav" id="nav" aria-label="Hauptnavigation">
|
||||||
|
<div class="container">
|
||||||
|
<div class="nav-inner">
|
||||||
|
<a href="#start" class="nav-logo">
|
||||||
|
<img
|
||||||
|
src="assets/img/logo.png"
|
||||||
|
alt="Adametz.Media Logo"
|
||||||
|
class="nav-logo-img"
|
||||||
|
width="252"
|
||||||
|
height="160"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
Adametz.Media
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<ul class="nav-links">
|
||||||
|
<li><a href="#start">Start</a></li>
|
||||||
|
<li><a href="#haltung">Haltung</a></li>
|
||||||
|
<li><a href="#umsetzung">Umsetzung</a></li>
|
||||||
|
<li><a href="#projekte">Evidenz</a></li>
|
||||||
|
<li><a href="#kontakt">Kontakt</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="nav-toggle"
|
||||||
|
id="navToggle"
|
||||||
|
aria-label="Menü öffnen"
|
||||||
|
aria-controls="navMobile"
|
||||||
|
aria-expanded="false"
|
||||||
|
>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="nav-mobile" id="navMobile">
|
||||||
|
<a href="#start">Start</a>
|
||||||
|
<a href="#haltung">Haltung</a>
|
||||||
|
<a href="#umsetzung">Umsetzung</a>
|
||||||
|
<a href="#projekte">Evidenz</a>
|
||||||
|
<a href="#kontakt">Kontakt</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="hero" id="start">
|
||||||
|
<div class="hero-background">
|
||||||
|
<img
|
||||||
|
src="assets/img/hero-bg2.webp"
|
||||||
|
srcset="assets/img/hero-bg2-640.webp 640w, assets/img/hero-bg2-960.webp 960w, assets/img/hero-bg2.webp 1920w"
|
||||||
|
sizes="100vw"
|
||||||
|
alt="Abstrakte architektonische Struktur"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
loading="eager"
|
||||||
|
fetchpriority="high"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
<div class="hero-shape hero-shape-1"></div>
|
||||||
|
<div class="hero-shape hero-shape-2"></div>
|
||||||
|
<div class="hero-shape hero-shape-3"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="hero-content">
|
||||||
|
<h1>Ich entwickle Markensysteme, die funktionieren.</h1>
|
||||||
|
|
||||||
|
<div class="hero-text">
|
||||||
|
<p>
|
||||||
|
Seit über 20 Jahren arbeite ich mit Unternehmen an der Frage, wie
|
||||||
|
sie sich erklären – konsistent, strukturiert, unabhängig von
|
||||||
|
einzelnen Köpfen.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Das beginnt mit Klarheit. Und es endet mit Umsetzung: Websites,
|
||||||
|
Tools, Kommunikationsmittel, die das System im Alltag tragen.
|
||||||
|
</p>
|
||||||
|
<p>Die Methode dahinter heißt „MARKE MACHT"</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hero-cta">
|
||||||
|
<a href="#haltung" class="btn btn--next">
|
||||||
|
Haltung
|
||||||
|
<span class="btn-arrow-down" aria-hidden="true">↓</span>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
href="https://markemacht.de"
|
||||||
|
class="btn btn--mm"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener"
|
||||||
|
>
|
||||||
|
MARKE MACHT
|
||||||
|
<span class="btn-arrow" aria-hidden="true">→</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hero-meta">
|
||||||
|
<img
|
||||||
|
src="assets/img/am.webp"
|
||||||
|
alt="Kevin Adametz"
|
||||||
|
class="hero-portrait"
|
||||||
|
width="200"
|
||||||
|
height="200"
|
||||||
|
loading="lazy"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
<div class="hero-meta-text">
|
||||||
|
<p><strong>Kevin Adametz</strong></p>
|
||||||
|
<p>Markenarchitekt · Gründer von „MARKE MACHT"</p>
|
||||||
|
<p>Bielefeld</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="haltung" id="haltung">
|
||||||
|
<div class="container">
|
||||||
|
<div class="section-header reveal">
|
||||||
|
<p class="section-label">Haltung</p>
|
||||||
|
<h2>Wofür ich stehe.</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="haltung-grid">
|
||||||
|
<div class="haltung-item reveal">
|
||||||
|
<div class="haltung-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/haltung-1.webp"
|
||||||
|
alt="Struktur"
|
||||||
|
loading="lazy"
|
||||||
|
width="320"
|
||||||
|
height="320"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="haltung-content">
|
||||||
|
<h3>Struktur vor Kreativität.</h3>
|
||||||
|
<p>
|
||||||
|
Gute Markenarbeit beginnt mit Klarheit – über das, wofür ein
|
||||||
|
Unternehmen steht, wie es spricht und wo es Grenzen zieht. Erst
|
||||||
|
wenn diese Grundlage existiert, wird Gestaltung wirksam.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="haltung-item reveal">
|
||||||
|
<div class="haltung-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/haltung-2.webp"
|
||||||
|
alt="Systeme"
|
||||||
|
loading="lazy"
|
||||||
|
width="320"
|
||||||
|
height="320"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="haltung-content">
|
||||||
|
<h3>Systeme statt Einzelmaßnahmen.</h3>
|
||||||
|
<p>
|
||||||
|
Ich entwickle Regelwerke, die über Jahre tragen – und mit dem
|
||||||
|
Unternehmen wachsen. Eine Marke, die nur in Kampagnen existiert,
|
||||||
|
bleibt fragil. Eine Marke, die in Struktur existiert, ist
|
||||||
|
führbar.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="haltung-item reveal">
|
||||||
|
<div class="haltung-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/haltung-3.webp"
|
||||||
|
alt="Strategie"
|
||||||
|
loading="lazy"
|
||||||
|
width="320"
|
||||||
|
height="320"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="haltung-content">
|
||||||
|
<h3>Strategie und Umsetzung aus einer Hand.</h3>
|
||||||
|
<p>
|
||||||
|
Ich trenne Denken und Machen nicht. Wer Markensysteme baut, muss
|
||||||
|
sie auch in die Realität bringen – in Websites, Tools,
|
||||||
|
Interfaces und ja, auch in Print. Sonst bleibt Strategie Papier.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="haltung-item reveal">
|
||||||
|
<div class="haltung-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/haltung-4.webp"
|
||||||
|
alt="Partnerschaft"
|
||||||
|
loading="lazy"
|
||||||
|
width="320"
|
||||||
|
height="320"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="haltung-content">
|
||||||
|
<h3>Partnerschaft auf Augenhöhe.</h3>
|
||||||
|
<p>
|
||||||
|
Viele meiner Kunden begleite ich seit über zehn Jahren.
|
||||||
|
Vertrauen entsteht durch Ergebnisse, durch Verlässlichkeit und
|
||||||
|
durch die Bereitschaft, gemeinsam klare Entscheidungen zu
|
||||||
|
treffen.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="haltung-cta reveal">
|
||||||
|
<p>
|
||||||
|
Wenn Sie verstehen wollen, wie ich über Marke denke, finden Sie den
|
||||||
|
vollständigen Denkrahmen auf markemacht.de.
|
||||||
|
</p>
|
||||||
|
<div class="section-cta">
|
||||||
|
<a href="#umsetzung" class="btn btn--next">
|
||||||
|
Umsetzung
|
||||||
|
<span class="btn-arrow-down" aria-hidden="true">↓</span>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
href="https://markemacht.de"
|
||||||
|
class="btn btn--mm"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener"
|
||||||
|
>
|
||||||
|
MARKE MACHT
|
||||||
|
<span class="btn-arrow" aria-hidden="true">→</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="umsetzung" id="umsetzung">
|
||||||
|
<div class="container">
|
||||||
|
<div class="section-header reveal">
|
||||||
|
<p class="section-label">Umsetzung</p>
|
||||||
|
<h2>Wie Klarheit Realität wird.</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="umsetzung-intro reveal">
|
||||||
|
<p>
|
||||||
|
Klarheit, die nur in Dokumenten existiert, verändert nichts. Deshalb
|
||||||
|
endet meine Arbeit nicht bei der Strategie – sondern dort, wo die
|
||||||
|
Marke sichtbar und nutzbar wird.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="umsetzung-grid">
|
||||||
|
<div class="umsetzung-item reveal">
|
||||||
|
<div class="umsetzung-number">01</div>
|
||||||
|
<h3>Websites, Tools, Interfaces</h3>
|
||||||
|
<p>
|
||||||
|
Ich entwickle und programmiere Websites, Landingpages, interne
|
||||||
|
Tools und Web-Applikationen – immer auf Basis der Marken-DNA.
|
||||||
|
Technik folgt der Strategie, nicht umgekehrt.
|
||||||
|
</p>
|
||||||
|
<div class="umsetzung-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/umsetzung-1.webp"
|
||||||
|
alt="Websites und Tools"
|
||||||
|
loading="lazy"
|
||||||
|
width="960"
|
||||||
|
height="540"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="umsetzung-item reveal">
|
||||||
|
<div class="umsetzung-number">02</div>
|
||||||
|
<h3>Workflows, die Konsistenz sichern</h3>
|
||||||
|
<p>
|
||||||
|
KI nutze ich nicht für Spielereien, sondern für Marken-Governance:
|
||||||
|
Regeln, Checks und Prozesse, die dafür sorgen, dass die Marke in
|
||||||
|
Content und Kommunikation stabil bleibt.
|
||||||
|
</p>
|
||||||
|
<div class="umsetzung-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/umsetzung-2.webp"
|
||||||
|
alt="KI Workflows"
|
||||||
|
loading="lazy"
|
||||||
|
width="960"
|
||||||
|
height="540"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="umsetzung-item reveal">
|
||||||
|
<div class="umsetzung-number">03</div>
|
||||||
|
<h3>Print, Präsentationen, Messe</h3>
|
||||||
|
<p>
|
||||||
|
Wenn das System steht, entstehen auch analoge Anwendungen –
|
||||||
|
Geschäftsausstattung, Broschüren, Messestände. Sie sind Konsequenz
|
||||||
|
der Markenführung, nicht Ausgangspunkt.
|
||||||
|
</p>
|
||||||
|
<div class="umsetzung-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/umsetzung-3.webp"
|
||||||
|
alt="Print und Messe"
|
||||||
|
loading="lazy"
|
||||||
|
width="960"
|
||||||
|
height="540"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="umsetzung-note reveal">
|
||||||
|
<p>
|
||||||
|
Alle Umsetzungen folgen denselben Regeln: der Marken-DNA des
|
||||||
|
Unternehmens. Das ist der Unterschied zwischen Ausführung und
|
||||||
|
Systemarbeit.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="umsetzung-cta reveal">
|
||||||
|
<div class="section-cta">
|
||||||
|
<a href="#projekte" class="btn btn--next">
|
||||||
|
Evidenz
|
||||||
|
<span class="btn-arrow-down" aria-hidden="true">↓</span>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
href="https://markemacht.de"
|
||||||
|
class="btn btn--mm"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener"
|
||||||
|
>
|
||||||
|
MARKE MACHT
|
||||||
|
<span class="btn-arrow" aria-hidden="true">→</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="projekte" id="projekte">
|
||||||
|
<div class="container">
|
||||||
|
<div class="section-header reveal">
|
||||||
|
<p class="section-label">Evidenz</p>
|
||||||
|
<h2>Ausgewählte Erfolge.</h2>
|
||||||
|
<p>
|
||||||
|
Keine Logos, keine Bildergalerien. Nur das, was zählt: Ausgangslage,
|
||||||
|
Intervention, Ergebnis.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="case-list">
|
||||||
|
<article class="case-item reveal">
|
||||||
|
<div class="case-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/case-1.webp"
|
||||||
|
alt="Makro-Detailaufnahme"
|
||||||
|
loading="lazy"
|
||||||
|
width="800"
|
||||||
|
height="450"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="case-header">
|
||||||
|
<h3>Maschinenbauer</h3>
|
||||||
|
<span>120 Mitarbeiter</span>
|
||||||
|
</div>
|
||||||
|
<div class="case-content">
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ausgangslage</h4>
|
||||||
|
<p>
|
||||||
|
Technisch führend, aber sprachlich austauschbar. Vertrieb
|
||||||
|
argumentierte je nach Person unterschiedlich. Website und
|
||||||
|
Angebote erzählten verschiedene Geschichten.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Intervention</h4>
|
||||||
|
<p>
|
||||||
|
Marken-DNA entwickelt: Identitätskern, Positionierung,
|
||||||
|
Sprachregeln. Website neu aufgebaut. Vertriebsunterlagen
|
||||||
|
vereinheitlicht.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ergebnis</h4>
|
||||||
|
<p>
|
||||||
|
Das Unternehmen erklärt sich heute in einem Satz – konsistent
|
||||||
|
über alle Kanäle. Abstimmungsschleifen im Marketing haben sich
|
||||||
|
halbiert.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="case-item reveal">
|
||||||
|
<div class="case-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/case-2.webp"
|
||||||
|
alt="Makro-Detailaufnahme"
|
||||||
|
loading="lazy"
|
||||||
|
width="800"
|
||||||
|
height="450"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="case-header">
|
||||||
|
<h3>IT-Dienstleister</h3>
|
||||||
|
<span>40 Mitarbeiter</span>
|
||||||
|
</div>
|
||||||
|
<div class="case-content">
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ausgangslage</h4>
|
||||||
|
<p>
|
||||||
|
Schnelles Wachstum, aber keine einheitliche Sprache. Website,
|
||||||
|
Sales-Pitches und LinkedIn widersprachen sich. Jeder
|
||||||
|
Mitarbeiter erklärte das Unternehmen anders.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Intervention</h4>
|
||||||
|
<p>
|
||||||
|
Positionierung geschärft. Sprachregeln und Themenrahmen
|
||||||
|
definiert. Website und Pitch-Deck neu strukturiert. Interne
|
||||||
|
Guidelines erstellt.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ergebnis</h4>
|
||||||
|
<p>
|
||||||
|
Kommunikation ist reproduzierbar – unabhängig davon, wer sie
|
||||||
|
erstellt. Neue Mitarbeiter sind in Tagen statt Wochen
|
||||||
|
sprachfähig.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="case-item reveal">
|
||||||
|
<div class="case-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/case-3.webp"
|
||||||
|
alt="Makro-Detailaufnahme"
|
||||||
|
loading="lazy"
|
||||||
|
width="800"
|
||||||
|
height="450"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="case-header">
|
||||||
|
<h3>Beratungsunternehmen</h3>
|
||||||
|
<span>8 Mitarbeiter</span>
|
||||||
|
</div>
|
||||||
|
<div class="case-content">
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ausgangslage</h4>
|
||||||
|
<p>
|
||||||
|
Starke Gründerpersönlichkeit, aber Wissen war nicht
|
||||||
|
übertragbar. Inhalte und Akquise hingen am Inhaber. Skalierung
|
||||||
|
blockiert.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Intervention</h4>
|
||||||
|
<p>
|
||||||
|
Haltung in Struktur übersetzt. Marken-DNA dokumentiert. Team
|
||||||
|
befähigt, eigenständig zu kommunizieren. Website als System
|
||||||
|
aufgebaut.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ergebnis</h4>
|
||||||
|
<p>
|
||||||
|
Die Marke funktioniert auch ohne den Gründer im Raum. Erstmals
|
||||||
|
können andere Berater unter derselben Positionierung
|
||||||
|
auftreten.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="case-item reveal">
|
||||||
|
<div class="case-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/case-4.webp"
|
||||||
|
alt="Makro-Detailaufnahme"
|
||||||
|
loading="lazy"
|
||||||
|
width="800"
|
||||||
|
height="450"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="case-header">
|
||||||
|
<h3>Produzierendes Unternehmen</h3>
|
||||||
|
<span>200 Mitarbeiter</span>
|
||||||
|
</div>
|
||||||
|
<div class="case-content">
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ausgangslage</h4>
|
||||||
|
<p>
|
||||||
|
Marke existierte nur als Logo und Farbwelt. Keine
|
||||||
|
dokumentierte Positionierung. Marketing produzierte viel, aber
|
||||||
|
ohne roten Faden.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Intervention</h4>
|
||||||
|
<p>
|
||||||
|
Marken-DNA von Grund auf entwickelt. Interne Workshops zur
|
||||||
|
Verankerung. Website-Relaunch, Messeauftritt, Broschüren –
|
||||||
|
alles aus einem System.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ergebnis</h4>
|
||||||
|
<p>
|
||||||
|
Zum ersten Mal spricht das Unternehmen nach außen wie nach
|
||||||
|
innen. Der Messestand wurde zum konsistentesten Auftritt der
|
||||||
|
Firmengeschichte.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="case-item reveal">
|
||||||
|
<div class="case-image">
|
||||||
|
<img
|
||||||
|
src="assets/img/case-5.webp"
|
||||||
|
alt="Makro-Detailaufnahme"
|
||||||
|
loading="lazy"
|
||||||
|
width="800"
|
||||||
|
height="450"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="case-header">
|
||||||
|
<h3>Startup</h3>
|
||||||
|
<span>12 Mitarbeiter</span>
|
||||||
|
</div>
|
||||||
|
<div class="case-content">
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ausgangslage</h4>
|
||||||
|
<p>
|
||||||
|
Produkt war da, aber die Erklärung fehlte. Pitch-Deck
|
||||||
|
überzeugte nicht. Website war technisch, nicht strategisch.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Intervention</h4>
|
||||||
|
<p>
|
||||||
|
Positionierung erarbeitet. Messaging-System entwickelt.
|
||||||
|
Website und Pitch-Deck komplett neu gebaut. KI-gestützter
|
||||||
|
Content-Workflow eingerichtet.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="case-block">
|
||||||
|
<h4>Ergebnis</h4>
|
||||||
|
<p>
|
||||||
|
Investorengespräche laufen fokussierter. Content entsteht
|
||||||
|
jetzt regelbasiert statt aus dem Bauch.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="projekte-cta reveal">
|
||||||
|
<p>
|
||||||
|
Diese Projekte stehen für eine Arbeitsweise: Klarheit zuerst, dann
|
||||||
|
Umsetzung. Wenn Sie wissen wollen, ob das zu Ihrer Situation passt,
|
||||||
|
sprechen wir.
|
||||||
|
</p>
|
||||||
|
<div class="section-cta">
|
||||||
|
<a href="#kontakt" class="btn btn--next">
|
||||||
|
Kontakt
|
||||||
|
<span class="btn-arrow-down" aria-hidden="true">↓</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="kontakt" id="kontakt">
|
||||||
|
<div class="container">
|
||||||
|
<div class="section-header reveal">
|
||||||
|
<p class="section-label">Kontakt</p>
|
||||||
|
<h2>Sprechen wir.</h2>
|
||||||
|
<p>
|
||||||
|
Wenn Sie über Markenklarheit sprechen wollen – oder ein konkretes
|
||||||
|
Umsetzungsprojekt haben – schreiben Sie mir.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="kontakt-grid">
|
||||||
|
<div class="kontakt-text reveal">
|
||||||
|
<div class="kontakt-portrait">
|
||||||
|
<img
|
||||||
|
src="assets/img/back.webp"
|
||||||
|
alt="Kevin Adametz"
|
||||||
|
loading="lazy"
|
||||||
|
width="800"
|
||||||
|
height="533"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="kontakt-info reveal">
|
||||||
|
<div class="kontakt-card">
|
||||||
|
<img
|
||||||
|
src="assets/img/logo.png"
|
||||||
|
alt="Adametz.Media Logo"
|
||||||
|
class="kontakt-logo"
|
||||||
|
width="252"
|
||||||
|
height="160"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
|
<h3>Kevin Adametz</h3>
|
||||||
|
<div class="kontakt-details">
|
||||||
|
<p>ADAMETZ.MEDIA</p>
|
||||||
|
<p>In der Lake 4</p>
|
||||||
|
<p>33739 Bielefeld</p>
|
||||||
|
<p style="margin-top: 1rem">
|
||||||
|
<a href="mailto:info@adametz.media">info@adametz.media</a>
|
||||||
|
</p>
|
||||||
|
<p><a href="tel:+4952067076721">+49 5206 7076721</a></p>
|
||||||
|
</div>
|
||||||
|
<p class="kontakt-note">
|
||||||
|
Ich antworte in der Regel innerhalb von 48 Stunden.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<p class="footer-copy">© 2026 ADAMETZ.MEDIA – Kevin Adametz</p>
|
||||||
|
<div class="footer-links">
|
||||||
|
<a href="https://markemacht.de">MARKE MACHT</a>
|
||||||
|
<a href="impressum.html">Impressum</a>
|
||||||
|
<a href="datenschutz.html">Datenschutz</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
47
_adametz.media/manifest.json
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
"name": "ADAMETZ.MEDIA",
|
||||||
|
"short_name": "Adametz",
|
||||||
|
"start_url": "/",
|
||||||
|
"scope": "/",
|
||||||
|
"display": "standalone",
|
||||||
|
"theme_color": "#0a0a0a",
|
||||||
|
"background_color": "#0a0a0a",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "assets/android-icon-36x36.png",
|
||||||
|
"sizes": "36x36",
|
||||||
|
"type": "image/png",
|
||||||
|
"density": "0.75"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "assets/android-icon-48x48.png",
|
||||||
|
"sizes": "48x48",
|
||||||
|
"type": "image/png",
|
||||||
|
"density": "1.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "assets/android-icon-72x72.png",
|
||||||
|
"sizes": "72x72",
|
||||||
|
"type": "image/png",
|
||||||
|
"density": "1.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "assets/android-icon-96x96.png",
|
||||||
|
"sizes": "96x96",
|
||||||
|
"type": "image/png",
|
||||||
|
"density": "2.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "assets/android-icon-144x144.png",
|
||||||
|
"sizes": "144x144",
|
||||||
|
"type": "image/png",
|
||||||
|
"density": "3.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "assets/android-icon-192x192.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image/png",
|
||||||
|
"density": "4.0"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
4
_adametz.media/robots.txt
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
User-agent: *
|
||||||
|
Allow: /
|
||||||
|
|
||||||
|
Sitemap: https://adametz.media/sitemap.xml
|
||||||
135
_adametz.media/scripts/build-site.py
Executable file
|
|
@ -0,0 +1,135 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Synchronisiert head-common, Header und Footer in alle HTML-Seiten."""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import re
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
ROOT = Path(__file__).resolve().parent.parent
|
||||||
|
VERSION = (ROOT / 'assets' / 'version.txt').read_text().strip()
|
||||||
|
HEAD_COMMON = ROOT / 'assets' / 'components' / 'head-common.html'
|
||||||
|
HEADER_INDEX = ROOT / 'assets' / 'components' / 'header-index.html'
|
||||||
|
HEADER_SUB = ROOT / 'assets' / 'components' / 'header-sub.html'
|
||||||
|
FOOTER = ROOT / 'assets' / 'components' / 'footer.html'
|
||||||
|
|
||||||
|
HEAD_MOUNT = re.compile(r' <!-- data-site-head -->\n')
|
||||||
|
HEAD_BLOCK = re.compile(
|
||||||
|
r' <meta property="og:locale" content="de_DE" />.*?"name": "ADAMETZ\.MEDIA"\n \}\n \}\n </script>\n',
|
||||||
|
re.DOTALL,
|
||||||
|
)
|
||||||
|
HEADER_MOUNT = re.compile(r' <div data-site-header></div>\n')
|
||||||
|
FOOTER_MOUNT = re.compile(r' <div data-site-footer></div>\n')
|
||||||
|
|
||||||
|
STYLESHEET = re.compile(
|
||||||
|
r'<link rel="stylesheet" href="assets/styles\.css(?:\?v=[^"]*)?" />'
|
||||||
|
)
|
||||||
|
APP_JS = re.compile(
|
||||||
|
r'<script src="assets/js/app\.js(?:\?v=[^"]*)?" defer></script>'
|
||||||
|
)
|
||||||
|
|
||||||
|
HERO_IMG = re.compile(
|
||||||
|
r'<img\s+src="assets/img/hero-bg2\.webp"[^>]*>',
|
||||||
|
re.DOTALL,
|
||||||
|
)
|
||||||
|
|
||||||
|
HERO_IMG_REPLACEMENT = '''<img
|
||||||
|
src="assets/img/hero-bg2.webp"
|
||||||
|
srcset="assets/img/hero-bg2-640.webp 640w, assets/img/hero-bg2-960.webp 960w, assets/img/hero-bg2.webp 1920w"
|
||||||
|
sizes="100vw"
|
||||||
|
alt="Abstrakte architektonische Struktur"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
loading="eager"
|
||||||
|
fetchpriority="high"
|
||||||
|
decoding="async"
|
||||||
|
/>'''
|
||||||
|
|
||||||
|
INDEX_PAGES = {'index.html'}
|
||||||
|
|
||||||
|
|
||||||
|
def indent_block(text: str, prefix: str = ' ') -> str:
|
||||||
|
lines = text.strip('\n').splitlines()
|
||||||
|
return '\n'.join(prefix + line if line.strip() else '' for line in lines) + '\n'
|
||||||
|
|
||||||
|
|
||||||
|
def build_head() -> str:
|
||||||
|
content = HEAD_COMMON.read_text()
|
||||||
|
content = content.replace('{{VERSION}}', VERSION)
|
||||||
|
return indent_block(content)
|
||||||
|
|
||||||
|
|
||||||
|
def build_header(path: Path) -> str:
|
||||||
|
if path.name in INDEX_PAGES:
|
||||||
|
return indent_block(HEADER_INDEX.read_text())
|
||||||
|
return indent_block(HEADER_SUB.read_text())
|
||||||
|
|
||||||
|
|
||||||
|
def process_html(path: Path) -> bool:
|
||||||
|
text = path.read_text()
|
||||||
|
if '<!-- data-site-head -->' not in text and 'og:locale' not in text:
|
||||||
|
return False
|
||||||
|
|
||||||
|
original = text
|
||||||
|
|
||||||
|
if HEAD_MOUNT.search(text):
|
||||||
|
text = HEAD_MOUNT.sub(build_head(), text, count=1)
|
||||||
|
elif 'og:locale' in text:
|
||||||
|
text = HEAD_BLOCK.sub(build_head(), text, count=1)
|
||||||
|
|
||||||
|
if HEADER_MOUNT.search(text):
|
||||||
|
text = HEADER_MOUNT.sub(build_header(path), text, count=1)
|
||||||
|
|
||||||
|
if FOOTER_MOUNT.search(text):
|
||||||
|
footer = indent_block(FOOTER.read_text())
|
||||||
|
text = FOOTER_MOUNT.sub(footer, text, count=1)
|
||||||
|
|
||||||
|
text = STYLESHEET.sub(
|
||||||
|
f'<link rel="stylesheet" href="assets/styles.css?v={VERSION}" />',
|
||||||
|
text,
|
||||||
|
)
|
||||||
|
text = APP_JS.sub(
|
||||||
|
f'<script src="assets/js/app.js?v={VERSION}" defer></script>',
|
||||||
|
text,
|
||||||
|
)
|
||||||
|
|
||||||
|
if path.name == 'index.html':
|
||||||
|
text = HERO_IMG.sub(HERO_IMG_REPLACEMENT, text, count=1)
|
||||||
|
preload = (
|
||||||
|
' <link rel="preload" as="image" href="assets/img/hero-bg2-960.webp" '
|
||||||
|
'type="image/webp" fetchpriority="high" '
|
||||||
|
'imagesrcset="assets/img/hero-bg2-640.webp 640w, '
|
||||||
|
'assets/img/hero-bg2-960.webp 960w, assets/img/hero-bg2.webp 1920w" '
|
||||||
|
'imagesizes="100vw" />\n'
|
||||||
|
)
|
||||||
|
for _ in range(3):
|
||||||
|
text = re.sub(
|
||||||
|
r' <link rel="preload" as="image" href="assets/img/hero-bg2[^"]*"[^/]*/>\n',
|
||||||
|
'',
|
||||||
|
text,
|
||||||
|
)
|
||||||
|
manifest_line = ' <link rel="manifest" href="manifest.json" />\n'
|
||||||
|
if preload.strip() not in text and manifest_line in text:
|
||||||
|
text = text.replace(manifest_line, manifest_line + preload, 1)
|
||||||
|
|
||||||
|
if text != original:
|
||||||
|
path.write_text(text)
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
|
updated = []
|
||||||
|
for path in sorted(ROOT.glob('*.html')):
|
||||||
|
if process_html(path):
|
||||||
|
updated.append(path.name)
|
||||||
|
|
||||||
|
print(f'Version: {VERSION}')
|
||||||
|
for name in updated:
|
||||||
|
print(f' aktualisiert: {name}')
|
||||||
|
if not updated:
|
||||||
|
print(' keine Änderungen')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
18
_adametz.media/sitemap.xml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
<url>
|
||||||
|
<loc>https://adametz.media/</loc>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>1.0</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://adametz.media/impressum.html</loc>
|
||||||
|
<changefreq>yearly</changefreq>
|
||||||
|
<priority>0.3</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://adametz.media/datenschutz.html</loc>
|
||||||
|
<changefreq>yearly</changefreq>
|
||||||
|
<priority>0.3</priority>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
||||||
5
_markemacht.de/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Composer-Abhängigkeiten (per `composer install` reproduzierbar)
|
||||||
|
/vendor/
|
||||||
|
|
||||||
|
# Zugangsdaten – niemals committen (siehe config.example.php als Vorlage)
|
||||||
|
/assets/php/config.php
|
||||||
108
_markemacht.de/.htaccess
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
# MARKE MACHT — Apache-Konfiguration (markemacht.de)
|
||||||
|
# Kanonische Domain: https://markemacht.de (ohne www)
|
||||||
|
|
||||||
|
# ── Rewrite-Engine ────────────────────────────────────────────────────────────
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteBase /
|
||||||
|
|
||||||
|
# HTTPS erzwingen und www → non-www (301 Permanent)
|
||||||
|
RewriteCond %{HTTPS} off [OR]
|
||||||
|
RewriteCond %{HTTP_HOST} ^www\.markemacht\.de$ [NC]
|
||||||
|
RewriteRule ^ https://markemacht.de%{REQUEST_URI} [R=301,L]
|
||||||
|
|
||||||
|
# Alte Denken-Artikel → Übersicht
|
||||||
|
RewriteRule ^denken-agilitaet\.html$ /denken.html [R=301,L]
|
||||||
|
RewriteRule ^denken-fuehrung-durch-reduktion\.html$ /denken.html [R=301,L]
|
||||||
|
RewriteRule ^denken-architektursanierung\.html$ /denken.html [R=301,L]
|
||||||
|
|
||||||
|
# Build-Skript und interne Dateien nicht öffentlich
|
||||||
|
RewriteRule ^scripts/ - [F,L]
|
||||||
|
RewriteRule ^assets/components/ - [F,L]
|
||||||
|
RewriteRule ^assets/version\.txt$ - [F,L]
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# ── Fehlerseiten ──────────────────────────────────────────────────────────────
|
||||||
|
ErrorDocument 404 /404.html
|
||||||
|
|
||||||
|
# ── Verzeichnislisting deaktivieren ───────────────────────────────────────────
|
||||||
|
Options -Indexes -MultiViews
|
||||||
|
|
||||||
|
# ── Standard-Dokument ─────────────────────────────────────────────────────────
|
||||||
|
DirectoryIndex index.html
|
||||||
|
|
||||||
|
# ── Zeichensatz ───────────────────────────────────────────────────────────────
|
||||||
|
AddDefaultCharset UTF-8
|
||||||
|
|
||||||
|
# ── MIME-Typen ────────────────────────────────────────────────────────────────
|
||||||
|
<IfModule mod_mime.c>
|
||||||
|
AddType image/webp .webp
|
||||||
|
AddType image/svg+xml .svg
|
||||||
|
AddType font/woff2 .woff2
|
||||||
|
AddType font/woff .woff
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# ── Kompression ───────────────────────────────────────────────────────────────
|
||||||
|
<IfModule mod_deflate.c>
|
||||||
|
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml
|
||||||
|
AddOutputFilterByType DEFLATE application/javascript application/json application/xml
|
||||||
|
AddOutputFilterByType DEFLATE image/svg+xml font/woff2 font/woff
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_brotli.c>
|
||||||
|
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/css text/xml
|
||||||
|
AddOutputFilterByType BROTLI_COMPRESS application/javascript application/json application/xml
|
||||||
|
AddOutputFilterByType BROTLI_COMPRESS image/svg+xml font/woff2 font/woff
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# ── Cache-Steuerung ───────────────────────────────────────────────────────────
|
||||||
|
<IfModule mod_expires.c>
|
||||||
|
ExpiresActive On
|
||||||
|
ExpiresDefault "access plus 0 seconds"
|
||||||
|
|
||||||
|
# HTML-Seiten: immer frisch validieren
|
||||||
|
ExpiresByType text/html "access plus 0 seconds"
|
||||||
|
|
||||||
|
# Statische Assets: 7 Tage (Cache-Busting via ?v= in CSS/JS)
|
||||||
|
ExpiresByType text/css "access plus 7 days"
|
||||||
|
ExpiresByType application/javascript "access plus 7 days"
|
||||||
|
ExpiresByType image/svg+xml "access plus 7 days"
|
||||||
|
ExpiresByType image/webp "access plus 7 days"
|
||||||
|
ExpiresByType image/jpeg "access plus 7 days"
|
||||||
|
ExpiresByType image/png "access plus 7 days"
|
||||||
|
ExpiresByType font/woff2 "access plus 7 days"
|
||||||
|
ExpiresByType font/woff "access plus 7 days"
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
# Statische Assets unter /assets/
|
||||||
|
SetEnvIf Request_URI "^/assets/" ASSET_PATH=1
|
||||||
|
Header set Cache-Control "public, max-age=604800, immutable" env=ASSET_PATH
|
||||||
|
|
||||||
|
# HTML: Revalidierung erlauben
|
||||||
|
<FilesMatch "\.(html)$">
|
||||||
|
Header set Cache-Control "no-cache, must-revalidate"
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
# Sicherheits-Header
|
||||||
|
Header always set X-Content-Type-Options "nosniff"
|
||||||
|
Header always set X-Frame-Options "SAMEORIGIN"
|
||||||
|
Header always set Referrer-Policy "strict-origin-when-cross-origin"
|
||||||
|
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
|
||||||
|
Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://sys.adametz.media; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self' https://sys.adametz.media; frame-ancestors 'self'; base-uri 'self'; form-action 'self' mailto:"
|
||||||
|
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" env=HTTPS
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# ── Zugriffsschutz (interne / sensible Dateien) ──────────────────────────────
|
||||||
|
<FilesMatch "(^\.|\.md$|composer\.(json|lock)$)">
|
||||||
|
Require all denied
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
<FilesMatch "(^|/)version\.txt$">
|
||||||
|
Require all denied
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteRule ^vendor/ - [F,L]
|
||||||
|
RewriteRule ^docker/ - [F,L]
|
||||||
|
</IfModule>
|
||||||
276
_markemacht.de/404.html
Normal file
|
|
@ -0,0 +1,276 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="de" data-theme="monolith">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
||||||
|
<title>Seite nicht gefunden · MARKE MACHT</title>
|
||||||
|
<meta name="description" content="Die angeforderte Seite wurde nicht gefunden." />
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:site_name" content="MARKE MACHT" />
|
||||||
|
<meta property="og:title" content="Seite nicht gefunden · MARKE MACHT" />
|
||||||
|
<meta property="og:description" content="Die angeforderte Seite wurde nicht gefunden." />
|
||||||
|
<meta property="og:url" content="https://markemacht.de/404.html" />
|
||||||
|
<link rel="canonical" href="https://markemacht.de/" />
|
||||||
|
<meta property="og:locale" content="de_DE" />
|
||||||
|
<meta property="og:image" content="https://markemacht.de/assets/img/og-share.webp" />
|
||||||
|
<meta property="og:image:width" content="1200" />
|
||||||
|
<meta property="og:image:height" content="630" />
|
||||||
|
<meta property="og:image:alt" content="MARKE MACHT — Denkraum für Unternehmer" />
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:image" content="https://markemacht.de/assets/img/og-share.webp" />
|
||||||
|
<meta name="theme-color" content="#0A0A0A" media="(prefers-color-scheme: dark)" />
|
||||||
|
<meta name="theme-color" content="#FBFAF2" media="(prefers-color-scheme: light)" />
|
||||||
|
|
||||||
|
<link rel="icon" type="image/svg+xml" href="./assets/favicon.svg" />
|
||||||
|
<link rel="preconnect" href="https://sys.adametz.media" crossorigin />
|
||||||
|
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
if ('scrollRestoration' in history) history.scrollRestoration = 'manual';
|
||||||
|
if (!location.hash) window.scrollTo(0, 0);
|
||||||
|
|
||||||
|
var key = 'mm-wirkung';
|
||||||
|
var valid = ['monolith', 'editorial'];
|
||||||
|
var v = null;
|
||||||
|
try { v = localStorage.getItem(key); } catch (_) {}
|
||||||
|
if (valid.indexOf(v) === -1) v = 'monolith';
|
||||||
|
document.documentElement.setAttribute('data-theme', v);
|
||||||
|
|
||||||
|
var fontBase = './assets/fonts/';
|
||||||
|
var displayFont = v === 'editorial'
|
||||||
|
? fontBase + 'plus-jakarta-sans/plus-jakarta-sans-v12-latin-600.woff2'
|
||||||
|
: fontBase + 'outfit/outfit-v15-latin-700.woff2';
|
||||||
|
[fontBase + 'space-grotesk/space-grotesk-v22-latin-regular.woff2', displayFont].forEach(function (href) {
|
||||||
|
var link = document.createElement('link');
|
||||||
|
link.rel = 'preload';
|
||||||
|
link.as = 'font';
|
||||||
|
link.type = 'font/woff2';
|
||||||
|
link.crossOrigin = 'anonymous';
|
||||||
|
link.href = href;
|
||||||
|
document.head.appendChild(link);
|
||||||
|
});
|
||||||
|
|
||||||
|
['./assets/fonts/fonts-shared.css', './assets/fonts/fonts-' + v + '.css'].forEach(function (href) {
|
||||||
|
var link = document.createElement('link');
|
||||||
|
link.rel = 'stylesheet';
|
||||||
|
link.href = href;
|
||||||
|
document.head.appendChild(link);
|
||||||
|
});
|
||||||
|
|
||||||
|
var heroes = {
|
||||||
|
'index.html': { monolith: 'start-monolith.webp', editorial: 'start-editorial.webp' },
|
||||||
|
'manifest.html': { monolith: 'manifest-monolith.webp', editorial: 'manifest-editorial.webp' },
|
||||||
|
'methode.html': { monolith: 'methode-monolith.webp', editorial: 'methode-editorial.webp' },
|
||||||
|
'denken.html': { monolith: 'denken-monolith.webp', editorial: 'denken-editorial.webp' }
|
||||||
|
};
|
||||||
|
var page = location.pathname.split('/').pop() || 'index.html';
|
||||||
|
var pair = heroes[page];
|
||||||
|
if (pair) {
|
||||||
|
var img = pair[v] || pair.monolith;
|
||||||
|
var preload = document.createElement('link');
|
||||||
|
preload.rel = 'preload';
|
||||||
|
preload.as = 'image';
|
||||||
|
preload.href = './assets/img/' + img;
|
||||||
|
preload.type = 'image/webp';
|
||||||
|
if ('fetchPriority' in preload) preload.fetchPriority = 'high';
|
||||||
|
document.head.appendChild(preload);
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="./assets/css/app.css?v=20250610" />
|
||||||
|
<script defer src="https://sys.adametz.media/config.js" data-website-id="40125fcf-49c4-43f3-a9a5-9eec5eb55696"></script>
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "WebSite",
|
||||||
|
"name": "MARKE MACHT",
|
||||||
|
"url": "https://markemacht.de/",
|
||||||
|
"description": "Denkraum für Unternehmer im Mittelstand. Marke ist die Fähigkeit eines Unternehmens, sich selbst eindeutig zu erklären.",
|
||||||
|
"inLanguage": "de-DE"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a class="visually-hidden" href="#main">Zum Inhalt springen</a>
|
||||||
|
|
||||||
|
<nav class="nav" aria-label="Hauptnavigation" data-site-nav>
|
||||||
|
<div class="nav-inner">
|
||||||
|
<a class="nav-brand" href="./index.html">MARKE MACHT</a>
|
||||||
|
|
||||||
|
<div class="nav-links">
|
||||||
|
<a class="nav-link" href="./index.html" data-nav-page="start">Start</a>
|
||||||
|
<a class="nav-link" href="./manifest.html" data-nav-page="manifest">Manifest</a>
|
||||||
|
<a class="nav-link" href="./methode.html" data-nav-page="methode">Methode</a>
|
||||||
|
<a class="nav-link" href="./denken.html" data-nav-page="denken">Denken</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="wirkung-switch" role="group" aria-label="Wirkung wechseln">
|
||||||
|
<span class="wirkung-label">Wirkung:</span>
|
||||||
|
<button type="button" class="wirkung-option" data-wirkung="monolith" aria-pressed="false">monolithisch</button>
|
||||||
|
<span class="wirkung-sep" aria-hidden="true">·</span>
|
||||||
|
<button type="button" class="wirkung-option" data-wirkung="editorial" aria-pressed="false">editorial</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a class="nav-cta" href="./audit.html">Audit anfragen</a>
|
||||||
|
|
||||||
|
<button class="menu-btn" data-drawer-open aria-label="Menü öffnen" aria-controls="mobile-drawer" aria-expanded="false">
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#menu"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<aside id="mobile-drawer" class="mobile-drawer" data-mobile-drawer aria-hidden="true" aria-label="Mobile Navigation">
|
||||||
|
<div class="mobile-drawer-head">
|
||||||
|
<span class="nav-brand">MARKE MACHT</span>
|
||||||
|
<button class="menu-btn" data-drawer-close aria-label="Menü schließen">
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#close"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<nav class="mobile-drawer-links" aria-label="Mobile Hauptnavigation">
|
||||||
|
<a class="mobile-drawer-link" href="./index.html" data-nav-page="start">Start</a>
|
||||||
|
<a class="mobile-drawer-link" href="./manifest.html" data-nav-page="manifest">Manifest</a>
|
||||||
|
<a class="mobile-drawer-link" href="./methode.html" data-nav-page="methode">Methode</a>
|
||||||
|
<a class="mobile-drawer-link" href="./denken.html" data-nav-page="denken">Denken</a>
|
||||||
|
</nav>
|
||||||
|
<div class="mobile-drawer-footer">
|
||||||
|
<div class="wirkung-switch" role="group" aria-label="Wirkung wechseln">
|
||||||
|
<span class="wirkung-label">Wirkung:</span>
|
||||||
|
<button type="button" class="wirkung-option" data-wirkung="monolith" aria-pressed="false">monolithisch</button>
|
||||||
|
<span class="wirkung-sep" aria-hidden="true">·</span>
|
||||||
|
<button type="button" class="wirkung-option" data-wirkung="editorial" aria-pressed="false">editorial</button>
|
||||||
|
</div>
|
||||||
|
<a class="nav-cta mobile-drawer-cta" href="./audit.html">Audit anfragen</a>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
<main id="main">
|
||||||
|
<section class="section">
|
||||||
|
<div class="shell grid-12">
|
||||||
|
<div class="col-12 stack-32" style="padding-block: clamp(64px, 12vw, 128px);">
|
||||||
|
<span class="meta accent">404</span>
|
||||||
|
<h1 class="section-headline" style="max-width: 16ch;">Diese Seite existiert nicht.</h1>
|
||||||
|
<p class="body-text dim max-prose">
|
||||||
|
Der Link ist veraltet oder die Adresse wurde falsch eingegeben. Vielleicht finden Sie hier, was Sie suchen:
|
||||||
|
</p>
|
||||||
|
<div class="btn-row">
|
||||||
|
<a class="btn" href="./index.html">
|
||||||
|
Zur Startseite
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#arrow-forward"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="btn btn-ghost" href="./denken.html">
|
||||||
|
Zum Denkraum
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#arrow-forward"></use></svg>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="site-footer">
|
||||||
|
<div class="footer-inner">
|
||||||
|
<div class="footer-meta">
|
||||||
|
<p class="footer-copy">© MARKE MACHT · Denkraum für Unternehmer</p>
|
||||||
|
<p class="footer-note">Keine Cookies</p>
|
||||||
|
</div>
|
||||||
|
<div class="footer-links">
|
||||||
|
<a class="footer-link" href="./impressum.html">Impressum</a>
|
||||||
|
<a class="footer-link" href="./datenschutz.html">Datenschutz</a>
|
||||||
|
<button class="footer-link" type="button" data-audit-modal-open>Anfrage</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<div class="modal-backdrop" data-audit-modal aria-hidden="true">
|
||||||
|
<div class="modal-dialog" role="dialog" aria-modal="true" aria-labelledby="audit-modal-title" aria-describedby="audit-modal-desc">
|
||||||
|
<button class="modal-close" type="button" data-audit-modal-close aria-label="Anfragefenster schließen">
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#close"></use></svg>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="stack-32">
|
||||||
|
<div class="stack-16">
|
||||||
|
<span class="meta accent">Anfrage</span>
|
||||||
|
<h2 class="section-headline" id="audit-modal-title" style="max-width: 16ch;">Kurzer Erstkontakt.</h2>
|
||||||
|
<p class="body-text max-prose" id="audit-modal-desc">
|
||||||
|
Wählen Sie den direkten E-Mail-Weg oder senden Sie eine knappe Anfrage über das Formular.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card stack-16">
|
||||||
|
<span class="meta">Direkt per E-Mail</span>
|
||||||
|
<p class="body-text">
|
||||||
|
Öffnet Ihr E-Mail-Programm mit vorausgefülltem Betreff.
|
||||||
|
</p>
|
||||||
|
<div>
|
||||||
|
<a class="btn btn-nav-cta" href="mailto:info@markemacht.de?subject=Anfrage%20Marken-Klarheits-Audit">
|
||||||
|
E-Mail öffnen
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#arrow-forward"></use></svg>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div data-audit-form-panel>
|
||||||
|
<form class="modal-form stack-16" data-audit-form novalidate>
|
||||||
|
<div class="form-field">
|
||||||
|
<label class="meta" for="audit-name">Name</label>
|
||||||
|
<input id="audit-name" name="name" type="text" autocomplete="name" required />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-field">
|
||||||
|
<label class="meta" for="audit-email">E-Mail</label>
|
||||||
|
<input id="audit-email" name="email" type="email" autocomplete="email" required />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-field">
|
||||||
|
<label class="meta" for="audit-message">Worum geht es?</label>
|
||||||
|
<textarea id="audit-message" name="message" rows="5" required></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-honeypot" aria-hidden="true">
|
||||||
|
<label for="audit-company">Firma</label>
|
||||||
|
<input id="audit-company" name="company" type="text" tabindex="-1" autocomplete="off" />
|
||||||
|
<label for="audit-url">Website</label>
|
||||||
|
<input id="audit-url" name="url" type="url" tabindex="-1" autocomplete="off" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<label class="form-check">
|
||||||
|
<input name="privacy" type="checkbox" required />
|
||||||
|
<span class="form-switch" aria-hidden="true"></span>
|
||||||
|
<span>Ich akzeptiere die <a href="./datenschutz.html">Datenschutzerklärung</a>.</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<p class="form-status body-text" data-audit-form-status aria-live="polite"></p>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button class="btn btn-nav-cta" type="submit">
|
||||||
|
Absenden
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#arrow-forward"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-success" data-audit-form-success hidden>
|
||||||
|
<div class="form-success-icon" aria-hidden="true">
|
||||||
|
<svg class="icon icon--lg" aria-hidden="true"><use href="./assets/icons.svg#check-circle"></use></svg>
|
||||||
|
</div>
|
||||||
|
<div class="stack-16">
|
||||||
|
<h3 class="sub-headline">Vielen Dank für Ihre Anfrage.</h3>
|
||||||
|
<p class="body-text">Wir werden uns in Kürze bei Ihnen melden.</p>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-ghost" type="button" data-audit-modal-close>
|
||||||
|
Schließen
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="./assets/js/app.js?v=20250610" defer></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
233
_markemacht.de/DEPLOYMENT.md
Normal file
|
|
@ -0,0 +1,233 @@
|
||||||
|
# Live-Deployment — markemacht.de
|
||||||
|
|
||||||
|
Kurzanleitung für den Upload auf den Produktionsserver (Apache + `.htaccess`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Server-Anforderungen
|
||||||
|
|
||||||
|
| Komponente | Erforderlich |
|
||||||
|
|------------|--------------|
|
||||||
|
| **Webserver** | Apache mit `mod_rewrite`, `mod_headers`, `mod_expires`, `mod_deflate` |
|
||||||
|
| **PHP** | 8.1+ (nur für Kontaktformular unter `assets/php/`) |
|
||||||
|
| **HTTPS** | Pflicht — wird per `.htaccess` erzwungen |
|
||||||
|
| **Optional** | `mod_brotli` (zusätzliche Kompression) |
|
||||||
|
|
||||||
|
Domain: **https://markemacht.de** (ohne `www`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Deploy-Ablauf (Checkliste)
|
||||||
|
|
||||||
|
### 1. Vor dem Upload (lokal)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd _markemacht.de
|
||||||
|
|
||||||
|
# Bei CSS/JS-Änderungen: Version erhöhen
|
||||||
|
# → assets/version.txt (z. B. 20250610)
|
||||||
|
|
||||||
|
# Head, Header, Footer in alle HTML-Seiten einspielen
|
||||||
|
python3 scripts/build-site.py
|
||||||
|
|
||||||
|
# PHP-Abhängigkeiten (nur wenn Formular genutzt wird)
|
||||||
|
php composer install --no-dev --optimize-autoloader
|
||||||
|
|
||||||
|
/usr/bin/php84 /usr/bin/composer
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Auf den Server hochladen
|
||||||
|
|
||||||
|
Document Root = Inhalt von `_markemacht.de/` (alle Dateien im Root der Domain).
|
||||||
|
|
||||||
|
### 3. Nach dem Upload (einmalig / bei Formular)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Auf dem Server, im Ordner assets/php/:
|
||||||
|
cp config.example.php config.php
|
||||||
|
# → SMTP-Zugangsdaten eintragen (nicht ins Git committen)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Kurz testen
|
||||||
|
|
||||||
|
- [ ] https://markemacht.de/ lädt korrekt
|
||||||
|
- [ ] Wirkungs-Umschalter (monolithisch / editorial) funktioniert
|
||||||
|
- [ ] Anfrage-Modal öffnet sich, Formular sendet (oder Fehlermeldung bei fehlender SMTP-Config)
|
||||||
|
- [ ] https://markemacht.de/robots.txt erreichbar
|
||||||
|
- [ ] https://markemacht.de/sitemap.xml erreichbar
|
||||||
|
- [ ] Ungültige URL zeigt `404.html`
|
||||||
|
- [ ] Alte URLs leiten um: `/denken-agilitaet.html` → `/denken.html`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Was hochladen — was nicht
|
||||||
|
|
||||||
|
### Mit hochladen
|
||||||
|
|
||||||
|
- Alle `*.html` im Root (inkl. `404.html`)
|
||||||
|
- `.htaccess`
|
||||||
|
- `robots.txt`, `sitemap.xml`
|
||||||
|
- `assets/` (css, js, fonts, img, icons.svg, components, php)
|
||||||
|
- `vendor/` — **nur wenn** das Kontaktformular aktiv ist
|
||||||
|
|
||||||
|
### Nicht öffentlich / nicht nötig auf Static-Only-Hosting
|
||||||
|
|
||||||
|
| Pfad | Grund |
|
||||||
|
|------|--------|
|
||||||
|
| `scripts/` | Build-Skript — wird per `.htaccess` blockiert |
|
||||||
|
| `docker/` | Nur für lokale Entwicklung |
|
||||||
|
| `vendor/` | Nur für PHP-Formular nötig |
|
||||||
|
| `assets/php/config.php` | Enthält SMTP-Passwort — nur auf Server anlegen |
|
||||||
|
| `*.md` (außer intern) | Werden per `.htaccess` blockiert |
|
||||||
|
| `composer.json` / `composer.lock` | Werden blockiert |
|
||||||
|
|
||||||
|
Die **vollständigen Font-Archive** unter `assets/fonts/*/` können auf dem Server liegen bleiben (Reserve). Beim Seitenaufruf werden nur die reduzierten Theme-Bundles geladen (`fonts-monolith.css` / `fonts-editorial.css` + `fonts-shared.css`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Build-System & Komponenten
|
||||||
|
|
||||||
|
Die Seite nutzt **kein** Build-Tool wie Webpack. Stattdessen:
|
||||||
|
|
||||||
|
### Quell-Dateien (hier bearbeiten)
|
||||||
|
|
||||||
|
| Datei | Inhalt |
|
||||||
|
|-------|--------|
|
||||||
|
| `assets/components/head-common.html` | OG-Tags, Favicon, Theme-Init, CSS, Analytics, JSON-LD |
|
||||||
|
| `assets/components/header.html` | Navigation, Mobile Drawer |
|
||||||
|
| `assets/components/footer.html` | Footer + Anfrage-Modal |
|
||||||
|
|
||||||
|
### Build ausführen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 scripts/build-site.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Das Skript:
|
||||||
|
|
||||||
|
1. Spiegelt `head-common.html` in alle HTML-Seiten (ab `og:locale`)
|
||||||
|
2. Bettet Header und Footer direkt in jede Seite ein (kein JS-Fetch mehr)
|
||||||
|
3. Setzt Cache-Busting an `app.js?v=…` aus `assets/version.txt`
|
||||||
|
4. Ergänzt auf `index.html` das LCP-Preload für das Hero-Bild
|
||||||
|
|
||||||
|
**Wichtig:** Nach Änderungen an den drei Komponenten immer Build ausführen, sonst sind die Live-HTML-Dateien veraltet.
|
||||||
|
|
||||||
|
### Cache-Busting
|
||||||
|
|
||||||
|
- Version steht in `assets/version.txt` (z. B. `20250609`)
|
||||||
|
- `head-common.html` nutzt Platzhalter `{{VERSION}}` für `app.css?v={{VERSION}}`
|
||||||
|
- Bei jedem Deploy mit CSS/Änderungen: **Version erhöhen** → Build → Upload
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Apache (`.htaccess`)
|
||||||
|
|
||||||
|
Die Live-Konfiguration liegt in `.htaccess` im Root. Wichtigste Regeln:
|
||||||
|
|
||||||
|
- **HTTPS + non-www** — Redirect auf `https://markemacht.de`
|
||||||
|
- **301-Redirects** — alte Denken-Artikel → `denken.html`
|
||||||
|
- **404** — `ErrorDocument 404 /404.html`
|
||||||
|
- **Gzip + optional Brotli**
|
||||||
|
- **Cache** — HTML: `no-cache`; Assets unter `/assets/`: 7 Tage `immutable`
|
||||||
|
- **Security-Header** — CSP, `X-Frame-Options`, `Referrer-Policy` u. a.
|
||||||
|
- **CSP** erlaubt Analytics von `https://sys.adametz.media`
|
||||||
|
|
||||||
|
Geschützte Pfade: `/scripts/`, `/vendor/`, `/docker/`, `/assets/version.txt`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Kontaktformular (PHP)
|
||||||
|
|
||||||
|
Endpoint: `assets/php/send-anfrage.php`
|
||||||
|
Konfiguration: `assets/php/config.php` (aus `config.example.php` kopieren)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
composer install --no-dev
|
||||||
|
cp assets/php/config.example.php assets/php/config.php
|
||||||
|
# config.php mit SMTP-Daten füllen
|
||||||
|
```
|
||||||
|
|
||||||
|
`config.php` ist per `.htaccess` in `assets/php/` vor direktem Download geschützt.
|
||||||
|
|
||||||
|
Das Modal liegt im Footer (`assets/components/footer.html`) — nach Änderungen Build ausführen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Schriften & Icons
|
||||||
|
|
||||||
|
- **Keine Google Fonts** — alles lokal unter `assets/fonts/`
|
||||||
|
- **Theme-Fonts** — Inline-Script in `head-common.html` setzt Theme, lädt Fonts und LCP-Preload; beim Wechsel lädt `app.js` das andere Bundle nach
|
||||||
|
- **Icons** — SVG-Sprite `assets/icons.svg` (kein Icon-Font mehr)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Analytics
|
||||||
|
|
||||||
|
Umami (selbst gehostet), eingebunden in `head-common.html`:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script defer src="https://sys.adametz.media/config.js" data-website-id="40125fcf-49c4-43f3-a9a5-9eec5eb55696"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
Keine Cookies. In der Datenschutzerklärung bereits beschrieben.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SEO-Dateien
|
||||||
|
|
||||||
|
| Datei | URL |
|
||||||
|
|-------|-----|
|
||||||
|
| `robots.txt` | https://markemacht.de/robots.txt |
|
||||||
|
| `sitemap.xml` | https://markemacht.de/sitemap.xml |
|
||||||
|
| OG-Share-Bild | `assets/img/og-share.webp` (1200×630) |
|
||||||
|
|
||||||
|
Bei neuen indexierbaren Seiten: `sitemap.xml` manuell ergänzen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bilder
|
||||||
|
|
||||||
|
- Hero- und Split-Bilder als **WebP** unter `assets/img/`
|
||||||
|
- Benennung: `{seite}-monolith.webp` / `{seite}-editorial.webp`
|
||||||
|
- Lazy Load über `app.js` (Intersection Observer)
|
||||||
|
|
||||||
|
Neue Bildpaare: in `assets/css/app.css` unter `.hero--*` bzw. `.split-visual .monolith` eintragen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Datenschutz & Cookies
|
||||||
|
|
||||||
|
- **Keine Cookies**
|
||||||
|
- Wirkungs-Modus wird in **`localStorage`** gespeichert (`mm-wirkung`) — in Datenschutzerklärung dokumentiert
|
||||||
|
- Beim Moduswechsel wird ein eventuelles Legacy-Cookie einmalig gelöscht (`app.js`)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Typische Probleme
|
||||||
|
|
||||||
|
| Symptom | Lösung |
|
||||||
|
|---------|--------|
|
||||||
|
| Altes CSS/JS nach Deploy | `assets/version.txt` erhöhen, `build-site.py` ausführen, neu hochladen |
|
||||||
|
| Header/Footer veraltet | Komponente bearbeitet, aber Build vergessen |
|
||||||
|
| Formular sendet nicht | `config.php` auf Server prüfen, `vendor/` vorhanden, PHP-Fehlerlog |
|
||||||
|
| 500 nach Upload | `.htaccess`-Module prüfen (`mod_rewrite`, `mod_headers`); PHP-Version |
|
||||||
|
| CSP blockiert Script | Nur `self`, inline und `sys.adametz.media` erlaubt — keine fremden Scripts ohne CSP-Anpassung |
|
||||||
|
| Fonts laden nicht | `assets/fonts/fonts-*.css` und zugehörige `.woff2` mit hochladen |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Schnellreferenz — Änderungstyp → Schritte
|
||||||
|
|
||||||
|
| Änderung an … | Schritte |
|
||||||
|
|---------------|----------|
|
||||||
|
| `app.css` | Version ↑ → optional Build → Upload `app.css` + HTML (wegen `?v=`) |
|
||||||
|
| `app.js` | Version ↑ → Build → Upload |
|
||||||
|
| `head-common.html` | Bearbeiten → **Build** → alle HTML hochladen |
|
||||||
|
| `header.html` / `footer.html` | Bearbeiten → **Build** → alle HTML hochladen |
|
||||||
|
| Einzelne Inhaltsseite `*.html` | Direkt bearbeiten → hochladen (Head/Footer nur via Build sync) |
|
||||||
|
| Neues Hero-Bild | WebP ablegen → CSS anpassen → Upload |
|
||||||
|
| SMTP / Formular | Nur `config.php` auf Server |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Stand: Juni 2025 — Projekt `_markemacht.de`*
|
||||||
|
|
@ -2,12 +2,97 @@
|
||||||
<div class="footer-inner">
|
<div class="footer-inner">
|
||||||
<div class="footer-meta">
|
<div class="footer-meta">
|
||||||
<p class="footer-copy">© MARKE MACHT · Denkraum für Unternehmer</p>
|
<p class="footer-copy">© MARKE MACHT · Denkraum für Unternehmer</p>
|
||||||
<p class="footer-note">Keine Cookies, kein Tracking.</p>
|
<p class="footer-note">Keine Cookies</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer-links">
|
<div class="footer-links">
|
||||||
<a class="footer-link" href="#">Impressum</a>
|
<a class="footer-link" href="./impressum.html">Impressum</a>
|
||||||
<a class="footer-link" href="#">Datenschutz</a>
|
<a class="footer-link" href="./datenschutz.html">Datenschutz</a>
|
||||||
<a class="footer-link" href="#">Kontakt</a>
|
<button class="footer-link" type="button" data-audit-modal-open>Anfrage</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
<div class="modal-backdrop" data-audit-modal aria-hidden="true">
|
||||||
|
<div class="modal-dialog" role="dialog" aria-modal="true" aria-labelledby="audit-modal-title" aria-describedby="audit-modal-desc">
|
||||||
|
<button class="modal-close" type="button" data-audit-modal-close aria-label="Anfragefenster schließen">
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#close"></use></svg>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="stack-32">
|
||||||
|
<div class="stack-16">
|
||||||
|
<span class="meta accent">Anfrage</span>
|
||||||
|
<h2 class="section-headline" id="audit-modal-title" style="max-width: 16ch;">Kurzer Erstkontakt.</h2>
|
||||||
|
<p class="body-text max-prose" id="audit-modal-desc">
|
||||||
|
Wählen Sie den direkten E-Mail-Weg oder senden Sie eine knappe Anfrage über das Formular.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card stack-16">
|
||||||
|
<span class="meta">Direkt per E-Mail</span>
|
||||||
|
<p class="body-text">
|
||||||
|
Öffnet Ihr E-Mail-Programm mit vorausgefülltem Betreff.
|
||||||
|
</p>
|
||||||
|
<div>
|
||||||
|
<a class="btn btn-nav-cta" href="mailto:info@markemacht.de?subject=Anfrage%20Marken-Klarheits-Audit">
|
||||||
|
E-Mail öffnen
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#arrow-forward"></use></svg>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div data-audit-form-panel>
|
||||||
|
<form class="modal-form stack-16" data-audit-form novalidate>
|
||||||
|
<div class="form-field">
|
||||||
|
<label class="meta" for="audit-name">Name</label>
|
||||||
|
<input id="audit-name" name="name" type="text" autocomplete="name" required />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-field">
|
||||||
|
<label class="meta" for="audit-email">E-Mail</label>
|
||||||
|
<input id="audit-email" name="email" type="email" autocomplete="email" required />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-field">
|
||||||
|
<label class="meta" for="audit-message">Worum geht es?</label>
|
||||||
|
<textarea id="audit-message" name="message" rows="5" required></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-honeypot" aria-hidden="true">
|
||||||
|
<label for="audit-company">Firma</label>
|
||||||
|
<input id="audit-company" name="company" type="text" tabindex="-1" autocomplete="off" />
|
||||||
|
<label for="audit-url">Website</label>
|
||||||
|
<input id="audit-url" name="url" type="url" tabindex="-1" autocomplete="off" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<label class="form-check">
|
||||||
|
<input name="privacy" type="checkbox" required />
|
||||||
|
<span class="form-switch" aria-hidden="true"></span>
|
||||||
|
<span>Ich akzeptiere die <a href="./datenschutz.html">Datenschutzerklärung</a>.</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<p class="form-status body-text" data-audit-form-status aria-live="polite"></p>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button class="btn btn-nav-cta" type="submit">
|
||||||
|
Absenden
|
||||||
|
<svg class="icon" aria-hidden="true"><use href="./assets/icons.svg#arrow-forward"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-success" data-audit-form-success hidden>
|
||||||
|
<div class="form-success-icon" aria-hidden="true">
|
||||||
|
<svg class="icon icon--lg" aria-hidden="true"><use href="./assets/icons.svg#check-circle"></use></svg>
|
||||||
|
</div>
|
||||||
|
<div class="stack-16">
|
||||||
|
<h3 class="sub-headline">Vielen Dank für Ihre Anfrage.</h3>
|
||||||
|
<p class="body-text">Wir werden uns in Kürze bei Ihnen melden.</p>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-ghost" type="button" data-audit-modal-close>
|
||||||
|
Schließen
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
|
||||||
81
_markemacht.de/assets/components/head-common.html
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
<meta property="og:locale" content="de_DE" />
|
||||||
|
<meta property="og:image" content="https://markemacht.de/assets/img/og-share.webp" />
|
||||||
|
<meta property="og:image:width" content="1200" />
|
||||||
|
<meta property="og:image:height" content="630" />
|
||||||
|
<meta property="og:image:alt" content="MARKE MACHT — Denkraum für Unternehmer" />
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:image" content="https://markemacht.de/assets/img/og-share.webp" />
|
||||||
|
<meta name="theme-color" content="#0A0A0A" media="(prefers-color-scheme: dark)" />
|
||||||
|
<meta name="theme-color" content="#FBFAF2" media="(prefers-color-scheme: light)" />
|
||||||
|
|
||||||
|
<link rel="icon" type="image/svg+xml" href="./assets/favicon.svg" />
|
||||||
|
<link rel="preconnect" href="https://sys.adametz.media" crossorigin />
|
||||||
|
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
'use strict';
|
||||||
|
if ('scrollRestoration' in history) history.scrollRestoration = 'manual';
|
||||||
|
if (!location.hash) window.scrollTo(0, 0);
|
||||||
|
|
||||||
|
var key = 'mm-wirkung';
|
||||||
|
var valid = ['monolith', 'editorial'];
|
||||||
|
var v = null;
|
||||||
|
try { v = localStorage.getItem(key); } catch (_) {}
|
||||||
|
if (valid.indexOf(v) === -1) v = 'monolith';
|
||||||
|
document.documentElement.setAttribute('data-theme', v);
|
||||||
|
|
||||||
|
var fontBase = './assets/fonts/';
|
||||||
|
var displayFont = v === 'editorial'
|
||||||
|
? fontBase + 'plus-jakarta-sans/plus-jakarta-sans-v12-latin-600.woff2'
|
||||||
|
: fontBase + 'outfit/outfit-v15-latin-700.woff2';
|
||||||
|
[fontBase + 'space-grotesk/space-grotesk-v22-latin-regular.woff2', displayFont].forEach(function (href) {
|
||||||
|
var link = document.createElement('link');
|
||||||
|
link.rel = 'preload';
|
||||||
|
link.as = 'font';
|
||||||
|
link.type = 'font/woff2';
|
||||||
|
link.crossOrigin = 'anonymous';
|
||||||
|
link.href = href;
|
||||||
|
document.head.appendChild(link);
|
||||||
|
});
|
||||||
|
|
||||||
|
['./assets/fonts/fonts-shared.css', './assets/fonts/fonts-' + v + '.css'].forEach(function (href) {
|
||||||
|
var link = document.createElement('link');
|
||||||
|
link.rel = 'stylesheet';
|
||||||
|
link.href = href;
|
||||||
|
document.head.appendChild(link);
|
||||||
|
});
|
||||||
|
|
||||||
|
var heroes = {
|
||||||
|
'index.html': { monolith: 'start-monolith.webp', editorial: 'start-editorial.webp' },
|
||||||
|
'manifest.html': { monolith: 'manifest-monolith.webp', editorial: 'manifest-editorial.webp' },
|
||||||
|
'methode.html': { monolith: 'methode-monolith.webp', editorial: 'methode-editorial.webp' },
|
||||||
|
'denken.html': { monolith: 'denken-monolith.webp', editorial: 'denken-editorial.webp' }
|
||||||
|
};
|
||||||
|
var page = location.pathname.split('/').pop() || 'index.html';
|
||||||
|
var pair = heroes[page];
|
||||||
|
if (pair) {
|
||||||
|
var img = pair[v] || pair.monolith;
|
||||||
|
var preload = document.createElement('link');
|
||||||
|
preload.rel = 'preload';
|
||||||
|
preload.as = 'image';
|
||||||
|
preload.href = './assets/img/' + img;
|
||||||
|
preload.type = 'image/webp';
|
||||||
|
if ('fetchPriority' in preload) preload.fetchPriority = 'high';
|
||||||
|
document.head.appendChild(preload);
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="./assets/css/app.css?v={{VERSION}}" />
|
||||||
|
<script defer src="https://sys.adametz.media/config.js" data-website-id="40125fcf-49c4-43f3-a9a5-9eec5eb55696"></script>
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "WebSite",
|
||||||
|
"name": "MARKE MACHT",
|
||||||
|
"url": "https://markemacht.de/",
|
||||||
|
"description": "Denkraum für Unternehmer im Mittelstand. Marke ist die Fähigkeit eines Unternehmens, sich selbst eindeutig zu erklären.",
|
||||||
|
"inLanguage": "de-DE"
|
||||||
|
}
|
||||||
|
</script>
|
||||||