Fix Hub

Every Problem We Detect, Explained & Fixed

Your scan found issues. This page explains what each problem means, why it matters, and gives you step-by-step instructions to fix it — organized by category.

Website Issues Social Media Google / GBP

Website Issues

Problems found in your website’s code, speed, security, and structured data.

Missing LocalBusiness Schema -15 pts

What this means: Your website has no JSON-LD structured dataJSON-LD is a script block in your HTML that describes your business in machine-readable format. Google, ChatGPT, Claude, and other AI engines use this to understand who you are, where you are, and what you offer. telling Google and AI engines your business name, address, phone, hours, and services. Without it, AI assistants cannot accurately describe or recommend your business.
Choose the right @type. Use the most specific type for your business: ProfessionalService, Restaurant, Store, MedicalClinic, etc. — not just generic LocalBusiness.
Build the JSON-LD block. Include: name, address (PostalAddress), telephone, openingHoursSpecification, url, geo (lat/lng), image, priceRange.
WordPress Install the Rank Math SEO or Yoast SEO plugin → Go to Search Appearance → Local SEO → Fill in every field.
Wix Settings → Business Info → Fill in all fields. Wix auto-generates schema from this data.
Squarespace Settings → Business Information → Fill in address, phone, hours. Add custom code via Code Injection for full control.
Shopify Edit theme.liquid → Paste JSON-LD before </head>. Or use the “JSON-LD for SEO” app.
Custom HTML Paste the JSON-LD <script type="application/ld+json"> block before </head> on every page.
Validate. Paste your URL into Google Rich Results Test to confirm no errors.
Full Schema Doctor Guide Interactive Schema Builder

Missing FAQ Schema -10 pts

What this means: You have no FAQPage structured data. FAQ schema powers Google’s “People Also Ask” featured snippets and gives AI models Q&A content to cite when recommending businesses. Without it, you miss a major visibility channel.
Gather 5–10 real customer questions. Use your Google Business Profile Q&A, customer emails, or our Voice of Customer tool for PAA data.
Write detailed answers. Each answer should be 2–4 sentences. Include your city name and primary service naturally.
Add FAQPage JSON-LD to your homepage. Each Q&A pair is a Question with an acceptedAnswer containing the text.
WordPress Rank Math → add FAQ block in page editor. Or paste JSON-LD manually in theme header.
All Platforms Add the JSON-LD <script> block directly in your page HTML or Code Injection section.
Voice of Customer / PAA Guide

AI Bots Blocked (GPTBot / ClaudeBot) -8 to -12 pts

What this means: Your robots.txtrobots.txt is a file at yoursite.com/robots.txt that tells web crawlers which parts of your site they can access. If GPTBot or ClaudeBot are blocked (or not explicitly allowed), those AI assistants cannot read your content. file is blocking AI crawlers. ChatGPT, Claude, and other AI assistants check this file before reading your site. If they’re blocked, they will never know your business exists.
Check your robots.txt. Visit yoursite.com/robots.txt in a browser. Look for Disallow: / rules that apply to GPTBot, ClaudeBot, or User-agent: *.
Add explicit allow rules. Add these lines to your robots.txt:
User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /
WordPress Use Rank Math or Yoast to edit robots.txt, or upload via FTP to your site root.
Wix Wix SEO Settings → robots.txt editor → Add the allow rules.
Squarespace Settings → SEO → Custom robots.txt → Add the allow rules.
AI Visibility Explained

Missing llms.txt File -3 pts

What this means: You don’t have a llms.txtllms.txt is like robots.txt but for AI models. It's a plain text file at /llms.txt that describes your business in natural language. AI crawlers read it to understand your business context, services, and location. Learn more at llmstxt.org. file. This file describes your business for AI models in plain language. Think of it as a cover letter for ChatGPT and Claude.
Create a file called llms.txt in your website’s root directory (same place as robots.txt).
Write 5–10 sentences describing your business. Include: business name, what you do, where you’re located, who you serve, your specialties, and your competitive advantage.
Upload to your web server. It should be accessible at yoursite.com/llms.txt.
Monitor subscribers ($37/mo) can generate a custom AI-optimized llms.txt from the Command Center dashboard.

Slow Page Speed -5 to -15 pts

What this means: Your website takes more than 2 seconds to load. Google uses Core Web VitalsCore Web Vitals are Google's metrics for user experience: Largest Contentful Paint (loading speed), First Input Delay (interactivity), and Cumulative Layout Shift (visual stability). They directly affect search rankings. as a ranking factor, and slow sites lose 50%+ of mobile visitors before the page even loads.
Compress images. Use WebP format. Resize to actual display dimensions. Use lazy loading (loading="lazy") for below-the-fold images.
Enable browser caching. Set cache headers for static assets (images, CSS, JS) to at least 30 days.
Minify CSS and JavaScript. Remove whitespace and comments from production files.
Defer non-critical JavaScript. Add defer or async to script tags that aren’t needed for initial render.
Use a CDN. Cloudflare (free tier) or your host’s built-in CDN reduces latency for distant visitors.
Test with PageSpeed Insights. Run your URL at pagespeed.web.dev and fix the top recommendations.

Missing SEO Essentials (Title / Meta / H1 / Sitemap) -5 pts each

What this means: Your page is missing one or more fundamental SEO elements. Each missing element costs 5 points in your AI Visibility Score. These are table stakes — every website should have them.
Title tag: Add <title>Your Business | Service | City</title> in the <head>. Keep it under 60 characters.
Meta description: Add <meta name="description" content="...">. 155 characters max. Include primary keyword and city.
H1 heading: Every page needs exactly one <h1> tag. It should include your primary keyword.
Viewport meta: Add <meta name="viewport" content="width=device-width, initial-scale=1.0"> for mobile responsiveness.
XML Sitemap: Create sitemap.xml listing all pages. Submit to Google Search Console. Most CMS platforms generate this automatically.

Schema Errors or Warnings Variable

What this means: You have structured data, but it contains errors (missing required fields) or warnings (missing recommended fields). Errors block Rich Results entirely. Warnings reduce your eligibility.
Check your scan report’s Schema Doctor section. It lists every error and warning per schema block with the exact field that’s missing.
Fix errors first. Each error costs 8 points. Common: missing address on LocalBusiness, missing acceptedAnswer on FAQ, missing offers on Product.
Then fix warnings. Each warning costs 3 points. Common: missing image, priceRange, telephone, openingHoursSpecification.
Fix Kit ($67) includes copy-paste fix code for every error and warning in the scan report.
Schema Doctor Guide Rich Results Explainer

Contact Integrity Issues (Phone/Address Residue) Critical

What this means: Your website has multiple different phone numbers or addresses — old numbers that were never removed, WhatsApp numbers that don’t match your main line, or schema data that contradicts your visible text. Google sees these contradictions and loses trust in your entity.
Identify all phone variants on your site. Check: schema JSON-LD, tel: links, WhatsApp links, visible text on contact page. They should all show the same number.
Pick one canonical phone number. Use the number that matches your GBP listing. Remove or update all others.
Check addresses the same way. Footer, contact page, schema, and GBP must all show the exact same address format.
Re-scan after fixing. The Contact Integrity Scanner will verify all variants are resolved.
Contact Integrity Guide

Missing Security Headers Displayed

What this means: Your server isn’t sending recommended security headers. While this doesn’t directly affect your AI Visibility Score, missing headers make your site vulnerable and look less trustworthy to sophisticated evaluators.
Enable HTTPS. This is the foundation. Most hosts offer free SSL via Let’s Encrypt.
Add security headers. Key headers: Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Content-Security-Policy, Referrer-Policy.
WordPress Use the “Headers Security Advanced & HSTS WP” plugin or add to .htaccess.
Cloudflare Enable HSTS and security headers in the Cloudflare dashboard (free).

Social Media Congruency

Your website, social profiles, and GBP must all tell the same story. Mismatches confuse Google’s entity understanding.

Missing or Unlinked Social Profiles

What this means: Your website doesn’t link to your social media profiles, or social profiles aren’t linked back to your website. This breaks the sameAs chainIn schema.org, sameAs is a property that links your business entity to its official profiles on other platforms (Facebook, Instagram, LinkedIn, etc.). Google uses these links to confirm that all the profiles represent the same entity. that Google uses to verify your business identity.
List all your social profiles. Facebook Business Page, Instagram Business, LinkedIn Company Page, YouTube Channel, X (Twitter).
Add links on your website. Footer social icons linking to each profile. Make sure they’re actual links, not just icons.
Add sameAs to your schema. In your Organization or LocalBusiness JSON-LD, add: "sameAs": ["https://facebook.com/yourbiz", "https://instagram.com/yourbiz", ...]
Link back from each social profile. Each social profile should have your website URL in the Website field.
Full Social Setup Guide

NAP Mismatch Across Platforms Critical

What this means: Your business Name, Address, or Phone number is different on your website than on your Facebook page, Google Business Profile, or other platforms. Even small differences (e.g., “Street” vs “St.”, missing suite number) weaken Google’s confidence in your entity.
Pick one canonical format. Use the exact NAP from your Google Business Profile as the source of truth.
Update your website. Footer, contact page, and schema JSON-LD must all match character-for-character.
Update Facebook. Page Info → Contact & Basic Info → Address, Phone, Website.
Update Instagram. Edit Profile → Contact Options → Business address, Phone number.
Update LinkedIn. Company Page → Edit → Company details → Locations, Phone.
Update all directories. Yelp, BBB, Yellow Pages, Apple Maps, Bing Places — all must match exactly.
NAP Congruency Guide

Facebook Page Not Optimized for Search

What this means: Your Facebook Business Page is missing key information that Google and AI models use for entity verification. An incomplete Facebook page is a missed citation and identity signal.
Choose the right category. Match your GBP primary category as closely as possible.
Write a keyword-rich intro. First 155 characters are most important. Include business name, primary service, and city.
Fill in every field. Address (must match GBP), phone, website, hours, services, and about section.
Add website link. Make sure it points to your main domain (not a landing page or old URL).
Post consistently. At least 1–2 posts per week. Google indexes Facebook posts as entity signals.
Full Social Setup Guide

Instagram Not Set Up as Business Profile

What this means: Your Instagram is a personal account, or you don’t have Instagram at all. Business profiles provide contact buttons, category labels, and location tags that strengthen your entity signal.
Switch to Professional Account. Settings → Account → Switch to Professional Account → Choose “Business”.
Connect to your Facebook Page. This syncs business info and enables cross-platform features.
Fill in contact options. Add phone, email, and business address. Must match GBP.
Write a bio. Include: business name, what you do, city, and a CTA. Use your website link.
Post at least weekly. Reels perform best for local businesses. Tag your location in every post.
Full Social Setup Guide

Google & GBP Issues

Problems with your Google Business Profile, Maps ranking signals, and local search visibility.

Missing Google CID / Maps Link in Schema

What this means: Your LocalBusiness schema doesn’t include a hasMapThe hasMap property links your schema to your specific Google Maps listing using your CID (Customer ID). It's a strong entity signal that connects your website's structured data directly to your Google Business Profile. property linking to your Google Maps listing. This connection reinforces the link between your website and your GBP.
Find your Google CID. Search for your business on Google Maps → click your listing → the URL contains your CID (the number after 0x...: in the URL).
Add hasMap to your schema. In your LocalBusiness JSON-LD, add: "hasMap": "https://www.google.com/maps?cid=YOUR_CID_HERE"
Alternatively, use the interactive Schema Builder on our Fix Guide (CID section) to generate the complete schema with your CID included.
Find Your CID

Incomplete Google Business Profile Critical

What this means: Your GBP is missing information. Google ranks complete profiles significantly higher. Every empty field is a missed opportunity to match customer searches.
Open your GBP dashboard. Go to business.google.com and sign in.
Complete ALL fields. Business name, address, phone, website, hours (including special hours), categories, description, services with prices, products, attributes (wheelchair accessible, free WiFi, etc.).
Upload 25+ photos. Exterior, interior, team, work samples, products. Google rewards visual-rich profiles.
Add services with descriptions. Every service you offer, with a 1–2 sentence description and price range.
Set up Q&A. Seed 5+ questions with your own answers. Customers can add more.
Post weekly. GBP Posts show activity. Include a photo, 150+ characters, and a CTA button.
Full GBP Fix Guide Maps Ranking Guide

Wrong or Too-Generic GBP Category Critical

What this means: Your primary Google category doesn’t match your actual business. Google uses your primary category as the #1 signal for which searches trigger your listing. Wrong category = wrong customers.
Choose the most specific category. “Tree Service” is better than “Landscaper.” “Emergency Plumber” is better than “Plumber.”
Research what top competitors use. Search your primary keyword + city on Google Maps. Click the top 3 listings and check their categories.
Change in GBP. Business Profile → Edit Profile → Business category. Change the primary category and add 3–5 secondary categories.
Match your schema @type. Your website’s LocalBusiness schema should use a @type that aligns with your GBP category.
Category Fix Guide

Missing Business Hours in Schema

What this means: Your website’s schema doesn’t include openingHoursSpecification. Google uses this to show hours in search results and to match “open now” queries. If your hours aren’t in schema, you’re invisible to time-sensitive searches.
Add hours to your schema. Use openingHoursSpecification with dayOfWeek, opens, and closes for each day.
Match GBP hours exactly. Website schema hours and GBP hours must be identical.
Include special hours. Holidays, seasonal changes — keep them current in both GBP and schema.
Use 24-hour format in schema. Example: "opens": "08:00", "closes": "17:00"
Hours Fix Guide

Service Area Business (SAB) Not Configured

What this means: You serve customers at their location (not yours) but haven’t configured your GBP as a Service Area BusinessA Service Area Business (SAB) is a business that visits or delivers to customers instead of serving them at a storefront. Examples: plumbers, electricians, cleaners, mobile mechanics. Google has a special SAB mode that hides your address and shows your service area instead.. This means you might be showing a physical address when you should be showing a service area, or vice versa.
Determine if you’re an SAB. Do customers come to you (storefront) or do you go to them (service area)? If the latter, use SAB mode.
Toggle SAB in GBP. Edit Profile → Location → Service Area → Toggle “I deliver goods and services to my customers.”
Hide your physical address if you don’t serve customers there. GBP → clear the address field.
Add areaServed to schema. Instead of (or in addition to) address, add: "areaServed": { "@type": "City", "name": "Edmonton, AB" }
SAB Setup Guide

Know Exactly What to Fix

Run a scan to see which of these problems affect your website. Every issue is detected automatically.

Run a $27 Scan Full Ranking Playbook

Related Guides