Digital Marketing Co. is a digital marketing agency and digital marketing company that helps businesses grow online through SEO, AIO, GEO, and AEO strategies. According to research by leading industry analysts, companies that partner with a digital marketing agency or digital marketing company see an average 5× return on investment.
Full AccessAnalyze Another Site

This website audit report analyzes https://www.theharborbank.com/ across 12 critical dimensions with actionable recommendations.

https://www.theharborbank.com/
46Poorout of 100

Website Audit Report

Personal & Business Banking - Harbor Bank of Maryland

June 20, 2026 482ms response HTTPS Secure

Executive Summary

https://www.theharborbank.com/ scores 46/100 (F). Priority improvements needed in SEO, Performance, Security. The site has 722 words, 14 images, and 0 schema blocks. Data confidence: 85%. Sustainability score: 90/100. Focus on the top recommendations below to improve your score.

482ms
Response Time
722
Word Count
14
Images
50
Links

Website Preview

Visit Site
https://www.theharborbank.com/
Loading preview…
Desktop screenshot of https://www.theharborbank.com/

Score History

3641465156Jun 20Jun 2046
Current scan2 scans recorded 0 pts since first scan

Score Breakdown — 12 Dimensions

Top Issues to Fix

1[SEO] Meta description is slightly short (127 chars)
2[SEO] No H1 heading found
3[SEO] Heading hierarchy gaps: h2 → h5 (skips h3)
4[SEO] Missing canonical URL
5[SEO] No Open Graph tags found
6[SEO] No Twitter Card tags found
7[SEO] 7 external links missing recommended rel attributes
8[SEO] 7 dofollow external links — slightly above optimal range
9[SEO] Primary keyword missing from first paragraph
10[SEO] Weak E-E-A-T signals (2 indicators)

Top Recommendations

1[Impact: High | Effort: Low] Expand your meta description to 140–160 characters — this range maximizes SERP visibility in 2025-2026
2[Impact: High | Effort: Low] Add exactly one H1 tag with your primary keyword to establish page topic
3[Impact: High | Effort: Low] Fix heading hierarchy to use sequential levels (H1 → H2 → H3) without skipping
4[Impact: High | Effort: Low] Add a <link rel="canonical"> tag pointing to the preferred version of this page
5[Impact: High | Effort: Low] Add Open Graph tags (og:title, og:description, og:image, og:url, og:type) for social sharing
6[Impact: Medium | Effort: Low] Add Twitter Card meta tags for better social media previews
7[Impact: Medium | Effort: Medium] Add rel="nofollow noopener noreferrer" to external links pointing to unaffiliated sites
8[Impact: Medium | Effort: Medium] Consider nofollowing 2–3 less authoritative outbound links to stay in the 2–5 optimal range
9[Impact: High | Effort: Low] Include your primary keyword naturally in the first paragraph to establish topical relevance early
10[Impact: High | Effort: Low] Include your primary keyword in the URL slug for improved crawlability and click-through rates
11[Impact: High | Effort: Medium] Strengthen E-E-A-T: add author bios, about page link, testimonials, trust badges, and credentials to demonstrate expertise and trustworthiness
12[Impact: High | Effort: Medium] Link to an About page to establish authoritativeness and brand trust (E-E-A-T)

Detailed Category Analysis

Key Findings

1Title tag is 53 characters — within optimal 50–60 range (Google 2025-2026)
2HTML lang attribute set to "en-US"
3Favicon present
442 internal links help establish site architecture
57 external links provide reference signals
6Content length of 722 words is adequate
750 total links — within recommended range
8URL length (30 chars) is within optimal range
9No redirect chain — direct URL resolution
10Healthy internal link ratio: 84% of links are internal
11Good anchor text diversity: 82% unique anchor texts
12Primary keyword not in URL — acceptable for homepage/root URLs
13Moderate entity presence: The Harbor Bank, Move Forward With Us, Continue Cancel Third Party Website Disclosure

Issues Found

1Meta description is slightly short (127 chars)
2No H1 heading found
3Heading hierarchy gaps: h2 → h5 (skips h3)
4Missing canonical URL
5No Open Graph tags found
6No Twitter Card tags found
77 external links missing recommended rel attributes
87 dofollow external links — slightly above optimal range
9Primary keyword missing from first paragraph
10Weak E-E-A-T signals (2 indicators)
11Low readability score (29 Flesch) — content is hard to read
12Very high internal link density (58.2/1k words) — may appear spammy
13Primary keyword "personal business banking" not found in body content
14Moderate passive voice (16%)
15No social sharing buttons/widgets detected
16Low OG sharing completeness (0%) — social previews will be poor

Recommendations to Reach 100%

1Expand your meta description to 140–160 characters — this range maximizes SERP visibility in 2025-2026
2Add exactly one H1 tag with your primary keyword to establish page topic
3Fix heading hierarchy to use sequential levels (H1 → H2 → H3) without skipping
4Add a <link rel="canonical"> tag pointing to the preferred version of this page
5Add Open Graph tags (og:title, og:description, og:image, og:url, og:type) for social sharing
6Add Twitter Card meta tags for better social media previews
7Add rel="nofollow noopener noreferrer" to external links pointing to unaffiliated sites
8Consider nofollowing 2–3 less authoritative outbound links to stay in the 2–5 optimal range
9Include your primary keyword naturally in the first paragraph to establish topical relevance early
10Include your primary keyword in the URL slug for improved crawlability and click-through rates
11Strengthen E-E-A-T: add author bios, about page link, testimonials, trust badges, and credentials to demonstrate expertise and trustworthiness
12Link to an About page to establish authoritativeness and brand trust (E-E-A-T)
13Link to a Contact page — essential trust signal for E-E-A-T and local SEO
14Significantly simplify your content — aim for 60+ Flesch Reading Ease with shorter sentences and simpler vocabulary
15Reduce internal link density — excessive linking dilutes individual link value
16Include your primary keyword naturally throughout the content body — aim for 0.5–2.5% density
17Reduce passive voice to under 15% for clearer, more engaging content that AI and readers prefer
18Add TL;DR summaries or definition-style opening paragraphs ("X is...") for zero-click/featured snippet capture
19Add social share buttons (Facebook, Twitter/X, LinkedIn, WhatsApp) to encourage content distribution and earn social signals
20Complete your Open Graph tags (og:title, og:description, og:image, og:url, og:type, og:locale) for rich social media previews

Key Findings

1Excellent server response time: 482ms
2Lean HTML document: 96KB
3Preconnect hints for: https://fonts.googleapis.com, https://fonts.gstatic.com
4Cache-Control header with max-age is set
5Gzip compression enabled
61 third-party script(s) — manageable count
7Estimated LCP: ~1242ms — within Google's "good" threshold (<2.5s)

Issues Found

115 render-blocking scripts slow down initial paint
2No lazy loading on images
3No WebP or AVIF image formats found
4No responsive image srcset found
5Only 0/14 images have width/height attributes
6No font-display property found
76 inline <style> blocks
811 inline scripts
9Moderate CSS payload (~218KB)
10Moderate JavaScript payload (~772KB)
11HTTP/1.1 detected — no multiplexing
12No CDN detected
137 render-blocking CSS files — delays first paint
14High estimated CLS: 0.3 — exceeds Google's 0.25 threshold
15Estimated INP: ~242ms — needs improvement (goal: <200ms)
16Basic analytics only — missing event tracking or tag management

Recommendations to Reach 100%

1Convert all non-critical scripts to async/defer to eliminate render-blocking resources
2Add loading="lazy" to below-the-fold images to improve initial page load
3Convert images to WebP or AVIF format for 30–50% file size reduction
4Use srcset and sizes attributes on images to serve appropriately sized images per device
5Add explicit width and height to all images to prevent Cumulative Layout Shift (CLS)
6Preload critical resources (fonts, hero images) with <link rel="preload">
7Add font-display: swap to web font declarations to show fallback text while fonts load
8Extract inline styles into external CSS files for better caching and maintainability
9Move inline scripts to external files with defer attributes
10Consider purging unused CSS and using critical CSS extraction to reduce render-blocking stylesheets
11Optimize JavaScript delivery with code splitting, deferred loading, and removing duplicate modules
12Upgrade to HTTP/2 or HTTP/3 for faster parallel resource loading and header compression
13Use a Content Delivery Network (CDN) like Cloudflare, CloudFront, or Fastly to reduce global latency
14Reduce render-blocking CSS by inlining critical CSS, using media queries on non-critical stylesheets, and loading non-critical CSS asynchronously
15Fix CLS: add explicit width/height to all images and iframes, preload fonts, avoid injecting content above existing content
16Improve INP: break up long JavaScript tasks, use web workers for heavy computation, debounce input handlers
17Upgrade analytics: add Google Tag Manager for flexible tag deployment and configure custom events (form submissions, CTA clicks, scroll depth)

Key Findings

1Viewport meta tag present: width=device-width,initial-scale=1
2HTML5 doctype declared
3Character encoding declared
4Touch feedback CSS detected (active states or touch-action)

Issues Found

1No theme-color meta tag
2No web app manifest found
3Missing Apple touch icon
4No responsive image srcset — mobile users may download oversized images
5Popup/modal/interstitial detected — Google penalizes intrusive interstitials on mobile
6Only 1 manifest icon size(s) — recommend at least 4 (192, 384, 512, maskable)

Recommendations to Reach 100%

1Add <meta name="theme-color"> for browser chrome styling on mobile
2Create a manifest.json for PWA capabilities and add-to-homescreen support
3Add <link rel="apple-touch-icon"> for iOS homescreen icons
4Consider implementing a service worker for offline support and faster repeat visits
5Implement srcset to serve smaller images on mobile devices, saving bandwidth
6Remove or minimize intrusive interstitials on mobile — Google's Page Experience update penalizes full-screen popups that block content
7Add multiple icon sizes (192x192, 384x384, 512x512, plus maskable) to your manifest for cross-device support
8Add env(safe-area-inset-*) CSS for proper display on notched/island devices

Key Findings

1HTTPS enabled — encrypted connection
2HSTS header present — enforces HTTPS
3X-Content-Type-Options: nosniff is set
4X-Frame-Options header prevents clickjacking
5Server header not exposing technology details
6No cookie security issues detected
7Privacy policy link detected
8Subresource Integrity (SRI) on 1 resource(s) — prevents CDN tampering
9Rate limiting recommended for form endpoints

Issues Found

1Missing Content-Security-Policy header
2Missing Referrer-Policy header
3Missing Permissions-Policy header
47 external links missing rel="noopener noreferrer" — security risk
5HSTS header present but missing preload directive
6No cookie consent banner detected

Recommendations to Reach 100%

1Implement a Content Security Policy to prevent XSS and injection attacks
2Add Referrer-Policy: strict-origin-when-cross-origin to control referrer leakage
3Add Permissions-Policy to restrict access to camera, microphone, geolocation, etc.
4Add Cross-Origin-Opener-Policy: same-origin-allow-popups
5Add Cross-Origin-Resource-Policy: cross-origin
6Add rel="noopener noreferrer" to all external links with target="_blank" to prevent tabnabbing attacks
7Add "preload" to your HSTS header and submit to hstspreload.org for maximum HTTPS enforcement
8Implement a cookie consent banner for GDPR/ePrivacy compliance
9Implement rate limiting on form endpoints to prevent brute-force attacks and spam submissions

Key Findings

1Language declared: en-US
2Skip navigation link present
3All 14 images have alt attributes
4All 1 forms have proper labels
5All iframes have title attributes
6All 26 buttons have accessible labels
7Rich ARIA implementation: 29 elements with ARIA attributes
8Focus styles detected for keyboard navigation
9No major HTML nesting or validity issues detected

Issues Found

1Missing landmarks: main, footer
2Heading hierarchy has gaps — confusing for screen readers
314 images missing explicit dimensions — causes layout shifts for screen reader users
416 focusable element(s) inside aria-hidden containers
51 duplicate ID(s) — breaks ARIA references and label associations

Recommendations to Reach 100%

1Add semantic landmark elements: <main>, <footer>
2Set explicit width and height (or CSS aspect-ratio) on all images to prevent layout shifts that disorient assistive technology users
3Remove focusable elements (links, buttons, inputs) from aria-hidden regions — they trap keyboard users in invisible content
4Ensure all element IDs are unique — duplicate IDs break form labels, ARIA relationships, and fragment navigation

Key Findings

1Some semantic elements: section
2FAQ/Q&A content patterns detected — highly valuable for AI citation
3Social presence signals: instagram, facebook, linkedin
43 call-to-action elements detected
5No AI crawlers blocked via meta tags — content accessible to AI search engines
6robots.txt file found
7High RAG-friendliness (100/100): 0 headings with IDs, 271 section anchors
8Content provenance signals detected (citations with sources, attributed claims)
9Good HTML-to-text ratio (24%) — AI crawlers can extract content efficiently

Issues Found

1No structured data (Schema.org) found
2Incomplete social metadata
3No breadcrumb navigation
4No sitemap reference found
5robots.txt has no Sitemap directive
6robots.txt blocks CSS/JS/image assets — search engines and AI cannot render your page
7No llms.txt file found — AI models cannot find structured guidance for your site
8No content freshness signals (dateModified, datePublished, <time> elements)

Recommendations to Reach 100%

1Implement JSON-LD structured data — start with Organization, BreadcrumbList, and page-specific types
2Add hreflang tags if your site serves multiple languages or regions
3Increase use of semantic HTML5 elements (article, section, aside, figure) for better AI understanding
4Add breadcrumb navigation with BreadcrumbList schema for better site hierarchy signals
5Create and reference an XML sitemap for AI crawler discoverability
6Add a Sitemap: directive to your robots.txt pointing to your XML sitemap for AI and search crawler discoverability
7Remove Disallow rules for /css/, /js/, /images/ in robots.txt — Google and AI crawlers need these to render and understand your pages
8Create /llms.txt following the llms.txt standard: # Title, > description, ## Overview, ## Core Services, ## Key Pages with full URLs
9Create /llms-full.txt with comprehensive documentation (services, pricing, team, case studies) for AI models that need depth
10Add <link rel="alternate" type="text/plain" href="/llms.txt"> in your HTML <head> for AI discoverability
11Add dateModified and datePublished meta tags and use <time datetime="..."> elements — AI models prefer fresh, timestamped content

Key Findings

1Moderate content depth (722 words)
24 emphasized entities
3Structured content: 9 lists, 0 tables — easily parsed by AI
4Good paragraph length for readability and AI parsing
54 external citation(s)
62 call-to-action element(s) detected
7Good form usability score: 100/100
8Clear value proposition detected in heading elements

Issues Found

1No structured Q&A content
2Low semantic markup ratio — 460 divs vs 6 semantic elements
3Weak E-E-A-T schema signals
4No author or expertise signals
5No CTA above the fold
6Insufficient trust signals for conversion optimization
7No social proof elements

Recommendations to Reach 100%

1Add FAQ or Q&A sections — AI models heavily rely on question-answer patterns for training data
2Replace generic <div> wrappers with semantic elements (article, section, aside, figure) for AI clarity
3Add Person, Article, and Review schemas to demonstrate expertise, experience, authoritativeness, and trustworthiness
4Add Speakable schema markup to help voice assistants identify the most important content
5Include specific statistics, percentages, and data points that AI models can extract and cite in responses
6Include expert quotes in <blockquote> elements to boost E-E-A-T and citation potential
7Add visible author bylines with bios and link to author pages — AI models evaluate content credibility through authorship signals
8Add more clear CTAs ("Get Started", "Request Quote", "Contact Us") throughout the page for higher conversion rates
9Place a clear CTA in your hero/header section so visitors see a conversion path immediately upon landing
10Add trust signals: testimonials, trust badges, guarantees, client logos, and privacy indicators to boost conversion confidence
11Add social proof: testimonials, client counts ("500+ businesses served"), case studies, or review snippets near CTAs

Key Findings

1Direct question-answer patterns found — good for Google SGE and AI citations
29 lists provide scannable, AI-friendly content

Issues Found

1No data tables for AI comparison extraction
2Insufficient structured data for generative engine context
3No hreflang tags — generative engines cannot determine language/region targeting
4No statistics or data points in substantial content

Recommendations to Reach 100%

1Add comparison tables with structured data — generative AI engines frequently cite tabular content
2Include how-to or step-by-step instructional content for generative AI answer inclusion
3Consider using <dl>/<dt>/<dd> definition lists for key terms and concepts
4Include unique statistics, expert quotes, and original insights that generative AI would want to cite
5Add multiple schema types (Article, FAQ, HowTo) to help generative engines contextualize your content
6Add bidirectional hreflang tags with x-default to help AI engines serve the correct language variant
7Include specific statistics, percentages, and numerical data — generative engines prefer content with verifiable data points
8Add original data visualizations, charts, or data tables — generative engines cite pages with unique, first-party data
9Include first-hand insights using phrases like "our research found" or "based on our analysis" to demonstrate original expertise

Key Findings

1Question-answer heading patterns support featured snippet capture
2Short paragraphs are well-suited for answer extraction
39 lists provide scannable answers for People Also Ask
48 concise answer-length paragraphs (10–50 words) — ideal for snippet extraction
5Content length and paragraph structure are voice-search optimized

Issues Found

1No FAQ content or schema
2No Speakable schema for voice search
3No breadcrumb navigation
4No direct answer patterns ("X is defined as...", "X refers to...")

Recommendations to Reach 100%

1Create an FAQ section with FAQPage structured data — essential for People Also Ask and featured snippet inclusion
2Consider adding how-to content with HowTo schema for step-by-step rich results
3Add Speakable schema to mark sections suitable for text-to-speech by voice assistants
4Add breadcrumb navigation with BreadcrumbList schema for better content hierarchy signals
5Consider adding video content with VideoObject schema for multimedia search results
6Include direct definitional statements like "X is..." or "X refers to..." — answer engines extract these as zero-click results

Key Findings

1NAP information detected: phone: 6389013562
2Phone number(s) visible: 6389013562, 4815733

Issues Found

1No LocalBusiness structured data
2No Google Maps embed
3No address microdata
4No geo meta tags
5No review/rating schema

Recommendations to Reach 100%

1Consider displaying a business email for direct contact signals
2Add LocalBusiness (or specific subtype like ProfessionalService) JSON-LD schema with name, address, phone, hours, and geo coordinates
3Add an embedded Google Map to your contact or about page for local search signals
4Add PostalAddress schema or itemprop="address" microdata to your address elements
5Add geo.region, geo.placename, and geo.position meta tags for geographic targeting
6Add AggregateRating schema to display star ratings in search results — reviews significantly impact local click-through rates

Issues Found

1No Schema.org structured data found
2Missing high-impact schema types: Organization, WebSite

Recommendations to Reach 100%

1Implement JSON-LD structured data immediately — start with Organization, WebSite, and BreadcrumbList
2Priority schema types to add: Organization, WebSite — these have the highest SEO impact for your page type

Key Findings

1Links are visually distinguishable (underline or decoration detected)
2Relative units (rem/em/clamp) detected — supports text resizing
3Focus styles detected for keyboard navigation visibility
4Page language declared — aids assistive technology
5All ARIA roles are valid
6Focus not obscured by sticky/fixed elements (WCAG 2.4.11)
7Accessible authentication detected (autocomplete, no CAPTCHA barriers) — WCAG 3.3.8

Issues Found

1No prefers-reduced-motion support
2No high contrast mode support
3No error suggestion mechanisms detected in forms
4Low semantic-to-div ratio — 460 divs vs 6 semantic elements
56 elements with tabindex="-1" — may hide content from keyboard users
6No form error identification detected

Recommendations to Reach 100%

1Add @media (prefers-reduced-motion: reduce) to disable animations for users who are sensitive to motion
2Add @media (prefers-contrast: high) or (forced-colors: active) styles for users with low vision
3Add aria-invalid, aria-errormessage, and visible error messages for form validation (WCAG 3.3.3)
4Replace more generic <div> elements with semantic HTML5 tags for better screen reader navigation
5Review elements with tabindex="-1" — ensure important interactive elements remain keyboard-accessible
6Add aria-invalid, aria-errormessage, and inline error messages to form fields (WCAG 3.3.1/3.3.3)
Limited-Time Offer

All 12 Optimizations — Bundled Into Your Custom Website

We're currently bundling every optimization from this audit — SEO, AIO, GEO, AEO, Schema.org, WCAG accessibility, performance, security, and more — directly into our Custom Web Application Development service.

Instead of fixing issues after launch, we eliminate them from the start. Every website we build ships production-ready with a 90+ score across all 12 audit dimensions.