Quality and Performance report

https://www.technationnews.com/
Report generated on Jul 16, 2019 9:13:57 AM

SIMULATED VISITOR: Chrome Paris 8.0/1.5Mbps (Latency: 50 ms) Edit

Requests

41

Weight

958kB

HTML CSS Scripts Images Others
Timeline / Waterfall

First Byte

0.50sec

Start Render

1.83sec

Fully loaded

4.02sec


Browser warnings 0OK
HTTP/2 Ready: 27%
Speed Index: 2407

Technologies :

Apache

Google Font API

Plesk

SWFObject

Twitter Emoji (Twemoji)

WordPress

WordPress Super Cache

jQuery

PHP


Share this report by email

Feel free to share this report with your collaborators, by copying the URL from the address bar,
or by clicking below:

Share the report

Tips and best practices:

Things to improve

Data amount 

0/100

The GIF is not the best format for 1 of your images

Choosing a suitable format can dramatically reduce the weight of an image.

The GIF format

The GIF format is suitable for small animated images (< 100kb). If you do not use animation, the PNG and JPEG formats will be more suitable and lighter, once optimized. Replace each animated content with an <video> element containing an MPEG-4/H.264 <source>.

<video loop="loop" poster="video_poster.jpg">
<source src="video.mp4" type="video/mp4">
</video>

It seems that the <video> element will be more efficient for this animated content:


 
Read more
Browser rendering 

0/100

1 critical dependency detected

The failure of a third-party content provider could bring an overall breakdown of your website.

Single Point Of Failure

A Frontend Single Point Of Failure (SPOF) is a critical dependency on a third-party content, that may block the entire display of your page in case of failure of the content provider.

As an example, if your web page uses a blocking script hosted by Google’s servers, then your page is reliant on any failure from this script. Please read this blog post dedicated to SPOF for more information.

How to avoid SPOF?

As far as possible, exclude any of these dependencies, even from renowned providers. If you have to use a third-party content, ensure that you choosed an asynchronous integration and that you have a fallback in case of problem.


We are checking if the tested web page depends (in a critical way) on some of most widespread external resources (googleapis, typekit,...). That are known as Frontend SPOF (Single Point Of Failure) cases.

This resource represents a SPOF for this page:


 
Read more
Browser rendering 

0/100

Defer parsing of JavaScript

JavaScript can significantly slow down a page display, especially if it is necessary to download an external script.

Defer the use of JavaScript as much as possible to provide a faster start for the page display.

How can I fix this?

First of all, distinguish what portions of your JS is critical and must be loaded as soon as possible, and put them in a specific external file. Keep this file as streamlined as possible, and defer the parsing or execution of all other JS files (learn more).

Use one of the methods below to defer parsing for external JavaScript files:

  • use the async attribute;
  • use the defer attribute;
  • append the script to the DOM in JavaScript during the onload event;
  • make sure your scripts are placed at the bottom of the page (ideally at the end of the body).

The WP Rocket Wordpress plugin has a "Load JavaScript deferred" option, feel free to try it!

104.6KiB of JavaScript is parsed during initial page load. Defer parsing JavaScript to reduce blocking of page rendering.


 
Read more
Browser rendering 

49/100

You should reduce the number of DOM elements

The number of DOM elements influences the complexity of the webpage and DOM access in JavaScript.

A well-designed webpage can offer rich content while maintaining a reasonable number of DOM elements. Read more about this here.

We recommend creating pages that contain less than 1000 DOM elements.

This page contains too many DOM elements (1462 elements).


 
Read more
SEO 

0/100

You should define a 'description' meta tag

The page should define a unique description.

Description in search engines

The description of the page may be directly displayed in search engine results pages (SERP):

It allows you to control at best the entry preview in search engines, and to improve the click rate to your page. Learn more.

How to define a page's description?

Use <meta name="description" content="page description"> and place it in the <head> tag.

This page uses WordPress, which does not handle of the description natively. You should use a plugin for adding it. You may - for instance - use SEOPress, a plugin we're actually using for our own blog!

No <meta> description has been found on this page. Please provide a <meta> description.


 
Read more
Security 

0/100

The Content Security Policy is missing

Protect you website from cross-site scripting (XSS) attacks by setting up a restrictive Content-Security-Policy.

XSS attacks explained

XSS attacks are a type of attack in which malicious data is maliciously added to websites. The number of vulnerabilities allowing these attacks is quite large, which is why it is as useful to prevent them as to limit their harmful effects.

You can protect your pages against these attacks and their effects by restricting execution to code portions either legitimized by the domain to which they belong or by a unique integrity token. The code that does not corresponding to this security policy will not be executed and the user will be informed.

You can learn more about XSS attacks on the Open Web Application Security Project (OWASP) Website.

Configure a "Content-Security-Policy" (CSP) HTTP header

Set up a "Content-Security-Policy" (CSP) HTTP header to prevent or limit damage caused by an XSS attack. To specify a security policy configure your server so the response of the first resource contains the "Content-Security-Policy" HTTP header.

Here's an example:

Content-Security-Policy: script-src 'self' https://apis.google.com

In this case, only scripts coming from the current host or https://apis.google.com will be executed.

Read more about the CSP HTTP header. You can also look at the CSP directives specification.

Please, be careful, if the header is misconfigured, some of your content, scripts, or styles may be blocked. That could cause unwanted side effects. Moreover, the restrictions apply to all pages of the website. We recommend you test the different pages of your website before deploying this header in your production environment.

Apache logo CSP can be configured with your Apache server. Make sure that the mod_headers module is enabled. Then, you can specify your content security policy (in your .htaccess file, for example). Here is an example :

<IfModule mod_headers.c>
Header set Content-Security-Policy "script-src 'self' https://www.google.com"
</IfModule>

This example allows scripts from the same origin (same scheme, host and port) and google.com.


No Content Security Policy on this page: it is more easily exposed to XSS attacks.


 
Read more

Did you know?

Security 

SSL Certificate

Your SSL certificate will expire on 09/15/2019. Update your certificate before that date.

What happens if my certificate expires?

Letting a certificate expire can have consequences for end users who will then see many error or alert messages while browsing the site, warning them of possible frauds, identity thefts or traffic interceptions. These alerts can have a very negative impact on the user's perception of the visited domain.


 
Read more
Quality 

No HTML code is commented

Comments allow you to detail a portion of code and help you navigate more efficiently in the DOM. However, make sure no sensitive information is exposed in your comments.

Well done, none of your comments contains HTML code.


 
Read more
Accessibility 

No <noscript> tag is detected

When a web page uses scripts, it is advised to set at least one noscript tag. It is required to display a message when JavaScript is disabled by the user.

<script  type="text/javascript">
document.write('Hello World!')
</script>
<noscript>Your browser does not support JavaScript!</noscript>


 
Read more
jQuery 

More informations about jQuery performance

jQuery is the most used JavaScript library. Upgrade your website performance respecting the jQuery best practices. We recommend that you learn the basics of the jQuery performance, reading the following link: http://learn.jquery.com/performance/.


 
Read more
Data amount 

1 domain sends 192 bytes of cookies

HTTP cookies are used to track a user to costumize the page according to their profile. They are sent as a HTTP header from the web server to the browser. Then, each time the browser accesses to the server, it sends a request containing the cookie received at the first response. See more information.

Here, 1 domain sends 192 bytes of cookies:

Domain name: lexur
  • OAID: 192 bytes distributed on 6 request(s)


 
Read more
Data amount 

This page does not load too much data (958kB)

A too high page weight slows down the display, especially on low speed connections. This can lead to frustration for users paying for data (see whatdoesmysitecost.com).

Evaluate the Weight of my Web Page

In February 2016, the average weight of 100 most visited websites in the world was 1,38MB.

How to reduce the weight of my page?

You can report to our "Data amount" category to discover the possible optimizations in your case. Images are often involved.
Moreover, make sure to build your web pages in order to load data that is essential to the user experience (rendering optimization of the critical path).
For other contents (social networking plugins, advertising, content at the bottom of the page ...), it is better to delay the loading (asynchronous, lazy-loading ...), so they don't override priority contents.

We strongly recommend that you define performance budgets before you carry out your web projects. These budgets can be settled through the Dareboost monitoring feature.


We have established the weight distribution of the page by resource type:

  • Images : 39,74% of total weight
  • Font : 29,73% of total weight
  • CSS : 15,71% of total weight
  • JavaScript : 11,08% of total weight
  • Texts : 3,41% of total weight
  • JSON : 0,32% of total weight

Here is the weight of the 10 heaviest resources over the network, and that are necessary to load the page:


 
Read more

Well done, these best practices are respected

Browser rendering 

100/100

Your HTML response is not too heavy

Why reduce the code amount of a page?

Before a web page can be displayed, the browser must, among other things, download it, parse it and model it into a document that can be understood by the rendering engine. If the amount of code contained in the page is too large, these steps are slowed down and the rendering is delayed.

How to reduce the amount of code?

Your HTML response should contain only the information that is immediately necessary to display the visible area of the page. Move inline information to external files (JS for scripts, CSS for styles, asynchronous queries for additional content) and simplify the HTML structure of your page.


 
Read more
Accessibility 

100/100

No empty element detected

<p>, <li>, <button>, <legend>, <caption>, <figcaption> and <quote> elements must not be empty because if they are, some screen readers will have difficulties interpreting their presence.

Remove these empty elements from you code or decorate them with the aria-hidden attribute so that the screen readers ignore them.

<p aria-hidden="true"></p>


 
Read more
SEO 

100/100

Your <img> tags use an alt attribute, but 50 are empty

Moreover, the alt attribute is also an important criterion for SEO. Indeed, search engines crawlers cannot parse graphic contents. That is why they use the alternative text to return consistent results, like in Google images.

<img src="product.jpg" alt="My product description"/>

The alt attribute is used in several cases unrelated to SEO:

  • When a screen reader is in use for accessibility purposes;
  • While image is loading, particularly for slow connections;
  • When the image file is not found.

You have 54 img tags and they all have the alt attribute.

Warning, you should also note that 50 of your images contain an alt attribute, but they are empty:

  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhYAAAHOAQMAAAD+DNJPAAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAADVJREFUeNrtwQENAAAAwiD7p7bHBwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhUAAAEFAQMAAABuFIc7AAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAACdJREFUeNrtwQENAAAAwiD7p7bHBwwAAAAAAAAAAAAAAAAAAAAAIORFVAABqJvm...
  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQkAAADGAQMAAAD7b+fyAAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAAB1JREFUWMPtwQENAAAAwiD7p7bHBwwAAAAAAADSDhsSAAGoWlW2AAAAAElFTkSu...
  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQkAAADGAQMAAAD7b+fyAAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAAB1JREFUWMPtwQENAAAAwiD7p7bHBwwAAAAAAADSDhsSAAGoWlW2AAAAAElFTkSu...
  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWQAAADcAQMAAAB9O0nPAAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAACBJREFUaN7twTEBAAAAwiD7p7bDbmAAAAAAAAAAAABAdieIAAGQh2mWAAAAAElF...
  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWQAAADcAQMAAAB9O0nPAAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAACBJREFUaN7twTEBAAAAwiD7p7bDbmAAAAAAAAAAAABAdieIAAGQh2mWAAAAAElF...
  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWQAAADcAQMAAAB9O0nPAAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAACBJREFUaN7twTEBAAAAwiD7p7bDbmAAAAAAAAAAAABAdieIAAGQh2mWAAAAAElF...
  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWQAAADcAQMAAAB9O0nPAAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAACBJREFUaN7twTEBAAAAwiD7p7bDbmAAAAAAAAAAAABAdieIAAGQh2mWAAAAAElF...
  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWQAAADcAQMAAAB9O0nPAAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAACBJREFUaN7twTEBAAAAwiD7p7bDbmAAAAAAAAAAAABAdieIAAGQh2mWAAAAAElF...
  • <img class="entry-thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWQAAADcAQMAAAB9O0nPAAAAA1BMVEWurq51dlI4AAAAAXRSTlMmkutdmwAAACBJREFUaN7twTEBAAAAwiD7p7bDbmAAAAAAAAAAAABAdieIAAGQh2mWAAAAAElF...
  • and 40 others

If nothing seems appropriate for describing an image, you might set an empty text. We advise you to make sure the majority of your images define a relevant text. Read the W3C recommendations here.


 
Read more
Apache 

100/100

Your Apache server version is not exposed

You are using Apache, but we are not able to detect the version. It is more difficult for a hacker to attack your website, because he does not know the version you use. This is a good practice.

There are two values to check if you want to hide your server version: the ServerSignature and the ServerTokens (/etc/apache2/conf.d/security file on a Linux server).

# Hide the version from the 'Server' HTTP Header.
# (e.g.): display only "Server: Apache"
ServerTokens Prod
# Don't add a trailing footer line under server-generated document,
# containing the server name and its version.
ServerSignature Off

However, keep in mind that the best way to protect your system from attacks is to regularly update your Apache server.


 
Read more
SEO 

100/100

This page defines <h1> and <h2> tags

We recommend putting page keywords in at least the h1 and h2 tags. Search engines use the h1, h2, and h3 tags for SEO purposes.
This page contains:

  • 1 <h1> element(s)
  • 59 <h3> element(s)


 
Read more
Compliance 

100/100

No frameset, frame and noframes tags detected

These tags are obsolete, due to several issues related to the navigation consistency, SEO or browsers' bookmark features for example.

None of these tags is detected on this page.

The use of the iframe tag is prefered.


 
Read more