Master Issues Index
111 Intentional IssuesSearchable and filterable table of all intentional SEO issues present on this test site. Use this to locate which page demonstrates each issue.
Showing 111 of 111 issues
| # | Requirement | Priority | Toggle Group | Page | Script |
|---|---|---|---|---|---|
| #1 | HTTPS enabled with valid SSL certificate XeoPix crawler can validate headers | CRITICAL | HTTP Security Headers | Security Headers | Possible |
| #2 | No mixed content warnings (HTTP assets on HTTPS pages) Use crawler to scan for http:// in content | CRITICAL | HTTP Security Headers | Security Headers | Possible |
| #136 | Strict-Transport-Security (HSTS) header set on server Enforces HTTPS and prevents downgrade attacks; trust signal | IMPORTANT | HTTP Security Headers | Security Headers | Possible |
| #137 | Content-Security-Policy (CSP) header configured Prevents XSS; Google considers site security a ranking factor | IMPORTANT | HTTP Security Headers | Security Headers | Manual |
| #139 | Referrer-Policy header set on server Controls referrer info sent to linked sites | STANDARD | HTTP Security Headers | Security Headers | Possible |
| #140 | X-Frame-Options or CSP frame-ancestors directive set Prevents clickjacking; a trust and security signal | IMPORTANT | HTTP Security Headers | Security Headers | Possible |
| #185 | No mixed active content (inline scripts/styles loading over HTTP) Browser blocks mixed active content; breaks page; hurts trust signals | CRITICAL | HTTP Security Headers | Security Headers | Possible |
| #3 | XML sitemap created at /sitemap.xml Implement with sitemap-parser.js | CRITICAL | Crawl Behaviour | Homepage | Possible |
| #5 | robots.txt configured and tested Use robots-txt-parser.js to validate | CRITICAL | Crawl Behaviour | Homepage | Possible |
| #8 | All redirects in place (301/302 correct) Use redirect-tracker.js to validate | CRITICAL | Crawl Behaviour | Crawl Issues | Possible |
| #9 | No broken internal links HTTP status tracking in crawler | CRITICAL | Crawl Behaviour | Crawl Issues | Possible |
| #10 | www vs non-www redirects correct Test both versions redirect properly | CRITICAL | Crawl Behaviour | Crawl Issues | Possible |
| #11 | No redirect chains or loops Redirect chains and loops hurt SEO performance; validated with redirect-tracker.js | IMPORTANT | Crawl Behaviour | Crawl Issues | Possible |
| #14 | Crawl depth shallow (3 clicks from homepage) Verify with crawler depth analysis | IMPORTANT | Crawl Behaviour | Crawl Issues | Possible |
| #17 | No orphan pages (all linked somewhere) Crawler linkage analysis | STANDARD | Crawl Behaviour | Crawl Issues | Possible |
| #50 | External links use noopener noreferrer Prevents reverse tabnapping attack and leaks of opener reference | STANDARD | Crawl Behaviour | Crawl Issues | Possible |
| #157 | Image sitemap created (separate or <image:image> entries in main sitemap) Helps Google discover and index images that may not be found via crawl | IMPORTANT | Crawl Behaviour | Crawl Issues | Manual |
| #164 | Sitemap: directive declared in robots.txt pointing to sitemap URL Additional sitemap discovery method used by all major crawlers | IMPORTANT | Crawl Behaviour | Homepage | Possible |
| #165 | Crawl-delay directive set where server needs rate limiting Protects server from overload; respects crawl budget | STANDARD | Crawl Behaviour | Crawl Issues | Possible |
| #166 | Search results pages blocked in robots.txt (e.g. Disallow: /?s=) Prevents crawl budget waste and duplicate content from internal search | IMPORTANT | Crawl Behaviour | Homepage | Possible |
| #172 | Canonical URL matches exactly the URL in XML sitemap Mismatch causes Google to choose a different canonical than intended | IMPORTANT | Crawl Behaviour | Page SEO Basics | Possible |
| #175 | Canonical tag not blocked by robots.txt (Google must be able to access canonical) If canonical page is blocked Google cannot validate it | CRITICAL | Crawl Behaviour | Crawl Issues | Possible |
| #180 | Video sitemap created with <video:video> entries (duration, thumbnail, URL) Required for video rich results and Google Video index | STANDARD | Crawl Behaviour | Crawl Issues | Possible |
| #187 | GPTBot (OpenAI) explicitly allowed or disallowed in robots.txt GPTBot crawls for ChatGPT training data; deliberate allow/disallow decision required | IMPORTANT | Crawl Behaviour | Crawl Issues | Possible |
| #188 | ClaudeBot (Anthropic) explicitly allowed or disallowed in robots.txt ClaudeBot crawls for Anthropic AI training; requires explicit robots.txt decision | IMPORTANT | Crawl Behaviour | Crawl Issues | Possible |
| #189 | PerplexityBot explicitly allowed or disallowed in robots.txt Allowing PerplexityBot enables site content to surface in Perplexity AI answers | IMPORTANT | Crawl Behaviour | Crawl Issues | Possible |
| #190 | Google-Extended bot rule set in robots.txt (used for Gemini/Vertex AI training) Separate from Googlebot; controls whether content feeds Google generative AI products | IMPORTANT | Crawl Behaviour | Crawl Issues | Possible |
| #191 | CCBot (Common Crawl) rule set in robots.txt Common Crawl dataset powers many open-source LLMs; explicit allow/disallow required | STANDARD | Crawl Behaviour | Crawl Issues | Possible |
| #199 | llms-full.txt published for AI systems requiring full-content access Extended version of llms.txt; provides complete page content for AI ingestion | STANDARD | Crawl Behaviour | Crawl Issues | Possible |
| #220 | Moved/deleted pages return 301 redirect (not instant 404) for at least 1 year 301 passes link equity to new URL; abrupt 404 on moved pages loses accumulated PageRank | IMPORTANT | Crawl Behaviour | Crawl Issues | Possible |
| #227 | Page indexability audit: critical pages confirmed indexable (no unintentional noindex, not blocked by robots.txt, returning HTTP 200) Aggregate indexability check — combines noindex meta, robots.txt disallow, and HTTP status | IMPORTANT | Crawl Behaviour | Homepage | Possible |
| #103 | <meta charset="UTF-8"> declared in <head> Required for correct character encoding | CRITICAL | HTML Head Tags | Head Tags | Possible |
| #104 | <meta name="viewport" content="width=device-width, initial-scale=1"> present Google uses this to determine mobile-friendliness | CRITICAL | HTML Head Tags | Head Tags | Possible |
| #105 | <html lang="xx"> attribute set with correct language code Checks whether the page declares its primary language | CRITICAL | HTML Head Tags | Head Tags | Manual |
| #106 | <meta name="robots" content="max-snippet:-1, max-image-preview:large, max-video-preview:-1"> set Unlocks rich snippets and large thumbnail previews in SERPs | IMPORTANT | HTML Head Tags | Head Tags | Possible |
| #107 | <meta name="author"> tag set on article/blog pages Signals content authorship for E-E-A-T | STANDARD | HTML Head Tags | Head Tags | Possible |
| #108 | <meta name="google-site-verification"> OR DNS/file verification in place Required to claim property in Google Search Console | IMPORTANT | HTML Head Tags | Head Tags | Possible |
| #109 | <meta name="msvalidate.01"> Bing site verification tag present Required to verify site in Bing Webmaster Tools | STANDARD | HTML Head Tags | Head Tags | Possible |
| #110 | <meta http-equiv="content-language"> or HTTP Content-Language header set Declares content language for search engines and browsers | STANDARD | HTML Head Tags | Head Tags | Possible |
| #112 | <meta name="referrer" content="no-referrer-when-downgrade"> present Controls referrer data passed to external links | STANDARD | HTML Head Tags | Head Tags | Possible |
| #130 | <link rel="sitemap" type="application/xml" href="/sitemap.xml"> in <head> Helps crawlers discover sitemap directly from HTML | STANDARD | HTML Head Tags | Head Tags | Possible |
| #6 | Canonical tags on all pages Extract with seo-extractor.js | CRITICAL | Page SEO Basics | Page SEO Basics | Possible |
| #13 | Page uses rel=next/rel=prev or equivalent pagination signals Extract pagination metadata | IMPORTANT | Page SEO Basics | Page SEO Basics | Possible |
| #15 | URL structure clean (lowercase hyphens) Validate with URL normalization | STANDARD | Page SEO Basics | Page SEO Basics | Possible |
| #16 | Trailing slash consistency Enforce site-wide settings | STANDARD | Page SEO Basics | Page SEO Basics | Possible |
| #39 | Every page has unique title tag (50-60 chars) Extract with seo-extractor.js | CRITICAL | Page SEO Basics | Page SEO Basics | Possible |
| #40 | Every page has unique meta description (150-160 chars) Extract with seo-extractor.js | CRITICAL | Page SEO Basics | Page SEO Basics | Possible |
| #43 | No duplicate elements, on page only Crawler duplicate page elements detection, Exact string match | CRITICAL | Page SEO Basics | Page SEO Basics | Possible |
| #44 | H1-H6 heading hierarchy logical Extract and validate structure | IMPORTANT | Page SEO Basics | Page SEO Basics | Possible |
| #173 | Canonical tag points to HTTPS not HTTP version HTTP canonical on HTTPS page confuses crawlers | CRITICAL | Page SEO Basics | Page SEO Basics | Possible |
| #174 | Self-referencing canonical on every page (not just duplicate pages) Prevents Google from selecting an unintended canonical version | IMPORTANT | Page SEO Basics | Page SEO Basics | Possible |
| #212 | Title tag and meta description present in server-rendered HTML (not injected only by JS) JS-only meta injection may be missed by crawlers; must be in SSR HTML output | CRITICAL | JavaScript SEO Rendering | Page SEO Basics | Possible |
| #22 | Images compressed (WebP/AVIF format) Image optimization tools required | IMPORTANT | Image Analysis | Image Issues | Possible |
| #23 | Images have width/height attributes Prevents layout shift | IMPORTANT | Image Analysis | Image Issues | Possible |
| #42 | All images have descriptive alt text and for screen readers Check imagesWithoutAlt field | CRITICAL | Image Analysis | Image Issues | Possible |
| #51 | Image filenames descriptive Not img001.jpg | STANDARD | Image Analysis | Image Issues | Possible |
| #97 | Open Graph tags set Social sharing metadata | IMPORTANT | Social & Open Graph | Social OpenGraph | Possible |
| #99 | Twitter Card meta tags Social sharing metadata | STANDARD | Social & Open Graph | Social OpenGraph | Possible |
| #119 | og:image:width and og:image:height meta tags set (1200×630 recommended) Without dimensions Facebook/LinkedIn may not display image | IMPORTANT | Social & Open Graph | Social OpenGraph | Possible |
| #120 | og:locale set (e.g. en_US) Tells social platforms the language and regional format | IMPORTANT | Social & Open Graph | Social OpenGraph | Possible |
| #121 | og:site_name meta tag present Shows site name alongside shared content on Facebook/Slack | IMPORTANT | Social & Open Graph | Social OpenGraph | Possible |
| #122 | og:image:alt meta tag set (accessible description of OG image) Accessibility requirement for screen readers on social platforms | IMPORTANT | Social & Open Graph | Social OpenGraph | Possible |
| #123 | article:published_time meta tag on blog/article pages Used by Google and social platforms to show publish date | IMPORTANT | Social & Open Graph | Social OpenGraph | Possible |
| #124 | article:modified_time meta tag on updated content Signals freshness to crawlers | IMPORTANT | Social & Open Graph | Social OpenGraph | Possible |
| #125 | article:author meta tag linking to author profile Supports E-E-A-T and author attribution | STANDARD | Social & Open Graph | Social OpenGraph | Possible |
| #126 | article:section and article:tag set on categorized content Content categorization for social sharing context | STANDARD | Social & Open Graph | Social OpenGraph | Possible |
| #127 | twitter:site (@handle of website) meta tag set Links the card to the publishing site's Twitter account | STANDARD | Social & Open Graph | Social OpenGraph | Possible |
| #128 | twitter:creator (@handle of author) meta tag set on articles Attributes content to the specific author's Twitter profile | STANDARD | Social & Open Graph | Social OpenGraph | Possible |
| #129 | twitter:image:alt meta tag set Alt text for Twitter card image (accessibility) | IMPORTANT | Social & Open Graph | Social OpenGraph | Possible |
| #57 | Organization/LocalBusiness schema JSON-LD format | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #58 | WebSite schema with SearchAction Sitelinks search box | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #59 | BreadcrumbList schema Breadcrumb navigation | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #60 | Article/BlogPosting schema (blog) Blog post metadata | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #61 | Review/Rating schema For product reviews | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #62 | FAQ schema on FAQ sections FAQ snippet optimization | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #63 | Event schema for event pages Event metadata | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #75 | LocalBusiness schema on location page JSON-LD format | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #147 | VideoObject schema on all pages with embedded video content Enables video rich results in Google Search (thumbnail, timestamp) | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #148 | Person schema on author profile pages Supports E-E-A-T by linking author credentials to content | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #149 | HowTo schema on instructional/tutorial pages Enables How-to rich results with numbered steps in SERPs | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #150 | SpeakableSpecification schema for voice-search content Marks content suitable for Google Assistant read-aloud | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #151 | ItemList schema on list/collection pages and category pages Enables carousel rich results for list-style content | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #152 | JobPosting schema on careers/jobs pages Enables Google for Jobs integration | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #153 | Service schema on service/product offering pages Provides structured service information to search engines | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #154 | ImageObject schema embedded within Article/Product schemas Provides image metadata (dimensions, license, caption) to crawlers | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #155 | Offer schema nested inside Product schema (price, currency, availability) Enables price and availability rich results in Google Shopping | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #156 | AggregateRating schema nested inside Product/LocalBusiness Enables star rating rich results in SERPs | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #231 | Product Schema Missing E-commerce product pages are missing Product schema, causing the site to lose eligibility for Google Shopping rich results, price snippets, and availability display in SERPs. | CRITICAL | Structured Data & Rich Results | Structured Data | Possible |
| #232 | Offer Schema Missing or Incomplete Product pages have a Product schema block but the nested Offer is absent or missing required fields, preventing Google from displaying price and availability in rich results. | CRITICAL | Structured Data & Rich Results | Structured Data | Possible |
| #234 | SiteLinksSearchBox Schema Missing The homepage WebSite schema is present but missing the SearchAction property, preventing Google from displaying a Sitelinks Search Box beneath the homepage result for branded queries | STANDARD | Structured Data & Rich Results | Structured Data | Possible |
| #235 | SoftwareApplication Schema Missing SaaS or app product pages are missing SoftwareApplication schema, preventing display of ratings, pricing, and OS compatibility in Google rich results | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #236 | WebPage Schema Missing The page is missing a WebPage schema block (or appropriate subtype), reducing the ability of search engines to classify the page's content type and intent | IMPORTANT | Structured Data & Rich Results | Structured Data | Possible |
| #12 | Hreflang tags (for multi-language sites) Parse link[rel=alternate][hreflang] | IMPORTANT | International SEO | International SEO | Possible |
| #135 | x-default hreflang tag for international site root/homepage Tells Google which page to show when no language-specific match found | IMPORTANT | International SEO | International SEO | Possible |
| #168 | hreflang self-referencing tag (each page references itself) Every hreflang page must include a self-referencing hreflang tag | IMPORTANT | International SEO | International SEO | Possible |
| #170 | RTL dir="rtl" on <html> for Arabic/Hebrew/Persian content Required for right-to-left language support | STANDARD | International SEO | International SEO | Possible |
| #171 | Separate URLs per language (subdirectory or ccTLD, not just cookies) Google recommends distinct URLs per locale for proper indexation | IMPORTANT | International SEO | International SEO | Possible |
| #67 | No lorem ipsum text Final content review | CRITICAL | Content & Readability | Content Readability | Possible |
| #70 | Author bios on blog posts Credibility signal | IMPORTANT | Content & Readability | Content Readability | Possible |
| #226 | Content readability score (Flesch-Kincaid) measured and appropriate for target audience Readability is an AEO quality signal; tracked as readability_score; Grade 8 or below recommended | IMPORTANT | AEO Content Signals | Content Readability | Manual |
| #100 | Favicon and Apple Touch Icon set Brand presence | STANDARD | Link Rel Tags | Head Tags | Possible |
| #131 | <link rel="alternate" type="application/rss+xml"> for blog RSS feed Enables RSS discovery for feed readers and aggregators | STANDARD | Link Rel Tags | Head Tags | Possible |
| #132 | <link rel="manifest" href="/manifest.json"> for PWA sites Required for PWA installability and app metadata | STANDARD | Link Rel Tags | Head Tags | Possible |
| #133 | <link rel="icon" sizes="32x32"> and <link rel="icon" sizes="16x16"> variants Different favicon sizes for different contexts and browsers | STANDARD | Link Rel Tags | Head Tags | Possible |
| #134 | <link rel="amphtml" href="..."> on pages with AMP versions Links canonical page to its AMP counterpart | STANDARD | Link Rel Tags | Content & Readability | Possible |
| #141 | Key page regions use semantic HTML5 elements instead of generic containers Helps crawlers understand page structure and content hierarchy | IMPORTANT | Semantic HTML | Page SEO Basics | Possible |
| #142 | <figure> and <figcaption> wrap images with captions Provides image context to crawlers beyond alt text | STANDARD | Semantic HTML | Page SEO Basics | Possible |
| #186 | llms.txt file created at /llms.txt (AI model content manifest) Emerging standard; tells LLMs what site content is available for citation. FILE INTENTIONALLY ABSENT — /llms.txt returns 404 (test case for scanner detection) | IMPORTANT | GEO & AI Engine Signals | Crawl Issues | Possible |
| #214 | URL parameters handled: canonical or noindex on parameterized URLs (?sort= ?filter= ?ref=) Unhandled URL parameters create duplicate indexable URLs and waste crawl budget | IMPORTANT | URL Parameter Audit | Page SEO Basics | Possible |
| #215 | Faceted navigation handled: noindex or canonical on filter/sort combination pages E-commerce faceted pages create thousands of near-duplicate URLs without proper handling | IMPORTANT | URL Parameter Audit | Page SEO Basics | Possible |
| #218 | Canonical tags contain clean URLs (no tracking params like ?utm_source or ?fbclid) Canonical with tracking parameters confuses Googlebot and propagates duplicate content signals | IMPORTANT | URL Parameter Audit | Page SEO Basics | Possible |