doom-software.com

Обзор веб-сайта doom-software.com

Facturacion Web

 Сгенерирован 06 Апреля 2026 08:36

Устаревшие данные? ОБНОВИТЬ !

Набрано баллов: 28/100

СЕО Контент

Заголовок страницы

Facturacion Web

Длина : 15

Замечательно, Ваш заголовок страницы содержит от 10 до 70 символов.

Описание страницы

Длина : 0

Очень плохо. Мы не нашли описание страницы у Вас на веб-сайте. Используйте бесплатный генератор мета-тэгов, чтобы сгенерировать описание для страницы.

Ключевые слова

Очень плохо. Мы не нашли ключевых слов на Вашем веб-сайте. Используйте бесплатный генератор мета-тэгов, чтобы сгенерировать ключевые слова.

Og Meta Properties

Вы не используете преимущества Og Properties. Эти мета-тэги помогают социальным роботам лучше структурировать Ваш сайт. Используйте бесплатный генератор og properties, чтобы создать их.

Заголовки

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

Картинки

Мы нашли 74 картинок на этом веб-сайте.

72 alt атрибута(-ов) не найдено. Добавив альтернативный текст, поисковые роботы будут лучше понимать содержание картинки.

Соотношение Контент/HTML

Соотношение : 0%

Соотношение текста в коде HTML у этой страницы меньше чем 15 процентов, это означает, что Вашем веб-сайту требуется больше контента.

Flash

Замечательно, мы не нашли Flash контента на странице.

Iframe

Очень плохо, на Вашей странице были найдены Iframe'ы. Это говорит о том, что содержимое их не будет проиндексировано.

ЧПУ ссылки

Отлично, все Ваши ссылки являются ЧПУ!

Нижнее подчеркивание в ссылках

Мы нашли "нижнее подчеркивание" в Ваших ссылках. Вам лучше использовать дефис для оптимизации вашего SEO.

Внутренние ссылки

Мы нашли 8 ссылок(-и), включая 3 ссылок ссылок(-и) на файл(-ы).

Анкор Тип Вес ссылки
view » Внутренняя Передает вес
"+ vOneFile.name + " Внутренняя Передает вес
Action Внутренняя Передает вес
"+Myfile.descripcio+" Внутренняя Передает вес
"+name+" Внутренняя Передает вес
General Внутренняя Передает вес
'+obj.title+' Внутренняя Передает вес
Created by doom-software.com Внутренняя Передает вес

Ключевые слова

Облако ключевых слов

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

Содержание ключевых слов

Ключевое слово Контент Заголовок страницы Ключевые слова Описание страницы Заголовки
inicio 1
productos 1
iniciar 1
sessión 1
copyright 1

Юзабилити

Домен

Домен : doom-software.com

Длина : 17

Favicon

Отлично, Ваш сайт имеет favicon.

Пригодность для печати

Плохо. Мы не нашли CSS файл, отвечающий за печать веб-сайта.

Язык

Хорошо, Ваш установленный язык веб-сайта: sp.

Dublin Core

Ваш веб-сайт не использует преимущества Dublin Core.

Документ

Doctype

Тип документа не установлен

Кодировка

Замечательно. Кодировка веб-сайта: ISO-8859-15.

W3C Validity

Ошибок : 0

Предупреждений : 0

Приватность эл. почты

Внимание! Как минимум 1 адрес эл. почты был найден в контенте. Воспользуйтесь бесплатной защитой от спама, чтобы скрыть адрес от спамеров.

Устаревший HTML

Отлично. Мы не нашли устаревших тэгов в Вашем HTML.

Скорость загрузки

Внимание! Попытайтесь избежать вложенных таблиц.
Слишком плохо. Ваш веб-сайт использует встроенные CSS правила в HTML тэгах.
Плохо. Ваш веб-сайт имеет слишком много CSS файлов (больше чем 4).
Плохо. Ваш веб-сайт имеет слишком много JavaScript файлов (больше чем 6).
Очень плохо, ваш сайт не использует возможность gzip сжатия.

Мобильный телефон

Оптимизация под моб. телефон

Apple иконки
Meta Viewport Тэг
Flash контент

Оптимизация

XML карта сайта

Отсутствует

Ваш сайт не имеет XML карты сайта - это может быть проблематично.

Карта сайта может содержать дополнительную информацию для поисковых роботов, такую как: время последнего обновления, важность ресурсов, ссылки на это ресурсы. Это помогает роботом более разумно анализировать ваш сайт.

Robots.txt

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

Отлично, ваш веб-сайт содержит файл robots.txt.

Аналитика

Отсутствует

Мы не нашли ни одной аналитической программы на вашем сайте.

Веб аналитика позволяет следить за активностью пользователей на вашем веб-сайте. Вы должны установить как минимум один инструмент, но также хорошо иметь несколько, чтобы сравнивать показания между собой.

PageSpeed Insights


Устройство
Категории

Free SEO Testing Tool

Free SEO Testing Tool - это бесплатный СЕО инструмент, который поможет вам проанализировать Ваш веб-сайт.