SEO Tweaks

This commit is contained in:
2026-05-12 00:45:02 +12:00
parent 955a563d14
commit ac6179e776
96 changed files with 1623 additions and 273 deletions
+45 -1
View File
@@ -6,6 +6,18 @@
import MobileBookBar from '$lib/components/MobileBookBar.svelte';
import RouteSkeleton from '$lib/components/RouteSkeleton.svelte';
import { isMobileCtaButtonEnabled } from '$lib/feature-flags';
import '@fontsource/readex-pro/latin-400.css';
import '@fontsource/readex-pro/latin-500.css';
import '@fontsource/readex-pro/latin-600.css';
import '@fontsource/readex-pro/latin-700.css';
import '@fontsource/unbounded/latin-400.css';
import '@fontsource/unbounded/latin-600.css';
import '@fontsource/unbounded/latin-700.css';
import '@fontsource/unbounded/latin-800.css';
import '@fontsource/fredoka/latin-600.css';
import '@fortawesome/fontawesome-free/css/fontawesome.min.css';
import '@fortawesome/fontawesome-free/css/solid.min.css';
import '@fortawesome/fontawesome-free/css/brands.min.css';
import '$lib/styles/variables.css';
import '$lib/styles/base.css';
import '$lib/styles/layout.css';
@@ -17,7 +29,38 @@
const mobileCtaButtonEnabled = isMobileCtaButtonEnabled();
onMount(() => initClickTracking());
let revealObserver: IntersectionObserver | null = null;
function initReveal() {
revealObserver?.disconnect();
const targets = document.querySelectorAll<HTMLElement>(
'.section-heading, .service-card, .testimonial-card, .value-card'
);
targets.forEach(el => {
el.setAttribute('data-reveal', '');
});
revealObserver = new IntersectionObserver(
(entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('is-visible');
revealObserver?.unobserve(entry.target);
}
});
},
{ rootMargin: '0px 0px -40px 0px', threshold: 0.08 }
);
targets.forEach(el => revealObserver!.observe(el));
}
onMount(() => {
initClickTracking();
requestAnimationFrame(initReveal);
});
function shouldShowSkeleton() {
const navigation = $navigating;
@@ -56,6 +99,7 @@
window.scrollTo({ top: 0, left: 0, behavior: 'auto' });
document.documentElement.scrollTop = 0;
document.body.scrollTop = 0;
initReveal();
});
});