Tag: Core Web Vitals

  • The Athlete Weekly AI Report: What Changed and What To Do

    The weekly AI report is one branded email an athlete gets every week that covers both halves of their online presence: what people said about them, and how their site is doing. It answers a simple question in plain language: what changed this week, and what should you do next. Where we have a live connection to real data, the report shows real numbers. Where we do not, it says “not yet connected” instead of inventing one.

    This is the deliverable behind the marketed promise of ongoing value. It is not a vanity dashboard of follower counts. It is built on the MAA framework (Metrics, Analysis, Action): real metrics week over week, a short honest analysis that names the weakest area, and up to three concrete actions, the first of which always targets that weakest area. This article is the standard that report is built to.

    What the weekly AI report is

    The report is the “Perform” stage of the Content Factory made systematic for one athlete. It runs weekly, reads only real data, and is generated as a file first; sending is consent-gated and idempotent, so an athlete never gets a duplicate and never gets a report for a week we did not actually measure.

    It has two halves, and both are honest about their edges. The mentions half is fully live. The site half reports every signal we can collect for free, and clearly labels every signal we cannot yet reach.

    Half one: what people said about you

    This half is the mentions digest, and it is live today. Each week it surfaces:

    • New mentions this week: organic positive mentions of the athlete found across the platforms we sweep.
    • The ad-ready spotlight: the single best quote, the kind an athlete could actually put on their site or in an ad, chosen for marketability, not just positive sentiment.
    • A game plan: what to do with the week’s mentions.
    • One-click action buttons: add a mention to the site, post it to LinkedIn, or turn it into an ad.

    This half runs on the Positive Mentions System, built by Cam Hazzard and developed with Dennis Yu. Only genuinely usable, positive mentions ever reach the report; criticism is never shown to the athlete.

    Half two: your site this week (MAA)

    This half is a Metrics, Analysis, Action block about the athlete’s website, built entirely from free, no-billing signals. Every signal is independently optional: if one cannot be collected, the report says so rather than blocking or guessing.

    Metrics (real numbers only, week over week where a prior snapshot exists)

    • Site status: up or down, the actual HTTP status code, and response time in milliseconds. An HTTP 403 from bot protection is reported as a 403, not as “down.” A network failure on our side is retried once and then reported as “check inconclusive this week,” never as a confirmed outage.
    • Uptime over the last 7 days: from a free UptimeRobot account, when the site is added as a monitor.
    • Speed score out of 100, plus LCP seconds and CLS: from Google PageSpeed Insights (mobile).
    • SSL certificate: days until renewal, from a direct TLS handshake.
    • Search basics: whether the homepage has a title tag and JSON-LD structured data present.

    Deltas name the actual prior-check date (“up from 151 ms on the 25th”), never a vague “last week.” The snapshot that drives next week’s comparison is saved only on runs that actually send, so the report always compares against the last report the athlete really received.

    Analysis (one short paragraph)

    A single rule-based paragraph that calls out the weakest area (the MAA rule: the analysis must name the weakest metric, not list what we did), names any week-over-week movement, and says “not yet connected” for anything we could not collect. It never invents a number.

    Action (up to three items)

    The first action always targets the weakest signal. The priority order, as built, is: site down or server error first, then SSL expiring or no HTTPS, then a slow response or HTTP errors, then an uptime slip, then speed and Core Web Vitals, then search basics. If uptime is not connected, an action suggests connecting it.

    What is honest to say today, and what is not

    The whole value of this report is that an athlete can trust it. So the standard draws a hard line.

    Live today (real, in the report): uptime, speed score, Core Web Vitals (LCP and CLS), SSL health, search basics, and week-over-week movement on all of them, plus everything the mentions digest already does. The single honest one-line description is: “A weekly AI report on your site and your mentions: what changed and what to do next.”

    Not connected yet (we do not claim it):

    • Google Search Console data: the queries you rank for, clicks, impressions, and average position. This needs the owner’s OAuth consent per site; there is no free keyless path. The planned next step is a Search Console connector added as another optional signal, so this becomes a real part of the report once an athlete connects it.
    • Site analytics: visitors, sessions, and traffic sources. Same reason: it needs the owner’s connection.
    • Rankings movement and follower counts: not collected here, so never claimed here.
    • Any week we did not measure: the report only compares against snapshots that actually exist.

    The conversion: what the report aims actions at

    The MAA Action section is strongest when it measures a real business result, not vanity metrics. For a business, that result is a lead or a sale. For an athlete, the “sale” is fuzzier: a sponsor inquiry, a training-program purchase, a recruiting contact.

    We recommend tracking contact events, sponsor and recruiter inquiries through the Connect page, as the first conversion. The Connect page already carries the athlete’s contact path, so treating a contact event as the conversion gives the weekly report one concrete, ownable business number to trend and to aim actions at, instead of follower counts. It is the smallest honest conversion we can measure without new plumbing.

    The right conversion can differ by athlete and goal. A recruit’s conversion is a coach’s contact; a creator’s conversion may be a sponsor reply or a program sale. We set it per athlete when the site goes live. Until it is set, the report measures site health and mentions, and the conversion line is noted as pending.

    How an athlete turns it on

    The report is opt-in per athlete and off by default, so no one is emailed without consent. Turning it on is two settings on the athlete’s config: the site URL to report on, and the report switch. Without both, the digest is byte-identical to the mentions-only version, with no new output and no network calls. A safe preview path renders the full report to a file without ever sending it, so we can check a report before an athlete sees it.

    Sending itself stays behind the same consent gate as every client email: it goes out only when the athlete has consented and the cadence window is due, it skips weeks with nothing new, and it honors any unsubscribe unconditionally. Nothing in the report auto-publishes anywhere.

    Real examples

    The report runs on the shared Positive Mentions engine that has been exercised across multiple subjects. The site-health half was built and tested against theathletespotlight.com itself and the lighthouse, camhazzard.com, using the free signals above. As athletes are onboarded and opted in, each week’s report for that athlete becomes a data point, and the build of the report is itself documented in three meta articles (how the site-health section was built, how mentions were connected to athlete sites, and how the tooling was kept in sync), each with the real free-API numbers behind it. Those meta articles link back to this standard.

    Related frameworks

    Get started

    The full breakdown of what is included, the weekly AI report among it, lives on the Athlete Spotlight package page. When you are ready, get started for $30 per month and the weekly report starts once your site is live. Parents are welcome to check out on an athlete’s behalf.

    Third-party validation

    The report only uses independent, verifiable sources: Google PageSpeed Insights for speed and Core Web Vitals, a direct TLS handshake for SSL, and UptimeRobot for uptime. Because it reads real signals and refuses to invent numbers, every figure in it can be checked against the source that produced it. The MAA structure it follows is the same measurement framework BlitzMetrics uses across client reporting.

  • How We Build an Athlete Personal Brand Website

    An athlete personal brand website is the one page on the internet that Google and every AI engine treat as the most authoritative source about who that athlete is. It is not a link-in-bio and not a social page. It is a real site on the athlete’s own domain, built from the content they already have, structured so a recruiter, a sponsor, and a search engine all understand the same thing: this person is real, this is what they have done, and here is the proof.

    This article is the standard we build every Athlete Spotlight site to. It covers the exact page set, the nine-section homepage, the entity schema that makes an athlete machine-readable, and the quality gate that has to pass before a site goes live. Our nine-section homepage extends the published eight-section athlete standard from the personal brand website agent; the extra section is real placements, never filler. The lighthouse we build against is camhazzard.com, which ranks number one for “Cam Hazzard.”

    What an athlete personal brand website is

    The site is the entity home. Google reads links, structured data, and consistent facts to decide who an entity is and how confident it should be. When an athlete’s name, photo, sport, results, and profiles all agree across the site and its schema, that confidence goes up, and the site starts winning the athlete’s own name in search. That is the whole point: own your name on Google so that when a recruiter or sponsor looks you up, they find you and you look legitimate.

    Two rules sit above everything else. First, the homepage is provable facts linked to their sources; the About page is the stories behind those facts. Second, a missing section is better than a fake one. If an athlete has no press yet, we omit the placements section entirely rather than invent one. Every claim on the page traces back to a real intake field.

    The page set we ship

    Every athlete site ships the same nine pages (one of them conditional), plus one seeded launch post so the blog is never empty:

    • Home (/), the nine-section homepage below.
    • About (/about/), the story page in the athlete’s first-person voice, carrying the full Person schema; Rank Math schema type ProfilePage.
    • Highlights (/highlights/), the sport proof page: featured film, all clips, contest results that deep-link to video proof.
    • What People Are Saying (/what-people-are-saying/), tiered social proof and the on-site home for the positive-mentions feed.
    • Blog (/blog/), a real query loop of posts, categories Interviews and Milestones, never Uncategorized; schema type CollectionPage.
    • Gallery (/gallery/), conditional: built and added to navigation only when the athlete has eight or more real photos.
    • Connect (/connect/), the contact page with platform cards and official profiles; schema type ContactPage.
    • Links (/links/), footer-only, the link-in-bio replacement that routes traffic back into the site instead of out to a third-party page.
    • Accessibility Statement (/accessibility-statement/), footer-only, honest commitment copy required by the site QA checklist.

    Athlete sites are personal brand sites, so on-page copy is first person (“My Story,” “What I Do”), and the WordPress author on every page and post is the athlete, never an admin account. That POV rule comes straight from the blog posting guidelines.

    The nine-section homepage

    The homepage carries one call to action per section, except the hero, which carries two. A minimum of five distinct real images sit across the page. In order:

    1. Hero. A two-column layout with a real portrait or action photo on the right. The H1 begins with the athlete’s literal name plus a one-sentence differentiation (“{Name}. {Role} out of {State}.”). Two buttons: a gold “My Story” and a secondary “Watch My Highlights.”
    2. Stats bar. Up to four real, provable numbers from intake (measurables, rankings, wins, verified marks). Numbers, not adjectives. Omitted entirely when the athlete has none.
    3. Story teaser. A short “My Story” pull with a plain link to the full About page.
    4. What I Do. Exactly three persona-driven cards aimed at the buy box (recruiting, sponsorship, coaching, or content), each with one call to action.
    5. Featured clip. The single best highlight, embedded when it is embeddable so the homepage meets the video-on-homepage bar.
    6. What People Are Saying. Three attributed quote cards; the whole card deep-links to the original post when a source URL exists.
    7. As Seen On. Real placements only (league, press outlets, sponsors). Omitted entirely when empty. This is the section our nine extends past the published eight; it is provable placements, never filler.
    8. From the Blog. A real latest-three query loop, never static hand-coded cards, seeded by the launch post.
    9. Connect band. A social row and one gold call to action to the Connect page.

    Media rules: fast is part of the standard

    A slow site fails the standard no matter how good the content is. The lighthouse sites paid real Core Web Vitals penalties for a 1.6MB hero before we fixed them, so the media rules are baked into every pattern:

    • The hero is a real image, preloaded, marked high priority, served as a WebP rendition of 100KB or less. We never serve a multi-megabyte original and never use a CSS background image for the largest element.
    • Every image carries width, height, and alt text, so layout never shifts and every image is described.
    • Everything below the fold lazy-loads.
    • Schema image references keep full resolution even though the visible image is downsized.
    • Real photos only. The factory never sources or substitutes stock imagery; photo selection is a human step.

    Entity schema: making the athlete machine-readable

    Structured data is what lets Google and an AI engine actually understand an athlete instead of guessing. This is the difference between a pretty site and an entity. It builds on Google’s Knowledge Graph methodology.

    • Person schema, defined once, in full, on the About page, with a single @id of {site-url}/#person. Every other page references that same @id rather than redefining the person (which avoids the duplicate-graph mismatch we found on one reference site). The Person record carries the name, job title, image at full resolution, sameAs (every social and official profile), knowsAbout (sport and position), home location, and email.
    • Per-page schema types through Rank Math: About is ProfilePage, Connect is ContactPage, Blog is CollectionPage, posts are Article, and everything else is WebPage.
    • The sameAs array is the athlete’s proof web: social profiles plus the federation profile, the league or team page, and the Wikidata item when one exists. Claiming and interlinking those official profiles is its own step, covered in the federation profiles standard.
    • Validate every page with Google’s Rich Results Test before launch. That is a human step on the deploy checklist.

    The QA gate: what has to pass before launch

    Before a site ships, an automated gate checks it against the article guidelines. It exists to catch two failure modes: AI slop and site defects we have seen on real builds. The gate blocks the build (not just warns) on these, among others:

    • Zero unresolved template tokens anywhere.
    • Zero em dashes, and zero banned words, AI patterns, or salesy phrases in any generated copy.
    • Person and WebSite schema parse, and every page’s embedded schema matches its standalone file exactly.
    • Balanced Gutenberg block markup, and alt text on every image.
    • Every internal link resolves to a real page slug (a stale gallery link is a hard failure, not a soft 404).
    • The homepage carries the nine sections in order, and the From the Blog section is a real query loop, not static cards (that static-cards defect is a real one we corrected on a reference site).
    • The export file parses as valid XML and every item imports as a draft, so the human gate is never skipped.
    • Intake constraints hold: five to ten clips, at most two featured, exactly one hero.
    • Unique meta titles and descriptions across pages, and no testimonial quote rendered twice on one page.

    Warnings (which a human resolves or documents) cover things like meta descriptions carrying the athlete’s name, a featured clip that is not embeddable, and page-photo alt text that does not include the athlete’s name.

    Rank Math to 81 and above

    A green Rank Math score starts at 81, not 80. We do not chase it in a single pass; we run the Rank Math loop until each page clears the bar. The homepage focus keyword is the athlete’s full name, targeting the lighthouse bar of 84 and above. Every other page targets one entity or topic, never reused across posts, and every page clears a floor of 70. New posts iterate to 81 and above. Draft scores are supposed to start low; the loop is what produces green.

    Real examples

    camhazzard.com is the lighthouse. It ranks number one for “Cam Hazzard,” implements the nine-section homepage, carries the full Person schema with one canonical @id, uses per-page ProfilePage, ContactPage, and CollectionPage types, and serves its hero as a roughly 316KB rendition while keeping full-resolution images in schema. It is the site every other build is measured against.

    dylan-haugen.com is a second live athlete build on the same standard, a professional dunker’s personal brand site. It also documents what to avoid: an earlier version shipped stale hand-coded blog cards and a duplicate-schema @id mismatch. We fixed those patterns in the standard precisely because we saw them on a real site.

    jordan-tate is a synthetic pilot fixture, not a real athlete. We use it to test the builder end to end: the intake goes in, the full package comes out (nine pages, the launch post, schema, the deploy runbook), and the QA gate runs against it. It exists so we can prove the machine works before a real athlete’s data ever touches it. It should never appear in marketing or be presented as a client.

    As more athletes are onboarded and their sites verified, each becomes another named example here, per the rule that a definitive article links to as many real examples as exist.

    Related frameworks

    Get started

    The full breakdown of what is included lives on the Athlete Spotlight package page. When you are ready, get started for $30 per month and we build your site to this standard. Parents are welcome to check out on an athlete’s behalf.

    Third-party validation

    This standard is not theoretical. camhazzard.com ranks number one for its owner’s name using exactly the page set, schema, and QA gate above. The methodology is the same personal-brand system Dennis Yu and BlitzMetrics use for their clients, extended for athletes. Google’s own Rich Results Test validates the schema on every build before launch, an independent check that the structured data is correct.