<?php /** * Plugin Name: Quiwix Performance * Plugin URI: https://quiwix.com * Description: Mejoras de rendimiento, SEO y conversión para Quiwix * Version: 1.0.0 * Author: Quiwix */ // Evitar acceso directo if (!defined('ABSPATH')) exit; // ===== 1. META DESCRIPTION ===== add_action('wp_head', 'quiwix_add_meta_description', 0); function quiwix_add_meta_description() { if (is_front_page()) { echo '<meta name="description" content="Quiwix - Software colombiano de facturación electrónica y POS. Factura, controla inventario y cumple con la DIAN desde cualquier dispositivo.">' . "\n"; } } // ===== 2. SCHEMA.ORG LOCAL BUSINESS JSON-LD ===== add_action('wp_head', 'quiwix_add_schema_org', 1); function quiwix_add_schema_org() { if (is_front_page()) { ?> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "SoftwareApplication", "name": "Quiwix", "applicationCategory": "BusinessApplication", "operatingSystem": "Web", "description": "Software colombiano de facturación electrónica y POS", "url": "https://quiwix.com", "offers": { "@type": "Offer", "price": "75000", "priceCurrency": "COP" }, "author": { "@type": "Organization", "name": "Quiwix", "url": "https://quiwix.com", "contactPoint": { "@type": "ContactPoint", "telephone": "+57-3189403793", "contactType": "sales", "availableLanguage": ["Spanish"] }, "address": { "@type": "PostalAddress", "addressLocality": "Sincelejo", "addressRegion": "Sucre", "addressCountry": "CO" } } } </script> <?php } } // ===== 3. PRECONNECT HINTS ===== add_action('wp_head', 'quiwix_add_preconnect', 0); function quiwix_add_preconnect() { ?> <link rel="preconnect" href="https://www.facebook.com"> <link rel="preconnect" href="https://connect.facebook.net"> <link rel="preconnect" href="https://www.googletagmanager.com"> <link rel="dns-prefetch" href="//www.facebook.com"> <link rel="dns-prefetch" href="//connect.facebook.net"> <link rel="dns-prefetch" href="//www.googletagmanager.com"> <?php } // ===== 4. DEFER NON-CRITICAL JS ===== add_filter('script_loader_tag', 'quiwix_defer_scripts', 10, 3); function quiwix_defer_scripts($tag, $handle, $src) { $defer_handles = array( 'jquery-migrate', 'comment-reply', 'divi-custom-script', ); // Defer all Divi builder scripts if (strpos($handle, 'divi') !== false || strpos($handle, 'et-core') !== false) { $defer_handles[] = $handle; } if (in_array($handle, $defer_handles)) { return str_replace(' src', ' defer src', $tag); } return $tag; } // ===== 5. ASYNC NON-CRITICAL STYLES ===== add_filter('style_loader_tag', 'quiwix_async_styles', 10, 4); function quiwix_async_styles($html, $handle, $href, $media) { $async_handles = array('divi-style', 'et-builder-modules-style'); if (in_array($handle, $async_handles)) { $html = str_replace("media='all'", "media='print' onload=\"this.media='all'\"", $html); } return $html; } // ===== 6. LAZY LOAD HERO IMAGES ===== add_action('wp_footer', 'quiwix_lazy_load_fix', 100); function quiwix_lazy_load_fix() { ?> <script> document.addEventListener('DOMContentLoaded', function() { // Add loading="lazy" to all images that don't have it var imgs = document.querySelectorAll('img:not([loading])'); for (var i = 0; i < imgs.length; i++) { // Skip tiny images (pixel trackers) if (imgs[i].width > 50 && imgs[i].height > 50) { imgs[i].setAttribute('loading', 'lazy'); } } }); </script> <?php } // ===== 7. REMOVE WP EMOJI (performance) ===== add_action('init', 'quiwix_remove_emojis'); function quiwix_remove_emojis() { remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('admin_print_scripts', 'print_emoji_detection_script'); remove_action('wp_print_styles', 'print_emoji_styles'); remove_action('admin_print_styles', 'print_emoji_styles'); remove_filter('the_content_feed', 'wp_staticize_emoji'); remove_filter('comment_text_rss', 'wp_staticize_emoji'); remove_filter('wp_mail', 'wp_staticize_emoji_for_email'); } // ===== 8. ADD width/height TO IMAGES THAT MISS THEM ===== // This is handled client-side via JS in the lazy load fix above // ===== 9. CACHE HEADERS VIA .htaccess (if Apache) ===== // Para nginx, esto se configura en el servidor // ===== 10. SET SITE DESCRIPTION ===== add_filter('pre_option_blogdescription', 'quiwix_set_description'); function quiwix_set_description($value) { if (empty($value)) { return 'Software de facturación electrónica y POS para Colombia'; } return $value; } // ===== 11. GLOBAL CUSTOM CSS ===== add_action('wp_head', 'quiwix_global_css', 5); function quiwix_global_css() { ?> <style id="quiwix-global-css"> :root { --green-50: #F0FDF4; --green-100: #DCFCE7; --green-200: #BBF7D0; --green-300: #86EFAC; --green-400: #4ADE80; --green-500: #22C55E; --green-600: #16A34A; --green-700: #15803D; --green-800: #166534; --green-900: #064E3B; --amber-400: #FBBF24; --amber-500: #F59E0B; --amber-600: #D97706; --gray-50: #F9FAFB; --gray-100: #F3F4F6; --gray-200: #E5E7EB; --gray-300: #D1D5DB; --gray-400: #9CA3AF; --gray-500: #6B7280; --gray-600: #4B5563; --gray-700: #374151; --gray-800: #1F2937; --gray-900: #111827; --white: #FFFFFF; --shadow-sm: 0 1px 2px rgba(0,0,0,0.05); --shadow: 0 4px 12px rgba(0,0,0,0.08); --shadow-lg: 0 10px 40px rgba(0,0,0,0.12); --shadow-xl: 0 20px 60px rgba(0,0,0,0.15); --radius: 12px; --radius-lg: 20px; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } } .navbar { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; padding: 1rem 2rem; display: flex; align-items: center; justify-content: space-between; transition: all 0.3s ease; background: transparent; } .navbar.scrolled { background: rgba(255,255,255,0.95); backdrop-filter: blur(12px); box-shadow: var(--shadow); } .navbar .logo { display: flex; align-items: center; gap: 0.5rem; text-decoration: none; } .navbar .logo img { height: 40px; } .navbar .logo span { font-size: 1.4rem; font-weight: 800; color: var(--green-700); letter-spacing: -0.5px; } .navbar .logo span small { font-weight: 400; color: var(--gray-500); font-size: 0.7rem; } .nav-links { display: flex; align-items: center; gap: 2rem; list-style: none; } .nav-links a { text-decoration: none; color: var(--gray-600); font-weight: 500; font-size: 0.9rem; transition: color 0.2s; position: relative; } .nav-links a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: var(--green-500); transition: width 0.3s; } .nav-links a:hover { color: var(--green-600); } .nav-links a:hover::after { width: 100%; } .nav-cta { background: var(--green-600); color: #fff !important; padding: 0.6rem 1.5rem; border-radius: 50px; font-weight: 600 !important; } .nav-cta::after { display: none !important; } .nav-cta:hover { background: var(--green-700) !important; transform: translateY(-2px); box-shadow: 0 4px 15px rgba(22,163,74,0.4); } .mobile-menu-btn { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; } .mobile-menu-btn span { display: block; width: 24px; height: 2px; background: var(--gray-700); border-radius: 2px; } /* Blog grid */ .blog-quiwix-header { padding: 8rem 2rem 3rem; background: linear-gradient(170deg, #F0FDF4 0%, #FFFFFF 40%, #FFFFFF 70%, #F0FDF4 100%); text-align: center; } .blog-quiwix-header .blog-tag { display: inline-block; background: rgba(22,163,74,0.1); color: var(--green-700); padding: 0.3rem 1rem; border-radius: 50px; font-size: 0.8rem; font-weight: 600; margin-bottom: 1rem; text-transform: uppercase; } .blog-quiwix-header h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; color: var(--gray-900); margin-bottom: 1rem; letter-spacing: -1px; } .blog-quiwix-header p { color: var(--gray-500); font-size: 1.1rem; max-width: 600px; margin: 0 auto; } .blog-grid-section { padding: 4rem 2rem; max-width: 1200px; margin: 0 auto; } .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; } .blog-card { background: #fff; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--gray-100); transition: all 0.4s; display: flex; flex-direction: column; } .blog-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-xl); } .blog-card-image { width: 100%; height: 200px; background: linear-gradient(135deg, var(--green-100), var(--green-200)); display: flex; align-items: center; justify-content: center; font-size: 3rem; } .blog-card-image .icon-circle { width: 80px; height: 80px; background: var(--green-500); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; font-size: 2rem; font-weight: 700; } .blog-card-body { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; } .blog-card-category { display: inline-block; background: var(--green-50); color: var(--green-700); font-size: 0.75rem; font-weight: 600; padding: 0.2rem 0.7rem; border-radius: 50px; margin-bottom: 0.8rem; text-transform: uppercase; width: fit-content; } .blog-card h3 { font-size: 1.1rem; font-weight: 700; color: var(--gray-800); margin-bottom: 0.8rem; } .blog-card h3 a { color: var(--gray-800); text-decoration: none; } .blog-card h3 a:hover { color: var(--green-600); } .blog-card-excerpt { color: var(--gray-500); font-size: 0.9rem; line-height: 1.6; flex: 1; margin-bottom: 1rem; } .blog-card-meta { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--gray-100); } .blog-card-date { font-size: 0.8rem; color: var(--gray-400); } .blog-card-link { font-size: 0.85rem; color: var(--green-600); text-decoration: none; font-weight: 600; } .blog-card-link:hover { color: var(--green-800); } .blog-card-link::after { content: ' \2192'; } /* Demo CTA */ .demo-section { background: linear-gradient(135deg, var(--green-900), var(--green-800)); padding: 6rem 2rem; text-align: center; } .demo-section .demo-content { max-width: 700px; margin: 0 auto; } .demo-section h2 { font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 800; color: #fff; margin-bottom: 1rem; } .demo-section p { color: rgba(255,255,255,0.7); font-size: 1.1rem; margin-bottom: 2rem; } .demo-section .btn-primary { display: inline-flex; align-items: center; gap: 0.5rem; background: #fff; color: var(--green-800); padding: 1rem 2.5rem; border-radius: 50px; text-decoration: none; font-weight: 600; font-size: 1.1rem; } .demo-section .btn-primary:hover { background: var(--green-100); color: var(--green-900); } .demo-section .btn-secondary-light { display: inline-flex; align-items: center; gap: 0.5rem; color: rgba(255,255,255,0.8); text-decoration: none; font-weight: 500; margin-left: 1rem; } /* Footer */ .footer { background: var(--gray-900); color: var(--gray-400); padding: 4rem 2rem 2rem; } .footer-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; } .footer-brand img { height: 36px; margin-bottom: 1rem; } .footer-brand p { font-size: 0.9rem; line-height: 1.7; max-width: 300px; } .footer h4 { color: #fff; font-size: 0.9rem; font-weight: 700; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 1px; } .footer ul { list-style: none; } .footer ul li { margin-bottom: 0.6rem; } .footer ul a { color: var(--gray-400); text-decoration: none; font-size: 0.9rem; } .footer ul a:hover { color: var(--green-400); } .footer-bottom { max-width: 1200px; margin: 0 auto; padding-top: 2rem; border-top: 1px solid var(--gray-800); display: flex; justify-content: space-between; font-size: 0.85rem; } @media (max-width: 768px) { .navbar { padding: 0.8rem 1rem; } .nav-links { position: fixed; top: 0; right: -100%; width: 260px; height: 100vh; background: #fff; flex-direction: column; padding: 5rem 2rem 2rem; box-shadow: -10px 0 30px rgba(0,0,0,0.1); transition: right 0.3s; gap: 1.2rem; align-items: flex-start; } .nav-links.open { right: 0; } .mobile-menu-btn { display: flex; } .blog-grid { grid-template-columns: 1fr; } .footer-grid { grid-template-columns: 1fr; gap: 2rem; } .footer-bottom { flex-direction: column; gap: 1rem; text-align: center; } .demo-section { padding: 4rem 1rem; } } </style> <?php } // ===== 12. NAVBAR ===== add_action('wp_body_open', 'quiwix_add_navbar'); function quiwix_add_navbar() { // Don't add if already present in page content ?> <nav class="navbar" id="navbar"> <a href="https://quiwix.com" class="logo"> <img src="https://quiwix.com/wp-content/uploads/2026/06/quiwix-logo-hd.png" alt="Quiwix" onerror="this.style.display='none'"> <span>Quiwix <small>| Integrator</small></span> </a> <button class="mobile-menu-btn" id="menuBtn" aria-label="Menu"> <span></span><span></span><span></span> </button> <ul class="nav-links" id="navLinks"> <li><a href="https://quiwix.com">Inicio</a></li> <li><a href="https://quiwix.com/#soluciones">Soluciones</a></li> <li><a href="https://quiwix.com/#planes">Planes</a></li> <li><a href="/blog">Blog</a></li> <li><a href="https://demo.quiwix.com">Demo</a></li> <li><a href="https://wa.me/573189403793" class="nav-cta" target="_blank">WhatsApp</a></li> </ul> </nav> <script> document.addEventListener('DOMContentLoaded', function() { var n = document.getElementById('navbar'); var b = document.getElementById('menuBtn'); var l = document.getElementById('navLinks'); if (b && l) b.addEventListener('click', function() { l.classList.toggle('open'); }); if (n) window.addEventListener('scroll', function() { n.classList.toggle('scrolled', window.scrollY > 50); }); if (l) l.querySelectorAll('a').forEach(function(a) { a.addEventListener('click', function() { l.classList.remove('open'); }); }); }); </script> <?php } // ===== 13. CUSTOM BLOG OVERRIDE ===== add_filter('the_content', 'quiwix_custom_blog_display', 999); function quiwix_custom_blog_display($content) { if (!is_page('blog') && !is_home()) { return $content; } ob_start(); ?> <div class="blog-quiwix-header"> <span class="blog-tag">Blog</span> <h1>Blog Quiwix</h1> <p>Todo sobre facturacion electronica, calendarios DIAN y soluciones para contadores en Colombia</p> </div> <div class="blog-grid-section"> <div class="blog-grid"> <?php $args = array('post_type' => 'post', 'posts_per_page' => 12, 'post_status' => 'publish'); $q = new WP_Query($args); if ($q->have_posts()) { while ($q->have_posts()) { $q->the_post(); $cats = get_the_category(); $cat = !empty($cats) ? $cats[0]->name : 'General'; $ex = get_the_excerpt(); if (empty($ex)) $ex = wp_trim_words(get_the_content(), 20, '...'); $init = strtoupper(substr(get_the_title(), 0, 1)); ?> <article class="blog-card"> <div class="blog-card-image"><div class="icon-circle"><?php echo $init; ?></div></div> <div class="blog-card-body"> <span class="blog-card-category"><?php echo esc_html($cat); ?></span> <h3><a href="<?php the_permalink(); ?>" target="_blank"><?php the_title(); ?></a></h3> <p class="blog-card-excerpt"><?php echo esc_html($ex); ?></p> <div class="blog-card-meta"> <span class="blog-card-date"><?php echo get_the_date('d M Y'); ?></span> <a href="<?php the_permalink(); ?>" class="blog-card-link" target="_blank">Leer mas</a> </div> </div> </article> <?php } } wp_reset_postdata(); ?> </div> </div> <section class="demo-section"> <div class="demo-content"> <h2>Listo para modernizar tu negocio?</h2> <p>Descubre por que Quiwix es el software que tu negocio merece.</p> <div> <a href="https://demo.quiwix.com" class="btn-primary" target="_blank">Probar Demo Gratis</a> <a href="https://wa.me/573189403793" class="btn-secondary-light" target="_blank">Hablar con asesor \2192</a> </div> </div> </section> <footer class="footer"> <div class="footer-grid"> <div class="footer-brand"> <img src="https://quiwix.com/wp-content/uploads/2026/06/quiwix-logo-hd.png" alt="Quiwix" onerror="this.style.display='none'"> <p>Software de facturacion electronica SaaS para Colombia. Moderniza tu negocio con Quiwix.</p> </div> <div> <h4>Soluciones</h4> <ul> <li><a href="https://quiwix.com/#soluciones">POS Electronico</a></li> <li><a href="https://quiwix.com/#soluciones">POS Restaurante</a></li> <li><a href="https://quiwix.com/#planes">Planes</a></li> </ul> </div> <div> <h4>Empresa</h4> <ul> <li><a href="https://wa.me/573189403793" target="_blank">Contacto</a></li> <li><a href="https://quiwix.com/privacidad">Privacidad</a></li> </ul> </div> <div> <h4>Contacto</h4> <ul> <li><a href="https://wa.me/573189403793" target="_blank">WhatsApp: +57 318 9403793</a></li> <li>Sincelejo, Sucre</li> <li>Colombia</li> </ul> </div> </div> <div class="footer-bottom"> <span>\u00a9 2026 Quiwix. Todos los derechos reservados.</span> <span>Hecho en Colombia</span> </div> </footer> <?php return ob_get_clean(); } // ===== 14. REMOVE DEFAULT DIVI CONTENT WRAPPERS ON BLOG ===== add_action('wp', 'quiwix_blog_setup'); function quiwix_blog_setup() { if (is_page('blog') || is_home()) { // Remove sidebars and default wrappers remove_action('et_before_main_content', 'et_divi_output_content_wrapper'); remove_action('et_after_main_content', 'et_divi_output_content_wrapper_end'); remove_action('et_after_main_content', 'et_divi_get_sidebar'); // Remove theme builder layouts add_filter('et_theme_builder_template_layouts', '__return_empty_array'); } } Quiwix — Software de Facturación Electrónica y POS
Facturación electrónica DIAN

Tu negocio merece facturar sin complicaciones

Quiwix automatiza tu facturación electrónica, controla tu inventario y te mantiene al día con la DIAN. Todo en la nube, sin instalaciones.

100%

Válido ante la DIAN

0

Sin descargas

24/7

Soporte incluido

Quiwix app
Facturación 100% DIAN
Inventario en tiempo real
Beneficios

Todo lo que tu negocio necesita

Sin complicaciones, sin instalaciones, sin estrés.

☁️

Sin descargas

Accedes desde cualquier dispositivo con internet. Tablet, laptop o celular — todo funciona.

🎧

Soporte incluido

Nuestro equipo te ayuda cuando lo necesites. Sin letras chiquitas, sin costos ocultos.

Válido ante la DIAN

Cumples con la normativa colombiana de facturación electrónica. Todo en regla.

Soluciones

Dos productos, un solo ecosistema

Elige el módulo que necesita tu negocio o combínalos.

POS Electrónico

POS Electrónico

El punto de venta que se adapta a tu negocio. Ideal para ferreterías, droguerías, minimarkets y comercios en general.

  • Facturas electrónicas
  • Usa tablet, laptop o celular como POS
  • Control de stock en tiempo real
  • Reportes de venta automáticos
POS Restaurante

POS Restaurante

Gestión de mesas y comandas digitales. Toma pedidos desde el celular y llegan directo a la cocina.

  • Gestión de mesas y comandas
  • Domiciliarios y propinas
  • Facturación electrónica incluida
  • Reportes de ventas
Planes

Elige el plan perfecto para tu negocio

Elige entre factura POS/PE o facturación electrónica DIAN. Todos los planes incluyen soporte.

Plan Emprendedor

Mensual
$70.000 /mes
Factura POS/PE. Ideal para llevar el control de tu negocio.
  • Factura POS / PE
  • 2 usuarios
  • Control de inventario
  • Reportes detallados
Quiero este plan

Plan Emprendedor

Anual
$720.000 /año
Ahorro anual
Factura POS/PE. 5 usuarios, soporte prioritario.
  • Factura POS / PE
  • 5 usuarios
  • Control de inventario
  • Notas crédito ilimitadas
  • Soporte prioritario
Quiero este plan

📱 ¿Dudas? Escríbenos a WhatsApp 318 9403793 — te asesoramos sin compromiso.

Prueba el Demo Gratis

Entra y prueba el sistema sin costo. Descubre por qué Quiwix es el software que tu negocio merece.

Probar Demo Gratis Hablar con asesor →