SEOWebsiteTool
81Grade B

habachat.com

HabaChat — Live Chat & Chatbot Platform

1 failed · 10 warnings · 17 passed

Audited Mon, 13 Jul 2026 22:45:51 GMT · https://habachat.com/

Meta & Head

19.4/25

Title, description, canonical, social tags — what search engines read first.

  • Open Graph tagsmedium impactlow effort

    No Open Graph tags found

    Open Graph tags control how your page looks when shared on Facebook, LinkedIn, Slack, WhatsApp, and most chat apps; without them, links render as a bare URL or with guessed text, and far fewer people click through. Add four meta tags to <head>: og:title, og:description, og:url, and og:image — an image around 1200x630 pixels works well across platforms. Use absolute https:// URLs for og:image and og:url; relative paths are the most common reason preview images silently fail to appear.

  • 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.

  • 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.

5 passing checks
  • Title tag<title> is "HabaChat — Live Chat &amp; Chatbot Platform" (43 characters)
  • Meta descriptionMeta description is "HabaChat: real-time live chat, email capture, and chatbot for your website." (75 characters)
  • Viewport meta tagViewport is "width=device-width, initial-scale=1"
  • Character encoding declaredCharacter encoding is declared
  • Page allows indexingNo restrictive robots meta tag

Content & Structure

22.3/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 h2 ("Câu hỏi thường gặp") to h4 ("Ai được nhận ưu đãi miễn phí 1 năm?")

    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.

5 passing checks
  • Single H1 heading1 h1 found: "Trò chuyện với khách hàng theo thời gian thực"
  • Word count1241 words of visible text
  • HTML lang attribute<html lang="en">
  • JavaScript-dependent contentvisible text ~6173 chars in the initial HTML
  • Internal linking27 internal, 0 external links

Technical

19.3/25

HTTPS, redirects, robots, sitemap, speed, crawlability.

  • Fast time to first bytehigh impactmedium effort

    1399 ms

    Time to first byte is the floor under every other speed metric — the browser can't parse, render, or fetch anything until the first byte arrives, so a slow TTFB drags down all Core Web Vitals and tests crawlers' patience. Add caching in front of the origin: full-page caching at a CDN (Cloudflare, Fastly) helps most, followed by server-side caches (Redis, object caching) and indexes on slow database queries. Measure from locations near your actual users — tuning only your fastest region leaves distant visitors just as slow.

  • HTTP redirects to HTTPSmedium impactlow effort

    http:// version serves content without redirecting

    Your http:// URLs serve content instead of redirecting, so search engines can crawl and index two parallel copies of every page and split ranking signals between them. Add a permanent 301 redirect from http to https at the server or CDN level — in nginx, "return 301 https://$host$request_uri;" in the port-80 server block; in Apache, a RewriteRule in .htaccess; on Cloudflare, enable "Always Use HTTPS". Use a 301, not a 302 — temporary redirects don't consolidate ranking signals — and preserve the full path in the redirect target.

  • Short redirect chainmedium impactlow effort

    https://vinchat.io/ (308) → https://habachat.com/

    Every redirect hop adds a round-trip before the visitor sees anything, each hop can leak a little link equity, and crawlers abandon long chains — which can leave the destination page undiscovered. Trace the chain above and point the first URL directly at the final destination in a single 301; commonly this means merging separate http-to-https and non-www-to-www rules into one combined redirect. Also update internal links to reference the final URL directly, so most visitors never enter the chain at all.

  • XML sitemap availablemedium impactlow effort

    sitemap.xml is valid but robots.txt does not reference it

    Your sitemap is valid, but robots.txt never mentions it, so crawlers you haven't manually notified may never find it — the robots.txt reference is the universal discovery mechanism. Add one line to robots.txt: "Sitemap: https://www.example.com/sitemap.xml", using the full absolute URL (a relative path is invalid here). The line can go anywhere in the file, and you can list several sitemaps. Also submit it in Google Search Console to get indexing-coverage reporting on top of discovery.

  • 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.

7 passing checks
  • Served over HTTPSfinal URL uses https://
  • No mixed content0 http:// subresource references
  • robots.txt present and permissiverobots.txt exists and allows crawling
  • Reasonable HTML size21.8 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.

SEO score badge for habachat.com

More “h” sitesRecent audits