/** * Summit Signal - AI-Powered Conversion Optimization * Version: 3.0.0 * * This script enables: * 1. Event tracking for user behavior * 2. A/B test implementation via CSS selectors (no manual attributes needed) * 3. Dynamic content optimization based on AI suggestions */ (function() { 'use strict'; // Configuration const CONFIG = { API_URL: window.SUMMIT_SIGNAL_API_URL || 'https://tfwfjryeygculbnkotzg.supabase.co/functions/v1', TRACKING_ID: window.SUMMIT_SIGNAL_ID || null, DEBUG: window.SUMMIT_SIGNAL_DEBUG || false }; if (!CONFIG.TRACKING_ID) { console.error('[Summit Signal] Missing SUMMIT_SIGNAL_ID'); return; } // Add anti-flicker CSS - hide elements until optimizations are applied const antiFlickerStyle = document.createElement('style'); antiFlickerStyle.id = 'summit-signal-anti-flicker'; antiFlickerStyle.textContent = ` [data-summit-loading] { opacity: 0 !important; transition: opacity 0.15s ease-in-out; } [data-summit-loaded] { opacity: 1 !important; } `; document.head.appendChild(antiFlickerStyle); // Timeout to prevent permanent hiding if API fails const ANTI_FLICKER_TIMEOUT = 2000; // Utility functions const log = (...args) => CONFIG.DEBUG && console.log('[Summit Signal]', ...args); const error = (...args) => console.error('[Summit Signal]', ...args); // Session management const getSessionId = () => { let sessionId = sessionStorage.getItem('summit_signal_session'); if (!sessionId) { sessionId = 'ss_' + Math.random().toString(36).substring(2, 15) + Date.now().toString(36); sessionStorage.setItem('summit_signal_session', sessionId); } return sessionId; }; const sessionId = getSessionId(); // Track applied tests to prevent duplicates const appliedTests = new Set(); // Event tracking const trackEvent = async (eventType, elementId, metadata = {}) => { try { const response = await fetch(`${CONFIG.API_URL}/summit-track-event`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ site_id: CONFIG.TRACKING_ID, event_type: eventType, element_id: elementId, session_id: sessionId, page_path: window.location.pathname, metadata }) }); if (!response.ok) { throw new Error(`HTTP ${response.status}`); } log(`Tracked ${eventType} on ${elementId}`); } catch (err) { error('Track event failed:', err); } }; /** * Find element using CSS selector or data-summit-id fallback */ const findElement = (cssSelector, elementId) => { // Try CSS selector first if (cssSelector) { const el = document.querySelector(cssSelector); if (el) { log(`Found element via CSS selector: ${cssSelector}`); return el; } log(`CSS selector not found: ${cssSelector}`); } // Fallback to data-summit-id for backwards compatibility if (elementId) { const el = document.querySelector(`[data-summit-id="${elementId}"]`); if (el) { log(`Found element via data-summit-id: ${elementId}`); return el; } } return null; }; // Visibility tracking (for elements with data-summit-id - backwards compatible) const setupVisibilityTracking = () => { const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting && entry.intersectionRatio >= 0.5) { const elementId = entry.target.getAttribute('data-summit-id'); if (elementId && !entry.target.dataset.summitTracked) { entry.target.dataset.summitTracked = 'true'; trackEvent('visible', elementId); } } }); }, { threshold: [0.5] }); document.querySelectorAll('[data-summit-id]').forEach(el => { observer.observe(el); }); // Watch for new elements const mutationObserver = new MutationObserver(() => { document.querySelectorAll('[data-summit-id]:not([data-summit-tracked])').forEach(el => { observer.observe(el); }); }); mutationObserver.observe(document.body, { childList: true, subtree: true }); }; // Click tracking const setupClickTracking = () => { document.addEventListener('click', (e) => { // Track clicks on tested elements const testedEl = e.target.closest('[data-summit-test]'); if (testedEl) { const testId = testedEl.dataset.summitTest; const variant = testedEl.dataset.summitVariant; trackEvent('cta-click', testId, { test_id: testId, variant }); log(`Click tracked: test=${testId}, variant=${variant}`); return; } // Backwards compatible: track clicks on data-summit-id elements const target = e.target.closest('[data-summit-id]'); if (target) { const elementId = target.getAttribute('data-summit-id'); trackEvent('cta-click', elementId); } }); }; // A/B Testing & Implementation const applyOptimizations = async (isInitial = false) => { // Track elements we're potentially modifying for anti-flicker const elementsToReveal = []; try { // Check for preview mode via URL params const urlParams = new URLSearchParams(window.location.search); const previewElement = urlParams.get('summit_preview') || urlParams.get('signal_preview') || urlParams.get('summit_preview_element'); const previewVariant = urlParams.get('summit_variant') || urlParams.get('variant') || urlParams.get('summit_preview_variant'); if (previewElement && previewVariant) { log(`Preview mode: showing ${previewVariant} for ${previewElement}`); // Show preview banner if (!document.getElementById('summit-signal-preview-banner')) { const banner = document.createElement('div'); banner.id = 'summit-signal-preview-banner'; banner.innerHTML = `
🧪 Summit Signal Preview Mode - Viewing Variant ${previewVariant.toUpperCase()} for "${previewElement}"
`; document.body.prepend(banner); } } const response = await fetch(`${CONFIG.API_URL}/summit-signal-implement`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ site_tracking_id: CONFIG.TRACKING_ID, preview_element: previewElement, preview_variant: previewVariant }) }); if (!response.ok) { throw new Error(`HTTP ${response.status}`); } const data = await response.json(); log('Received optimizations:', data); // Apply winning variants (permanent changes) data.winners?.forEach(winner => { const element = findElement(winner.css_selector, winner.element_id); if (element) { element.textContent = winner.content; element.dataset.summitTest = winner.element_id; element.dataset.summitVariant = 'winner'; element.removeAttribute('data-summit-loading'); element.setAttribute('data-summit-loaded', 'true'); elementsToReveal.push(element); log(`Applied winner for ${winner.element_id}: "${winner.content}"`); } else { log(`Winner element not found: ${winner.element_id} (selector: ${winner.css_selector})`); } }); // Apply A/B test variants data.active_tests?.forEach(test => { // Skip if already applied if (appliedTests.has(test.element_id)) { log(`Test ${test.element_id} already applied, skipping`); return; } const element = findElement(test.css_selector, test.element_id); if (element) { // Check if this element is in preview mode const forceVariant = previewElement === test.element_id ? previewVariant : null; const showB = forceVariant ? (forceVariant === 'b' || forceVariant === 'variant_b') : test.show_variant_b; const variant = showB ? test.variant_b : test.variant_a; const variantLabel = showB ? 'b' : 'a'; // Store original content if (!element.dataset.summitOriginal) { element.dataset.summitOriginal = element.textContent; } element.textContent = variant; element.dataset.summitTest = test.test_id || test.element_id; element.dataset.summitVariant = variantLabel; element.removeAttribute('data-summit-loading'); element.setAttribute('data-summit-loaded', 'true'); elementsToReveal.push(element); appliedTests.add(test.element_id); if (forceVariant) { element.style.outline = '3px solid #f97316'; element.style.outlineOffset = '2px'; log(`Preview: forced variant ${forceVariant} for ${test.element_id}`); } else { log(`Applied variant ${variantLabel} for ${test.element_id}: "${variant}"`); } // Track impression (skip in preview mode) if (!previewElement) { trackEvent('ab-impression', test.element_id, { test_id: test.test_id, variant: variantLabel }); } } else { log(`Test element not found: ${test.element_id} (selector: ${test.css_selector})`); } }); log('Optimizations applied successfully'); } catch (err) { error('Apply optimizations failed:', err); // On error, reveal any hidden elements document.querySelectorAll('[data-summit-loading]').forEach(el => { el.removeAttribute('data-summit-loading'); el.setAttribute('data-summit-loaded', 'true'); }); } }; // Connection heartbeat const sendHeartbeat = async () => { try { const response = await fetch(`${CONFIG.API_URL}/verify-addon-connection`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ site_tracking_id: CONFIG.TRACKING_ID, ping_type: 'heartbeat', metadata: { page: window.location.pathname, timestamp: new Date().toISOString(), version: '3.0.0' } }) }); if (response.ok) { log('Heartbeat sent successfully'); } } catch (err) { error('Heartbeat failed:', err); } }; // Initialize const init = async () => { log('Initializing Signal v3.2.0 (anti-flicker mode)'); log('Tracking ID:', CONFIG.TRACKING_ID); // Set up anti-flicker timeout - ensure elements show even if API fails const antiFlickerTimeout = setTimeout(() => { document.querySelectorAll('[data-summit-loading]').forEach(el => { el.removeAttribute('data-summit-loading'); el.setAttribute('data-summit-loaded', 'true'); }); log('Anti-flicker timeout reached, revealing elements'); }, ANTI_FLICKER_TIMEOUT); // Send initial heartbeat (don't await - run in parallel) sendHeartbeat(); // Send heartbeat every 2 minutes setInterval(sendHeartbeat, 2 * 60 * 1000); // Apply optimizations first (before content is visible) await applyOptimizations(true); // Clear timeout since we've applied optimizations clearTimeout(antiFlickerTimeout); // Poll for new tests every 30 seconds (reduced frequency) setInterval(async () => { // Clear applied tests to allow re-fetching appliedTests.clear(); await applyOptimizations(false); }, 30 * 1000); // Set up tracking if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => { setupVisibilityTracking(); setupClickTracking(); }); } else { setupVisibilityTracking(); setupClickTracking(); } log('Initialized successfully'); }; // Expose API for manual use window.SummitSignal = { trackEvent, applyOptimizations, version: '3.2.0' }; init(); })(); /** * Summit Wellness AI - 24/7 SEO Monitoring & Backlink Building * Version: 1.0.0 * * This script enables: * 1. Connection heartbeat monitoring * 2. SEO performance tracking * 3. Backlink monitoring * 4. Content health checks * 5. Technical SEO auditing */ (function() { 'use strict'; // Configuration const CONFIG = { API_URL: window.SUMMIT_WELLNESS_API_URL || 'https://tfwfjryeygculbnkotzg.supabase.co/functions/v1', TRACKING_ID: window.SUMMIT_WELLNESS_ID || null, DEBUG: window.SUMMIT_WELLNESS_DEBUG || false }; if (!CONFIG.TRACKING_ID) { console.error('[Summit Wellness] Missing SUMMIT_WELLNESS_ID'); return; } // Utility functions const log = (...args) => CONFIG.DEBUG && console.log('[Summit Wellness]', ...args); const error = (...args) => console.error('[Summit Wellness]', ...args); // Connection heartbeat const sendHeartbeat = async () => { try { const response = await fetch(`${CONFIG.API_URL}/verify-addon-connection`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ site_tracking_id: CONFIG.TRACKING_ID, ping_type: 'heartbeat', metadata: { page: window.location.pathname, timestamp: new Date().toISOString(), service: 'wellness' } }) }); if (response.ok) { log('Heartbeat sent successfully'); } } catch (err) { error('Heartbeat failed:', err); } }; // Collect SEO metadata for monitoring const collectSEOData = () => { const data = { title: document.title, description: document.querySelector('meta[name="description"]')?.content || '', keywords: document.querySelector('meta[name="keywords"]')?.content || '', canonical: document.querySelector('link[rel="canonical"]')?.href || window.location.href, og_title: document.querySelector('meta[property="og:title"]')?.content || '', og_description: document.querySelector('meta[property="og:description"]')?.content || '', og_image: document.querySelector('meta[property="og:image"]')?.content || '', h1_count: document.querySelectorAll('h1').length, h2_count: document.querySelectorAll('h2').length, img_without_alt: document.querySelectorAll('img:not([alt])').length, links_internal: document.querySelectorAll('a[href^="/"], a[href^="' + window.location.origin + '"]').length, links_external: document.querySelectorAll('a[href^="http"]:not([href^="' + window.location.origin + '"])').length, word_count: document.body.innerText.split(/\s+/).length, has_schema: !!document.querySelector('script[type="application/ld+json"]'), viewport: document.querySelector('meta[name="viewport"]')?.content || '', page_load_time: performance.timing.loadEventEnd - performance.timing.navigationStart }; log('SEO data collected:', data); return data; }; // Send wellness audit data const sendWellnessAudit = async () => { try { const seoData = collectSEOData(); const response = await fetch(`${CONFIG.API_URL}/summit-wellness-audit`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ site_id: CONFIG.TRACKING_ID, page_path: window.location.pathname, seo_data: seoData, timestamp: new Date().toISOString() }) }); if (response.ok) { log('Wellness audit sent successfully'); } } catch (err) { error('Wellness audit failed:', err); } }; // Check for broken images const checkBrokenImages = () => { const images = document.querySelectorAll('img'); const broken = []; images.forEach(img => { if (!img.complete || img.naturalHeight === 0) { broken.push({ src: img.src, alt: img.alt || 'No alt text' }); } }); if (broken.length > 0) { log('Broken images detected:', broken); } return broken; }; // Monitor page performance const trackPerformance = () => { if (window.performance && window.performance.timing) { const timing = window.performance.timing; const metrics = { dns_time: timing.domainLookupEnd - timing.domainLookupStart, tcp_time: timing.connectEnd - timing.connectStart, request_time: timing.responseEnd - timing.requestStart, dom_processing: timing.domComplete - timing.domLoading, total_load_time: timing.loadEventEnd - timing.navigationStart }; log('Performance metrics:', metrics); return metrics; } return null; }; // Initialize const init = async () => { log('Initializing Wellness v1.0.0'); log('Tracking ID:', CONFIG.TRACKING_ID); // Send initial heartbeat await sendHeartbeat(); // Send heartbeat every 2 minutes setInterval(sendHeartbeat, 2 * 60 * 1000); // Wait for page to fully load before collecting data if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', async () => { // Collect and send initial wellness audit setTimeout(async () => { await sendWellnessAudit(); checkBrokenImages(); trackPerformance(); }, 1000); // Wait 1 second after DOM ready }); } else { // Page already loaded setTimeout(async () => { await sendWellnessAudit(); checkBrokenImages(); trackPerformance(); }, 1000); } // Send wellness audit every 30 minutes setInterval(sendWellnessAudit, 30 * 60 * 1000); log('Initialized successfully'); }; init(); })();

Website Wellness™ for Total Peace of Mind

You Manage Your Business, We Manage Your Website

Just like your business, your website needs ongoing care to stay strong. Our Website Wellness™ program keeps your site secure, updated, and high-performing with proactive monitoring and support. From bug fixes to feature enhancements, we provide continuous care that prevents issues before they impact your business.

Healthy Websites, Healthy Growth

You Manage Your Business, We Manage Your Website

Your website isn’t a “set it and forget it” tool — it needs regular care to stay healthy, secure, and effective. Website Wellness™ is our ongoing service designed to keep your site running at peak performance. From monitoring speed and uptime to applying security updates, fixing bugs, and improving user experience, we treat your site like a living asset that powers your business. With proactive maintenance, optimization, and continuous improvements, Website Wellness™ helps prevent costly downtime, protects your investment, and ensures your digital presence grows with you.

Why Helbling Digital Media

Why Choose to Use Our Website Wellness™ Service?

Claim Your Free Strategy Session

Proactive Care

We monitor and fix issues before they cause downtime.

 Comprehensive Support

Covering updates, performance, and security.

Scalable Plan

Flexible support packages that grow with your business.

Dedicated Team

Always available to keep your site healthy.

Services

Explore Our Services Under
Website Wellness™ Program

24/7 Monitoring

Always watching over your site

24/7 Monitoring

Your website never sleeps, and neither do we. With round-the-clock monitoring, we track uptime, performance, and potential threats to ensure your site is always available. If an issue arises, our team gets notified immediately so we can take swift action, minimizing downtime and keeping your business online and accessible.

Regular Security Updates

Protecting against threats

Regular Security Updates

Staying ahead of security risks means keeping your site’s software up to date. We manage regular updates for your CMS, plugins, and extensions to patch vulnerabilities before they become problems. By proactively applying security updates, we reduce risks from malware, data breaches, and evolving cyber threats.

Performance Optimization

Fast and reliable experience

Performance Optimization

A slow website costs you traffic and revenue. We fine-tune performance through caching strategies, code optimization, image compression, and server enhancements. Our goal is to deliver lightning-fast load times that improve user experience and boost search engine rankings, ensuring your site runs as efficiently as possible.

Content Updates

Keeping your site fresh

Content Updates

Fresh content keeps your website relevant and engaging. We manage updates to copy, imagery, and multimedia so your site stays current with your brand and industry. Whether it’s publishing blog posts, updating product details, or refreshing visuals, we ensure your content reflects your evolving business. We include at least one hour a month in our contract for these types of updates with our Website Wellness™ program.

Plugin & Extension Management

Safe and updated tools

Plugin & Extension Management

Outdated or poorly managed plugins can slow your site or create vulnerabilities. We handle the installation, configuration, and updating of plugins and extensions to keep everything secure, stable, and compatible. By managing these tools proactively, we help your website maintain top performance without unnecessary risk.

Bug Fixes & Troubleshooting

Resolving issues quickly

Bug Fixes & Troubleshooting

Even well-built websites can run into issues. We provide quick diagnosis and resolution of bugs, broken features, or unexpected errors. From layout glitches to backend issues, our troubleshooting ensures your website continues to work as expected, minimizing disruption for your users and your business.

Backup & Recovery

Protecting your data

Backup & Recovery

Accidents happen — but with the right backup strategy, recovery is simple. We set up automated, secure backups of your site and database, ensuring your data is always safe. In the event of an outage, cyberattack, or accidental loss, we can restore your site quickly, minimizing downtime and protecting your investment.

Security Audits

Ongoing protection

Security Audits

Security isn’t a one-time task — it’s an ongoing process. Our regular security audits test your website for vulnerabilities, review compliance with best practices, and identify areas for improvement. By catching weaknesses early, we strengthen your defenses and reduce the likelihood of costly breaches.

Scalability Enhancements

Preparing for growth

Scalability Enhancements

As your business grows, your website needs to grow with it. We implement scalability improvements — from database optimizations to server upgrades — to prepare your site for higher traffic and more complex functionality. This ensures you’re always ready to handle growth without sacrificing performance.

Mobile Optimization

Great experiences everywhere

Mobile Optimization

More than half of all web traffic comes from mobile devices. We optimize your site for smaller screens with responsive layouts, mobile-friendly navigation, and faster loading times. The result is a seamless browsing experience across devices that keeps mobile visitors engaged and converts them into customers.

SEO Health Checks

Maintaining visibility

SEO Health Checks

Search visibility depends on more than keywords. We perform SEO audits that review site structure, metadata, speed, and indexing to identify what’s helping or hurting your rankings. Regular health checks keep your website optimized for search engines, driving more qualified traffic to your business.

Dedicated Support Team

Always here for you

Dedicated Support Team

You’re never on your own. Our dedicated support team is available to answer questions, resolve issues, and provide guidance whenever you need it. Whether it’s a quick fix, strategic advice, or emergency support, you have experts on your side to keep your website healthy and performing at its best.

How It Works

Check Out Our Process

1
Initial Audit

Assessing your site’s health

We start with a full audit to identify strengths, weaknesses, and risks.

2
Onboarding & Setup

Integrating monitoring tools

We set up monitoring, backups, and reporting systems for your site.

3
Regular Monitoring

We monitor uptime, performance, and security 24/7 to catch problems instantly.

We build prototypes and designs to visualize app functionality and flow.

4
Ongoing Maintenance

Keeping everything updated

We apply updates, patches, and fixes regularly to ensure stability.

5
Reporting & Reviews

Transparency in performance

We deliver regular reports on your site’s health, performance, and improvements.

6
Continuous Improvement

Preparing for the future

We recommend and implement enhancements that improve scalability and reliability.

Testimonials

What Our Clients Say

Website Wellness has been a dream to work with. They do a great job of bridging the technical non-sense associated with the care and feeding of a web presence into easily understandable business concepts. I highly recommend them!

Tim Campbell
L2 Source

Keeping our website and application up and running is very important to us and drives traffic to our online presence, Heibling Digital Media has been doing an excellent job at keeping us at the top of the list for people to view. When issues arise, they get it taken care of immediately. Again all their hard work is much appreciated

Steve Weeks
TriState Signs Unlmited

HDM is an incredibly responsive, professional group to work with. They respond right away when we have questions or need work on the website. The projects are done on time and work exactly as we expected. Highly recommend this team for your website work.

Joanna
Map Your Show

Website Wellness is an outstanding tool for small businesses like mine. If you don't have the time or expertise to keep your website operationally healthy with up-to-date content—and most small-business owners don't—this cost-efficient option is for you.

Todd Sebastian
Todd Sebastian

HDM are the experts in maintaining a healthy website, a necessary tool to compete in today's marketplace. HDM's approach is both proactive in its management and extremely responsive to specific customer requests.

Matt V
Response Technologies

Highly recommend this program if you're looking for a simple, effective, and budget-friendly way to take website maintenance off your plate!

Zach
Independent strategist

I’ve had the pleasure of working with John Helbling of HDM in multiple capacities—first as a consultant and later as a full-time team member in a corporate role. John has consistently proven himself to be an exceptional web developer and technology expert. His deep expertise in WordPress, SharePoint, and HubSpot, combined with his ability to architect and implement complex solutions, has been invaluable. Beyond his technical skills, John has a keen eye for UI/UX, ensuring that the solutions he builds are not only functional but also intuitive and user-friendly. John’s ability to translate business needs into smart, scalable technology solutions sets him apart. He’s a problem solver, a collaborator, and someone who can be relied upon to deliver high-quality work. Whether as a consultant or a full-time team member, I highly recommend John for any organization looking for a skilled and strategic technology professional.

Craig Herget
Core Design Team

Keep Your Website Healthy With Website Wellness™

How It Works

Frequently Asked Questions

What is included in the Website Wellness™ Program?

Our program covers everything from 24/7 monitoring and security updates to content changes, performance optimization, and backups. It’s designed to keep your site secure, fast, and reliable while adapting to your business needs.

Do I really need ongoing website maintenance?

Yes — websites are like living systems. Without regular updates and monitoring, they can slow down, break, or become vulnerable to security threats. Website Wellness™ keeps your site healthy so it continues to perform and grow with your business.

How often do you perform updates and checks?

We monitor your site continuously and apply updates, security patches, and fixes on an ongoing basis. Most updates happen behind the scenes, so your site runs smoothly without interruptions.

What happens if my site goes down or is hacked?

With 24/7 monitoring, backups, and rapid response, we can quickly restore your site and patch vulnerabilities. The Website Wellness™ Program is designed to minimize downtime and protect your business.

Is Website Wellness™ only for WordPress sites?

Not at all. While many of our clients use WordPress, we also support Webflow, Shopify, custom builds, and other platforms. The Website Wellness™ program is designed to work across different technologies so your site gets the care it needs, no matter where it’s built.

What if I need more support than the standard plan?

We offer three levels of Website Wellness™ plans, and we can also create a custom package based on your needs. Every plan includes at least one hour of content updates each month, with higher tiers offering expanded support, advanced monitoring, and more frequent updates.

Consultations

Whether you’re looking to protect your current site, improve performance, or get ongoing support, our Website Wellness™ program is designed to keep your site healthy and growing. Fill out the form below to connect with our team, and we’ll recommend the right plan to match your goals and platform.

Preferred Contact Method
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Keep Your Website Healthy With Website Wellness™

Protect your investment and keep your site performing at its best with our proactive Website Wellness™ program.