feat: reposition desfoto as an independent brand with four Arbeitsbereiche

This commit is contained in:
desfoto automation
2026-09-19 19:14:42 +02:00
parent 96247da074
commit 68613788b8
86 changed files with 1287 additions and 756 deletions

View File

@@ -90,15 +90,21 @@ if [ "$live" = 1 ] && [ "$release_sha" != "unknown" ] && git -C "$root" rev-pars
fi
printf '\n== routes\n'
for route in / /shootings/ /businessfotografie/ /portrait-und-model/ /familien-und-paare/ \
/minishootings/ /video/ /social-media/ /projekte/ /ueber/ /kontakt/ /impressum/ /datenschutz/; do
for route in / /fotografie/ /businessfotografie/ /portrait-und-model/ /familie/ \
/minishootings/ /video/ /musik-und-buehne/ /social-media/ /projekte/ /ueber/ /kontakt/ /impressum/ /datenschutz/; do
check_status "$base$route" 200
done
# The retired photo URL must keep working: it is the umbrella page now.
check_redirect "$base/fotografie" "$base/shootings/"
check_redirect "$base/fotografie/" "$base/shootings/"
check_redirect "$base/fotografie.html" "$base/shootings/"
check_redirect "$base/shootings" "$base/fotografie/"
check_redirect "$base/shootings/" "$base/fotografie/"
check_redirect "$base/shootings.html" "$base/fotografie/"
check_redirect "$base/fotografie.html" "$base/fotografie/"
# Familien & Paare was renamed: the remaining family work stays with desfoto.
check_redirect "$base/familien-und-paare" "$base/familie/"
check_redirect "$base/familien-und-paare/" "$base/familie/"
check_redirect "$base/familien-und-paare.html" "$base/familie/"
printf '\n== canonical host and redirects\n'
if [ "$live" = 1 ]; then
@@ -117,13 +123,19 @@ esac
fi
printf '\n== content\n'
check_contains "$base/" 'href="/shootings/"'
check_contains "$base/" 'href="/fotografie/"'
check_contains "$base/" 'href="/musik-und-buehne/"'
check_contains "$base/" 'href="/video/"'
check_contains "$base/" "Mobiles Studio"
check_contains "$base/" "Studio Neumünster"
check_not_contains "$base/" 'href="/fotografie/'
check_contains "$base/shootings/" "Autarke Blitzanlage"
check_contains "$base/shootings/" "Minishootings"
check_contains "$base/" "desfoto ist ein Angebot von Denny Schulz, Neumünster."
check_not_contains "$base/" 'href="/shootings'
check_not_contains "$base/" "Paarshooting"
check_contains "$base/fotografie/" "Autarke Blitzanlage"
check_contains "$base/fotografie/" "Minishootings"
check_contains "$base/familie/" "Familienshooting"
check_contains "$base/musik-und-buehne/" "Thjódrörir"
check_contains "$base/musik-und-buehne/" "Sagenbringer"
check_contains "$base/impressum/" "§ 5 DDG"
check_contains "$base/impressum/" "DE462149560"
check_contains "$base/datenschutz/" "keine Zugriffsprotokolle"
@@ -131,8 +143,8 @@ check_contains "$base/datenschutz/" "youtube-nocookie.com"
check_contains "$base/video/" "NWWFTf7l8g0"
check_contains "$base/" "https://www.dennyschulz.de/"
check_contains "$base/" "https://dennyapp.de/"
check_contains "$base/sitemap.xml" "<loc>https://desfoto.de/shootings/</loc>"
check_not_contains "$base/sitemap.xml" "<loc>https://desfoto.de/fotografie/</loc>"
check_contains "$base/sitemap.xml" "<loc>https://desfoto.de/fotografie/</loc>"
check_not_contains "$base/sitemap.xml" "<loc>https://desfoto.de/shootings/</loc>"
printf '\n== error handling and metadata\n'
check_status "$base/diese-seite-gibt-es-nicht/" 404
@@ -143,20 +155,31 @@ check_status "$base/robots.txt" 200
printf '\n== assets\n'
check_status "$base/assets/img/logo-160.png" 200
check_status "$base/assets/img/favicon-32.png" 200
check_status "$base/assets/img/og-shootings.jpg" 200
check_status "$base/assets/img/og-fotografie.jpg" 200
check_status "$base/assets/site.css" 200
check_status "$base/assets/fonts/fraunces-latin.woff2" 200
# The portfolio expansion ships the operator's own public work...
check_status "$base/assets/img/music-dreadlocks-1200.webp" 200
check_status "$base/assets/img/business-hotel-window-1200.webp" 200
check_status "$base/assets/img/couple-park-1200.webp" 200
check_status "$base/assets/img/free-portrait-light-1200.webp" 200
check_status "$base/assets/img/editorial-leap-1200.webp" 200
# ...and the wedding pictures showing the guests stay removed.
check_status "$base/assets/img/group-feier-1200.webp" 404
check_status "$base/assets/img/group-outdoor-1200.webp" 404
check_status "$base/assets/img/group-posiert-1200.webp" 404
# Couple imagery and the studio shot with the old business card ship nowhere.
check_status "$base/assets/img/couple-park-1200.webp" 404
check_status "$base/assets/img/portrait-couple-1200.webp" 404
check_status "$base/assets/img/studio-setup-1200.webp" 404
# Brautpaar-Bilder sind komplett aus dem Bestand: Fotografie- und Eventbilder
# mit Paaren gehören zu dennyschulz.de, nicht zu desfoto.
check_status "$base/assets/img/portrait-natural-1200.webp" 404
check_status "$base/assets/img/event-motion-1200.webp" 404
check_status "$base/assets/img/event-dance-1200.webp" 404
check_contains "$base/minishootings/" "free-modern-portrait-1200.webp"
check_contains "$base/social-media/" "event-speaker-1200.webp"
check_contains "$base/projekte/" "music-dreadlocks-1200.webp"
check_contains "$base/familien-und-paare/" "couple-park-1200.webp"
check_contains "$base/familie/" "free-portrait-light-1200.webp"
printf '\n== privacy promises and headers\n'
check_header "$base/" "Strict-Transport-Security"