<!DOCTYPE html>
<html lang="es-MX">
<head>
  <!-- ─────────── BÁSICOS ─────────── -->
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />

  <!-- Título: 58 caracteres, marca al inicio, keywords clave -->
  <title>Olklin · Productos y servicio de limpieza profesional en México</title>

  <!-- Description: 152 caracteres, con propuesta de valor y CTA implícito -->
  <meta name="description" content="Fabricamos productos de limpieza profesionales y operamos personal capacitado en plantas, hospitales, oficinas y desarrollos de todo México." />

  <meta name="keywords" content="limpieza industrial, productos de limpieza profesional, servicio de limpieza, personal de limpieza, desinfectante, desengrasante, multiusos, cloro, aromatizante, limpieza hospitalaria, limpieza de oficinas, limpieza México, Olklin" />
  <meta name="author" content="Olklin" />
  <meta name="publisher" content="Olklin" />
  <meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
  <meta name="googlebot" content="index, follow" />
  <meta name="bingbot" content="index, follow" />
  <meta name="rating" content="general" />
  <meta name="referrer" content="strict-origin-when-cross-origin" />
  <meta name="format-detection" content="telephone=yes" />

  <!-- Canonical + idioma -->
  <link rel="canonical" href="https://olklin.com.mx/" />
  <link rel="alternate" href="https://olklin.com.mx/" hreflang="es-MX" />
  <link rel="alternate" href="https://olklin.com.mx/" hreflang="es" />
  <link rel="alternate" href="https://olklin.com.mx/" hreflang="x-default" />

  <!-- ─────────── GEO ─────────── -->
  <meta name="geo.region" content="MX" />
  <meta name="geo.placename" content="México" />
  <meta name="ICBM" content="23.6345, -102.5528" />
  <meta name="geo.position" content="23.6345;-102.5528" />

  <!-- ─────────── COLORES / TEMA ─────────── -->
  <meta name="theme-color" content="#112d70" media="(prefers-color-scheme: light)" />
  <meta name="theme-color" content="#0a1c4a" media="(prefers-color-scheme: dark)" />
  <meta name="msapplication-TileColor" content="#112d70" />
  <meta name="apple-mobile-web-app-capable" content="yes" />
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
  <meta name="apple-mobile-web-app-title" content="Olklin" />
  <meta name="application-name" content="Olklin" />

  <!-- ─────────── ICONOS ─────────── -->
  <!-- Reemplazar por archivos reales en /assets/ -->
  <link rel="icon" href="/assets/favicon.ico" sizes="any" />
  <link rel="icon" type="image/svg+xml" href="/assets/favicon.svg" />
  <link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png" />
  <link rel="manifest" href="/assets/site.webmanifest" />

  <!-- ─────────── OPEN GRAPH (WhatsApp, Facebook, LinkedIn) ─────────── -->
  <meta property="og:type" content="website" />
  <meta property="og:site_name" content="Olklin" />
  <meta property="og:locale" content="es_MX" />
  <meta property="og:url" content="https://olklin.com.mx/" />
  <meta property="og:title" content="Olklin · Productos y servicio de limpieza profesional en México" />
  <meta property="og:description" content="Dos líneas, una disciplina: productos de fórmula propia y personal capacitado para plantas, hospitales, oficinas y desarrollos en todo México." />
  <meta property="og:image" content="https://olklin.com.mx/assets/og-olklin.jpg" />
  <meta property="og:image:secure_url" content="https://olklin.com.mx/assets/og-olklin.jpg" />
  <meta property="og:image:type" content="image/jpeg" />
  <meta property="og:image:width" content="1200" />
  <meta property="og:image:height" content="630" />
  <meta property="og:image:alt" content="Olklin — productos de limpieza profesional fabricados en México" />

  <!-- ─────────── TWITTER / X CARD ─────────── -->
  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:site" content="@olklin" />
  <meta name="twitter:creator" content="@olklin" />
  <meta name="twitter:url" content="https://olklin.com.mx/" />
  <meta name="twitter:title" content="Olklin · Limpieza profesional en México" />
  <meta name="twitter:description" content="Productos de limpieza de fórmula propia y personal capacitado para tu operación. Cotiza por WhatsApp." />
  <meta name="twitter:image" content="https://olklin.com.mx/assets/og-olklin.jpg" />
  <meta name="twitter:image:alt" content="Olklin — productos y servicio de limpieza profesional" />

  <!-- ─────────── PERFORMANCE ─────────── -->
  <link rel="preconnect" href="https://fonts.googleapis.com" />
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  <link rel="dns-prefetch" href="https://images.unsplash.com" />
  <link rel="preconnect" href="https://images.unsplash.com" />
  <link
    href="https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap"
    rel="stylesheet"
  />

  <!-- ─────────── STRUCTURED DATA (JSON-LD) ─────────── -->
  <!-- Organization + LocalBusiness -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "Organization",
        "@id": "https://olklin.com.mx/#organization",
        "name": "Olklin",
        "legalName": "Olklin",
        "url": "https://olklin.com.mx/",
        "logo": {
          "@type": "ImageObject",
          "url": "https://olklin.com.mx/assets/olklin-logo.png",
          "width": 750,
          "height": 170
        },
        "image": "https://olklin.com.mx/assets/og-olklin.jpg",
        "description": "Fabricante mexicano de productos de limpieza profesional y proveedor de servicio de personal de limpieza capacitado para industrias, hospitales, oficinas y desarrollos.",
        "email": "hola@olklin.com.mx",
        "telephone": "+52-55-0000-0000",
        "foundingDate": "2024",
        "areaServed": {
          "@type": "Country",
          "name": "México"
        },
        "address": {
          "@type": "PostalAddress",
          "addressCountry": "MX",
          "addressLocality": "México"
        },
        "sameAs": [
          "https://www.linkedin.com/company/olklin",
          "https://www.facebook.com/olklin",
          "https://www.instagram.com/olklin"
        ],
        "contactPoint": [{
          "@type": "ContactPoint",
          "contactType": "sales",
          "telephone": "+52-55-0000-0000",
          "email": "hola@olklin.com.mx",
          "areaServed": "MX",
          "availableLanguage": ["es", "es-MX"]
        }]
      },
      {
        "@type": "LocalBusiness",
        "@id": "https://olklin.com.mx/#business",
        "name": "Olklin",
        "url": "https://olklin.com.mx/",
        "image": "https://olklin.com.mx/assets/og-olklin.jpg",
        "priceRange": "$$",
        "telephone": "+52-55-0000-0000",
        "address": {
          "@type": "PostalAddress",
          "addressCountry": "MX"
        },
        "areaServed": [
          { "@type": "Country", "name": "México" }
        ],
        "openingHoursSpecification": [{
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
          "opens": "09:00",
          "closes": "18:00"
        }]
      },
      {
        "@type": "WebSite",
        "@id": "https://olklin.com.mx/#website",
        "url": "https://olklin.com.mx/",
        "name": "Olklin",
        "inLanguage": "es-MX",
        "publisher": { "@id": "https://olklin.com.mx/#organization" },
        "potentialAction": {
          "@type": "SearchAction",
          "target": "https://olklin.com.mx/buscar?q={search_term_string}",
          "query-input": "required name=search_term_string"
        }
      },
      {
        "@type": "Service",
        "@id": "https://olklin.com.mx/#service-productos",
        "name": "Olklin Industrial — Productos de limpieza profesional",
        "serviceType": "Fabricación de productos de limpieza",
        "provider": { "@id": "https://olklin.com.mx/#organization" },
        "areaServed": { "@type": "Country", "name": "México" },
        "description": "Línea profesional de fórmula propia fabricada en México: multiusos, desengrasante, desinfectante, aromatizante y cloro en presentaciones de 1 L y 5 L.",
        "hasOfferCatalog": {
          "@type": "OfferCatalog",
          "name": "Catálogo Olklin Industrial",
          "itemListElement": [
            { "@type": "Offer", "itemOffered": { "@type": "Product", "name": "Multiusos Olklin", "sku": "OLK-01" }},
            { "@type": "Offer", "itemOffered": { "@type": "Product", "name": "Desengrasante Olklin", "sku": "OLK-02" }},
            { "@type": "Offer", "itemOffered": { "@type": "Product", "name": "Desinfectante Olklin", "sku": "OLK-03" }},
            { "@type": "Offer", "itemOffered": { "@type": "Product", "name": "Aromatizante Olklin", "sku": "OLK-04" }},
            { "@type": "Offer", "itemOffered": { "@type": "Product", "name": "Cloro Olklin", "sku": "OLK-05" }}
          ]
        }
      },
      {
        "@type": "Service",
        "@id": "https://olklin.com.mx/#service-operaciones",
        "name": "Olklin Operaciones — Personal de limpieza",
        "serviceType": "Servicio de limpieza con personal capacitado",
        "provider": { "@id": "https://olklin.com.mx/#organization" },
        "areaServed": { "@type": "Country", "name": "México" },
        "description": "Servicio continuo de limpieza con personal capacitado, uniformado y supervisado, en turnos de hasta 24/7 para industrias, oficinas, hospitales y desarrollos residenciales.",
        "audience": {
          "@type": "BusinessAudience",
          "audienceType": "Plantas industriales, hospitales, oficinas corporativas, hotelería, condominios y escuelas"
        }
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          { "@type": "ListItem", "position": 1, "name": "Inicio", "item": "https://olklin.com.mx/" }
        ]
      },
      {
        "@type": "FAQPage",
        "mainEntity": [
          {
            "@type": "Question",
            "name": "¿Qué hace Olklin?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Olklin es una empresa mexicana con dos líneas de negocio: fabricamos productos profesionales de limpieza con fórmula propia y ofrecemos servicio de personal de limpieza capacitado para plantas, hospitales, oficinas y desarrollos."
            }
          },
          {
            "@type": "Question",
            "name": "¿En qué presentaciones vienen los productos Olklin?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Toda la línea (multiusos, desengrasante, desinfectante, aromatizante y cloro) está disponible en presentaciones de 1 L y 5 L."
            }
          },
          {
            "@type": "Question",
            "name": "¿En qué zonas opera Olklin?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Operamos en todo México, con cobertura para clientes industriales, hospitalarios, corporativos, hoteleros y residenciales."
            }
          },
          {
            "@type": "Question",
            "name": "¿Cómo se contrata el servicio?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Puedes solicitar una propuesta por WhatsApp o al correo hola@olklin.com.mx. Respondemos en menos de 24 horas con una cotización clara y sin compromiso."
            }
          }
        ]
      }
    ]
  }
  </script>

  <!-- ─────────── CAMPAÑAS / ANALYTICS ───────────
       Pegar los IDs reales antes de publicar.
       Cada bloque está aislado y comentado para que solo se active
       cuando tengan el ID correspondiente.
  -->

  <!-- Google Tag Manager (recomendado como contenedor único) -->
  <!--
  <script>
    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-XXXXXXX');
  </script>
  -->

  <!-- Google Analytics 4 (si no usan GTM) -->
  <!--
  <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'G-XXXXXXXXXX', { anonymize_ip: true });
  </script>
  -->

  <!-- Google Ads – Conversion Tracking -->
  <!--
  <script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXXX"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'AW-XXXXXXXXX');
  </script>
  -->

  <!-- Meta Pixel (Facebook / Instagram Ads) -->
  <!--
  <script>
    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
    n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
    n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
    document,'script','https://connect.facebook.net/en_US/fbevents.js');
    fbq('init', 'XXXXXXXXXXXXXXX'); fbq('track', 'PageView');
  </script>
  <noscript><img height="1" width="1" style="display:none"
    src="https://www.facebook.com/tr?id=XXXXXXXXXXXXXXX&ev=PageView&noscript=1"/></noscript>
  -->

  <!-- LinkedIn Insight Tag -->
  <!--
  <script>
    _linkedin_partner_id = "XXXXXXX";
    window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
    window._linkedin_data_partner_ids.push(_linkedin_partner_id);
  </script>
  <script async src="https://snap.licdn.com/li.lms-analytics/insight.min.js"></script>
  -->

  <!-- TikTok Pixel -->
  <!--
  <script>
    !function (w, d, t) { /* TikTok Pixel base code */ }(window, document, 'ttq');
  </script>
  -->

  <style>
    html, body { margin: 0; padding: 0; }
    body {
      background: #fbfaf6;
      color: #0b1020;
      font-family: "Schibsted Grotesk", system-ui, -apple-system, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    * { box-sizing: border-box; }
    a:hover { opacity: 0.85; }
    /* Contenido para crawlers: visualmente oculto, semánticamente disponible */
    .seo-only {
      position: absolute;
      width: 1px; height: 1px;
      padding: 0; margin: -1px;
      overflow: hidden; clip: rect(0,0,0,0);
      white-space: nowrap; border: 0;
    }
  </style>
  <script src="https://unpkg.com/react@18.3.1/umd/react.development.js" integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L" crossorigin="anonymous"></script>
  <script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js" integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm" crossorigin="anonymous"></script>
  <script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
</head>
<body>
  <!-- ─────────── CONTENIDO CRAWLABLE PARA BOTS / NO-JS ───────────
       Refleja el contenido principal del sitio en HTML semántico
       plano. Google ya renderiza JS, pero esto:
        · asegura indexación si falla el render,
        · sirve a previews de WhatsApp / LinkedIn / Slack,
        · es el fallback para navegadores con JS desactivado.
  -->
  <noscript>
    <main>
      <header>
        <h1>Olklin · Productos y servicio de limpieza profesional en México</h1>
        <p>
          Dos líneas de negocio, una sola disciplina: productos profesionales
          de fórmula propia y personal capacitado que los opera en plantas,
          hospitales, oficinas y desarrollos en todo México.
        </p>
        <p><a href="mailto:hola@olklin.com.mx">hola@olklin.com.mx</a></p>
      </header>

      <section>
        <h2>Olklin Industrial · Productos de limpieza</h2>
        <p>
          Línea profesional de fórmula propia fabricada en México.
          Presentaciones de 1 L y 5 L.
        </p>
        <ul>
          <li>Multiusos (OLK · 01) — superficies generales</li>
          <li>Desengrasante (OLK · 02) — cocinas y talleres</li>
          <li>Desinfectante (OLK · 03) — amplio espectro</li>
          <li>Aromatizante (OLK · 04) — fragancia 12 h</li>
          <li>Cloro (OLK · 05) — concentrado al 6 %</li>
        </ul>
      </section>

      <section>
        <h2>Olklin Operaciones · Personal de limpieza</h2>
        <p>
          Servicio continuo de limpieza con personal capacitado,
          uniformado y supervisado. Turnos hasta 24/7. Reemplazos
          garantizados en 24 horas.
        </p>
      </section>

      <section>
        <h2>Industrias que atendemos</h2>
        <ul>
          <li>Oficinas corporativas</li>
          <li>Plantas industriales</li>
          <li>Hospitales y clínicas</li>
          <li>Hotelería y restaurantes</li>
          <li>Condominios residenciales</li>
          <li>Escuelas</li>
        </ul>
      </section>

      <section>
        <h2>Contacto</h2>
        <p>
          Cotiza por WhatsApp o escríbenos a
          <a href="mailto:hola@olklin.com.mx">hola@olklin.com.mx</a>.
          Respondemos en menos de 24 horas.
        </p>
      </section>
    </main>
  </noscript>

  <!-- H1 semántico para crawlers (oculto visualmente; React pinta el hero real arriba) -->
  <h1 class="seo-only">Olklin — Productos y servicio de limpieza profesional en México</h1>

  <div id="root" role="main"></div>

  <!-- ─────────── UTM HELPER PARA CAMPAÑAS ───────────
       Lee utm_source / utm_medium / utm_campaign / utm_term / utm_content / gclid / fbclid
       de la URL, los guarda en sessionStorage para atribución multi-página
       y los adjunta a los enlaces de WhatsApp y mailto para no perder
       el origen del lead.
  -->
  <script>
    (function(){
      try {
        var params = new URLSearchParams(window.location.search);
        var keys = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content','gclid','fbclid','msclkid','ttclid','li_fat_id'];
        var attribution = {};
        // 1) sessionStorage previo
        try {
          var saved = JSON.parse(sessionStorage.getItem('olk_attribution') || '{}');
          Object.assign(attribution, saved);
        } catch(e){}
        // 2) URL actual sobreescribe
        keys.forEach(function(k){
          var v = params.get(k);
          if (v) attribution[k] = v;
        });
        // 3) Persistir
        try { sessionStorage.setItem('olk_attribution', JSON.stringify(attribution)); } catch(e){}

        // 4) Inyectar en links después de que React monte
        function decorateLinks() {
          var qs = Object.entries(attribution).map(function(p){
            return encodeURIComponent(p[0]) + '=' + encodeURIComponent(p[1]);
          }).join('&');
          document.querySelectorAll('a[href]').forEach(function(a){
            var href = a.getAttribute('href') || '';
            // WhatsApp: agregar al mensaje
            if (href.indexOf('wa.me') !== -1 || href.indexOf('whatsapp.com') !== -1) {
              if (qs && href.indexOf('utm_') === -1) {
                a.setAttribute('href', href + (href.indexOf('?') > -1 ? '&' : '?') + qs);
              }
            }
            // mailto: agregar al subject
            if (href.indexOf('mailto:') === 0 && qs && href.indexOf('utm_') === -1) {
              a.setAttribute('href', href + (href.indexOf('?') > -1 ? '&' : '?') + 'subject=' +
                encodeURIComponent('Cotización Olklin · ' + (attribution.utm_campaign || 'web')));
            }
          });
        }
        // Esperar al render de React
        if (Object.keys(attribution).length) {
          var tries = 0;
          var iv = setInterval(function(){
            decorateLinks();
            if (++tries > 20) clearInterval(iv);
          }, 500);
        }
      } catch(e){ /* silencioso */ }
    })();
  </script>
  <script type="text/babel" src="tweaks-panel.jsx"></script>
  <script type="text/babel" src="web/web-tokens.jsx"></script>
  <script type="text/babel" src="web/web-icons.jsx"></script>
  <script type="text/babel" src="web/web-wordmark.jsx"></script>
  <script type="text/babel" src="web/web-v2-bold.jsx"></script>
  <script type="text/babel" src="web/web-app.jsx"></script>
</body>
</html>
