Clinical Assessment
Functional foundation.
Execution gaps on every front.
Brand Impact has the right infrastructure in place — Yoast SEO, WP Rocket, HTTPS, sitemaps, structured data. But the execution is incomplete across every category. The non-www domain returns a 403, the Organisation schema is missing address and contact data, two pages share an identical H1, and the site's AI search readiness is the lowest-scoring category at 45/100. These are not architectural problems — they are configuration problems. Most can be resolved within a week.
02
Immediate Actions
Three fixes. Highest return, lowest effort.
Priority Queue
In order of impact
i
Fix the non-www 403 with one Cloudflare redirect rule.
brandimpact.com.au returns HTTP 403 Forbidden instead of redirecting to www. Any user who types the domain without www hits a broken page. Any backlink pointing to the non-www version is dead. Add a Cloudflare redirect rule: non-www → https://www.brandimpact.com.au/ with HTTP 301. Five minutes, immediate recovery.
ii
Upgrade Organisation schema to LocalBusiness with full NAP data.
The current schema node is typed as Organisation with no address, phone, email, or opening hours — despite all of this being in the footer. Upgrading to LocalBusiness with complete NAP data unlocks local pack eligibility, Knowledge Panel completeness, and entity confidence for AI search. Populate via Yoast SEO → Search Appearance → Organisation. All data is already on the site — it just needs to be in schema.
iii
Expand all four meta descriptions and set a proper OG image.
Every audited page has a meta description under 144 characters — all fall short of the 150–165 character target where CTR peaks. The OG image is a 185×187px icon; link previews on LinkedIn and Facebook will be thumbnail-sized. Both fixes are Yoast settings — no code changes required. Add a specific CTA to each description and set the 1920×900 hero banner as the OG image.
04
On-page Detail
Meta description character audit
| Page |
Length |
Target |
Status |
Note |
| Homepage |
123 chars |
150–165 |
SHORT |
No CTA, no differentiator |
| About |
138 chars |
150–165 |
SHORT |
Closest to target |
| Contact |
144 chars |
150–165 |
SHORT |
Near threshold |
| Blog Index |
123 chars |
150–165 |
SHORT |
No topic specificity |
H1 structure audit
| Page |
H1 Count |
Status |
H1 Text |
| Homepage |
1 |
DUPLICATE |
"Empowering Brands to Make Their Impact" |
| About |
1 |
DUPLICATE |
"Empowering Brands to Make Their Impact" — identical to homepage |
| Contact |
2 |
TWO H1s |
"Contact" + "Get In Touch" — demote one to H2 |
| Blog Index |
1 |
OK |
Unique and descriptive |
05
Schema Markup
LocalBusiness schema replacement
Replace the current Organisation node with the following. All values are confirmed from the live site footer and page content. Swap the placeholder LinkedIn URL for the actual profile URL before deploying.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://www.brandimpact.com.au/#organization",
"name": "Brand Impact",
"url": "https://www.brandimpact.com.au/",
"logo": "https://www.brandimpact.com.au/wp-content/uploads/2024/11/cropped-Final-Files-05.png",
"image": "https://www.brandimpact.com.au/wp-content/uploads/2026/03/Website-Banner-1920x900-23.png",
"description": "Brand Impact is an Australian-owned branded merchandise and uniform supplier based in Parramatta, NSW. Over 100,000 products with 7–10 day turnaround Australia-wide.",
"telephone": "+61280016107",
"email": "support@brandimpact.com.au",
"address": {
"@type": "PostalAddress",
"streetAddress": "19/103 George Street",
"addressLocality": "Parramatta",
"addressRegion": "NSW",
"postalCode": "2150",
"addressCountry": "AU"
},
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "09:00",
"closes": "17:00"
}],
"areaServed": {
"@type": "Country",
"name": "Australia"
},
"priceRange": "$$",
"sameAs": [
"https://www.facebook.com/profile.php?id=61568903133259",
"https://www.instagram.com/brandimpactau/",
"https://www.tiktok.com/@brandimpact_au",
/* add LinkedIn URL here */
]
}
06
Remediation Roadmap
Sequenced implementation plan
| Phase |
Item |
Where |
Effort |
Priority |
| Week 1 |
Fix non-www 403 with Cloudflare redirect rule |
Cloudflare dashboard |
5 min |
CRITICAL |
| Week 1 |
Fix sitemap/robots.txt conflict — noindex 7 pages in Yoast |
Yoast SEO per-page settings |
15 min |
CRITICAL |
| Week 1 |
Upgrade schema to LocalBusiness with full NAP data |
Yoast → Search Appearance → Organisation |
30 min |
HIGH |
| Week 1 |
Set 1200×630 OG image — replace icon with hero banner |
Yoast → Social → Facebook |
10 min |
HIGH |
| Week 1 |
Fix duplicate H1 — update About page heading |
Elementor — about page |
5 min |
HIGH |
| Week 1 |
Fix Contact page — demote second H1 to H2 |
Elementor — contact page |
5 min |
HIGH |
| Week 1 |
Expand all four meta descriptions to 150–165 chars |
Yoast per-page SEO settings |
20 min |
HIGH |
| Week 1 |
Change og:locale from en_US to en_AU |
Yoast → Social → Facebook |
2 min |
HIGH |
| Week 1 |
Enable Twitter card meta tags in Yoast Social settings |
Yoast → Social → Twitter |
5 min |
HIGH |
| Month 1 |
Add FAQPage schema to /faqs/ page |
Custom JSON-LD or Yoast block |
1 hr |
MEDIUM |
| Month 1 |
Enable Article/BlogPosting schema on all blog posts |
Yoast → Search Appearance → Posts |
20 min |
MEDIUM |
| Month 1 |
Add author names and bios to all 20 blog articles |
WordPress user profiles + Elementor |
2–3 hrs |
MEDIUM |
| Month 1 |
Fix 12 images missing width/height — enable WP Rocket dimension fill |
WP Rocket → Media Optimization |
5 min |
MEDIUM |
| Month 1 |
Remove WordPress/WooCommerce version generator tags |
functions.php |
10 min |
MEDIUM |
| Month 1 |
Refresh homepage content to update dateModified |
Elementor — homepage |
15 min |
MEDIUM |
| Ongoing |
Audit and populate alt text on 41 empty-alt images |
Elementor / WordPress Media Library |
2 hrs |
LOW |
| Ongoing |
Shorten blog page title to under 60 characters |
Yoast — blog archive settings |
5 min |
LOW |
| Ongoing |
Clean up Facebook sameAs URL fragment, add LinkedIn to sameAs |
Yoast schema / functions.php |
10 min |
LOW |
07
Audit Notes & Limitations
Core Web Vitals — proxy scores only
Core Web Vitals scores in this report are proxy signals derived from HTML analysis (image dimensions, loading attributes, HTML payload size). Real LCP, CLS, and INP values require a Google PageSpeed Insights run or Chrome User Experience Report (CrUX) data. Run a PageSpeed Insights audit for authoritative scores before actioning CWV-specific work.
WooCommerce product pages not individually audited
Product detail pages were not individually analysed in this audit. Verify that Yoast SEO is outputting correct Product and Offer schema on product pages. Product schema with pricing, availability, and aggregate rating data can significantly improve rich result eligibility for commercial queries.
Blog post title duplicate risk — not individually audited
The post sitemap contains 60+ blog posts. Title tag duplication and near-duplicate content across closely related blog posts is common in topic cluster strategies. Recommend running a title tag export from Screaming Frog or Google Search Console to check for duplication across the full post inventory.
Server-level user-agent blocking
The site blocks some non-browser user agents at the server level (returning 403). This is separate from robots.txt rules and is likely a Cloudflare Bot Fight Mode or WAF setting. While Googlebot uses a browser-like UA string that may bypass this, it is worth checking GSC → Settings → Crawl Stats for any Googlebot 403 errors after the non-www redirect is deployed.