Es.javascript.info - SEO Checker

Overview of the SEO Check
Meta information
79% 
Page quality
86% 
Page structure
100% 
Link structure
96% 
Server
100% 
External factors
100% 
SEO Score
Response time
0.14 s
File size
50.40 kB
Words
893
Media files
4
Number of links
213 internal / 25 external

Task list of SEO Improvements

Meta specifications

Title
(Critically important)
El Tutorial de JavaScript Moderno
The length of the page title is perfect. (303 pixels out of 580 max pixel length)
There are no duplicate words in the title
Meta description
(Critically important)
Tutorial de JavaScript moderno: explicaciones simples pero detalladas con ejemplos y tareas, que incluyen: closures, documentos y eventos, programación orientada a objetos y más.
The meta description is too long: 1127 pixels from max. 1000 pixels. Optimize description
Crawlability
(Critically important)
There are no problems in accessing the website.
Canonical URL
(Important)
https://es.javascript.info/
There is a valid canonical link specified.
Language
(Somewhat important)
Language detected in text: es
Language defined in HTML: es
Server location: United States of America
The following language is defined by HTML: es
Alternate/Hreflang Links
(Somewhat important)
There are no alternate links specified on this page.
Other meta tags
(Somewhat important)
There is no rel next meta tag on this page.
There is no rel prev meta tag on this page.
Domain
(Somewhat important)
This page is hosted on a subdomain. Use a top level domain for better SEO results.
The domain does not contain non-latin characters.
Page URL
(Somewhat important)
No parameters were found in the URL.
No session ID was found in the URL.
The URL does not have too many subdirectories.
Charset encoding
(Somewhat important)
The charset encoding (UTF-8) is set correctly.
Doctype
(Nice to have)
The doctype HTML 5 is set correctly.
The doctype is placed at first in the HTML code.
Favicon
(Nice to have)
The favicon is linked correctly.

Meta tags

NameValue
viewportwidth=device-width, initial-scale=1, user-scalable=yes, minimum-scale=1.0
apple-mobile-web-app-capableyes
googlenotranslate
msapplication-TileColor#222A2C
msapplication-TileImage/img/favicon/tileicon.png
google-adsense-accountca-pub-6204518652652613
descriptionTutorial de JavaScript moderno: explicaciones simples pero detalladas con ejemplos y tareas, que incluyen: closures, documentos y eventos, programación orientada a objetos y más.
langes
twitter:cardsummary
twitter:titleEl Tutorial de JavaScript Moderno
twitter:site@iliakan
twitter:creator@iliakan
twitter:imagehttps://es.javascript.info/img/site_preview_en_512x512.png
fb:admins100001562528165
og:titleEl Tutorial de JavaScript Moderno
og:imagehttps://es.javascript.info/img/site_preview_en_1200x630.png
og:image:typeimage/png
og:image:width1200
og:image:height630

Test up to 1.000 webpages of es.javascript.info with our free plan!

Try For Free
No trial. It's just free!

Page quality

Content
(Critically important)
This page contains 893 words. That's ok.
16.3% of the text are stop words.
Keywords used in the page title are also used in the page content. That's good!
Words from the H1 heading are used in the page content.
The page contains a listing, which indicates a good text layout.
6 paragraphs were found on this page.
The text content is perfect.
No placeholders texts or images were found.
There are no duplicates on the site.
The average number of words per sentence of 16 words is good.
Frames
(Critically important)
This page does not use a frameset.
Mobile optimization
(Somewhat important)
A viewport "width=device-width, initial-scale=1, user-scalable=yes, minimum-scale=1.0" is provided.
At least one Apple touch icon is specified.
Bold and strong tags
(Somewhat important)
The usage of strong and bold tags is perfect. We recommend the use of up to 18 tags for this page.
Image SEO
(Somewhat important)
4 images have no alt attribute. The content of alt attributes is used by search engines.
Social Networks
(Nice to have)
This page is optimized perfectly for social networks.
Additional markup
(Nice to have)
No additional page markup was found.
HTTPS
(Somewhat important)
This website uses HTTPS to protect privacy and integrity of the exchanged data.
All included files are also transferred via HTTPS.

Media list

URLAlt attributeTitle
/img/sitetoolbar__logo_en.svgNo alt attribute provided
/img/sitetoolbar__logo_en-white.svgNo alt attribute provided
/img/sitetoolbar__logo_small_en.svgNo alt attribute provided
/img/sitetoolbar__logo_small_en-white.svgNo alt attribute provided

Page structure

H1 heading
(Critically important)
El Tutorial de JavaScript Moderno
The H1 heading is perfect.
Headings
(Important)
The heading structure is perfect.

Heading structure

Heading levelContent
H1 El Tutorial de JavaScript Moderno
H2 Tabla de contenidos
H2 El lenguaje JavaScript
H2 El navegador: Documentos, Eventos e Interfaces
H2 Artículos adicionales
H2 Comentarios
Some anchor texts are used more than once.
The number of internal links is ok.
None of the anchor texts is too long.
All internal links are not using dynamic parameters.
There are 25 external links on this page.
LinkAttributesAnchor text
https://ar.javascript.info/External Subdomain ARعربي
https://javascript.info/External ENEnglish
https://es.javascript.info/Subdomain ESEspañol
https://fa.javascript.info/External Subdomain FAفارسی
https://fr.javascript.info/External Subdomain FRFrançais
https://id.javascript.info/External Subdomain IDIndonesia
https://it.javascript.info/External Subdomain ITItaliano
https://ja.javascript.info/External Subdomain JA日本語
https://ko.javascript.info/External Subdomain KO한국어
https://learn.javascript.ru/External Subdomain RUРусский
https://tr.javascript.info/External Subdomain TRTürkçe
https://uk.javascript.info/External Subdomain UKУкраїнська
https://zh.javascript.info/External Subdomain ZH简体中文
https://javascript.info/translateExternal Ayuda a traducir
https://es.javascript.info/No Text
https://es.javascript.info/ebookComprarEPUB/PDF
/tutorial/mapMapa del Tutorial
https://twitter.com/share?url=...Nofollow External No Text
https://www.facebook.com/share...Nofollow External Subdomain No Text
https://es.javascript.info/ebookText duplicate ComprarEPUB/PDF
https://twitter.com/share?url=...Nofollow External No Text
https://www.facebook.com/share...External Subdomain No Text
https://github.com/javascript-...External 517 ★github
https://discord.gg/AuEWpFkfD4External Discord Chat (English)
https://es.javascript.info/Anchor Parte 1El lenguaje JavaScript
https://es.javascript.info/Anchor Parte 2El navegador: Documentos, Eventos e Interfaces
https://es.javascript.info/Anchor Parte 3Artículos adicionales
/getting-startedUna introducción
https://es.javascript.info/introUna introducción a JavaScript
/manuals-specificationsManuales y especificaciones
/code-editorsEditores de Código
/devtoolsConsola de desarrollador
/first-stepsFundamentos de JavaScript
/hello-world¡Hola, mundo!
/structureEstructura del código
/strict-modeEl modo moderno, "use strict"
/variablesVariables
https://es.javascript.info/typesTipos de datos
/alert-prompt-confirmInteracción: alert, prompt, confirm
/type-conversionsConversiones de Tipos
/operatorsOperadores básicos, matemáticas
/comparisonComparaciones
https://es.javascript.info/ifelseEjecución condicional: if, '?'
/logical-operatorsOperadores Lógicos
/nullish-coalescing-operatorOperador Nullish Coalescing '??'
/while-forBucles: while y for
https://es.javascript.info/switchLa sentencia "switch"
/function-basicsFunciones
/function-expressionsExpresiones de función
/arrow-functions-basicsFunciones Flecha, lo básico
/javascript-specialsEspeciales JavaScript
/code-qualityCalidad del código
/debugging-chromeDebugging en el navegador
/coding-styleEstilo de codificación
/commentsComentarios
/ninja-codeCódigo ninja
/testing-mochaAutomatización de pruebas con Mocha
/polyfillsPolyfills y transpiladores
/object-basicsObjetos: lo básico
https://es.javascript.info/objectObjetos
/object-copyReferencias de objetos y copia
/garbage-collectionRecolección de basura
/object-methodsMétodos de objeto, "this"
/constructor-newConstructor, operador "new"
/optional-chainingEncadenamiento opcional '?.'
https://es.javascript.info/symbolTipo Symbol
/object-toprimitiveConversión de objeto a valor primitivo
/data-typesText duplicate Tipos de datos
/primitives-methodsMétodos en tipos primitivos
https://es.javascript.info/numberNúmeros
https://es.javascript.info/stringStrings
https://es.javascript.info/arrayArrays
/array-methodsMétodos de arrays
/iterableIterables
/map-setMap y Set
/weakmap-weaksetWeakMap y WeakSet
/keys-values-entriesObject.keys, values, entries
/destructuring-assignmentAsignación desestructurante
https://es.javascript.info/dateFecha y Hora
https://es.javascript.info/jsonMétodos JSON, toJSON
/advanced-functionsTrabajo avanzado con funciones
/recursionRecursión y pila
/rest-parameters-spreadParámetros Rest y operador Spread
/closureÁmbito de Variable y el concepto "closure"
https://es.javascript.info/varLa vieja "var"
/global-objectObjeto Global
/function-objectFunción como objeto, NFE
/new-functionLa sintaxis "new Function"
/settimeout-setintervalPlanificación: setTimeout y setInterval
/call-apply-decoratorsDecoradores y redirecciones, call/apply
https://es.javascript.info/bindFunción bind: vinculación de funciones
/arrow-functionsFunciones de flecha revisadas
/object-propertiesConfiguración de las propiedades de objetos
/property-descriptorsIndicadores y descriptores de propiedad
/property-accessors"Getters" y "setters" de propiedad
/prototypesPrototipos y herencia
/prototype-inheritanceHerencia prototípica
/function-prototypeF.prototype
/native-prototypesPrototipos nativos
/prototype-methodsMétodos prototipo, objetos sin __proto__
/classesClases
https://es.javascript.info/classSintaxis básica de `class`
/class-inheritanceHerencia de clase
/static-properties-methodsPropiedades y métodos estáticos.
/private-protected-properties-...Propiedades y métodos privados y protegidos.
/extend-nativesAmpliación de clases integradas
/instanceofComprobación de clase: "instanceof"
https://es.javascript.info/mixinsLos Mixins
/error-handlingManejo de errores
/try-catchManejo de errores, "try...catch"
/custom-errorsErrores personalizados, extendiendo Error
https://es.javascript.info/asyncPromesas y async/await
/callbacksIntroducción: callbacks
/promise-basicsPromesa
/promise-chainingEncadenamiento de promesas
/promise-error-handlingManejo de errores con promesas
/promise-apiPromise API
/promisifyPromisificación
/microtask-queueMicrotareas (Microtasks)
/async-awaitAsync/await
/generators-iteratorsGeneradores e iteración avanzada
/generatorsGeneradores
/async-iterators-generatorsIteradores y generadores asíncronos
/modulesMódulos
/modules-introMódulos, introducción
/import-exportExport e Import
/modules-dynamic-importsImportaciones dinámicas
/js-miscTemas diversos
https://es.javascript.info/proxyProxy y Reflect
https://es.javascript.info/evalEval: ejecutando una cadena de código
/currying-partialsCurrificación
/reference-typeTipo de Referencia
https://es.javascript.info/bigintBigInt
/unicodeUnicode, String internals
/documentDocumento
/browser-environmentEntorno del navegador, especificaciones
/dom-nodesÁrbol del Modelo de Objetos del Documento (DOM)
/dom-navigationRecorriendo el DOM
/searching-elements-domBuscar: getElement*, querySelector*
/basic-dom-node-propertiesPropiedades del nodo: tipo, etiqueta y contenido
/dom-attributes-and-propertiesAtributos y propiedades
/modifying-documentModificando el documento
/styles-and-classesEstilos y clases
/size-and-scrollTamaño de elementos y desplazamiento
/size-and-scroll-windowTamaño de ventana y desplazamiento
/coordinatesCoordenadas
https://es.javascript.info/eventsIntroducción a los eventos
/introduction-browser-eventsIntroducción a los eventos en el navegador
/bubbling-and-capturingPropagación y captura
/event-delegationDelegación de eventos
/default-browser-actionAcciones predeterminadas del navegador
/dispatch-eventsEnvío de eventos personalizados
/event-detailsEventos en la UI
/mouse-events-basicsEventos del Mouse
/mousemove-mouseover-mouseout-...Moviendo el mouse: mouseover/out, mouseenter/leave
/mouse-drag-and-dropArrastrar y Soltar con eventos del ratón
/pointer-eventsEventos de puntero
/keyboard-eventsTeclado: keydown y keyup
/onscrollDesplazamiento
/forms-controlsFormularios y controles
/form-elementsPropiedades y Métodos de Formularios
/focus-blurEnfocado: enfoque/desenfoque
/events-change-inputEventos: change, input, cut, copy, paste
/forms-submitFormularios: evento y método submit
/loadingEl documento y carga de recursos
/onload-ondomcontentloadedPágina: DOMContentLoaded, load, beforeunload, unload
/script-async-deferScripts: async, defer
/onload-onerrorCarga de recursos: onload y onerror
/ui-miscText duplicate Temas diversos
/mutation-observerMutation observer
/selection-rangeSelection y Range
/event-loopLoop de eventos: microtareas y macrotareas
/frames-and-windowsMarcos y ventanas
/popup-windowsVentanas emergentes y métodos de ventana
/cross-window-communicationComunicación entre ventanas
/clickjackingEl ataque de secuestro de clics
https://es.javascript.info/binaryDatos binarios y archivos
/arraybuffer-binary-arraysArrayBuffer, arrays binarios
/text-decoderTextDecoder y TextEncoder
https://es.javascript.info/blobBlob
https://es.javascript.info/fileFile y FileReader
/networkSolicitudes de red
https://es.javascript.info/fetchFetch
/formdataFormData
/fetch-progressFetch: Progreso de la descarga
/fetch-abortFetch: Abort
/fetch-crossoriginFetch: Cross-Origin Requests
/fetch-apiFetch API
https://es.javascript.info/urlObjetos URL
/xmlhttprequestXMLHttpRequest
/resume-uploadCarga de archivos reanudable
/long-pollingSondeo largo
/websocketWebSocket
/server-sent-eventsEventos enviados por el servidor
/data-storageAlmacenando datos en el navegador
https://es.javascript.info/cookieCookies, document.cookie
/localstorageLocalStorage, sessionStorage
/indexeddbIndexedDB
/animationAnimaciones
/bezier-curveCurva de Bézier
/css-animationsAnimaciones CSS
/js-animationAnimaciones JavaScript
/web-componentsComponentes Web
/webcomponents-introDesde la altura orbital
/custom-elementsElementos personalizados
/shadow-domShadow DOM
/template-elementElemento template
/slots-compositionShadow DOM slots, composición
/shadow-dom-styleEstilo Shadow DOM
/shadow-dom-eventsShadow DOM y eventos
/regular-expressionsExpresiones Regulares
/regexp-introductionPatrones y banderas (flags)
/regexp-character-classesClases de caracteres
/regexp-unicodeUnicode: bandera "u" y clase \p{...}
/regexp-anchorsAnclas: inicio ^ y final $ de cadena
/regexp-multiline-modeModo multilínea de anclas ^ $, bandera "m"
/regexp-boundaryLímite de palabra: \b
/regexp-escapingEscapando, caracteres especiales
/regexp-character-sets-and-rangesConjuntos y rangos [...]
/regexp-quantifiersCuantificadores +, *, ? y {n}
/regexp-greedy-and-lazyCuantificadores codiciosos y perezosos
/regexp-groupsGrupos de captura
/regexp-backreferencesReferencias inversas en patrones: \N y \k<nombre>
/regexp-alternationAlternancia (O) |
/regexp-lookahead-lookbehindLookahead y lookbehind (revisar delante/detrás)
/regexp-catastrophic-backtrackingBacktracking catastrófico
/regexp-stickyIndicador adhesivo “y”, buscando en una posición.
/regexp-methodsMétodos de RegExp y String
https://twitter.com/share?url=...Nofollow External No Text
https://www.facebook.com/share...Nofollow External Subdomain No Text
/tutorial/mapText duplicate Mapa del Tutorial
https://es.javascript.info/Anchor Text duplicate Comentarios
https://github.com/javascript-...External enviar una propuesta de GitHub
https://plnkr.co/edit/?p=previewExternal plnkr
https://jsbin.com/External jsbin
http://codepen.io/External codepen
https://es.javascript.info/aboutacerca del proyecto
https://es.javascript.info/aboutcontáctenos

Server configuration

HTTP redirects
(Critically important)
This page redirects to "https://es.javascript.info/"
HTTP header
(Important)
No X-Powered HTTP header is sent.
This page uses GZip for compressed data transmission.
Performance
(Somewhat important)
The page response time is excellent with 0.14 seconds.
The file size of the HTML document is fine (50 kB).

HTTP Response Header

NameValue
dateTue, 30 Apr 2024 06:29:06 GMT
content-typetext/html; charset=utf-8
x-frame-optionssameorigin
etagW/"c9c7-nlpVzBVjwEouykfNjSdBfd4OZ9Q"
x-content-type-optionsnosniff
cf-cache-statusDYNAMIC
report-to{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=lGnAx%2BuQTodeZOzSvMNk0gspqyA1FyTW4VMWLTbyln1wEuHzjMx6CoZBr6rRgLl8rF9bE6wUCp3AJ79hz%2BPdOrcqIl6TZ8mWhF9UK74lHJtki9JCmxnm3Tf8COR21fJXlJeLHw%3D%3D"}],"group":"cf-nel","max_age":604800}
nel{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
servercloudflare
cf-ray87c579ba2c424d31-FRA
content-encodinggzip
alt-svch3=":443"; ma=86400
statuscode200
http_versionHTTP/2

External factors

Blacklists
(Nice to have)
This website is not classified "for adult only".
This website has excellent links from other websites.
This page has backlinks from 75 referring domains.
This page has 1,458 backlinks.
This page has backlinks from 64 different ip addresses.
Facebook popularity
(Somewhat important)
The page has 514 shares and comments on Facebook.

Links from Wikipedia

No links from Wikipedia were found.

Search preview

es.javascript.info
El Tutorial de JavaScript Moderno
Tutorial de JavaScript moderno: explicaciones simples pero detalladas con ejemplos y tareas, que incluyen: closures, documentos y eventos, programación orientada a objetos y más.

Most important keywords

Following keywords were found. You can check the keyword optimization of this page for each keyword.

KeywordResultRecheck
JavaScript89%Check
de JavaScript83%Check
Tutorial de JavaScript81%Check
de JavaScript Moderno81%Check
Tutorial de JavaScript Moderno80%Check
tutorial73%Check
Moderno73%Check
de eventos65%Check
lenguaje JavaScript65%Check
de objetos63%Check

Test up to 1.000 webpages of es.javascript.info with our free plan!

Try For Free
No trial. It's just free!

Cookie Policy

We use cookies to make our site work and also for analytics and advertising purposes. You can enable or disable optional cookies as desired. See the following links for more information.

We need these so the site can function properly

So we can better understand how visitors use our website

So we can serve you tailored ads and promotions