ebsbc.ca
EBS - Essential Business Services | Your Partner in Business
3 failed · 9 warnings · 17 passed
Audited Sat, 18 Jul 2026 08:30:30 GMT · https://ebsbc.ca/
Meta & Head
17.4/25
Title, description, canonical, social tags — what search engines read first.
Meta descriptionhigh impactlow effort
No meta description found
The meta description is your ad copy in search results; without one, engines pull an arbitrary snippet from the page, which usually reads poorly and costs you clicks. Add <meta name="description" content="..."> with 70–160 characters that summarize the page and give a concrete reason to click — what the visitor gets plus a differentiator (free, instant, no signup). Write a unique description per page: one duplicated across the site is treated much like a missing one.
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.
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.
6 passing checks
- Title tag<title> is "EBS - Essential Business Services | Your Partner in Business" (60 characters)
- Canonical URLCanonical href is "https://ebsbc.ca/"
- Viewport meta tagViewport is "width=device-width, initial-scale=1, maximum-scale=1"
- Character encoding declaredCharacter encoding is declared
- FaviconA <link rel="icon"> is present
- Page allows indexingrobots: max-image-preview:large
Content & Structure
16.4/25
Headings, copy depth, images, structured data, internal linking.
Single H1 headinghigh impactlow effort
0 h1 headings found
The h1 is the visible headline of the page and one of the clearest signals to search engines of what it's about; with none present, engines lean on surrounding text and may misread the topic. Add exactly one h1 near the top that states the main topic in plain language and includes the primary keyword, e.g. <h1>Merge PDF Files Online</h1>. Don't fake it with a styled <div> — the semantic tag itself is what crawlers and screen readers actually read.
Image alt textmedium impactlow effort
6 of 7 images have alt text
Alt text is how search engines understand what an image shows — it feeds image-search rankings and is what screen readers announce to blind visitors. Add a short, specific alt attribute to every meaningful image, describing the content rather than listing keywords: alt="Golden retriever puppy playing in snow" beats alt="dog puppy pet animal". Give purely decorative images an empty alt="" instead of omitting the attribute, so assistive technology knows to skip them rather than reading out the filename.
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 ("We Can Help") to h4 ("Bookkeeping, Payroll,")
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.
4 passing checks
- Word count624 words of visible text
- HTML lang attribute<html lang="en-US">
- JavaScript-dependent contentvisible text ~1420 chars in the initial HTML
- Internal linking8 internal, 1 external links
Technical
19.9/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.
No mixed contentmedium impactlow effort
1 http:// subresource reference
Some images, scripts, or styles load over insecure http:// on this HTTPS page; browsers block insecure scripts outright and flag the page, which breaks functionality and undermines the padlock users look for. Update each reference to https:// — most hosts serve the same asset on both schemes — or re-host assets whose origins don't support TLS. Adding <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> is a quick safety net, but fix the underlying URLs too: hard-coded http:// links in databases and old content are the usual source.
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.
7 passing checks
- Served over HTTPSfinal URL uses https://
- Short redirect chainno redirects; URL resolves directly
- Fast time to first byte398 ms
- Reasonable HTML size26.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.