SEOWebsiteTool
91Grade A

sactoh.com

Sactoh — Sacramento Homes for Sale

0 failed · 6 warnings · 23 passed

Audited Thu, 09 Jul 2026 20:11:14 GMT · https://www.sactoh.com/

Meta & Head

22.2/25

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

  • 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

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

7 passing checks
  • Title tag<title> is "Sactoh — Sacramento Homes for Sale" (34 characters)
  • Meta descriptionMeta description is "Browse Sacramento homes for sale. Photo-first listings in Midtown, East Sac, Land Park, Natomas, and more. Free for agents." (123 characters)
  • Viewport meta tagViewport is "width=device-width, initial-scale=1"
  • Character encoding declaredCharacter encoding is declared
  • FaviconA <link rel="icon"> is present
  • Twitter card tagtwitter:card is "summary_large_image"
  • Page allows indexingrobots: index, follow

Content & Structure

23.4/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.

7 passing checks
  • Single H1 heading1 h1 found: "Make Your Move to Sacramento"
  • Heading hierarchy48 headings in order without skipped levels
  • Word count4834 words of visible text
  • Image alt text36 of 36 images have alt text
  • HTML lang attribute<html lang="en">
  • JavaScript-dependent contentvisible text ~5348 chars in the initial HTML
  • Internal linking87 internal, 0 external links

Technical

22.7/25

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

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

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

  • Missing pages return 404low impactlow effort

    missing paths return a non-404 status (soft 404)

    URLs that don't exist on your site return a success status instead of 404 — search engines call these soft 404s, keep recrawling them, and may index the useless placeholder pages, wasting crawl budget that should go to real content. Configure your server or framework to return an actual 404 status (or 410 for permanently removed content) along with your error page. The classic mistake is serving a friendly "page not found" template with a 200 status — crawlers ignore the visible message; only the status code counts.

9 passing checks
  • Served over HTTPSfinal URL uses https://
  • No mixed content0 http:// subresource references
  • Short redirect chainno redirects; URL resolves directly
  • robots.txt present and permissiverobots.txt exists and allows crawling
  • XML sitemap availablesitemap.xml exists and is valid XML
  • Fast time to first byte73 ms
  • Reasonable HTML size328.0 KB
  • 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 sactoh.com

More “s” sitesRecent audits