Quality and Performance report

https://www.greenmiind.com/
Report generated on Sep 24, 2018 4:24:40 PM
Download report
SIMULATED VISITOR: Chrome Washington DC 10.0/2.0Mbps (Latency: 28 ms) Edit

Requests

124

Weight

4.04MB

HTML CSS Scripts Images Others
Timeline / Waterfall

First Byte

2.02sec

Start Render

2.70sec

Fully loaded

6.16sec


Browser warnings 0OK
HTTP/2 Ready: 46%
Speed Index: 3694

Technologies :

Google AdSense

Google Analytics

Google Font API

Ink

Lightbox

Nginx

OWL Carousel

Reveal.js

Twitter Emoji (Twemoji)

WordPress

Yoast SEO

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

Reduce the page weight (4.0MB)

The page weight is too high, slowing down its 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 : 71,36% of total weight
  • JavaScript : 21,95% of total weight
  • Texts : 2,85% of total weight
  • CSS : 2,53% of total weight
  • Font : 1,22% 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
Cache policy 

0/100

36 of your requests don't define a cache policy with WordPress

The Expires header is essential for an efficient caching policy. It will significantly impact on the loading time for returning visitor.

The Expires header explained

You can set an expiration date for each resource: as long as the date is not exceeded, the browser stores and uses the resource in cache.

The expiry date of resources is set using the Expires HTTP header:

Expires: Thu, 25 Dec 2014 20:00:00 GMT

You can set a far expiry date for static resources (1 year maximum), and a closer date for resources that change more frequently (at least 48 hours).

When you deploy a new version of your website, remember to rename static resources that have been modified. If you do not change their names, your users will keep resources corresponding to the old versions stored in their caches, and they may find themselves on an unstable version of your page. For example:

myresource.min.20140101.js

See the Yahoo! guidelines on this subject.

What should I do?
Several great plugins are available for WordPress to handle the cache mechanism. You can consider especially the popular WP Rocket or W3 Total Cache plugins. Otherwise, you can configure the cache policy with the web server you use.

This page contains 36 resources without expiry date:


 
Read more
Data amount 

0/100

10 images are resized on browser side

Images must not be delivered larger than they are actually displayed to avoid loading unnecessary data.

Resizing images explained

Resizing images on browser side to reduce their rendering size is not recommended.

For instance, if your image is set to render at 300px by 300px on a particular page, don't upload the original 1000px by 1000px version of that image to your page. Instead, resize/crop the image to fit the display size and then upload it to your site to decrease the page weight and loading time.

Using images with responsive designs or retina screens?

Responsive website designs and retina screens do not justify an image resizing. Even in such cases, some methods exist to deliver your pictures to the right size. We recommend reading the following resources:

Don't resize the following images:

On this page, 1 image is resized by less than 35%. This can be consistent in a Responsive Web Design website, so this best practice does not penalize the following resource, but please make sure that it does not affect the page performance:


 
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!

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


 
Read more
Browser rendering 

0/100

Reduce resources response time

The server response time has to be as fast as possible.

The server response time explained

This time corresponds to the period between when the server receives the request and when the network returns the response. This response time can be reduced because of slow application logic, slow database queries, slow routing, frameworks, libraries, resource CPU starvation, or memory starvation.

How can I fix this?

Identify the cause of the slowdown and make sure the server response time is as short as possible. According to Google, a response time under 200ms is acceptable.

The server's response time takes too long with the following resources:


 
Read more

Did you know?

Quality 

110 CSS properties are overridden

Generally, it is unnecessary to define 2 times the same property within the same rule: the second one overrides the first.
This may affect the readability of CSS code. Eliminate unnecessarily overridden properties also reduce the file size.

How to improve it?

Remove one occurrence of the duplicated property. For example, the following properties:

.myClass {
margin: 20px;
...
margin: 10px;
}

Should be replaced by:

.myClass {
margin: 10px;
}

The following files define the same property several times in a single rule.
Note that CSS fallbacks can justify a duplicated property.


Make sure that the following properties are duplicated on purpose:

www.greenmiind.com/wp-content/plugins/jetp[...]etpack.css?ver=6.3.2

  • .jp-carousel-close-hint [...]n {background-color: rgba(0,0,0,.8)} (line 4, col 4461)
  • .jp-carousel-light #caro[...]textarea {border: 1px solid #cfcfcf} (line 4, col 17219)
  • #infinite-footer .container {border-color: rgba(0,0,0,.1)} (line 6, col 947)
  • #likes-other-gravatars {[...]-shadow: 0 0 10px rgba(46,68,83,.6)} (line 7, col 1145)
  • div.sd-box {border-top: 1px solid rgba(0,0,0,.13)} (line 7, col 1933)
  • #jp-relatedposts h3.jp-r[...]order-top: 1px solid rgba(0,0,0,.2)} (line 8, col 424)
  • .sd-social-icon .sd-cont[...]hare-] a.sd-button:before {top: 0\9} (line 9, col 13160)
  • body div div.slideshow-c[...]und-color: rgba(0,0,0,.6)!important} (line 10, col 1685)
  • and 3 others

www.greenmiind.com/wp-content/themes/ebiga[...]el.min.css?ver=2.3.4

  • .owl-carousel.owl-grab {cursor: grab} (line 6, col 1764)

www.greenmiind.com/wp-content/themes/ebiga[...]/style.css?ver=1.0.2

  • .from-me {position: absolute} (line 355, col 5)
  • .merlin__content--transi[...]se-in-out, filter 300ms ease-in-out} (line 851, col 9)
  • .merlin__content--licens[...]ffffff 40%, rgba(255, 255, 255, 0))} (line 943, col 5)
  • body.exiting .merlin__co[...]se-in-out, filter 300ms ease-in-out} (line 1001, col 9)
  • .merlin__button--loading[...]00ms cubic-bezier(0.18, 1, 0.21, 1)} (line 1378, col 5)
  • .merlin__button--loading[...]ubic-bezier(0.18, 1, 0.21, 1) 200ms} (line 1391, col 5)
  • .merlin__drawer--import-[...]bic-bezier(0.78, -1.22, 0.17, 1.89)} (line 1968, col 5)
  • .merlin__content__footer[...]se-in-out, filter 300ms ease-in-out} (line 2306, col 9)
  • and 90 others


 
Read more
Security 

Do all third parties resources deliver the right content?

This page loads data from third parties, you should ensure their integrity.

SubResource Integrity (SRI)

Use SRI to ensure that a third party resource has not been tampered. Add the integrity attribute to <script> and <link> tags loading this kind of resource. Example:

<script src="https://exemple.com/exemple-framework.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
crossorigin="anonymous">
</script>

The integrity attribute value is equal to the base64-encoded hash (SHA) of the resource. The browser compares this hash with the downloaded content in order to determine if the resource matches the expected content.

You can create the SHA thanks to several tool. In command line, you can use openssl. You can also test some online tools, as srihash.org or report-uri.io. Learn more about SubResource Integrity.


 
Read more
Quality 

170 selectors are superfluous

It's often inefficient to bring too much preciseness in CSS selectors. For example, in the following rule:

body div .myClass {}

The body element provides no details to select the desired tags. So you should prefer the following selector:

div .myClass {}

In the same way, you do not need to specify a <ul> selector if you specify a <li> behind.

Here are listed the elements considered as potentially redundant: ul li, ol li, table tr, table th, body.

The following files declar some useless selectors:

www.greenmiind.com/wp-content/plugins/jetp[...]etpack.css?ver=6.3.2

  • body .sd-content ul li.share-custom.no-icon a span (line 9, col 4469)
  • body .sd-social-text .sd-content ul li.share-custom a span (line 9, col 4469)
  • body .sd-social-official li a.share-more (line 9, col 10743)
  • body .sd-social-official li.share-custom a (line 9, col 10743)
  • body .sd-social-official li.share-digg a (line 9, col 10743)
  • body .sd-social-official li.share-email a (line 9, col 10743)
  • body .sd-social-official li.share-press-this a (line 9, col 10743)
  • body .sd-social-official li.share-print (line 9, col 10743)
  • and 144 others

www.greenmiind.com/wp-content/themes/ebiga[...]/style.css?ver=1.0.2

  • body:not(.merlin__body--welcome) .return-to-dashboard.ignore (line 1771, col 1)
  • .c-page__content ul li:not(.indicator-item):not(.acidcode__team-member--social-l... (line 2337, col 1)
  • .c-page__content ul li:not(.indicator-item):not(.acidcode__team-member--social-l... (line 2345, col 1)
  • table th (line 3693, col 1)
  • table th (line 3697, col 1)
  • table tr (line 3702, col 1)
  • table th (line 3709, col 1)
  • table th (line 3715, col 5)
  • and 7 others

www.greenmiind.com/wp-content/plugins/jetp[...]ons.css?ver=20170506

  • .jetpack_widget_social_icons ul li (line 12, col 1)
  • .jetpack_widget_social_icons ul li:before (line 20, col 1)
  • .jetpack_widget_social_icons ul li:after (line 20, col 1)


 
Read more
Security 

SSL Certificate

Your SSL certificate will expire on 11/18/2018. 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 

36% of the colors are used only once

The analysed page uses 154 different color codes within your own CSS files, and 56 of them are used only once (some might be very close to others, eg #FF0000 and #FE0000).

We recommend you to try to harmonize the colors of your website to simplify your CSS, but also to avoid inconsistencies in your UI.

The following colors are used only once:

#000000 #0077b5 #00acee #00aff0 #111111 #282828 #2c4762 #2e4467 #303030 #353535 #398f14 #3b5998 #484c5d #4e4e4e #535353 #5cb5d4 #771a09 #777777 #91949e #c1c1c1 #ca1f27 #cee3f8 #cfcfcf #dd4b39 #deede3 #df4926 #e5e5e5 #ecebeb #ee4056 #eeeeee #f0f0f0 #f7e700 #f9f9f9 #fa6200 #fbfbfb #fdbd93 #ff00ff #ffa500 #ffba00 #ffff00 rgba(0,0,0,0.05) rgba(0,0,0,0.06) rgba(0,0,0,0.08) rgba(0,0,0,0.13) rgba(0,0,0,0.16) rgba(0,0,0,0.25) rgba(0,0,0,0.35) rgba(0,0,0,0.5) rgba(0,0,0,0.7) rgba(0,0,0,0.75) rgba(213,78,33,0.8) rgba(255,255,255,0) rgba(255,255,255,0.1) rgba(255,255,255,0.4) rgba(255,255,255,0.95) rgba(46,68,83,0.6)


 
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

Well done, these best practices are respected

Security 

100/100

This page is not exposed to the Mixed Content issue

This page uses the HTTPS protocol, , and all resources are using HTTPS protocol. So there is no Mixed Content vulnerability.

For further information on Mixed Content, you can read this article on this subject.


 
Read more
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
SEO 

100/100

Your <img> tags use an alt attribute, but 13 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 14 img tags and they all have the alt attribute.

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

  • <img width="930" height="613" src="https://www.greenmiind.com/wp-content/uploads/2018/09/ASTHMA-GREENMIIND.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https...
  • <img width="1920" height="1440" src="https://www.greenmiind.com/wp-content/uploads/2018/09/omega-3.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://www.g...
  • <img width="1500" height="1033" src="https://www.greenmiind.com/wp-content/uploads/2018/09/General_EduRes_Heart_RedBloodCells.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" a...
  • <img width="732" height="549" src="https://www.greenmiind.com/wp-content/uploads/2018/09/CHOLESTEROL.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://www...
  • <img width="640" height="425" src="https://www.greenmiind.com/wp-content/uploads/2018/08/when-do-pregnancy-symptoms-begin.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="...
  • <img width="530" height="354" src="https://www.greenmiind.com/wp-content/uploads/2018/08/nutrition-during-pregnancy.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcs...
  • <img width="1680" height="1200" src="https://www.greenmiind.com/wp-content/uploads/2018/08/going-into-labor.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="http...
  • <img width="603" height="428" src="https://www.greenmiind.com/wp-content/uploads/2018/08/how-to-cure-a-headache-while-pregnant.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" ...
  • <img width="1280" height="721" src="https://www.greenmiind.com/wp-content/uploads/2018/08/unexpected-pregnancy.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="h...
  • <img width="1024" height="681" src="https://www.greenmiind.com/wp-content/uploads/2018/08/406052322_c7961bc0e7_b.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset=...
  • <img width="930" height="613" src="https://www.greenmiind.com/wp-content/uploads/2018/09/ASTHMA-GREENMIIND.jpg" class="side-item-thumb wp-post-image" alt="" srcset="https://www.greenmiind.com/wp-conte...
  • <img width="1920" height="1440" src="https://www.greenmiind.com/wp-content/uploads/2018/09/omega-3.jpg" class="side-item-thumb wp-post-image" alt="" srcset="https://www.greenmiind.com/wp-content/uploa...
  • <img width="1500" height="1033" src="https://www.greenmiind.com/wp-content/uploads/2018/09/General_EduRes_Heart_RedBloodCells.jpg" class="side-item-thumb wp-post-image" alt="" srcset="https://www.gree...

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
Cache policy 

100/100

You do not use too long inline scripts

Any script with a significant size should let the browser cached them in order to reduce loading time/improve performance of your returning visitor.

Inline scripts / cache policy

"inline" scripts allow to integrate easily small portions of scripts directly in the HTML code. Example:

<script type="text/javascript">
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']...,'/analytics.js','ga');
    ga('create', 'UA-11111111-1', 'mywebsite.com');
</script>

By doing so, you avoid making a request to the server to retrieve the resource. So inline scripts represent a performance gain if you want to integrate small scripts.

However, once a script has a fairly substantial size, we advise you to outsource it and perform a request to retrieve it. So you will benefit from the cache mechanism.

What should I do?

Outsource your scripts with more than 1500 characters in one or more separate files.


 
Read more
Accessibility 

100/100

<noscript> tag detected

This page uses noscript tag. It allows to display a message when JavaScript is disabled by the user.


 
Read less
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)
  • 14 <h2> element(s)


 
Read more