Industry Monitor Methodology

What our benchmark analyzes and why you should care

Intro & Methodology

The Audisto Industry Monitor benchmarks portals, shops and websites within an industry by current technological web standards and best practices with regards to security, performance, web-technology and content. It is our intention to highlight certain areas, we believe modern web development should implement by default. Technical standards exist for a reason. We're happy to discuss feedback to those checks, on a technical basis, if you feel we should add something specific.

Please keep in mind, while the checks are extensive (47 tests and counting), they are by far no complete technical analysis of a website and only test basic technical hygiene factors. If your website is featured, the provided information is not enough to “fix" your portal. It is advised to perform a complete technical and structural health audit to leverage your potential properly.

To compare different portals, we crawl up to 10.000 URLs for each website with identical crawl settings and perform several tests on each URL the crawler finds. Every URL that passes or fails a check adds to the optimization rate of that subcategory. The optimization rate is an average of the resulting success rate.

If you click on “show details" you see all checks for the categories and a simplified “traffic light visualization" of the failure rate. Red is below 25% passed checks, green is true 100% passed and yellow everything in between. The optimization rate is calculated on a per URL level nonetheless. The four main categories are used to calculate the overall Audisto Optimization (AO) Score for the Industry Monitor. The ranking shows the best optimized page for that industry (selected industry leaders by revenue, reach and such) on top.

Security checks explained

HTTPS Utilization

HTTPS enables secure communication for information sent between a client (browser) and a web service (website). Further education: Introduction to HTTPS. To pass this check each URL must use the HTTPS protocol to pass this check. This check is performed agains all discovered URLs of the portal.

CHECK "SECURITY: HTTPS Utilization" IS:
  IF HTTP Status Exists THEN
    REQUIREMENT "HTTPS Utilization" IS:
      Scheme Equals "https"

Strict-Transport-Security

HTTP Strict Transport Security (HSTS) is a standard that forces a connection via HTTPS to a website. Further education: Introduction to HTTP Strict Transport Security. To pass this check the HTTP-Header needs to contain a single, valid Strict-Transport-Security header with a duration of at least one year. This check is performed agains all crawled https URLs of the portal.

CHECK "SECURITY: Strict Transport Security" IS:
  IF (HTTP Status Exists AND Scheme Equals "https") THEN
    REQUIREMENT "Strict Transport Security" IS:
      (Hint Does Not Equal "130: Strict-Transport-Security HTTP header missing" AND Hint Does Not Equal "131: Strict-Transport-Security HTTP header has short duration" AND Hint Does Not Equal "133: Strict-Transport-Security HTTP header is invalid" AND Hint Does Not Equal "132: Strict-Transport-Security HTTP header sent more than once")

Secure Cookies

Cookie data often includes user identifiers, passwords and other critical data that should be protected. Cookies should only be send over secure connections. Further education: Introduction to HTTP cookies. To pass this check cookies need to have a secure flag set. No cookies should be send over HTTP connections. This check is performed agains all crawled URLs of the portal that set cookies.

CHECK "SECURITY: Secure Cookies" IS:
  IF (HTTP Status Exists AND HTTP Header Starts With "Set-Cookie:") THEN
    REQUIREMENT "Secure Cookies" IS:
      (Hint Does Not Equal "135: Cookies set without secure flag" AND Hint Does Not Equal "141: Cookies send over insecure connection")

Unsafe resources

Mixed Content occurs when a secure HTTPS website loads other resources (such as images, stylesheets or scripts) over an insecure HTTP connection. Secure pages should not load unsecure resources. Further education: Introduction to Mixed Content. To pass this check all resources need to be referenced using HTTPS. This check is performed against all crawled HTML pages.

CHECK "SECURITY: Unsafe Resources" IS:
  IF MIME Type Equals "text/html" THEN
    REQUIREMENT "Unsafe Resources" IS:
      Hint Does Not Equal "56: Safe HTTPS webpage loads unsafe resource"

Unsafe forms

User input data should only be transferred using a secure connections. To pass this check the URL containing the form and the URL receiving the form data need to be secure. This check is performed against all crawled HTML-pages.

CHECK "SECURITY: Unsafe Forms" IS:
  IF MIME Type Equals "text/html" THEN
    REQUIREMENT "Unsafe Forms" IS:
      (Hint Does Not Equal "65: <form> POST to HTTPS from HTTP" AND Hint Does Not Equal "92: <form> Unsafe GET to HTTP from HTTPS" AND Hint Does Not Equal "81: <form> Unsafe POST to HTTP from HTTPS")

Performance checks explained

Redirect Usage

Redirects within the internal link graph cause additional requests and therefore additional latencies. Further education: Redirections in HTTP. To pass this check no internal redirects and meta refresh redirects are allowed. This check is performed against all crawled URLs.

CHECK "PERFORMANCE: Redirect Usage" IS:
  IF HTTP Status Exists THEN
    REQUIREMENT "Redirect Usage" IS:
      (HTTP Status Does Not Equal "301" AND HTTP Status Does Not Equal "302" AND HTTP Status Does Not Equal "303" AND HTTP Status Does Not Equal "307" AND HTTP Status Does Not Equal "308")
    REQUIREMENT "Meta Refresh" IS:
      Hint Does Not Equal "19: <meta refresh> found"

Response Times

For a good user experience all URLs should have a fast response time. Our measurement is equivalent to "Time to Last Byte" (TTLB). To pass this check all URLs need to have a response time below 200 ms which is Google's PageSpeed recommendation. This check is performed against all crawled URLs.

CHECK "PERFORMANCE: Response Times" IS:
  IF HTTP Status Exists THEN
    REQUIREMENT "Response Times" IS:
      Response Time Less Than "200"

Content File Sizes

For a good user experience all HTML documents should have a reasonable filesize. HTML documents with a large size is often a sign of bloated markup and adds to traffic volume, loading time and rendering time. Run the Google Lighthouse audit on your site to find issues related to this. To pass this check all HTML pages need to have an uncompressed filesize below 150 KB and a compressed filesize below 50 KB. This check is performed against all crawled HTML pages.

CHECK "PERFORMANCE: Content File Sizes" IS: 
  IF (HTTP Status Exists AND MIME Type Equals "text/html") THEN
    REQUIREMENT "Content File Sizes" IS:
      (Compressed Content Size Less Than Or Equals "50000" AND Uncompressed Content Size Less Than Or Equals "150000")

Compression Used

All transferred data should be compressed to improve page load speed. Further introduction: HTTP compression. To pass this test all crawled URLs with a compressable mime type should return gzip/deflate compressed data. This check is performed against all crawled URLs with a mime-type that could benefit from data compression.

CHECK "PERFORMANCE: Compression Used" IS:
  IF (MIME Type Equals "text/css" OR MIME Type Equals "text/plain" OR MIME Type Equals "text/javascript" OR MIME Type Equals "application/javascript" OR MIME Type Equals "application/json" OR MIME Type Equals "application/x-javascript" OR MIME Type Equals "application/xml" OR MIME Type Equals "application/xml+rss" OR MIME Type Equals "application/xhtml+xml" OR MIME Type Equals "application/x-font-ttf" OR MIME Type Equals "application/x-font-opentype" OR MIME Type Equals "application/vnd.ms-fontobject" OR MIME Type Equals "image/svg+xml" OR MIME Type Equals "image/x-icon" OR MIME Type Equals "application/rss+xml" OR MIME Type Equals "application/atom_xml" OR MIME Type Equals "text/html") THEN
    REQUIREMENT "Compression Used" IS:
      Hint Does Not Equal "67: Compression not enabled"

Technology checks explained

HTTP Errors

For a good user experience no URL should result in a server error. List of HTTP status codes. To pass this test no URL should return a 4xx or 5xx HTTP status code. This check is performed against all crawled URLs.

CHECK "TECHNOLOGY: HTTP Errors" IS:
  IF HTTP Status Exists THEN
    REQUIREMENT "HTTP Errors" IS:
      (HTTP Status Does Not Start With "4" AND HTTP Status Does Not Start With "5")

Incorrect Canonicals

When Canonicals are used, they must meet certain minimum requirements. This includes that they are specified in the <head> of the page or in the HTTP header, contain a valid URL and don't have conflicting target URLs when specified more than once. This check is performed against all crawled URLs with a 200 HTTP status code.

CHECK "TECHNOLOGY: Incorrect Canonicals" IS:
  IF HTTP Status Equals "200" THEN
    REQUIREMENT "Incorrect Canonicals" IS:
      (Hint Does Not Equal "49: <link rel=canonical> contains malformed or empty href" AND Hint Does Not Equal "62: <link rel=canonical> found outside <head>" AND Hint Does Not Equal "48: <link rel=canonical> found twice and differs")

Localization/Hreflang

When content exists in different languages, a complex set of rules must be fullfilled to e.g. tell Google about localized versions of your page. To pass this check a document needs a valid language specification and all URLs with hreflang definitions must have a self link and the hreflang URLs are not allowed to be empty or malformed. This check is performed against all crawled URLs.

CHECK "TECHNOLOGY: Localization/Hreflang" IS:
  IF MIME Type Equals "text/html" THEN
    REQUIREMENT "Localization/Hreflang" IS:
      (Hint Does Not Equal "123: Hreflang: Self link missing" AND Hint Does Not Equal "126: Hreflang: URL empty or malformed" AND Hint Does Not Equal "145: Language: Invalid" AND Hint Does Not Equal "144: Language: Set multiple times and differs" AND Hint Does Not Equal "143: Language: Not set on document")

Encoding Issues

Every document should specify a charset and correctly encode all characters in that charset. To pass this test a charset needs to be specified and in case of multiple specifications the definitions should not conflict. In addition there should not be any non printable characters in the documents. This check is performed against all crawled HTML documents.

CHECK "TECHNOLOGY: Encoding Issues" IS:
  IF MIME Type Equals "text/html" THEN
    REQUIREMENT "Encoding Issues" IS:
      (Hint Does Not Equal "104: <html> contains too many uncommon non-printable characters" AND Hint Does Not Equal "103: Charset: Charset set in HTTP Content-Type header and in document differ." AND Hint Does Not Equal "102: Charset: Not set" AND Hint Does Not Equal "101: Charset: Invalid charset in Content-Type HTTP header")

Bad Link Structure

All links within a HTML document should be correctly formed and links within the network should be follow. To pass this check all links need to point to a valid URI and should not start or end with whitespace characters. In addition all internal links within the domain need to be set to "follow". This check is performed against all crawled HTML documents.

CHECK "TECHNOLOGY: Bad Link Structure" IS:
  IF MIME Type Equals "text/html" THEN
    REQUIREMENT "Bad Link Structure" IS:
        (Hint Does Not Equal "31: <a> has malformed href" AND Hint Does Not Equal "98: <a> href attribute has leading or trailing whitespace characters" AND Hint Does Not Equal "38: <base> contains malformed or empty href" AND Hint Does Not Equal "83: <base> found more than once and differs" AND Hint Does Not Equal "142: Linking: nofollow link to network URL")

Content checks explained

Search Snippet Issues

Proper titles and meta-descriptions are best practises for SEO. In addition, a well designed search snippet will increase your CTR from a SERP. To pass this test titles and meta-descriptions need to be specified. Both should be placed within the <head> of the html, occur a single time and should not be too short or too long. This check is performed against all indexable HTML documents with a 200 HTTP status code.

CHECK "CONTENT: Search Snippet Issues" IS:
  IF (MIME Type Equals "text/html" AND HTTP Status Equals "200" AND Meta Robots Equals "index") THEN
    REQUIREMENT "Title" IS:
      (Hint Does Not Equal "4: <title> missing or empty" AND Hint Does Not Equal "61: <title> found outside <head>" AND Hint Does Not Equal "6: <title> occurs more than once" AND Hint Does Not Equal "16: <title> short or single word" AND Hint Does Not Equal "5: <title> too long for Google snippet")
    REQUIREMENT "Meta-Description" IS:
      (Hint Does Not Equal "7: <meta description> missing or empty" AND Hint Does Not Equal "9: <meta description> occurs more than once")

Important Headings

Headings add to structure in a document and therefore not only help the user, but also the search engine to better understand your content. Missing headings are indicators of poorly structured content and therefore indicate lower content quality. To pass this check at least one <h1> or <h2> headline needs to be specified. This check is performed against all indexable HTML documents with a 200 HTTP status code.

CHECK "CONTENT: Important Headings" IS:
  IF (MIME Type Equals "text/html" AND HTTP Status Equals "200" AND Meta Robots Equals "index") THEN
    REQUIREMENT "Important Headings" IS:
      (Hint Does Not Equal "21: <h1> and <h2> not found" AND Hint Does Not Equal "20: <h1> not found")

Alt Attributes

Valid HTML requires an alt attribute for all images. It would be valid to use an empty attribute, if the image is only for decoration. In addition alt attributes are one of the factors used by search engines to determine the topic of the image. To pass this test all images need at least an empty alt attribute. This check is performed against all indexable HTML documents with a 200 HTTP status code.

CHECK "CONTENT: Alt Attributes" IS:
  IF (MIME Type Equals "text/html" AND HTTP Status Equals "200" AND Meta Robots Equals "index") THEN
    REQUIREMENT "Alt Attributes" IS:
      Hint Does Not Equal "26: <img> has no alt attribute"

FAQ

Q: How can I improve my ranking within my industry?
A: Click on the "show details" and check which categories have a low optimization score. Start there to improve your website.

Q: How do you handle a tie in the ranking for the Audisto Optimization Score?
A: If the score is the "same" we first look into the decimal places (which are not shown) and if the tie still persists the lowest optimization rate for any category loses.

Q: I really like what you're doing with the industry ranking and I have feedback concerning the test requirements. Do you want it?
A: Yes, please. We're happy to discuss those. One reason we're so transparent with the checks. Please keep in mind, for this free and public ranking, we're only testing for uncontroversial web standards. Contact us here to give feedback.

Q: My own website/competitor is missing in my industry ranking. Can you add that domain?
A: We select the featured domains by leaders of metrics such as revenue or reach within the industry. If you have data that supports your claim, why a certain portal is missing, we're interested to hear it. Contact us here to give feedback.

Q: My website is featured, but all categories are red, and the details show “crawling this domain failed". What can I do?
A: First, check if your website had technical issues on the date specified. Second, if you want to make sure our crawler can access your website, you should whitelist our bot. The Audisto crawler adheres very strictly to current rules for bots and is one of the “nice robots". Follow instruction here.