Updates

100/recent/ticker-posts

Header Ads Widget


Quality and Performance Report

Quality and Performance Report - TriMedicare

www.trimedicare.co.in

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.


 
Browser rendering 

100/100

No Mutation Events detected in your scripts

To capture DOM events, do not use Mutation Events. Alternatives exist.

Good concept, bad implementation

When developing complex JavaScript applications, you may need to know when the DOM node tree has changed. Introduced in 2000 in the DOM, Level 2 specification to provide a solution to this need, Mutations Events are browser-initiated events that let you know when a DOM node is added, removed, or deleted.

Mutation Events, however, present major performance problems. First, they are synchronous, i.e. they prevent other events in the queue from being fired (if those events are used to update the UI, this will cause some lag). Second, they are implemented as browser events, thus traverse the DOM tree from the targeted HTML element to the parent element which listens for the event, clogging the JavaScript thread along the way.

Mutation Events have been deprecated in 2016 in the DOM, Level 3 specification.

Mutation Observers to the rescue

If you need to watch for changes being made to the DOM tree, you should use the MutationObserver interface (DOM4 Living Standard). Mutation Observers are asynchronous, processed in batches, and observe specific or all changes to a node. They are more efficient in terms of CPU usage than browser events and therefore cause fewer to no UI freeze.

Learn how to use Mutation Observers (Mozilla Developer Network).


 
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.


 
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.


 
Compliance 

100/100

No Java applets detected

Java applets are considered obsolete in 2015. HTML5 is powerful and more widely supported. Using Java applets can lead to compatibility issues and may send negative signals to your users (e.g. the browser indicating that content was blocked because it could be dangerous).

Congratulations, this page doesn't contain Java applets.


 
SEO 

100/100

This page specifies a <title> tag

The page should define a unique title (using a <title> tag).

Use of titles by search engines

Once properly configured, the page title can be displayed in the search engine results page:

Using a suitable title is a major criterion for SEO. It allows you to control at best what is displayed in search results pages and determine the keywords you want your site pops out.

How to define the title of a web page?

The title of the page is specified into the <title> tag, which must be placed into the <head> tag, at the beginning of the code.


This page defines the title trough the title tag.

Here is the page's title:

TriMedicare


 
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:

best  medical devices distributors in kolkata like oxygen concentrator, cpap, bipap, nebulizer, oximeter, wheelchair and specialized for sleep test


 
Compliance 

100/100

Do not use <bgsound> tag

No bgsound tag detected. This is a good practice: this element is not a HTML standard. See more information.

Use the audio tag to deliver audio content on your page.

<audio src="my-audio-file.ogg" autoplay>
Your browser doesn't support the audio element.
</audio>


 
SEO 

100/100

You do not use query strings in the URL

This URL does not contain any parameter.

A URL should be as readable as possible. For instance, http://example.com?userId=332&group=MyGroup is less readable than http://example.com/mygroup/me.


 
Compliance 

100/100

You do not use links to Word documents

.doc and .docx documents do not guarantee compatibility with all major operating systems. It's recommended to use PDF documents.

This page contains only standard links.


 
jQuery 

100/100

No DOM manipulation inside loops detected

Working directly with the DOM has a cost. If you have to add elements to a node, you should prefer to append them once rather than one by one.

Well done, none of your loop contains a jQuery append method.


 
jQuery 

100/100

You do not use excessive specificity on selectors

Using too specific jQuery selectors impacts performance: see more information. Here is an example of a good use of the library:

$( ".data table.firstClass td.secondClass" );
// Better: Drop the middle if possible
$( ".data td.secondClass" );

This page does not contain too specific selectors, this is a good practice.


 
Data amount 

100/100

All your resources are served from a consistent URL

Resources with identical content should be served from the same URL to avoid duplicate downloads and additional requests.

Different URLs for the same resource

If you use different URLs to serve identical content, browsers have to request this content from the server several times, and your page will trigger unnecessary requests for data. If the same URL is used, the browser will only send one request and will use the response wherever the resource is requested. You should also use the same URL to reference the same content on several pages to benefit from the cache mechanism.

How to fix this?

Serve each resource from a unique URL. If you have to request the same resource several times, the same URL should be used to retrieve it every time.


 
Number of requests 

100/100

No redirect detected

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

HTTP redirects

The HTTP redirects inform the browser that the desired content is accessible from a different URL. They trigger a new HTTP request to retrieve the target resource and return an 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.


This page does not use redirects before accessing the right content.


 
Number of requests 

100/100

Only reachable resources are requested

You should avoid requesting unreachable resources.

All of the page's resources are reachable.

These errors can affect content on and behaviors of your website and cause unnecessary network traffic, which affects the loading time of your page.


 
SEO 

100/100

The words are well separated in this URL

You should prefer the use of dashes in the URL.

URL and SEO

The words in the URL are among the many factors impacting the SEO: if you search the words web performance in a search engine, one criterion used by Google will be to check if the URL contains the words performance and web.

But for Google, underscores are not word separators: If your URL contains web_performance it will not help to highlight the page on the query web performance (web_performance is regarded as a unique word).

This behavior is however not common to all search engines. For example, Bing does not differentiate dashes and underscores.

Please note that Google does not penalize you for using an underscore in the URL.

How to resolve the issue?

We recommend using - instead of _ on your new web pages.

This is more complex fix the issue on existing web pages, such as the one analyzed here, because you can't just rename the URL (you will lose all your SEO efforts). It is then necessary to set up a permanent redirect (HTTP code 301) retaining the old URL, that forwards to the new URL. Beware: many redirects on your site can also affect the visibility of your web pages. So do not use redirects if the number of relevant pages remains limited.

This URL respects the tip.


 
Browser rendering 

100/100

You are using persistent connections

In HTTP/1.1, each resource is downloaded over a dedicated connection (TCP). Some headers can indicate to the browser that it can reuse the same connection multiple times, which improves performance.

The HTTP Keep-Alive headers

The Connection and Keep-Alive HTTTP headers inform the browser how it can keep a TCP connection (enabled by default with HTTP 1.1) open and reuse it for future requests.

For these persistent connections to be enabled, the Connection header must be set to keep-alive. The Keep-Alive header must indicate the minimum time during which the connection must remain open and the maximum number of requests to answer to. For example:

Connection: Keep-Alive
Keep-Alive: timeout=5, max=1000

indicates to the browser that the connection must remain open for at least 5 seconds and answer, at most, 1000 requests.

To enable persistent connections, contact your web hosting provider or the people in charge of maintaining and configuring your web servers.


 
Browser rendering 

100/100

You specify a character set in the response HTTP Header

Specify the character set used in the Content-Type HTTP header allows the browser to parse immediately the page.

When the browser receives bytes from your server, it needs to identify the collection of letters and symbols that were used in writing the text that was converted into these bytes, and the encoding used for this conversion, in order to reverse it. If no information of this kind has been transmitted, the browser will try to find recognizable patterns within the bytes to determine the encoding itself, and eventually try some common charsets, which will take time, delaying further processing of the page.

How to specify a charset in the Content-Type header?

In the following explanation, we will consider UTF-8 as the targeted character set but please remember that the character set declared in your Content-Type HTTP Header must reflect the character set used to encode the file, which may not be UTF-8.

On Apache 2.2+, the configuration of UTF-8 as a default character set for your text/plain and text/html files involves the AddDefaultCharset directive:

AddDefaultCharset utf-8

For other types of files, you’ll need the AddCharset directive:

AddCharset utf-8 .js .css …

On nginx, you’ll need to make sure that the ngx_http_charset_module is loaded, then use the charset directive.

charset utf-8;

Here too, it is possible to refine the scope so that other types of files than text/html are delivered in utf-8, using the directive charset_types:

charset_types text/html text/css application/javascript

Learn more about why and how to use the meta charset tag and the Content-Type header


 
Google Font API 

100/100

Fonts are loaded early

Internet Explorer will block the rendering of the page until the font has loaded. If <script> tag is placed before the font, the page will not display anything as long as script and fonts are not downloaded.

Well done, your fonts are loaded before your scripts.


 
Data amount 

100/100

You do not need to minify the HTML resources

Compacting HTML code, including any inline JavaScript and CSS contained in it, can save many bytes of data and speed up download and parse times.

Minify HTML for the following resources to reduce their size by 1.5KiB (3% reduction).

You get 100/100, while your resources are not minified? It means that we considered that the gains provided by the minification process were not significant enough to be reported.


 
Browser rendering 

100/100

You do not use CSS @import

Using CSS @import allows to add external stylesheet. In fact, browsers cannot download them at the same time, this may add a delay to the rendering of the page. It is better to use the link tag. See more information.


 
Quality 

100/100

You provide a favicon

Well done, you defined a favicon on this page.

Favicon is a small image providing an icon to a website. It's located in the root of your server and the browser will always request it. It is better not to respond with a 404 HTTP code (not found).

Moreover, this file will be asked on every requested web page, so make it cacheable: the client will request it only once. See more information.


 
Compliance 

100/100

No deprecated attributes are detected in the <body> tag

Some layout attributes are deprecated in HTML 5: alink / background / bgcolor / link / text / vlink

Congratulations, this page doesn't use deprecated attributes in the body tag.

Prefer using CSS instructions instead.


 
Data amount 

100/100

Compression is enabled

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 2.4KiB (51% reduction).

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.


 
Data amount 

100/100

Your CSS resources are minified or don't need to be

Your CSS is minified. Learn more about minifying CSS.

There are many tools to minify CSS files. You can try YUI Compressor or cssmin.js, recommended by Google.

If you want to know more about the CSS minification, do not hesitate to read this article on the subject!


 
Accessibility 

100/100

No 'refresh' <meta> tag

It is not recommended to automatically force a page refresh. This behavior disturbs users who are not able to control it.

This page does not use meta refresh tag. This is a best practice.


 
Security 

100/100

This page only uses secure content

This page was transmitted over the HTTPS protocol, and all resources are fetched using the HTTPS protocol. So there is no Mixed Content vulnerability.

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


 
Quality 

100/100

You do not gzip/deflate PNG images

Compression has a cost, on the server and the client browser. You should enable it only if it is effective.

PNG and compression

PNG images does not support gzip compression. It is useless to perform compression operations on server side, and decompression on client side for this kind of files.


This page does not compress images. This is a best practice.


 
Number of requests 

100/100

You do not use too much "prefetch" on the links

No resource is prefetched on this page.

You should limit the number of prefetched requests to avoid network congestion. Identify your users' behavior to prefetch the most requested resources.

Note that some browsers automatically block the number of prefetched resources. For instance, Internet Explorer 11 limits this mechanism to 10 requests.


 
Browser rendering 

100/100

You do not use a useless "http-equiv" <meta> tag

HTTP headers are more efficient than the http-equiv meta tags.

The <meta http-equiv=""/> tags

The http-equiv meta tags provide the web browser with information similar to HTTP headers. For example, defining the meta <meta http-equiv="content-type"/> is the same as sending the HTTP Content-Type header.

There are two disadvantages in using http-equiv meta tags:

  • Going through the meta requires to interpret the beginning of the HTML page, which is slower than going through the HTTP headers in terms of performance
  • If the HTTP header is already present, the meta is ignored
In which cases are the <meta http-equiv=""/> useful?

Only one case can justify the presence of these meta tags: if you don’t have access to the configuration of your server, and that is to say to the HTTP headers.

However, we recommend that you use a configurable server so that you can establish the most efficient site possible.


This page does not contain a http-equiv meta tag. That's a best practice.


 
Accessibility 

100/100

No empty "src" attribute detected

The "src" attributes link the current page to other resources. There is no justification for using them with empty values.

All your src attributes precise a target. That's a best practice.


 
Data amount 

100/100

No cookies are sent on static resources

You send some unnecessary data on the network through cookies on static resources.

Cookies and static resources

Cookies are used to customize the content of a page depending on the user profile. There is no need to send this kind of information when requesting resources that deliver always the same content (static resources).

The requests to images, JavaScript or CSS resources do not need to use cookies.

How to fix the issue?

Do not use cookies on static resources requests. However, some domain names require the sending of cookies on all resources. In that case, you can create another domain name that will deliver your static resources. Example: static.mydomain.com


 
Number of requests 

100/100

Your JavaScript files are well distributed

Each HTTP request affects the performance of your webpage (e.g., roundtrip time and bandwidth usage).

For example, it is better to request a unique 50 kB file instead of requesting 10 files that are 5 kB in size.

How should I distribute scripts?

Distribute your scripts by integrating them directly into your HTML or grouping them in files. We recommend using the latter method to take advantage of caching mechanisms.

You make requests to JavaScript files wisely.


 
Number of requests 

100/100

Your CSS files are well distributed

Each HTTP request affects the performance of your webpage (e.g., roundtrip time and bandwidth usage).

For example, it is better to request a unique 50 kB file instead of requesting 10 files that are 5 kB in size.

How should I distribute styles?

Distribute your styles by integrating them directly into your HTML or grouping them in files. We recommend using the latter method to take advantage of caching mechanisms.

You make requests to CSS files wisely.


 
Data amount 

100/100

All your resources have a size < 1MB

Too heavy files should not be loaded on a web page. Be sure you need this resource to load the page.



     
    Accessibility 

    100/100

    You specify a consistent label on your links

    A link is more attractive if the text describes what is behind it. You can also take the opportunity to use keywords in these texts, to improve your page's SEO.

    Describe the link in your <a> tag, rather than indicating the link itself. Example: <a href="http://mylink.com/">My description</a>

    The content of your <a> tags are different from the link itself. That's a best practice.


     
    Compliance 

    100/100

    No BOM (Byte Order Mark) detected

    Some parsers are not able to interpret a page with a BOM in it.

    What is the BOM?

    The BOM is a hidden character located at the beginning of the page, aiming at helping to determine what encoding the page uses. But the best practices of the web prompt the use of the HTTP Content-Type header to define the encoding used by the page. The BOM has no reason to be in this context.

    Apart from the fact that this type of indicator is useless on the web, it can lead to a certain number of issues. This is the case for example of the W3C validation that is going to try to interpret the first character which corresponds to the BOM. Then, the document will not be valid.

    No resource uses a BOM.


     
    Cache policy 

    100/100

    You specify resource cache expiry headers

    Cache headers (Cache-Control, ETag, formerly Expires) are essential for an effective cache policy, and will greatly impact the loading time of your pages during future visits.

    The Cache-Control header

    Each resource can define its caching rules via the Cache-Control HTTP header. The max-age property defines the duration of the caching (in seconds), and can be accompanied by instructions for caching resources on proxy servers, located between the browser and the server issuing the resource.

    The following header indicates that the response can be cached on proxy servers and on the browser (public, as opposed to private where only the browser is allowed to do the caching) for two hours:

    Cache-Control: private, max-age=7300

    If some of your resources do not need to be cached, you can also indicate this explicitly:

    Cache-Control: no-store
    The Expires header

    Expires is the earliest HTTP header for managing resource caching, and will help you manage the cache for browsers that do not support Cache-Control.

    When using the Expires header, you can define an expiry date for each resource: as long as the date has not expired, the browser will either store or use the resource stored in the cache.

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

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

    You can specify a long expiry date for static resources (maximum 1 year), and a shorter expiry date for resources that may change (minimum 48 hours).

    Reassessment of resources when the cache expires

    If no cache policy is set for a resource or the duration of its caching is exceeded, the browser makes a new request to download a required resource.

    To prevent the browser from downloading a resource that has not been modified since it was cached, use the ETag HTTP header. Each version of a resource can be associated with a validation token. When a resource's cache expires, the browser will ask the server again for the resource, passing this token with the If-None-Match HTTP header containing the token value. The server will compare its version of the token with the one provided. If the resource has not been modified, the server will allow the browser to renew the caching of the resource without downloading the resource again, via an 304 "Not Modified" HTTP response.

    Deliberate cache invalidation

    When releasing a new version of your site, remember to rename static resources that have been modified (versioning), in order to force browsers to download these new versions, instead of using cached resources, to prevent users from finding themselves in an unstable version of your page. For example:

    maressource.min.20140101.js

    To learn more about HTTP caching, please see Google's recommendations.


    Congratulations! Your resources are cached.


     
    SEO 

    100/100

    The page description has a right size

    The page must have a description between 20 and 300 characters.

    How the description is used by search engines

    When properly configured, the page description can be found directly in the search results:

    But search engines don't necessarily use the description you give them. If they think the description is irrelevant, they will use other criteria to present your page, and you will lose control over the displayed content. However, that you will not necessarily be penalized if your text is too large or too short. Learn more about how Google, for example, handles this topic.

    How to define the description of a page?

    The description of the page is provided by the <meta name="description" content="description of the page"> tag, which must be placed in the <head> tag, at the beginning of the code, au début du code.

    This page defines a <meta> description containing between 20 and 300 characters:

    best  medical devices distributors in kolkata like oxygen concentrator, cpap, bipap, nebulizer, oximeter, wheelchair and specialized for sleep test


     
    Number of requests 

    100/100

    You use CSS sprites

    Combining images into CSS sprites reduces the number of files the browser has to download and accelerates the loading time.

    CSS sprites explained

    A CSS sprite is a single file in which several smaller images are grouped and positioned one beside the other. You can display each small image in your page by applying CSS styles, and a single request is necessary to recover all the images. Use this method only for small images, such as icons, so the CSS sprite is not too heavy.

    Example

    Here is a CSS sprite example :

    CSS sprite example

    The page also applies the styles associated with the sprite:

    .sprite {
    background-image: url(img/sprite.png);
    background-repeat: no-repeat;
    display: block;
    }

    .sprite-browsers-firefox {
    width: 31px;
    height: 28px;
    background-position: -74px 0;
    }

    Then you have just to define the right class in your HTML file, and the icon appears:

    <span class="sprite sprite-browsers-firefox"></span>
    How should I create CSS sprites?

    Their creation can be complex, so we recommend using tools that easily generate them for you. Here are a few sprite generators:


     
    SEO 

    100/100

    Your <title> tag is an appropriate length

    This page defines one title which contains less than 75 characters (see more information):

    TriMedicare

    The longer your title is, the more your chances are to see the search engines to truncate it or even to select another one from your page content.


     
    Browser rendering 

    100/100

    You don't execute the same script several times

    A library or an external script is usually intended to be called once per page. However, the use of widgets can lead to several useless executions.

    Duplicate scripts

    It is common to see scripts used multiple times on the same page. The most common cause is the integration of social network widgets. It can be useful to find them several times on the page. That is not a bad practice. However, you should be careful that those scripts don't slow down your page.

    What happens when a script is included 2 times in the code? How many times is it loaded? Parsed? Executed?

    Most modern web browsers download only once a script included 2 times. An exception persists: Firefox, which will load the resource as many times as mentioned if no effective caching policy is configured.

    Apart from this exception, performance issues come during the parsing and execution of the scripts. Indeed, if a script is placed three times in the code, it will be parsed and executed 3 times, on all browsers.

    Do not hesitate to read this article on that topic.

    How to fix it?

    There is a solution to use a script several times without parsing and executing more than once. You need to write some JavaScript code that checks if the script is present. If the script is already included, it just uses it, otherwise it injects it and uses it.

    Consider the following example with the Facebook widget, described in the article. Whenever you want to integrate this functionality into your page, it is necessary to include the following code:

    (function(d, s, id){
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    The bold line checks the presence of the script in the document. So the script is included, parsed and executed only during the first call in the page. Other calls will fall in the case of the bold line, and therefore will just use the script that is already included and executed.


     
    Quality 

    100/100

    The extensions of your resources are consistent

    The extension of a resource allows to identify easily its content type. You have no reason to indicate a different extension of the actual content type of the resource.

    For instance, the file resource.js must use a Content-Type HTTP header equal to application/javascript. You can check the Content-Type HTTP header value using a debugger tool (e.g.: DevTools on Chrome).


     
    Quality 

    100/100

    1 resource does not define its content type

    Each resource should define its content type in order to facilitate their interpretation by web browsers.

    You have no reason to hide the type of a resource.

    We advise you to set the "Content-Type" HTTP header on every resources of the page.

    1 resource should define its content type:

    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.


     
    Data amount 

    100/100

    This page does not send cookies > 100kB

    Keep the size of cookies as low as possible to minimize the impact on the loading time.

    HTTP cookies are used to track a user to customize the page according to their profile. They are sent as an 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.


     
    Data amount 

    100/100

    This page does not send too many cookies

    Keep the size of cookies as low as possible to minimize the impact on the loading time.

    HTTP cookies are used to track a user to customize the page according to their profile. They are sent as an 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 are listed the 260 bytes of cookies used on this page:

    • VISITOR_INFO1_LIVE: 121 bytes distributed on 11 request(s) (domain name: youtube)
    • YSC: 121 bytes distributed on 11 request(s) (domain name: youtube)
    • test_cookie: 18 bytes distributed on 1 request(s) (domain name: doubleclick)


     
    Compliance 

    100/100

    Your characters are encoded in UTF-8

    Your content is readable by the largest number of web users.

    Encoding of characters

    The encoding of characters indicates to the web browser how to interpret the bytes of the web page in order to convert them in readable characters by the user. Lots of encodings exist so that all the characters specific to each language are represented. Be aware that the supported groups of encoding are different from an engine to another one. If you ever use an encoding too specific, a lot of web users won’t be able to accurately interpret the page.

    Why choosing the UTF-8?

    The UTF-8 is known for being an encoding supported by almost every web user, and taking into account a large range of characters. Its universality is then particularly well suited to the web environment.


     
    Data amount 

    100/100

    3 images use the PNG format in the right way

    The choice of the right format for an image allows to reduce its weight.

    The PNG format

    The PNG image format is intended to the images requiring the transparency, or else to the small images having little details and colours.

    Prefer the JPEG format...

    The main problem of PNG format is to not support quality loss. Indeed, a format such as JPEG offers to "downgrade" the quality of the image without being perceived by the user. Doing so, you can reduce the quality of the image of about 25% whithout the user realizes it.

    An image with an consequent weight will be therefore better compressed by using the JPEG format.

    ...or the PNG-8 format

    In the case where your image necessarly requires using the transparency mecanism, not borne by the JPEG format, you should convert your "standard" PNG image, into PNG-8. This format, based upon a 256 color palette maximum allows to decrease the weight of the image whithout significantly affecting its overall quality. Tools such as pngquant or else tinypng will suport you in this procedure.

    At last, if the quality given by the PNG-8 format is not appropriate for your image, you can get information on the possible advanced technics to get this behaviour without having an image in PNG format. For example, it is possible to halve your image in 2 JPEG images, one including the transparency data and the other one including the data related to the colours, and to gather the image on the customer's side with a CANVAS element.

    For further information, please visit this article about image compression.

    The choice of the PNG format on the images of this page doesn't have negative effect.


     
    Number of requests 

    100/100

    None of your images uses only one color

    One request to an image composed of a unique color unnecessarily increases the data amount transmitted on the network.

    Fetching an image composed of a single color is useless. CSS styles can achieve the same result in a more efficient way.

    For instance, to draw a simple circle, you can use the following code:

    #myElement {
    background:#ff0000;
    border-radius:50%;
    width:160px;
    height:160px;
    }

    All the images of this page are composed of several colors.


     
    SEO 

    100/100

    None of your titles are empty

    <h1>, <h2> and <h3> tags should contain keywords related to the content.

    The titles included on this page provide content.


     
    Data amount 

    100/100

    Redirects are lightweight

    An HTTP redirect's content is not used by web browsers. So, it provides an unnecessary weight that should be as small as possible.

    Redirects on the web

    Redirects can be temporary (302 HTTP code) or permanent (301).

    This mechanism is for example used for secondary domains (.net to .com), the language detection mechanisms, etc.

    How to fix the issue?

    First, ensure that the redirect is unavoidable. In this case, it is necessary to reduce or completely remove the contents of the server responses for redirects.

    A redirect should be < 1kB.

    There isn't too heavy redirect.


     
    Data amount 

    100/100

    HTTP error responses are lightweight

    The content of a HTTP error response is not used by web browsers. So, it provides an unnecessary weight that should be as small as possible.

    Responses in error on the web

    The resources that can be reached by the browser return a HTTP code between 400 and 599.

    How to fix the issue?

    First, you have to avoid requesting resources that return an error. Moreover, reduce or completely remove the contents of the server error responses.

    A response error should be < 10kB.

    There is no heavy resource in error.


     
    Compliance 

    100/100

    No Flash resource detected

    Flash is considered obsolete in 2015. HTML5 is more powerful and more widely supported. Using Flash can lead to compatibility issues and may send negative signals to your users (eg the browser warning that content was blocked because it could be dangerous).

    Moreover, Google shows directly in its mobile search results that the page may not work on the user's device.

    Congratulations, this page doesn't contain Flash resources.


     
    Data amount 

    100/100

    The favicon is lightweight

    The favicon must be as lightweight as possible.

    The favicon on the web

    This small image allows you to display a logo on the browser tabs for instance.

    How to fix the issue?

    A favicon should be < 10kB.

    The favicon (https://www.trimedicare.co.in/favicon.ico) isn't too heavy (379bytes).


     
    Compliance 

    100/100

    Silverlight plugin is not used

    Silverlight plugin is considered obsolete in 2015. HTML5 is more powerful and more widely supported. Using Silverlight plugin can lead to compatibility issues and may send negative signals to your users (e.g. the browser indicating that content was blocked because it could be dangerous).

    Congratulations, this page doesn't use Silverlight plugin.


     
    Compliance 

    100/100

    The EOT font format is well declared

    Make sure that the EOT format will be well used for your visitors using Internet Explorer <= 8.

    Use the EOT format for Internet Explorer <= 8

    The web browsers (Firefox, Chrome, Safari, Internet Explorer, Opera ...) do not support the same font formats. Your goal is to use the lightest possible format for each platform. When you use a font, you can specify several formats, via the @font-face CSS instruction: so the browser will use the first supported format.

    This is true for all browsers except Internet Explorer <= 8, that misinterpret the @font-face instruction: it will use only the first format declared. And the lighter font format for this kind of browser is the EOT format.

    How to use EOT format only for IE <= 8?

    Only Internet Explorer supports the EOT format. So declare it in the first position in the @font-face's src property: Internet Explorer will be able to understand that it must use the EOT format, and other browsers, that do not support EOT, will use another format.

    Here is an article about this topic to help you determine the right order to declare your fonts. TL;DR: the best order for your webfont formats: EOT, WOFF2, WOFF, TTF, and SVG.


    All fonts with EOT format are placed in the first position in the @font-face instruction.


     
    Compliance 

    100/100

    Your font formats are well used

    Be sure to deliver the most suitable font format for each platform.

    Declaring several font formats

    The web browsers (Firefox, Chrome, Safari, Internet Explorer, Opera ...) do not support all the same font formats. Your goal is to use the lightest possible format for each platform. When you use a font, you can specify several formats, via the @font-face CSS instruction: so the browser will use the first compatible format that it supports.

    How to declare your font formats?

    Check if your formats are well ordered in the @font-face's src property. Here's an article about this topic to help you to determine the right order to declare your fonts. Here's the order to respect for your webfont formats: EOT, WOFF2, WOFF, TTF, and SVG.


    All fonts are well ordered in the @font-face instructions.


     
    SEO 

    100/100

    robots.txt file is well defined

    Indicate to web crawlers which URLs should be explored on your website.

    The robots.txt file

    Place your robots.txt file in the root of the website. It will be interpreted by the robots in charge of your SEO. It delivers instructions to specify the pages to explore by robots, like Google bot.

    Note that these directives are indicative only. A lambda robot will not be blocked by the restrictions specified by the file.

    We detected a robots.txt file on this website.


     
    SEO 

    100/100

    The page handles the www redirect

    Redirect https://trimedicare.co.in to https://www.trimedicare.co.in/ in order to avoid duplicate content.

    What is the difference ?

    Adding the "www" in front of a web address is a convention, that remains completely optional.

    Some users are accustomed to access a website by adding www, and others do not. We advise you to deliver your content for these two addresses.

    To avoid duplicate content issues with search engines, it is necessary to use a redirect (permanent) to point one of the addresses to the other.

    You perform a 301 redirect from https://trimedicare.co.in to https://www.trimedicare.co.in/.

    The page is reachable both with and without "www" before the URL.


     
    Security 

    100/100

    The secure version is used systematically

    Users using the HTTP version of the page must be redirected to the secure version.

    HTTPs redirect

    Even if a page is secure, visitors may still use the HTTP version (via an external link, or because they have bookmarked the HTTP version of the page, for example). Always set up a redirection so that users accessing the page using the HTTP protocol are redirected to a secure version.

    Use the administration interface of your hosting provider or contact the administrator to set up an automatic redirection from the HTTP version to the secure version.

    Your users are automatically redirected to the secure version of the page.


     
    Security 

    100/100

    All cookies are secure

    A cookie sent from the server to a web browser via the HTTPS protocol should only transits on a secure connection (except for some specific cases).

    HTTP cookies

    HTTP cookies are set by the server to the web browser via the Set-Cookie HTTP header. Then, the browser transmits the cookies to the server for the next requests by using the Cookie HTTP header. When the server uses a secure connection (HTTPS), the cookie probably contains some sensitive data: you have to guarantee that the cookie cannot be exploited on an insecure connection.

    The Secure directive

    By adding the Secure instruction in the Set-Cookie HTTP header, the server informs the browser that it is allowed to transmit the cookie over secure connection only. Read this blog post to learn more.

    Caution: Ensure that the HTTP to HTTPS redirect is activated on your website. Otherwise, the Secure cookie may not be sent on HTTP request.
    Shared infrastructure cookies

    With some hosting providers, especially on shared infrastructures, cookies may be set without any control on your part. The information they contain is usually not sensitive. You can check this and ignore this warning if that applies to you.


     
    Accessibility 

    100/100

    All labels refer to an element

    The for attribute associates the label to another element of the page and help screen readers to better interpret your content.

    Label and for attribute

    A label describes an element (a text to fill, a checkbox, etc.). When a user clicks on a label associated with a radio button, the option will be directly selected, improving the user experience.

    How to use a label?

    Associate the label to an element of the page by indicating the ID of the element. Example:

    <form action="/action">
    <label for="myId">
    <input type="radio" name="myOptions" id="myId" value="1" >


     
    Browser rendering 

    100/100

    The page doesn't use client-side redirection

    No client-side redirection (window-location, meta refresh...) has been triggered to display the page. Client-side redirections are to be avoided in any way possible.

    Report Generated by : www.dareboost.com