- Add "Explore our other services" block to service landing pages

with colour-tinted cards + Our Pricing entry (grey "All services" pill)
- Wrap homepage Instagram CTA in <aside aria-label="...">
- Always emit og:image:width/height with 1200x630 fallback when
  image metadata is unknown
- Add aria-current="page" to active desktop, mega-menu, and mobile
  nav links (exact-path match only — not "Services" parent)
- Richer testimonial alt text derived from dog name in the detail
  field (e.g. "Archie, a happy Goodwalk dog walking client...")
- Tier sitemap.xml priorities: home 1.0, services 0.9, pricing 0.8,
  about/contact 0.7, legal 0.3 (yearly changefreq)
- Bump to 4.1.0
This commit is contained in:
2026-05-05 08:12:36 +12:00
parent 04bca98ef8
commit 65bdc8dc20
10 changed files with 265 additions and 27 deletions
+13 -1
View File
@@ -59,6 +59,18 @@
activeIndex = 0;
}
function dogNameFromDetail(detail: string) {
const match = detail.match(/^([^']+)/);
return match ? match[1].trim() : '';
}
function testimonialAlt(testimonial: TestimonialSlide) {
const dog = dogNameFromDetail(testimonial.detail);
return dog
? `${dog}, a happy Goodwalk dog walking client in Auckland`
: `${testimonial.reviewer}'s dog after a Goodwalk Auckland dog walk`;
}
function showPrevious() {
if (!slides.length) {
return;
@@ -158,7 +170,7 @@
<img
class="testimonial-photo"
src={testimonial.imageUrl}
alt={`${testimonial.reviewer}'s dog`}
alt={testimonialAlt(testimonial)}
width={imageMeta?.width}
height={imageMeta?.height}
loading="lazy"