Mobile and tablet visitors get no tap-to-call, and the mid-page phone button is not a link
homepage.html lines 422 to 423: the header row holding the phone and CTA opens <div class="header--row header-top hide-on-mobile hide-on-tablet layout-full-contained header--row" data-row-id="top" data-show-on="desktop">. Line 434 inside it holds the page's only tel link, <a href="tel:8187871470" class="yellow-border-btn">. grep on homepage.html: href="tel: appears 1 time, (818) 787-1470 appears 2 times. The mobile header row at lines 518 to 624, data-show-on="mobile", contains only the brand logo link, the menu-mobile-toggle button and the slide-out menu panel, with no tel link. Line 1051, the red-band phone button, is <a class="elementor-button elementor-size-md" role="button"> with no href at all, wrapping an fa-phone icon and the text span (818) 787-1470 on line 1056. live-mobile-fold.png shows logo and MENU only in the header, then a Book Free Residential Assessment button and a Generator Maintenance & Services button, with no phone number in the first viewport. crawl-summary.txt line 75 reports tel: links on 161 of 163 pages, which is this same desktop-only header row repeated sitewide. Live check Sep 9, 2026: curl of https://www.googletagmanager.com/gtm.js?id=GTM-N7XTZCZ, container id from domain-tech.txt line 75, 462,725 bytes, contains __awcc 5 times and a tag with "vtp_phoneConversionNumber":"(818) 787-1470", so Google Ads call reporting depends on that number being a visible text element. The tag name "Calls from website" is not exposed in the public container and could not be verified.
A generator installer sells 24-hour emergency service to a mobile-first audience and the phone is the highest-intent conversion. On phones and tablets the homepage has zero tappable numbers, the one phone-styled button is inert on every device, and the Ads call conversion cannot swap or count a hidden number, so paid data understates calls. The number is still in the DOM for indexing. The cost is lost calls and blind paid attribution, not rankings.
Three edits, in this order, all in the WordPress admin with no code.
1. Neve header, mobile row. Appearance > Customize > Header Builder, switch the builder to the Mobile tab. Add a Button component to the Main row beside the MENU toggle, or to the Bottom row if the Main row is crowded. Label (818) 787-1470, link tel:+18187871470, same tab, CSS class yellow-border-btn so it matches desktop. Add a second Button labeled Get Free Assessment with link # and CSS class open-widget-btn so the existing widget script binds to it. Publish once and it ships to all 163 pages through the shared header.
2. Elementor red band and footer. Open the homepage in Elementor, select the phone button in the get-free section, set Content > Link to tel:+18187871470, Update. Then open Templates > Theme Builder > Footer and add the same tel: button plus the street address, so every page carries a tappable NAP below the fold. The footer currently has no phone at all.
3. Optional sticky bar. Install the Call Now Button plugin, pick the Full width bar type, add Call to tel:+18187871470 and Book to the assessment form, show on mobile only. Skip this if step 1 puts the phone in the first viewport.
Verify on a real phone, not desktop emulation. Tap the header and red-band buttons and confirm the dialer opens. Then in Google Ads go to Goals > Conversions and confirm the phone conversion number to replace reads exactly (818) 787-1470, matching the on-page label. Keep that format identical everywhere so the swap script matches. Place a test call from an ad click and confirm it lands in the conversion within 48 hours.
Same pass, related: the hand-coded Electrician schema on the homepage still carries telephone +1-800-XXX-XXXX and streetAddress Your Street Address. Replace both with the real values so NAP in schema matches the header.
Pages. Header on all 163 pages via the Neve header template, plus the homepage red-band phone button