Site Audit & Benchmarks

iAffiliate Management

July 2026

Healthy foundation, indexing and measurement gaps

Prepared by Bear Hair Dev Consulting

The Short Version

The site is in good technical shape in several important ways. All 174 URLs in the sitemap load successfully, canonical tags are correct, no pages are accidentally blocked from search engines, desktop performance is excellent, and the server responds quickly. The automated accessibility scan also found only two template-level issues. The biggest technical gap is in Google's index. Only 74 of the 174 sitemap URLs are currently indexed. Search Console also reports 135 current and legacy URLs in the "crawled but not indexed" or "discovered but not crawled" groups, including one case study and four category pages. Content that Google has not indexed cannot appear in search results or be cited by AI search tools. The primary conversion pages also load more slowly on mobile than the blog and case-study templates. The homepage has a mobile Largest Contentful Paint of 4.7 seconds, the Affiliate & Partner Marketing page is at 6.5 seconds, and the contact page is at 3.9 seconds. The target is 2.5 seconds or less. Regarding metadata and structured data, the blog is in good shape, but several other parts need attention. All 141 blog posts have BlogPosting markup, but none of the five case studies or fourteen blog category pages have structured data. All five case studies share the same page title, 107 pages have no meta description, and the Organization markup appears only on the homepage. Finally, the site is not currently measuring whether it is producing leads. GA4 has no key events configured, form starts are recorded but form submissions are not, and a link-checking bot accounts for roughly 80 percent of reported weekly users. Analytics needs to be corrected before conversion changes can be measured reliably. Every number in this report was measured on a stated date using the methods documented at the end.

Scorecard: Current State vs. Target

Each row pairs a measured current value with a target. Targets are externally verifiable standards unless marked , which indicates that a target is based on best practices and Bear Hair's standards and opinions.

Crawlability & Indexing

The crawl did not find a technical barrier that would prevent Google from accessing the site. The remaining problem is the difference between what the site makes available and what Google has chosen to index.

MeasureCurrentTargetStatusFix
Sitemap URLs returning HTTP 200174 of 174All pagesMeets target
Redirect chains00Meets target
Self-referencing canonical tags174 of 174All pagesMeets target
Pages accidentally blocked from indexing00Meets target
Pages Google has indexed135 pages sit in Google's "crawled or discovered, currently not indexed" buckets, including one case study and four category pages. Search Console, July 29, 2026.74 of 174Parity with sitemap (174)Gap#2
Legacy URLs Google still crawlsOld-site paths, non-www, and http variants from before the Webflow rebuild still circulate in Google's crawl queue.DozensAll redirected to current URLsGap#2

Performance (Core Web Vitals)

Desktop performance is strong across the site. The main performance issue is mobile Largest Contentful Paint on the homepage, the primary service page, and the contact page.

MeasureCurrentTargetStatusFix
Homepage LCP, mobile4.7 s2.5 s or lessGap#4
Affiliate & Partner Marketing LCP, mobile6.5 s2.5 s or lessGap#4
Contact LCP, mobile3.9 s2.5 s or lessGap#4
Blog post LCP, mobile2.4 s2.5 s or lessMeets target
Case study LCP, mobile2.5 s2.5 s or lessMeets target
Layout shift (CLS), all templates0 to 0.0480.1 or lessMeets target
Desktop performance scores96 to 10090 or moreMeets target
Server response time92 to 173 ms800 ms or lessMeets target
Unused JavaScript on mobile~450 msNear zeroGap#9

Structured Data & AI Readiness

The blog template already has valid structured data. The areas that need stronger structured data is concentrated in case studies, category pages, and site-wide organization information.

MeasureCurrentTargetStatusFix
Blog posts with BlogPosting markup141 of 141All postsMeets target
Case study pages with structured data0 of 55 of 5Gap#7
Blog category pages with structured data0 of 1414 of 14Gap#7
Invalid structured data blocks00Meets target
Organization markup coverageHomepage onlySite-wideGap#14

On-Page Structure

Most pages have a workable heading structure, but several template and content-level problems need correction.

MeasureCurrentTargetStatusFix
Pages with exactly one H114 category pages have none, 9 pages have two, one post has thirteen.150 of 174174 of 174Gap#10
Case studies with unique page titlesAll five currently share the title "iAffiliate Management".0 of 55 of 5Gap#5
Pages with meta descriptions67 of 174All core pages and priority postsGap#12
Pages with zero internal links pointing to themIncludes the DTC Affiliate Program Management service page.20Gap#6
Long posts (600+ words) without subheadings130Gap#13

Accessibility (WCAG 2.1 AA)

The automated scan found two violation types across the five templates tested, a genuinely clean result relevant to the ADA exposure question.

MeasureCurrentTargetStatusFix
Automated violation types across 5 key templatesOne carousel ARIA issue on the homepage, unlabeled social share links on the blog template.20Gap#11
Images missing alt attributes0 of 4,7660Meets target

Consent & Tracking

Google Analytics and HubSpot cookies are currently set before the visitor has an opportunity to consent.

MeasureCurrentTargetStatusFix
Tracking cookies set before consent6 (Google Analytics, HubSpot)0Gap#3
Consent management platformNonePresent, gating all trackingGap#3

Measurement

The site records that people begin the contact form, but it does not record completed submissions. Reported traffic is also heavily distorted by an automated link checker.

MeasureCurrentTargetStatusFix
Key events configured in GA40Form submissions tracked as key eventsGap#1
Contact form completionsForm starts are recorded (roughly 20 per week) but no submission event exists.Not measurableMeasured, with a baseline rateGap#1
Bot traffic excluded from analyticsA link-checker crawler (24metrics.com) dominates reported traffic as of late July 2026.No. One bot referrer is ~80% of weekly usersFiltered outGap#1

Our recommended target based on professional judgment, rather than an external standard such as Google's Core Web Vitals thresholds or WCAG 2.1 AA.

Recommendations

Priority indicates how directly an item affects visibility, compliance, conversion, or the ability to measure results.

Estimated effort falls into three ranges:

  • Small: up to 2 hours
  • Medium: 2 to 8 hours
  • Large: more than 8 hours

These estimates are meant to help iAffiliate decide how to use the available development time; they do not assume a recommendation has already been selected for the 20-hour trial. The ordering below is our recommended sequence, and the client may choose a different sequence based on its immediate priorities and appetite for change.

High-priority recommendations

1. Configure lead tracking and clean up analytics traffic

High priority Effort: Small

The issue: GA4 has no key events configured. The site records roughly twenty form_start events per week, but there is no event for a completed submission, so the current setup can show that someone interacted with the form, not whether the website produced a lead. The topline traffic numbers are also unreliable: as of late July, an affiliate-link checker from 24metrics.com accounted for roughly 1,700 of 2,100 weekly active users, about 80 percent of the reported audience.

The fix: Add a form-submission event through the HubSpot integration and mark it as a key event in GA4. Exclude the bot referrer using the appropriate unwanted-referral and traffic filters. This creates the baseline needed to evaluate later conversion work, including any changes to the contact form. Until this is in place, the site cannot verify whether those changes improve lead volume or completion rate.

2. Address the gap between the sitemap and Google's index

High priority Effort: Medium

The issue: Only 74 of the site's 174 sitemap URLs are currently indexed. Search Console also reports 135 pages in the "crawled but not indexed" and "discovered but not crawled" groups, a total that includes both current sitemap pages and legacy URLs from before the Webflow rebuild. Among the current pages affected are one case study and four category pages. Google also continues to encounter dozens of old paths, non-www URLs, and http variants that remain in its crawl queue even though the site has moved on.

The fix: Work on three fronts. Redirect legacy URL patterns to their current equivalents. Strengthen internal links to priority pages, beginning with case studies and core services. Request indexing for the priority pages after their titles, internal links, structured data, and content structure have been improved. The work in recommendations 5, 6, 7, 12, and 13 supports this effort; Google's decision to index a page is ultimately based on more than technical accessibility, so the long-term solution includes improving the signals attached to the pages themselves.

3. Add a consent management platform

High priority Effort: Medium

The issue: Google Analytics and HubSpot tracking cookies are set as soon as a visitor loads the site, and there is no cookie banner or consent mechanism in place. Six tracking cookies were observed during testing; Cloudflare's functional cookies were treated as strictly necessary and not counted. This is the compliance concern raised at kickoff, particularly for visitors from states with privacy laws such as California and for visitors from the European Union.

The fix: Install a consent management platform that works with Webflow. Gate the Google Analytics and HubSpot scripts so they do not load until the visitor has provided the appropriate consent, and update the privacy policy so it accurately describes what the site loads and when.

4. Load visible images immediately on the affected templates

High priority Effort: Small

The issue: The homepage, service pages, and contact page lazy-load images that are already visible when the page opens, including hero images and the navbar logo, which delays the browser's request for the largest visible element. Mobile LCP reflects that delay: 4.7 seconds on the homepage, 6.5 seconds on Affiliate & Partner Marketing, and 3.9 seconds on the contact page, against a target of 2.5 seconds or less. The blog and case-study templates already meet the target, and the server responds in 92 to 173 milliseconds, so hosting response is not the main cause of the delay.

The fix: Set the hero images and navbar logo to load eagerly on the affected templates, and continue lazy-loading images farther down the page. These are also the pages most likely to receive paid traffic and traffic generated by the PR work, which makes the mobile delay more consequential there than it would be on a lower-priority page.

5. Give each case study a unique page title and description

High priority Effort: Small

The issue: All five case-study pages currently use the page title "iAffiliate Management." The title does not identify the client, the work, or the result, so search engines and AI tools receive the same primary description for five different pages. These pages are also the site's strongest proof of results, which makes the generic titles more costly than they would be on a minor archive page.

The fix: Write a unique, result-led title and meta description for each case study, for example "5x ROAS from Performance CTV for a Cybersecurity Brand." The title should make the subject and outcome of the case study clear before someone opens the page.

6. Link the DTC Affiliate Program Management page into the site

High priority Effort: Small

The issue: The DTC Affiliate Program Management page appears in the sitemap, but no other page on the site links to it. It is absent from both the navigation and the homepage services section, which leaves visitors with no normal path to the page and gives search engines very little reason to treat it as an important part of the site. The Whitepapers category page has the same internal-linking problem.

The fix: Confirm that each page is intended to remain live. If the DTC service page is current, add it to the services navigation and link to it from the homepage services section. If either page is a draft or should not be public, remove it from the sitemap instead of leaving it published but disconnected from the rest of the site.

7. Add structured data to case studies and category pages

High priority Effort: Medium

The issue: All 141 blog posts have valid BlogPosting markup, but the five individual case studies, the case-studies index, and all fourteen blog category pages have no structured data. That leaves the site's proof-of-results content with less machine-readable context than its ordinary blog posts. iAffiliate's previous LLM audit identified two affected pages, and the full crawl shows the gap exists across the templates rather than on only those two pages.

The fix: Add Article markup to the case-study template, using the result-focused page titles from recommendation 5. Add CollectionPage markup to the case-studies index and blog category templates. This work can also be coordinated with the category heading corrections in recommendation 10.

8. Rebuild the contact path around a measurable conversion

High priority Effort: Medium

The issue: Every primary call to action on the site leads to the same contact form. The form contains seven fields, all of which are required, including a phone number, and the fields prevent normal browser autofill. At the same time, the call to action says "Book a Consultation," which suggests the visitor will be able to choose a time rather than submit a general inquiry.

The fix: Include this in the planned HubSpot intake rebuild: reduce the required fields to name, email, and message, enable browser autofill, and put an actual scheduling step behind "Book a Consultation." Conversion tracking (recommendation 1) should be configured first so the existing completion rate can be measured before the form changes. Without that baseline, the rebuild may feel better but cannot be evaluated objectively.

Medium-priority recommendations

9. Remove unused legacy JavaScript

Medium priority Effort: Small

The issue: Every page currently loads two copies of jQuery: the current version used by Webflow and an older version with known security issues. The site also loads two legacy animation libraries. The current templates do not appear to need those older files, and Lighthouse reports approximately 450 milliseconds of unused JavaScript on mobile.

The fix: Remove the legacy script embeds from Webflow's site settings. After removal, test the counters, scroll animations, and other interactive elements to confirm that nothing still depends on them.

10. Correct the heading structure on affected pages and templates

Medium priority Effort: Small

The issue: The post "How to Choose an Affiliate Marketing Agency in 2026" renders every heading in the article body as an H1, resulting in thirteen H1 elements on one page. Eight other pages have two H1s, including the Generative Commerce Partnerships page, and all fourteen blog category pages have no H1 at all. Across the full site, 150 pages have exactly one H1, 14 have none, 9 have two, and 1 has thirteen.

The fix: Correct the heading levels in the affected posts and templates so each page has one descriptive H1 and uses lower-level headings for the rest of the content. The category-page changes can be completed alongside the structured-data work in recommendation 7.

11. Fix two accessibility issues in shared templates

Medium priority Effort: Small

The issue: The automated WCAG 2.1 AA scan found only two violation types across the five templates tested: the homepage carousel creates an invalid ARIA structure, and the blog template's three social-sharing links have no accessible text. Because the second issue is part of the shared blog template, it repeats across all 141 blog posts. The broader HTML review found no missing alt attributes among the site's 4,766 images.

The fix: Correct the ARIA roles on the carousel wrapper and add accessible labels to the social-sharing links. Both are template-level changes. A manual keyboard and screen-reader review is still needed before making a broader accessibility conclusion.

12. Add meta descriptions where they matter most

Medium priority Effort: Medium

The issue: Only 67 of the 174 pages have meta descriptions. The 107 pages without them include nearly all blog posts and the privacy policy. When no description is supplied, search engines generate their own snippet from the page content, and AI tools may form their own summaries without a concise publisher-provided description.

The fix: Begin with the highest-value pages rather than trying to write all 107 descriptions at once. The 2026-dated strategic posts are the strongest initial candidates. After the analytics traffic is cleaned up, use actual human traffic to identify which older posts deserve attention and work through the archive in batches.

13. Add descriptive subheadings to long blog posts

Medium priority Effort: Large

The issue: Thirty of the site's 141 blog posts have no subheadings in the article body. Thirteen of those posts are more than 600 words long, including several posts the previous LLM audit identified as having problems with logical flow. Long, uninterrupted blocks of text are more difficult for readers to scan, and they give search engines and AI tools less explicit structure to use when identifying sections, quoting passages, or understanding how an argument is organized.

The fix: Begin with the thirteen long posts that have no subheadings, adding descriptive headings that reflect the actual subjects covered in each section rather than inserting generic labels. After that retrofit, establish a heading convention for future posts. The size and ownership of the broader archive work should be decided jointly with whoever is responsible for content.

14. Add a second-phase AI-search visibility layer

Medium priority Effort: Large

The issue: The previous LLM audit and the site crawl point in the same direction: several parts of the content are not yet packaged in ways that give AI search systems clear information about the company, its services, and its results. Beyond the foundational work elsewhere in this report, the site has no FAQ markup, no llms.txt file, and Organization markup appears only on the homepage.

The fix: After the indexing, metadata, template, and structured-data work is underway, consider a second phase: useful FAQ sections with matching markup on service pages, consistent Organization data across the site, and an llms.txt file describing the site for AI crawlers. Sequence this work with the PR schedule so the site presents its clearest and most consistent information when that campaign begins generating attention.

15. Build repeatable landing page templates around the new standards

Medium priority Effort: Large

The issue: A repeatable Webflow landing-page system has already been discussed for content strategy, sales, and paid-search testing. New pages built without a standard would inherit the same issues now being corrected elsewhere on the site.

The fix: Use the findings in this audit as the build standard for those templates: visible hero images load eagerly, page titles and meta descriptions are specific to the offer, structured data is included where appropriate, analytics records the intended conversion, tracking remains gated behind consent, and heading structure is correct from the beginning.

Methodology

Every number in this report can be reproduced. Methods and dates below.

Site crawl. Full crawl of every URL in the XML sitemap on July 29, 2026, with a first crawl on July 25 producing identical counts. HTTP status, redirects, canonical tags, robots directives, titles, meta descriptions, headings, structured data, image attributes, and internal links were extracted from the raw HTML of all 174 pages.

Core Web Vitals. Lighthouse 12 via headless Chromium 151 on July 29, 2026. Mobile uses Lighthouse’s default emulated Moto G Power with 4x CPU throttling and slow 4G network throttling. Desktop uses the Lighthouse desktop preset. These are lab numbers, measured under controlled conditions.

Server response. curl time-to-first-byte, single run per template, July 25, 2026, from a US East location. Measured server response ranged from 92 to 173 milliseconds.

Accessibility. axe-core 4.x automated scan of five key templates (homepage, service, contact, blog post, case study) via headless Chromium, July 29, 2026, plus HTML-level checks across all 174 pages.

Consent and tracking. Clean headless browser session, homepage load, no interaction, July 29, 2026. Cookies recorded: _ga and _ga_T02L9ZJKKY (Google Analytics); hubspotutk, __hstc, __hssrc, and __hssc (HubSpot); plus Cloudflare functional cookies, which are exempt as strictly necessary.

Structured data. JSON-LD extraction and validation from every crawled page, July 29, 2026. No invalid structured-data blocks were found.

Analytics. GA4 property for iaffiliatemanagement.com, read July 29, 2026. Pages report covers July 1 to 28; event and channel observations cover the last 7 days. Key events configured: zero. Recorded events include form_start (roughly 20 per week) with no submission event. Referral traffic from 24metrics.com (an affiliate-link checker) accounted for roughly 1,700 of 2,100 weekly active users at read time, geolocated to Germany. AI assistant referrals (chatgpt.com) appear as their own channel at roughly 7 sessions per week, which serves as the baseline for the AI visibility work.

Google indexation. Search Console Page indexing report for the iaffiliatemanagement.com domain property, read July 29, 2026. Indexed: 74. Not indexed: 144, of which 78 crawled but not indexed, 57 discovered but not crawled, 5 redirects, 2 not found, 2 duplicate with Google choosing a different canonical. The not-indexed set includes both current sitemap URLs and legacy URLs from before the Webflow rebuild.