Skip to main content
Archived

SEO Report for https://asianproducts.net

Your general SEO Checkup Score


SEO Score61/100
Average SEO score of top 100 sites: 75%This value indicates the average SEO score of the top 100 most visited websites in the US (in the past 12 months)
AI Visibility66/100
AI visibility score reflects brand reach in AI

Your site scored 61/100, below the 75 average for top sites. We found 20 issues to fix, and clearing them is how you move up. And an AI Visibility Score of 66/100 means ChatGPT, Gemini and Perplexity mention your brand some of the time, with clear room to push further.

20 Failed
4 Warnings
39 Passed

Want to fix these issues and track your progress?

Issues to fix

HIGH
To provide a good user experience, Google recommends that sites should aim for a Largest Contentful Paint duration of 2.5 seconds or less.
Details
HIGH
To improve the website experience for your visitors, it is recommended to eliminate any render-blocking resources on this webpage.
Details
HIGH
Users may abandon pages that take longer than 5 seconds to load, resulting in a potential loss of up to 50% of visitors. Faster loading pages can lead to increased traffic, better conversions, and higher sales.
Details
HIGH
Using images in a modern format can significantly reduce the file size and improve the loading speed of a webpage, providing a better user experience and potentially increasing engagement.
Details
HIGH
JavaScript errors can impact user experience and may prevent users from viewing the page properly.
Details
MEDIUM
Serve properly sized images to reduce page loading times and to improve user's experience.
Details
MEDIUM
Avoid using distorted images, as they can have a negative impact on the user experience.
Details
MEDIUM
By creating a custom 404 error page with helpful links and information, users are more likely to stay on the site and continue to explore.
Details
MEDIUM
To provide a good user experience, Google recommends that sites should aim for a Time To First Byte value of 0.8 seconds or less.
Details
MEDIUM
To provide a good user experience, Google recommends that sites should aim for a First Contentful Paint value of 1.8 seconds or less.
Details
MEDIUM
Consider adding cache headers for JavaScript resources to speed up the webpage for returning users.
Details
MEDIUM
Add a Google Analytics script to this website to help in diagnosing potential SEO issues by monitoring site visitors and traffic sources.
Details
LOW
Consider reducing the HTML size to improve loading times and retain visitors.
Details
LOW
Reducing the Document Object Model (DOM) size can lead to faster page loading times, improved site performance, and better user experience by decreasing the amount of time it takes for the browser to process and render the page.
Details
LOW
Without an SPF record, spammers can easily spoof emails from this domain, potentially leading to compromised email security and deliverability issues.
Details
LOW
Using more than 20 HTTP requests on a webpage can negatively impact the loading time.
Details
LOW
Strip out any unnecessary metadata to improve loading time, security, and privacy. Metadata should not exceed 16% of the image size.
Details
LOW
Consider adding the Strict-Transport-Security header to your webpage to ensure that web traffic is encrypted over HTTPS, mitigating the risk of man-in-the-middle attacks and other security threats.
Details

AI Insights

Score:0
Failed:0
Warnings:0
Passed:5
Domain Business Context
Understanding the business context of a domain can help you create content that is more relevant to your target audience and differentiate your website from competitors.

What is this domain about

Live football odds and betting information platform with educational guides and match listings.

Industry Niche

Sports Betting Odds

Target Audience

Football bettors and sports fans looking for real-time odds, match schedules, and betting explanations.

This test will check the business context of the domain associated with the analyzed webpage. The business context includes the domain's description, target audience and industry niche (if applicable). Understanding the business context of a domain can help you create content that is more relevant to your target audience and differentiate your website from competitors.
LLM Visibility Checker
LLM Visibility Checker

Track your brand across ChatGPT, Gemini and Claude

Get an AI Presence Score, see which of your pages get cited, and follow how you compare with competitors over time.

How visible your brand is to AI engines
Content Strengths and Weaknesses

This webpage is comprehensive and highly relevant to football odds and betting education, combining live match listings with explanatory guides. However, it relies heavily on promotional claims and lacks strong editorial credibility signals such as clear sourcing or robust author transparency.

Content Strengths

  • Live Odds Coverage
  • Clear Betting Education
  • Broad League Coverage

Content Weaknesses

  • Weak Source Transparency
  • Repetitive Promotional Copy
  • Limited Author Detail
This test will analyze the content of the webpage to identify its strengths and weaknesses. The analysis includes factors such as keyword usage, readability, originality, and relevance to the target audience. By understanding the strengths and weaknesses of your content, you can make informed decisions about how to improve it and better meet the needs of your audience.
Content Trust
58%
Topical Relevance92%
Subject Expertise63%
Credibility38%

This webpage appears moderately trustworthy for topical football odds coverage because it is tightly focused on live betting markets and includes contact details plus policy links. Trust is limited by the absence of visible methodology, cited sources, team bios, or third-party validation on the page.

This test will evaluate the trustworthiness of the content on the webpage. It assesses factors such as the credibility of sources, accuracy of information, and overall reliability. A high level of content trust can enhance your website's reputation and improve its ranking in search engine results.
Visual SEO Analysis
Visual SEO Analysis

Find out if your page design converts the visitors you earn

We score six things that decide whether a visitor stays and acts, from the first screen to the path to action, and rank every fix by effort and impact.

How your page's design and UX affect conversions
Content Freshness
89%

The page looks current because it prominently displays live match listings, today/tomorrow date tabs, and repeated real-time odds language. The footer copyright year is 2026, which supports recency, though most freshness evidence comes from live data rather than dated editorial updates.

Positive Signals

  • Live match listings
  • Today/tomorrow date tabs
  • Copyright 2026
This test will check the freshness of the content on the webpage. It evaluates how recently the content was created or updated, and whether it remains relevant to current trends and user interests. Fresh content can attract more visitors and improve your website's ranking in search engine results.
Content Opportunities

The site already covers live odds and basic betting education well, but it has room to become more authoritative and more useful for decision-making. The biggest opportunities are deeper explainers, stronger trust signals, and more practical tools around odds movement and match analysis.

Quick Wins

  • •Add a short methodology section explaining how live odds are sourced and updated.
  • •Expand the FAQ with three new questions about odds movement and line changes.
  • •Add author bio details and credentials to the existing Hoàng Hải Vũ page.
This test will identify potential content opportunities for the webpage. It analyzes the current content landscape, identifies gaps in coverage, and suggests topics or keywords that could be targeted to attract more visitors and improve search engine rankings.

Common SEO issues

Score:61
Failed:4
Warnings:4
Passed:11
Meta Title Test
100% of top 100 sites passed
This webpage is using a title tag with a length of 63 characters. While there's no target number of characters, titles should be descriptive and concise. We recommend using a title with a length between 20 - 60 characters in order to fit Google Search results that have a 600-pixel limit.
Text: Tỷ lệ bóng đá - Tỷ lệ kèo bóng đá Thế Giới hôm nay, tối đêm nay
Length: 63 characters
The meta title is an HTML element that defines a page's title, displayed in search engine results, browser tabs, and bookmark lists. A concise, keyword-relevant title is a strong on-page ranking signal and a major driver of organic click-through rate. AI answer engines and LLM-driven search experiences also rely on the title to identify, summarize, and cite the page in generative results.
Meta Description Test
92% of top 100 sites passed
This webpage is using a meta description tag with a length of 148 characters. We recommend using well-written and inviting meta descriptions with a length between 150 and 220 characters (spaces included).
Text: Tỷ Lệ Bóng Đá cập nhật tỷ lệ cá cược, tỷ lệ bóng đá kèo nhà cái hôm nay siêu chuẩn. Xem tỷ lệ bóng đá trực tuyến, kèo châu Á, tài xỉu, châu Âu 24/7.
Length: 148 characters
The meta description is an HTML tag that provides a short summary of a page's content, often shown beneath the title in search results. While not a direct ranking factor, an accurate and inviting description significantly improves click-through rate from organic listings. AI answer engines and social platforms also use it as a trusted summary when generating previews, citations and shareable snippets.
Google Search Results Preview Test
Desktop version
https://asianproducts.net/Tỷ lệ bóng đá - Tỷ lệ kèo bóng đá Thế Giới hôm nay, tối đêm nayTỷ Lệ Bóng Đá cập nhật tỷ lệ cá cược, tỷ lệ bóng đá kèo nhà cái hôm nay siêu chuẩn. Xem tỷ lệ bóng đá trực tuyến, kèo châu Á, tài xỉu, châu Âu 24/7.
Mobile version
https://asianproducts.net/Tỷ lệ bóng đá - Tỷ lệ kèo bóng đá Thế Giới hôm nay, tối đêm nayTỷ Lệ Bóng Đá cập nhật tỷ lệ cá cược, tỷ lệ bóng đá kèo nhà cái hôm nay siêu chuẩn. Xem tỷ lệ bóng đá trực tuyến, kèo châu Á, tài xỉu, châu Âu 24/7.
A simulated preview of how the page may appear in Google search results, combining the title, URL, and meta description as Google typically renders them. Useful for spotting truncated text, weak phrasing, or missing elements before publishing, since the snippet directly influences whether searchers click through.
Social Media Meta Tags Test
89% of top 100 sites passed
This webpage is using social media meta tags.
Open Graph Meta Tags
og:localevi_VN
og:typewebsite
og:titleTỷ lệ bóng đá - Tỷ lệ kèo bóng đá Thế Giới hôm nay, tối đêm nay
og:descriptionTỷ Lệ Bóng Đá cập nhật tỷ lệ cá cược, tỷ lệ bóng đá kèo nhà cái hôm nay siêu chuẩn. Xem tỷ lệ bóng đá trực tuyến, kèo châu Á, tài xỉu, châu Âu 24/7.
og:urlhttps://asianproducts.net/
og:site_nameTỷ Lệ Bóng Đá
og:updated_time2026-10-11T19:54:51+07:00
og:imagehttps://asianproducts.net/wp-content/uploads/2026/08/ty-le-bong-da-nen-tang-cap-nhat-ty-le-keo-nha-cai-truc-tuyen-hang-dau.webp
og:image:secure_urlhttps://asianproducts.net/wp-content/uploads/2026/08/ty-le-bong-da-nen-tang-cap-nhat-ty-le-keo-nha-cai-truc-tuyen-hang-dau.webp
og:image:width800
og:image:height400
og:image:altTỷ Lệ Bóng Đá
og:image:typeimage/webp
Twitter Card Meta Tags
twitter:cardsummary_large_image
twitter:titleTỷ lệ bóng đá - Tỷ lệ kèo bóng đá Thế Giới hôm nay, tối đêm nay
twitter:descriptionTỷ Lệ Bóng Đá cập nhật tỷ lệ cá cược, tỷ lệ bóng đá kèo nhà cái hôm nay siêu chuẩn. Xem tỷ lệ bóng đá trực tuyến, kèo châu Á, tài xỉu, châu Âu 24/7.
twitter:imagehttps://asianproducts.net/wp-content/uploads/2026/08/ty-le-bong-da-nen-tang-cap-nhat-ty-le-keo-nha-cai-truc-tuyen-hang-dau.webp
twitter:label1Được viết bởi
twitter:data1@seo
twitter:label2Thời gian để đọc
twitter:data214 phút
Open Graph and Twitter Card meta tags tell social platforms and link unfurlers how to display a page when its URL is shared. Well-formed tags produce richer previews with the intended title, description, and image, which improves click-through on social channels. They also serve as a structured signal that AI crawlers and answer engines can use when summarizing the page.
Most Common Keywords Test
There is likely no optimal keyword density (search engine algorithms have evolved beyond keyword density metrics as a significant ranking factor). It can be useful, however, to note which keywords appear most often on your page and if they reflect the intended topic of your page. More importantly, the keywords on your page should appear within natural sounding and grammatically correct copy.
72cược
65chấp
54khách
49bóng
32thắng
A frequency analysis of the most repeated words and phrases in the page's visible content. Useful for getting a quick sense of which topics search engines are likely to associate with the page, and for spotting cases where the actual content drifts from the intended subject.
Keywords Usage Test
48% of top 100 sites passed
The most common keywords of this webpage are distributed well across the important HTML tags. This helps search engines to properly identify the topic of this webpage.
Keyword
Title tag
Meta description
Headings
cược
chấp
khách
bóng
thắng
Cross-checks whether the most frequently used keywords on the page also appear in the title and meta description. Alignment between body content and metadata helps search engines confirm the page's topic and reinforces relevance for those terms.
Keywords Cloud Test
asianproducts
biến
bóng
bảng
chuyên
chuẩn
châu
chính
chúng
chấp
chỉnh
chọn
city
club
cung
cách
cược
dòng
dùng
dương
dưới
dạng
dịch
gian
giao
giây
giải
giới
giữa
hiển
hiệu
hoàn
hoặc
hàng
hình
hướng
hạng
khách
không
league
live
liên
liệu
loại
lịch
minh
nghiệm
ngoại
người
nhanh
nhất
nhận
nhật
những
odds
phong
phân
phút
quan
quốc
serie
thao
theo
thua
thành
thông
thương
thập
thắng
thống
thời
thức
thực
tiếp
tiết
tiền
toàn
trang
trong
truy
trên
trình
trường
trận
trực
tuyến
tích
tính
tảng
tổng
từng
vđqg
website
women
đang
điều
được
định
đồng
động
A visual word cloud of the page's content, with more frequent terms shown in larger text. Provides a quick at-a-glance view of which words dominate the page, helping confirm that the visible content reflects the intended topic.
Competitor Domains Test
Competitor Domains

Understand your competitors' SEO and backlink profile

Get related competitors and their domain authority score in relation to your domain.

Identifies up to ten domains that compete for similar organic search results, ranked by overall domain authority based on the volume and quality of their backlink profiles. Useful for benchmarking the competitive landscape and prioritizing which sites to study for content and link-building strategy.
Heading Tags Test
62% of top 100 sites passed
This webpage contains headings tags.
H1 tags
Tỷ Lệ Bóng Đá – Nền Tảng Cập Nhật Tỷ Lệ Kèo Nhà Cái Trực Tuyến Hàng Đầu
H2 tags
Tìm hiểu chung về tỷ lệ bóng đá
Những loại kèo bóng đá trực tuyến phổ biến hiện nay
Giới thiệu về Tỷ Lệ Bóng Đá – Trang thể thao 24/7
Lợi ích khi tra cứu thông tin tại website Tỷ Lệ Bóng Đá
Hướng dẫn cập nhật tỷ lệ kèo & tin tức thể thao tại Tỷ Lệ Bóng Đá
FAQs – Các câu hỏi thường gặp tại Tỷ Lệ Bóng Đá
Inspects the page for H1 and H2 heading tags and reports their structure. Headings give both users and search engines a clear outline of the page's topics, with the H1 acting as the primary subject and H2s framing major sections. A clean heading hierarchy also helps AI answer engines segment the content into discrete passages they can quote or summarize.
Robots.txt Test
99% of top 100 sites passed
This website is using a robots.txt file.
Verifies whether the site exposes a robots.txt file at the root domain. This file is the first resource most crawlers request, telling search engines and other bots which paths they may or may not access. It is also the standard mechanism for allowing or blocking modern AI crawlers used by training pipelines and answer engines.
Sitemap Test
83% of top 100 sites passed
This website has a sitemap file.
Looks for an XML sitemap on the site and reports whether one is published. Sitemaps give search engines an explicit, machine-readable list of the URLs you want crawled, along with metadata such as last-modified dates, which speeds up discovery of new and updated pages. They are especially useful for large sites or those with weak internal linking.
Image Alt Test
78% of top 100 sites passed
This webpage is using "img" tags with empty or missing "alt" attribute!

Image Alt Test

How to pass this test?

Alt attributes provide a text alternative for images, used by screen readers when a user cannot see the image and by search engines and multimodal AI models to understand what the image depicts. Fixing this issue means writing concise, descriptive alt text for every meaningful image on the page, and using empty alt for purely decorative images so assistive technology can skip them. The same alt text helps multimodal LLMs and image search tools surface and cite your visuals.

Example

<img src="/images/marathon-shoes.jpg"
     alt="Side view of a lightweight neon-green marathon running shoe">

<img src="/images/divider.svg" alt="">

Where to make the change

  • Raw HTML: add the alt attribute to every <img> tag. For decorative images, use alt="" so screen readers skip them.
  • WordPress: the media library has an Alt text field on every uploaded image. Fill it once and the value is reused everywhere the image is inserted.
  • Shopify: in the product or page editor, click an image and use the Edit alt text option. Theme code that renders product images should pull image.alt.
  • Wix or Squarespace: click the image in the editor and use the Alt text or Image description field in the side panel.
  • Headless or framework sites: require an alt prop on every image component and lint for missing values during build.

Common causes and how to resolve them

  • Attribute missing: add alt="" at minimum so the page validates. Replace with descriptive text on any image that conveys information.
  • Alt text is the filename: "IMG_4837.jpg" tells the user nothing. Replace with a description of what is in the image.
  • Alt text duplicates the visible caption: screen readers will read both, doubling the user's listening time. Differentiate the alt from the caption or empty the alt.
  • Decorative images get descriptive alt text: background patterns and dividers should use alt="", otherwise screen readers narrate noise.
  • Bulk imports left alt blank: a one-off audit of the media library or a CMS-side script can fill missing alt values from product names, captions, or asset descriptions.

Best practices

  • Describe the function, not just the appearance: for a chart, describe what the chart shows. For a button image, describe what the button does.
  • Keep it concise: aim for under 125 characters. Screen readers do not pause mid-sentence, so long alt text is exhausting to listen to.
  • Skip "image of" or "picture of": the screen reader already announces it as an image.
  • Include the focus keyword when natural: alt text is a minor on-page signal, but stuffing keywords in unnatural alt text harms both accessibility and ranking.
Inspects whether images on the page include descriptive alt attributes. Alt text provides accessibility for screen readers, a fallback when images fail to load, and a textual signal that helps search engines understand image content. It also improves how AI crawlers and image search tools interpret and surface the visuals.
Responsive Image Test
29% of top 100 sites passed
Not all images in this webpage are properly sized! This webpage is serving images that are larger than needed for the size of the user's viewport.

Responsive Image Test

How to pass this test?

This test fails when one or more images on the page are served at dimensions significantly larger than the size at which the browser actually renders them. Fixing this issue means resizing the source files (or serving responsive variants) so the bytes downloaded match the pixels actually displayed. The result is faster page loads, lower data usage, and better Core Web Vitals scores.

Example

<img
  src="/images/hero-800.jpg"
  srcset="/images/hero-400.jpg 400w,
          /images/hero-800.jpg 800w,
          /images/hero-1600.jpg 1600w"
  sizes="(max-width: 640px) 100vw, 800px"
  alt="Marathon runners at sunrise"
  width="800" height="450">

Where to make the change

  • Raw HTML: use srcset and sizes to let the browser pick the right variant for the user's viewport. Always include intrinsic width and height attributes.
  • WordPress: WordPress generates multiple image sizes automatically. Use the the_post_thumbnail() helper or the block editor's image block, both of which emit responsive srcset markup.
  • Shopify: use the image_url Liquid filter with size parameters (for example {{ image | image_url: width: 800 }}) and pair with image_tag to emit a responsive image.
  • Wix or Squarespace: both platforms generate responsive variants automatically; this issue is typically caused by uploading a deliberately oversized image.
  • Headless or framework sites: use the framework's image component (for example next/image or astro:assets), which generates responsive variants and lazy-loads off-screen images.

Common causes and how to resolve them

  • Original camera or stock-photo file uploaded as-is: a 6000-pixel-wide JPEG rendered in a 400-pixel column wastes most of the bytes. Resize the source or generate responsive variants.
  • No srcset: the browser has no choice but to use the single source. Add multiple variants so mobile users get smaller files.
  • Hero images sized for ultra-wide displays: if your largest layout is 1600 pixels, do not ship a 4000-pixel original.
  • Background images set in CSS without responsive sources: use the image-set() CSS function or media queries to swap in different image files at different breakpoints.

Best practices

  • Generate variants at common widths: 400, 800, 1200, and 1600 pixels covers most viewports cleanly.
  • Always set width and height: intrinsic dimensions let the browser reserve space and avoid layout shift, helping CLS.
  • Lazy-load off-screen images: add loading="lazy" to images below the fold so the browser only downloads them when needed.
  • Pair with modern formats: resizing alone is good; resizing and serving WebP or AVIF compounds the savings.
Compares the natural dimensions of each image to the size at which it is actually rendered in the user's viewport. Serving images significantly larger than needed wastes bandwidth, slows page load, and forces the browser to scale assets unnecessarily, all of which hurt performance and user experience.
Image Aspect Ratio Test
75% of top 100 sites passed
Not all image display dimensions match the natural aspect ratio! Fix aspect ratio issues to avoid distorted images on this website!

Image Aspect Ratio Test

How to pass this test?

This test fails when one or more images are rendered at an aspect ratio meaningfully different from the source file's native ratio, producing stretched or squashed visuals. Fixing this issue means either using width and height attributes that match the file's real dimensions or replacing the source with a correctly proportioned crop.

Example

<!-- Source file is 1600 x 900 (16:9). Set matching attributes: -->
<img src="/images/marathon-1600.jpg"
     alt="Marathon runners at sunrise"
     width="1600" height="900"
     style="max-width: 100%; height: auto;">

Where to make the change

  • Raw HTML and CSS: set the width and height attributes to the source file's native dimensions. Use CSS height: auto when scaling responsively so the browser preserves the ratio.
  • WordPress: when inserting an image via the block editor, choose the image's intended size rather than overriding dimensions in custom CSS.
  • Shopify, Wix, or Squarespace: use the platform's built-in image cropper so the displayed crop matches the source file you upload.
  • Headless or framework sites: components like next/image require both width and height, which prevents distortion when the layout scales.

Common causes and how to resolve them

  • Hard-coded width and height that do not match the file: recompute them from the source dimensions or remove them and rely on the file's intrinsic ratio.
  • Container has a fixed height that crops the image: use CSS object-fit: cover if cropping is intentional, or change the container so the image keeps its natural ratio.
  • Wrong source file uploaded: swap in a correctly proportioned crop rather than stretching the wrong file in CSS.

Best practices

  • Always set both width and height: the browser uses these to reserve space and avoid layout shift before the image loads, which helps CLS.
  • Use object-fit when cropping is intentional: cover fills the container without distortion; contain letterboxes to preserve the full image.
  • Standardize on a few aspect ratios: picking one or two ratios per template makes it easier to crop assets consistently and avoid one-off distortions.
Compares each image's natural aspect ratio against the ratio at which it is displayed on the page. Significant mismatches result in stretched or squashed visuals that look unprofessional and degrade the user experience.
Deprecated HTML Tags Test
94% of top 100 sites passed
This webpage does not use HTML deprecated tags.
Scans the markup for HTML elements that are no longer part of the modern HTML specification. Deprecated tags may still render today, but browsers can drop support at any time, leading to broken layouts and rendering inconsistencies. Replacing them with current standards keeps the page resilient and easier to maintain.
Google Analytics Test
72% of top 100 sites passed
A Google Analytics script is not detected on this page. While there are several tools available to monitor your site's visitors and traffic sources, Google Analytics is a free, commonly recommended program to help diagnose potential SEO issues.

Google Analytics Test

How to pass this test?

Google Analytics 4 is a free measurement platform that records visitor behavior, traffic sources, and conversion data. Installing it does not directly affect rankings, but the data it produces is essential for measuring SEO performance, identifying high-value pages, and prioritizing future optimization work. Fixing this issue means installing the GA4 tag site-wide and confirming events appear in your reports.

Example

<!-- Place inside <head> on every page -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

Where to make the change

  • Raw HTML: paste the GA4 snippet into the <head> of every page. A shared layout file is the cleanest place.
  • WordPress: use a site-kit or analytics plugin, or paste the snippet into your theme's header file. Avoid duplicating the tag across multiple plugins.
  • Shopify: add the GA4 measurement ID under Online Store, Preferences, Google Analytics, or install the official Google channel app.
  • Wix or Squarespace: both platforms offer a GA4 measurement ID field in their analytics settings panel.
  • Headless or framework sites: install via Google Tag Manager or use the framework's analytics integration so the tag fires on every route change.

Common causes and how to resolve them

  • Tag not installed at all: install GA4 using the snippet above or the platform-specific path.
  • Universal Analytics tag still in place: Universal Analytics stopped processing data on July 1, 2024. Replace any UA tag (UA-...) with a GA4 measurement ID (G-...).
  • Tag fires only on the homepage: ensure the snippet is in a shared template loaded by every page, not pasted into one post.
  • Cookie banner blocks the tag before consent: integrate Consent Mode v2 so GA4 receives anonymized signals before consent and full data after.
  • Tag duplicated: two snippets on the same page double-count sessions. Audit with the Tag Assistant browser extension and remove duplicates.

Best practices

  • Verify with real-time reports: after installing, open GA4's Realtime view and load the site to confirm events arrive.
  • Use Google Tag Manager: for any site beyond the simplest, GTM gives you a single place to manage analytics, conversion tags, and third-party scripts without code changes.
  • Configure key events: mark conversions (purchase, lead, signup) as key events so reports highlight what matters for SEO ROI.
  • Link to Search Console: connecting GA4 to Search Console surfaces organic queries alongside on-site behavior in the same reports.
Detects whether the page is instrumented with Google Analytics tracking code. Analytics is not an SEO ranking factor, but having reliable traffic and behavior data is essential for measuring the impact of SEO work and identifying opportunities for improvement.
Favicon Test
100% of top 100 sites passed
favicon
This website appears to have a favicon.
Verifies whether the site declares a favicon and that it loads correctly. Favicons appear in browser tabs, bookmarks, and increasingly in search engine result pages, where they reinforce brand recognition and make a listing easier to spot at a glance.
JS Error Test
83% of top 100 sites passed
We've found JavaScript errors on this webpage!

JS Error Test

How to pass this test?

This test fails when the browser encounters JavaScript runtime errors as the page loads. Unhandled errors can break interactive features, leave content unrendered, and signal poor code quality, all of which hurt the user experience that search engines factor into rankings. Fixing this issue means identifying the offending script, reproducing the error in DevTools, and shipping a patch that handles the failure cleanly.

Where to make the change

  • Open browser DevTools: the Console tab lists every error with the file, line number, and stack trace. Reproduce the issue locally and use sourcemaps to map back to the original code.
  • Application code: wrap risky operations in try / catch, validate external data before using it, and provide fallbacks when DOM elements or APIs are missing.
  • Third-party scripts: check whether the error originates in an analytics, advertising, or chat-widget script. If yes, contact the vendor or load the script with defer so it does not block the rest of the page.

Common causes and how to resolve them

  • Calling a method on null or undefined: guard with optional chaining (?.) or check the value exists before calling.
  • Race condition between the DOM and the script: wait for DOMContentLoaded or place the script tag at the end of <body> with defer.
  • Missing or 404 script file: a typo in the src attribute or a deleted asset triggers a load error. Fix the path or remove the tag.
  • Unsupported syntax in older browsers: if you support legacy browsers, transpile modern JavaScript with a tool such as Babel and serve appropriate polyfills.
  • CORS error blocking a fetch: the API must include the correct Access-Control-Allow-Origin header. Either configure the API or proxy the request through your own backend.

Best practices

  • Add error monitoring: a service such as Sentry, Bugsnag, or Datadog RUM captures errors from real users and groups them by frequency, so you fix what hurts most first.
  • Fail loudly in development, gracefully in production: log unexpected errors but never let them break the rendered page. Show a fallback UI instead of a blank screen.
  • Treat errors as bugs in the build: add lint rules and unit tests for the most common error paths so they cannot ship again.
  • Defer non-critical scripts: using defer or async on third-party scripts limits the blast radius when one of them throws.
Inspects the page for JavaScript runtime errors that occur as it loads. Unhandled errors can break interactive features, leave content unrendered, and signal poor code quality, all of which hurt the user experience that search engines factor into rankings.
Console Errors Test
27% of top 100 sites passed
This webpage has some warnings caught by the Chrome DevTools Console!

Console Errors Test

How to pass this test?

Console warnings are non-fatal messages the browser emits about deprecated APIs, security best-practice violations, performance hints, or potential bugs. They do not break the page today, but most warnings indicate something that will eventually become a hard error. Fixing this issue means triaging each warning, resolving the actionable ones, and adding monitoring so new warnings get caught early.

Where to make the change

  • Open DevTools, Console tab: filter the panel to Warnings only. Each entry includes a link to the source location and often documentation explaining the recommended replacement.
  • Application code: update the call site to use the modern API. Most browser deprecations include a recommended replacement in the warning text.
  • Third-party tags: contact the vendor or upgrade to the current loader script. Outdated tags are the most common source of deprecation warnings.

Common causes and how to resolve them

  • Deprecated DOM or Web APIs: swap the deprecated method for the modern equivalent. The MDN documentation linked in the warning describes the replacement.
  • Performance hints (forced reflow, large layout shifts, long tasks): investigate with the Performance tab. These warnings often map directly to Core Web Vitals failures.
  • Insecure features (Permissions-Policy, deprecated headers): update server response headers to use the current syntax.
  • Cookie warnings (SameSite, Secure): set explicit SameSite and Secure attributes on every cookie, especially those used in cross-site contexts.

Best practices

  • Resolve warnings before they become errors: deprecation cycles usually run six to twelve months. Fix early to avoid emergency patches when the API is removed.
  • Keep the console clean on production: a noisy console hides genuine new issues among the chronic ones.
  • Pin third-party scripts to maintained versions: outdated vendor scripts are the dominant source of long-running warnings.
Reviews the browser console for warnings and errors emitted while the page loads. Console messages often expose underlying issues such as failed network requests, deprecated APIs, or security warnings that can quietly degrade the experience even when the page appears to work.
Charset Declaration Test
96% of top 100 sites passed
This webpage has a character encoding declaration.
Content-Type: text/html; charset=UTF-8
Checks whether the page declares a character encoding such as UTF-8. Without an explicit charset declaration, browsers must guess the encoding, which can lead to garbled symbols, broken accented characters, and inconsistent rendering across devices. UTF-8 is the modern standard recommended by Google.

Speed optimizations

Score:45
Failed:11
Warnings:0
Passed:9
HTML Page Size Test
23% of top 100 sites passed
The size of this webpage's HTML is 53.11 Kb, and is greater than the average size of 33 Kb! This can lead to slower loading times, lost visitors, and decreased revenue. Good steps to reduce HTML size include: using HTML compression, CSS layouts, external style sheets, and moving javascript to external files.

HTML Page Size Test

How to pass this test?

This test fails when the raw HTML document weighs significantly more than necessary, even before counting images, CSS, or JavaScript. Bloated HTML increases time to first byte, slows parsing, and stalls rendering on mobile networks and lower-powered devices. Fixing this issue means trimming inline data, removing legacy markup, and keeping the document focused on what the user needs.

Where to make the change

  • Application code or templates: identify which sections produce the most bytes (often a large inline JSON blob, an inline base64 image, or a giant comment block) and refactor them to load externally or be removed.
  • WordPress: check for plugins or page builders that emit large inline configurations. Disable unused plugins and prefer themes that ship clean markup.
  • Shopify: theme code may inline large product or section JSON. Move heavy data to a fetch-on-demand endpoint when possible.
  • Headless or framework sites: review the rendered output for serialized state (for example __NEXT_DATA__ in Next.js) and trim what is sent on first paint by streaming or lazy-loading non-critical chunks.

Common causes and how to resolve them

  • Inline base64 images or fonts: move them to external files so the browser can cache them across requests.
  • Excessive inline CSS or JavaScript: link to external stylesheets and scripts so they cache. Inline only the truly critical CSS for above-the-fold content.
  • Large server-side JSON payloads: ship only the data needed for first render. Fetch the rest on demand.
  • Repeating boilerplate or commented-out code: strip comments and dead code in the production build.
  • HTML compression disabled: Gzip or Brotli compression often shrinks the response by half or more. Confirm the server sends the appropriate Content-Encoding header.

Best practices

  • Aim for under 100 KB of HTML: most pages can comfortably stay under this. Anything beyond a few hundred KB usually indicates structural bloat worth refactoring.
  • Enable compression: Gzip is the safe minimum, Brotli is even better for HTML and other text formats.
  • Defer non-critical content: rendering only what is needed for the initial viewport keeps both bytes and parse time down.
  • Audit periodically: add HTML size to your performance budget so regressions get caught in CI.
Measures the size of the raw HTML document, excluding images and external CSS or JavaScript. Bloated HTML increases time to first byte and parsing time, slowing down rendering on mobile networks and lower-powered devices. Trimming inline styles, redundant markup, and oversized inline data keeps initial load fast.
DOM Size Test
56% of top 100 sites passed
The Document Object Model (DOM) of this webpage has 7,909 nodes which is greater than the recommended value of 1,500 nodes! A large DOM size negatively affects site performance and increases the page load time.

DOM Size Test

How to pass this test?

This test fails when the page builds a Document Object Model with too many nodes or excessive nesting depth. Large DOMs increase memory usage, lengthen style and layout calculations, and slow rendering, particularly on mobile devices. Fixing this issue means simplifying the markup so the browser has less work to do on every interaction.

Where to make the change

  • Application code or templates: identify the heaviest sections (long lists, repeating components, deep grid wrappers) and either paginate them, virtualize them, or flatten the markup.
  • WordPress: heavy page-builder themes often emit deeply nested wrapper divs. Consider switching templates or using a theme that emits cleaner markup.
  • Headless or framework sites: use a virtualized list component for long item lists so only visible rows are rendered into the DOM.

Common causes and how to resolve them

  • Long lists rendered in full: show a paginated subset or virtualize the list so only on-screen items exist in the DOM.
  • Excessive wrapper divs: a stack of layout wrappers ten deep can usually be flattened to two or three with modern CSS layouts (Grid, Flexbox).
  • Hidden modals and dropdowns kept in the DOM: render them on demand instead of always emitting them with display: none.
  • Third-party widget injecting many nodes: a chat widget or carousel may add hundreds of nodes per page. Lazy-load it after main content renders.

Best practices

  • Aim for under 1500 nodes total and a maximum depth of 32: Lighthouse uses these as warning thresholds and they correlate with smooth rendering on mid-tier mobile devices.
  • Render only what is visible: long lists, accordions, and modals belong outside the initial DOM until needed.
  • Prefer flat semantic markup: a single <article> with a few children is faster than a deeply nested <div> tree.
  • Audit with Lighthouse: the DOM size audit reports the worst-offending elements, which often points at a single template that needs rework.
Measures the size and depth of the page's Document Object Model, the tree of nodes the browser builds from the HTML. Very large DOMs increase memory usage, lengthen style and layout calculations, and slow down rendering, particularly on mobile devices. Keeping the DOM lean improves both load time and runtime responsiveness.
HTML Compression/GZIP Test
99% of top 100 sites passed
This webpage is successfully compressed using zstd compression on your code. The HTML code is compressed from 886.29 Kb to 53.11 Kb (94% size savings). This helps ensure a faster loading webpage and improved user experience.
Verifies whether the server delivers the HTML using a compression algorithm such as Gzip or Brotli. Compressed responses dramatically reduce transfer size with negligible decompression cost, translating directly into faster page loads, especially on slower connections.
Site Loading Speed Test
71% of top 100 sites passed
The loading time of this webpage (measured from N. Virginia, US) is around 10.38 seconds and is greater than the average loading speed which is 5 seconds!
Related Keywords

Accurate historical loading speed monitor and reports

Get detailed and accurate loading speed reports for your websites and see how your pages are being loaded over time.

Measures the overall time required to load the page in the browser. Page speed is a confirmed Google ranking factor and a strong driver of bounce rate, with slower pages losing a meaningful share of users before they even see the content. Faster pages also tend to convert better, making this a key metric for both SEO and revenue.
JS Execution Time Test
53% of top 100 sites passed
The JavaScript code used by this webpage is executed in less than 2 seconds.
Reports the total time the browser spends parsing, compiling, and executing JavaScript while the page loads. Heavy JavaScript work blocks the main thread and is the primary cause of poor Interaction to Next Paint, the Core Web Vital that replaced First Input Delay in 2024 and that Google uses as part of its ranking algorithms. Reducing bundle size and deferring non-critical scripts directly improves perceived performance.
Page Objects Test
7% of top 100 sites passed
This webpage is using more than 20 http requests, which can slow down page loading and negatively impact user experience!
Content size by content type
Content type
Percent
Size
image
53.2 %
1.05 Mb
javascript
20.4 %
412.35 Kb
other
10.7 %
215.53 Kb
font
6.5 %
131.65 Kb
html
6.3 %
127.36 Kb
css
2.9 %
58.31 Kb
TOTAL
100%
1.97 Mb
Requests by content type
Content type
Percent
Requests
image
63.2 %
86
javascript
15.4 %
21
css
8.8 %
12
other
6.6 %
9
font
4.4 %
6
html
1.5 %
2
TOTAL
100%
136
Content size by domain
Domain
Percent
Size
asianproducts.net
70.0 %
1.38 Mb
img.winfast.dev
13.2 %
267.13 Kb
thesport-api.cdnx.tech
9.4 %
189.88 Kb
fonts.gstatic.com
6.1 %
123.61 Kb
youtube.com
0.6 %
12.47 Kb
static.cloudflareinsights.com
0.5 %
10.19 Kb
fonts.googleapis.com
0.1 %
2.14 Kb
TOTAL
100%
1.97 Mb
Requests by domain
Domain
Percent
Requests
thesport-api.cdnx.tech
47.8 %
65
asianproducts.net
37.5 %
51
img.winfast.dev
8.1 %
11
fonts.gstatic.com
3.7 %
5
youtube.com
1.5 %
2
fonts.googleapis.com
0.7 %
1
static.cloudflareinsights.com
0.7 %
1
TOTAL
100%
136
Verifies that every resource the page requests, including images, scripts, stylesheets, and fonts, can be successfully retrieved. Broken or unreachable assets can leave the page rendered incorrectly, trigger console errors, and damage both user experience and how search engines perceive page quality.
CDN Usage Test
95% of top 100 sites passed
This webpage is serving all images, javascript and css resources from CDNs.
Detects whether static assets such as images, JavaScript, and CSS are delivered through a Content Delivery Network. CDNs serve files from edge locations close to the user, reducing latency, improving cache hit rates, and offloading traffic from the origin server. The result is faster, more consistent page performance worldwide.
Modern Image Format Test
43% of top 100 sites passed
This webpage is not serving images in a modern format! Image formats like JPEG 2000, JPEG XR, and WebP often provide better compression than PNG or JPEG, which means faster downloads and less data consumption.

Modern Image Format Test

How to pass this test?

This test fails when images are served in legacy formats such as JPEG and PNG instead of modern alternatives like WebP or AVIF. Modern formats compress significantly better at equivalent visual quality, which means smaller transfers, faster page loads, and lower data usage for visitors on metered connections. Fixing this issue means generating modern variants and serving them to browsers that support them.

Example

<picture>
  <source srcset="/images/hero.avif" type="image/avif">
  <source srcset="/images/hero.webp" type="image/webp">
  <img src="/images/hero.jpg" alt="Marathon runners at sunrise" width="1600" height="900">
</picture>

Where to make the change

  • Raw HTML: use the <picture> element with multiple <source> entries so the browser picks the best supported format.
  • WordPress: WordPress 6.x and later supports WebP natively. Use a media optimization plugin to convert existing JPEGs and PNGs and serve modern formats automatically.
  • Shopify: Shopify's image CDN can serve WebP automatically; using the image_url filter with format parameter or the image_tag helper handles negotiation.
  • Wix or Squarespace: both platforms convert and serve WebP automatically when supported by the visitor's browser.
  • Headless or framework sites: components like next/image and astro:assets generate AVIF and WebP variants at build time and serve the best format per request.

Common causes and how to resolve them

  • Only legacy formats published: add a build step or image CDN that generates WebP and AVIF alongside the original.
  • Single-format <img> tag: wrap the image in <picture> with <source> entries for AVIF and WebP, falling back to the JPEG.
  • Image CDN not negotiating format: enable automatic format conversion or pass a format=auto query parameter (depends on provider).
  • SVG used where a raster image would be smaller (or vice versa): illustrations and icons should be SVG; photos should be raster in a modern format. Mixing them up wastes bytes.

Best practices

  • AVIF first, WebP fallback, JPEG last: AVIF compresses best, WebP is widely supported, JPEG remains the universal fallback.
  • Match quality to use case: hero images can use higher quality settings; thumbnails can drop quality without visible loss.
  • Use an image CDN: services like Cloudflare Images, Cloudinary, or Imgix handle resizing, format conversion, and caching in one step.
Identifies images served in legacy formats such as JPEG and PNG instead of modern alternatives like WebP or AVIF. Modern formats compress significantly better at equivalent visual quality, which means smaller transfers, faster page loads, and lower data usage for visitors on metered connections.
Image Metadata Test
72% of top 100 sites passed
This webpage is using images with large metadata (more than 16% of the image size)! Stripping out unnecessary metadata tags can improve not only the loading time but also the security and privacy of a webpage.

Image Metadata Test

How to pass this test?

This test fails when one or more images carry disproportionately large embedded metadata such as EXIF data, thumbnails, color profiles, geolocation, and camera information. This metadata is rarely useful on the web and adds bytes to every request without any rendering benefit. Fixing this issue means stripping the metadata as part of your image processing pipeline.

Where to make the change

  • Image build pipeline: use a tool such as ImageMagick (mogrify -strip image.jpg), jpegoptim --strip-all, or oxipng --strip all to remove metadata at build time.
  • WordPress: a media optimization plugin will strip metadata automatically on upload.
  • Shopify, Wix, Squarespace: the platforms strip most metadata server-side. Failures usually point to images served from external sources you control.
  • Image CDN: Cloudflare Images, Cloudinary, and Imgix strip non-essential metadata by default during transformation.

Common causes and how to resolve them

  • Original camera files uploaded as-is: camera files contain large EXIF blocks (lens, GPS, embedded JPEG previews). Strip during upload or build.
  • Color profile larger than the image: embed a small sRGB profile or strip the profile entirely if the image is meant for the web.
  • Stock photo metadata: stock images often carry copyright notices, IPTC blocks, and watermarks larger than the image data itself.
  • Geolocation in personal photos: beyond bytes, EXIF GPS can leak the photographer's location. Strip for privacy as well as performance.

Best practices

  • Strip metadata on upload: make it part of the asset pipeline so no human action is required.
  • Preserve only essentials: a small ICC color profile is occasionally worth keeping for accurate color rendering; everything else can usually go.
  • Verify with a quick check: tools like exiftool image.jpg show what is left after stripping, so you can confirm only what you want remains.
Flags images carrying disproportionately large embedded metadata such as EXIF data, thumbnails, color profiles, geolocation, and camera information. This metadata is rarely useful on the web and adds bytes to every request without any rendering benefit, making it an easy win for shrinking image payloads.
Image Caching Test
95% of top 100 sites passed
This website is using cache headers for images and the browsers will display these images from the cache.
Inspects whether image responses include caching headers that allow browsers to store them for repeat visits. With proper caching directives, returning visitors retrieve images from the local cache instead of refetching them, producing noticeably faster subsequent page loads.
JavaScript Caching Test
96% of top 100 sites passed
This webpage is not using cache headers for JavaScript resources! Setting cache headers can help to speed up the webpage for returning users.

JavaScript Caching Test

How to pass this test?

This test fails when external JavaScript files are served without caching headers that allow browsers to store and reuse them. Cached scripts skip the network on repeat visits, reducing load time and bandwidth for returning users. Fixing this issue is a server or CDN configuration change.

Where to make the change

  • Server configuration: add Cache-Control: public, max-age=31536000, immutable to JavaScript responses, paired with versioned filenames.
  • CDN configuration: set a default cache rule for *.js assets at the edge.
  • Build pipeline: emit hashed filenames (for example app.7f3c1e.js) so cache lifetimes can be long without risking stale code.
  • WordPress and plugins: caching and CDN plugins handle JS cache headers automatically.

Common causes and how to resolve them

  • No Cache-Control header: add one. Without it, browsers revalidate on every page load.
  • Short max-age: bump to a year for versioned files. Use a shorter lifetime only for unversioned scripts that may change in place.
  • no-cache or no-store on static JS: remove these directives; they belong on dynamic responses, not static assets.
  • Cookies on script requests: serve scripts from a cookie-free subdomain or a CDN to enable shared caching.

Best practices

  • Versioned filenames: hashed file names plus immutable caching is the gold standard for cache effectiveness.
  • Self-host critical scripts: hosting third-party scripts yourself lets you control cache headers and avoid vendor outages.
  • Audit with DevTools: the Network panel's "Disk cache" column shows whether each script is genuinely served from cache on repeat visits.
Inspects whether external JavaScript files are served with caching headers that allow browsers to store and reuse them. Cached scripts skip the network on repeat visits, reducing load time and bandwidth for returning users without sacrificing the ability to push fresh code by versioning file URLs.
CSS Caching Test
98% of top 100 sites passed
This webpage is using cache headers for all CSS resources.
Inspects whether external CSS files are served with caching headers that allow browsers to store and reuse them. Cached stylesheets skip the network on repeat visits, reducing load time for returning users while still allowing updates through versioned filenames.
JavaScript Minification Test
98% of top 100 sites passed
All JavaScript files used by this webpage are minified.
Detects whether external JavaScript files are minified by stripping whitespace, comments, and shortening identifiers. Minified scripts are substantially smaller and faster to download and parse, which lowers page load time and improves Core Web Vitals scores.
CSS Minification Test
100% of top 100 sites passed
All CSS resources used by this webpage are minified.
Detects whether external CSS files are minified by removing whitespace, comments, and unused characters. Minification reduces stylesheet size with no functional change, leading to faster downloads and quicker first render.
Render Blocking Resources Test
15% of top 100 sites passed
This webpage is using render blocking resources! Eliminating render-blocking resources can help this webpage to load significantly faster and will improve the website experience for your visitors.

Render Blocking Resources Test

How to pass this test?

This test fails when JavaScript or CSS resources block the browser from rendering visible content. Each render-blocking file delays the first paint, and on slower networks the cumulative impact can be severe. Fixing this issue means inlining the truly critical CSS, deferring or asynchronously loading non-essential scripts, and removing unused code.

Example

<head>
  <!-- Inline only above-the-fold critical CSS -->
  <style>/* critical styles here */</style>

  <!-- Load full stylesheet asynchronously -->
  <link rel="preload" href="/styles/main.css" as="style"
        onload="this.onload=null;this.rel='stylesheet'">

  <!-- Defer non-critical scripts -->
  <script src="/scripts/app.js" defer></script>
</head>

Where to make the change

  • Application code or templates: identify the CSS and JavaScript needed for the initial render and load only those synchronously. Defer the rest.
  • Build pipeline: use a critical CSS extractor (such as critical or penthouse) to generate the above-the-fold styles automatically.
  • WordPress: performance plugins offer "delay JS execution" and "load CSS asynchronously" options that handle most of this without code changes.
  • Headless or framework sites: use the framework's preload and code-splitting hints to control what blocks rendering.

Common causes and how to resolve them

  • Single large stylesheet blocking render: inline critical CSS for the first viewport, load the full stylesheet asynchronously.
  • Synchronous third-party scripts in the head: add defer or async, or move them to the end of the body.
  • Web fonts blocking text rendering: add font-display: swap in @font-face rules so the fallback font shows immediately.
  • Render-blocking @import in CSS: replace with separate <link rel="stylesheet"> tags so the browser can fetch them in parallel.

Best practices

  • Use defer for scripts that need the DOM: they execute after parsing but before DOMContentLoaded.
  • Use async for fully independent scripts: they execute as soon as they download, in any order.
  • Preload the critical request chain: tell the browser early about fonts and key assets with <link rel="preload">.
  • Audit with Lighthouse: the Render-blocking resources audit lists every offending file with the estimated time saved by deferring it.
Identifies JavaScript and CSS resources that the browser must download and process before it can render visible content. Each render-blocking file delays the first paint, and on slower networks the cumulative impact can be severe. Inlining critical styles, deferring non-essential scripts, and removing unused code all help unblock the rendering path.
URL Redirects Test
97% of top 100 sites passed
This URL doesn't have any redirects (which could potentially cause site indexation issues and site loading delays).
Counts the number of HTTP redirects required for the URL to resolve to its final destination. Each hop adds latency and can dilute link equity, while long redirect chains sometimes confuse crawlers and indexing pipelines. Keeping redirects short and direct is a Google recommendation for both performance and SEO.
Time To First Byte Test
99% of top 100 sites passed
The Time To First Byte value of this webpage is 5.790 seconds. To provide a good user experience, Google recommends that sites should strive to have a TTFB of 0.8 seconds or less.
5.79 s
0.8 s
1.8 s

Time To First Byte Test

How to pass this test?

Time to First Byte (TTFB) measures the delay between the browser requesting the page and the first byte of the response arriving. TTFB reflects backend, network, and CDN performance and effectively sets the floor for every other loading metric, since rendering cannot begin until bytes start flowing. Fixing this issue usually means improving server response time, adding edge caching, or reducing redirect chains.

Where to make the change

  • Server and hosting: upgrade to a faster host plan, move to a region closer to your users, and enable HTTP/2 or HTTP/3.
  • CDN: putting the site behind a CDN dramatically reduces TTFB for users far from the origin server. Cache HTML responses at the edge whenever possible.
  • Application code: profile slow endpoints, cache expensive database queries and external API calls, and use streaming or partial responses.

Common causes and how to resolve them

  • Slow server processing: profile the slowest controllers or routes. Database queries, N+1 loops, and synchronous third-party API calls are typical culprits.
  • No edge caching: caching HTML at the CDN reduces TTFB to a single edge round trip. Use rules to bypass cache for logged-in users.
  • Long redirect chains: each hop adds latency before bytes flow. Collapse chains so the URL the user requests resolves to its final destination in one step.
  • Origin in a distant region: a US-only origin makes Asian users wait. Add edge regions or move the origin closer to the audience.
  • HTTP/1.1 or no keep-alive: upgrading to HTTP/2 or HTTP/3 reduces connection setup overhead.

Best practices

  • Target sub-800 millisecond TTFB at the 75th percentile: Google's recommended threshold for a "good" experience.
  • Cache aggressively: the cheapest server work is the work you never do. Static and semi-static pages should be served from cache.
  • Use HTTP/3 where supported: it eliminates head-of-line blocking and reduces handshake latency, especially on mobile networks.
  • Stream the response when possible: sending the head before the rest of the body lets the browser start fetching subresources earlier.
Measures Time to First Byte, the delay between the browser requesting the page and the first byte of the response arriving. TTFB reflects backend, network, and CDN performance and effectively sets the floor for every other loading metric, since rendering cannot begin until bytes start flowing. Sustained high TTFB usually points to slow server processing, missing edge caching, or inefficient redirects.
First Contentful Paint Test
90% of top 100 sites passed
The First Contentful Paint value of this webpage is 6.480 seconds. To provide a good user experience, Google recommends that sites should strive to have a First Contentful Paint value of 1.8 seconds or less.
6.48 s
1.8 s
3 s

First Contentful Paint Test

How to pass this test?

First Contentful Paint (FCP) measures the time from when the page starts loading to when any part of its content is rendered on the screen. FCP is the user's first visual confirmation that the page is loading, and faster values are strongly correlated with lower bounce rates and better Core Web Vitals scores. Fixing this issue means reducing time to first byte, eliminating render-blocking resources, and serving above-the-fold content without delay.

Where to make the change

  • Server and CDN: reduce TTFB so the browser receives bytes sooner. Edge caching for HTML produces dramatic FCP wins.
  • Application code or templates: inline the critical CSS for above-the-fold content and defer everything not needed for the first paint.
  • Build pipeline: ensure JavaScript bundles are split so the initial load only includes what is needed for first render.

Common causes and how to resolve them

  • Slow TTFB: address the underlying server, redirect, or hosting issue (see Time to First Byte fix).
  • Render-blocking CSS: inline the critical CSS for the first viewport, load the full stylesheet asynchronously.
  • Render-blocking JavaScript in the head: add defer or move scripts to the end of the body.
  • Web fonts delaying text rendering: add font-display: swap so a fallback font is shown immediately while the custom font loads.
  • Heavy hero image without prioritization: add fetchpriority="high" to the hero image and <link rel="preload"> for it in the head.

Best practices

  • Target sub-1.8 second FCP at the 75th percentile: Google's recommended threshold for a "good" experience.
  • Inline critical CSS: the styles needed for the first viewport should not require an extra network round trip.
  • Preload key resources: hero image, key fonts, and critical scripts benefit from explicit preload hints.
  • Defer non-critical work: analytics, chat widgets, and below-the-fold content can wait until after first paint.
Measures First Contentful Paint, the moment when the browser renders the first piece of visible content from the DOM, such as text, an image, or an SVG. FCP is the first signal to the user that the page is actually loading, and faster values are strongly correlated with lower bounce rates and better Core Web Vitals scores.
Largest Contentful Paint Test
77% of top 100 sites passed
The Largest Contentful Paint duration of this webpage is 6.96 seconds. To provide a good user experience, Google recommends that sites should strive to have Largest Contentful Paint of 2.5 seconds or less.
6.96 s
2.5 s
4 s
Largest Contentful Paint element within the viewport:
<img fetchpriority="high" decoding="async" width="1020" height="319" src="https://asianproducts.net/wp-content/uploads/2026/..." class="attachment-large size-large" alt="banner ty le bong da" srcset="https://asianproducts.net/wp-content/uploads/2026/..." sizes="(max-width: 1020px) 100vw, 1020px" title="Tỷ Lệ Bóng Đá">

Largest Contentful Paint Test

How to pass this test?

Largest Contentful Paint (LCP) measures when the largest visible element in the viewport, such as a hero image or main heading, finishes rendering. LCP is one of Google's Core Web Vitals and a direct ranking factor, used as a proxy for when the user perceives the page as effectively loaded. Fixing this issue means identifying the LCP element and ensuring it loads as early as possible.

Where to make the change

  • Identify the LCP element: open Chrome DevTools, run a Performance trace, and find the LCP marker. The element it points at is the one to optimize.
  • Application code or templates: preload the LCP image, give it fetchpriority="high", and ensure it is in the initial HTML rather than injected by JavaScript.
  • Server and CDN: reduce TTFB and ensure the LCP image is served from a fast, geographically close origin.

Common causes and how to resolve them

  • Hero image loaded lazily: remove loading="lazy" from the LCP image; it should load eagerly.
  • LCP image not preloaded: add <link rel="preload" as="image" href="/hero.jpg" fetchpriority="high"> in the head so the browser fetches it before parsing the rest of the document.
  • LCP image too large or in legacy format: resize to displayed dimensions and serve as WebP or AVIF.
  • Slow TTFB or render-blocking resources: address the underlying TTFB and render-blocking issues; LCP cannot be fast if the page itself is slow to start.
  • Client-side rendered hero content: server-render or pre-render the LCP element so it appears in the initial HTML.
  • Web fonts delaying LCP text: use font-display: swap so the LCP heading renders immediately in a fallback font.

Best practices

  • Target sub-2.5 second LCP at the 75th percentile: the official Core Web Vitals threshold for a "good" experience.
  • Preload the LCP image: the single highest-impact LCP optimization on most sites.
  • Use fetchpriority="high": tells the browser to prioritize the resource ahead of others.
  • Ship modern image formats: AVIF and WebP cut hero image bytes substantially, which directly lowers LCP.
Measures Largest Contentful Paint, the time at which the largest visible element in the viewport, such as a hero image or main heading, finishes rendering. LCP is one of Google's Core Web Vitals and a direct ranking factor, used as a proxy for when the user perceives the page as effectively loaded.
Cumulative Layout Shift Test
91% of top 100 sites passed
The CLS score of this webpage is 0.0119. To provide a good user experience, Google recommends that sites should strive to have a CLS score of 0.1 or less.
0.0119
0.1
0.25
DOM element which contributes the most to CLS score:
Text: Xem bóng Kèo trực tuyến Hôm nay Ngày mai 14/10 15/10 16/10 17/10 18/10 Giải đấu ...
Html: <div class="section-content relative">
Score: 0.0116
Measures Cumulative Layout Shift, the total amount that visible elements move around unexpectedly while the page loads. Layout shifts cause users to misclick and feel the page is unstable, and CLS is one of Google's Core Web Vitals and a direct ranking factor. Common causes include images without explicit dimensions, late-loading fonts, and aggressively injected overlays such as cookie consent banners.

Server and security

Score:95
Failed:1
Warnings:0
Passed:6
URL Canonicalization Test
93% of top 100 sites passed
Detects whether different URL variants of the site, such as the apex domain and the www subdomain or HTTP and HTTPS, all resolve consistently to a single canonical version. When the same content is reachable at multiple URLs without proper redirects, search engines may split ranking signals across the variants and become unsure which one to index.
SSL Checker and HTTPS Test
100% of top 100 sites passed
This website is successfully using HTTPS, a secure communication protocol over the Internet.
The certificate is not used before the activation date.
The certificate has not expired.
The hostname "asianproducts.net" is correctly listed in the certificate.
The certificate should be trusted by all major web browsers.
The certificate was not revoked.
The certificate was signed with a secure hash.
Certificate Chain:
Server certificate
Common Name
asianproducts.net
Subject Alternative Names
*.asianproducts.net, asianproducts.net
Not Valid Before
Mon, October 5, 2026 at 11:42:56 AM UTC
Not Valid After
Sun, January 3, 2027 at 11:42:55 AM UTC
Signature Algorithm
ecdsaWithSha384
Issuer
YE1
Intermediate certificate
Common Name
YE1
Organization
Let's Encrypt
Location
US
Not Valid Before
Wed, September 3, 2025 at 12:00:00 AM UTC
Not Valid After
Sat, September 2, 2028 at 11:59:59 PM UTC
Signature Algorithm
ecdsaWithSha384
Issuer
Root YE
Intermediate certificate
Common Name
Root YE
Organization
ISRG
Location
US
Not Valid Before
Wed, May 13, 2026 at 12:00:00 AM UTC
Not Valid After
Thu, September 2, 2032 at 11:59:59 PM UTC
Signature Algorithm
ecdsaWithSha384
Issuer
ISRG Root X2
Root certificate
Common Name
ISRG Root X2
Organization
Internet Security Research Group
Location
US
Not Valid Before
Fri, September 4, 2020 at 12:00:00 AM UTC
Not Valid After
Mon, September 17, 2040 at 4:00:00 PM UTC
Signature Algorithm
ecdsaWithSha384
Issuer
ISRG Root X2
Verifies whether the site is served over HTTPS with a valid TLS certificate. HTTPS encrypts the connection between visitor and server, protecting credentials and other sensitive data in transit, and Google has used it as a positive ranking signal since 2014. Modern browsers also flag non-HTTPS pages as Not Secure, which damages user trust.
Mixed Content Test (HTTP over HTTPS)
100% of top 100 sites passed
This webpage does not use mixed content - both the initial HTML and all other resources are loaded over HTTPS.
Detects whether a page served over HTTPS is loading any sub-resources such as images, scripts, or stylesheets over insecure HTTP. Mixed content weakens the security guarantees of HTTPS, and modern browsers either block the resources outright or warn the user, often breaking the page in the process.
HTTP2 Test
99% of top 100 sites passed
This webpage is using the HTTP/2 protocol.
Verifies whether the page and its resources are delivered over HTTP/2 or newer, rather than the legacy HTTP/1.1 protocol. HTTP/2 introduces multiplexing, header compression, and prioritization, which together reduce latency and allow the browser to load many resources from the same origin far more efficiently.
HSTS Test
84% of top 100 sites passed
This webpage is not using the Strict-Transport-Security header! This is a security header that was created as a way to force the browser to use secure connections when a site is running over HTTPS.

HSTS Test

How to pass this test?

The Strict-Transport-Security (HSTS) response header tells browsers to access the site only over HTTPS, automatically upgrading future requests and refusing to fall back to HTTP. Fixing this issue means configuring the server to send the header on every HTTPS response.

Example

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Where to make the change

  • Server configuration: add the header in Nginx (add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;), Apache (Header always set Strict-Transport-Security ...), or your application's response middleware.
  • CDN: Cloudflare, Fastly, and CloudFront let you set HSTS at the edge so it applies regardless of origin configuration.
  • Cloud platforms: Netlify and Vercel allow HSTS via headers files (_headers on Netlify, vercel.json on Vercel).

Common causes and how to resolve them

  • Header not sent: add it in the server or CDN config. Confirm in DevTools, Network tab.
  • Header sent only on HTTP responses: HSTS is only honored over HTTPS, so the header must accompany the HTTPS response.
  • Short max-age: a max-age below a few months provides little protection. Bump to a year (31536000) once you are confident HTTPS is stable.
  • includeSubDomains breaking subdomains that lack HTTPS: only add this directive after every subdomain serves HTTPS. Otherwise users will lose access to the HTTP-only ones.

Best practices

  • Start with a short max-age, then ramp up: a one-week max-age lets you back out quickly if something breaks. Increase to a year once stable.
  • Add preload after testing: submit your domain to hstspreload.org so browsers ship with HSTS for your site baked in. Note that removing a preloaded site is slow.
  • Pair with HTTP-to-HTTPS redirects: HSTS only kicks in after a successful HTTPS visit. Until then, redirects do the work.
Checks whether the server sends a Strict-Transport-Security header instructing browsers to only access the site over HTTPS. HSTS protects users from protocol downgrade attacks and accidental exposure to insecure connections, and is a baseline requirement for any site handling sensitive data.
Plaintext Emails Test
97% of top 100 sites passed
This webpage does not include email addresses in plaintext.
Scans the page for email addresses written in plain text. Spambots harvest such addresses to add them to bulk mailing lists, so obfuscating contact emails or replacing them with contact forms helps reduce inbox spam without hiding the address from legitimate visitors.

Mobile usability

Score:100
Failed:0
Warnings:0
Passed:3
Meta Viewport Test
92% of top 100 sites passed
This webpage is using a viewport meta tag.
<meta name="viewport" content="width=device-width, initial-scale=1" />
Checks whether the page declares a viewport meta tag that controls how the layout scales on mobile devices. Without it, mobile browsers render the page at a default desktop width and shrink it to fit, producing unreadable text and unusable touch targets. A correct viewport declaration is the foundation of responsive design.
Media Query Responsive Test
98% of top 100 sites passed
This webpage is using CSS media queries, which is the base for responsive design functionalities.
Detects whether the page's stylesheets use CSS media queries to adapt the layout to different screen sizes. Media queries are the primary mechanism for responsive design, allowing typography, spacing, and component arrangement to adjust gracefully from phones to large desktops. Because Google now indexes the web mobile-first, the responsive mobile layout is effectively the version search engines crawl, evaluate, and rank.
Mobile Snapshot Test
Mobile view
A rendered screenshot of how the page appears on a mobile device. Useful for visually confirming that responsive layouts work as intended and for spotting issues such as overflowing content, illegible text, or broken images that automated checks alone may miss.

Advanced SEO

Score:57
Failed:4
Warnings:0
Passed:5
Structured Data Test
66% of top 100 sites passed
This webpage is using structured data.
Inspects the page for structured data markup such as JSON-LD or Microdata that follows schema.org vocabularies. Structured data helps search engines understand entities and relationships on the page, often unlocking rich result features in SERPs such as star ratings, FAQs, recipes, and product cards. It is also a primary signal AI answer engines use to extract precise facts when generating responses.
Custom 404 Error Page Test
80% of top 100 sites passed
This website is not using a custom 404 error page! Default 404 error pages result in a poor experience - it can mislead users into thinking an entire site is down or broken, greatly increases the chance they leave the website entirely, and looks unprofessional. We recommend to have a custom 404 error page in order to improve the website's user experience by letting users know that only a specific page is missing/broken (and not the entire site), providing them helpful links, the opportunity to report bugs, and potentially track the source of broken links.

Custom 404 Error Page Test

How to pass this test?

This test fails when the site does not serve a branded, helpful page for missing URLs. A custom 404 keeps users on the site by offering navigation, search, and suggested links rather than dropping them at the browser's generic error screen. Fixing this issue means designing a 404 template, ensuring it returns the correct HTTP 404 status, and pointing your server at it.

Where to make the change

  • Server configuration: point your web server at a custom 404 page. In Nginx, use error_page 404 /404.html;. In Apache, use ErrorDocument 404 /404.html.
  • WordPress: create a 404.php template in your theme. WordPress invokes it automatically for missing URLs.
  • Shopify: edit the 404.liquid template in the theme code editor.
  • Wix or Squarespace: use the platform's built-in 404 page editor in site settings.
  • Headless or framework sites: Next.js uses not-found.js, Astro uses 404.astro, and similar frameworks all have a convention for the missing-route page.

Common causes and how to resolve them

  • No custom 404 at all: create one. The minimum is the site header, navigation, a clear "page not found" message, and links to popular sections.
  • 404 page returns HTTP 200: a "soft 404" confuses search engines. Verify the response status with DevTools or curl, and configure the server to return 404 for missing routes.
  • 404 page redirects to homepage: redirecting users to the homepage hides broken URLs from analytics and search engines. Show a real 404 instead.
  • Generic browser error visible: the server is not invoking the custom template. Check the configuration directive.

Best practices

  • Keep the site chrome: show the header, footer, and navigation so users do not feel lost.
  • Offer next steps: a search box, popular links, or category navigation help users get back on track.
  • Track 404s: log missing-URL hits in analytics so you can spot broken inbound links worth fixing or redirecting.
  • Be clear about the error: "Sorry, that page does not exist" is better than vague messaging that confuses users.
Detects whether the site serves a branded, helpful page when a requested URL is not found, instead of the browser's generic error screen. A custom 404 keeps users on the site by offering navigation, search, or suggested links, which reduces frustration and protects engagement metrics that influence both UX perception and indirect SEO outcomes.
Noindex Tag Test
99% of top 100 sites passed
This webpage does not use the noindex meta tag. This means that it can be indexed by search engines.
Detects whether the page is being excluded from search engine indexes via a noindex directive in the robots meta tag or X-Robots-Tag HTTP header. A noindex on the wrong page is one of the most common ways important content silently disappears from search results, so verifying its absence on pages meant to rank is critical.
Canonical Tag Test
93% of top 100 sites passed
This webpage is using the canonical link tag. This tag specifies that the URL: https://asianproducts.net/ is preferred to be used in search results. Please ensure that this specification is correct, as canonical tags are often hard-coded and may not always reflect the latest changes in a site's URL structure.
<link href="https://asianproducts.net/" rel="canonical"/>
Detects whether the page declares a canonical link tag indicating its preferred URL. Canonical tags consolidate ranking signals across duplicate or near-duplicate URLs onto a single authoritative version, which prevents search engines from splitting authority across variants caused by query parameters, session IDs, or alternate paths. They also help AI crawlers identify the source of truth when citing the page.
Nofollow Tag Test
This webpage is using the nofollow meta tag! We recommend to use this tag carefully since search engines will not crawl all links from this webpage.

Nofollow Tag Test

How to pass this test?

This test reports on whether the page applies a nofollow directive that tells search engines not to follow outbound links. The nofollow attribute (and the related sponsored and ugc values) controls how link equity flows from your page. Fixing this issue means using the right rel value on each external link based on its purpose so signals are passed only where you intend.

Where to make the change

  • Raw HTML: add rel="nofollow", rel="sponsored", or rel="ugc" to specific outbound links rather than blanket-applying them site-wide.
  • WordPress: the block editor offers a "mark as nofollow" option per link, and SEO plugins can auto-tag external links by domain.
  • Shopify, Wix, Squarespace: editor-generated links allow rel attribute toggles; manual HTML embeds need them set explicitly.
  • Headless or framework sites: wrap external links in a component that decides the rel based on the link's classification.

Common causes and how to resolve them

  • Site-wide nofollow on every external link: overly aggressive. Reserve nofollow for sponsored, untrusted, or user-generated content.
  • Sponsored content not labeled: use rel="sponsored" on paid placements and affiliate links to comply with Google's link spam policy.
  • User-generated content unmarked: comments, forum posts, and review user submissions should use rel="ugc".
  • Trusted editorial links nofollowed: these should pass equity. Remove the nofollow.

Best practices

  • Use the most specific value: sponsored for paid links, ugc for user content, nofollow for everything else you want to disclaim. They can be combined: rel="sponsored noopener".
  • Do not nofollow internal links: "PageRank sculpting" with internal nofollow no longer works and just wastes crawl signal.
  • Audit periodically: as content ages, sponsored relationships change. Review affiliate and partner links once a year.
Detects whether the page applies a nofollow directive, either through a robots meta tag, an X-Robots-Tag header, or per-link rel attributes, that tells search engines not to follow outbound links. Google recommends nofollow for sponsored links and for user-generated content where the linked sites are not vetted, so its presence or absence has real consequences for how link equity flows.
Disallow Directive Test
Your robots.txt file includes a disallow command which instructs search engines to avoid certain parts of your website! You are advised to confirm if access to these resources or pages are intended to be blocked (e.g., if they contain internal-only content or sensitive information).
Surfaces the disallow rules declared in the site's robots.txt file. Disallow directives tell search engine crawlers not to access specific files, paths, or directories, which is useful for keeping admin sections and duplicate content out of indexes but dangerous when applied too broadly, since over-blocking can hide important pages from search.
Meta Refresh Test
98% of top 100 sites passed
This webpage is not using a meta refresh tag.
Detects whether the page uses a meta refresh tag to automatically reload or redirect after a delay. Meta refresh is largely obsolete, hurts accessibility by jumping focus and disorienting screen reader users, and is a weaker signal to search engines than a proper server-side 301 redirect. Its presence usually indicates outdated implementation worth updating.
SPF Records Test
94% of top 100 sites passed
This DNS server is not using an SPF record! SPF (Sender Policy Framework) allows administrators to specify which hosts are allowed to send mail from a given domain by creating a specific SPF record or TXT record in the Domain Name System (DNS). You can find more information about SPF records here.

SPF Records Test

How to pass this test?

The Sender Policy Framework (SPF) DNS record lists the mail servers authorized to send email on behalf of your domain. Receiving servers use it to verify that messages claiming to come from your domain are legitimate, which significantly reduces the chance of email being marked as spam. Fixing this issue means publishing an SPF record in your DNS that includes every legitimate sender and ends with a strict policy.

Example

example.com.  TXT  "v=spf1 include:_spf.google.com include:mailgun.org ~all"

Where to make the change

  • DNS provider: add a TXT record at the domain root with the SPF policy. Cloudflare, Route 53, Namecheap, GoDaddy, and similar all expose a TXT record editor.
  • Email providers: Google Workspace, Microsoft 365, and most transactional email services publish their required SPF include directives in their setup documentation.

Common causes and how to resolve them

  • No SPF record at all: add one. Even a minimal record (v=spf1 include:_spf.google.com ~all) is better than nothing.
  • Multiple SPF records: SPF only allows one TXT record per domain. Merge multiple records into a single one with all required include: directives.
  • Policy too permissive: ending with +all authorizes anyone to send as your domain. Use ~all (soft fail) or -all (hard fail) instead.
  • Missing legitimate senders: add an include: for every transactional email service (SendGrid, Mailgun, Postmark) and every marketing platform you use.
  • Too many DNS lookups: SPF caps include lookups at ten. Flatten or consolidate include: chains if you exceed it.

Best practices

  • Pair SPF with DKIM and DMARC: SPF alone is not enough. DKIM signs messages cryptographically; DMARC tells receivers what to do when SPF or DKIM fails.
  • Start with ~all, move to -all: soft fail lets you observe before strict enforcement. Move to hard fail once you are confident no legitimate sender is missing.
  • Test deliverability: tools such as MXToolbox SPF check or Google Postmaster Tools surface SPF problems before users complain.
  • Audit annually: as you add or remove email vendors, the SPF record needs to keep up.
Checks the domain's DNS for a Sender Policy Framework record. SPF lets receiving mail servers verify that messages claiming to come from the domain were actually sent by an authorized mail server, which significantly reduces the chance of legitimate email being marked as spam and protects the domain's sender reputation.
Ads.txt Validation Test
67% of top 100 sites passed
The request of ads.txt file has an unexpected Content-Type header: text/html; charset=UTF-8. In order for this resource to be easily accessed by the DSPs and advertisers, its Content-Type header should be text/plain or text/plain; charset=utf-8.

Ads.txt Validation Test

How to pass this test?

The ads.txt file is a public list of the advertising vendors authorized to sell your inventory programmatically. A correctly formatted ads.txt protects against domain spoofing in the ad supply chain and is required for inclusion in many premium advertising marketplaces. Fixing this issue means publishing a valid ads.txt at the site root with current authorized seller entries.

Example

google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0
example-ssp.com, 12345, RESELLER
contact=ads@example.com

Where to make the change

  • Raw HTML or static site: upload ads.txt to the site root so it is served at https://example.com/ads.txt.
  • WordPress: use a small plugin or upload the file via FTP. Some advertising plugins manage it automatically based on connected accounts.
  • Shopify: upload the file through the theme code editor as an asset, then expose it at the root via a route configuration.
  • Cloudflare or similar CDN: serve ads.txt from a worker if you do not have file-system access at the origin.

Common causes and how to resolve them

  • File missing: create one with at least your direct advertising relationships.
  • File at the wrong path: ads.txt must be at the domain root, not in a subdirectory.
  • Wrong relationship value: use DIRECT for direct seller relationships, RESELLER for authorized resellers. Other values are invalid.
  • Stale entries: partners change; remove relationships you no longer have so spoofers cannot exploit them.
  • Returning HTML instead of plain text: the file must be served as text/plain. A page that returns HTML or a 404 fails validation.

Best practices

  • Audit quarterly: stale entries are the main source of ads.txt vulnerabilities.
  • Mirror app-ads.txt for mobile inventory: apps use a parallel app-ads.txt file with the same syntax.
  • Add a contact line: include a contact=email@example.com line so vendors can reach the right person about ad-quality issues.
Validates the format of the site's ads.txt file, which publishers use to declare which advertising vendors are authorized to sell their inventory programmatically. A correctly formatted ads.txt protects against domain spoofing in the ad supply chain and is required for inclusion in many premium advertising marketplaces.

Dominate search today on Google and AI Engines.

Join 85,000+ SaaS Marketers, Growth Agencies, Content-Led Companies and E-commerce Brands.

See Pricing
Dashboard preview showing SEO site checkup metrics, page group insights, and issue prioritization