Quality and Performance report

http://cienkusz.com.pl
Report generated on May 10, 2018 10:15:33 AM
Download report
SIMULATED VISITOR: Chrome Washington DC 10.0/2.0Mbps (Latency: 28 ms) Edit

Requests

22

Weight

535kB

HTML CSS Scripts Images Others
Timeline / Waterfall

First Byte

0.91sec

Start Render

2.03sec

Fully loaded

3.13sec


Browser warnings 0OK
HTTP/2 Ready: 14%
Speed Index: 2909

Technologies :

Apache

Google Font API

Lightbox

PHP

jQuery


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

Enable compression

Compressing resources with gzip or deflate can reduce the number of bytes sent over the network.

Enable compression for the following resources to reduce their transfer size by 86.7KiB (68% reduction).

This page is delivered by an Apache server. Check if it uses the mod_deflate module.


 
Read more
Cache policy 

0/100

16 of your requests don't define a cache policy with Apache

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?

This page is delivered by an Apache server. Check if it uses the mod_expires module. Here's an example of configuration, to adapt to your needs (in your .htaccess file, for example):

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
</IfModule>

This page contains 16 resources without expiry date:


 
Read more
Data amount 

0/100

Optimize your images

Properly formatting and compressing images can save many bytes of data.

Optimize the following images to reduce their size by 94.4KiB (32% reduction).

Images may contain data unnecessary for their use on the web. This data can increase their size significantly. Some tools automatically remove this unnecessary data without loss of quality and thus reduce your image sizes.

We recommend removing unnecessary image data using a tool such as jpegtran (JPEG files), OptiPNG (PNG files) or ImageRecycle.


 
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 our 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
jQuery 

0/100

Consider using jQuery 1.12

You webpage uses jQuery 1.7.2. You should migrate to the latest version of the 1.x branch: jQuery 1.12, that contains several bug and security fixes.

Should I migrate to the last version of jQuery ?

Migrating from a 1. x version of jQuery to the latest version (3.x) can have many unintended impacts and means losing compatibility with older browsers. You should only consider abandoning jQuery 1.x as a part of a complete overhaul of your Front-End infrastructure. As you reflect on it, you will surely discover that you might not need jQuery.


 
Read more
Number of requests 

0/100

1 redirect required 312 millisecondes

The redirects trigger avoidable roundtrips on the network and increase the page loading time.

HTTP redirects

The HTTP redirects allow to specify that the desired content is accessible from a different URL. They trigger a new HTTP request to retrieve the target resource and return a HTTP code between 300 and 399. See the specifications of HTTP redirects.

How to solve the issue ?

Allow the user to directly access your content without redirects, or determine and improve what causes these excessive loading times on your redirects. See recommendations from Google.


1 redirect was too long to access the right content:


 
Read more

Did you know?

Security 

Your server should be able to communicate with HTTP while it uses a HTTPS connection

Take precautionary measures against attacks like "man in the middle" by making sure to only communicate in HTTPS with the server.

The HTTP Strict Transport Security (HSTS) Header

When you communicate with a server through a secure connection, every sent request towards this server should use the HTTPS protocol. The HTTP HSTS header allows to indicate to the browser that all the requests sent to the domain concerned must be done via HTTPS. If the URL is presented under "http://...", the web browser is automatically going to replace it by "https://...".

However, we advise you to not set this header unless your entire website serves its resources in HTTPS.

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

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
</IfModule>

For further information, you can read this article.

No HSTS header has been detected on this page.


 
Read more
Data amount 

1 domain sends 544 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 544 bytes of cookies:

Domain name: cienkusz
  • PHPSESSID: 544 bytes distributed on 17 request(s)


 
Read more
Quality 

3 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:

https://cienkusz.com.pl/style.css

  • body {background-position: top} (line 9, col 2)
  • body#tlo_podstrony {background-position: top} (line 20, col 2)
  • .box_oferta_zdj2 {width: 210px} (line 488, col 2)


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

Well done, these best practices are respected

Quality 

100/100

IDs within your HTML code are unique

Using the same ID on several elements can have side effects, especially during JavaScript executions or when applying CSS rules.

IDs explained

Each element of a web page can be identified thanks to the id attribute:

<p>
  <span id="mySpan1"></span>
</p>

These IDs allow you to manipulate your elements with CSS or JavaScript instructions.

How to properly use IDs?

You must ensure identifiers are not duplicated within the page. If you want to share a property or a behavior between multiple items, you have to use the class attribute, which is dedicated to this purpose:

<p>
  <span class="mySpans"></span><span class="mySpans"></span>
</p>


 
Read more
SEO 

100/100

Your <img> tags use an alt attribute

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 4 img tags and they all have the alt attribute.

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
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)
  • 1 <h2> element(s)
  • 1 <h3> element(s)


 
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

You have defined a <meta> 'description'

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 defines one <meta> description:

Zakład Szklarski Jerzy Cienkusz Warszawa oferuje profesjonalne wyroby ze szkła do Twojego domu. W naszej ofercie: drzwi szklane, lustra, panele szklane.


 
Read more
SEO 

100/100

This page uses only standard image formats

The images that use a non-standard format may not be indexed by search engines.

Only these image formats are considered standard on the web: jpeg, jpg, png, gif, svg, ico, webp. You should consider an alternative to any other format.

Moreover, remember to treat the text around your images: some search engines analyze approximately the 10 words preceding and following the image in order to add a context to the image.


 
Read more