// IndexNow Submission Script for Odoo Expertos // This script submits all 152 URLs to IndexNow for instant indexing const fetch = require('node-fetch'); const INDEXNOW_KEY = 'b4d76d0cab244576b00dd49ff5089912'; const HOST = 'www.odoo-expertos.com'; const KEY_LOCATION = `https://${HOST}/${INDEXNOW_KEY}.txt`; // All URLs to submit (152 total) const urls = [ // Homepage `https://${HOST}/`, // Main directories `https://${HOST}/odoo/`, `https://${HOST}/odoo-hosting/`, `https://${HOST}/odoo-ia/`, // Odoo content pages `https://${HOST}/odoo/curso-odoo-aprender-completo-2025/`, `https://${HOST}/odoo/dashboard-ninja-odoo-avanzado-2025/`, `https://${HOST}/odoo/descargar-odoo-instaladores-oficiales-2025/`, `https://${HOST}/odoo/empleos-odoo-oportunidades-carrera-2025/`, `https://${HOST}/odoo/empresa-odoo-historia-fundacion-2025/`, `https://${HOST}/odoo/freelance-odoo-consultores-independientes-2025/`, `https://${HOST}/odoo/instalar-odoo-guia-paso-a-paso-2025/`, `https://${HOST}/odoo/odoo-17-funciones-caracteristicas-2025/`, `https://${HOST}/odoo/odoo-18-nuevas-funciones-2025/`, `https://${HOST}/odoo/odoo-api-integraciones-desarrollo-2025/`, `https://${HOST}/odoo/odoo-argentina-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-bolivia-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-chatbot-atencion-cliente-2025/`, `https://${HOST}/odoo/odoo-chile-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-colombia-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-community-enterprise-diferencias-2025/`, `https://${HOST}/odoo/odoo-compras-gestion-proveedores-2025/`, `https://${HOST}/odoo/odoo-contabilidad-modulo-completo-2025/`, `https://${HOST}/odoo/odoo-costa-rica-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-crm-gestion-clientes-2025/`, `https://${HOST}/odoo/odoo-demo-prueba-gratuita-2025/`, `https://${HOST}/odoo/odoo-docker-contenedores-implementacion-2025/`, `https://${HOST}/odoo/odoo-ecuador-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-el-salvador-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-erp-sistema-empresarial-2025/`, `https://${HOST}/odoo/odoo-espana-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-facturacion-electronica-completa-2025/`, `https://${HOST}/odoo/odoo-gestion-proyectos-completa-2025/`, `https://${HOST}/odoo/odoo-github-desarrollo-codigo-2025/`, `https://${HOST}/odoo/odoo-gratis-vs-pago-diferencias-2025/`, `https://${HOST}/odoo/odoo-guatemala-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-helpdesk-atencion-cliente-2025/`, `https://${HOST}/odoo/odoo-honduras-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-hosting-cloud-infraestructura-2025/`, `https://${HOST}/odoo/odoo-inteligencia-artificial-ia-2025/`, `https://${HOST}/odoo/odoo-inventario-gestion-almacen-2025/`, `https://${HOST}/odoo/odoo-manufactura-produccion-industrial-2025/`, `https://${HOST}/odoo/odoo-marketplace-multi-vendor-2025/`, `https://${HOST}/odoo/odoo-mexico-implementacion-local-2025/`, `https://${HOST}/odoo/odoo-nicaragua-implementacion-local-2025/`, // Odoo Hosting pages `https://${HOST}/odoo-hosting/apps-terceros-odoo-instalacion-2025/`, `https://${HOST}/odoo-hosting/aws-hosting-odoo-amazon-cloud-2025/`, `https://${HOST}/odoo-hosting/azure-hosting-odoo-microsoft-2025/`, `https://${HOST}/odoo-hosting/cliente-odoo-hosting-acceso-2025/`, `https://${HOST}/odoo-hosting/como-usar-odoo-hosting-guia-2025/`, `https://${HOST}/odoo-hosting/configuracion-contabilidad-odoo-hosting-2025/`, `https://${HOST}/odoo-hosting/configuracion-hosting-odoo-optimizacion-2025/`, `https://${HOST}/odoo-hosting/desarrollo-website-odoo-14-2025/`, `https://${HOST}/odoo-hosting/digitalocean-hosting-odoo-deployment-2025/`, `https://${HOST}/odoo-hosting/documentacion-hosting-odoo-guias-2025/`, `https://${HOST}/odoo-hosting/email-dominio-hosting-odoo-2025/`, `https://${HOST}/odoo-hosting/gestion-inmobiliaria-odoo-hosting-2025/`, `https://${HOST}/odoo-hosting/gestion-suscripciones-odoo-hosting-2025/`, `https://${HOST}/odoo-hosting/hosting-compartido-odoo-shared-2025/`, `https://${HOST}/odoo-hosting/hostinger-odoo-hosting-instalacion-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-community-edition-gratuita-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-completo-guia-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-enterprise-empresarial-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-espana-proveedores-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-gestionado-managed-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-gratis-gratuito-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-internacional-alemania-suiza-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-local-on-premise-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-nube-cloud-2025/`, `https://${HOST}/odoo-hosting/hosting-odoo-propio-self-hosting-2025/`, `https://${HOST}/odoo-hosting/hosting-online-odoo-acceso-web-2025/`, `https://${HOST}/odoo-hosting/instalacion-odoo-ubuntu-servidor-2025/`, `https://${HOST}/odoo-hosting/instalar-odoo-hosting-guia-completa-2025/`, `https://${HOST}/odoo-hosting/integracion-django-odoo-desarrollo-2025/`, `https://${HOST}/odoo-hosting/mejores-proveedores-hosting-odoo-2025/`, `https://${HOST}/odoo-hosting/modulo-ventas-odoo-14-hosting-2025/`, `https://${HOST}/odoo-hosting/odoo4projects-hosting-community-barato-2025/`, `https://${HOST}/odoo-hosting/odoo-business-hosting-empresarial-2025/`, `https://${HOST}/odoo-hosting/odoo-espanol-hosting-hispanohablantes-2025/`, `https://${HOST}/odoo-hosting/odoo-sh-hosting-oficial-plataforma-2025/`, `https://${HOST}/odoo-hosting/odoo-vs-zoho-books-hosting-2025/`, `https://${HOST}/odoo-hosting/planes-hosting-odoo-precios-2025/`, `https://${HOST}/odoo-hosting/portal-website-odoo-hosting-2025/`, `https://${HOST}/odoo-hosting/precios-hosting-odoo-costos-2025/`, `https://${HOST}/odoo-hosting/punto-venta-odoo-hosting-pdv-2025/`, `https://${HOST}/odoo-hosting/que-es-odoo-para-que-sirve-hosting-2025/`, `https://${HOST}/odoo-hosting/rental-odoo-16-alquiler-hosting-2025/`, `https://${HOST}/odoo-hosting/requisitos-hosting-odoo-servidor-2025/`, `https://${HOST}/odoo-hosting/scripts-instalacion-odoo-automatizada-2025/`, `https://${HOST}/odoo-hosting/sistema-reservas-odoo-booking-hosting-2025/`, `https://${HOST}/odoo-hosting/tema-website-odoo-diseño-2025/`, `https://${HOST}/odoo-hosting/tipos-hosting-odoo-opciones-2025/`, `https://${HOST}/odoo-hosting/versiones-hosting-odoo-18-17-2025/`, `https://${HOST}/odoo-hosting/vps-hosting-odoo-servidor-virtual-2025/`, // Odoo IA pages (first batch) `https://${HOST}/odoo-ia/alternativas-odoo-ia-comparativas-2025/`, `https://${HOST}/odoo-ia/certificacion-ia-contadores-odoo-17-2025/`, `https://${HOST}/odoo-ia/como-usar-ia-en-odoo-tutorial-2025/`, `https://${HOST}/odoo-ia/cursor-ia-odoo-desarrollo-asistido-2025/`, `https://${HOST}/odoo-ia/dashboard-ninja-ia-odoo-avanzado-2025/`, `https://${HOST}/odoo-ia/herramientas-ia-para-odoo-desarrollo-2025/`, `https://${HOST}/odoo-ia/implementacion-odoo-ia-guia-paso-a-paso-2025/`, `https://${HOST}/odoo-ia/instalacion-odoo-ia-ubuntu-linux-2025/`, `https://${HOST}/odoo-ia/odoo-17-ia-funciones-caracteristicas-2025/`, `https://${HOST}/odoo-ia/odoo-18-ia-nuevas-funciones-2025/`, `https://${HOST}/odoo-ia/odoo-19-ia-funciones-avanzadas-2025/`, `https://${HOST}/odoo-ia/odoo-acelerador-ia-empresarial-2025/`, `https://${HOST}/odoo-ia/odoo-agente-ia-automatizacion-procesos-2025/`, `https://${HOST}/odoo-ia/odoo-airbnb-integracion-hosteleria-2025/`, `https://${HOST}/odoo-ia/odoo-aliexpress-integracion-ecommerce-2025/`, `https://${HOST}/odoo-ia/odoo-api-ia-integraciones-externas-2025/`, `https://${HOST}/odoo-ia/odoo-aplicaciones-ia-apps-2025/`, `https://${HOST}/odoo-ia/odoo-asistente-ia-virtual-2025/`, `https://${HOST}/odoo-ia/odoo-automatizacion-ia-procesos-2025/`, `https://${HOST}/odoo-ia/odoo-bot-ia-automatizacion-2025/`, `https://${HOST}/odoo-ia/odoo-busqueda-ia-search-inteligente-2025/`, `https://${HOST}/odoo-ia/odoo-campo-ia-fields-inteligentes-2025/`, `https://${HOST}/odoo-ia/odoo-chatbot-ia-atencion-cliente-2025/`, `https://${HOST}/odoo-ia/odoo-chatgpt-integracion-openai-2025/`, `https://${HOST}/odoo-ia/odoo-community-ia-version-gratuita-2025/`, `https://${HOST}/odoo-ia/odoo-construccion-ia-proyectos-2025/`, `https://${HOST}/odoo-ia/odoo-constructor-ia-herramientas-2025/`, `https://${HOST}/odoo-ia/odoo-constructor-web-ia-2025/`, `https://${HOST}/odoo-ia/odoo-contabilidad-ia-inteligente-2025/`, `https://${HOST}/odoo-ia/odoo-copywriter-ia-contenido-automatico-2025/`, `https://${HOST}/odoo-ia/odoo-crm-ia-gestion-clientes-2025/`, `https://${HOST}/odoo-ia/odoo-dashboard-ia-paneles-inteligentes-2025/`, `https://${HOST}/odoo-ia/odoo-desarrollo-ia-personalizado-2025/`, `https://${HOST}/odoo-ia/odoo-ecommerce-website-ia-2025/`, `https://${HOST}/odoo-ia/odoo-editor-ia-contenido-inteligente-2025/`, `https://${HOST}/odoo-ia/odoo-erp-ia-sistema-empresarial-inteligente-2025/`, `https://${HOST}/odoo-ia/odoo-facturas-ia-automaticas-2025/`, `https://${HOST}/odoo-ia/odoo-github-ia-codigo-colaborativo-2025/`, `https://${HOST}/odoo-ia/odoo-gpt-ia-generativo-2025/`, `https://${HOST}/odoo-ia/odoo-helpdesk-ia-soporte-inteligente-2025/`, `https://${HOST}/odoo-ia/odoo-hosting-nube-ia-cloud-2025/`, `https://${HOST}/odoo-ia/odoo-ia-caracteristicas-funciones-2025/`, `https://${HOST}/odoo-ia/odoo-ia-generativa-contenido-automatico-2025/`, `https://${HOST}/odoo-ia/odoo-inventario-ia-inteligente-2025/`, `https://${HOST}/odoo-ia/odoo-motor-ia-engine-inteligencia-2025/`, `https://${HOST}/odoo-ia/odoo-ocr-ia-reconocimiento-documentos-2025/`, `https://${HOST}/odoo-ia/odoo-openai-api-integracion-2025/`, `https://${HOST}/odoo-ia/odoo-restaurantes-ia-hosteleria-2025/`, `https://${HOST}/odoo-ia/odoo-sistema-reservas-booking-ia-2025/`, `https://${HOST}/odoo-ia/odoo-soporte-ia-tecnico-2025/`, `https://${HOST}/odoo-ia/odoo-studio-ia-personalizacion-2025/`, `https://${HOST}/odoo-ia/odoo-turbo-agente-ia-acelerado-2025/`, `https://${HOST}/odoo-ia/odoo-ventas-ia-inteligentes-2025/`, `https://${HOST}/odoo-ia/que-es-odoo-ia-guia-basica-2025/`, `https://${HOST}/odoo-ia/tiene-odoo-inteligencia-artificial-2025/`, // Legal pages `https://${HOST}/privacy-policy.html`, `https://${HOST}/terms-of-use.html`, `https://${HOST}/cookie-policy.html`, `https://${HOST}/legal-notice.html`, `https://${HOST}/google-indexing-helper.html` ]; // Function to submit URLs in batches async function submitToIndexNow(urlBatch, batchNumber) { const payload = { host: HOST, key: INDEXNOW_KEY, keyLocation: KEY_LOCATION, urlList: urlBatch }; try { const response = await fetch('https://api.indexnow.org/indexnow', { method: 'POST', headers: { 'Content-Type': 'application/json; charset=utf-8' }, body: JSON.stringify(payload) }); const status = response.status; let result = ''; switch(status) { case 200: result = `✅ Batch ${batchNumber} submitted successfully (${urlBatch.length} URLs)`; break; case 400: result = `❌ Batch ${batchNumber} failed: Bad request - Invalid format`; break; case 403: result = `❌ Batch ${batchNumber} failed: Forbidden - Key not valid`; break; case 422: result = `❌ Batch ${batchNumber} failed: URLs don't belong to host or key mismatch`; break; case 429: result = `⚠️ Batch ${batchNumber} failed: Too many requests - wait and retry`; break; default: result = `❓ Batch ${batchNumber}: Unknown response status ${status}`; } console.log(result); return { status, result }; } catch (error) { console.error(`❌ Batch ${batchNumber} error:`, error.message); return { status: 'error', result: error.message }; } } // Main function to submit all URLs async function submitAllUrls() { console.log('🚀 Starting IndexNow submission for Odoo Expertos'); console.log(`📊 Total URLs to submit: ${urls.length}`); console.log(`🔑 API Key: ${INDEXNOW_KEY}`); console.log(`📍 Key Location: ${KEY_LOCATION}`); console.log('-------------------------------------------\n'); // Submit in batches of 20 to avoid rate limiting const batchSize = 20; const batches = []; for (let i = 0; i < urls.length; i += batchSize) { batches.push(urls.slice(i, i + batchSize)); } console.log(`📦 Splitting into ${batches.length} batches of up to ${batchSize} URLs each\n`); let successCount = 0; let failCount = 0; for (let i = 0; i < batches.length; i++) { const result = await submitToIndexNow(batches[i], i + 1); if (result.status === 200) { successCount += batches[i].length; } else if (result.status === 429) { console.log('⏳ Rate limited, waiting 5 seconds before continuing...'); await new Promise(resolve => setTimeout(resolve, 5000)); // Retry the batch const retryResult = await submitToIndexNow(batches[i], `${i + 1} (retry)`); if (retryResult.status === 200) { successCount += batches[i].length; } else { failCount += batches[i].length; } } else { failCount += batches[i].length; } // Wait 1 second between batches to avoid rate limiting if (i < batches.length - 1) { await new Promise(resolve => setTimeout(resolve, 1000)); } } console.log('\n-------------------------------------------'); console.log('📈 SUBMISSION COMPLETE'); console.log(`✅ Successfully submitted: ${successCount} URLs`); console.log(`❌ Failed to submit: ${failCount} URLs`); console.log(`📊 Total processed: ${successCount + failCount} URLs`); console.log('\n💡 Next steps:'); console.log('1. Check Bing Webmaster Tools to verify URL reception'); console.log('2. Submit sitemap to Google Search Console'); console.log('3. Monitor indexing progress over the next 24-48 hours'); } // Execute if run directly if (require.main === module) { submitAllUrls().catch(console.error); } module.exports = { submitAllUrls, urls };