critical
Missing title tag
The title tag is a top-3 ranking factor for on-page SEO. Without one, Google will attempt to generate a title from the page content, which is often suboptimal and leads to lower click-through rates. Pages without titles appear unprofessional in search results and social media shares.
critical
Page has noindex directive
A noindex directive completely removes the page from search engine results. If this page should attract organic traffic, the noindex tag must be removed. Note: Google will eventually stop crawling noindexed pages altogether, meaning any link equity flowing through them is also lost over time.
critical
X-Robots-Tag HTTP header contains noindex
The X-Robots-Tag is processed before the page body is parsed, making it an authoritative signal that overrides on-page directives. If set unintentionally (often by server misconfiguration), it silently de-indexes pages without any visible indication in the HTML source, making it hard to diagnose.
high
Multiple canonical tags found
Multiple canonical tags with different URLs create conflicting signals that Google may resolve by ignoring all of them and choosing its own canonical. This defeats the purpose of canonical tags and can lead to the wrong URL being indexed, duplicate content issues, and diluted ranking signals.
high
URL contains session ID parameter
Session IDs in URLs create potentially unlimited URL variations for the same content, severely wasting crawl budget and fragmenting link equity. Search engines may index thousands of duplicate pages with different session IDs. This is one of the most damaging technical SEO issues for crawl efficiency.
high
Hreflang tags missing on multilingual page
Without hreflang tags, Google may show the wrong language version of your page to users in different countries. This leads to poor user experience, higher bounce rates, and lost traffic. Multiple language versions may also compete against each other in search results, diluting ranking signals.
high
Links implemented with JavaScript only
While Google can execute JavaScript, it does not always follow JavaScript-based navigation. Links without proper href attributes are not discoverable during the initial HTML crawl pass and may never be followed by search engines. This means the linked pages receive no link equity from this page and may not be discovered through crawling.
high
Lorem ipsum placeholder text detected
Lorem ipsum text is meaningless filler that provides no value to users or search engines. Google recognizes placeholder text and may classify the page as low-quality or incomplete. Publishing pages with placeholder text damages site-wide quality signals and user trust.
high
Meta robots tag contains nofollow
A page-level nofollow directive stops all link equity from being distributed to any page linked from this page, including your own internal pages. This can severely damage internal link equity distribution and hurt the rankings of linked pages. It is rarely the correct approach; individual link-level nofollow is preferred when needed.
high
Missing H1 heading
The H1 tag tells both users and search engines what the page is about. Google uses heading tags as a strong relevance signal when determining rankings. A missing H1 is a missed opportunity to reinforce your target keyword and topic. It also hurts accessibility, as screen readers use headings for navigation.
high
Multiple <title> tags found
When multiple title tags are present, search engines must choose one, and they may not pick the one you intend. This can result in incorrect or suboptimal titles appearing in search results, hurting click-through rates. Multiple titles also indicate HTML quality issues that may affect how the page is parsed.
high
Structured data has validation errors
Invalid structured data is completely ignored by search engines — it provides no benefit and the page will not be eligible for rich results. In some cases, intentionally misleading structured data can trigger a manual action (penalty) from Google. Errors also waste development effort, as the markup exists but provides zero value.
high
Page contains no internal links
Pages without internal links prevent crawlers from discovering other content on your site and trap users with no way to continue navigating. Internal links are crucial for distributing PageRank and helping search engines understand your site structure. A page with no outbound internal links wastes its authority.
medium
Missing canonical tag
Canonical tags are the strongest signal you can send to search engines about which URL should be indexed when multiple URLs serve similar content. Without one, search engines may index the wrong URL variant (e.g., with query parameters, trailing slashes, or mixed case), diluting ranking signals across duplicate versions.
medium
Thin content (too few words)
Google's Helpful Content system explicitly targets thin, low-value pages. Pages with minimal content are unlikely to rank for competitive queries because they cannot demonstrate the depth, expertise, or comprehensiveness that search engines reward. Thin pages across a site can also trigger site-wide quality issues, dragging down the rankings of all pages.
medium
Canonical URL is relative instead of absolute
Relative canonical URLs can be misresolved by search engines in certain edge cases, especially when pages are accessed through proxies, CDNs, or alternative domains. Google recommends using absolute URLs in canonical tags to avoid ambiguity. A relative canonical may also cause issues during site migrations or domain changes.
medium
Character encoding declaration missing
Missing charset declarations can cause text rendering issues, especially for pages with non-ASCII characters. Browsers use heuristics to guess the encoding, which may produce garbled text (mojibake). Search engines may also misinterpret the content, affecting indexing accuracy. This can also create security vulnerabilities related to encoding-based attacks.
medium
Content-Type HTTP header missing
Without a Content-Type header, browsers must sniff the content type, which can lead to incorrect rendering or security vulnerabilities (MIME sniffing attacks). Search engines may also have difficulty correctly parsing the page content without knowing the declared content type.
medium
Duplicate language code in hreflang set
Duplicate language codes create conflicting signals that may cause Google to ignore the entire hreflang set or pick an unintended URL for that language. This results in unpredictable behavior in international search results and potential traffic loss in affected regions.
medium
Hreflang set missing self-referencing entry
Google explicitly requires that hreflang annotations include a self-referencing tag. Without it, Google may ignore the entire hreflang set for this page, effectively negating all your international targeting signals. This is one of the most common hreflang implementation errors.
medium
Hreflang URL protocol mismatch
Google treats HTTP and HTTPS versions as different URLs. If your page is on HTTPS but hreflang tags point to HTTP versions, Google may not associate them correctly, breaking international targeting. This commonly happens when hreflang tags are generated before an HTTPS migration and not updated afterward.
medium
Hreflang uses invalid language code
Invalid language codes cause Google to silently ignore the hreflang annotation, meaning your international targeting will not work for the affected language/region. Common mistakes include using 'uk' for Ukrainian (should be 'uk' for country code but 'uk' is also valid as language), or using three-letter codes instead of two-letter codes.
medium
Hreflang uses relative URL
Google explicitly states that hreflang URLs must be fully qualified, including the protocol. Relative URLs in hreflang annotations will be ignored, breaking your international SEO targeting and potentially causing the wrong language version to be served to users.
medium
HTML lang attribute does not match content language
Conflicting language signals confuse search engines about which language the page is written in, potentially causing it to appear in wrong-language search results. Screen readers will also use incorrect pronunciation rules, degrading accessibility for visually impaired users.
medium
Image missing alt attribute
Image alt text is the primary way search engines understand image content. Without it, images cannot appear in Google Image Search (a significant traffic source for many sites). Missing alt text also makes the page inaccessible to visually impaired users who rely on screen readers, potentially violating accessibility laws (ADA, EAA) and reducing your audience.
medium
Link has empty anchor text
Anchor text is one of the strongest signals search engines use to understand the content of the linked page. Empty anchor text wastes this signal entirely. It also creates accessibility issues, as screen reader users cannot determine the purpose of the link.
medium
Link has malformed or empty href
Malformed links cannot pass link equity and waste crawl budget when search engines attempt to follow them. They also create poor user experience when clicked. Links with href="#" or javascript: pseudo-protocols are not crawlable by search engines, meaning any anchor text signals are lost.
medium
Missing meta description
While meta descriptions are not a direct ranking factor, they significantly influence click-through rates. Without a meta description, Google generates a snippet from page content, which is often awkward or irrelevant. A well-crafted meta description acts as ad copy for your search listing, directly affecting organic traffic volume.
medium
Multiple meta description tags found
Multiple meta descriptions send conflicting signals about the page summary. Google may use any one of them or generate its own snippet from page content instead, removing your control over how the page appears in search results. This often happens when CMS plugins each inject their own meta tags.
medium
No structured data (schema.org) found
Structured data enables rich results (star ratings, FAQ dropdowns, recipe cards, product prices, breadcrumbs, etc.) that dramatically increase click-through rates — some rich results see 20-30% higher CTR than standard listings. Without structured data, you miss opportunities for enhanced SERP visibility that competitors with markup will capture.
medium
Page redirects to a different domain
While 301 redirects to a different domain do pass link equity, the transfer is not always 100% efficient. Cross-domain redirects also complicate site migration tracking and can cause unexpected behavior with domain-level metrics. If unintentional, important pages may be sending traffic and authority to another site.
medium
Page uses meta refresh redirect
Google treats meta refresh redirects with a delay of 0 as 301 redirects, but longer delays may be treated as soft redirects that do not pass full ranking signals. Meta refreshes also create a poor user experience with a visible flash of content before redirection. Server-side 301 redirects are always preferred.
medium
Redirect chain detected
Google has confirmed it follows up to 10 redirects, but long chains slow down crawling and may result in Googlebot abandoning the chain. Each redirect hop historically lost a small amount of PageRank (though Google now says 301s pass full equity). More practically, chains increase page load time for users clicking old links.
medium
URL has excessive query parameters
Excessive query parameters multiply the number of URLs search engines must crawl, wasting crawl budget. Each parameter combination may be treated as a separate URL, fragmenting ranking signals. Google may also have difficulty determining which parameter combinations represent unique content versus duplicates.
medium
All internal links are in navigation only
Google values contextual links within the body content more highly than boilerplate navigation links. Navigation links appear on every page, so their per-page signal is diluted. Contextual links within unique content are stronger endorsements of the linked page and help search engines understand topical relationships between pages.
medium
Character encoding is not UTF-8
UTF-8 is the web's standard encoding, supporting all languages and special characters. Non-UTF-8 encodings may cause characters to display incorrectly (mojibake) in browsers, search engine indexes, and social media previews. Google strongly recommends UTF-8 for all web pages.
medium
Empty heading tag found
Empty headings waste an opportunity to provide keyword signals and structural context. Screen readers announce empty headings, confusing users who rely on heading navigation. Search engines may view empty headings as a sign of poor content quality or incomplete page development.
medium
No paragraph tags in main content
Paragraph tags provide semantic structure that helps search engines understand text content. Without them, search engines may have difficulty identifying and extracting meaningful content passages for featured snippets and passage-based ranking. Proper semantic markup also improves accessibility for screen readers.
medium
Open Graph og:image tag missing
Social media posts with images receive significantly more engagement than text-only posts. Facebook reports that posts with images see 2.3x more engagement. Without og:image, your shared links appear as plain text cards, which are easily overlooked in social feeds. This directly impacts referral traffic from social platforms.
low
Duplicate heading text on same page
Duplicate headings reduce the uniqueness and semantic clarity of the page structure. Search engines use headings to understand content hierarchy and topic segmentation. Multiple identical headings dilute these signals and can confuse both users and search engines about the page's content organization.
low
Excessive number of external links
Every external link passes some PageRank to the destination domain. Pages with an unusually high number of outbound external links distribute authority away from your site. While linking to relevant resources is good practice, excessive external links can look like a link scheme or paid links, potentially triggering spam filters.
low
Excessive use of bold/strong tags
Google considers <strong> tags as a mild emphasis signal for the bolded text. Overusing bold tags dilutes this signal and can appear manipulative. When everything is emphasized, nothing is effectively emphasized. Excessive bolding also degrades readability by creating visual noise.
low
Favicon not found
Google now displays favicons in mobile search results next to the page title. A missing favicon shows a generic globe icon, making your listing appear less professional and trustworthy compared to competitors with custom favicons. Browsers also generate 404 requests for /favicon.ico when no favicon is specified, creating unnecessary server load.
low
H1 heading is too long
A concise H1 provides a clear, focused signal about the page's primary topic. Long H1s are harder for users to scan and may weaken the keyword signal by including too many words. While there is no strict character limit, best practice is to keep H1s focused and under 70 characters.
low
H1 heading is too short
Very short H1s like 'Home' or 'Blog' do not give search engines meaningful topical signals. The H1 is one of the strongest on-page elements for indicating what a page is about. A generic or overly brief H1 wastes this opportunity.
low
Hreflang set missing x-default
Without x-default, Google has no fallback instruction for users in unlisted regions. The x-default tag ensures users who do not match any specific hreflang entry are directed to a sensible default page, such as a language selector or the English version. While not strictly required, it is strongly recommended.
low
Image has empty alt attribute
If a content-relevant image has an empty alt attribute, search engines cannot understand what the image depicts, and it will not appear in image search results. The page also loses the opportunity to reinforce topical relevance through image alt text. For users relying on screen readers, the image is completely invisible.
low
Internal link has nofollow attribute
Using nofollow on internal links wastes PageRank. The equity that would have flowed through that link is effectively lost (Google does not redistribute it to other links on the page). Internal nofollow was historically used for "PageRank sculpting," but Google has confirmed this technique no longer works and the equity is simply evaporated. Internal links should almost always be followed.
low
Link uses generic anchor text
Descriptive anchor text helps search engines understand the topic of the linked page. Generic text like 'click here' provides no topical signal and reduces the SEO value of the internal link. Google specifically recommends using descriptive anchor text that gives users and search engines context about the destination page.
low
Low text-to-HTML ratio
Pages with low text-to-HTML ratios may be viewed as thin content by search engines, as the actual informational content is a small fraction of the page. High proportions of non-content HTML also slow rendering. While not a direct ranking factor, it correlates with other content quality issues.
low
Open Graph og:description tag missing
Without og:description, social platforms extract text from the page content, which often produces awkward or irrelevant snippets. A custom og:description lets you craft a message optimized for social engagement, which can differ from the SEO-focused meta description.
low
Open Graph og:title tag missing
The og:title allows you to customize the title displayed in social media shares, which can differ from the SEO title tag. Without it, platforms use the page title, which may be truncated or contain SEO-specific formatting (separators, brand name) that looks awkward in social contexts.
low
Open Graph og:url does not match canonical
Mismatched og:url and canonical tags create confusion about the preferred URL. Social platforms and search engines receive different canonical signals, which can lead to fragmented metrics and inconsistent page identity across platforms.
low
Open Graph og:url tag missing
The og:url tag acts as a canonical for social shares, consolidating likes, shares, and comments to a single URL. Without it, shares via different URL variants (with/without tracking parameters) are counted separately, fragmenting social signals.
low
Paginated page missing rel=prev/next
Although Google announced in 2019 that it no longer uses rel=prev/next for indexing, these tags still help crawlers discover all pages in a paginated series. Bing and other search engines may still use them. They also improve accessibility and help tools understand content relationships.
low
Social media preview is incomplete
Incomplete social previews reduce the visual appeal and click-through rate of shared links. Each missing element (title, description, image) diminishes the effectiveness of social shares as a traffic driver. Complete social previews can increase click-through rates by 2-3x compared to incomplete ones.
low
Title tag is too long
Truncated titles hide important information and can reduce click-through rates. Users may not understand what the page is about if the meaningful part of the title is cut off. While excessively long titles don't directly hurt rankings, they represent a missed opportunity for clear communication in SERPs.
low
Title tag is too short
Short titles often lack the keyword richness needed to rank for target queries. They also tend to have lower click-through rates because they don't provide enough information for users to judge relevance in search results. Google may choose to rewrite very short titles, which removes your control over what appears in SERPs.
low
Too many on-page links
PageRank is divided among all links on a page, so more links means less equity passed to each destination. Pages with hundreds of links may also be perceived as low-quality or spammy directories. Excessive links create noise that makes it harder for search engines to identify which pages you consider most important through your internal linking strategy.
low
Twitter Card meta tag missing
Twitter Card tags enable rich media previews when your page is shared on Twitter/X. Without the twitter:card tag, shared links may appear as plain text without images, reducing engagement and click-through rates from one of the most important social platforms for content distribution.
low
Twitter image meta tag missing
Tweets with images receive significantly more engagement than text-only tweets. Without a twitter:image (and no og:image fallback), shared links appear without visual preview, reducing click-through rates from Twitter/X.
low
URL contains double slashes in path
Double slashes create separate URLs that serve identical content, splitting ranking signals between the clean and double-slash versions. While most servers normalize these, search engines may discover and index both variations, diluting link equity.
low
URL contains non-ASCII characters
Non-ASCII URLs are percent-encoded in HTTP requests, making them extremely long and unreadable in logs and some tools. Some older systems, email clients, and social platforms may not handle encoded URLs correctly, potentially breaking links. Google can handle internationalized URLs but recommends using UTF-8 encoding.
low
URL contains special characters
Special characters in URLs get percent-encoded (e.g., space becomes %20), making URLs ugly and difficult to share. Some older systems and crawlers may have trouble with encoded URLs. Clean, readable URLs are preferred by both users and search engines for clarity and trust.
low
URL contains uppercase characters
Uppercase URLs can lead to duplicate content when both uppercase and lowercase versions serve the same content. Users who type URLs manually tend to use lowercase, potentially creating 404 errors. Consistent lowercase URLs are an established SEO best practice that prevents URL fragmentation.
low
URL exceeds recommended length
Studies show that shorter URLs tend to rank slightly better. Long URLs are difficult for users to read, share, and remember. Some social platforms and email clients truncate long URLs, and they can appear spammy in search results. Google can handle long URLs but recommends keeping them simple and descriptive.
low
URL has too many directory levels
While Google does not penalize deep URLs directly, URL depth often correlates with click depth from the homepage. Deeply nested URLs receive less internal link equity and may be crawled less frequently. Flatter URL structures are easier for users to understand and navigate.
low
URL uses underscores instead of hyphens
Google's Matt Cutts confirmed that Google treats hyphens as word separators but does not do the same for underscores. A URL like /my_page is interpreted as 'mypage' rather than 'my page', reducing the keyword signal from the URL. While this is a minor factor, it is an easy optimization to implement.
low
WebSite schema markup missing
The WebSite schema with SearchAction enables the sitelinks search box directly in Google search results, allowing users to search your site from the SERP. This enhanced listing increases visibility and click-through rates for branded searches.
low
X-Content-Type-Options header missing
Without this header, browsers may interpret files as a different content type than intended, which can lead to XSS attacks when a malicious file is interpreted as executable script. While primarily a security concern, sites that are compromised suffer severe SEO consequences including Google Safe Browsing warnings.
low
Broken heading hierarchy
Heading hierarchy provides a semantic outline of the page content. Skipped heading levels confuse screen readers and make the content structure less clear to search engines. While not a strong direct ranking factor, a clean heading structure is part of Google's assessment of content quality and user experience. It also matters significantly for accessibility compliance (WCAG).
low
Meta description is too long
Truncated descriptions cut off your message to potential visitors. The most compelling part of your description might be hidden, reducing click-through rates. While Google often rewrites descriptions regardless, providing a well-length description gives you the best chance of controlling your search snippet.
low
Meta description is too short
Short meta descriptions waste valuable SERP real estate that could be used to differentiate your page from competitors. Google is more likely to replace a very short description with auto-generated content from the page, removing your control over the search snippet.
low
Multiple H1 headings on page
Multiple H1 tags can dilute the topical focus of the page. Search engines may be uncertain which H1 represents the primary topic. Google's John Mueller has stated that while multiple H1s are not an error, using a single H1 helps Google understand the page structure better. A clear heading hierarchy improves both SEO and user experience.
info
Content-Language HTTP header missing
The Content-Language header is a supplementary signal that helps browsers and search engines determine the page language. While Google primarily relies on the page content itself to detect language, providing consistent language signals across all channels (HTML lang, hreflang, Content-Language header) strengthens language targeting.
info
Meta keywords tag is present
The meta keywords tag is entirely ignored by Google, Bing, and most modern search engines. While it does not cause harm, it adds unnecessary code to the page and openly reveals your target keywords to anyone who views the page source, including competitors analyzing your SEO strategy.
info
Microdata format detected instead of JSON-LD
Google explicitly recommends JSON-LD over Microdata and RDFa. JSON-LD is easier to implement, maintain, and debug because it is separate from the HTML markup. Microdata requires embedding attributes throughout the HTML, making it more fragile and error-prone during template changes.
info
Open Graph og:description is too long
Facebook typically shows about 200 characters of the og:description. Content beyond that is hidden, potentially losing your call to action or key value proposition in social shares.
info
Open Graph og:locale tag missing
Without og:locale, social platforms assume the default locale (en_US). For non-English content or content targeting specific regions, the og:locale helps social platforms display the content correctly and serve it to the right audience.
info
Open Graph og:title is too long
Facebook truncates og:title at around 60-90 characters depending on the context. LinkedIn and Twitter have similar limits. A truncated title on social media reduces engagement and click-through rates from social shares.
info
Open Graph og:type tag missing
Without og:type, social platforms default to 'website' type. For articles, products, or other specific content types, setting the correct og:type can influence how the shared content is displayed and categorized on social platforms.
info
Twitter description meta tag missing
A dedicated twitter:description allows you to craft a description optimized for Twitter's character limits and audience. Without it, the fallback description may not be ideal for Twitter's preview card format.
info
Twitter site handle meta tag missing
The twitter:site tag attributes shared content to your brand's Twitter account. Without it, shared links do not show your Twitter handle in the card, missing an opportunity for brand attribution and follower growth when your content is shared.
info
Twitter title meta tag missing
While Twitter falls back to og:title, having a dedicated twitter:title allows you to customize the title specifically for Twitter's audience and format constraints, potentially improving engagement on the platform.
info
URL contains unnecessary file extension
While file extensions do not directly hurt SEO, they expose implementation details and make URLs less clean. If you later migrate from .php to .aspx, all URLs must change. Extension-free URLs are more future-proof and considered best practice for modern web architecture.