The 3 leaks costing them the most
1 The page barely exists (to the extractor)
Why it hurts: Only 9 words of visible text were captured, zero H1s, zero CTAs, zero headings. Whether it's a JS-rendered SPA or a true blank, crawlers and social previews see nothing. A page that can't be read can't convert.
Fix: Add server-side rendered (SSR) or static HTML for all critical content β headline, subhead, CTA, and pricing β so it exists without JavaScript. Next.js static export or a lightweight SSR setup fixes this in an afternoon.
2 No OG image, no OG title, no meta description
Why it hurts: hasOgImage is false, ogTitle and ogDescription are empty strings. Every share on Twitter/LinkedIn/Slack shows a blank card. For a product literally called 'Testimonial' that sells social proof, this is a credibility-destroying irony.
Fix: Add og:title ('Testimonial β Collect & embed video testimonials in minutes'), og:description (one punchy sentence), and a 1200Γ630 og:image showing the product UI with your logo. Takes under an hour in any meta-tag library.
3 Pricing is completely invisible
Why it hurts: hasPricingNav is false, dollarAmounts array is empty, no mention of free plan, free trial, or one-time payment. Visitors who can't find a price leave. Period.
Fix: Add 'Pricing' to the nav and ensure at least the price tier names and dollar amounts are in static HTML so they render for all visitors (and graders).
All 31 principles, scored
mentionsFreePlan and mentionsFreeTrial are both false β cannot confirm or deny a free plan exists. Conservative grade: unknown is bad because freemium is common in this category and the page doesn't clarify.
Fix: Make your pricing model explicitly visible in static HTML above the fold or in nav.
distinctColorCount is 1 β only one color detected. Technically passes, though this likely reflects the near-empty render rather than intentional restraint.
numeralsInHeadings is 0 and there are no headings at all. The title tag says 'capture, measure & showcase' β three vague verbs, zero numbers.
Fix: Rewrite the hero headline with a concrete number, e.g. 'Collect 10x more testimonials with one link' or 'Save 5 hours per launch on social proof'.
No footer content was extracted. With only 9 words of total visible text, there is nothing memorable in any section, let alone the footer.
Fix: Add a footer with personality β a founder sign-off, a witty line, or a micro-stat like '12,000 happy founders can't be wrong.'
hasOgImage is false, ogTitle and ogDescription are both empty strings. Zero social sharing infrastructure exists.
Fix: Implement og:image (1200Γ630 product screenshot), og:title, and og:description immediately β this is table-stakes for any SaaS.
Cannot assess sections because no headings or body content rendered. The title tag tries to do three things at once: 'capture, measure & showcase.' One idea is already failing at the title level.
Fix: Pick the single most valuable thing testimonial.to does and lead with only that in the H1.
There are zero H1s detected. The page title uses 'capture, measure & showcase customer love' β passable language but no actual headline exists in the rendered page.
Fix: Add a plain-English H1 to the static HTML, e.g. 'Get more customers with real reviews.'
No signup flow or paywall structure is visible. Cannot assess; conservative score given total lack of rendered content.
Fix: Ensure the CTA leads directly to a payment or free-trial page β document this in visible copy.
'Capture, measure & showcase customer love' β this exact phrase could describe Trustpilot, Birdeye, Yotpo, or any of 50 competitors. Nothing specific or ownable here.
Fix: Write copy from founder experience: who built this, for whom, what specific pain they had. Specificity = memorability.
hasVideo is false, hasDemoEmbed is false, imageCount is 0. Nothing is shown. The page is purely textual and barely even that.
Fix: Add a hero screenshot or GIF of the actual product above the fold, rendered in static HTML so it loads for everyone.
The title lists three actions β capture, measure, AND showcase. That's three things. The product may do one thing well, but the page doesn't communicate it that way.
Fix: Lead with the single outcome customers care most about (likely 'get more conversions with real testimonials') and save the feature list for below the fold.
No pricing tiers, dollar amounts, or tier names were extracted. The pricing structure is entirely invisible to the extractor and presumably to JS-disabled visitors.
Fix: Render pricing tiers in static HTML with clear names and prices. Three tiers max.
Social proof and user-generated content are genuinely trending topics in the SaaS/indie-hacker space. The product concept rides that wave, but none of this is communicated in the visible copy.
Fix: Reference the trend explicitly: 'In a world of AI slop, real human reviews are your unfair advantage.'
With only 9 words of visible text, there's no copy to evaluate. 'Customer love' is a mild clichΓ© that reads as marketing-speak rather than how a founder would talk to a peer.
Fix: Write like a founder Slacking a friend: 'I built this so you never have to chase customers for reviews again.'
imageCount is 0, no video, no signed note. No human is present anywhere on the page as rendered.
Fix: Add a small founder photo + first-name sign-off near the CTA or in the hero subhead. Builds instant trust.
hasPricingNav is false and dollarAmounts array is empty. Pricing is not just hard to find β it is completely absent from the rendered output.
Fix: Add 'Pricing' to the main nav as a direct anchor link, and ensure the pricing section renders in static HTML.
There is no H1. The only candidate is the title tag: 'Capture, measure & showcase customer love' β functional but completely forgettable. You will not recall this tomorrow.
Fix: Write a headline with an unexpected angle, e.g. 'Your customers are already saying great things. Stop letting those words die in emails.'
No H1 exists. Title tag is descriptive, not emotional. 'Customer love' attempts warmth but lands flat because it's so overused in SaaS.
Fix: Try a headline that triggers a specific feeling: pride ('Look like the most trusted tool in your space'), relief ('Never beg for testimonials again'), or curiosity ('What if your customers sold for you?').
Cannot assess UI or design novelty since imageCount is 0. The concept β collecting testimonials β is not novel, but execution could be. Evidence is absent.
Fix: Show the most visually surprising or differentiated part of the product UI in the hero, not a generic screenshot.
No H1, no subhead, no CTA detected in rendered output. The hero communicates nothing β it literally cannot sell alone.
Fix: Ensure the hero contains: (1) a plain H1 stating the outcome, (2) a one-sentence subhead stating who it's for, (3) a single CTA button with specific text β all in static HTML.
No problem statement is visible. The page jumps straight to product name and tagline without acknowledging any customer pain.
Fix: Open with the pain: 'You worked hard to get happy customers. But their praise lives in DMs and emails nobody sees.' Then introduce the solution.
ctaLabels array is empty β zero CTAs detected in the rendered page.
Fix: Add exactly one CTA button with specific, action-oriented text, rendered in static HTML.
'Testimonial' is exactly what the product does β instantly understood, zero explanation needed. Clean domain (testimonial.to) is a bonus.
'Capture, measure & showcase' are three features, not desires. No mention of more revenue, more trust, more customers, or less stress anywhere in the visible text.
Fix: Reframe every feature as an outcome: 'Capture' β 'Get reviews on autopilot'; 'Showcase' β 'Turn praise into paying customers'.
hasVideo is false, hasDemoEmbed is false. There is zero interactive or demonstrative content visible.
Fix: Embed a live widget showing real testimonials collected with the tool itself β use your own product as the demo.
weakWordCount is 0 β no weak words detected. However, this is largely because there are only 9 words total, so this score is mostly vacuous.
Fix: When you add real copy, run it through a weak-word check to maintain this standard.
mentionsOneTime and mentionsPerMonth are both false. Cannot determine pricing model. Conservative score given category norms favor subscriptions.
Fix: Explicitly state your pricing model in visible copy. If one-time, say so loudly β it's a differentiator.
ctaLabels array is empty. No CTA exists in the rendered output, let alone a specific one.
Fix: Write a CTA that describes the literal next step: 'Create My Free Collection Page' or 'Start Collecting Testimonials Now'.
testimonialMarkup is true β some schema markup exists β but blockquotes is 0 and avatarsGuess is 0. The markup may be there but no visible testimonial content rendered.
Fix: Render at least 3 testimonials with name, photo, and quote in static HTML. For a product called Testimonial, this is non-negotiable.
The title tag β 'Capture, measure & showcase customer love' β is 6 words and technically qualifies, but it's not crisp or compelling. The H1 version doesn't exist.
Fix: Write a tighter 10-word pitch as the H1: 'Collect video testimonials and turn them into more sales.'
No pricing information is visible whatsoever. Cannot assess premium positioning.
Fix: Once pricing is added, ensure the copy around it justifies the price with outcome-based language, not feature lists.
How would your page score?
Same 31 principles. Same brutal honesty. Free.
Grade My Page