Quality and Performance report

https://www.delikostas.gr/
Report generated on Jul 19, 2018 10:49:49 AM

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

Requests

123

Weight

16.01MB

HTML CSS Scripts Images Others
Timeline / Waterfall

First Byte

1.53sec

Start Render

7.13sec

Fully loaded

18.46sec


Browser warnings 2Severe
HTTP/2 Ready: 99%
Speed Index: 12342

Technologies :

Apache

Font Awesome

Google AdSense

Google Analytics

Google Font API

Joomla

Modernizr

PHP

Twitter Bootstrap

YUI

YouTube

jQuery

yepnope.js


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

Some resources are too heavy

This page contains 6 files with a size greater than 1MB:

Too heavy files should not be loaded on a web page. Be sure you need this resource to load the page. You should probably consider some of the following actions:

  • 6 of these resources use a PNG format. You should try to convert them to a JPEG file
  • resize the images to fit the display size
  • compress the resource
  • load the resource asynchronously


 
Read more
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 1.2MiB (76% reduction).

Resources from "delikostas"
Resources hosted by a third-party

It appears these files are hosted by a third-party, so they may not be within your control. However, you should consider any alternative to these resources to improve your page performance.

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

This page uses the Joomla CMS. Check if you have enabled the Gzip compression in your administration panel (System > Global Configuration > Server > Server Settings > Gzip Page Compression).


 
Read more
Data amount 

0/100

Reduce the page weight (16.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 : 84,29% of total weight
  • JavaScript : 9,22% of total weight
  • CSS : 4,48% of total weight
  • Font : 1,20% of total weight
  • Texts : 0,81% of total weight
  • JSON : 0,01% 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
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 259.4KiB (15% reduction).

Resources from "delikostas"
Resources hosted by a third-party

It appears these files are hosted by a third-party, so they may not be within your control. However, you should consider any alternative to these resources to improve your page performance.

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

0/100

86 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 86 resources without expiry date:


 
Read more
Data amount 

0/100

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


 
Read more

Did you know?

Security 

SSL Certificate

Your SSL certificate will expire on 07/10/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
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
Joomla 

Use performance extensions

Try different extensions to optimize your page performance. The Joomla community delivers several free extensions to combine your files, to minify them, etc.

You can test your page improvements using extensions as jbetolo or JCH Optimize.


 
Read more

This page contains 138 links

Two kind of links exist:

  • Internal links that refer to pages with the same domain name;
  • External links that point to other websites (must be relevant and point towards quality content).

If you reference many links, you can ask the SEO crawlers to consider only some of them, by adding the rel=nofollow attribute to the irrelevant ones (e.g., advertisements).

Here is the distribution of 138 links present in the page:

  • 114 internal links (82,61%)
  • 24 "follow" external links (17,39%)
  • No "nofollow" external link (0,00%)


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

Well done, these best practices are respected

Quality 

100/100

Only one <base> element is defined

Your page contains one <base> elements.

The browser will only use the first values available for the href and the target attributes. Other values will be ignored. Please define only one <base> element with these values.


 
Read more
SEO 

100/100

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

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

  • <img src="/media/k2/items/cache/51a3864ed3ad604d2340c3f8fe249f94_L.jpg?t=1530526808" class="azp_img-responsive" alt="">
  • <img src="/media/k2/items/cache/737344dd8934cc52da9f7f85f2627abb_L.jpg?t=1530527396" class="azp_img-responsive" alt="">
  • <img src="/media/k2/items/cache/2a14beb1aee2d71c6fecb12f25c690f7_L.jpg?t=1530556734" class="azp_img-responsive" alt="">
  • <img src="/media/k2/items/cache/00e7056ec788d5b42162a6c13dbba43c_L.jpg?t=1530531272" class="azp_img-responsive" alt="">
  • <img src="/media/k2/items/cache/d48ed900e79fa9547169c26138b4cd8d_L.jpg?t=1530535794" class="azp_img-responsive" alt="">
  • <img src="/media/k2/items/cache/924e149af069b8ea323a809fbb1171d4_L.jpg?t=1530536217" class="azp_img-responsive" alt="">
  • <img src="/media/k2/items/cache/42121f00ffc451d0c288e11c1f28cbd4_L.jpg?t=1531986957" class="azp_img-responsive" alt="">
  • <img src="/media/k2/items/cache/220c08548cac211cc7db219bb52f46cf_L.jpg?t=1531417115" class="azp_img-responsive" alt="">
  • <img src="/media/k2/items/cache/2cebfdae7a8ea5d691033c085990a9d4_L.jpg?t=1530542623" class="azp_img-responsive" alt="">
  • <img src="/media/k2/items/cache/deb9f9efc56ef2a940bdf0d58ccaad5c_L.jpg?t=1530543000" class="azp_img-responsive" alt="">

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


 
Read more
Quality 

100/100

No nested tables detected

table tag should only be used to render ordered data. Handle the elements layout with CSS instructions.

You can use colspan and rowspan properties to represent complex data.

No nested table found in this page.


 
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