1. General Results, most used to calculate the result A name "mamiphera.es" is domain, public suffix is ".es", top-level-domain is ".es", top-level-domain-type is "country-code", Country is Spain, tld-manager is "Red.es", num .es-domains preloaded: 646 (complete: 142558) A good: All ip addresses are public addresses Warning: Only one ip address found: mamiphera.es has only one ip address. Warning: Only one ip address found: www.mamiphera.es has only one ip address. Warning: No ipv6 address found. Ipv6 is the future with a lot of new features. So every domain name should have an ipv6 address. See https://en.wikipedia.org/wiki/IPv6: mamiphera.es has no ipv6 address. Warning: No ipv6 address found. Ipv6 is the future with a lot of new features. So every domain name should have an ipv6 address. See https://en.wikipedia.org/wiki/IPv6: www.mamiphera.es has no ipv6 address. A good: No asked Authoritative Name Server had a timeout A good: one preferred version: www is preferred A Good: No cookie sent via http. HSTS-Preload-Status: unknown. Domain never included in the Preload-list. Check https://hstspreload.org/ to learn some basics about the Google-Preload-List. A Good: Some urls with http status 200/404 have a complete Content-Type header (MediaType / MediaSubType + correct charset):4 complete Content-Type - header (11 urls) https://mamiphera.es/ 165.22.192.20 Url with incomplete Content-Type - header - missing charset https://www.mamiphera.es/ 165.22.192.20 Url with incomplete Content-Type - header - missing charset http://mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 165.22.192.20 Url with incomplete Content-Type - header - missing charset http://mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 185.42.104.39 Url with incomplete Content-Type - header - missing charset http://www.mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 165.22.192.20 Url with incomplete Content-Type - header - missing charset http://www.mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 185.42.104.39 Url with incomplete Content-Type - header - missing charset https://165.22.192.20/ 165.22.192.20 Url with incomplete Content-Type - header - missing charset B https://mamiphera.es/ 185.42.104.39 Missing HSTS-Header B https://mamiphera.es/ 165.22.192.20 Missing HSTS-Header B https://www.mamiphera.es/ 165.22.192.20 Missing HSTS-Header B https://www.mamiphera.es/ 185.42.104.39 Missing HSTS-Header C Error - more then one version with Http-Status 200. After all redirects, all users (and search engines) should see the same https url: Non-www or www, but not both with http status 200. D http://mamiphera.es/ 165.22.192.20 http://www.mamiphera.es/ Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://mamiphera.es/ 185.42.104.39 http://www.mamiphera.es/ Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. H Fatal error: http result with http-status 200, no encryption. Add a redirect http ⇒ https, so every connection is secure. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. K https://mamiphera.es/ 165.22.192.20, Status 403 https://mamiphera.es/ 185.42.104.39, Status 301 configuration problem - different ip addresses with different status K https://www.mamiphera.es/ 165.22.192.20, Status 403 https://www.mamiphera.es/ 185.42.104.39, Status 200 configuration problem - different ip addresses with different status K http://mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 165.22.192.20, Status 200 http://mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 185.42.104.39, Status 404 configuration problem - different ip addresses with different status K http://www.mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 165.22.192.20, Status 200 http://www.mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 185.42.104.39, Status 404 configuration problem - different ip addresses with different status M https://mamiphera.es/ 165.22.192.20 Misconfiguration - main pages should never send http status 400 - 499 M https://www.mamiphera.es/ 165.22.192.20 Misconfiguration - main pages should never send http status 400 - 499 M https://165.22.192.20/ 165.22.192.20 Misconfiguration - main pages should never send http status 400 - 499 N https://mamiphera.es/ 165.22.192.20 Error - Certificate isn't trusted, RemoteCertificateNameMismatch N https://www.mamiphera.es/ 165.22.192.20 Error - Certificate isn't trusted, RemoteCertificateNameMismatch N https://165.22.192.20/ 165.22.192.20 Error - Certificate isn't trusted, RemoteCertificateNameMismatch N https://185.42.104.39/ 185.42.104.39 Error - Certificate isn't trusted, RemoteCertificateNameMismatch N 165.22.192.20:465 Error - Certificate isn't trusted, RemoteCertificateNameMismatch N 165.22.192.20:993 Error - Certificate isn't trusted, RemoteCertificateNameMismatch N 165.22.192.20:995 Error - Certificate isn't trusted, RemoteCertificateNameMismatch N 165.22.192.20:8083 Error - Certificate isn't trusted, RemoteCertificateNameMismatch N 165.22.192.20:8443 Error - Certificate isn't trusted, RemoteCertificateNameMismatch Info: Checking all ip addresses of that domain without sending the hostname only one certificate found. Checking all ip addresses and sending the hostname only one certificate found. Both certificates are the same. So that domain doesn't require Server Name Indication (SNI), it's the primary certificate of that set of ip addresses.: Domain mamiphera.es, 1 ip addresses, 1 different http results. Info: Checking all ip addresses of that domain without sending the hostname only one certificate found. Checking all ip addresses and sending the hostname only one certificate found. Both certificates are the same. So that domain doesn't require Server Name Indication (SNI), it's the primary certificate of that set of ip addresses.: Domain www.mamiphera.es, 1 ip addresses, 1 different http results. 2. DNS- and NameServer - Checks A Info:: 21 Root-climbing DNS Queries required to find all IPv4- and IPv6-Addresses of 5 Name Servers. A Info:: 21 Queries complete, 20 with IPv6, 1 with IPv4. Warning: Only some DNS Queries done via ipv6. IPv6 is the future, so the name servers of your name servers should have ipv6 addresses. A Good: Some ip addresses of name servers found with the minimum of two DNS Queries. One to find the TLD-Zone, one to ask the TLD-Zone.ns1.cdmon.net (35.189.106.232), ns4.cdmondns-01.org (52.58.66.183), ns5.cdmondns-01.com (52.59.146.62), ns2.cdmon.net (35.195.57.29), ns3.cdmon.net (35.157.47.125) Ok (4 - 8):: An average of 4.2 queries per domain name server required to find all ip addresses of all name servers. A Info:: 7 different Name Servers found: ns1.cdmon.net, ns1.webaliza.com.es, ns2.cdmon.net, ns2.webaliza.com.es, ns3.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com, 3 Name Servers included in Delegation: ns1.webaliza.com.es, ns2.webaliza.com.es, ns3.cdmon.net, 7 Name Servers included in 2 Zone definitions: ns1.cdmon.net, ns2.cdmon.net, ns3.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com, ns1.webaliza.com.es, ns2.webaliza.com.es, 2 Name Servers listed in SOA.Primary: ns1.cdmon.net, ns1.webaliza.com.es. Error: Different SOA.Primary Name Servers found, different SOA Definitions.: ns1.cdmon.net,ns1.webaliza.com.es. Error: SOA.Primary Name Server not included in the delegation set.: ns1.cdmon.net,ns1.webaliza.com.es. X Fatal: Inconsistency between delegation and zone. The set of NS records served by the authoritative name servers must match those proposed for the delegation in the parent zone.: ns1.cdmon.net (35.189.106.232): Delegation: ns1.webaliza.com.es, ns2.webaliza.com.es, ns3.cdmon.net, Zone: ns1.cdmon.net, ns2.cdmon.net, ns3.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. Name Servers defined in Delegation, missing in Zone: ns1.webaliza.com.es, ns2.webaliza.com.es.Name Servers defined in Zone, missing in Delegation: ns1.cdmon.net, ns2.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. X Fatal: Inconsistency between delegation and zone. The set of NS records served by the authoritative name servers must match those proposed for the delegation in the parent zone.: ns1.webaliza.com.es (165.22.192.20): Delegation: ns1.webaliza.com.es, ns2.webaliza.com.es, ns3.cdmon.net, Zone: ns1.webaliza.com.es, ns2.webaliza.com.es. Name Servers defined in Delegation, missing in Zone: ns3.cdmon.net. X Fatal: Inconsistency between delegation and zone. The set of NS records served by the authoritative name servers must match those proposed for the delegation in the parent zone.: ns2.cdmon.net (35.195.57.29): Delegation: ns1.webaliza.com.es, ns2.webaliza.com.es, ns3.cdmon.net, Zone: ns1.cdmon.net, ns2.cdmon.net, ns3.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. Name Servers defined in Delegation, missing in Zone: ns1.webaliza.com.es, ns2.webaliza.com.es.Name Servers defined in Zone, missing in Delegation: ns1.cdmon.net, ns2.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. X Fatal: Inconsistency between delegation and zone. The set of NS records served by the authoritative name servers must match those proposed for the delegation in the parent zone.: ns2.webaliza.com.es (165.22.192.20): Delegation: ns1.webaliza.com.es, ns2.webaliza.com.es, ns3.cdmon.net, Zone: ns1.webaliza.com.es, ns2.webaliza.com.es. Name Servers defined in Delegation, missing in Zone: ns3.cdmon.net. X Fatal: Inconsistency between delegation and zone. The set of NS records served by the authoritative name servers must match those proposed for the delegation in the parent zone.: ns3.cdmon.net (35.157.47.125): Delegation: ns1.webaliza.com.es, ns2.webaliza.com.es, ns3.cdmon.net, Zone: ns1.cdmon.net, ns2.cdmon.net, ns3.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. Name Servers defined in Delegation, missing in Zone: ns1.webaliza.com.es, ns2.webaliza.com.es.Name Servers defined in Zone, missing in Delegation: ns1.cdmon.net, ns2.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. X Fatal: Inconsistency between delegation and zone. The set of NS records served by the authoritative name servers must match those proposed for the delegation in the parent zone.: ns4.cdmondns-01.org (52.58.66.183): Delegation: ns1.webaliza.com.es, ns2.webaliza.com.es, ns3.cdmon.net, Zone: ns1.cdmon.net, ns2.cdmon.net, ns3.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. Name Servers defined in Delegation, missing in Zone: ns1.webaliza.com.es, ns2.webaliza.com.es.Name Servers defined in Zone, missing in Delegation: ns1.cdmon.net, ns2.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. X Fatal: Inconsistency between delegation and zone. The set of NS records served by the authoritative name servers must match those proposed for the delegation in the parent zone.: ns5.cdmondns-01.com (52.59.146.62): Delegation: ns1.webaliza.com.es, ns2.webaliza.com.es, ns3.cdmon.net, Zone: ns1.cdmon.net, ns2.cdmon.net, ns3.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. Name Servers defined in Delegation, missing in Zone: ns1.webaliza.com.es, ns2.webaliza.com.es.Name Servers defined in Zone, missing in Delegation: ns1.cdmon.net, ns2.cdmon.net, ns4.cdmondns-01.org, ns5.cdmondns-01.com. A Good: All Name Server Domain Names have a Public Suffix. A Good: All Name Server Domain Names ending with a Public Suffix have minimal one IPv4- or IPv6 address. A Good: All Name Server ip addresses are public. A Good: Minimal 2 different name servers (public suffix and public ip address) found: 7 different Name Servers found Warning: No Name Server IPv6 address found. IPv6 is the future, so your name servers should be visible via IPv6.: 7 different Name Servers found A Good: Name servers with different Top Level Domains / Public Suffix List entries found: 7 Name Servers, 4 Top Level Domains: com, org, net, com.es A Good: Name Servers with different domain names found.: 4 different Domains found A Good: Name servers with different Country locations found: 7 Name Servers, 4 Countries: BE, DE, GB, NL A Info: Ipv4-Subnet-list: 7 Name Servers, 3 different subnets (first Byte): 165., 35., 52., 6 different subnets (first two Bytes): 165.22., 35.157., 35.189., 35.195., 52.58., 52.59., 6 different subnets (first three Bytes): 165.22.192., 35.157.47., 35.189.106., 35.195.57., 52.58.66., 52.59.146. A Good: Name Server IPv4-addresses from different subnet found: A Good: Nameserver supports TCP connections: 7 good Nameserver A Info: Nameserver mit different domain names found. May be a problem with DNS-Updates A Good: Nameserver supports Echo Capitalization: 7 good Nameserver X Nameserver Timeout checking Echo Capitalization: a.nic.es A Good: Nameserver supports EDNS with max. 512 Byte Udp payload, message is smaller: 7 good Nameserver A Good: Nameserver has passed 10 EDNS-Checks (OP100, FLAGS, V1, V1OP100, V1FLAGS, DNSSEC, V1DNSSEC, NSID, COOKIE, CLIENTSUBNET): 7 good Nameserver Nameserver doesn't pass all EDNS-Checks: ns1.cdmon.net: OP100: no result. FLAGS: no result. V1: no result. V1OP100: no result. V1FLAGS: no result. DNSSEC: no result. V1DNSSEC: no result. NSID: no result. COOKIE: no result. CLIENTSUBNET: no result. Nameserver doesn't pass all EDNS-Checks: ns1.nic.es: OP100: no result. FLAGS: no result. V1: no result. V1OP100: no result. V1FLAGS: no result. DNSSEC: no result. V1DNSSEC: no result. NSID: no result. COOKIE: no result. CLIENTSUBNET: no result. X Fatal error: Nameservers with different SOA Serial Numbers Warning: No CAA entry with issue/issuewild found, every CAA can create a certificate. Read https://en.wikipedia.org/wiki/DNS_Certification_Authority_Authorization to learn some basics about the idea of CAA. Your name server must support such an entry. Not all dns providers support CAA entries. 3. Content- and Performance-critical Checks A http://mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 165.22.192.20 Good: Acme-Check - Answer looks like a correct keyAuthorization - String: Filename + "." + base64url(Thumbprint(accountKey)). So creating a Letsencrypt certificate using that integrated solution should work. Don't use another client (like Certbot). Don't mix integrated solutions with own ACME-clients, that may not work. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask. A http://www.mamiphera.es/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 165.22.192.20 Good: Acme-Check - Answer looks like a correct keyAuthorization - String: Filename + "." + base64url(Thumbprint(accountKey)). So creating a Letsencrypt certificate using that integrated solution should work. Don't use another client (like Certbot). Don't mix integrated solutions with own ACME-clients, that may not work. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask. A Good: Every https result with status 200 supports GZip. https://www.mamiphera.es/ 185.42.104.39 Warning: Https + http status 200 + Inline CSS / JavaScript found. Don't use inline CSS / JavaScript. These are compiled and re-used ressources, save these with a long Cache-Control max-age - header. https://www.mamiphera.es/ 185.42.104.39 Warning: Https result with status 200 found, Html-Content is too big. Should be max. 110 %. May contain inline CSS / JavaScript, too much comments or white space. Re-used ressources - create files with a long Cache-Control max-age header. Remove comments and white space. https://www.mamiphera.es/ 185.42.104.39 Warning: Https connections (Standard Port 443) found without support of the http/2 protocol via ALPN. Http/2 is the new Http-Version (old: http 1.1) with some important new features. Update your server software so http/2 is available. Only one TCP-connection per Server (that's a performance boost), Header-Compression and Server Pushs are available. Domain Sharding and Inline-CSS/Javascript shouldn't used with http/2. https://185.42.104.39/ 185.42.104.39 Warning: Https connections (Standard Port 443) found without support of the http/2 protocol via ALPN. Http/2 is the new Http-Version (old: http 1.1) with some important new features. Update your server software so http/2 is available. Only one TCP-connection per Server (that's a performance boost), Header-Compression and Server Pushs are available. Domain Sharding and Inline-CSS/Javascript shouldn't used with http/2. https://www.mamiphera.es/ 185.42.104.39 Critical: Some script Elements (type text/javascript) with a src-Attribute don't have a defer / async - Attribute. Loading and executing these JavaScripts blocks parsing and rendering the Html-Output. That's bad if your site is large or the connection is slow / mobile usage. Use "async" if the js file has only functions (so nothing is executed after parsing the file) or is independend. Use "defer" if the order of the scripts is important. All "defer" scripts are executed before the DOMContentLoaded event is fired. Check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script to see some details.: 7 script elements without defer/async. A Good: All CSS / JavaScript files are sent with GZip. That reduces the content of the files. 14 external CSS / JavaScript files found A Good: All images with internal compression not sent via GZip. Images (.png, .jpg) are already compressed, so an additional GZip isn't helpful. 2 images (type image/png, image/jpg) found without additional GZip. Not required because these images are already compressed Warning: CSS / JavaScript files with a missing or too short Cache-Control header found. Browsers should cache and re-use these files. 13 external CSS / JavaScript files without Cache-Control-Header, 0 with Cache-Control, but no max-age, 1 with Cache-Control max-age too short (minimum 7 days), 0 with Cache-Control long enough, 14 complete. Warning: Images with a missing or too short Cache-Control header found. Browsers should cache and re-use these files. 12 image files without Cache-Control-Header, 0 with Cache-Control, but no max-age, 2 with Cache-Control max-age too short (minimum 7 days), 0 with Cache-Control long enough, 14 complete. A Good: All checked attribute values are enclosed in quotation marks (" or '). A Good: Some img-elements have a valid alt-attribute.: 9 img-elements found, 8 img-elements with correct alt-attributes (defined, not an empty value). Wrong: img-elements without alt-attribute or empty alt-attribute found. The alt-attribute ("alternative") is required and should describe the img. So Screenreader and search engines are able to use these informations.: 1 img-elements without alt-attribute, 0 img-elements with empty alt-attribute found. A Good: Domainname is not on the "Specially Designated Nationals And Blocked Persons List" (SDN). That's an US-list of individuals and companies owned or controlled by, or acting for or on behalf of, targeted countries. It also lists individuals, groups, and entities, such as terrorists and narcotics traffickers designated under programs that are not country-specific. Collectively, such individuals and companies are called "Specially Designated Nationals" or "SDNs." Their assets are blocked and U.S. persons are generally prohibited from dealing with them. So if a domain name is on that list, it's impossible to create a Letsencrypt certificate with that domain name. Check the list manual - https://www.treasury.gov/resource-center/sanctions/sdn-list/pages/default.aspx A Info: Different Server-Headers found A Duration: 390960 milliseconds, 390.960 seconds