Skip to main content
Archived

SEO Report for https://www.88jl88.net

Your general SEO Checkup Score


SEO Score55/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 Visibility5/100
AI visibility score reflects brand reach in AI

Your site scored 55/100, well below the 75 average for top sites. We found 22 issues to fix, and clearing them is how you move up. And an AI Visibility Score of 5/100 means ChatGPT, Gemini and Perplexity almost never mention your brand, so a fast growing share of searches never reaches you.

22 Failed
1 Warnings
38 Passed

Want to fix these issues and track your progress?

Issues to fix

HIGH
Add a descriptive and relevant title tag to the webpage, targeting important keywords or phrases, as a missing or poor title tag can make it difficult for the page to rank well in search engines.
Details
HIGH
To implement responsive design functionalities, it is recommended to use CSS media queries.
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
H1 and H2 tags ensure better search engine visibility and ranking by providing structure and hierarchy to the content, improving readability, and providing opportunities for keyword optimization.
Details
HIGH
Add a meta description tag to provide a brief and informative summary of the page's content for search engines.
Details
HIGH
To ensure that Search Engines can accurately identify the topic of this webpage, it is important to include the most common keywords in the title tag, meta description, and heading tags.
Details
HIGH
Add a sitemap file to help search engine crawlers index content more thoroughly and quickly.
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
MEDIUM
Minify all JavaScript files to reduce page size and loading time.
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
Consider using structured data in your webpage as it can help search engines gain a better understanding of your content.
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
MEDIUM
Add a Viewport Meta Tag to optimize this webpage for mobile screens. Without a viewport meta tag, mobile devices may render pages at typical desktop screen widths, resulting in pages being scaled down and difficult to read.
Details
MEDIUM
Using social media meta tags can improve the appearance and content of shared links on social media platforms, potentially increasing click-through rates and engagement with the page.
Details
LOW
A proper character encoding declaration ensures that all characters, including non-ASCII characters, are displayed correctly in the browser, improving the readability and usability of the webpage.
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
This website either lacks a favicon or it has not been referenced properly.
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

An empty or inaccessible website homepage with no visible content to describe its purpose.

Industry Niche

Unclear / Unclassified

Target Audience

Undetermined from the available page content.

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 provides no visible content to evaluate, so its content quality cannot be assessed in a meaningful way. The absence of text, structure, and supporting information makes it effectively non-informative.

Content Strengths

  • No Visible Strengths

Content Weaknesses

  • Empty Page Content
  • No Structural Organization
  • No Credibility Signals
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
5%
Topical Relevance0%
Subject Expertise0%
Credibility20%

This webpage appears to have no visible content, so there are no meaningful topical or expertise signals to evaluate. Trust is therefore very low because the page shows no credibility markers such as policies, contact details, authorship, or supporting sources.

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

There are no visible primary or secondary freshness signals on this page. With no publish dates, time-sensitive content, or contextual cues, freshness cannot be established from the page content itself.

Staleness Signals

  • No publish or update dates
  • No time-sensitive content
  • Empty homepage content
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 main opportunity is to turn this empty or inaccessible homepage into a clear, useful entry point with basic site information and audience-focused content. Because there is no visible content, the biggest gains will come from establishing purpose, trust, and a simple content structure before expanding into deeper topics.

Quick Wins

  • •Add a one-sentence homepage headline that states the site’s purpose.
  • •Place visible footer links to About, Contact, Privacy Policy, and Terms pages.
  • •Add a short FAQ section with three common visitor questions and answers.
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:39
Failed:11
Warnings:0
Passed:8
Meta Title Test
100% of top 100 sites passed
This webpage is not using a title tag! A missing or poor title tag (that does not target important keywords or phrases) will make it difficult for your page to rank well in search engines.

Meta Title Test

How to pass this test?

The <title> tag declares the page's title and is the most influential on-page element for search rankings and click-through rate. Fixing this issue means adding exactly one unique, descriptive, properly sized title to every page on your site, then verifying it renders correctly in the search snippet. AI answer engines and LLM-driven search experiences also rely on the title to identify, attribute, and cite the page in generative results, so the same fix lifts both classic SEO and modern AEO visibility.

Example

<head>
  <title>Lightweight Running Shoes for Marathons | Acme</title>
</head>

Where to make the change

  • Raw HTML: add a single <title> element inside the <head>. There must be exactly one per page.
  • WordPress: install a dedicated SEO plugin, open the post or page editor, and fill the SEO Title field. The plugin will inject the tag and usually offers a live SERP preview.
  • Shopify: open the page, product, or collection editor, expand Search engine listing preview, and edit the Page title field.
  • Wix or Squarespace: open the page settings, locate the SEO panel, and update the Title field. The change applies on save.
  • Headless or framework sites: set the title through the framework's metadata API (for example generateMetadata in Next.js or useHead in Nuxt) so it is rendered server-side and indexed by crawlers.

Common causes and how to resolve them

  • Tag is missing entirely: add a <title> inside the <head>. This is most common on custom layout templates that forget the head metadata.
  • Multiple title tags on the same page: a theme, plugin, or analytics snippet is injecting an extra one. Inspect the rendered HTML, find the source, and disable the duplicate.
  • Empty or placeholder title: values such as "Untitled", "Home" on every page, or a CMS default like "Page" count as failures. Replace them with content-specific text.
  • Duplicate titles across pages: two or more URLs share the same title, which dilutes ranking signals. Use a site crawler or your CMS report to identify duplicates and rewrite each one.
  • Title set only by client-side JavaScript: the initial HTML response ships with no title, and some crawlers may index the empty version. Render the title server-side or pre-render it at build time.

Best practices

  • Length: aim for 50 to 60 characters, roughly 600 pixels on desktop, so the title remains fully visible in the search snippet. Longer titles still index, but the visible portion is what wins the click.
  • Front-load the primary keyword: place the most important term near the start. The first words carry the most weight for both ranking and user scanning.
  • Use a brand suffix: a common pattern is "Primary keyword phrase | Brand". The unique content goes first, the brand reinforces recognition at the end.
  • Match the page's H1 in spirit, not verbatim: the title and the H1 should describe the same topic without being identical, so each works well in its own context.
  • Avoid keyword stuffing: repeating the same term multiple times is heavily discounted by modern ranking systems and looks spammy in the snippet.
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 not using a meta description tag! You should include this tag in order to provide a brief description of your page which can be used by search engines. Well-written and inviting meta descriptions may also help click-through rates to your site in search engine results.

Meta Description Test

How to pass this test?

The meta description is a short summary of the page that often appears beneath the title in search results and on social previews. Fixing this issue means adding a unique, accurate, action-oriented description to each page so search engines and link unfurlers have a trusted snippet to surface. AI answer engines and social platforms also use the meta description as a high-trust summary when generating previews, citations, and shareable snippets, which makes the same fix valuable for AEO visibility.

Example

<head>
  <meta name="description" content="Compare lightweight marathon running shoes from leading brands. Specs, weight, drop, and verified runner reviews to help you choose your next pair.">
</head>

Where to make the change

  • Raw HTML: add a single <meta name="description"> tag inside the <head>. The element has no closing tag in HTML5.
  • WordPress: install a dedicated SEO plugin and fill the Meta description field on each post and page. Most plugins show a live SERP preview as you type.
  • Shopify: open the page, product, or collection editor, expand Search engine listing preview, and edit the Description field.
  • Wix or Squarespace: open the page settings, locate the SEO panel, and update the Description field.
  • Headless or framework sites: emit the meta tag from the framework's metadata API so it is present in the initial HTML response and reachable without running JavaScript.

Common causes and how to resolve them

  • Tag is missing: add a <meta name="description"> inside the <head>. CMS themes sometimes omit it from custom templates.
  • Empty content attribute: the tag exists but its content value is blank. Populate it with a unique, page-specific summary.
  • Duplicate descriptions across pages: the same boilerplate is applied site-wide, giving Google no reason to differentiate listings. Write a unique description for every important page; even templated product or category pages benefit from variant-specific copy.
  • Unescaped quotes in the value: a stray double quote inside the content attribute breaks the tag silently. Use single quotes or the HTML entity &quot; inside the value.
  • Description set only by client-side JavaScript: render the meta tag in the initial HTML response so search engines and social link unfurlers can read it without executing scripts.

Best practices

  • Length: aim for roughly 150 to 160 characters on desktop and about 120 on mobile. Front-load the most important message so it survives truncation on smaller screens.
  • Include the primary keyword: Google bolds matched query terms in the snippet, which improves visibility even though the description itself is not a direct ranking factor.
  • Use active, action-oriented language: tell the user what they will learn, find, or do on the page. Active verbs consistently outperform passive summaries on click-through rate.
  • One unique description per page: reuse is a wasted opportunity. Distinct descriptions help users choose your listing and help search engines understand which page is the best match for a query.
  • Expect occasional rewrites: Google sometimes ignores the meta description and generates a snippet from on-page content if it judges that more relevant for a given query. Strong on-page copy keeps both versions effective.
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://www.88jl88.net/
Mobile version
https://www.88jl88.net/
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 not using social media meta tags! While this type of meta tags don't affect what people see when they visit the webpage, they exist to provide information about it to search engines and social media platforms.

Social Media Meta Tags Test

How to pass this test?

Open Graph and Twitter Card meta tags tell social platforms, link unfurlers, and AI crawlers how to display the page when its URL is shared. Adding the right tags produces richer previews with the intended title, description, and image, which lifts click-through on social channels and gives answer engines a structured summary to work with when citing the page.

Example

<head>
  <meta property="og:title" content="Lightweight Marathon Running Shoes">
  <meta property="og:description" content="Compare specs, weight, and runner reviews.">
  <meta property="og:image" content="https://example.com/images/og-shoes.jpg">
  <meta property="og:url" content="https://example.com/shoes/marathon">
  <meta property="og:type" content="article">
  <meta name="twitter:card" content="summary_large_image">
</head>

Where to make the change

  • Raw HTML: add the meta tags directly to the <head>. Open Graph properties use property= while Twitter Card properties use name=.
  • WordPress: a dedicated SEO plugin will populate Open Graph and Twitter Card tags from the post's title, excerpt, and featured image. Override per-post when the auto-derived value is weak.
  • Shopify: most modern themes emit Open Graph tags automatically. If yours does not, edit theme.liquid to add the tags inside the <head> using product or page metadata.
  • Wix or Squarespace: open the page settings and use the social sharing image and description fields. Both platforms render the corresponding meta tags on save.
  • Headless or framework sites: emit Open Graph and Twitter Card tags from the framework's metadata API alongside the title and meta description.

Common causes and how to resolve them

  • No social meta tags at all: add at minimum og:title, og:description, og:image, and og:url. These are the four properties most platforms rely on.
  • Missing or relative og:image URL: social platforms require an absolute, publicly reachable image URL. Use a full https:// URL, not a relative path.
  • Image too small or wrong aspect ratio: aim for at least 1200 x 630 pixels so the preview renders crisply on Facebook, LinkedIn, and X without awkward cropping.
  • Stale preview cached by the platform: after fixing the tags, use the platform's debugger (Facebook Sharing Debugger, X Cards Validator, LinkedIn Post Inspector) to invalidate the cache and re-scrape the page.

Best practices

  • Use absolute URLs everywhere: og:url and og:image must be fully qualified. Relative paths break previews on most platforms.
  • Pick a dedicated social image: a single hero image at 1200 x 630 with the page's main visual covers Facebook, LinkedIn, X (with summary_large_image), and most other platforms in one shot.
  • Set a sensible og:type: use article for blog posts, website for landing pages, and product for e-commerce items. The type affects how some platforms render the preview.
  • Add Twitter-specific tags only when they differ: X falls back to Open Graph when Twitter Card tags are absent, so duplicate them only when you genuinely want a different title, image, or card type.
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
This webpage doesn't contain any keywords!
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
This webpage doesn't contain any keywords!

Keywords Usage Test

How to pass this test?

This test fails when the keywords most frequently used in your visible content do not appear in the page's title or meta description. Aligning body copy with metadata gives search engines a consistent signal about the page's primary topic and reinforces relevance for the terms you actually want to rank for.

Where to make the change

  • Raw HTML: edit the <title> and <meta name="description"> in the <head> so the dominant on-page terms appear naturally in both.
  • WordPress: update the SEO Title and Meta description fields on the post via your SEO plugin so they reflect the body's actual focus.
  • Shopify, Wix, or Squarespace: open the page's SEO settings and rewrite the title and description to include the body's leading keywords.

Common causes and how to resolve them

  • Title and body cover different topics: rewrite the title to match what the page actually says. If the body has drifted from the intended topic, decide which to keep and align the other.
  • Generic, brand-only titles: titles like "Home" or "Welcome" never align with body content. Replace them with a content-specific title that names the topic.
  • Description was auto-generated and unrelated: rewrite the meta description from scratch, leading with the page's main topic and a primary keyword.
  • Body keywords are accidental boilerplate: repeated navigation, footer, or sidebar text can dominate the keyword count. Trim or restructure those areas so the analyzer sees the unique content.

Best practices

  • Pick one focus keyword per page: decide the single topic the page targets, then make sure that term appears in the title, the meta description, and the opening paragraph.
  • Use natural variations: include synonyms and related terms in the body so the page reads naturally while still signalling the topic.
  • Audit before publishing: read the title, description, and first paragraph in isolation. If they don't tell a coherent story about the same topic, revise.
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
This webpage doesn't contain any keywords!
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 does not contain H1 headings! H1 headings help indicate the important topics of your page to search engines. While less important than good meta-titles and descriptions, H1 headings may still help define the topic of your page to search engines.

Heading Tags Test

How to pass this test?

The H1 and H2 tags give search engines and assistive technology a clean outline of the page's topics. Fixing this issue means adding a single descriptive H1 and a logical hierarchy of H2 sub-sections so the page's structure is unambiguous to both users and machines. AI answer engines also use heading structure to segment content into discrete passages they can quote or summarize, so a clean hierarchy directly helps the page get picked up in generative results.

Example

<body>
  <h1>Lightweight Running Shoes for Marathons</h1>
  <h2>What to look for in a marathon shoe</h2>
  <h2>Top picks for 2026</h2>
  <h2>How we tested</h2>
</body>

Where to make the change

  • Raw HTML: add a single <h1> near the top of the page's main content, then use <h2> for major sections and <h3> for subsections under those.
  • WordPress: in the block editor, set the post title's heading level to H1 (themes usually do this automatically) and use the Heading block for in-body H2 and H3 sections.
  • Shopify: the product or page title field renders as an H1 in most themes. Use the rich-text editor to add H2 and H3 headings inside the body.
  • Wix or Squarespace: use the heading style picker in the block editor to assign H1, H2, and H3 levels rather than just changing font size.

Common causes and how to resolve them

  • No H1 on the page: add a single <h1> that names the page's primary topic. Many themes either skip the H1 or render the site logo as one.
  • Multiple H1s: while modern HTML allows multiple H1s, most SEO tools still flag them. Pick the most important one and demote the others to H2.
  • Headings used for visual styling only: bold or large text styled to look like a heading does not help search engines or screen readers. Use the actual heading tag and style it with CSS.
  • Hierarchy skips levels: jumping from H1 directly to H3 confuses assistive technology. Keep the order H1 then H2 then H3 without gaps.

Best practices

  • One H1 per page: reserve it for the page's main subject; treat it as the in-page equivalent of the title.
  • Make headings descriptive: each heading should make sense out of context. "How we tested" is better than "Methodology" alone if the page is a product review.
  • Include keywords naturally: H1 and H2 are mid-strength ranking signals. Use the focus keyword in the H1 and supporting terms in H2s when it reads naturally.
  • Outline the page from headings alone: if you can read just the H1 and H2s and understand what the page is about, the structure is doing its job.
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 lacks a sitemap file! Sitemaps can help robots index your content more thoroughly and quickly. Read more on Google's guidelines for implementing the sitemap protocol.

Sitemap Test

How to pass this test?

An XML sitemap gives search engines and AI crawlers an explicit, machine-readable list of the URLs you want indexed, along with metadata such as last-modified dates. Fixing this issue means generating a valid sitemap, publishing it at a stable URL, and pointing crawlers to it via robots.txt and Search Console. This is especially important for large sites, sites with weak internal linking, or sites where new content needs to be discovered quickly.

Example

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-04-15</lastmod>
  </url>
  <url>
    <loc>https://example.com/blog/getting-started</loc>
    <lastmod>2026-03-22</lastmod>
  </url>
</urlset>

Where to make the change

  • Raw HTML or static site: generate the XML at build time and publish it at /sitemap.xml. Many static-site generators have a built-in sitemap option.
  • WordPress: a dedicated SEO plugin will generate and update the sitemap automatically, typically at /sitemap_index.xml.
  • Shopify: Shopify generates /sitemap.xml automatically and updates it as products and collections change.
  • Wix or Squarespace: both platforms generate the sitemap automatically and serve it at the standard root path.
  • Headless or framework sites: use the framework's built-in sitemap module (for example next-sitemap for Next.js or the @astrojs/sitemap integration) so the file is regenerated on every build.

Common causes and how to resolve them

  • No sitemap published: generate one and publish it at the site root. Reference it from robots.txt with a Sitemap: line.
  • Sitemap lists URLs that 404 or redirect: stale entries waste crawl budget and trigger Search Console warnings. Regenerate the sitemap from current published URLs only.
  • Mixed canonical and non-canonical URLs: the sitemap should list canonical URLs only. Listing both http and https, or trailing-slash variants, splits crawl signals.
  • Sitemap exceeds size limits: a single sitemap may contain at most 50,000 URLs and 50 MB uncompressed. Split larger sites into multiple sitemaps and reference them from a sitemap index file.

Best practices

  • Submit to Search Console: add the sitemap URL in Google Search Console (and Bing Webmaster Tools) so the platform tracks coverage and surfaces errors.
  • Keep lastmod accurate: Google uses lastmod as a hint when prioritizing crawls. Update it whenever the page content meaningfully changes; do not bump it on every build.
  • Exclude noindex and disallowed URLs: the sitemap should describe what you want indexed. Listing pages that are blocked from crawling sends mixed signals.
  • Use sitemap index files for multi-sitemap setups: a sitemap index aggregates child sitemaps (for example one per content type) and is the single URL you submit to search engines.
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 doesn't use "img" tags.
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
All images in this webpage are properly sized for different users' viewports.
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
All image display dimensions match the natural aspect ratio.
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
This website either doesn't have a favicon or this has not been referenced correctly!

Favicon Test

How to pass this test?

A favicon is the small icon associated with the site, shown in browser tabs, bookmarks, history listings, and increasingly in search engine results. Fixing this issue means publishing a favicon at the conventional location and declaring it in the page <head> so browsers and search engines can find and display it.

Example

<head>
  <link rel="icon" href="/favicon.ico" sizes="any">
  <link rel="icon" href="/favicon.svg" type="image/svg+xml">
  <link rel="apple-touch-icon" href="/apple-touch-icon.png">
</head>

Where to make the change

  • Raw HTML: upload favicon.ico to the site root and add the <link rel="icon"> tags in the <head>.
  • WordPress: upload the icon under Appearance, Customize, Site Identity, Site Icon. WordPress will emit the correct link tags.
  • Shopify: upload the icon under Online Store, Themes, Customize, Theme settings, Favicon.
  • Wix or Squarespace: both expose a favicon upload field in the site or design settings.
  • Headless or framework sites: place the favicon files in the public or static directory so they ship at the root paths.

Common causes and how to resolve them

  • No favicon at the root: add at least /favicon.ico. Most browsers fall back to fetching this path even when no link tag is present.
  • Wrong MIME type: if the favicon is served as text/html instead of image/x-icon or image/svg+xml, browsers will not render it. Check the response in the network tab.
  • Cached old icon after replacement: browsers cache favicons aggressively. Append a query string (?v=2) to bust the cache.
  • Missing high-resolution variants: modern devices need 180 x 180 (Apple), 192 x 192 (Android), and 512 x 512 (PWA) sizes for crisp rendering.

Best practices

  • Provide an SVG version: SVG favicons scale crisply at any size and support light or dark scheme variants.
  • Include an Apple touch icon: a 180 x 180 PNG named apple-touch-icon.png at the root makes the site look correct when added to an iOS home screen.
  • Use a consistent visual identity: the favicon should match the brand mark so users recognize the site at a glance in tabs and bookmarks.
  • Test in both light and dark mode: some browsers render the tab background differently. Make sure the icon stays legible in both.
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
There are no severe JavaScript errors on this webpage.
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 doesn't have any warnings or errors caught by the Chrome DevTools Console.
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 doesn't have a character encoding declaration! If the server doesn't specify which character encoding format it's using when it sends an HTML file, the browser may display some characters incorrectly. A character encoding declaration is required (either in the Content-Type header or explicitly in the file using a meta tag) even when all characters are in the ASCII range, because a character encoding is needed to process non-ASCII characters entered by the user in forms, in URLs generated by scripts, and so forth.

Charset Declaration Test

How to pass this test?

The character encoding declaration tells the browser how to interpret the bytes in the HTML response. Without it, browsers must guess, which can produce garbled symbols, broken accented characters, and inconsistent rendering across devices. Fixing this issue means declaring UTF-8 as the very first element inside the page <head>.

Example

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example page</title>
</head>

Where to make the change

  • Raw HTML: add <meta charset="UTF-8"> as the first child of <head>, before the title and any other meta tags.
  • WordPress, Shopify, Wix, Squarespace: all major CMS platforms emit the charset declaration automatically. If the test still fails, check for a custom theme that overrides the default head.
  • Headless or framework sites: verify the base layout file includes the meta charset; most starter templates do.

Common causes and how to resolve them

  • Tag is missing entirely: add <meta charset="UTF-8"> at the very top of the head.
  • Tag is present but appears too late in the head: the declaration must be within the first 1024 bytes of the HTML, otherwise the browser may have already started decoding incorrectly. Move the tag above any large inline content.
  • Conflicting Content-Type header: if the HTTP response declares a different charset, the header wins. Update the server configuration so both agree on UTF-8.
  • Legacy non-UTF-8 encoding: if the document was authored in ISO-8859-1 or Windows-1252, convert the file to UTF-8 in your editor; otherwise re-saving with the new declaration will mangle existing characters.

Best practices

  • Always use UTF-8: it covers every script in active use and is the de-facto standard on the modern web.
  • Declare the language too: a lang attribute on <html> helps screen readers, translation tools, and search engines correctly classify the content.
  • Configure the server: the response header (Content-Type: text/html; charset=UTF-8) and the meta tag should agree. The header is the authoritative source.
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:69
Failed:5
Warnings:1
Passed:13
HTML Page Size Test
23% of top 100 sites passed
The size of this webpage's HTML is 0.03 Kb and is under the average webpage's HTML size of 33 Kb. Faster loading websites result in a better user experience, higher conversion rates, and generally better search engine rankings.
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 0 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 gzip compression on your code. The HTML code is compressed from 0.04 Kb to 0.03 Kb (15% 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 6.35 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.5 %
4.35 Mb
javascript
33.0 %
2.68 Mb
css
12.5 %
1.01 Mb
other
1.0 %
86.02 Kb
html
0.0 %
1.91 Kb
font
0.0 %
0 B
TOTAL
100%
8.13 Mb
Requests by content type
Content type
Percent
Requests
image
49.3 %
66
javascript
23.1 %
31
other
17.9 %
24
css
8.2 %
11
html
1.5 %
2
font
0.0 %
0
TOTAL
100%
134
Content size by domain
Domain
Percent
Size
88jl88.net
76.4 %
6.21 Mb
images.384894992.com
19.7 %
1.60 Mb
cdn.jsdelivr.net
3.1 %
261.34 Kb
cdnjs.cloudflare.com
0.8 %
64.57 Kb
images.1649348.com
0.0 %
769 B
TOTAL
100%
8.13 Mb
Requests by domain
Domain
Percent
Requests
88jl88.net
57.5 %
77
images.384894992.com
38.1 %
51
cdn.jsdelivr.net
2.2 %
3
cdnjs.cloudflare.com
1.5 %
2
images.1649348.com
0.7 %
1
TOTAL
100%
134
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 not serving all resources (images, javascript and css) from CDNs!

CDN Usage Test

How to pass this test?

A Content Delivery Network serves static assets from edge locations close to the user, reducing latency, improving cache hit rates, and offloading traffic from the origin server. Fixing this issue means routing your images, JavaScript, CSS, and fonts through a CDN so visitors anywhere in the world get fast, consistent delivery.

Where to make the change

  • Cloud platforms: Cloudflare, Fastly, AWS CloudFront, Bunny.net, and similar providers offer free or low-cost CDN tiers. Sign up, point your domain through the CDN, and enable caching for static asset paths.
  • WordPress: use a CDN integration plugin or sign up directly with Cloudflare and update the site's nameservers.
  • Shopify: Shopify serves storefront assets through its own CDN automatically; the failure usually points at custom assets uploaded outside the platform.
  • Headless or framework sites: deploying to Vercel, Netlify, or Cloudflare Pages puts the entire site behind a global CDN by default.

Common causes and how to resolve them

  • No CDN at all: add one. Even a free Cloudflare account in front of an existing host produces measurable speed gains.
  • CDN configured but bypassed for some assets: ensure all img, script, link, and font URLs use the CDN hostname rather than the origin.
  • Cache headers prevent caching: long-lived assets need cache-control headers like public, max-age=31536000, immutable. Without them, the CDN cannot cache effectively.
  • Origin-only third-party scripts: many vendors already serve their scripts via their own CDN. Use the URL the vendor provides rather than self-hosting.

Best practices

  • Use a versioned asset path: filenames like app.a3f9.css let you set far-future cache headers without ever serving stale files. Update the filename when content changes.
  • Enable Brotli at the edge: most CDNs can compress responses on the fly, including text formats.
  • Pre-warm caches for new launches: after a major release, request key URLs through every region (or use the CDN's purge-and-prefetch tools) so users do not hit cold caches.
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 not using images with large metadata.
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 using cache headers for all JavaScript resources.
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
This webpage is using JavaScript files that are not minified!

JavaScript Minification Test

How to pass this test?

This test fails when external JavaScript files are not minified. Minification strips whitespace, comments, and shortens identifiers, producing smaller files that are faster to download and parse. Fixing this issue is almost always a build configuration change rather than a code change.

Where to make the change

  • Build pipeline: enable minification in your bundler. Webpack, Rollup, Vite, esbuild, and Parcel all minify by default in production mode.
  • WordPress: a caching or optimization plugin can minify enqueued scripts on the fly.
  • Shopify: Shopify serves theme JavaScript minified automatically when delivered through the platform asset pipeline.
  • CDN-based minification: Cloudflare and others offer auto-minify for JavaScript responses if you cannot change the build.

Common causes and how to resolve them

  • Build running in development mode: ensure the production build (NODE_ENV=production or equivalent) runs in deploy.
  • Minifier disabled in config: a previous config tweak may have turned minification off. Re-enable it explicitly.
  • Inline scripts not minified: minifiers usually skip inline scripts. Move large inline scripts to external files so they are processed.

Best practices

  • Pair minification with compression: a minified file compresses even better with Brotli or Gzip.
  • Ship sourcemaps: upload sourcemaps to your error monitoring tool so production stack traces remain readable.
  • Use modern syntax targets: targeting modern browsers in your build produces smaller output than transpiling everything down to ES5.
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 not using render-blocking resources.
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 0.000 seconds. To provide a good user experience, Google recommends that sites should strive to have a TTFB of 0.8 seconds or less.
0 s
0.8 s
1.8 s
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.
Largest Contentful Paint Test
77% of top 100 sites passed
The Largest Contentful Paint duration of this webpage is 0.0 seconds. To provide a good user experience, Google recommends that sites should strive to have Largest Contentful Paint of 2.5 seconds or less.
0 s
2.5 s
4 s
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.0000. To provide a good user experience, Google recommends that sites should strive to have a CLS score of 0.1 or less.
0
0.1
0.25
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:100
Failed:0
Warnings:0
Passed:6
URL Canonicalization Test
93% of top 100 sites passed
https://www.88jl88.net/ and https://88jl88.net/ resolve to the same URL.
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.
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 using the Strict-Transport-Security header.
strict-transport-security:max-age=16070400;includesubdomains;preload
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:0
Failed:2
Warnings:0
Passed:1
Meta Viewport Test
92% of top 100 sites passed
This webpage does not have a viewport meta tag! Add a viewport meta tag to optimize your webpage for mobile screens.

Meta Viewport Test

How to pass this test?

The viewport meta tag 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. Fixing this issue means adding a single, correctly configured viewport meta tag inside the <head>. See the MDN reference for the full attribute list.

Example

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

Where to make the change

  • Raw HTML: add the meta tag inside the <head> on every page.
  • WordPress, Shopify, Wix, Squarespace: all major CMS platforms include the viewport tag in their default templates. If the test still fails, a custom theme is overriding the head.
  • Headless or framework sites: the framework's base layout file should include the tag; most starters do.

Common causes and how to resolve them

  • Tag is missing: add it. The minimal correct value is width=device-width, initial-scale=1.
  • Fixed width in the tag: width=1024 or similar forces a desktop layout on mobile. Use device-width instead.
  • User scaling disabled: avoid user-scalable=no, maximum-scale=1, or minimum-scale=1. They harm accessibility for users who need to zoom.
  • Multiple viewport tags: only the first one wins. Remove duplicates a plugin or template may have added.

Best practices

  • Stick to width=device-width, initial-scale=1: the safest default for nearly every responsive site.
  • Allow user zoom: never disable it. Accessibility regulations and most usability guides treat this as a baseline requirement.
  • Pair with responsive CSS: the meta tag enables responsive design, but the layout itself must be built with media queries or modern responsive units.
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 not using CSS media queries. We recommend the use of this technique in order to implement responsive design functionalities.

Media Query Responsive Test

How to pass this test?

This test fails when the page's stylesheets do not 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 across devices. Because Google now indexes the web mobile-first, the responsive mobile layout is effectively the version search engines crawl, evaluate, and rank.

Example

/* Mobile-first base styles */
.card { padding: 16px; font-size: 16px; }

/* Tablet and up */
@media (min-width: 768px) {
  .card { padding: 24px; font-size: 18px; }
}

/* Desktop */
@media (min-width: 1024px) {
  .card { padding: 32px; font-size: 20px; }
}

Where to make the change

  • Stylesheets: add @media blocks for the breakpoints your design needs. Start with mobile-first base styles and layer larger screens on top.
  • WordPress: most modern themes are responsive. If yours is not, switch to a current theme or add custom CSS for breakpoints.
  • Shopify, Wix, Squarespace: all platforms ship responsive themes by default; failures usually point at custom CSS that hard-codes desktop widths.
  • Headless or framework sites: CSS frameworks like Tailwind, Bootstrap, and CSS Modules all include responsive utilities; ensure you are using them.

Common causes and how to resolve them

  • No media queries at all: add a few breakpoints based on your design. Common choices are 480, 768, 1024, and 1280 pixels.
  • Fixed pixel widths everywhere: replace with relative units (rem, %, vw) and let media queries handle major layout shifts.
  • Desktop-first styles overriding mobile: reorder so mobile styles are the base and larger breakpoints add desktop refinements.
  • Modern layout primitives missing: CSS Grid and Flexbox often eliminate the need for many media queries by responding naturally to available space.

Best practices

  • Mobile-first: base styles target mobile; min-width media queries layer enhancements for larger screens.
  • Use container queries where supported: they let components respond to their container's size rather than the viewport, which is often more useful.
  • Test on real devices: emulator views miss real-world issues such as touch target size and font rendering. Test on actual phones too.
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:33
Failed:4
Warnings:0
Passed:5
Structured Data Test
66% of top 100 sites passed
This webpage doesn't take the advantages of HTML Microdata or JSON-LD specifications in order to use structured data! View Google's guide for getting started with structured data.

Structured Data Test

How to pass this test?

Structured data is a standardized way to label the entities and relationships on a page so search engines and AI answer engines can understand them. Adding the right schema helps unlock rich result features in SERPs (star ratings, FAQs, product cards, recipes, events) and gives AI answer engines precise facts to extract when generating responses. Fixing this issue means picking the schema types that match your content and embedding them as JSON-LD inside the page <head>. See the Google Search Central structured data guide for the full type catalog.

Example

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to choose marathon running shoes",
  "author": { "@type": "Person", "name": "Jane Doe" },
  "datePublished": "2026-04-15",
  "image": "https://example.com/images/hero.jpg"
}
</script>

Where to make the change

  • Raw HTML: embed a JSON-LD block inside the <head>. JSON-LD is Google's preferred format because it does not interleave with visible content.
  • WordPress: a dedicated SEO plugin generates JSON-LD for articles, products, breadcrumbs, and FAQ blocks automatically. Customize the templates for non-standard content.
  • Shopify: Shopify themes emit Product schema by default. Extend with custom types via theme code edits.
  • Wix or Squarespace: built-in blocks for FAQ, recipe, and event content emit schema automatically.
  • Headless or framework sites: generate JSON-LD from your content data in the layout component so every page ships consistent schema.

Common causes and how to resolve them

  • No structured data at all: add at minimum the @type that matches the page (Article for blog posts, Product for product pages, Organization for the homepage).
  • Wrong schema type for the content: using Product schema on an article page misleads search engines. Pick the type that matches what the page actually is.
  • Required properties missing: each schema type has required fields. Validate with the Rich Results Test to surface missing properties.
  • Markup does not match visible content: Google penalizes structured data that asserts facts the page does not show. Reflect what is actually on the page.
  • Multiple conflicting blocks: a theme and an SEO plugin both emit schema for the same entity. Pick one source of truth.

Best practices

  • Validate before shipping: Google's Rich Results Test and Schema Markup Validator catch syntax errors and missing required fields.
  • Use JSON-LD: easier to maintain than Microdata or RDFa and Google's preferred format.
  • Cover the obvious wins: Article, Product, BreadcrumbList, Organization, and FAQPage are the highest-impact types for most sites.
  • Keep schema accurate: wrong or exaggerated schema can lead to Google removing rich result eligibility for the entire site.
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 does not use the canonical link tag.
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 does not use the nofollow meta tag. This means that search engines will crawl all links from this webpage.
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. 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