doom-software.com

Revisión web de doom-software.com

Facturacion Web

 Generado el 06 Abril 2026 08:36 AM

Resultados antiguos? ACTUALIZAR !

La puntuación es 28/100

Contenido SEO

Título

Facturacion Web

Longitud : 15

Perfecto, tu título contiene entre 10 y 70 caracteres.

Descripción

Longitud : 0

Muy mal. No hemos encontrado descripción meta en tu página. Usa este generador online gratuito para crear la descripción.

Palabras Claves (Keywords)

Muy mal. No hemos encontrado palabras clave (meta keywords) en tu página. Usa este generador de meta tags gratuito para crear tus palabras clave.

Propiedades Meta Og

Esta página no usa etiquetas Og. Estas etiquetas permiten a los rastreadores sociales estructurar mejor tu página. Usa este generador de etiquetas og gratuito para crearlas.

Titulos

H1 H2 H3 H4 H5 H6
0 10 28 48 6 0
  • [H2] Ooops. !!!! Algo fué mal.
  • [H2] Ooops. !!!! Algo tardo demasiado
  • [H2] Ooops. !!!! Algo fué mal.
  • [H2] Ooops. !!!! Algo fué mal.
  • [H2] Fields
  • [H2] Fields
  • [H2] Fields
  • [H2] Ooops. !!!! Algo tardo demasiado
  • [H2] Ooops. !!!! Algo fué mal.
  • [H2] Ooops. !!!! Algo fué mal.
  • [H3] ' + settings.title + '
  • [H3] Files in folder ( " + data.foldername + " )
  • [H3] '+ ' Files
  • [H3] " + vTitol + "
  • [H3] No Preview avialable
  • [H3] Un error no controlado ha ocurrido.
  • [H3] ${self.options.title}
  • [H3] Un error no controlado ha ocurrido.
  • [H3] Un error no controlado ha ocurrido.
  • [H3] ' + element.value + '
  • [H3] ' + element.value + '
  • [H3] ' + vElement.title + '
  • [H3]
  • [H3] " + data.General.title + "
  • [H3] " + vTitol + "
  • [H3] ' + element.value + '
  • [H3] " + data.General.title + "
  • [H3] " + vTitol + "
  • [H3] " + vTitol + "
  • [H3] ' + settings.print.title + '
  • [H3] ' + settings.print.title + '
  • [H3] ",{class:"box-title",text:op.GroupTitle})) var hBoxTools = $("",{class:"box-tools"}).appendTo(hDivTitle); var hMin = $("",{class:"btn btn-box-tool","data-widget":"collapse"}).appendTo(hBoxTools).append("") .click(function(){ self.DivList.toggle(500); }); var hdivMenus = $("",{style:"display:block",class:"box-body no-padding"}).appendTo(self.DivList); self.DivList = hdivMenus; }// GROUP title // MAIN BUTTON if (self.options.elements.button){ self.MainButton = $.appendE(self.options.elements.button).appendTo(hDiv); }else{ self.MainButton = $("",{class:self.options.ButtonClass,"data-toggle":"dropdown","type":"button","aria-expanded":true}).appendTo(hDiv); } if (self.options.ButtonStyle) {self.MainButton.attr("style",self.options.ButtonStyle)} var BtnTitle = null; if (self.options.title) {BtnTitle = self.options.title + ' '} var hUL = $("",{class:self.options.UlClass}); self.UL = hUL; if (self.options.ulstyle) { hUL.attr("style",self.options.ulstyle) } $.each(this.recordset,function(i,obj){ // console.log(obj) if (obj.icon == "nav-divider"){ // hUL.appendE({tagName:"",class:obj.icon}) var hLi = $.appendE({tagName:"",class:obj.icon}).appendTo(hUL).append(""); }else{ var hLi = $('',{class:self.options.LiClass,role:"presentation",style:self.options.LiStyle}).appendTo(hUL); if (obj.rowData) {hLi.attr("rowData", obj.rowData)}; if (obj.addLIclass) { hLi.attr("class" , hLi.attr("class") + ' ' + obj.addLIclass ) } obj.LI = hLi; var hA = $("",{text: ' ' + obj.title, role:"menuitem"}).appendTo(hLi); if (obj.titlestyle) {hA.attr("style", obj.titlestyle)} if (obj.icon){ var iAttributes = {class:obj.icon}; if (obj.iconstyle) {iAttributes.style = obj.iconstyle} hA.prepend($("",iAttributes)); } // icon if (obj.badge) { if (!obj.badgestyle) {obj.badgestyle = ""} $("",{class:'badge',text:obj.badge,style:"float:right;" + obj.badgestyle}).appendTo(hA) }// badge hLi.click({item:hLi.index(),obj:obj},function(e){ var obj = e.data.obj; var DataSend = self.recordset[e.data.item]; if (self.options.DataAdd) {DataSend.DataAdd =self.options.DataAdd } if (obj.onclick) { if (self.options.ClickContext){ obj.onclick.call(self.options.ClickContext,DataSend) }else{ obj.onclick(DataSend) } } if (self.options.onclick){ if (self.options.ClickContext){ self.options.onclick.call(self.options.ClickContext,DataSend) }else{ self.options.onclick(DataSend) } } if (self.options.selected){ self.DivList.find("li.active").removeClass("active"); $(this).addClass("active"); } if (self.options.showCheck) { var hli = self.UL.find("li.check"); hli.removeClass("check"); hli.find("a").find("i.fa-check").remove(); $(this).find("a").prepend(''); $(this).addClass("check"); } // Change the default. if (self.options.default){ self.MainButton.html(obj.title + ' ') if (self.options.icon) { self.MainButton.prepend(" ")} self.MainButton.append('') }// default }) // DEFAULT if ( (self.options.default) && (self.options.default== obj.id) ) { if (self.options.showCheck) { hLi.addClass("check"); hA.prepend(''); } if (self.options.selected){ hLi.addClass("active"); } BtnTitle = obj.title + ' '; }; // default }// No divider }) // each // BUTTON TITLE if (BtnTitle) {self.MainButton.html(BtnTitle)} if (self.options.icon) { self.MainButton.prepend(" ")} self.MainButton.append('') self.DivList.append(hUL); }, // end ShowElements } // --------------------------------------------------------- // DECLARED JQUERY FUNCTIONS // ------------------------------------------------------------ $.fn.jMenu = function(options){ // RETURN FOR EACH ELEMENT CHAINING MANTEINING return this.each(function(){ // this is now jquery object this.html(''); var my = Object.create(jMenu); my.init(options, this); // INSTANCIATE MYCOMPONENT // access to my component from outside like $('#mydiv').data('mycomponent') if (options.idName){ $.data(this,options.idName,my) }else{ $.data(this,'jMenu',my) } }); // end return FOR EACH ELEMENT CHAINING MANTEINING } // --------------------------------------------------------- // OPTIONS // ------------------------------------------------------------ $.fn.jMenu.Options = { TagButton: "", MainDivSytle: "", MainDivClass: "dropdown inline", ButtonClass:"btn btn-default dropdown-toggle" , UlClass:"dropdown-menu" , LiClass:"",LiStyle:"cursor:pointer" , ButtonClass:"btn btn-default dropdown-toggle", SpanClass:"label label-default pull-right", selected: false,showCheck:false, GrupTitleClass: "box-header with-border", elements:{ // button:{tagName:"",class:"btn btn-default dropdown-toggle",style:"","data-toggle":"dropdown","type":"button","aria-expanded":true}, } }; // end options // APPEND ELEMENT *appendE jQuery.fn.appendE = function(element){ return this.each(function(){ // YOUR CODE FOR EACH ELEMENT HERE // EXAMPLE : $(this).css('color',settings.color); var tagName = element.tagName; delete element.tagName; // console.log("append element:" + tagName + " - " ); console.log(element); $(this).append($(tagName,element)); }); // end return }// appendE jQuery.appendE = function(element){ var tagName = element.tagName; delete element.tagName; return $(tagName,element) } // appendE })(jQuery, window, document); // END SCOPE jMenu // jKubyData component var jKubyData = { // default values *defaults defaults : { name: 'Default Name', DBtoken:null , xmlConf:null, }, // end defaults // SERVER CONNECTION *server *options serverOptions: { // hostname : "api.kubysoft.com" , url : "/node/app", // "/app" kubyapikey: "kubyapitoken00014xs", appServer: "KubyData.Api" // change app server for your app server. }, // CALL SERVER *server *call CallServer: function(Myparams, fnNext){ // console.log("fn CallServer") var self = this; // INI VARS. var settings = {CallType:"GET",timeout:9000}; if (!fnNext) {fnNext = function(){}} if (!Myparams) { Myparams = {}} // PREPARE CALL Myparams.DBToken = self.options.DBtoken; var hostName = window.location.hostname; if ( this.serverOptions.hostname ) { hostName = this.serverOptions.hostname } var Protocol = window.location.protocol; if (!Protocol){Protocol = "http:"} var url= Protocol + '//'+ hostName + self.serverOptions.url + '/?app=' + self.serverOptions.appServer; console.log("KUDABY CALL SERVER: " + url);console.log("Settings:") ; console.dir(settings); console.log("Myparams:"); console.dir(Myparams); // NodeAjaxTime = new Date().getTime(); var MydataReturn = null; $.ajax({ // headers: {'kubyapikey': self.serverOptions.kubyapikey}, type: settings.CallType, url: url, contentType: 'application/json', timeout: settings.timeout, data: Myparams , success: function(data) { if (fnNext) { if (data.error){ self.showError(data.error, data.errorDescription) }else{ fnNext.call(self,data); } }// success. }, // success error: function(jqXHR, textStatus, errorThrown) { self.showError("Error Call server", errorThrown) } // error })// end ajax. },// end call server, // SERVER CALL ServerCallExample: function(){ var self = this; // call server var MyParams = {option:"exceltime",value:42854}; self.CallServer(MyParams, fnResponse); function fnResponse(data){ var self = this; console.log("After server"); console.dir(self);console.log(data); } }, // ServerCallExample // *CREATE A INSTANCE *new *instance create: function(options){ var instance = Object.create(this); Object.keys(options).forEach(function(key){ instance[key] = options[key]; }) return instance; }, // end create // INIT *init componentn init: function(options, elem){ // INI OBJECTS var self = this; // reference to mycomponent . self.MainDiv = $(elem); // jquery version of actual element // INI OPTIONS self.options = $.extend({}, self.defaults, options); // KUDABY INI if (!self.options.DBtoken) {self.options.DBtoken = KubyData.DBtoken} self.kubyDB = new KuDaBy({DB:self.options.DBtoken,xmlConf:self.options.xmlConf}); // UPDATE SCHEMA var jForms = jKudabyForms.create({}) jForms.SchemaUpdate({xml:"KubyData.Schema"},function(){ }); // INI VARS. self.Data = {} self.Data.user = KubyData.usuario; self.Data.operacionList = [{value:'1',title:'Igual =',db:'='},{value:'2',title:'Diferente ',db:''}, {value:'3',title:'Contiene (like)',db:'like'}, {value:'4',title:'Empiez por',db:'like'},{value:'5',title:'Mayor que >',db:'>'}, {value:'6',title:'Menor que
  • [H3] Añadir nuevo criterio
  • [H3] Añadir nuevo campo
  • [H3] '+ ' Files
  • [H3] Un error no controlado ha ocurrido.
  • [H3] Un error no controlado ha ocurrido.
  • [H3] " + vTitulo + "
  • [H4] ' + settings.title + '
  • [H4] Alert!
  • [H4] '); hMain.append(hText ); if (settings.type =='danger') { hText.append(''); }else if (settings.type =='warning') { hText.append(''); }else if (settings.type =='info') { hText.append(''); }else if (settings.type =='success') { hText.append(''); }; // end icon hText.append(' '+ settings.title +''); // DESCRIPCIOT hMain.append(''); hMain.append('' + settings.description + '
  • [H4] Warning!
  • [H4] Do you wanna delete the file ?
  • [H4] ' + Err + '
  • [H4] Nueva Carpeta
  • [H4] Puede volver a cargar la aplicación. Si el problema persiste envie un ticket para que revisemos el problema.
  • [H4] ' + Err + '
  • [H4] Editar Html
  • [H4] Puede que hayas perdido intermitentemente la conexión, prueba de volver a intentarlo.
  • [H4] Puedes volver a cargar la aplicación.
  • [H4] Se ha generado automáticamente el ticket num ${numTicket} y en seguida revisaremos el problema para que puedas seguir trabajando.
  • [H4] Puedes volver a cargar la aplicación y probar la actuación de nuevo, si el problema persiste abre un ticket indicando en qué actuación te aparece este error.
  • [H4] IMPORTING ERRORS
  • [H4] IMPORTING ERRORS
  • [H4] ' + data.ErrorImport + '
  • [H4] IMPORTING DATA
  • [H4] IMPORTING DATA
  • [H4] IMPORTING ERRORS
  • [H4] ' + Err + '
  • [H4] Warning!
  • [H4] Are you sure to delete this record ?
  • [H4] Warning!
  • [H4] Deleting in " + CountDownDelete + "
  • [H4] ' + Err + '
  • [H4] Añadir nuevo cliente
  • [H4] Añadir nuevo cliente
  • [H4] ' + Err + '
  • [H4] {{title}}
  • [H4] ' + Err + '
  • [H4] ' + Err + '
  • [H4] Warning!
  • [H4] Do you wanna delete the file ?
  • [H4] Puede que hayas perdido intermitentemente la conexión, prueba de volver a intentarlo.
  • [H4] Puedes volver a cargar la aplicación.
  • [H4] Se ha generado automáticamente el ticket num ${numTicket} y en seguida revisaremos el problema para que puedas seguir trabajando.
  • [H4] Puedes volver a cargar la aplicación y probar la actuación de nuevo, si el problema persiste abre un ticket indicando en qué actuación te aparece este error.
  • [H4] ' + Err + '
  • [H4] Atención!
  • [H4] Esta seguro que quiere borrar este registro ?
  • [H4] Alerta!
  • [H4] Borrado en " + self.CountDownDelete + "
  • [H4] Atención!
  • [H4] Esta seguro que quiere borrar este registro ?
  • [H4] Warning!
  • [H4] Deleting in " + self.CountDownDelete + "
  • [H4] ' + Err + '
  • [H5] TOTAL
  • [H5] TOTAL
  • [H5] TOTAL
  • [H5] No data
  • [H5] "+ '' + Title + "
  • [H5] ",{class:"description-text",text:"TOTAL"})) .append($("",{class:"description-header",text:total.toFixed(vdecimals)})) if (self.options.showTotal == "Left" ){ FootLeft.append(hDivTotals) }else if (self.options.showTotal = "Right"){ FootRight.append(hDivTotals) } } } // divider footer. }, // HtmlIni // DATA PREPARE *DATA *PREPARE DataPrepare: function(){ var self = this, op = self.options; self.DataFields(); console.log("fn DataPrepare"); console.log(op); // INI DATA // self.Data.Recordset = self.options.recordset; // INI VARS var swPrepareData = true; // CAMBIAR CAMP DATA PER DATE if ( (op.FieldGrup.toLowerCase() == 'fecha') || (op.FieldGrup.toLowerCase() == 'data') || (op.FieldGrup.toLowerCase() == 'date') ) { op.SwFecha = true ; op.FieldGrupOriginal = op.FieldGrup; // GET PART OF DAYS var con, mindate=null,maxdate=null, row; if (self.Data.Recordset.length > 0){ for (i = 0; i < self.Data.Recordset.length; i++){ row = self.Data.Recordset[i]; var dateAact = row[op.FieldGrup]; var dateArr = dateAact.split('/'); var year = parseInt(dateArr[2]); var month = parseInt(dateArr[1]); var monthstr= month; if (month < 10){monthstr='0'+month}else{ } var day = parseInt(dateArr[0]); if (day < 10){var daystr='0' + day} var strDate = month + "/" + day + "/"+ year; var CurrDate = new Date(strDate); // month if (month < 10){var mes='0'+month+'/'+year;} else{var mes=month+'/'+year;}; row.Month = mes; row.MonthNum= month; // day var DoY = getDOY(CurrDate); row.Day = DoY row.DayM = daystr + '/' + monthstr; row.DayY = daystr + '/' + monthstr + '/' + year; // week var week = getWeekNumber(CurrDate); row.Week = week; // year row.Year = year; row[op.FieldGrup] = CurrDate; //row.push(DoY);row.push(week); row.push(month); row.push(mes); row.push(year);row.pusch // MIN MAX DATE if ( (mindate== null ) || ( CurrDate < mindate) ) { mindate = CurrDate } if ( (maxdate== null ) || ( CurrDate > maxdate) ) { maxdate = CurrDate } }; // Difference var timeDiff = Math.abs(mindate.getTime() - maxdate.getTime()); var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); op.DaysDiff = diffDays; // console.log("After prepare data "); console.dir(self.Data.Recordset); self.Data.DataArray = self.record2Array(self.Data.Recordset); self.Data.keys = self.Data.DataArray[0]; } }else{ op.SwFecha = false self.Data.DataArray = self.record2Array(self.Data.Recordset); self.Data.keys = self.Data.DataArray[0]; } // if fecha // OCULTA CAMBIO DE FECHAS. if (!op.SwFecha){ self.DivTimeView.html(''); } // IF CharType IS PIECHART DELETE NEGATIVE VALUES. if (op.CharType == "PieChart"){ var colValue = self.Data.keys.indexOf(op.FieldValor) for (var i = 1; i < self.Data.DataArray.length; i++) { if (self.Data.DataArray[i][colValue] < 0 ) { self.Data.DataArray.splice(i, 1);} } }// if // PREPARE DATAGRAPH GRUP DATA /* if (false){ var DataG = google.visualization.arrayToDataTable(self.Data.DataArray); self.Data.DataGraph = google.visualization.data.group(DataG,[self.Data.keys.indexOf(op.FieldGrup)], [{'column': self.Data.keys.indexOf(op.FieldValor), 'aggregation': google.visualization.data.sum, 'type': 'number'}] ); } // prepare */ self.dataChangeView(); self.showMultiView(); },// DataPrepare //DataFields *data *fields DataFields : function(){ var self = this, op = self.options; console.log(self.Data.Recordset); console.log("Fields"); console.log(op.Fields); self.Fields = []; var savedFields = []; var fieldElement = {}; //loop the field options if (self.options.Fields.length>0){ for (var i = 0;i

Imagenes

Hemos encontrado 74 imágenes en esta web.

72 atributos alt están vacios o no existen. Agrega texto alternativo para que los motores de búsqueda puedan entender las imágenes.

Ratio Texto/HTML

Ratio : 0%

El ratio entre texto y código HTML de esta página es menor que el 15 por ciento, esto significa que tu web posiblemente necesite más contenido en texto.

Flash

Perfecto, no se ha detectado contenido Flash en la página.

Iframe

Muy mal, tienes Iframes en la página, esto significa que el contenido no podrá ser indexado.

Reescritura URL

Bien. Tus enlaces parecen amigables

Guiones bajos en las URLs

Hemos detectado guiones bajos en tus URLs. Deberías usar guiones en su lugar para optimizar tu SEO.

Enlaces en página

Hemos encontrado un total de 8 enlaces incluyendo 3 enlace(s) a ficheros

Ancla Tipo Jugo
view » Interna Pasando Jugo
"+ vOneFile.name + " Interna Pasando Jugo
Action Interna Pasando Jugo
"+Myfile.descripcio+" Interna Pasando Jugo
"+name+" Interna Pasando Jugo
General Interna Pasando Jugo
'+obj.title+' Interna Pasando Jugo
Created by doom-software.com Interna Pasando Jugo

Palabras Clave SEO

Nube de Palabras Clave

software inicio sessión productos copyright iniciar los derechos  doom  todos

Consistencia de las Palabras Clave

Palabra Clave (Keyword) Contenido Título Palabras Claves (Keywords) Descripción Titulos
inicio 1
productos 1
iniciar 1
sessión 1
copyright 1

Usabilidad

Url

Dominio : doom-software.com

Longitud : 17

Favicon

Genial, tu web tiene un favicon.

Imprimibilidad

No hemos encontrado una hoja de estilos CSS para impresión.

Idioma

Genial. Has declarado el idioma sp.

Dublin Core

Esta página no usa Dublin Core.

Documento

Tipo de documento (Doctype)

Falta tipo de documento (doctype)

Codificación

Perfecto. Has declarado como codificación ISO-8859-15.

Validez W3C

Errores : 0

Avisos : 0

Privacidad de los Emails

Atención! Hemos encontrado por lo menos una dirección de correo electrónico en texto plano. Usa este protector antispam gratuito para ocultarla de los spammers.

HTML obsoleto

Genial, no hemos detectado ninguna etiqueta HTML obsoleta.

Consejos de Velocidad

Atención! Intenta evitar el uso de tablas en HTML.
Muy mal, tu web está usando estilos embenidos (inline CSS).
Muy mal, tu página web usa demasiados ficheros CSS (más de 4).
Muy mal, tu sitio usa demasiados ficheros JavaScript (más de 6).
Su sitio web no se beneficia de gzip. Intente implementarlo en su sitio web.

Movil

Optimización Móvil

Icono para Apple
Etiqueta Meta Viewport
Contenido Flash

Optimización

Mapa del sitio XML

No disponible

Su sitio web no tiene un mapa del sitio XML. Esto puede traerle problemas.

Un mapa del sitio enumera las URL que pueden rastrearse y puede incluir información adicional, como las últimas actualizaciones de su sitio web, la frecuencia de cambios y la importancia de las URL. Esto permite a los motores de búsqueda rastrear el sitio web de una forma más exhaustiva.

Robots.txt

https://doom-software.com/robots.txt

¡Estupendo! Su sitio web tiene un archivo robots.txt.

Herramientas de Analítica

No disponible

No hemos encontrado ninguna herramienta de analítica en esta web.

La analítica Web le permite medir la actividad de los visitantes de su sitio web. Debería tener instalada al menos una herramienta de analítica y se recomienda instalar otra más para obtener una confirmación de los resultados.

PageSpeed Insights


Dispositivo
Categorias

Free SEO Testing Tool

Free SEO Testing Tool es una herramienta seo gratuita que te ayuda a analizar tu web