{"id":7570,"date":"2026-09-10T11:28:18","date_gmt":"2026-09-10T09:28:18","guid":{"rendered":"https:\/\/implementi.ai\/en\/?post_type=product&#038;p=7570"},"modified":"2026-10-27T17:16:33","modified_gmt":"2026-10-27T16:16:33","slug":"menedzer-ds-spojnosci-lokalnych-wpisow-w-ai","status":"publish","type":"product","link":"https:\/\/implementi.ai\/pl\/product\/ai-local-listings-consistency-manager\/","title":{"rendered":"Mened\u017cer sp\u00f3jno\u015bci lokalnych wpis\u00f3w AI \u2014 monitorowanie i poprawki"},"content":{"rendered":"<style>\n:root{--imp-primary-blue:#C0D9F7;--imp-soft-blue:#DAE9FA;--imp-white:#F9F9F9;--imp-red:#FF554C;--imp-navy:#183457}\n.implementi-pf,.implementi-pf *{box-sizing:border-box}\n.implementi-pf{width:min(1180px,100%);max-width:100%;margin:0 auto;color:var(--imp-navy);font-family:\"Noto Sans\",Arial,sans-serif}\n.implementi-pf h2,.implementi-pf h3,.implementi-pf h4,.implementi-pf .button,.implementi-pf .tab-title,.woocommerce-tabs ul.tabs li a{font-family:\"Poppins\",Arial,sans-serif}\n.implementi-pf h2{margin:0 0 18px;color:var(--imp-navy);font-size:clamp(25px,3vw,36px);line-height:1.18}\n.implementi-pf h3{margin:24px 0 10px;color:var(--imp-navy);font-size:clamp(19px,2vw,24px);line-height:1.25}\n.implementi-pf p,.implementi-pf li{font-family:\"Noto Sans\",Arial,sans-serif;color:var(--imp-navy);font-size:16px;line-height:1.78}\n.implementi-pf p:last-child{margin-bottom:0}\n.implementi-pf ul,.implementi-pf ol{padding-left:24px;margin:16px 0}\n.implementi-pf li{margin:10px 0}\n.imp-kicker{font-family:\"Poppins\",Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--imp-red);margin-bottom:14px}\n.imp-card{margin:24px 0;padding:clamp(24px,4vw,44px);border-radius:28px;background:var(--imp-white);border:1px solid rgba(24,52,87,.10);overflow:hidden}\n.imp-card-soft{background:var(--imp-soft-blue)}\n.imp-card-blue{background:var(--imp-primary-blue)}\n.imp-card-dark{background:var(--imp-navy);color:var(--imp-white)}\n.imp-card-dark h2,.imp-card-dark h3,.imp-card-dark p,.imp-card-dark li,.imp-card-dark strong{color:var(--imp-white)}\n.imp-media{margin-top:28px;padding-top:24px;border-top:1px solid rgba(24,52,87,.12)}\n.imp-media img{display:block;width:100%;max-width:100%;height:auto;margin:14px 0 0;border-radius:24px;background:var(--imp-white);border:1px solid rgba(24,52,87,.10)}\n.imp-benefits ul,.imp-scope ul,.imp-target ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:20px 0 0}\n.imp-benefits li,.imp-scope li,.imp-target li{min-width:0;margin:0;padding:20px;border-radius:20px;background:var(--imp-white);border:1px solid rgba(24,52,87,.10)}\n.imp-tab-source{display:none!important}<\/p>\n<p>\/* LIGHT PRODUCT HERO: native Woo price stays in its normal place *\/\n.single-product .summary p.price,.woocommerce div.product .summary p.price{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;white-space:normal!important;margin:8px 0 14px!important;color:var(--imp-navy)!important;font-family:\"Poppins\",Arial,sans-serif!important;font-size:clamp(24px,2.5vw,32px)!important;font-weight:800!important;line-height:1.2!important}\n.single-product .summary p.price .imp-native-monthly-price{color:var(--imp-navy)!important;font:inherit!important}\n.single-product .summary form.cart,.woocommerce div.product .summary form.cart{display:none!important}\n.single-product .summary .product_meta{display:none!important}\n.imp-hero-compact{margin:12px 0 18px;color:var(--imp-navy);font-family:\"Noto Sans\",Arial,sans-serif}\n.imp-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}\n.imp-hero-chip{display:inline-flex;align-items:center;min-width:0;padding:6px 11px;border-radius:999px;background:var(--imp-white);border:1px solid rgba(24,52,87,.12);color:var(--imp-navy);font-family:\"Poppins\",Arial,sans-serif;font-size:12px;font-weight:700}\n.imp-hero-short{margin:0 0 18px;font-size:15px;line-height:1.65;color:var(--imp-navy)}\n.imp-hero-short p{margin:0 0 8px!important;font:inherit!important;color:inherit!important}\n.imp-hero-calendly{display:block;width:100%;padding:14px 18px;background:var(--imp-red)!important;color:var(--imp-white)!important;border-radius:999px;text-align:center;text-decoration:none!important;font-family:\"Poppins\",Arial,sans-serif;font-weight:800;box-sizing:border-box}\n.imp-hero-contact-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important;margin-top:12px!important}\n.imp-hero-contact-grid>a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:44px!important;padding:10px 12px!important;border:1px solid rgba(24,52,87,.16)!important;border-radius:999px!important;background:var(--imp-white)!important;color:var(--imp-navy)!important;text-decoration:none!important;text-align:center!important;font-family:\"Poppins\",Arial,sans-serif!important;font-weight:700!important;overflow-wrap:anywhere!important}\n.imp-hero-contact-grid>a:hover{border-color:var(--imp-red)!important}<\/p>\n<p>\/* FIVE TABS \u2014 fixed horizontal navigation matching the approved layout *\/\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs,\nbody.single-product .woocommerce-tabs ul.tabs,\nbody.single-product .wc-tabs-wrapper ul.wc-tabs{\n display:flex!important;\n flex-direction:row!important;\n flex-wrap:nowrap!important;\n align-items:center!important;\n justify-content:flex-start!important;\n gap:8px!important;\n width:100%!important;\n max-width:100%!important;\n min-width:0!important;\n height:auto!important;\n min-height:56px!important;\n padding:6px!important;\n margin:0 0 24px!important;\n list-style:none!important;\n background:var(--imp-navy)!important;\n border:0!important;\n border-radius:22px!important;\n overflow-x:auto!important;\n overflow-y:hidden!important;\n overscroll-behavior-x:contain!important;\n -webkit-overflow-scrolling:touch!important;\n white-space:nowrap!important;\n box-sizing:border-box!important;\n}\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs:before,\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs:after,\nbody.single-product .woocommerce-tabs ul.tabs:before,\nbody.single-product .woocommerce-tabs ul.tabs:after{display:none!important;content:none!important}\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs>li,\nbody.single-product .woocommerce-tabs ul.tabs>li,\nbody.single-product .wc-tabs-wrapper ul.wc-tabs>li{\n float:none!important;\n display:block!important;\n position:relative!important;\n flex:0 0 auto!important;\n flex-basis:auto!important;\n flex-grow:0!important;\n flex-shrink:0!important;\n width:auto!important;\n min-width:0!important;\n max-width:none!important;\n height:auto!important;\n margin:0!important;\n padding:0!important;\n border:0!important;\n background:transparent!important;\n border-radius:18px!important;\n box-shadow:none!important;\n clear:none!important;\n box-sizing:border-box!important;\n}\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs>li:before,\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs>li:after,\nbody.single-product .woocommerce-tabs ul.tabs>li:before,\nbody.single-product .woocommerce-tabs ul.tabs>li:after{display:none!important;content:none!important}\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs>li>a,\nbody.single-product .woocommerce-tabs ul.tabs>li>a,\nbody.single-product .wc-tabs-wrapper ul.wc-tabs>li>a{\n display:flex!important;\n align-items:center!important;\n justify-content:center!important;\n width:auto!important;\n min-width:max-content!important;\n height:44px!important;\n padding:0 18px!important;\n margin:0!important;\n color:var(--imp-navy)!important;\n background:var(--imp-white)!important;\n border:1px solid rgba(24,52,87,.12)!important;\n font-family:\"Poppins\",Arial,sans-serif!important;\n font-weight:700!important;\n font-size:14px!important;\n line-height:1!important;\n text-decoration:none!important;\n white-space:nowrap!important;\n border-radius:18px!important;\n box-sizing:border-box!important;\n}\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs>li>a:hover,\nbody.single-product .woocommerce-tabs ul.tabs>li>a:hover{\n border-color:var(--imp-red)!important;\n color:var(--imp-navy)!important;\n background:var(--imp-white)!important;\n}\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs>li.active,\nbody.single-product .woocommerce-tabs ul.tabs>li.active{background:transparent!important}\nbody.single-product .woocommerce div.product .woocommerce-tabs ul.tabs>li.active>a,\nbody.single-product .woocommerce-tabs ul.tabs>li.active>a{\n background:var(--imp-navy)!important;\n color:var(--imp-white)!important;\n border-color:var(--imp-navy)!important;\n}\n.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,.woocommerce-tabs .woocommerce-Tabs-panel{padding:0!important;margin:0!important}\n.imp-pf-tab-panel{width:min(1180px,100%);max-width:100%;margin:0 auto}\n@media(max-width:767px){\n body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs,\n body.single-product .woocommerce-tabs ul.tabs,\n body.single-product .wc-tabs-wrapper ul.wc-tabs{border-radius:18px!important;gap:6px!important;padding:5px!important;min-height:52px!important;scrollbar-width:none!important}\n body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar,\n body.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none!important}\n body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs>li>a,\n body.single-product .woocommerce-tabs ul.tabs>li>a{height:42px!important;padding:0 14px!important;font-size:13px!important;border-radius:15px!important}\n}<\/p>\n<p>\/* PRICE TAB *\/\n.imp-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}\n.imp-price-card{min-width:0;padding:26px;border-radius:24px;background:var(--imp-white);border:1px solid rgba(24,52,87,.12)}\n.imp-price-label{font-family:\"Poppins\",Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--imp-red);margin-bottom:9px}\n.imp-price-value{font-family:\"Poppins\",Arial,sans-serif;font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--imp-navy);line-height:1.2;overflow-wrap:anywhere}\n.imp-price-explain{margin-top:18px}<\/p>\n<p>\/* FIXED FINAL CONTACT *\/\n.imp-contact{width:min(1180px,100%);max-width:100%;margin:34px auto 0;padding:clamp(26px,4vw,46px);border-radius:30px;background:var(--imp-soft-blue);border:1px solid rgba(24,52,87,.12);box-sizing:border-box;color:var(--imp-navy)}\n.imp-contact h2{font-family:\"Poppins\",Arial,sans-serif;color:var(--imp-navy);font-size:clamp(26px,3vw,38px);line-height:1.15;margin:0 0 14px}\n.imp-contact p{font-family:\"Noto Sans\",Arial,sans-serif;color:var(--imp-navy);font-size:16px;line-height:1.7;margin:0 0 12px}\n.imp-contact-main{display:block;width:100%;margin-top:24px;padding:17px 22px;background:var(--imp-red)!important;color:var(--imp-white)!important;border-radius:999px;text-align:center;text-decoration:none!important;font-family:\"Poppins\",Arial,sans-serif;font-weight:800;font-size:17px;box-sizing:border-box}\n.imp-contact-main:hover{opacity:.92;color:var(--imp-white)!important}\n.imp-contact-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;width:100%!important;margin-top:24px!important}\n.imp-contact-grid>.imp-contact-card{display:flex!important;flex-direction:column!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:132px!important;box-sizing:border-box!important;background:var(--imp-white)!important;border:1px solid rgba(24,52,87,.12)!important;border-radius:24px!important;padding:28px!important;text-decoration:none!important}\n.imp-contact-card:hover{border-color:var(--imp-red)!important}\n.imp-contact-label{display:block;color:var(--imp-red);font-family:\"Poppins\",Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}\n.imp-contact-value{display:block;color:var(--imp-navy);font-family:\"Poppins\",Arial,sans-serif;font-size:20px;font-weight:700;line-height:1.35;overflow-wrap:anywhere;min-width:0}<\/p>\n<p>@media(max-width:767px){\n .imp-card{margin:16px 0;padding:22px;border-radius:22px}\n .imp-benefits ul,.imp-scope ul,.imp-target ul{grid-template-columns:1fr;gap:12px}\n .imp-hero-contact-grid{grid-template-columns:1fr!important;gap:10px!important}\n .imp-price-grid{grid-template-columns:1fr;gap:12px}\n .imp-contact{margin-top:24px;padding:22px;border-radius:24px}\n .imp-contact-grid{grid-template-columns:1fr!important;gap:14px!important;margin-top:16px!important}\n .imp-contact-grid>.imp-contact-card{min-height:108px!important;padding:20px!important;border-radius:20px!important}\n .imp-contact-value{font-size:17px}\n .woocommerce div.product .woocommerce-tabs ul.tabs li a,.woocommerce-tabs ul.tabs li a{padding:9px 12px!important;font-size:13px!important}\n}<\/p>\n<p>\/* v4.5.4 stable contact guard: no DOM reordering *\/\n.imp-hero-contact-grid,.imp-contact-grid{box-sizing:border-box!important}\n.imp-hero-contact-grid>* ,.imp-contact-grid>*{box-sizing:border-box!important;float:none!important;clear:none!important}\n@media(max-width:767px){\n .imp-hero-contact-grid,.imp-contact-grid{grid-template-columns:1fr!important}\n .imp-contact-grid{gap:12px!important}\n .imp-contact-grid>.imp-contact-card{min-height:0!important;padding:20px!important}\n}<\/p>\n<p>\/* v4.5.5 contact layout: table-based to survive WooCommerce\/wpautop *\/\n.imp-hero-contact-table,.imp-contact-table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;border:0!important;background:transparent!important}\n.imp-hero-contact-table tbody,.imp-hero-contact-table tr,.imp-contact-table tbody,.imp-contact-table tr{border:0!important;background:transparent!important}\n.imp-hero-contact-cell,.imp-contact-cell{box-sizing:border-box!important;border:0!important;background:transparent!important}\n.imp-hero-contact-cell a,.imp-contact-cell a{box-sizing:border-box!important}\n@media(max-width:767px){\n .imp-hero-contact-table,.imp-hero-contact-table tbody,.imp-hero-contact-table tr,.imp-hero-contact-table td,.imp-contact-table,.imp-contact-table tbody,.imp-contact-table tr,.imp-contact-table td{display:block!important;width:100%!important;max-width:100%!important}\n .imp-hero-contact-cell{padding:0 0 10px!important}\n .imp-contact-cell{padding:0 0 12px!important}\n .imp-contact-table{margin-top:16px!important}\n .imp-contact-cell .imp-contact-card{min-height:0!important;padding:20px!important}\n}\n<\/style>\n<div class=\"implementi-pf\" data-product-factory=\"yes\" data-base-price=\"199\">\n<div id=\"imp-description-root\">\n<section class=\"imp-card imp-card-soft\">\n<div class=\"imp-kicker\">Managed automation by implementi.ai<\/div>\n<p>The AI Local Listings Consistency Manager continuously finds, evaluates and resolves mismatches in public listings (name, address, phone, hours) so customers can find, call and visit your locations. implementi.ai runs the monitoring, applies permitted corrections and provides a single monthly summary and change log.<\/p>\n<p>This is a managed monthly service: we configure monitoring for your locations, prioritise issues by likely customer impact, implement fixes where allowed and provide clear approval actions where directory verification is required. You keep oversight while we handle the operational details.<\/p>\n<\/section>\n<section class=\"imp-card\">\n<h2>The problem<\/h2>\n<p>Public business listings drift over time: legacy phone numbers, changed opening hours, duplicate entries and automated directory updates can produce inconsistent data across platforms. Without automation, small teams chase individual listings manually \u2014 a slow, error-prone process that gets harder with more locations. Discrepancies split reviews, confuse search engines and lead to missed calls or lost visits. Keeping a single source of truth for name, address, phone and hours (NAP+hours) across dozens of maps and directories becomes a recurring operational burden as a business scales.<\/p>\n<div class=\"imp-media\">\n<div class=\"imp-kicker\">The challenge<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/implementi.ai\/wp-content\/uploads\/2026\/10\/ai-local-listings-consistency-manager-pf4512-7570-support-1.jpg\" alt=\"Flat vector showing a small business owner looking at inconsistent directory cards with different contact details.\" \/><\/div>\n<\/section>\n<section class=\"imp-card imp-card-blue imp-scope\">\n<h2>What this solution automates<\/h2>\n<p>This managed service automates discovery, risk-based triage and resolution of public listing issues and hands off only the minimal approvals that require the customer&#8217;s intervention.<\/p>\n<ul>\n<li>Weekly discovery scans across major maps, directories and aggregators to find listings for each location.<\/li>\n<li>AI-assisted classification and risk prioritisation (wrong number, duplicate, closed\/suspended status).<\/li>\n<li>Automated submission of permitted corrections and follow-up on outcomes.<\/li>\n<li>Clear single-click approval actions for directory verifications that require owner permission.<\/li>\n<li>Monthly human-reviewed reports and an audit trail of changes.<\/li>\n<\/ul>\n<\/section>\n<section class=\"imp-card imp-benefits\">\n<h2>What your business gains<\/h2>\n<ul>\n<li><strong>Fewer missed calls and visits.<\/strong> Accurate public contact details reduce customer friction and the time customers spend verifying information before visiting or calling.<\/li>\n<li><strong>Consistent local search signals.<\/strong> Consolidated and corrected listings reduce data noise that can dilute local search relevance and reviews across duplicate records.<\/li>\n<li><strong>Reduced manual workload.<\/strong> Weekly scans and automated corrections cut the time your team spends tracking and fixing individual listings.<\/li>\n<li><strong>Clear accountability and audit trail.<\/strong> Monthly reports and change logs document what changed, why, and who approved it \u2014 useful for operations and marketing teams.<\/li>\n<li><strong>Priority handling of real risk.<\/strong> Only material issues that affect customer contact or discovery are surfaced, so your team focuses on impactful items.<\/li>\n<\/ul>\n<div class=\"imp-media\">\n<div class=\"imp-kicker\">The result<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/implementi.ai\/wp-content\/uploads\/2026\/10\/ai-local-listings-consistency-manager-pf4512-7570-support-2.jpg\" alt=\"Flat vector showing a tidy dashboard and monthly change log summarising corrected listings and resolved issues.\" \/><\/div>\n<\/section>\n<section class=\"imp-card imp-card-soft\">\n<h2>A practical use case<\/h2>\n<p>For a regional retail chain with ten stores, local listing errors show up as outdated phone numbers, duplicate entries created by third-party directories and occasional automatic updates that change trading names. The marketing team cannot manually verify every listing each month. Using this service, implementi.ai discovers all public listings for each store, surfaces only high-impact mismatches, submits corrections where permitted and provides a single approval workflow for items that need owner verification. The team receives a monthly report and a change log, reducing time spent chasing directory errors and making it easier to keep listings accurate across platforms.<\/p>\n<\/section>\n<section class=\"imp-card imp-target\">\n<h2>Who is it for?<\/h2>\n<ul>\n<li>Single-location shops that need accurate phone, address and hours on maps to avoid missed customer contact.<\/li>\n<li>Franchises and multi-branch organisations that must keep consistent NAP across many directories.<\/li>\n<li>Local marketing teams or small agencies managing citations for multiple clients and seeking to reduce manual work.<\/li>\n<li>Property managers or services with frequent hours changes that need a reliable way to propagate updates across directories.<\/li>\n<\/ul>\n<\/section>\n<section class=\"imp-card imp-card-blue\">\n<h2>What is included in the monthly service<\/h2>\n<p>The monthly subscription covers the managed operation of the listings consistency service using approved activities only. implementi.ai operates the monitoring, runs and reviews AI-assisted classification, implements permitted fixes, maintains the automation and follows up on any failed corrections.<\/p>\n<ul>\n<li>Continuous monitoring and weekly scans of agreed listing sources.<\/li>\n<li>AI-assisted risk prioritisation with human review.<\/li>\n<li>Implementation of permitted corrections and follow-up until change visibility or documented outcome.<\/li>\n<li>Monthly human-reviewed summary report and ongoing maintenance of the agreed configuration.<\/li>\n<\/ul>\n<\/section>\n<section class=\"imp-card\">\n<h2>When this solution may not be necessary<\/h2>\n<ul>\n<li>Companies that only have a single listing and prefer to manage it manually may find this managed service unnecessary.<\/li>\n<li>Enterprises requiring bespoke SLA, compliance attestations or integration with internal ERP\/POS for listings management should confirm scope before purchase.<\/li>\n<\/ul>\n<\/section><\/div>\n<div id=\"imp-tab-how-source\" class=\"imp-tab-source\">\n<div class=\"imp-pf-tab-panel\">\n<section class=\"imp-card imp-card-soft\">\n<h2>How it works<\/h2>\n<ol>\n<li><strong>Onboarding and baseline discovery.<\/strong> You provide the official NAP and hours for each location and any preferred listing sources; we run an initial discovery to find existing public records and produce a baseline audit.<\/li>\n<li><strong>Source mapping.<\/strong> We map discovered listings to your canonical locations, detect duplicates and identify authoritative sources for each record so future actions target the correct entry.<\/li>\n<li><strong>AI-assisted prioritisation.<\/strong> Automated analysis classifies issues (incorrect number, duplicate, closed status) and ranks them by likely customer impact so the team sees the most important items first.<\/li>\n<li><strong>Automatic corrections where permitted.<\/strong> For directories that accept direct corrections or API updates, we submit changes on your behalf and track outcomes until visible.<\/li>\n<li><strong>Approval workflow for verifications.<\/strong> When a directory requires owner verification, we provide a single clear approval action for your team and follow up until the change is applied or the directory requires further steps.<\/li>\n<li><strong>Human review and retries.<\/strong> Implementi.ai reviews flagged items, retries failed corrections, investigates edge cases and escalates issues that cannot be fixed automatically.<\/li>\n<li><strong>Monthly reporting and maintenance.<\/strong> We deliver a concise monthly report with a change log, open items and recommended next steps; we also maintain the monitoring configuration and update it as your locations change.<\/li>\n<\/ol>\n<\/section>\n<section class=\"imp-card\">\n<h2>Example workflow<\/h2>\n<p>For example, imagine a company that operates six local service centres and submits updated opening hours after a seasonal change. The system scans agreed directories and finds three listings with mismatched hours and one duplicate entry that lists an old number. AI-assisted logic classifies the hour mismatches as high-impact and the duplicate as medium-impact. Implementi.ai submits permitted corrections for the hours to supported directories and queues the duplicate for manual review. If a directory requires owner verification for any change, the service creates a single approval item for the company&#8217;s administrator. The result is fewer inconsistent records across platforms and a clear audit trail in the monthly report.<\/p>\n<\/section><\/div>\n<\/div>\n<div id=\"imp-tab-integrations-source\" class=\"imp-tab-source\">\n<div class=\"imp-pf-tab-panel\">\n<section class=\"imp-card imp-card-soft\">\n<h2>Integrations<\/h2>\n<h3>Typical systems<\/h3>\n<p>Common targets for this service are public map and directory platforms and data aggregators. Typical examples include Google Business Profile, Apple Maps, Yelp and national directory networks or data aggregators that feed multiple local directories. We treat these as examples \u2014 exact platforms and available update methods are confirmed during onboarding.<\/p>\n<\/section>\n<section class=\"imp-card\">\n<h3>Connection methods<\/h3>\n<p>Connections are implemented using whatever method a directory supports and what is agreed during setup: official APIs, owner verification workflows, direct correction forms, email-based support processes or CSV\/data exports for bulk reconciliation. For some platforms we rely on documented APIs or partner aggregator channels; for others we use structured manual submission with follow-up as permitted.<\/p>\n<\/section>\n<section class=\"imp-card imp-card-blue\">\n<h3>What we need from your company<\/h3>\n<p>Before launch we agree the list of locations, the canonical NAP and operating hours for each site, which public listing sources you want monitored and your approval rules for automatic corrections. We also need any account access or verification permissions required by specific platforms, or permission to manage verification steps on your behalf. Compatibility, exact connection methods and required access are confirmed and agreed before implementation.<\/p>\n<\/section><\/div>\n<\/div>\n<div id=\"imp-tab-faq-source\" class=\"imp-tab-source\">\n<div class=\"imp-pf-tab-panel\">\n<section class=\"imp-card\">\n<h2>FAQ<\/h2>\n<h3>Which listing platforms do you monitor?<\/h3>\n<p>We monitor major public maps and directories and the data aggregator networks you specify during onboarding. Exact platform coverage depends on your market and the agreed scope; we confirm supported sources during setup.<\/p>\n<h3>Will you change our Google Business Profile directly?<\/h3>\n<p>We surface issues for Google Business profiles and propose or submit corrections where the platform permits it, but we never make a change without the agreed permission and any necessary verification steps from you.<\/p>\n<h3>How are items prioritised?<\/h3>\n<p>AI-assisted analysis classifies discovered issues by likely customer impact (for example wrong phone or closed status is high impact). We then apply human review to ensure only material inconsistencies are actioned or escalated for approval.<\/p>\n<h3>What happens if a correction fails?<\/h3>\n<p>If a submitted correction does not take effect we investigate the reason, retry where appropriate and keep you informed. Failed changes remain in the open items list until resolved or mutually agreed otherwise.<\/p>\n<h3>How does implementation start after purchase?<\/h3>\n<p>After you select the service we schedule onboarding. We collect your canonical location data, agree the list of sources to monitor and confirm access methods. Launch time depends on the number and complexity of integrations and is confirmed before work begins.<\/p>\n<\/section><\/div>\n<\/div>\n<div id=\"imp-tab-price-source\" class=\"imp-tab-source\">\n<div class=\"imp-pf-tab-panel\">\n<section class=\"imp-card imp-card-soft\">\n<h2 class=\"imp-i18n-price-title\">Price<\/h2>\n<div class=\"imp-price-grid\">\n<div class=\"imp-price-card\">\n<div class=\"imp-price-label imp-i18n-monthly-label\">Monthly subscription<\/div>\n<div class=\"imp-price-value imp-price-monthly\">199 PLN net \/ month<\/div>\n<\/div>\n<div class=\"imp-price-card\">\n<div class=\"imp-price-label imp-i18n-activation-label\">Activation fee<\/div>\n<div class=\"imp-price-value imp-price-activation\" data-base-price=\"199\">3 \u00d7 monthly subscription<\/div>\n<\/div><\/div>\n<div class=\"imp-price-explain\">\n<p class=\"imp-i18n-activation-copy\">The activation fee covers the initial setup, implementation and launch of the agreed automation scope.<\/p>\n<p class=\"imp-i18n-monthly-copy\">The monthly subscription covers the ongoing operation, maintenance and management of the automation service.<\/p>\n<p class=\"imp-i18n-price-confirm\">The exact scope and final monthly subscription are confirmed before launch.<\/p>\n<\/p><\/div>\n<\/section><\/div>\n<\/div>\n<section id=\"implementation-contact\" class=\"imp-contact\">\n<div class=\"imp-contact-copy-card\">\n<h2 class=\"imp-i18n-contact-title\">Ready to automate this process?<\/h2>\n<p>Tell us how many locations you have and provide the canonical name, address, phone and typical opening hours for each location.<\/p>\n<p class=\"imp-i18n-contact-copy\">We\u2019ll confirm how this solution can be connected, its scope and the final monthly subscription.<\/p>\n<\/p><\/div>\n<p>    <a class=\"imp-contact-main imp-i18n-calendly\" href=\"https:\/\/calendly.com\/d\/cv3s-28d-54k\/30-minutowe-spotkanie\" target=\"_blank\" rel=\"noopener\">Book a 30-minute call<\/a><\/p>\n<table class=\"imp-contact-table\" role=\"presentation\" cellspacing=\"0\" cellpadding=\"0\" style=\"width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;margin:24px 0 0!important;border:0!important;background:transparent!important;\">\n<tbody>\n<tr>\n<td class=\"imp-contact-cell imp-contact-cell-email\" style=\"width:50%!important;padding:0 12px 0 0!important;border:0!important;background:transparent!important;vertical-align:top!important;\"><a class=\"imp-contact-card\" href=\"mailto:contact@implementi.ai\" style=\"display:flex!important;flex-direction:column!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:132px!important;margin:0!important;box-sizing:border-box!important;background:#F9F9F9!important;border:1px solid rgba(24,52,87,.12)!important;border-radius:24px!important;padding:28px!important;text-decoration:none!important;\"><span class=\"imp-contact-label imp-i18n-email-label\">Email us<\/span><span class=\"imp-contact-value\">contact@implementi.ai<\/span><\/a><\/td>\n<td class=\"imp-contact-cell imp-contact-cell-phone\" style=\"width:50%!important;padding:0 0 0 12px!important;border:0!important;background:transparent!important;vertical-align:top!important;\"><a class=\"imp-contact-card\" href=\"tel:%2B48660983178\" style=\"display:flex!important;flex-direction:column!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:132px!important;margin:0!important;box-sizing:border-box!important;background:#F9F9F9!important;border:1px solid rgba(24,52,87,.12)!important;border-radius:24px!important;padding:28px!important;text-decoration:none!important;\"><span class=\"imp-contact-label imp-i18n-phone-label\">Call us<\/span><span class=\"imp-contact-value\">&#43;48 660 983 178<\/span><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/section>\n<\/div>\n<p><script>(function(){\nvar impBusy=false;\nfunction impLang(){var l=(document.documentElement.lang||'en').toLowerCase();return l.indexOf('pl')===0?'pl':'en';}\nfunction impText(){return impLang()==='pl'?{description:'Opis',how:'Jak to dzia\u0142a',integrations:'Integracje',faq:'FAQ',price:'Cena',contactTitle:'Chcesz zautomatyzowa\u0107 ten proces?',contactCopy:'Potwierdzimy spos\u00f3b pod\u0142\u0105czenia rozwi\u0105zania, zakres oraz ostateczny miesi\u0119czny abonament.',calendly:'Um\u00f3w 30-minutow\u0105 rozmow\u0119',email:'Napisz e-mail',phone:'Zadzwo\u0144',monthly:'Abonament miesi\u0119czny',activation:'Op\u0142ata aktywacyjna',activationCopy:'Op\u0142ata aktywacyjna obejmuje pocz\u0105tkow\u0105 konfiguracj\u0119, wdro\u017cenie i uruchomienie uzgodnionego zakresu automatyzacji.',monthlyCopy:'Abonament miesi\u0119czny obejmuje bie\u017c\u0105ce dzia\u0142anie, utrzymanie i obs\u0142ug\u0119 automatyzacji.',priceConfirm:'Dok\u0142adny zakres i ostateczny miesi\u0119czny abonament potwierdzamy przed uruchomieniem.',pricePrefix:'Od ',priceSuffix:' netto \/ miesi\u0105c',tabMonthlySuffix:' netto \/ miesi\u0105c',tabActivationSuffix:' netto'}:{description:'Description',how:'How it works',integrations:'Integrations',faq:'FAQ',price:'Price',contactTitle:'Ready to automate this process?',contactCopy:'We\u2019ll confirm how this solution can be connected, its scope and the final monthly subscription.',calendly:'Book a 30-minute call',email:'Email us',phone:'Call us',monthly:'Monthly subscription',activation:'Activation fee',activationCopy:'The activation fee covers the initial setup, implementation and launch of the agreed automation scope.',monthlyCopy:'The monthly subscription covers the ongoing operation, maintenance and management of the automation service.',priceConfirm:'The exact scope and final monthly subscription are confirmed before launch.',pricePrefix:'From ',priceSuffix:' net \/ month',tabMonthlySuffix:' net \/ month',tabActivationSuffix:' net'};}\nfunction clean(v){return(v||'').replace(\/\u00a0\/g,' ').replace(\/\\s+\/g,' ').trim();}\nfunction money(raw){raw=clean(raw).replace(\/^From\\s+\/i,'').replace(\/^Od\\s+\/i,'').replace(\/\\s+netto\\s*\\\/\\s*miesi\u0105c$\/i,'').replace(\/\\s+net\\s*\\\/\\s*month$\/i,'');var m=raw.match(\/([\\d\\s.,]+)\/);if(!m)return null;var n=m[1].replace(\/\\s\/g,'');var lc=n.lastIndexOf(','),ld=n.lastIndexOf('.'),sep='';if(lc>=0||ld>=0)sep=lc>ld?',':'.';var frac=sep?(n.split(sep)[1]||''):'';var decimals=(frac&&parseInt(frac,10)!==0)?Math.min(frac.length,2):0;var norm=n;if(sep===',')norm=norm.replace(\/\\.\/g,'').replace(',','.');else if(sep==='.')norm=norm.replace(\/,\/g,'');var val=parseFloat(norm);if(isNaN(val))return null;var idx=raw.indexOf(m[1]);var pre=clean(raw.slice(0,idx));var post=clean(raw.slice(idx+m[1].length));if(impLang()==='en'&&post.toLowerCase()==='z\u0142')post='PLN';return{value:val,decimals:decimals,prefix:pre,suffix:post,decimal:sep||'.'};}\nfunction fmt(v,f){var s=Number(v).toFixed(f.decimals);if(f.decimal===',')s=s.replace('.',',');return(f.prefix?f.prefix:'')+s+(f.suffix?' '+f.suffix:'');}\nfunction currentMoney(){var p=document.querySelector('.summary p.price');var root=document.querySelector('.implementi-pf');var fallback=(root&&root.getAttribute('data-base-price')?root.getAttribute('data-base-price'):'199')+' PLN';if(!p)return money(fallback);var txt=clean(p.textContent||p.innerText||'');if(\/^(From|Od)\\s\/i.test(txt)&&p.getAttribute('data-imp-raw'))txt=p.getAttribute('data-imp-raw');else if(txt&&!\/^(From|Od)\\s\/i.test(txt))p.setAttribute('data-imp-raw',txt);return money(txt)||money(fallback);}\nfunction localize(){var t=impText();var map=[['.imp-i18n-contact-title',t.contactTitle],['.imp-i18n-contact-copy',t.contactCopy],['.imp-i18n-calendly',t.calendly],['.imp-i18n-email-label',t.email],['.imp-i18n-phone-label',t.phone],['.imp-i18n-price-title',t.price],['.imp-i18n-monthly-label',t.monthly],['.imp-i18n-activation-label',t.activation],['.imp-i18n-activation-copy',t.activationCopy],['.imp-i18n-monthly-copy',t.monthlyCopy],['.imp-i18n-price-confirm',t.priceConfirm]];map.forEach(function(x){document.querySelectorAll(x[0]).forEach(function(el){el.textContent=x[1];});});document.querySelectorAll('.imp-hero-calendly').forEach(function(a){a.textContent=t.calendly;});document.querySelectorAll('.imp-hero-email').forEach(function(a){a.textContent=t.email;});document.querySelectorAll('.imp-hero-phone').forEach(function(a){a.textContent=t.phone;});}\nfunction updatePrice(){if(impBusy)return;var t=impText(),p=document.querySelector('.summary p.price'),f=currentMoney();if(!f)return;var base=fmt(f.value,f),desired=t.pricePrefix+base+t.priceSuffix;impBusy=true;if(p&&clean(p.textContent)!==desired){p.innerHTML='<span class=\"imp-native-monthly-price\">'+desired+'<\/span>';}document.querySelectorAll('.imp-price-monthly').forEach(function(el){el.textContent=base+t.tabMonthlySuffix;});document.querySelectorAll('.imp-price-activation').forEach(function(el){el.textContent=fmt(f.value*3,f)+t.tabActivationSuffix;});impBusy=false;}\nfunction enforceImpTabsLayout(){\n var wrap=document.querySelector('.woocommerce-tabs, .wc-tabs-wrapper');\n if(!wrap)return;\n var tabs=wrap.querySelector('ul.tabs, ul.wc-tabs');\n if(!tabs)return;\n var important=function(el,prop,val){try{el.style.setProperty(prop,val,'important');}catch(e){}};\n important(tabs,'display','flex');important(tabs,'flex-direction','row');important(tabs,'flex-wrap','nowrap');important(tabs,'align-items','center');important(tabs,'justify-content','flex-start');important(tabs,'gap','8px');important(tabs,'width','100%');important(tabs,'max-width','100%');important(tabs,'min-width','0');important(tabs,'height','auto');important(tabs,'padding','6px');important(tabs,'margin','0 0 24px');important(tabs,'overflow-x','auto');important(tabs,'overflow-y','hidden');important(tabs,'white-space','nowrap');important(tabs,'background','#183457');important(tabs,'border','0');important(tabs,'border-radius','22px');\n Array.from(tabs.children).forEach(function(li){\n  if(li.style.display==='none')return;\n  important(li,'float','none');important(li,'display','block');important(li,'flex','0 0 auto');important(li,'flex-basis','auto');important(li,'flex-grow','0');important(li,'flex-shrink','0');important(li,'width','auto');important(li,'min-width','0');important(li,'max-width','none');important(li,'margin','0');important(li,'padding','0');important(li,'clear','none');important(li,'border','0');important(li,'background','transparent');\n  var a=li.querySelector('a');if(!a)return;\n  important(a,'display','flex');important(a,'align-items','center');important(a,'justify-content','center');important(a,'width','auto');important(a,'min-width','max-content');important(a,'height','44px');important(a,'padding','0 18px');important(a,'margin','0');important(a,'white-space','nowrap');important(a,'font-family','Poppins, Arial, sans-serif');important(a,'font-weight','700');important(a,'font-size','14px');important(a,'text-decoration','none');important(a,'border-radius','18px');\n  if(li.classList.contains('active')){important(a,'background','#183457');important(a,'color','#F9F9F9');important(a,'border-color','#183457');}\n  else{important(a,'background','#F9F9F9');important(a,'color','#183457');important(a,'border','1px solid rgba(24,52,87,.12)');}\n });\n}\nfunction buildTabs(){var wrap=document.querySelector('.woocommerce-tabs, .wc-tabs-wrapper');if(!wrap)return;var tabs=wrap.querySelector('ul.tabs, ul.wc-tabs');var desc=wrap.querySelector('#tab-description, .woocommerce-Tabs-panel--description');if(!tabs||!desc)return;var t=impText();var da=tabs.querySelector('.description_tab a, a[href=\"#tab-description\"]');if(da)da.textContent=t.description;tabs.querySelectorAll('.imp-pf-custom-tab').forEach(function(el){el.remove();});wrap.querySelectorAll('.imp-pf-custom-panel').forEach(function(el){el.remove();});var specs=[['how-it-works',t.how,'imp-tab-how-source'],['integrations',t.integrations,'imp-tab-integrations-source'],['faq',t.faq,'imp-tab-faq-source'],['price',t.price,'imp-tab-price-source']];specs.forEach(function(s){var src=document.getElementById(s[2]);if(!src)return;var li=document.createElement('li');li.className='imp-pf-custom-tab '+s[0]+'_tab';var a=document.createElement('a');a.href='#tab-'+s[0];a.textContent=s[1];li.appendChild(a);tabs.appendChild(li);var panel=document.createElement('div');panel.id='tab-'+s[0];panel.className='woocommerce-Tabs-panel woocommerce-Tabs-panel--'+s[0]+' panel entry-content wc-tab imp-pf-custom-panel';panel.innerHTML=src.innerHTML;panel.style.display='none';wrap.appendChild(panel);});Array.from(tabs.children).forEach(function(li){if(!li.classList.contains('description_tab')&&!li.classList.contains('imp-pf-custom-tab'))li.style.display='none';});Array.from(wrap.querySelectorAll('.woocommerce-Tabs-panel')).forEach(function(panel){if(panel!==desc&&!panel.classList.contains('imp-pf-custom-panel'))panel.style.display='none';});function activate(id){Array.from(tabs.querySelectorAll('li')).forEach(function(li){li.classList.remove('active');});Array.from(wrap.querySelectorAll('.woocommerce-Tabs-panel')).forEach(function(panel){panel.style.display='none';});var a=tabs.querySelector('a[href=\"#'+id+'\"]');if(a&&a.parentElement)a.parentElement.classList.add('active');var panel=wrap.querySelector('#'+id);if(panel)panel.style.display='block';enforceImpTabsLayout();}tabs.addEventListener('click',function(e){var a=e.target.closest('a');if(!a)return;var h=a.getAttribute('href')||'';if(h==='#tab-description'||h==='#tab-how-it-works'||h==='#tab-integrations'||h==='#tab-faq'||h==='#tab-price'){e.preventDefault();e.stopImmediatePropagation();activate(h.slice(1));}},true);if(!tabs.querySelector('li.active'))activate('tab-description');enforceImpTabsLayout();setTimeout(enforceImpTabsLayout,80);var contact=document.getElementById('implementation-contact');if(contact)wrap.insertAdjacentElement('afterend',contact);}\nfunction init(){buildTabs();enforceImpTabsLayout();localize();updatePrice();document.querySelectorAll('.paypal-buttons,.ppc-button-wrapper,.wc-stripe-payment-request-wrapper,.express-payment-button,.wcpay-payment-request-wrapper').forEach(function(el){el.style.display='none';});}\ndocument.addEventListener('DOMContentLoaded',init);window.addEventListener('load',init);setTimeout(init,400);setTimeout(init,1200);setTimeout(init,2400);var s=document.querySelector('.summary');if(s&&window.MutationObserver){new MutationObserver(function(){setTimeout(updatePrice,30);}).observe(s,{childList:true,subtree:true,characterData:true});}\n})();<\/script><\/p>\n<style id=\"imp-v4510-ui-fix\">\n\/* v4.5.10 \u2014 keep light blue only as page background, not inside framed content *\/\n.imp-card-soft,\n.imp-card-blue{\n  background:#F9F9F9!important;\n}<\/p>\n<p>\/* Direct spacing between the end of the implementi product content\/contact and related products *\/\nbody.single-product #implementation-contact{\n  margin-bottom:140px!important;\n}<\/p>\n<p>\/* Hero contact container \u2014 JS below unwraps any wpautop <\/p>\n<p>\/<br \/> wrappers first *\/\nbody.single-product .summary .imp-hero-contact-inline,\nbody.single-product .summary .imp-hero-contact-grid{\n  display:grid!important;\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;\n  gap:12px!important;\n  width:100%!important;\n  max-width:100%!important;\n  margin:12px 0 0!important;\n  padding:0!important;\n  box-sizing:border-box!important;\n}\nbody.single-product .summary .imp-hero-contact-inline>.imp-hero-email,\nbody.single-product .summary .imp-hero-contact-inline>.imp-hero-phone,\nbody.single-product .summary .imp-hero-contact-grid>.imp-hero-email,\nbody.single-product .summary .imp-hero-contact-grid>.imp-hero-phone{\n  display:flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  width:100%!important;\n  max-width:none!important;\n  min-width:0!important;\n  min-height:44px!important;\n  margin:0!important;\n  padding:10px 12px!important;\n  float:none!important;\n  clear:none!important;\n  box-sizing:border-box!important;\n  border:1px solid rgba(24,52,87,.16)!important;\n  border-radius:999px!important;\n  background:#F9F9F9!important;\n  color:#183457!important;\n  text-decoration:none!important;\n  text-align:center!important;\n  font-family:\"Poppins\",Arial,sans-serif!important;\n  font-size:16px!important;\n  font-weight:700!important;\n}<\/p>\n<p>\/* Related products *\/\nbody.single-product .related.products,\nbody.single-product .upsells.products{\n  clear:both!important;\n}\nbody.single-product .related.products ul.products,\nbody.single-product .upsells.products ul.products{\n  width:100%!important;\n  max-width:100%!important;\n  box-sizing:border-box!important;\n}\nbody.single-product .related.products .imp-related-title,\nbody.single-product .upsells.products .imp-related-title,\nbody.single-product .related.products .woocommerce-loop-product__title,\nbody.single-product .upsells.products .woocommerce-loop-product__title{\n  display:block!important;\n  visibility:visible!important;\n  opacity:1!important;\n  height:auto!important;\n  max-height:none!important;\n  overflow:visible!important;\n  margin:14px 0 8px!important;\n  padding:0!important;\n  color:#183457!important;\n  font-family:\"Poppins\",Arial,sans-serif!important;\n  font-size:18px!important;\n  font-weight:700!important;\n  line-height:1.35!important;\n  text-align:center!important;\n}\nbody.single-product .related.products ul.products li.product .price,\nbody.single-product .upsells.products ul.products li.product .price{\n  display:block!important;\n  margin:8px 0 14px!important;\n  text-align:center!important;\n}<\/p>\n<p>@media(max-width:767px){\n  body.single-product #implementation-contact{\n    margin-bottom:72px!important;\n  }\n  body.single-product .summary .imp-hero-contact-inline,\n  body.single-product .summary .imp-hero-contact-grid{\n    grid-template-columns:1fr!important;\n    gap:10px!important;\n  }\n}\n<\/style>\n<p><script id=\"imp-v4510-ui-fix-js\">\n(function(){\n  function impImportant(el, prop, value){\n    if(!el) return;\n    try{ el.style.setProperty(prop,value,'important'); }catch(e){}\n  }<\/p>\n<p>  function fixHeroContact(){\n    var wrap=document.querySelector('.summary .imp-hero-contact-inline, .summary .imp-hero-contact-grid');\n    if(!wrap) return;<\/p>\n<p>    var email=wrap.querySelector('.imp-hero-email');\n    var phone=wrap.querySelector('.imp-hero-phone');\n    if(!email || !phone) return;<\/p>\n<p>    \/* Woo short-description filters can insert <\/p>\n<p>\/<br \/>. Put the two anchors\n       back as DIRECT children so no wrapper can push Call us to the next row. *\/\n    if(email.parentElement!==wrap || phone.parentElement!==wrap || wrap.children.length!==2){\n      wrap.innerHTML='';\n      wrap.appendChild(email);\n      wrap.appendChild(phone);\n    }<\/p>\n<p>    impImportant(wrap,'display','grid');\n    impImportant(wrap,'width','100%');\n    impImportant(wrap,'max-width','100%');\n    impImportant(wrap,'gap',window.innerWidth<=767?'10px':'12px');\n    impImportant(wrap,'grid-template-columns',window.innerWidth<=767?'1fr':'minmax(0,1fr) minmax(0,1fr)');\n\n    [email,phone].forEach(function(a){\n      impImportant(a,'display','flex');\n      impImportant(a,'align-items','center');\n      impImportant(a,'justify-content','center');\n      impImportant(a,'width','100%');\n      impImportant(a,'max-width','none');\n      impImportant(a,'min-width','0');\n      impImportant(a,'margin','0');\n      impImportant(a,'float','none');\n      impImportant(a,'clear','none');\n      impImportant(a,'box-sizing','border-box');\n    });\n  }\n\n  function visibleProductName(li){\n    var title=li.querySelector('.woocommerce-loop-product__title, .product-title, h2.woocommerce-loop-product__title');\n    if(title &#038;&#038; title.textContent.trim()) return {text:title.textContent.trim(), node:title};\n\n    var link=li.querySelector('a.woocommerce-LoopProduct-link, a.woocommerce-loop-product__link, a[href]');\n    var aria=link ? (link.getAttribute('aria-label') || '') : '';\n    if(aria){\n      aria=aria.replace(\/^(Read more about|View product|Select options for)\\s*\/i,'').replace(\/^[\"']|[\"']$\/g,'').trim();\n      if(aria) return {text:aria,node:null};\n    }\n\n    var img=li.querySelector('img');\n    var alt=img ? (img.getAttribute('alt') || '').trim() : '';\n    return {text:alt,node:null};\n  }\n\n  function fixRelatedProducts(){\n    document.querySelectorAll('.related.products, .upsells.products').forEach(function(section){\n      var list=section.querySelector('ul.products');\n      if(!list) return;\n\n      \/* Tell Woo\/theme this is a 3-column list instead of a 4-column list. *\/\n      Array.from(list.classList).forEach(function(c){\n        if(\/^columns-\\d+$\/.test(c)) list.classList.remove(c);\n      });\n      list.classList.add('columns-3');\n\n      var items=Array.from(list.querySelectorAll(':scope > li.product'));\n      items.slice(3).forEach(function(li){ li.remove(); });\n      items=Array.from(list.querySelectorAll(':scope > li.product'));<\/p>\n<p>      \/* Only force our own grid dimensions when the theme doesn't produce\n         a usable 3-column row after changing to columns-3. *\/\n      if(window.innerWidth>900){\n        impImportant(list,'display','grid');\n        impImportant(list,'grid-template-columns','repeat(3,minmax(0,1fr))');\n        impImportant(list,'gap','30px');\n      }else if(window.innerWidth>767){\n        impImportant(list,'display','grid');\n        impImportant(list,'grid-template-columns','repeat(2,minmax(0,1fr))');\n        impImportant(list,'gap','24px');\n      }else{\n        impImportant(list,'display','grid');\n        impImportant(list,'grid-template-columns','1fr');\n        impImportant(list,'gap','22px');\n      }<\/p>\n<p>      items.forEach(function(li){\n        impImportant(li,'width','auto');\n        impImportant(li,'max-width','none');\n        impImportant(li,'min-width','0');\n        impImportant(li,'float','none');\n        impImportant(li,'clear','none');\n        impImportant(li,'margin','0');<\/p>\n<p>        var info=visibleProductName(li);\n        var title=info.node;<\/p>\n<p>        if(title){\n          title.classList.add('imp-related-title');\n        }else if(info.text && !li.querySelector('.imp-related-title')){\n          title=document.createElement('div');\n          title.className='imp-related-title';\n          title.textContent=info.text;\n          var price=li.querySelector('.price');\n          if(price) li.insertBefore(title,price);\n          else li.appendChild(title);\n        }<\/p>\n<p>        if(title){\n          impImportant(title,'display','block');\n          impImportant(title,'visibility','visible');\n          impImportant(title,'opacity','1');\n          impImportant(title,'height','auto');\n          impImportant(title,'max-height','none');\n          impImportant(title,'overflow','visible');\n          impImportant(title,'margin','14px 0 8px');\n          impImportant(title,'color','#183457');\n          impImportant(title,'font-family','Poppins, Arial, sans-serif');\n          impImportant(title,'font-size','18px');\n          impImportant(title,'font-weight','700');\n          impImportant(title,'line-height','1.35');\n          impImportant(title,'text-align','center');\n        }\n      });\n    });\n  }<\/p>\n<p>  function run(){\n    fixHeroContact();\n    fixRelatedProducts();\n  }<\/p>\n<p>  document.addEventListener('DOMContentLoaded',run);\n  window.addEventListener('load',run);\n  window.addEventListener('resize',function(){setTimeout(run,50);});\n  setTimeout(run,250);\n  setTimeout(run,700);\n  setTimeout(run,1600);\n  setTimeout(run,3000);<\/p>\n<p>  if(window.MutationObserver){\n    var mo=new MutationObserver(function(){setTimeout(run,40);});\n    document.addEventListener('DOMContentLoaded',function(){\n      if(document.body) mo.observe(document.body,{childList:true,subtree:true});\n    });\n  }\n})();\n<\/script><\/p>\n<style id=\"imp-v4512-bottom-fix\">\n\/* All customer-facing content cards stay white against the light-blue page background *\/\nbody.single-product .implementi-pf #imp-description-root > .imp-card,\nbody.single-product .implementi-pf .imp-pf-tab-panel > .imp-card,\nbody.single-product .implementi-pf .imp-auto-card{\n  background:#F9F9F9!important;\n  border:1px solid rgba(24,52,87,.10)!important;\n  border-radius:28px!important;\n}<\/p>\n<p>\/* Lower contact copy must never sit loose on the blue page background *\/\nbody.single-product .implementi-pf .imp-contact-copy-card{\n  display:block!important;\n  width:100%!important;\n  margin:0 0 26px!important;\n  padding:clamp(24px,4vw,40px)!important;\n  box-sizing:border-box!important;\n  background:#F9F9F9!important;\n  border:1px solid rgba(24,52,87,.10)!important;\n  border-radius:28px!important;\n}\nbody.single-product .implementi-pf .imp-contact-copy-card h2{\n  margin-top:0!important;\n}<\/p>\n<p>\/* The recommendation area is deliberately separated from Email\/Call cards *\/\nbody.single-product .imp-related-zone{\n  display:block!important;\n  clear:both!important;\n  width:min(1420px,calc(100% - 40px))!important;\n  max-width:100%!important;\n  margin:150px auto 60px!important;\n  padding:38px!important;\n  box-sizing:border-box!important;\n  background:#F9F9F9!important;\n  border:1px solid rgba(24,52,87,.10)!important;\n  border-radius:30px!important;\n}<\/p>\n<p>body.single-product .imp-related-heading{\n  display:block!important;\n  margin:0 0 34px!important;\n  padding:0!important;\n  color:#183457!important;\n  font-family:\"Poppins\",Arial,sans-serif!important;\n  font-size:30px!important;\n  font-weight:800!important;\n  line-height:1.2!important;\n  text-align:left!important;\n}<\/p>\n<p>\/* Exactly 3 products on desktop *\/\nbody.single-product .imp-related-list{\n  display:grid!important;\n  grid-template-columns:repeat(3,minmax(0,1fr))!important;\n  gap:30px!important;\n  width:100%!important;\n  max-width:100%!important;\n  margin:0!important;\n  padding:0!important;\n  box-sizing:border-box!important;\n}\nbody.single-product .imp-related-list > li.product{\n  display:block!important;\n  width:auto!important;\n  max-width:none!important;\n  min-width:0!important;\n  margin:0!important;\n  padding:0!important;\n  float:none!important;\n  clear:none!important;\n}\nbody.single-product .imp-related-list > li.product:nth-of-type(n+4){\n  display:none!important;\n}<\/p>\n<p>\/* Product titles must remain visible *\/\nbody.single-product .imp-related-list .woocommerce-loop-product__title,\nbody.single-product .imp-related-list .product-title,\nbody.single-product .imp-related-list .imp-related-title{\n  display:block!important;\n  visibility:visible!important;\n  opacity:1!important;\n  height:auto!important;\n  max-height:none!important;\n  overflow:visible!important;\n  margin:16px 0 8px!important;\n  color:#183457!important;\n  font-family:\"Poppins\",Arial,sans-serif!important;\n  font-size:18px!important;\n  font-weight:700!important;\n  line-height:1.35!important;\n  text-align:center!important;\n}\nbody.single-product .imp-related-list .price{\n  display:block!important;\n  margin:8px 0 14px!important;\n  text-align:center!important;\n}<\/p>\n<p>@media(max-width:900px){\n  body.single-product .imp-related-zone{\n    width:min(100% - 24px,1100px)!important;\n    margin-top:110px!important;\n    padding:28px!important;\n  }\n  body.single-product .imp-related-list{\n    grid-template-columns:repeat(2,minmax(0,1fr))!important;\n    gap:24px!important;\n  }\n}\n@media(max-width:767px){\n  body.single-product .imp-related-zone{\n    width:calc(100% - 20px)!important;\n    margin-top:80px!important;\n    padding:20px!important;\n    border-radius:24px!important;\n  }\n  body.single-product .imp-related-heading{\n    margin-bottom:24px!important;\n    font-size:24px!important;\n  }\n  body.single-product .imp-related-list{\n    grid-template-columns:1fr!important;\n    gap:22px!important;\n  }\n}\n<\/style>\n<p><script id=\"imp-v4512-bottom-fix-js\">\n(function(){\n  function directProducts(list){\n    return Array.prototype.filter.call(list.children,function(el){\n      return el && el.classList && el.classList.contains('product');\n    });\n  }<\/p>\n<p>  function textForProduct(li){\n    var title=li.querySelector('.woocommerce-loop-product__title,.product-title,h2,h3');\n    if(title && title.textContent.trim()) return {node:title,text:title.textContent.trim()};\n    var img=li.querySelector('img');\n    var alt=img ? (img.getAttribute('alt')||'').trim() : '';\n    if(alt) return {node:null,text:alt};\n    var link=li.querySelector('a[aria-label]');\n    var ar=link ? (link.getAttribute('aria-label')||'').trim() : '';\n    return {node:null,text:ar};\n  }<\/p>\n<p>  function wrapOrphanDescriptionText(){\n    var roots=document.querySelectorAll('#imp-description-root,.imp-pf-tab-panel');\n    roots.forEach(function(root){\n      var group=[];\n      function flush(){\n        if(!group.length) return;\n        var card=document.createElement('section');\n        card.className='imp-card imp-auto-card';\n        root.insertBefore(card,group[0]);\n        group.forEach(function(n){ card.appendChild(n); });\n        group=[];\n      }\n      Array.prototype.slice.call(root.childNodes).forEach(function(n){\n        if(n.nodeType===3){\n          if((n.textContent||'').trim()) group.push(n);\n          return;\n        }\n        if(n.nodeType!==1) return;\n        if(n.matches('section.imp-card,.imp-card,script,style,.imp-tab-source')) {\n          flush();\n        } else if(n.matches('p,h1,h2,h3,h4,ul,ol,blockquote,div:not(.imp-card)')) {\n          group.push(n);\n        } else {\n          flush();\n        }\n      });\n      flush();\n    });\n  }<\/p>\n<p>  function findRecommendationList(){\n    var contact=document.getElementById('implementation-contact');\n    var lists=Array.prototype.slice.call(document.querySelectorAll('ul.products'));\n    if(!lists.length) return null;<\/p>\n<p>    if(contact){\n      var following=lists.filter(function(list){\n        try{\n          return !!(contact.compareDocumentPosition(list) & Node.DOCUMENT_POSITION_FOLLOWING);\n        }catch(e){ return false; }\n      });\n      if(following.length) return following[0];\n    }<\/p>\n<p>    return document.querySelector('.related.products ul.products,.upsells.products ul.products,section.related ul.products,section.upsells ul.products');\n  }<\/p>\n<p>  function fixRecommendations(){\n    var list=findRecommendationList();\n    if(!list) return;<\/p>\n<p>    list.classList.add('imp-related-list');<\/p>\n<p>    Array.prototype.slice.call(list.classList).forEach(function(c){\n      if(\/^columns-\\d+$\/.test(c)) list.classList.remove(c);\n    });\n    list.classList.add('columns-3');<\/p>\n<p>    var items=directProducts(list);<\/p>\n<p>    \/* Physical removal + CSS nth-of-type fallback = exactly 3 visible products. *\/\n    for(var i=items.length-1;i>=3;i--){\n      items[i].remove();\n    }\n    items=directProducts(list);<\/p>\n<p>    var zone=list.closest('section,.related,.upsells');\n    if(!zone) zone=list.parentElement;\n    if(zone){\n      zone.classList.add('imp-related-zone');<\/p>\n<p>      var existing=zone.querySelector(':scope > h2,:scope > h3');\n      if(existing){\n        existing.textContent='Customers also choose';\n        existing.classList.add('imp-related-heading');\n      }else if(!zone.querySelector(':scope > .imp-related-heading')){\n        var h=document.createElement('h2');\n        h.className='imp-related-heading';\n        h.textContent='Customers also choose';\n        zone.insertBefore(h,list);\n      }\n    }<\/p>\n<p>    items.forEach(function(li){\n      var info=textForProduct(li);\n      if(info.node){\n        info.node.classList.add('imp-related-title');\n      }else if(info.text && !li.querySelector('.imp-related-title')){\n        var t=document.createElement('div');\n        t.className='imp-related-title';\n        t.textContent=info.text;\n        var price=li.querySelector('.price');\n        if(price) li.insertBefore(t,price);\n        else li.appendChild(t);\n      }\n    });\n  }<\/p>\n<p>  function run(){\n    wrapOrphanDescriptionText();\n    fixRecommendations();\n  }<\/p>\n<p>  document.addEventListener('DOMContentLoaded',run);\n  window.addEventListener('load',run);\n  window.addEventListener('resize',function(){setTimeout(fixRecommendations,60);});\n  setTimeout(run,250);\n  setTimeout(run,800);\n  setTimeout(run,1800);\n  setTimeout(run,3500);<\/p>\n<p>  if(window.MutationObserver){\n    var queued=false;\n    var mo=new MutationObserver(function(){\n      if(queued) return;\n      queued=true;\n      setTimeout(function(){\n        queued=false;\n        fixRecommendations();\n      },100);\n    });\n    document.addEventListener('DOMContentLoaded',function(){\n      if(document.body) mo.observe(document.body,{childList:true,subtree:true});\n    });\n  }\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"imp-hero-compact\">\n<div class=\"imp-hero-meta\"><span class=\"imp-hero-chip\">Marketing<\/span><span class=\"imp-hero-chip\">implementi.ai<\/span><\/div>\n<div class=\"imp-hero-short\">Na bie\u017c\u0105co monitorujemy Pa\u0144stwa publiczne wpisy firmowe w serwisach mapowych i katalogach, wykrywamy jedynie istotne rozbie\u017cno\u015bci i wprowadzamy lub zalecamy poprawki, aby dane kontaktowe by\u0142y zawsze aktualne dla klient\u00f3w.<\/div>\n<p>  <a class=\"imp-hero-calendly\" href=\"https:\/\/calendly.com\/d\/cv3s-28d-54k\/30-minutowe-spotkanie\" target=\"_blank\" rel=\"noopener\">Um\u00f3w si\u0119 na 30-minutow\u0105 rozmow\u0119 telefoniczn\u0105<\/a><\/p>\n<div class=\"imp-hero-contact-grid\"><a class=\"imp-hero-email\" href=\"mailto:contact@implementi.ai\">Napisz do nas<\/a><a class=\"imp-hero-phone\" href=\"tel:%2B48660983178\">Zadzwo\u0144 do nas<\/a><\/div>\n<\/div>","protected":false},"featured_media":8247,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"product_brand":[32],"product_cat":[34],"product_tag":[],"class_list":["post-7570","product","type-product","status-publish","has-post-thumbnail","product_brand-implementi-ai","product_cat-marketing","first","instock","virtual","taxable","product-type-external"],"ams_default_variation_id":0,"ams_product_points_reward":[],"ams_product_discount_percentage":0,"ams_price_to_display":199,"ams_acf":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/implementi.ai\/pl\/wp-json\/wp\/v2\/product\/7570","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/implementi.ai\/pl\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/implementi.ai\/pl\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/implementi.ai\/pl\/wp-json\/wp\/v2\/comments?post=7570"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/implementi.ai\/pl\/wp-json\/wp\/v2\/media\/8247"}],"wp:attachment":[{"href":"https:\/\/implementi.ai\/pl\/wp-json\/wp\/v2\/media?parent=7570"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/implementi.ai\/pl\/wp-json\/wp\/v2\/product_brand?post=7570"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/implementi.ai\/pl\/wp-json\/wp\/v2\/product_cat?post=7570"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/implementi.ai\/pl\/wp-json\/wp\/v2\/product_tag?post=7570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}