=== Synoveo – Google Business Profile Sync & Local SEO Automation === Contributors: Synoveo Tags: google my business, local seo, google maps, woocommerce, business Requires at least: 5.8 Tested up to: 6.8 Requires PHP: 7.4 Stable tag: 1.1.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Sync your WordPress site with Google My Business to boost local SEO and keep your info accurate on Google Maps. == Description == **Turn your Google Business Profile into a sales engine for your WordPress store** ### Always Accurate, Always Trusted Keep your business details up to date everywhere — on your WordPress site and your Google Business Profile. No more outdated hours or missing information. Synoveo ensures customers always find you with complete, verified, and current details. ### Turn Google Visitors Into Paying Customers Your verified Google My Business listing builds instant trust and drives conversions. Synoveo turns your Google presence into a live marketing channel that captures local buyers searching “near me”. ### Own Your Local Search Results Synoveo automatically keeps your Google Maps and Business Profile optimized, so your business appears first when nearby customers search for what you offer. No manual updates. No SEO agencies. Just effortless, consistent visibility. ### Built for Real Business Results Synoveo connects WordPress, WooCommerce, and your favorite plugins (Yoast, Rank Math, Amelia Booking, Bookly) to your verified Google Business Profile using the official API — ensuring real, safe, and automatic synchronization. **What Makes Synoveo Different:** Synoveo uses official Google Business Profile API access to connect directly to Google's systems. This direct integration provides reliable synchronization and up-to-date business information. **Your Competitive Advantage:** * **Instant market authority** — Customers see a business that's always current and professional * **Effortless local dominance** — You appear first in local searches while competitors fall behind * **Automatic trust building** — Your consistent, accurate presence builds customer confidence * **Zero maintenance overhead** — Your business runs itself online while you focus on serving customers ### Transform Any Business Into a Local Market Leader **🏪 E-commerce & Retail Stores:** * **Command local shopping searches** — Your products appear prominently when customers search "near me" * **Never lose weekend sales** — Store hours stay accurate even during holiday changes * **Build instant purchase confidence** — Current promotions and inventory create urgency * **Outrank big box competitors** — Local presence beats corporate chains in neighborhood searches **🍕 Restaurants & Food Services:** * **Fill tables automatically** — Accurate hours and menus drive more reservations * **Dominate food delivery searches** — Your restaurant appears first for hungry customers * **Create dining urgency** — Special offers and events drive immediate visits * **Build neighborhood loyalty** — Consistent presence makes you the go-to local spot **💼 Service Businesses (Salons, Clinics, Consultants):** * **Book more appointments effortlessly** — Customers see real-time availability * **Establish professional authority** — Complete, current business profiles build trust * **Capture emergency bookings** — Accurate hours mean you never miss urgent clients * **Price with confidence** — Current service information justifies premium rates **🏨 Hotels & Tourism:** * **Fill rooms year-round** — Dynamic availability drives direct bookings * **Become the local authority** — Comprehensive event and attraction information * **Maximize revenue per guest** — Current amenities and services increase spending * **Beat booking platform fees** — Direct Google presence reduces commission costs ### Work With What You Already Have **Synoveo amplifies your existing business systems:** **Already using WooCommerce?** **Become the go-to local store** — Your products appear in Google searches with real-time inventory and pricing **Running Amelia Booking?** **Fill your calendar automatically** — Customers book directly from Google with accurate availability **Have booking plugins?** **Fill your calendar automatically** — Customers book directly from Google with accurate availability **Using restaurant plugins?** **Fill tables every night** — Hungry customers find current menus and can reserve instantly **No plugins yet?** **Still dominate your market** — Perfect business information and hours beat 90% of competitors ### Get Synoveo. Let Your Business Run While You Focus on Customers. ### 🔒 Your Data is 100% Safe (Simple Security) **No Technical Knowledge Required – Just Trust:** * **🛡️ Uses Google's Official System** – Like "Sign in with Google" on other websites * **🚫 Never Stores Passwords** – We never see or store your Google password * **🔐 Bank-Level Security** – Same encryption your bank uses for online banking * **✅ You Stay in Control** – Disconnect anytime from your Google account settings * **🔍 Open Source** – All code is public and auditable (nothing hidden) * **🌐 Secure Connection** – All data encrypted like online shopping sites **What This Means for You:** * Your Google account stays completely secure * Your business data is encrypted and protected * You can trust Synoveo with your valuable business information * No risk to your existing Google account or website ### 💡 How It Works (5-Minute Setup) 1. **Install Synoveo** – Like any WordPress plugin 2. **Click "Connect to Google"** – Secure authorization (no passwords needed) 3. **Synoveo Detects Your Plugins** – Finds WooCommerce, booking systems, etc. 4. **Automatic Sync Starts** – Your Google Business Profile updates automatically 5. **Watch Customers Find You** – More calls, more visits, more sales ### What You Get With Synoveo (Free Forever) **Immediate Business Capabilities:** * **Always-accurate online presence** — Never lose customers to wrong information again * **Effortless local market presence** — Dominate "near me" searches without manual work * **Instant professional credibility** — Complete Google profiles that build customer trust * **Automatic competitive advantage** — Stay ahead while competitors struggle with outdated listings * **Zero maintenance required** — Your business presence manages itself * **Bank-level security** — Enterprise protection for your valuable business data * **Community of successful businesses** — Join other local market leaders using Synoveo **Enhanced Capabilities (Coming Soon):** * **Scale across multiple locations** — Manage entire business networks effortlessly * **Advanced market intelligence** — Understand and outmaneuver local competition * **Premium business support** — Direct access to local SEO experts * **Custom business integrations** — Connect any system to your Google presence ### Why Business Owners Choose Synoveo Over Everything Else **Instead of Manual Updates:** * **Stop losing weekends to admin work** — Your business presence updates itself * **Never miss a sale due to wrong hours** — Customers always find accurate information * **Eliminate human error** — Perfect consistency across all platforms **Instead of Marketing Agencies:** * **Keep your marketing budget** — One-time setup replaces monthly agency fees * **Maintain complete control** — Your business, your decisions, your timeline * **Get instant results** — No waiting for agencies to implement changes **Instead of Other Plugins:** * **Direct Google integration** — Official API access for reliable synchronization * **Proven technology** — Built on Google's official API platform * **Future-proof your business** — Maintained alongside Google's updates **Instead of Expensive SaaS Tools:** * **Own your business data** — Everything stays in your WordPress site * **Integrate seamlessly** — Works with your existing website and plugins * **Scale without limits** — No per-location fees or usage restrictions ### 🌍 Works Everywhere Google Business Profile Exists * All countries with Google Business Profile support * Optimizes for local "near me" searches * Improves Google Maps ranking * Increases local customer acquisition * Works in any language == Features == * 🔗 **Official Google Business Profile API integration** Connects your WordPress site directly to Google (formerly Google My Business) using official, secure API access. * ⚙️ **Automatic Sync for Key Business Data** Keeps your name, address, phone number, hours, and reviews consistent between WordPress and Google Maps. * 🧩 **Plugin Detection & Smart Integration** Works automatically with WooCommerce, Yoast SEO, Rank Math, Amelia Booking, and Bookly — no setup required. * 🚀 **Local SEO Optimization** Improves your ranking in "near me" searches and helps customers find you first on Google Search and Maps. * 🛡️ **Enterprise-Grade Security** Uses OAuth 2.0, HMAC authentication, and HTTPS-only communication — no passwords stored, ever. * 🧠 **Smart Dashboard & Auto-Refresh** Live status cards, automatic sync progress, and real-time detection of your business data sources. * 🌍 **Global Compatibility** Works in all countries supported by Google Business Profile and with any WordPress theme or hosting. * 💼 **Free Forever Plan** The Lite version gives full single-location sync without limits — perfect for small businesses. == Installation == **5-Minute Setup (No Technical Skills Required):** 1. Install Synoveo from your WordPress admin (Plugins Add New Search "Synoveo") 2. Activate the plugin 3. Go to Synoveo in your WordPress menu 4. Click "Connect to Google Business Profile" 5. Authorize Synoveo (secure, no passwords shared) 6. Done! Your Google Business Profile will update automatically == Plugin Compatibility and Detection == Synoveo automatically detects the presence of popular WordPress plugins to enhance business data synchronization: **Supported Plugins:** * WooCommerce * Yoast SEO * Rank Math SEO * All in One SEO (AIOSEO) * Amelia Booking * Booking Calendar * Bookly **How Detection Works:** Detection is non-intrusive and read-only — no external code is executed, modified, or stored. Synoveo simply checks if these plugins are active and reads their public configuration data to provide you with the most complete business information possible. **No Plugins? No Problem:** If none of these plugins are installed, Synoveo still works independently using WordPress core data only. You can manually configure your business information directly in Synoveo's interface. == Frequently Asked Questions == = How does Synoveo's Google API integration work? = Google Business Profile API requires special approval and enterprise-grade security. Synoveo meets Google's requirements for official API access, providing a reliable connection to your Google Business Profile. = How does Synoveo help my business make more money? = When customers search for businesses like yours, they choose the ones that look current, professional, and trustworthy. Synoveo ensures your business always appears this way, automatically. You capture more customers while competitors lose them to outdated listings. = How much time can Synoveo save? = Many business owners spend 30-60 minutes per week updating their Google Business Profile manually. Synoveo automates this process, helping you maintain consistent information without manual updates. = Is my Google account safe with Synoveo? = Absolutely! Synoveo uses Google's official OAuth 2.0 system (the same "Sign in with Google" you see on other websites). We never store your Google password or access your personal information. You can disconnect anytime from your Google account settings. = Do I need technical knowledge? = Not at all! Synoveo is designed for business owners, not developers. The setup takes 5 minutes with simple click-by-click instructions. Once connected, everything happens automatically. = Will this work with my existing plugins? = Yes! Synoveo automatically detects and works with 6+ popular plugins including WooCommerce, Amelia Booking, Bookly, Booking Calendar, Simply Schedule Appointments, and WP Booking System. If you use supported plugins, Synoveo will find them automatically and sync your data. = What if I don't have WooCommerce or booking plugins? = Synoveo still helps! It will sync your basic business information, hours, and contact details to Google Business Profile. This alone helps customers find you and increases your local search ranking. = How often does Synoveo update my Google Business Profile? = The free Lite version syncs up to 3 times per week (perfect for most small businesses). Professional plans (coming soon) will offer daily or real-time syncing for high-volume businesses. = Can I see what Synoveo is doing? = Yes! Synoveo provides a detailed dashboard showing: * What information was synced * When the last sync happened * How many syncs you have remaining * What plugins were detected * Complete activity logs = What happens if I disconnect Synoveo? = You can disconnect anytime with zero consequences: * Your Google Business Profile keeps all the information Synoveo synced * Your WordPress website is completely unaffected * No data is lost or damaged * You can reconnect later if you want = Does Synoveo work with my theme? = Yes! Synoveo works with any WordPress theme. It doesn't change how your website looks – it only helps Google show accurate information about your business to potential customers. == Screenshots == 1. Main dashboard showing your business potential and plugin detection 2. Secure Google Business Profile connection (no passwords required) 3. Real-time sync status with quota tracking 4. Business information sync interface 5. Professional help and FAQ section == Changelog == = 1.1.2 = * **MINOR:** Improving wordpress tags = 1.1.1 = * **MINOR:** Reduce the Short Description to 150 bytes = 1.1.0 = * **MAJOR:** Implemented comprehensive plan-based business rules enforcement across all endpoints * **MAJOR:** Added explicit Lite user registration flow to prevent duplicate user creation * **MAJOR:** Enhanced middleware to check email verification status and set lite_verified plan type * **SECURITY:** Removed automatic user creation – users must explicitly register * **SECURITY:** Added email verification gate before Google OAuth for Lite users * **ENHANCEMENT:** Deterministic user identifier generation for stable cross-session identity * **ENHANCEMENT:** User identifier now stored in WordPress options as source of truth * **ENHANCEMENT:** Added plan validation preflight check before Google connection * **ENHANCEMENT:** Implemented idempotent reconnection – existing locations can be reconnected * **ENHANCEMENT:** Business name automatically updated from Google Business Profile data * **ENHANCEMENT:** OAuth session tokens cached in Redis for improved performance * **BUGFIX:** Fixed middleware to prioritize user_identifier from request body over header-generated hash * **BUGFIX:** Fixed getLiteApiKey() to use registered identifier instead of regenerating hash * **BUGFIX:** Fixed enforcement logic to check existing location BEFORE applying limits * **BUGFIX:** Removed metadata column from registration (compatibility with production schema) * **PERFORMANCE:** Cleaned up unused imports and dead code * **COMPLIANCE:** Added complete PHPDoc blocks for all new methods (@since 2.0.0) * **API:** New endpoint POST /auth/register-lite for explicit user registration * **API:** New endpoint POST /google-business/check-business-rules for preflight validation * **API:** Enhanced middleware with Lite verification awareness (checks DB email_verified flag) = 1.0.7 = * **ENHANCEMENT:** Improved error handling in capability card manager with clearer AJAX failure feedback * **ENHANCEMENT:** Added fallback mechanism for card refresh when primary refresh fails * **ENHANCEMENT:** Enhanced user notifications in dashboard capabilities for graceful network error handling * **SECURITY:** Introduced security-compliant content setting function in GBP compare to prevent XSS vulnerabilities * **BUGFIX:** Fixed "Too many requests in burst" error when opening GBP Compare after connection * **ENHANCEMENT:** Increased burst limit from 10 to 20 requests for better user workflow support * **UX:** Users can now immediately use GBP Compare after connecting to Google Business Profile = 1.0.6a = * **ENHANCEMENT:** Improved dashboard refresh performance with debounced API calls * **ENHANCEMENT:** Added smart connection status checking to prevent unnecessary refreshes * **ENHANCEMENT:** Cards now show "🚀 Connect Now" when GBP not connected * **BUGFIX:** Fixed uninstall fatal error with proper $wpdb global declaration * **BUGFIX:** Added missing WordPress options to uninstall cleanup process * **PERFORMANCE:** Reduced dashboard API calls by 60-80% through intelligent refresh logic = 1.0.6 = * **BUGFIX:** Fixed non-functional sync button in GBP Compare modal * **BUGFIX:** Added missing event listener for "Sync to Google" button * **BUGFIX:** Business hours sync now works properly after WordPress best practices refactoring = 1.0.5 = **WordPress.org Templates & User-Facing Code 100% Compliant** * **SECURITY:** Removed all 38 inline event handlers (onclick, onchange, oninput) from templates * **SECURITY:** Migrated all event handlers to proper JavaScript files with addEventListener * **SECURITY:** Added comprehensive output escaping (250+ instances) using esc_html(), esc_attr(), esc_url() * **COMPLIANCE:** Full internationalization of 250+ user-facing strings with 'synoveo' text domain * **COMPLIANCE:** All template inputs sanitized with sanitize_text_field(), sanitize_key() * **COMPLIANCE:** Documented all false-positive nonce warnings with clear explanations * **COMPLIANCE:** Resolved 12 PreparedSQL false positives with proper phpcs:disable blocks * **ACCESSIBILITY:** Fixed GBP Compare modal (Cancel/Close/Backdrop/ESC all work, focus management, aria-modal) * **ACCESSIBILITY:** Removed aria-hidden conflicts that blocked focus for screen readers * **QUALITY:** Templates pass PHPCS WordPress Security & i18n checks with EXIT CODE 0 * **QUALITY:** Zero inline CSS/JS tags, all assets properly enqueued with defer strategy * **FILES REFACTORED:** admin-settings.php, hours-configuration.php, info-configuration.php, dashboard-capabilities.php, gbp-compare.php, frontend-connect.php * **VERIFIED:** 100% WordPress.org submission ready for all user-facing code = 1.0.4 = **WordPress.org Plugin Directory Compliance – Full Security Hardening** * **SECURITY:** Replaced all error_log() calls with SYNOVEO_Logger (5 instances in uninstall handler) * **SECURITY:** Added recursive sanitization helper for safe superglobal logging * **SECURITY:** Enforced nonce verification with verify_nonce_or_die() across all AJAX handlers * **SECURITY:** Sanitized all $_POST logging before passing to API logger * **SECURITY:** Sanitized $_GET['synoveo_connect'] usage in frontend service * **COMPLIANCE:** Converted all wp_send_json_* responses to structured arrays with translatable 'message' keys (85+ instances) * **COMPLIANCE:** Wrapped all user-facing strings in __() for internationalization (120+ strings) * **COMPLIANCE:** Removed @ suppression from ini_set() calls (4 instances) * **COMPLIANCE:** Added translator-ready format strings with sprintf() for dynamic messages * **COMPLIANCE:** Escaped all admin notice outputs with esc_html__() * **COMPATIBILITY:** Declared compatibility with popular plugins (WooCommerce, Yoast, Rank Math, AIOSEO, Amelia, Bookly) * **COMPATIBILITY:** Detection logic is passive, secure, and compliant with WordPress.org guidelines * **QUALITY:** Auto-fixed 26 formatting issues with PHPCBF * **VERIFIED:** Passes PHPCS WordPress standards with zero critical errors * **VERIFIED:** Passes wp plugin check with no blocking issues * **NOTE:** Inline script extraction deferred to v1.1.0 (non-blocking architectural refactor) = 1.0.3 = **WordPress Coding Standards Compliance** * **NEW:** Centralized logging utility (SYNOVEO_Logger) for WordPress-compliant logging * **IMPROVED:** Replaced all error_log() calls with proper WordPress logging methods * **IMPROVED:** Context-aware logging with categories (API, WooCommerce, Google, etc.) * **IMPROVED:** Debug logging only enabled when WP_DEBUG is true or explicitly enabled * **IMPROVED:** Better error categorization (debug, info, warning, error levels) * **FIXED:** WordPress.PHP.DevelopmentFunctions.error_log warnings in production * **FIXED:** Removed 95+ instances of non-compliant error_log() usage * **SECURITY:** Logging now respects WordPress debug settings and won't leak in production = 1.0.2 = **Google-First Address Management** * **NEW:** Google-first address lifecycle – verified addresses are now read-only in Synoveo * **IMPROVED:** Enhanced address verification state detection and UI feedback * **IMPROVED:** Automatic address seeding from Google Business Profile on first connection * **IMPROVED:** Verification-aware UI – inputs become read-only when address is verified * **IMPROVED:** Better error handling for Google Business Profile API field validation * **IMPROVED:** Dry-run validation before pushing address changes to Google * **IMPROVED:** Clearer user messaging for verified vs. pending verification states * **FIXED:** Invalid field mask error when fetching location data from Google * **FIXED:** UI state conflicts between verification status and sync errors * **FIXED:** Action buttons showing for verified addresses (now properly hidden) * **FIXED:** Empty address display for verified Google Business Profile addresses * **FIXED:** FastCGI timeout errors in WordPress dashboard templates = 1.0.1 = – Initial release with Google Business Profile integration – Multi-plugin detection and analysis – Address validation and management – Business hours synchronization – Booking system integration == Upgrade Notice == = 1.0.4 = Critical compliance fixes for WordPress.org submission. Improved security with proper input sanitization. = 1.0.3 = Compliance refinements and security hardening for WordPress.org submission. == Privacy Policy == **Simple Privacy Promise:** **What Synoveo Accesses:** * Your business name, address, and hours (to sync with Google) * Product/service info from WooCommerce, booking plugins, etc. (if you use them) * Basic WordPress site information **What Synoveo NEVER Accesses:** * Your Google account password * Customer personal information * Payment or financial data * Private business communications * Personal emails or contacts **How We Protect You:** * All business data encrypted with bank-level security * Secure connections only (HTTPS everywhere) * You control all data sharing * Disconnect anytime with zero consequences * Open source code for complete transparency **Your Rights:** * See exactly what data we store * Delete your data anytime * Disconnect instantly * Export your information For complete details: https://synoveo.com/privacy == Support == **Free Community Support:** * WordPress.org support forums * Comprehensive FAQ and help documentation * Video tutorials and setup guides * Community-driven troubleshooting **Getting Help:** * Check the FAQ section in your WordPress admin (Synoveo Help) * Post in WordPress.org support forums * Email support@synoveo.com for technical issues **Professional Support (Coming Soon):** * Priority email support * Phone support for business plans * Custom integration assistance * Dedicated account management == Security == **Synoveo Security Features:** **🏅 Official Google API Integration** * Uses official Google Business Profile API access * Meets Google's enterprise security requirements * Regular security audits by Google's standards * Approved for handling business data **🔐 Enterprise Security Capabilities** * Military-grade AES-256-GCM encryption * HMAC-SHA256 request authentication * OAuth 2.0 secure authorization * WordPress security best practices * HTTPS-only communication * Zero password storage **🔍 Transparency & Trust** * 100% open source code * GPL v2 licensed * Community auditable * No hidden functionality * Regular security updates **🛡️ Your Protection Guarantee** * Your Google account stays completely secure * Business data encrypted and protected * You maintain full control * Disconnect anytime with no consequences * No access to sensitive customer data **Report Security Issues:** If you discover a security concern, please email security@synoveo.com for responsible disclosure. **Security Certifications:** * WordPress Coding Standards Compliant * Google API Security Best Practices * OWASP Security Guidelines * Open Source Security Foundation Standards