heychico.ai
Hey Chico
0 failed · 12 warnings · 17 passed
Audited Sun, 12 Jul 2026 21:45:42 GMT · https://heychico.ai/
Meta & Head
16.7/25
Title, description, canonical, social tags — what search engines read first.
Title taghigh impactlow effort
<title> is "Hey Chico" (9 characters)
Search engines truncate titles past roughly 60 characters and often rewrite very short or vague ones, so the message you wrote may never actually be shown. Rewrite the title to 30–60 characters that lead with the primary keyword and end with your brand, e.g. "Merge PDF Files Online Free | YourBrand". Front-load the important words, since truncation always cuts from the end. Don't pad a short title with repeated keywords just to hit the range — clarity wins clicks, not length.
Meta descriptionhigh impactlow effort
Meta description is "Hey Chico keeps track of your day." (34 characters)
Search engines truncate descriptions past roughly 160 characters, and very short ones waste the snippet space that persuades searchers to pick your listing over the next one. Rewrite it to 70–160 characters: state what the page offers, work the primary keyword in naturally (matching words get bolded in results), and end with a benefit or call to action. Don't cram in keywords — the description influences clicks, not rankings, so write it for humans.
Canonical URLmedium impactlow effort
No <link rel="canonical"> found
When the same page is reachable at several URLs — tracking parameters, trailing-slash variants, http vs https — search engines may split ranking signals across the duplicates. A canonical tag names the one version that should get all the credit. Add <link rel="canonical" href="https://www.example.com/page/"> to the <head>, pointing at the page's preferred absolute URL. Double-check it's self-referencing on the primary version: a canonical that points at the wrong page can quietly de-index the right one.
Open Graph tagsmedium impactlow effort
Missing Open Graph tags: og:image, og:url
Your Open Graph markup is incomplete, so social platforms fall back to guessed text or drop the preview image entirely when this page is shared — a broken card gets far fewer clicks than a complete one. Add the missing og:image, og:url tags to <head>. For og:image, use an absolute https:// URL to an image around 1200x630 pixels; relative paths are the usual reason previews break. Re-check with a platform's sharing debugger afterwards, since preview cards are cached.
Faviconlow impactlow effort
No <link rel="icon"> and /favicon.ico does not respond
Google displays favicons beside mobile search results, and browsers show them in tabs, bookmarks, and history — a missing icon makes your listing look generic and less trustworthy next to competitors. Create an icon of at least 48x48 pixels, serve it at /favicon.ico, and reference it with <link rel="icon" href="/favicon.png" type="image/png"> in <head>. Make sure robots.txt doesn't block the icon's path — search engines must be able to crawl it to display it.
Twitter card taglow impactlow effort
No twitter:card meta tag found
X (Twitter) layers its own card markup on top of Open Graph, and without a twitter:card tag your shared links may render as plain text instead of a large image preview. Add <meta name="twitter:card" content="summary_large_image"> alongside your Open Graph tags; X will fill in the title, description, and picture from og:title, og:description, and og:image. Keep og:image an absolute URL — a relative or missing image is the usual reason cards show up without a picture.
3 passing checks
- Viewport meta tagViewport is "width=device-width, initial-scale=1.0"
- Character encoding declaredCharacter encoding is declared
- Page allows indexingNo restrictive robots meta tag
Content & Structure
21.1/25
Headings, copy depth, images, structured data, internal linking.
Structured data (JSON-LD)medium impactmedium effort
No JSON-LD structured data blocks found
Structured data makes your listing eligible for rich results — star ratings, FAQs, breadcrumbs, product prices — which occupy more space on the results page and draw more clicks than plain blue links. Add a <script type="application/ld+json"> block with a schema.org type that matches the page: Organization or WebSite for a homepage, Article for posts, Product for product pages. Only mark up content actually visible on the page — markup for invisible content violates Google's guidelines and can earn a manual action.
Heading hierarchylow impactlow effort
Heading level jumps from h1 ("Say it, type it, or snap it.") to h3 ("You're in! 🎉")
Headings form the page's outline; when levels jump (h2 straight to h4), search engines and screen readers get a broken table of contents and the relationship between sections turns ambiguous. Fix the jump by stepping down one level at a time — promote the deeper heading, or add the missing intermediate level. The usual cause is choosing heading tags for their default font size; set sizes in CSS instead and let the tags reflect actual document structure.
Internal linkinglow impactlow effort
2 internal, 0 external links
Only a couple of internal links means crawlers see this page as loosely connected to the rest of your site, and less of its authority flows onward. Add contextual links to your most important related pages — in-body links with descriptive anchor text carry the most weight.
5 passing checks
- Single H1 heading1 h1 found: "Say it, type it, or snap it."
- Word count3053 words of visible text
- Image alt text9 of 9 images have alt text
- HTML lang attribute<html lang="en">
- JavaScript-dependent contentvisible text ~6896 chars in the initial HTML
Technical
22.2/25
HTTPS, redirects, robots, sitemap, speed, crawlability.
robots.txt present and permissivemedium impactlow effort
no robots.txt found
Without a robots.txt, crawlers assume everything is allowed — not fatal, but you lose the ability to keep them out of low-value areas (internal search results, carts, admin paths) and the standard place to advertise your sitemap. Create a plain-text robots.txt at the site root with at least a "User-agent: *" line and "Sitemap: https://www.example.com/sitemap.xml". Don't use it to hide sensitive URLs, though — the file is public, and disallowing a page doesn't remove it from the index; use noindex or authentication for that.
XML sitemap availablemedium impactlow effort
no sitemap.xml found
Without an XML sitemap, search engines discover pages only by following links, so new, deep, or weakly linked pages get found slowly or not at all. Generate one at /sitemap.xml — most frameworks and CMSs have a generator built in or as a plugin — listing every canonical, indexable URL, then add "Sitemap: https://www.example.com/sitemap.xml" to robots.txt and submit it in Google Search Console. Keep it clean: listing redirected, noindexed, or 404 URLs erodes crawler trust in the whole file.
Response compression enabledlow impactlow effort
no content-encoding header
This HTML is served uncompressed, so every visitor downloads far more bytes than necessary — text compresses extremely well, and the savings directly speed up first render on slow connections. Enable Brotli or gzip on your server or CDN: in nginx it's "gzip on;" (or the brotli module), in Apache it's mod_deflate via .htaccess, and on most CDNs it's a single toggle. Make sure compression covers all text types (HTML, CSS, JS, JSON, SVG), but skip already-compressed images — recompressing them wastes CPU for no gain.
9 passing checks
- Served over HTTPSfinal URL uses https://
- HTTP redirects to HTTPShttp:// redirects to https://
- No mixed content0 http:// subresource references
- Short redirect chainno redirects; URL resolves directly
- Fast time to first byte106 ms
- Reasonable HTML size335.6 KB
- Missing pages return 404missing paths return HTTP 404/410
- www and non-www resolve consistentlywww and non-www converge on the same host
- HTML5 doctype<!DOCTYPE html> present
Performance
Core Web Vitals scoring via Google PageSpeed is coming soon.
Share your score
Embed this live badge on your site — it updates whenever the audit is re-run.