{"schemaVersion":2,"generated":"build-time","count":1841,"items":[{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"Technical SEO Audit Service","desc":"A prioritized audit that helps you fix what matters and ignores the noise.","snippetText":"A prioritized audit that helps you fix what matters and ignores the noise.","href":"/services/technical-seo-audits/","aliases":["Technical SEO Audits: Prioritized, Engineering-Ready Fixes"],"meta":"","text":"Prioritized, engineering-ready issue list What to fix first vs. safely ignore Crawl, index, render & architecture review","passages":["Prioritized, engineering-ready issue list","What to fix first vs. safely ignore","Crawl, index, render & architecture review"],"popular":0,"url":"https://patrickstox.com/services/technical-seo-audits/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"SEO Website Migration Service","desc":"De-risk replatforms, redesigns, and domain moves so you keep the rankings you've earned.","snippetText":"De-risk replatforms, redesigns, and domain moves so you keep the rankings you've earned.","href":"/services/seo-website-migrations/","aliases":["SEO Website Migrations: Protect Rankings Before & After Launch"],"meta":"","text":"Pre-migration plan & redirect mapping Risk assessment & rollback checkpoints Post-launch monitoring & recovery","passages":["Pre-migration plan & redirect mapping","Risk assessment & rollback checkpoints","Post-launch monitoring & recovery"],"popular":0,"url":"https://patrickstox.com/services/seo-website-migrations/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"Programmatic SEO Services","desc":"Build useful and interesting things with proprietary data and unique insights.","snippetText":"Build useful and interesting things with proprietary data and unique insights.","href":"/services/programmatic-seo/","aliases":["Programmatic SEO: Useful Pages Built to Scale Safely"],"meta":"","text":"Template & indexation strategy Data sourcing & quality safeguards Proven patterns that work","passages":["Template & indexation strategy","Data sourcing & quality safeguards","Proven patterns that work"],"popular":0,"url":"https://patrickstox.com/services/programmatic-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"JavaScript SEO Service","desc":"Make sure your content can be crawled, rendered, and indexed by search engines.","snippetText":"Make sure your content can be crawled, rendered, and indexed by search engines.","href":"/services/javascript-seo/","aliases":["JavaScript SEO Consulting: Fix Crawling, Rendering & Indexing"],"meta":"","text":"SSR / prerender recommendations Framework-specific debugging Rendering diagnostics","passages":["SSR / prerender recommendations","Framework-specific debugging","Rendering diagnostics"],"popular":0,"url":"https://patrickstox.com/services/javascript-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"Hreflang & International SEO Service","desc":"Fix the international signals most audits miss, across regions and languages.","snippetText":"Fix the international signals most audits miss, across regions and languages.","href":"/services/international-seo/","aliases":["International SEO Consulting: Fix Hreflang & Regional Signals"],"meta":"","text":"Cluster validation across regions Detection of bugs others miss Honest guidance on what matters","passages":["Cluster validation across regions","Detection of bugs others miss","Honest guidance on what matters"],"popular":0,"url":"https://patrickstox.com/services/international-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"PageSpeed & Core Web Vitals Service","desc":"Slow pages lose users before they start. Diagnose your LCP, INP, and CLS and get a clear fix list your team can act on.","snippetText":"Slow pages lose users before they start. Diagnose your LCP, INP, and CLS and get a clear fix list your team can act on.","href":"/services/pagespeed/","aliases":["Core Web Vitals Consulting: Diagnose & Prioritize Real Fixes"],"meta":"","text":"LCP / INP / CLS diagnosis Prioritized engineering fix list Field vs. lab data interpreted right","passages":["LCP / INP / CLS diagnosis","Prioritized engineering fix list","Field vs. lab data interpreted right"],"popular":0,"url":"https://patrickstox.com/services/pagespeed/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"Product Advisory","desc":"Roadmap, positioning, and category insight from someone who built the tools you use.","snippetText":"Roadmap, positioning, and category insight from someone who built the tools you use.","href":"/services/product/","aliases":["SEO Product Advisory: Roadmap, Positioning & Category Strategy"],"meta":"","text":"Roadmap & feature strategy Positioning vs. competitors Category insight","passages":["Roadmap & feature strategy","Positioning vs. competitors","Category insight"],"popular":0,"url":"https://patrickstox.com/services/product/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"Enterprise SEO Consulting Service","desc":"Strategy, stakeholder buy-in, and playbooks your team can actually run.","snippetText":"Strategy, stakeholder buy-in, and playbooks your team can actually run.","href":"/services/enterprise-seo/","aliases":["Enterprise SEO Consulting: Strategy Teams Can Execute"],"meta":"","text":"Strategy plus stakeholder buy-in Org-aware execution plan Playbooks your team can run","passages":["Strategy plus stakeholder buy-in","Org-aware execution plan","Playbooks your team can run"],"popular":0,"url":"https://patrickstox.com/services/enterprise-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"GEO & AI Search Consultant","desc":"Earn visibility and citations inside AI Overviews, ChatGPT, and Gemini — backed by data.","snippetText":"Earn visibility and citations inside AI Overviews, ChatGPT, and Gemini — backed by data.","href":"/services/ai-search/","aliases":["AI Search Consulting: Earn Visibility, Citations & Mentions"],"meta":"","text":"Visibility audit across AI engines Citation & retrieval strategy A data-backed GEO roadmap","passages":["Visibility audit across AI engines","Citation & retrieval strategy","A data-backed GEO roadmap"],"popular":0,"url":"https://patrickstox.com/services/ai-search/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"SaaS SEO Consulting Service","desc":"Product-led growth SEO that builds a compounding organic channel.","snippetText":"Product-led growth SEO that builds a compounding organic channel.","href":"/services/saas-seo/","aliases":["SaaS SEO Consulting: Build Compounding Product-Led Growth"],"meta":"","text":"Product-led growth SEO plan Integration & product-surface strategy A compounding organic channel","passages":["Product-led growth SEO plan","Integration & product-surface strategy","A compounding organic channel"],"popular":0,"url":"https://patrickstox.com/services/saas-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"Ecommerce SEO Consulting Service","desc":"Faceted navigation, indexation control, and scaling patterns proven on enormous catalogs.","snippetText":"Faceted navigation, indexation control, and scaling patterns proven on enormous catalogs.","href":"/services/ecommerce-seo/","aliases":["Ecommerce SEO Consulting: Scale Catalogs Without Index Bloat"],"meta":"","text":"Faceted navigation & indexation control Category & product scaling plan Patterns proven at scale","passages":["Faceted navigation & indexation control","Category & product scaling plan","Patterns proven at scale"],"popular":0,"url":"https://patrickstox.com/services/ecommerce-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"services","kind":"service","contentType":"service","title":"SEO for M&A","desc":"SEO due diligence and post-deal integration so acquisitions actually deliver.","snippetText":"SEO due diligence and post-deal integration so acquisitions actually deliver.","href":"/services/seo-mergers-acquisitions/","aliases":["SEO for M&A: Validate Traffic, Risk & Post-Deal Integration"],"meta":"","text":"SEO due-diligence report Traffic validation & risk flags Post-deal integration plan","passages":["SEO due-diligence report","Traffic validation & risk flags","Post-deal integration plan"],"popular":0,"url":"https://patrickstox.com/services/seo-mergers-acquisitions/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"200 OK","desc":"HTTP 200 OK is the standard 2xx success status code, meaning the server received, understood, and fulfilled the request and is returning the resource. It's the code every page you want indexed should return — but a 200 alone doesn't guarantee Google will index the page.","snippetText":"HTTP 200 OK is the standard 2xx success status code, meaning the server received, understood, and fulfilled the request and is returning the resource. It's the code every page you want indexed should return — but a 200 alone doesn't guarantee Google will index the page.","href":"/technical-seo/http-status-codes/200-ok/#glossary","slug":"200-ok","parentHref":"/technical-seo/http-status-codes/200-ok/","meta":"Glossary definition","aliases":["204-no-content","soft-404-errors","not-found-404"],"taxonomy":["technical-seo","http-status-codes"],"text":"HTTP 200 OK is the standard 2xx success status code, meaning the server received, understood, and fulfilled the request and is returning the resource. It's the code every page you want indexed should return — but a 200 alone doesn't guarantee Google will index the page. 204-no-content soft-404-errors not-found-404","passages":["HTTP 200 OK is the standard 2xx success status code, meaning the server received, understood, and fulfilled the request and is returning the resource. It's the code every page you want indexed should return — but a 200 alone doesn't guarantee Google will index the page."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/200-ok/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"204 No Content","desc":"HTTP 204 No Content is a 2xx success status meaning the server fulfilled the request but is intentionally sending back no message body. It's correct for APIs and beacons — but on a page meant to be indexed, Google treats it like a soft 404.","snippetText":"HTTP 204 No Content is a 2xx success status meaning the server fulfilled the request but is intentionally sending back no message body. It's correct for APIs and beacons — but on a page meant to be indexed, Google treats it like a soft 404.","href":"/technical-seo/http-status-codes/http-errors/204-no-content/#glossary","slug":"204-no-content","parentHref":"/technical-seo/http-status-codes/http-errors/204-no-content/","meta":"Glossary definition","aliases":["soft-404-errors","not-found-404"],"taxonomy":["technical-seo","http-status-codes"],"text":"HTTP 204 No Content is a 2xx success status meaning the server fulfilled the request but is intentionally sending back no message body. It's correct for APIs and beacons — but on a page meant to be indexed, Google treats it like a soft 404. soft-404-errors not-found-404","passages":["HTTP 204 No Content is a 2xx success status meaning the server fulfilled the request but is intentionally sending back no message body. It's correct for APIs and beacons — but on a page meant to be indexed, Google treats it like a soft 404."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/204-no-content/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"301 redirect","desc":"A 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank.","snippetText":"A 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank.","href":"/technical-seo/http-status-codes/redirects/301-redirect/#glossary","slug":"301-redirect","parentHref":"/technical-seo/http-status-codes/redirects/301-redirect/","meta":"Glossary definition","aliases":["302 redirect","Redirect chain"],"taxonomy":["technical-seo","http-status-codes"],"text":"A 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank. 302 redirect Redirect chain","passages":["A 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/301-redirect/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"302 redirect","desc":"A 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore.","snippetText":"A 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore.","href":"/technical-seo/http-status-codes/redirects/302-redirect/#glossary","slug":"302-redirect","parentHref":"/technical-seo/http-status-codes/redirects/302-redirect/","meta":"Glossary definition","aliases":["301 redirect"],"taxonomy":["technical-seo","http-status-codes"],"text":"A 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. 301 redirect","passages":["A 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/302-redirect/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"303 See Other","desc":"A 303 See Other is a temporary HTTP redirect that tells the client to fetch a different URL with a GET or HEAD request, no matter what method the original request used. It's the mechanism behind the Post/Redirect/Get pattern, and search engines treat it as a weak signal like a 302 or 307.","snippetText":"A 303 See Other is a temporary HTTP redirect that tells the client to fetch a different URL with a GET or HEAD request, no matter what method the original request used. It's the mechanism behind the Post/Redirect/Get pattern, and search engines treat it as a weak signal like a 302 or 307.","href":"/technical-seo/http-status-codes/redirects/303-see-other/#glossary","slug":"303-see-other","parentHref":"/technical-seo/http-status-codes/redirects/303-see-other/","meta":"Glossary definition","aliases":["302 redirect","307 redirect"],"taxonomy":["technical-seo","http-status-codes"],"text":"A 303 See Other is a temporary HTTP redirect that tells the client to fetch a different URL with a GET or HEAD request, no matter what method the original request used. It's the mechanism behind the Post/Redirect/Get pattern, and search engines treat it as a weak signal like a 302 or 307. 302 redirect 307 redirect","passages":["A 303 See Other is a temporary HTTP redirect that tells the client to fetch a different URL with a GET or HEAD request, no matter what method the original request used. It's the mechanism behind the Post/Redirect/Get pattern, and search engines treat it as a weak signal like a 302 or 307."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/303-see-other/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"304 Not Modified","desc":"HTTP 304 Not Modified is the response to a conditional GET/HEAD whose condition evaluates false, in the 3xx class but not a redirect: it has no Location header and no body. It tells a client its cached copy is still valid. For SEO it has no direct ranking effect and no indexing effect beyond a possible signal recalculation, though it can help crawl efficiency indirectly on large sites.","snippetText":"HTTP 304 Not Modified is the response to a conditional GET/HEAD whose condition evaluates false, in the 3xx class but not a redirect: it has no Location header and no body. It tells a client its cached copy is still valid. For SEO it has no direct ranking effect and no indexing effect beyond a possible signal recalculation, though it can help crawl efficiency indirectly on large sites.","href":"/technical-seo/http-status-codes/304-not-modified/#glossary","slug":"304-not-modified","parentHref":"/technical-seo/http-status-codes/304-not-modified/","meta":"Glossary definition","aliases":["200-ok","301-redirect","204-no-content"],"taxonomy":["technical-seo","http-status-codes"],"text":"HTTP 304 Not Modified is the response to a conditional GET/HEAD whose condition evaluates false, in the 3xx class but not a redirect: it has no Location header and no body. It tells a client its cached copy is still valid. For SEO it has no direct ranking effect and no indexing effect beyond a possible signal recalculation, though it can help crawl efficiency indirectly on large sites. 200-ok 301-redirect 204-no-content","passages":["HTTP 304 Not Modified is the response to a conditional GET/HEAD whose condition evaluates false, in the 3xx class but not a redirect: it has no Location header and no body. It tells a client its cached copy is still valid. For SEO it has no direct ranking effect and no indexing effect beyond a possible signal recalculation, though it can help crawl efficiency indirectly on large sites."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/304-not-modified/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"307 redirect","desc":"A 307 (\"Temporary Redirect\") is a temporary redirect that, unlike a 302, is guaranteed by the HTTP spec to preserve the original request method and body — so a POST stays a POST. For SEO, Google treats it as equivalent to a 302. Browsers/tools also sometimes represent an HSTS-driven internal scheme upgrade as a 307, though the server never actually sent it and RFC 6797 doesn't require that specific code.","snippetText":"A 307 (\"Temporary Redirect\") is a temporary redirect that, unlike a 302, is guaranteed by the HTTP spec to preserve the original request method and body — so a POST stays a POST. For SEO, Google treats it as equivalent to a 302. Browsers/tools also sometimes represent an HSTS-driven internal scheme upgrade as a 307, though the server never actually sent it and RFC 6797 doesn't require that specific code.","href":"/technical-seo/http-status-codes/redirects/307-redirect/#glossary","slug":"307-redirect","parentHref":"/technical-seo/http-status-codes/redirects/307-redirect/","meta":"Glossary definition","aliases":["302 redirect","303 See Other"],"taxonomy":["technical-seo","http-status-codes"],"text":"A 307 (\"Temporary Redirect\") is a temporary redirect that, unlike a 302, is guaranteed by the HTTP spec to preserve the original request method and body — so a POST stays a POST. For SEO, Google treats it as equivalent to a 302. Browsers/tools also sometimes represent an HSTS-driven internal scheme upgrade as a 307, though the server never actually sent it and RFC 6797 doesn't require that specific code. 302 redirect 303 See Other","passages":["A 307 (\"Temporary Redirect\") is a temporary redirect that, unlike a 302, is guaranteed by the HTTP spec to preserve the original request method and body — so a POST stays a POST. For SEO, Google treats it as equivalent to a 302. Browsers/tools also sometimes represent an HSTS-driven internal scheme upgrade as a 307, though the server never actually sent it and RFC 6797 doesn't require that specific code."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/307-redirect/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"308 Permanent Redirect","desc":"A 308 Permanent Redirect is the HTTP status code for a permanent move that strictly preserves the request method — a POST stays a POST — and, because a compliant client repeats the same request, the body normally travels with it. For SEO it's equivalent to a 301; the difference is the method guarantee, which matters for APIs, webhooks, and form/POST traffic.","snippetText":"A 308 Permanent Redirect is the HTTP status code for a permanent move that strictly preserves the request method — a POST stays a POST — and, because a compliant client repeats the same request, the body normally travels with it. For SEO it's equivalent to a 301; the difference is the method guarantee, which matters for APIs, webhooks, and form/POST traffic.","href":"/technical-seo/http-status-codes/redirects/308-redirect/#glossary","slug":"308-redirect","parentHref":"/technical-seo/http-status-codes/redirects/308-redirect/","meta":"Glossary definition","aliases":["301 redirect","307 redirect"],"taxonomy":["technical-seo","http-status-codes"],"text":"A 308 Permanent Redirect is the HTTP status code for a permanent move that strictly preserves the request method — a POST stays a POST — and, because a compliant client repeats the same request, the body normally travels with it. For SEO it's equivalent to a 301; the difference is the method guarantee, which matters for APIs, webhooks, and form/POST traffic. 301 redirect 307 redirect","passages":["A 308 Permanent Redirect is the HTTP status code for a permanent move that strictly preserves the request method — a POST stays a POST — and, because a compliant client repeats the same request, the body normally travels with it. For SEO it's equivalent to a 301; the difference is the method guarantee, which matters for APIs, webhooks, and form/POST traffic."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/308-redirect/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"401 Unauthorized","desc":"401 Unauthorized is a client-error HTTP status code meaning the request lacks valid authentication credentials — the server wants you to log in before it serves the page. For SEO it means the content is gated: Googlebot never sends credentials, so a 401'd page can't be seen and won't be indexed.","snippetText":"401 Unauthorized is a client-error HTTP status code meaning the request lacks valid authentication credentials — the server wants you to log in before it serves the page. For SEO it means the content is gated: Googlebot never sends credentials, so a 401'd page can't be seen and won't be indexed.","href":"/technical-seo/http-status-codes/http-errors/401-unauthorized/#glossary","slug":"401-unauthorized","parentHref":"/technical-seo/http-status-codes/http-errors/401-unauthorized/","meta":"Glossary definition","aliases":["403-forbidden","http-status-codes","blocked-401"],"taxonomy":["technical-seo","http-status-codes"],"text":"401 Unauthorized is a client-error HTTP status code meaning the request lacks valid authentication credentials — the server wants you to log in before it serves the page. For SEO it means the content is gated: Googlebot never sends credentials, so a 401'd page can't be seen and won't be indexed. 403-forbidden http-status-codes blocked-401","passages":["401 Unauthorized is a client-error HTTP status code meaning the request lacks valid authentication credentials — the server wants you to log in before it serves the page. For SEO it means the content is gated: Googlebot never sends credentials, so a 401'd page can't be seen and won't be indexed."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/401-unauthorized/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"403 Forbidden","desc":"An HTTP 403 client-error status code meaning the server understood the request but refuses to fulfill it — access is denied, whether or not credentials are involved. For SEO, a 403 served to Googlebot on a page meant to be public and indexable usually points to a misconfigured rule; a persistent 403 keeps a page out of the index either way.","snippetText":"An HTTP 403 client-error status code meaning the server understood the request but refuses to fulfill it — access is denied, whether or not credentials are involved. For SEO, a 403 served to Googlebot on a page meant to be public and indexable usually points to a misconfigured rule; a persistent 403 keeps a page out of the index either way.","href":"/technical-seo/http-status-codes/http-errors/403-forbidden/#glossary","slug":"403-forbidden","parentHref":"/technical-seo/http-status-codes/http-errors/403-forbidden/","meta":"Glossary definition","aliases":["blocked-403","401-unauthorized","404-not-found","http-status-codes"],"taxonomy":["technical-seo","http-status-codes"],"text":"An HTTP 403 client-error status code meaning the server understood the request but refuses to fulfill it — access is denied, whether or not credentials are involved. For SEO, a 403 served to Googlebot on a page meant to be public and indexable usually points to a misconfigured rule; a persistent 403 keeps a page out of the index either way. blocked-403 401-unauthorized 404-not-found http-status-codes","passages":["An HTTP 403 client-error status code meaning the server understood the request but refuses to fulfill it — access is denied, whether or not credentials are involved. For SEO, a 403 served to Googlebot on a page meant to be public and indexable usually points to a misconfigured rule; a persistent 403 keeps a page out of the index either way."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/403-forbidden/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"404 Not Found","desc":"404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often).","snippetText":"404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often).","href":"/technical-seo/http-status-codes/http-errors/404-not-found/#glossary","slug":"404-not-found","parentHref":"/technical-seo/http-status-codes/http-errors/404-not-found/","meta":"Glossary definition","aliases":["soft-404-errors","410-gone","http-status-codes"],"taxonomy":["technical-seo","http-status-codes"],"text":"404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often). soft-404-errors 410-gone http-status-codes","passages":["404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often)."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/404-not-found/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"410 Gone","desc":"A 410 Gone status code tells search engines a page was intentionally and permanently removed, prompting slightly faster de-indexing than a standard 404.","snippetText":"A 410 Gone status code tells search engines a page was intentionally and permanently removed, prompting slightly faster de-indexing than a standard 404.","href":"/technical-seo/http-status-codes/http-errors/410-gone/#glossary","slug":"410-gone","parentHref":"/technical-seo/http-status-codes/http-errors/410-gone/","meta":"Glossary definition","aliases":["404 Not Found","Soft 404","301 redirect"],"taxonomy":["technical-seo","http-status-codes"],"text":"A 410 Gone status code tells search engines a page was intentionally and permanently removed, prompting slightly faster de-indexing than a standard 404. 404 Not Found Soft 404 301 redirect","passages":["A 410 Gone status code tells search engines a page was intentionally and permanently removed, prompting slightly faster de-indexing than a standard 404."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/410-gone/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"418 I'm a teapot","desc":"A joke HTTP status code from the 1998 April Fools' HTCPCP RFC, meaning a teapot was asked to brew coffee — reserved (not unassigned) by RFC 9110 and listed (Unused) in IANA's registry, widely implemented as an easter egg, and treated by Google like any other non-429 4xx client error.","snippetText":"A joke HTTP status code from the 1998 April Fools' HTCPCP RFC, meaning a teapot was asked to brew coffee — reserved (not unassigned) by RFC 9110 and listed (Unused) in IANA's registry, widely implemented as an easter egg, and treated by Google like any other non-429 4xx client error.","href":"/technical-seo/http-status-codes/http-errors/418-im-a-teapot/#glossary","slug":"418-im-a-teapot","parentHref":"/technical-seo/http-status-codes/http-errors/418-im-a-teapot/","meta":"Glossary definition","aliases":["404 Not Found","410 Gone"],"taxonomy":["technical-seo","http-status-codes"],"text":"A joke HTTP status code from the 1998 April Fools' HTCPCP RFC, meaning a teapot was asked to brew coffee — reserved (not unassigned) by RFC 9110 and listed (Unused) in IANA's registry, widely implemented as an easter egg, and treated by Google like any other non-429 4xx client error. 404 Not Found 410 Gone","passages":["A joke HTTP status code from the 1998 April Fools' HTCPCP RFC, meaning a teapot was asked to brew coffee — reserved (not unassigned) by RFC 9110 and listed (Unused) in IANA's registry, widely implemented as an easter egg, and treated by Google like any other non-429 4xx client error."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/418-im-a-teapot/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"429 Too Many Requests","desc":"429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content.","snippetText":"429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content.","href":"/technical-seo/http-status-codes/http-errors/429-too-many-requests/#glossary","slug":"429-too-many-requests","parentHref":"/technical-seo/http-status-codes/http-errors/429-too-many-requests/","meta":"Glossary definition","aliases":["http-status-codes","crawl-budget"],"taxonomy":["technical-seo","http-status-codes"],"text":"429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content. http-status-codes crawl-budget","passages":["429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/429-too-many-requests/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"451 Unavailable For Legal Reasons","desc":"An HTTP 451 client-error status code that tells a browser or crawler a resource can't be served because of a legal demand — a court order, government censorship, DMCA takedown, or regulatory requirement — rather than a technical failure (404) or an access-permissions problem (403). It's the only status code built specifically for legal transparency, and RFC 7725 asks servers to explain who is demanding the block and under what authority.","snippetText":"An HTTP 451 client-error status code that tells a browser or crawler a resource can't be served because of a legal demand — a court order, government censorship, DMCA takedown, or regulatory requirement — rather than a technical failure (404) or an access-permissions problem (403). It's the only status code built specifically for legal transparency, and RFC 7725 asks servers to explain who is demanding the block and under what authority.","href":"/technical-seo/http-status-codes/http-errors/451-unavailable-legal/#glossary","slug":"451-unavailable-legal","parentHref":"/technical-seo/http-status-codes/http-errors/451-unavailable-legal/","meta":"Glossary definition","aliases":["403-forbidden","404-not-found","http-status-codes"],"taxonomy":["technical-seo","http-status-codes"],"text":"An HTTP 451 client-error status code that tells a browser or crawler a resource can't be served because of a legal demand — a court order, government censorship, DMCA takedown, or regulatory requirement — rather than a technical failure (404) or an access-permissions problem (403). It's the only status code built specifically for legal transparency, and RFC 7725 asks servers to explain who is demanding the block and under what authority. 403-forbidden 404-not-found http-status-codes","passages":["An HTTP 451 client-error status code that tells a browser or crawler a resource can't be served because of a legal demand — a court order, government censorship, DMCA takedown, or regulatory requirement — rather than a technical failure (404) or an access-permissions problem (403). It's the only status code built specifically for legal transparency, and RFC 7725 asks servers to explain who is demanding the block and under what authority."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/451-unavailable-legal/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"500 Internal Server Error","desc":"A 500 Internal Server Error is a generic HTTP status code — RFC 9110 defines it as an unexpected condition that stopped the server from fulfilling the request, and nothing more. The request may have been fine — something broke server-side while generating the response. For SEO, an isolated 500 is typically retried, but persistent, site-wide 500s get Google's documented response: slower crawling and, if the errors don't clear, eventual removal from the index.","snippetText":"A 500 Internal Server Error is a generic HTTP status code — RFC 9110 defines it as an unexpected condition that stopped the server from fulfilling the request, and nothing more. The request may have been fine — something broke server-side while generating the response. For SEO, an isolated 500 is typically retried, but persistent, site-wide 500s get Google's documented response: slower crawling and, if the errors don't clear, eventual removal from the index.","href":"/technical-seo/http-status-codes/http-errors/500-internal-server-error/#glossary","slug":"500-internal-server-error","parentHref":"/technical-seo/http-status-codes/http-errors/500-internal-server-error/","meta":"Glossary definition","aliases":["http-status-codes","crawling","crawl-budget"],"taxonomy":["technical-seo","http-status-codes"],"text":"A 500 Internal Server Error is a generic HTTP status code — RFC 9110 defines it as an unexpected condition that stopped the server from fulfilling the request, and nothing more. The request may have been fine — something broke server-side while generating the response. For SEO, an isolated 500 is typically retried, but persistent, site-wide 500s get Google's documented response: slower crawling and, if the errors don't clear, eventual removal from the index. http-status-codes crawling crawl-budget","passages":["A 500 Internal Server Error is a generic HTTP status code — RFC 9110 defines it as an unexpected condition that stopped the server from fulfilling the request, and nothing more. The request may have been fine — something broke server-side while generating the response. For SEO, an isolated 500 is typically retried, but persistent, site-wide 500s get Google's documented response: slower crawling and, if the errors don't clear, eventual removal from the index."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/500-internal-server-error/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"502 Bad Gateway","desc":"A 502 Bad Gateway is an HTTP server error a gateway or reverse proxy (a CDN, load balancer, or proxy like Nginx) returns when it gets an invalid or no response from the upstream origin server it was trying to reach. It signals a communication failure *between* servers, not necessarily that the origin itself is down. For SEO, Google treats 502 exactly like 500 and 503: crawling slows, and persistent errors eventually get pages dropped from the index.","snippetText":"A 502 Bad Gateway is an HTTP server error a gateway or reverse proxy (a CDN, load balancer, or proxy like Nginx) returns when it gets an invalid or no response from the upstream origin server it was trying to reach. It signals a communication failure *between* servers, not necessarily that the origin itself is down. For SEO, Google treats 502 exactly like 500 and 503: crawling slows, and persistent errors eventually get pages dropped from the index.","href":"/technical-seo/http-status-codes/http-errors/502-bad-gateway/#glossary","slug":"502-bad-gateway","parentHref":"/technical-seo/http-status-codes/http-errors/502-bad-gateway/","meta":"Glossary definition","aliases":["http-status-codes","crawling","crawl-budget"],"taxonomy":["technical-seo","http-status-codes"],"text":"A 502 Bad Gateway is an HTTP server error a gateway or reverse proxy (a CDN, load balancer, or proxy like Nginx) returns when it gets an invalid or no response from the upstream origin server it was trying to reach. It signals a communication failure *between* servers, not necessarily that the origin itself is down. For SEO, Google treats 502 exactly like 500 and 503: crawling slows, and persistent errors eventually get pages dropped from the index. http-status-codes crawling crawl-budget","passages":["A 502 Bad Gateway is an HTTP server error a gateway or reverse proxy (a CDN, load balancer, or proxy like Nginx) returns when it gets an invalid or no response from the upstream origin server it was trying to reach. It signals a communication failure *between* servers, not necessarily that the origin itself is down. For SEO, Google treats 502 exactly like 500 and 503: crawling slows, and persistent errors eventually get pages dropped from the index."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/502-bad-gateway/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"503 Service Unavailable","desc":"503 Service Unavailable is the HTTP status code a server returns when it's temporarily unable to handle a request — usually because of overload or planned maintenance. It tells crawlers 'come back later' instead of 'this page is gone,' which is why Google recommends it (paired with a Retry-After header) for short, planned downtime.","snippetText":"503 Service Unavailable is the HTTP status code a server returns when it's temporarily unable to handle a request — usually because of overload or planned maintenance. It tells crawlers 'come back later' instead of 'this page is gone,' which is why Google recommends it (paired with a Retry-After header) for short, planned downtime.","href":"/technical-seo/http-status-codes/http-errors/503-service-unavailable/#glossary","slug":"503-service-unavailable","parentHref":"/technical-seo/http-status-codes/http-errors/503-service-unavailable/","meta":"Glossary definition","aliases":["http-status-codes","500-internal-server-error","429-too-many-requests"],"taxonomy":["technical-seo","http-status-codes"],"text":"503 Service Unavailable is the HTTP status code a server returns when it's temporarily unable to handle a request — usually because of overload or planned maintenance. It tells crawlers 'come back later' instead of 'this page is gone,' which is why Google recommends it (paired with a Retry-After header) for short, planned downtime. http-status-codes 500-internal-server-error 429-too-many-requests","passages":["503 Service Unavailable is the HTTP status code a server returns when it's temporarily unable to handle a request — usually because of overload or planned maintenance. It tells crawlers 'come back later' instead of 'this page is gone,' which is why Google recommends it (paired with a Retry-After header) for short, planned downtime."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/503-service-unavailable/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"504 Gateway Timeout","desc":"A 504 Gateway Timeout is an HTTP 5xx server error a gateway or proxy (a CDN, load balancer, or reverse proxy) returns when it doesn't get a timely response from the upstream server behind it. Unlike a 502 (a bad/garbled response) or a 503 (server explicitly unavailable), a 504 means no response arrived in time. For SEO, isolated 504s are retried and tolerated, but sustained 504s and timeouts make Googlebot slow its crawl and eventually drop pages from the index.","snippetText":"A 504 Gateway Timeout is an HTTP 5xx server error a gateway or proxy (a CDN, load balancer, or reverse proxy) returns when it doesn't get a timely response from the upstream server behind it. Unlike a 502 (a bad/garbled response) or a 503 (server explicitly unavailable), a 504 means no response arrived in time. For SEO, isolated 504s are retried and tolerated, but sustained 504s and timeouts make Googlebot slow its crawl and eventually drop pages from the index.","href":"/technical-seo/http-status-codes/http-errors/504-gateway-timeout/#glossary","slug":"504-gateway-timeout","parentHref":"/technical-seo/http-status-codes/http-errors/504-gateway-timeout/","meta":"Glossary definition","aliases":["http-status-codes","crawling","crawl-budget"],"taxonomy":["technical-seo","http-status-codes"],"text":"A 504 Gateway Timeout is an HTTP 5xx server error a gateway or proxy (a CDN, load balancer, or reverse proxy) returns when it doesn't get a timely response from the upstream server behind it. Unlike a 502 (a bad/garbled response) or a 503 (server explicitly unavailable), a 504 means no response arrived in time. For SEO, isolated 504s are retried and tolerated, but sustained 504s and timeouts make Googlebot slow its crawl and eventually drop pages from the index. http-status-codes crawling crawl-budget","passages":["A 504 Gateway Timeout is an HTTP 5xx server error a gateway or proxy (a CDN, load balancer, or reverse proxy) returns when it doesn't get a timely response from the upstream server behind it. Unlike a 502 (a bad/garbled response) or a 503 (server explicitly unavailable), a 504 means no response arrived in time. For SEO, isolated 504s are retried and tolerated, but sustained 504s and timeouts make Googlebot slow its crawl and eventually drop pages from the index."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/504-gateway-timeout/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Accessibility (Web Accessibility)","desc":"Web accessibility means designing sites so people with disabilities can use them, per the W3C's WCAG guidelines. It overlaps with SEO in specific, checkable ways — alt text, heading structure, descriptive link text, captions, and page speed all serve both audiences — but Google has said accessibility itself is not a ranking factor, and most WCAG success criteria (keyboard focus order, ARIA live regions, form labels) have no SEO effect at all.","snippetText":"Web accessibility means designing sites so people with disabilities can use them, per the W3C's WCAG guidelines. It overlaps with SEO in specific, checkable ways — alt text, heading structure, descriptive link text, captions, and page speed all serve both audiences — but Google has said accessibility itself is not a ranking factor, and most WCAG success criteria (keyboard focus order, ARIA live regions, form labels) have no SEO effect at all.","href":"/technical-seo/how-search-works/seo-accessibility/#glossary","slug":"accessibility","parentHref":"/technical-seo/how-search-works/seo-accessibility/","meta":"Glossary definition","aliases":["alt-text","semantic-html","core-web-vitals"],"taxonomy":["technical-seo","how-search-works"],"text":"Web accessibility means designing sites so people with disabilities can use them, per the W3C's WCAG guidelines. It overlaps with SEO in specific, checkable ways — alt text, heading structure, descriptive link text, captions, and page speed all serve both audiences — but Google has said accessibility itself is not a ranking factor, and most WCAG success criteria (keyboard focus order, ARIA live regions, form labels) have no SEO effect at all. alt-text semantic-html core-web-vitals","passages":["Web accessibility means designing sites so people with disabilities can use them, per the W3C's WCAG guidelines. It overlaps with SEO in specific, checkable ways — alt text, heading structure, descriptive link text, captions, and page speed all serve both audiences — but Google has said accessibility itself is not a ranking factor, and most WCAG success criteria (keyboard focus order, ARIA live regions, form labels) have no SEO effect at all."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/seo-accessibility/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Agentic Checkout","desc":"Agentic checkout is the transaction-completion step of agentic commerce: the mechanism by which an AI agent creates, updates, and finalizes a purchase on a shopper's behalf — selecting fulfillment, calculating tax and shipping, passing a scoped payment token, and triggering order creation — often without the shopper visiting the merchant's site.","snippetText":"Agentic checkout is the transaction-completion step of agentic commerce: the mechanism by which an AI agent creates, updates, and finalizes a purchase on a shopper's behalf — selecting fulfillment, calculating tax and shipping, passing a scoped payment token, and triggering order creation — often without the shopper visiting the merchant's site.","href":"/ecommerce-seo/ai-commerce/agentic-checkout/#glossary","slug":"agentic-checkout","parentHref":"/ecommerce-seo/ai-commerce/agentic-checkout/","meta":"Glossary definition","aliases":["agentic-commerce-protocol","universal-commerce-protocol"],"taxonomy":["ecommerce-seo","ai-commerce"],"text":"Agentic checkout is the transaction-completion step of agentic commerce: the mechanism by which an AI agent creates, updates, and finalizes a purchase on a shopper's behalf — selecting fulfillment, calculating tax and shipping, passing a scoped payment token, and triggering order creation — often without the shopper visiting the merchant's site. agentic-commerce-protocol universal-commerce-protocol","passages":["Agentic checkout is the transaction-completion step of agentic commerce: the mechanism by which an AI agent creates, updates, and finalizes a purchase on a shopper's behalf — selecting fulfillment, calculating tax and shipping, passing a scoped payment token, and triggering order creation — often without the shopper visiting the merchant's site."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/agentic-checkout/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Agentic Commerce Protocol (ACP)","desc":"The Agentic Commerce Protocol (ACP) is an open standard/protocol whose first implementing AI platform is OpenAI and first compatible payment provider is Stripe, defining how AI shopping agents discover products, manage carts, and complete purchases on a buyer's behalf — by reading a merchant's product feed and APIs instead of crawling the website.","snippetText":"The Agentic Commerce Protocol (ACP) is an open standard/protocol whose first implementing AI platform is OpenAI and first compatible payment provider is Stripe, defining how AI shopping agents discover products, manage carts, and complete purchases on a buyer's behalf — by reading a merchant's product feed and APIs instead of crawling the website.","href":"/ecommerce-seo/ai-commerce/agentic-commerce-protocol/#glossary","slug":"agentic-commerce-protocol","parentHref":"/ecommerce-seo/ai-commerce/agentic-commerce-protocol/","meta":"Glossary definition","aliases":["answer-engine-optimization","schema-markup-for-ai"],"taxonomy":["ecommerce-seo","ai-commerce"],"text":"The Agentic Commerce Protocol (ACP) is an open standard/protocol whose first implementing AI platform is OpenAI and first compatible payment provider is Stripe, defining how AI shopping agents discover products, manage carts, and complete purchases on a buyer's behalf — by reading a merchant's product feed and APIs instead of crawling the website. answer-engine-optimization schema-markup-for-ai","passages":["The Agentic Commerce Protocol (ACP) is an open standard/protocol whose first implementing AI platform is OpenAI and first compatible payment provider is Stripe, defining how AI shopping agents discover products, manage carts, and complete purchases on a buyer's behalf — by reading a merchant's product feed and APIs instead of crawling the website."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/agentic-commerce-protocol/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Agentic Search","desc":"Agentic search is an AI system that autonomously plans, runs, and synthesizes a multi-step research or browsing task — dozens to hundreds of searches and real page reads — instead of returning one answer to a single query. All agentic search is AI search; not all AI search is agentic.","snippetText":"Agentic search is an AI system that autonomously plans, runs, and synthesizes a multi-step research or browsing task — dozens to hundreds of searches and real page reads — instead of returning one answer to a single query. All agentic search is AI search; not all AI search is agentic.","href":"/ai-search/optimization/agentic-search/#glossary","slug":"agentic-search","parentHref":"/ai-search/optimization/agentic-search/","meta":"Glossary definition","aliases":["ai-search","ai-crawlers"],"taxonomy":["ai-search","optimization"],"text":"Agentic search is an AI system that autonomously plans, runs, and synthesizes a multi-step research or browsing task — dozens to hundreds of searches and real page reads — instead of returning one answer to a single query. All agentic search is AI search; not all AI search is agentic. ai-search ai-crawlers","passages":["Agentic search is an AI system that autonomously plans, runs, and synthesizes a multi-step research or browsing task — dozens to hundreds of searches and real page reads — instead of returning one answer to a single query. All agentic search is AI search; not all AI search is agentic."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/agentic-search/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AggregateRating Schema","desc":"AggregateRating schema (schema.org/AggregateRating) is structured data that represents the average of many ratings or reviews of an item, usually nested inside a parent type (or standalone with itemReviewed) to power star-rating rich snippets in search results.","snippetText":"AggregateRating schema (schema.org/AggregateRating) is structured data that represents the average of many ratings or reviews of an item, usually nested inside a parent type (or standalone with itemReviewed) to power star-rating rich snippets in search results.","href":"/technical-seo/on-page/structured-data/metadata-trust/aggregaterating-schema/#glossary","slug":"aggregaterating-schema","parentHref":"/technical-seo/on-page/structured-data/metadata-trust/aggregaterating-schema/","meta":"Glossary definition","aliases":["review-schema","product-schema","productgroup-schema","organization-schema","schema-markup","structured-data"],"taxonomy":["technical-seo","on-page"],"text":"AggregateRating schema (schema.org/AggregateRating) is structured data that represents the average of many ratings or reviews of an item, usually nested inside a parent type (or standalone with itemReviewed) to power star-rating rich snippets in search results. review-schema product-schema productgroup-schema organization-schema schema-markup structured-data","passages":["AggregateRating schema (schema.org/AggregateRating) is structured data that represents the average of many ratings or reviews of an item, usually nested inside a parent type (or standalone with itemReviewed) to power star-rating rich snippets in search results."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/aggregaterating-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Agile SEO","desc":"Agile SEO is the practice of running an SEO program with agile project-management methods borrowed from software development — short time-boxed sprints, a continuously prioritized backlog of tickets, and iterative delivery — instead of one long, static roadmap.","snippetText":"Agile SEO is the practice of running an SEO program with agile project-management methods borrowed from software development — short time-boxed sprints, a continuously prioritized backlog of tickets, and iterative delivery — instead of one long, static roadmap.","href":"/enterprise-seo/strategy-and-operations/agile-seo/#glossary","slug":"agile-seo","parentHref":"/enterprise-seo/strategy-and-operations/agile-seo/","meta":"Glossary definition","aliases":["enterprise-seo","b2b-seo","seo-okrs"],"taxonomy":["enterprise-seo","strategy-and-operations"],"text":"Agile SEO is the practice of running an SEO program with agile project-management methods borrowed from software development — short time-boxed sprints, a continuously prioritized backlog of tickets, and iterative delivery — instead of one long, static roadmap. enterprise-seo b2b-seo seo-okrs","passages":["Agile SEO is the practice of running an SEO program with agile project-management methods borrowed from software development — short time-boxed sprints, a continuously prioritized backlog of tickets, and iterative delivery — instead of one long, static roadmap."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/strategy-and-operations/agile-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Citations","desc":"An AI citation is the visible source link an AI answer engine shows next to its generated text — the clickable reference that credits the web page it used. A citation's presence is a separate thing from whether the cited page actually supports the statement, and from being retrieved (read behind the scenes) or merely mentioned (named without a link); citation is driven more by brand mentions and being retrievable than by traditional ranking.","snippetText":"An AI citation is the visible source link an AI answer engine shows next to its generated text — the clickable reference that credits the web page it used. A citation's presence is a separate thing from whether the cited page actually supports the statement, and from being retrieved (read behind the scenes) or merely mentioned (named without a link); citation is driven more by brand mentions and being retrievable than by traditional ranking.","href":"/ai-search/how-search-works/ai-citations/#glossary","slug":"ai-citations","parentHref":"/ai-search/how-search-works/ai-citations/","meta":"Glossary definition","aliases":["rag","grounding"],"taxonomy":["ai-search","how-search-works"],"text":"An AI citation is the visible source link an AI answer engine shows next to its generated text — the clickable reference that credits the web page it used. A citation's presence is a separate thing from whether the cited page actually supports the statement, and from being retrieved (read behind the scenes) or merely mentioned (named without a link); citation is driven more by brand mentions and being retrievable than by traditional ranking. rag grounding","passages":["An AI citation is the visible source link an AI answer engine shows next to its generated text — the clickable reference that credits the web page it used. A citation's presence is a separate thing from whether the cited page actually supports the statement, and from being retrieved (read behind the scenes) or merely mentioned (named without a link); citation is driven more by brand mentions and being retrievable than by traditional ranking."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/ai-citations/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Crawler Log Analysis","desc":"AI crawler log analysis is the practice of pulling raw server or CDN access logs and examining them for requests from AI bots — training crawlers, AI-search indexers, and user-triggered fetchers — to verify with first-party data which bots actually hit your site, whether they're real or spoofed, and what they got.","snippetText":"AI crawler log analysis is the practice of pulling raw server or CDN access logs and examining them for requests from AI bots — training crawlers, AI-search indexers, and user-triggered fetchers — to verify with first-party data which bots actually hit your site, whether they're real or spoofed, and what they got.","href":"/ai-search/measurement-and-reporting/ai-crawler-log-analysis/#glossary","slug":"ai-crawler-log-analysis","parentHref":"/ai-search/measurement-and-reporting/ai-crawler-log-analysis/","meta":"Glossary definition","aliases":["log-file-analysis","ai-crawlers"],"taxonomy":["ai-search","measurement-and-reporting"],"text":"AI crawler log analysis is the practice of pulling raw server or CDN access logs and examining them for requests from AI bots — training crawlers, AI-search indexers, and user-triggered fetchers — to verify with first-party data which bots actually hit your site, whether they're real or spoofed, and what they got. log-file-analysis ai-crawlers","passages":["AI crawler log analysis is the practice of pulling raw server or CDN access logs and examining them for requests from AI bots — training crawlers, AI-search indexers, and user-triggered fetchers — to verify with first-party data which bots actually hit your site, whether they're real or spoofed, and what they got."],"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-crawler-log-analysis/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Crawlers","desc":"AI crawlers are bots from AI companies that fetch web pages to train language models, build AI-search indexes, or answer live user questions. They come in three categories, each with its own user-agent tokens and its own robots.txt controls.","snippetText":"AI crawlers are bots from AI companies that fetch web pages to train language models, build AI-search indexes, or answer live user questions. They come in three categories, each with its own user-agent tokens and its own robots.txt controls.","href":"/technical-seo/how-search-works/crawling/crawler/ai-crawlers/#glossary","slug":"ai-crawlers","parentHref":"/technical-seo/how-search-works/crawling/crawler/ai-crawlers/","meta":"Glossary definition","aliases":["crawler","user-agent","googlebot","bingbot","robots-txt"],"taxonomy":["technical-seo","how-search-works"],"text":"AI crawlers are bots from AI companies that fetch web pages to train language models, build AI-search indexes, or answer live user questions. They come in three categories, each with its own user-agent tokens and its own robots.txt controls. crawler user-agent googlebot bingbot robots-txt","passages":["AI crawlers are bots from AI companies that fetch web pages to train language models, build AI-search indexes, or answer live user questions. They come in three categories, each with its own user-agent tokens and its own robots.txt controls."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/ai-crawlers/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Hallucination Monitoring","desc":"AI hallucination monitoring is the practice of systematically detecting, documenting, and fixing instances where AI search tools and chatbots fabricate or misrepresent facts about your brand — wrong pricing, invented quotes, made-up URLs, and the like.","snippetText":"AI hallucination monitoring is the practice of systematically detecting, documenting, and fixing instances where AI search tools and chatbots fabricate or misrepresent facts about your brand — wrong pricing, invented quotes, made-up URLs, and the like.","href":"/ai-search/measurement-and-reporting/ai-hallucination-monitoring/#glossary","slug":"ai-hallucination-monitoring","parentHref":"/ai-search/measurement-and-reporting/ai-hallucination-monitoring/","meta":"Glossary definition","aliases":["llm-visibility","ai-share-of-voice","measurement-and-reporting"],"taxonomy":["ai-search","measurement-and-reporting"],"text":"AI hallucination monitoring is the practice of systematically detecting, documenting, and fixing instances where AI search tools and chatbots fabricate or misrepresent facts about your brand — wrong pricing, invented quotes, made-up URLs, and the like. llm-visibility ai-share-of-voice measurement-and-reporting","passages":["AI hallucination monitoring is the practice of systematically detecting, documenting, and fixing instances where AI search tools and chatbots fabricate or misrepresent facts about your brand — wrong pricing, invented quotes, made-up URLs, and the like."],"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-hallucination-monitoring/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Hallucinations","desc":"An AI hallucination is when a large language model generates output that is confidently stated but factually wrong, made up, or unsupported by its source. It's a side effect of next-token prediction — not a bug that can be fully eliminated.","snippetText":"An AI hallucination is when a large language model generates output that is confidently stated but factually wrong, made up, or unsupported by its source. It's a side effect of next-token prediction — not a bug that can be fully eliminated.","href":"/ai-search/how-search-works/ai-hallucinations/#glossary","slug":"ai-hallucinations","parentHref":"/ai-search/how-search-works/ai-hallucinations/","meta":"Glossary definition","aliases":["grounding","rag","knowledge-cutoff"],"taxonomy":["ai-search","how-search-works"],"text":"An AI hallucination is when a large language model generates output that is confidently stated but factually wrong, made up, or unsupported by its source. It's a side effect of next-token prediction — not a bug that can be fully eliminated. grounding rag knowledge-cutoff","passages":["An AI hallucination is when a large language model generates output that is confidently stated but factually wrong, made up, or unsupported by its source. It's a side effect of next-token prediction — not a bug that can be fully eliminated."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/ai-hallucinations/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Overviews","desc":"AI Overviews are the AI-generated summary box Google shows above or within its regular search results, written by Gemini models from pages retrieved out of Google's normal Search index. It's a Search feature, not a separate platform or index.","snippetText":"AI Overviews are the AI-generated summary box Google shows above or within its regular search results, written by Gemini models from pages retrieved out of Google's normal Search index. It's a Search feature, not a separate platform or index.","href":"/ai-search/how-search-works/ai-overviews/#glossary","slug":"ai-overviews","parentHref":"/ai-search/how-search-works/ai-overviews/","meta":"Glossary definition","aliases":["rag","grounding"],"taxonomy":["ai-search","how-search-works"],"text":"AI Overviews are the AI-generated summary box Google shows above or within its regular search results, written by Gemini models from pages retrieved out of Google's normal Search index. It's a Search feature, not a separate platform or index. rag grounding","passages":["AI Overviews are the AI-generated summary box Google shows above or within its regular search results, written by Gemini models from pages retrieved out of Google's normal Search index. It's a Search feature, not a separate platform or index."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/ai-overviews/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Overviews Optimization","desc":"AI Overviews optimization is the practice of getting your pages cited and represented in Google's AI Overviews — the Gemini-generated summary box in Google's own search results. Google says there are no special optimizations for it: the same index, ranking, and quality systems decide eligibility, so it's still SEO.","snippetText":"AI Overviews optimization is the practice of getting your pages cited and represented in Google's AI Overviews — the Gemini-generated summary box in Google's own search results. Google says there are no special optimizations for it: the same index, ranking, and quality systems decide eligibility, so it's still SEO.","href":"/ai-search/optimization/ai-overviews-optimization/#glossary","slug":"ai-overviews-optimization","parentHref":"/ai-search/optimization/ai-overviews-optimization/","meta":"Glossary definition","aliases":["generative-engine-optimization","answer-engine-optimization"],"taxonomy":["ai-search","optimization"],"text":"AI Overviews optimization is the practice of getting your pages cited and represented in Google's AI Overviews — the Gemini-generated summary box in Google's own search results. Google says there are no special optimizations for it: the same index, ranking, and quality systems decide eligibility, so it's still SEO. generative-engine-optimization answer-engine-optimization","passages":["AI Overviews optimization is the practice of getting your pages cited and represented in Google's AI Overviews — the Gemini-generated summary box in Google's own search results. Google says there are no special optimizations for it: the same index, ranking, and quality systems decide eligibility, so it's still SEO."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/ai-overviews-optimization/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Search","desc":"AI search uses large language models and retrieval-augmented generation (RAG) to synthesize an answer from multiple sources rather than returning a ranked list of links. Examples include Google AI Overviews, ChatGPT Search, and Perplexity.","snippetText":"AI search uses large language models and retrieval-augmented generation (RAG) to synthesize an answer from multiple sources rather than returning a ranked list of links. Examples include Google AI Overviews, ChatGPT Search, and Perplexity.","href":"/ai-search/#glossary","slug":"ai-search","parentHref":"/ai-search/","meta":"Glossary definition","aliases":["crawling","ai-crawlers","ai-overviews","indexing"],"taxonomy":["ai-search"],"text":"AI search uses large language models and retrieval-augmented generation (RAG) to synthesize an answer from multiple sources rather than returning a ranked list of links. Examples include Google AI Overviews, ChatGPT Search, and Perplexity. crawling ai-crawlers ai-overviews indexing","passages":["AI search uses large language models and retrieval-augmented generation (RAG) to synthesize an answer from multiple sources rather than returning a ranked list of links. Examples include Google AI Overviews, ChatGPT Search, and Perplexity."],"popular":0,"url":"https://patrickstox.com/ai-search/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Search Optimization","desc":"AI search optimization is the practice of making your brand and content visible, citable, and accurately represented across AI-powered search — Google AI Overviews, ChatGPT, Perplexity, Copilot. It's built on traditional SEO plus a heavier emphasis on off-site brand mentions and content AI systems can cite.","snippetText":"AI search optimization is the practice of making your brand and content visible, citable, and accurately represented across AI-powered search — Google AI Overviews, ChatGPT, Perplexity, Copilot. It's built on traditional SEO plus a heavier emphasis on off-site brand mentions and content AI systems can cite.","href":"/ai-search/optimization/#glossary","slug":"ai-search-optimization","parentHref":"/ai-search/optimization/","meta":"Glossary definition","aliases":["geo","ai-search","schema-markup-for-ai","entity-seo"],"taxonomy":["ai-search","optimization"],"text":"AI search optimization is the practice of making your brand and content visible, citable, and accurately represented across AI-powered search — Google AI Overviews, ChatGPT, Perplexity, Copilot. It's built on traditional SEO plus a heavier emphasis on off-site brand mentions and content AI systems can cite. geo ai-search schema-markup-for-ai entity-seo","passages":["AI search optimization is the practice of making your brand and content visible, citable, and accurately represented across AI-powered search — Google AI Overviews, ChatGPT, Perplexity, Copilot. It's built on traditional SEO plus a heavier emphasis on off-site brand mentions and content AI systems can cite."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Share of Voice","desc":"AI Share of Voice (SoV) measures how often and how prominently a brand appears in AI-generated responses relative to competitors, across a defined pool of relevant prompts. It's a visibility signal, not a traffic or revenue metric.","snippetText":"AI Share of Voice (SoV) measures how often and how prominently a brand appears in AI-generated responses relative to competitors, across a defined pool of relevant prompts. It's a visibility signal, not a traffic or revenue metric.","href":"/ai-search/measurement-and-reporting/ai-share-of-voice/#glossary","slug":"ai-share-of-voice","parentHref":"/ai-search/measurement-and-reporting/ai-share-of-voice/","meta":"Glossary definition","aliases":["llm-visibility","measurement-and-reporting","ai-traffic-attribution"],"taxonomy":["ai-search","measurement-and-reporting"],"text":"AI Share of Voice (SoV) measures how often and how prominently a brand appears in AI-generated responses relative to competitors, across a defined pool of relevant prompts. It's a visibility signal, not a traffic or revenue metric. llm-visibility measurement-and-reporting ai-traffic-attribution","passages":["AI Share of Voice (SoV) measures how often and how prominently a brand appears in AI-generated responses relative to competitors, across a defined pool of relevant prompts. It's a visibility signal, not a traffic or revenue metric."],"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-share-of-voice/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Shopping Optimization","desc":"AI shopping optimization is the practice of making a merchant's products discoverable, recommendable, and buyable across AI shopping surfaces — ChatGPT, Google AI Mode, Gemini, Copilot, and Perplexity — by treating the structured product feed as a first-class optimization surface alongside the human-facing webpage, not a replacement for it.","snippetText":"AI shopping optimization is the practice of making a merchant's products discoverable, recommendable, and buyable across AI shopping surfaces — ChatGPT, Google AI Mode, Gemini, Copilot, and Perplexity — by treating the structured product feed as a first-class optimization surface alongside the human-facing webpage, not a replacement for it.","href":"/ecommerce-seo/ai-commerce/ai-shopping-optimization/#glossary","slug":"ai-shopping-optimization","parentHref":"/ecommerce-seo/ai-commerce/ai-shopping-optimization/","meta":"Glossary definition","aliases":["agentic-commerce-protocol","universal-commerce-protocol","google-merchant-center"],"taxonomy":["ecommerce-seo","ai-commerce"],"text":"AI shopping optimization is the practice of making a merchant's products discoverable, recommendable, and buyable across AI shopping surfaces — ChatGPT, Google AI Mode, Gemini, Copilot, and Perplexity — by treating the structured product feed as a first-class optimization surface alongside the human-facing webpage, not a replacement for it. agentic-commerce-protocol universal-commerce-protocol google-merchant-center","passages":["AI shopping optimization is the practice of making a merchant's products discoverable, recommendable, and buyable across AI shopping surfaces — ChatGPT, Google AI Mode, Gemini, Copilot, and Perplexity — by treating the structured product feed as a first-class optimization surface alongside the human-facing webpage, not a replacement for it."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/ai-shopping-optimization/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AI Traffic Attribution","desc":"AI traffic attribution is the practice of correctly identifying and measuring website visits that come from AI tools — ChatGPT, Perplexity, Gemini, Claude, AI Overviews, and AI browsers. It's hard because many of those tools strip the referrer header, so the visits land in your analytics as Direct traffic with no source.","snippetText":"AI traffic attribution is the practice of correctly identifying and measuring website visits that come from AI tools — ChatGPT, Perplexity, Gemini, Claude, AI Overviews, and AI browsers. It's hard because many of those tools strip the referrer header, so the visits land in your analytics as Direct traffic with no source.","href":"/ai-search/measurement-and-reporting/ai-traffic-attribution/#glossary","slug":"ai-traffic-attribution","parentHref":"/ai-search/measurement-and-reporting/ai-traffic-attribution/","meta":"Glossary definition","aliases":["llm-visibility","measurement-and-reporting","ai-share-of-voice"],"taxonomy":["ai-search","measurement-and-reporting"],"text":"AI traffic attribution is the practice of correctly identifying and measuring website visits that come from AI tools — ChatGPT, Perplexity, Gemini, Claude, AI Overviews, and AI browsers. It's hard because many of those tools strip the referrer header, so the visits land in your analytics as Direct traffic with no source. llm-visibility measurement-and-reporting ai-share-of-voice","passages":["AI traffic attribution is the practice of correctly identifying and measuring website visits that come from AI tools — ChatGPT, Perplexity, Gemini, Claude, AI Overviews, and AI browsers. It's hard because many of those tools strip the referrer header, so the visits land in your analytics as Direct traffic with no source."],"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-traffic-attribution/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Alt Text","desc":"Alt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search.","snippetText":"Alt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search.","href":"/technical-seo/on-page/image-seo/alt-text/#glossary","slug":"alt-text","parentHref":"/technical-seo/on-page/image-seo/alt-text/","meta":"Glossary definition","aliases":["image-seo","accessibility","on-page-seo"],"taxonomy":["technical-seo","on-page"],"text":"Alt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search. image-seo accessibility on-page-seo","passages":["Alt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/alt-text/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Alternate page with proper canonical tag","desc":"A Google Search Console Page Indexing status meaning a page is a duplicate or alternate version that correctly points its canonical at another, indexed page. It's normal, healthy behavior — Google says there is nothing you need to do.","snippetText":"A Google Search Console Page Indexing status meaning a page is a duplicate or alternate version that correctly points its canonical at another, indexed page. It's normal, healthy behavior — Google says there is nothing you need to do.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/alternate-page-canonical/#glossary","slug":"alternate-page-canonical","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/alternate-page-canonical/","meta":"Glossary definition","aliases":["Duplicate Content","Canonical Tag","Canonicalization"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status meaning a page is a duplicate or alternate version that correctly points its canonical at another, indexed page. It's normal, healthy behavior — Google says there is nothing you need to do. Duplicate Content Canonical Tag Canonicalization","passages":["A Google Search Console Page Indexing status meaning a page is a duplicate or alternate version that correctly points its canonical at another, indexed page. It's normal, healthy behavior — Google says there is nothing you need to do."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/alternate-page-canonical/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Amazon SEO","desc":"Amazon SEO is optimizing product listings to rank in Amazon's own search results — its internal search algorithm (historically nicknamed A9, after the Amazon search subsidiary) weighs relevance to the query against performance signals like conversion rate, sales velocity, price, and reviews. It's a separate ranking system from Google, because Amazon is optimizing for revenue per search, not just relevance.","snippetText":"Amazon SEO is optimizing product listings to rank in Amazon's own search results — its internal search algorithm (historically nicknamed A9, after the Amazon search subsidiary) weighs relevance to the query against performance signals like conversion rate, sales velocity, price, and reviews. It's a separate ranking system from Google, because Amazon is optimizing for revenue per search, not just relevance.","href":"/ecommerce-seo/marketplace-seo/amazon-seo/#glossary","slug":"amazon-seo","parentHref":"/ecommerce-seo/marketplace-seo/amazon-seo/","meta":"Glossary definition","aliases":["Marketplace SEO","Category page SEO"],"taxonomy":["ecommerce-seo","marketplace-seo"],"text":"Amazon SEO is optimizing product listings to rank in Amazon's own search results — its internal search algorithm (historically nicknamed A9, after the Amazon search subsidiary) weighs relevance to the query against performance signals like conversion rate, sales velocity, price, and reviews. It's a separate ranking system from Google, because Amazon is optimizing for revenue per search, not just relevance. Marketplace SEO Category page SEO","passages":["Amazon SEO is optimizing product listings to rank in Amazon's own search results — its internal search algorithm (historically nicknamed A9, after the Amazon search subsidiary) weighs relevance to the query against performance signals like conversion rate, sales velocity, price, and reviews. It's a separate ranking system from Google, because Amazon is optimizing for revenue per search, not just relevance."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/marketplace-seo/amazon-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AMP","desc":"AMP (Accelerated Mobile Pages) is an open-source web framework Google launched in 2015 to make mobile pages load near-instantly via restricted HTML/CSS/JS and CDN caching. It was never a ranking factor and, since June 2021, is no longer required for Top Stories.","snippetText":"AMP (Accelerated Mobile Pages) is an open-source web framework Google launched in 2015 to make mobile pages load near-instantly via restricted HTML/CSS/JS and CDN caching. It was never a ranking factor and, since June 2021, is no longer required for Top Stories.","href":"/technical-seo/mobile-seo/amp-seo/#glossary","slug":"amp","parentHref":"/technical-seo/mobile-seo/amp-seo/","meta":"Glossary definition","aliases":["core-web-vitals","mobile-seo"],"taxonomy":["technical-seo","mobile-seo"],"text":"AMP (Accelerated Mobile Pages) is an open-source web framework Google launched in 2015 to make mobile pages load near-instantly via restricted HTML/CSS/JS and CDN caching. It was never a ranking factor and, since June 2021, is no longer required for Top Stories. core-web-vitals mobile-seo","passages":["AMP (Accelerated Mobile Pages) is an open-source web framework Google launched in 2015 to make mobile pages load near-instantly via restricted HTML/CSS/JS and CDN caching. It was never a ranking factor and, since June 2021, is no longer required for Top Stories."],"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/amp-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Anchor Text","desc":"Anchor text is the visible, clickable text of a hyperlink. It tells readers what they'll find on the other end and gives search engines context about the linked page.","snippetText":"Anchor text is the visible, clickable text of a hyperlink. It tells readers what they'll find on the other end and gives search engines context about the linked page.","href":"/technical-seo/website-structure/internal-links/anchor-text/#glossary","slug":"anchor-text","parentHref":"/technical-seo/website-structure/internal-links/anchor-text/","meta":"Glossary definition","aliases":["internal-links","pagerank","backlinks","link-building"],"taxonomy":["technical-seo","website-structure"],"text":"Anchor text is the visible, clickable text of a hyperlink. It tells readers what they'll find on the other end and gives search engines context about the linked page. internal-links pagerank backlinks link-building","passages":["Anchor text is the visible, clickable text of a hyperlink. It tells readers what they'll find on the other end and gives search engines context about the linked page."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/internal-links/anchor-text/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Angular SEO","desc":"Angular SEO is the practice of making Angular single-page apps crawlable, renderable, and indexable — chiefly by serving real HTML through server-side rendering (@angular/ssr) or prerendering instead of relying on client-side rendering, plus managing titles, meta tags, and clean URLs.","snippetText":"Angular SEO is the practice of making Angular single-page apps crawlable, renderable, and indexable — chiefly by serving real HTML through server-side rendering (@angular/ssr) or prerendering instead of relying on client-side rendering, plus managing titles, meta tags, and clean URLs.","href":"/technical-seo/platform-seo/js-frameworks/angular-seo/#glossary","slug":"angular-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/angular-seo/","meta":"Glossary definition","aliases":["javascript-seo","headless-cms-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Angular SEO is the practice of making Angular single-page apps crawlable, renderable, and indexable — chiefly by serving real HTML through server-side rendering (@angular/ssr) or prerendering instead of relying on client-side rendering, plus managing titles, meta tags, and clean URLs. javascript-seo headless-cms-seo","passages":["Angular SEO is the practice of making Angular single-page apps crawlable, renderable, and indexable — chiefly by serving real HTML through server-side rendering (@angular/ssr) or prerendering instead of relying on client-side rendering, plus managing titles, meta tags, and clean URLs."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/angular-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Answer Engine Optimization (AEO)","desc":"Answer Engine Optimization (AEO) is the practice of structuring content so engines deliver it as a direct answer — featured snippets, voice assistants, and AI search — rather than just a ranked link. Coined for voice search in 2018 and revived for the LLM era. Google's position is that it's still SEO.","snippetText":"Answer Engine Optimization (AEO) is the practice of structuring content so engines deliver it as a direct answer — featured snippets, voice assistants, and AI search — rather than just a ranked link. Coined for voice search in 2018 and revived for the LLM era. Google's position is that it's still SEO.","href":"/ai-search/optimization/answer-engine-optimization/#glossary","slug":"answer-engine-optimization","parentHref":"/ai-search/optimization/answer-engine-optimization/","meta":"Glossary definition","aliases":["ai-search-optimization","generative-engine-optimization"],"taxonomy":["ai-search","optimization"],"text":"Answer Engine Optimization (AEO) is the practice of structuring content so engines deliver it as a direct answer — featured snippets, voice assistants, and AI search — rather than just a ranked link. Coined for voice search in 2018 and revived for the LLM era. Google's position is that it's still SEO. ai-search-optimization generative-engine-optimization","passages":["Answer Engine Optimization (AEO) is the practice of structuring content so engines deliver it as a direct answer — featured snippets, voice assistants, and AI search — rather than just a ranked link. Coined for voice search in 2018 and revived for the LLM era. Google's position is that it's still SEO."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/answer-engine-optimization/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"App Indexing","desc":"App Indexing was Google's now-deprecated system (2013–~2021) for indexing native app content and streaming uninstalled apps into search results. It's been replaced by app deep links — Android App Links and iOS Universal Links — which route users who have the app installed from a search result into the matching in-app screen. Deep links don't change indexing or ranking; Google still ranks the web page.","snippetText":"App Indexing was Google's now-deprecated system (2013–~2021) for indexing native app content and streaming uninstalled apps into search results. It's been replaced by app deep links — Android App Links and iOS Universal Links — which route users who have the app installed from a search result into the matching in-app screen. Deep links don't change indexing or ranking; Google still ranks the web page.","href":"/technical-seo/mobile-seo/app-indexing/#glossary","slug":"app-indexing","parentHref":"/technical-seo/mobile-seo/app-indexing/","meta":"Glossary definition","aliases":["mobile-first-indexing","mobile-seo"],"taxonomy":["technical-seo","mobile-seo"],"text":"App Indexing was Google's now-deprecated system (2013–~2021) for indexing native app content and streaming uninstalled apps into search results. It's been replaced by app deep links — Android App Links and iOS Universal Links — which route users who have the app installed from a search result into the matching in-app screen. Deep links don't change indexing or ranking; Google still ranks the web page. mobile-first-indexing mobile-seo","passages":["App Indexing was Google's now-deprecated system (2013–~2021) for indexing native app content and streaming uninstalled apps into search results. It's been replaced by app deep links — Android App Links and iOS Universal Links — which route users who have the app installed from a search result into the matching in-app screen. Deep links don't change indexing or ranking; Google still ranks the web page."],"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/app-indexing/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Article Schema","desc":"Article schema (Article, NewsArticle, or BlogPosting) is structured data marking up a written piece's headline, author, and dates — Google labels it the \"Article rich result,\" but it's a better-displayed existing result, not a distinct new card, and it isn't required for Top Stories or Discover eligibility.","snippetText":"Article schema (Article, NewsArticle, or BlogPosting) is structured data marking up a written piece's headline, author, and dates — Google labels it the \"Article rich result,\" but it's a better-displayed existing result, not a distinct new card, and it isn't required for Top Stories or Discover eligibility.","href":"/technical-seo/on-page/structured-data/creative-works/article-schema/#glossary","slug":"article-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/article-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","rich-results","product-schema"],"taxonomy":["technical-seo","on-page"],"text":"Article schema (Article, NewsArticle, or BlogPosting) is structured data marking up a written piece's headline, author, and dates — Google labels it the \"Article rich result,\" but it's a better-displayed existing result, not a distinct new card, and it isn't required for Top Stories or Discover eligibility. schema-markup structured-data rich-results product-schema","passages":["Article schema (Article, NewsArticle, or BlogPosting) is structured data marking up a written piece's headline, author, and dates — Google labels it the \"Article rich result,\" but it's a better-displayed existing result, not a distinct new card, and it isn't required for Top Stories or Discover eligibility."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/article-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Astro SEO","desc":"Astro SEO is the practice of optimizing sites built with the Astro web framework for search. Astro prerenders to static HTML by default, so content is in the raw HTML on first crawl for that route — no rendering queue — which makes it a strong starting point for SEO, though the default can be overridden per route and doesn't guarantee crawlability or rankings on its own.","snippetText":"Astro SEO is the practice of optimizing sites built with the Astro web framework for search. Astro prerenders to static HTML by default, so content is in the raw HTML on first crawl for that route — no rendering queue — which makes it a strong starting point for SEO, though the default can be overridden per route and doesn't guarantee crawlability or rankings on its own.","href":"/technical-seo/platform-seo/js-frameworks/astro-seo/#glossary","slug":"astro-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/astro-seo/","meta":"Glossary definition","aliases":["javascript-seo","headless-cms-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Astro SEO is the practice of optimizing sites built with the Astro web framework for search. Astro prerenders to static HTML by default, so content is in the raw HTML on first crawl for that route — no rendering queue — which makes it a strong starting point for SEO, though the default can be overridden per route and doesn't guarantee crawlability or rankings on its own. javascript-seo headless-cms-seo","passages":["Astro SEO is the practice of optimizing sites built with the Astro web framework for search. Astro prerenders to static HTML by default, so content is in the raw HTML on first crawl for that route — no rendering queue — which makes it a strong starting point for SEO, though the default can be overridden per route and doesn't guarantee crawlability or rankings on its own."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/astro-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"AudioObject Schema","desc":"AudioObject schema (schema.org/AudioObject) marks up audio content like podcast episodes and audio articles. It has no standalone Google rich result today — its value is entity/content understanding and embedding audio inside other marked-up content, not a visible search feature.","snippetText":"AudioObject schema (schema.org/AudioObject) marks up audio content like podcast episodes and audio articles. It has no standalone Google rich result today — its value is entity/content understanding and embedding audio inside other marked-up content, not a visible search feature.","href":"/technical-seo/on-page/structured-data/creative-works/audioobject-schema/#glossary","slug":"audioobject-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/audioobject-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","videoobject-schema","creative-works-schema"],"taxonomy":["technical-seo","on-page"],"text":"AudioObject schema (schema.org/AudioObject) marks up audio content like podcast episodes and audio articles. It has no standalone Google rich result today — its value is entity/content understanding and embedding audio inside other marked-up content, not a visible search feature. schema-markup structured-data videoobject-schema creative-works-schema","passages":["AudioObject schema (schema.org/AudioObject) marks up audio content like podcast episodes and audio articles. It has no standalone Google rich result today — its value is entity/content understanding and embedding audio inside other marked-up content, not a visible search feature."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/audioobject-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Automated internal linking","desc":"Automated internal linking is the use of software — CMS plugins, custom scripts, or build-time tooling — to insert hyperlinks between related pages on a website automatically, based on keyword or topic matching, instead of an editor adding each link by hand.","snippetText":"Automated internal linking is the use of software — CMS plugins, custom scripts, or build-time tooling — to insert hyperlinks between related pages on a website automatically, based on keyword or topic matching, instead of an editor adding each link by hand.","href":"/programmatic-seo/automated-internal-linking/#glossary","slug":"automated-internal-linking","parentHref":"/programmatic-seo/automated-internal-linking/","meta":"Glossary definition","aliases":["internal-linking","internal-links"],"taxonomy":["programmatic-seo"],"text":"Automated internal linking is the use of software — CMS plugins, custom scripts, or build-time tooling — to insert hyperlinks between related pages on a website automatically, based on keyword or topic matching, instead of an editor adding each link by hand. internal-linking internal-links","passages":["Automated internal linking is the use of software — CMS plugins, custom scripts, or build-time tooling — to insert hyperlinks between related pages on a website automatically, based on keyword or topic matching, instead of an editor adding each link by hand."],"popular":0,"url":"https://patrickstox.com/programmatic-seo/automated-internal-linking/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"B2B SaaS SEO","desc":"B2B SaaS SEO is search engine optimization for subscription software sold to businesses. The ranking mechanics are ordinary SEO — what's distinct is mapping a multi-stakeholder buying committee (end user, champion, economic buyer, and security/procurement reviewer) onto the SaaS-specific pages each one searches for across a long sales cycle.","snippetText":"B2B SaaS SEO is search engine optimization for subscription software sold to businesses. The ranking mechanics are ordinary SEO — what's distinct is mapping a multi-stakeholder buying committee (end user, champion, economic buyer, and security/procurement reviewer) onto the SaaS-specific pages each one searches for across a long sales cycle.","href":"/saas-seo/b2b-saas-seo/#glossary","slug":"b2b-saas-seo","parentHref":"/saas-seo/b2b-saas-seo/","meta":"Glossary definition","aliases":["saas-seo","b2b-seo","saas-seo-checklist"],"taxonomy":["saas-seo"],"text":"B2B SaaS SEO is search engine optimization for subscription software sold to businesses. The ranking mechanics are ordinary SEO — what's distinct is mapping a multi-stakeholder buying committee (end user, champion, economic buyer, and security/procurement reviewer) onto the SaaS-specific pages each one searches for across a long sales cycle. saas-seo b2b-seo saas-seo-checklist","passages":["B2B SaaS SEO is search engine optimization for subscription software sold to businesses. The ranking mechanics are ordinary SEO — what's distinct is mapping a multi-stakeholder buying committee (end user, champion, economic buyer, and security/procurement reviewer) onto the SaaS-specific pages each one searches for across a long sales cycle."],"popular":0,"url":"https://patrickstox.com/saas-seo/b2b-saas-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"B2B SEO","desc":"B2B SEO is the practice of optimizing a company's site to rank for the searches business buyers make. The ranking mechanics are identical to B2C SEO — what differs is the strategy: small buying committees, long sales cycles, and low-volume, high-intent keywords.","snippetText":"B2B SEO is the practice of optimizing a company's site to rank for the searches business buyers make. The ranking mechanics are identical to B2C SEO — what differs is the strategy: small buying committees, long sales cycles, and low-volume, high-intent keywords.","href":"/enterprise-seo/business-models-and-segments/b2b-seo/#glossary","slug":"b2b-seo","parentHref":"/enterprise-seo/business-models-and-segments/b2b-seo/","meta":"Glossary definition","aliases":["enterprise-seo","saas-seo","eeat"],"taxonomy":["enterprise-seo","business-models-and-segments"],"text":"B2B SEO is the practice of optimizing a company's site to rank for the searches business buyers make. The ranking mechanics are identical to B2C SEO — what differs is the strategy: small buying committees, long sales cycles, and low-volume, high-intent keywords. enterprise-seo saas-seo eeat","passages":["B2B SEO is the practice of optimizing a company's site to rank for the searches business buyers make. The ranking mechanics are identical to B2C SEO — what differs is the strategy: small buying committees, long sales cycles, and low-volume, high-intent keywords."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/business-models-and-segments/b2b-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Baidu SEO","desc":"Baidu SEO is the practice of optimizing a website to rank in Baidu, mainland China's dominant search engine. It differs structurally from Google SEO: hosting location behind the Great Firewall, an ICP filing to legally host on mainland servers, Simplified Chinese content, Baidu's preference for its own properties, and its own crawler (Baiduspider) and webmaster console (Ziyuan) all matter more than any translated Google playbook.","snippetText":"Baidu SEO is the practice of optimizing a website to rank in Baidu, mainland China's dominant search engine. It differs structurally from Google SEO: hosting location behind the Great Firewall, an ICP filing to legally host on mainland servers, Simplified Chinese content, Baidu's preference for its own properties, and its own crawler (Baiduspider) and webmaster console (Ziyuan) all matter more than any translated Google playbook.","href":"/international-seo/market-specific-seo/baidu-seo/#glossary","slug":"baidu-seo","parentHref":"/international-seo/market-specific-seo/baidu-seo/","meta":"Glossary definition","aliases":["baiduspider","baidu-webmaster-tools","market-specific-seo"],"taxonomy":["international-seo","market-specific-seo"],"text":"Baidu SEO is the practice of optimizing a website to rank in Baidu, mainland China's dominant search engine. It differs structurally from Google SEO: hosting location behind the Great Firewall, an ICP filing to legally host on mainland servers, Simplified Chinese content, Baidu's preference for its own properties, and its own crawler (Baiduspider) and webmaster console (Ziyuan) all matter more than any translated Google playbook. baiduspider baidu-webmaster-tools market-specific-seo","passages":["Baidu SEO is the practice of optimizing a website to rank in Baidu, mainland China's dominant search engine. It differs structurally from Google SEO: hosting location behind the Great Firewall, an ICP filing to legally host on mainland servers, Simplified Chinese content, Baidu's preference for its own properties, and its own crawler (Baiduspider) and webmaster console (Ziyuan) all matter more than any translated Google playbook."],"popular":0,"url":"https://patrickstox.com/international-seo/market-specific-seo/baidu-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Baidu Webmaster Tools (Ziyuan)","desc":"Baidu Webmaster Tools — officially the Baidu Search Resource Platform (百度搜索资源平台) at ziyuan.baidu.com — is Baidu's free webmaster console: verify a site, submit URLs and sitemaps (including the fast API push), and monitor indexing and crawl diagnostics. Since May 2022 registration needs a Chinese mobile number.","snippetText":"Baidu Webmaster Tools — officially the Baidu Search Resource Platform (百度搜索资源平台) at ziyuan.baidu.com — is Baidu's free webmaster console: verify a site, submit URLs and sitemaps (including the fast API push), and monitor indexing and crawl diagnostics. Since May 2022 registration needs a Chinese mobile number.","href":"/technical-seo/tools/search-engine-tools/baidu-webmaster-tools/#glossary","slug":"baidu-webmaster-tools","parentHref":"/technical-seo/tools/search-engine-tools/baidu-webmaster-tools/","meta":"Glossary definition","aliases":["baiduspider","international-seo"],"taxonomy":["technical-seo","tools"],"text":"Baidu Webmaster Tools — officially the Baidu Search Resource Platform (百度搜索资源平台) at ziyuan.baidu.com — is Baidu's free webmaster console: verify a site, submit URLs and sitemaps (including the fast API push), and monitor indexing and crawl diagnostics. Since May 2022 registration needs a Chinese mobile number. baiduspider international-seo","passages":["Baidu Webmaster Tools — officially the Baidu Search Resource Platform (百度搜索资源平台) at ziyuan.baidu.com — is Baidu's free webmaster console: verify a site, submit URLs and sitemaps (including the fast API push), and monitor indexing and crawl diagnostics. Since May 2022 registration needs a Chinese mobile number."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/baidu-webmaster-tools/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Baiduspider","desc":"Baiduspider is the web crawler operated by Baidu, China's dominant search engine — the Chinese-market equivalent of Googlebot. It discovers, crawls, and indexes pages for Baidu Search, and you manage its access via robots.txt and Baidu's own console, Baidu Search Resource Platform (Ziyuan).","snippetText":"Baiduspider is the web crawler operated by Baidu, China's dominant search engine — the Chinese-market equivalent of Googlebot. It discovers, crawls, and indexes pages for Baidu Search, and you manage its access via robots.txt and Baidu's own console, Baidu Search Resource Platform (Ziyuan).","href":"/technical-seo/how-search-works/crawling/crawler/baiduspider/#glossary","slug":"baiduspider","parentHref":"/technical-seo/how-search-works/crawling/crawler/baiduspider/","meta":"Glossary definition","aliases":["googlebot","bingbot","crawler"],"taxonomy":["technical-seo","how-search-works"],"text":"Baiduspider is the web crawler operated by Baidu, China's dominant search engine — the Chinese-market equivalent of Googlebot. It discovers, crawls, and indexes pages for Baidu Search, and you manage its access via robots.txt and Baidu's own console, Baidu Search Resource Platform (Ziyuan). googlebot bingbot crawler","passages":["Baiduspider is the web crawler operated by Baidu, China's dominant search engine — the Chinese-market equivalent of Googlebot. It discovers, crawls, and indexes pages for Baidu Search, and you manage its access via robots.txt and Baidu's own console, Baidu Search Resource Platform (Ziyuan)."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/baiduspider/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Back/Forward Cache (bfcache)","desc":"The back/forward cache (bfcache) is a browser feature that freezes a whole page in memory when you navigate away, so pressing Back or Forward can restore it instantly — no reload, no re-render, no network requests — as long as the browser hasn't evicted that frozen page first. It's a browser optimization, not a search ranking factor.","snippetText":"The back/forward cache (bfcache) is a browser feature that freezes a whole page in memory when you navigate away, so pressing Back or Forward can restore it instantly — no reload, no re-render, no network requests — as long as the browser hasn't evicted that frozen page first. It's a browser optimization, not a search ranking factor.","href":"/technical-seo/web-performance/bfcache/#glossary","slug":"bfcache","parentHref":"/technical-seo/web-performance/bfcache/","meta":"Glossary definition","aliases":["core-web-vitals","cls","caching"],"taxonomy":["technical-seo","web-performance"],"text":"The back/forward cache (bfcache) is a browser feature that freezes a whole page in memory when you navigate away, so pressing Back or Forward can restore it instantly — no reload, no re-render, no network requests — as long as the browser hasn't evicted that frozen page first. It's a browser optimization, not a search ranking factor. core-web-vitals cls caching","passages":["The back/forward cache (bfcache) is a browser feature that freezes a whole page in memory when you navigate away, so pressing Back or Forward can restore it instantly — no reload, no re-render, no network requests — as long as the browser hasn't evicted that frozen page first. It's a browser optimization, not a search ranking factor."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/bfcache/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"BigCommerce SEO","desc":"BigCommerce SEO is the technical, on-page, and content work you do on a store built on BigCommerce — a hosted SaaS ecommerce platform that ships with more native SEO controls than most of its rivals (editable robots.txt, custom URL structures, auto sitemaps, and automatic 301s), while still leaving faceted navigation, multi-storefront hreflang, and review schema for you to handle.","snippetText":"BigCommerce SEO is the technical, on-page, and content work you do on a store built on BigCommerce — a hosted SaaS ecommerce platform that ships with more native SEO controls than most of its rivals (editable robots.txt, custom URL structures, auto sitemaps, and automatic 301s), while still leaving faceted navigation, multi-storefront hreflang, and review schema for you to handle.","href":"/technical-seo/platform-seo/ecommerce-platforms/bigcommerce-seo/#glossary","slug":"bigcommerce-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/bigcommerce-seo/","meta":"Glossary definition","aliases":["faceted-navigation","canonicalization","core-web-vitals"],"taxonomy":["technical-seo","platform-seo"],"text":"BigCommerce SEO is the technical, on-page, and content work you do on a store built on BigCommerce — a hosted SaaS ecommerce platform that ships with more native SEO controls than most of its rivals (editable robots.txt, custom URL structures, auto sitemaps, and automatic 301s), while still leaving faceted navigation, multi-storefront hreflang, and review schema for you to handle. faceted-navigation canonicalization core-web-vitals","passages":["BigCommerce SEO is the technical, on-page, and content work you do on a store built on BigCommerce — a hosted SaaS ecommerce platform that ships with more native SEO controls than most of its rivals (editable robots.txt, custom URL structures, auto sitemaps, and automatic 301s), while still leaving faceted navigation, multi-storefront hreflang, and review schema for you to handle."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/bigcommerce-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Bing Webmaster Tools","desc":"Microsoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility.","snippetText":"Microsoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility.","href":"/technical-seo/tools/search-engine-tools/bing-webmaster-tools/#glossary","slug":"bing-webmaster-tools","parentHref":"/technical-seo/tools/search-engine-tools/bing-webmaster-tools/","meta":"Glossary definition","aliases":["search-engine-tools","google-search-console","indexnow"],"taxonomy":["technical-seo","tools"],"text":"Microsoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. search-engine-tools google-search-console indexnow","passages":["Microsoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/bing-webmaster-tools/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Bingbot","desc":"Bingbot is Microsoft Bing's primary web crawler — the bot that discovers, fetches, and renders pages to build the Bing index. That index also powers Yahoo, DuckDuckGo, Ecosia, and Microsoft Copilot, so Bingbot's reach is far wider than Bing's own search-market share.","snippetText":"Bingbot is Microsoft Bing's primary web crawler — the bot that discovers, fetches, and renders pages to build the Bing index. That index also powers Yahoo, DuckDuckGo, Ecosia, and Microsoft Copilot, so Bingbot's reach is far wider than Bing's own search-market share.","href":"/technical-seo/how-search-works/crawling/crawler/bingbot/#glossary","slug":"bingbot","parentHref":"/technical-seo/how-search-works/crawling/crawler/bingbot/","meta":"Glossary definition","aliases":["crawler","googlebot","user-agent","crawling","indexnow"],"taxonomy":["technical-seo","how-search-works"],"text":"Bingbot is Microsoft Bing's primary web crawler — the bot that discovers, fetches, and renders pages to build the Bing index. That index also powers Yahoo, DuckDuckGo, Ecosia, and Microsoft Copilot, so Bingbot's reach is far wider than Bing's own search-market share. crawler googlebot user-agent crawling indexnow","passages":["Bingbot is Microsoft Bing's primary web crawler — the bot that discovers, fetches, and renders pages to build the Bing index. That index also powers Yahoo, DuckDuckGo, Ecosia, and Microsoft Copilot, so Bingbot's reach is far wider than Bing's own search-market share."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/bingbot/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Blocked due to unauthorized request (401)","desc":"A Google Search Console Page Indexing status: Googlebot was refused with an HTTP 401 (authentication required), so the page is gated and can't be indexed.","snippetText":"A Google Search Console Page Indexing status: Googlebot was refused with an HTTP 401 (authentication required), so the page is gated and can't be indexed.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-401/#glossary","slug":"blocked-401","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-401/","meta":"Glossary definition","aliases":["crawling","indexing","gsc-page-indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status: Googlebot was refused with an HTTP 401 (authentication required), so the page is gated and can't be indexed. crawling indexing gsc-page-indexing","passages":["A Google Search Console Page Indexing status: Googlebot was refused with an HTTP 401 (authentication required), so the page is gated and can't be indexed."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-401/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Blocked due to access forbidden (403)","desc":"A Google Search Console Page Indexing status meaning Googlebot tried to crawl the URL but the server returned an HTTP 403 (Forbidden). Google won't index the page. For a URL meant to be public, this is often a firewall/CDN/WAF unintentionally blocking Googlebot; for a URL meant to stay private, the 403 can be a valid, working access decision.","snippetText":"A Google Search Console Page Indexing status meaning Googlebot tried to crawl the URL but the server returned an HTTP 403 (Forbidden). Google won't index the page. For a URL meant to be public, this is often a firewall/CDN/WAF unintentionally blocking Googlebot; for a URL meant to stay private, the 403 can be a valid, working access decision.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-403/#glossary","slug":"blocked-403","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-403/","meta":"Glossary definition","aliases":["gsc-page-indexing","crawling","indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status meaning Googlebot tried to crawl the URL but the server returned an HTTP 403 (Forbidden). Google won't index the page. For a URL meant to be public, this is often a firewall/CDN/WAF unintentionally blocking Googlebot; for a URL meant to stay private, the 403 can be a valid, working access decision. gsc-page-indexing crawling indexing","passages":["A Google Search Console Page Indexing status meaning Googlebot tried to crawl the URL but the server returned an HTTP 403 (Forbidden). Google won't index the page. For a URL meant to be public, this is often a firewall/CDN/WAF unintentionally blocking Googlebot; for a URL meant to stay private, the 403 can be a valid, working access decision."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-403/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Blocked by robots.txt","desc":"A Google Search Console Page Indexing status: the URL was excluded from indexing because your robots.txt disallows crawling it. Usually intentional and benign — robots.txt blocks crawling, not indexing.","snippetText":"A Google Search Console Page Indexing status: the URL was excluded from indexing because your robots.txt disallows crawling it. Usually intentional and benign — robots.txt blocks crawling, not indexing.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-by-robots-txt/#glossary","slug":"blocked-by-robots-txt","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-by-robots-txt/","meta":"Glossary definition","aliases":["indexed-though-blocked-by-robots-txt","robots-txt","crawling"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status: the URL was excluded from indexing because your robots.txt disallows crawling it. Usually intentional and benign — robots.txt blocks crawling, not indexing. indexed-though-blocked-by-robots-txt robots-txt crawling","passages":["A Google Search Console Page Indexing status: the URL was excluded from indexing because your robots.txt disallows crawling it. Usually intentional and benign — robots.txt blocks crawling, not indexing."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-by-robots-txt/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Blocked due to other 4xx issue","desc":"A Google Search Console Page Indexing status: Googlebot got a 4xx client error not covered by another issue type (e.g. 400, 405, 410, 429, 451) when crawling the URL, so the page can't be indexed.","snippetText":"A Google Search Console Page Indexing status: Googlebot got a 4xx client error not covered by another issue type (e.g. 400, 405, 410, 429, 451) when crawling the URL, so the page can't be indexed.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-other-4xx/#glossary","slug":"blocked-other-4xx","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-other-4xx/","meta":"Glossary definition","aliases":["blocked-403","crawling","gsc-page-indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status: Googlebot got a 4xx client error not covered by another issue type (e.g. 400, 405, 410, 429, 451) when crawling the URL, so the page can't be indexed. blocked-403 crawling gsc-page-indexing","passages":["A Google Search Console Page Indexing status: Googlebot got a 4xx client error not covered by another issue type (e.g. 400, 405, 410, 429, 451) when crawling the URL, so the page can't be indexed."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-other-4xx/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Book Schema","desc":"Book schema (schema.org/Book) is structured data describing a book's title, author, ISBN, and format. It can power Google's review-snippet rich result and — for approved feed providers — the registration-gated Book Actions program, and it helps Google disambiguate book entities even without a visible rich result.","snippetText":"Book schema (schema.org/Book) is structured data describing a book's title, author, ISBN, and format. It can power Google's review-snippet rich result and — for approved feed providers — the registration-gated Book Actions program, and it helps Google disambiguate book entities even without a visible rich result.","href":"/technical-seo/on-page/structured-data/creative-works/book-schema/#glossary","slug":"book-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/book-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","review-schema","product-schema"],"taxonomy":["technical-seo","on-page"],"text":"Book schema (schema.org/Book) is structured data describing a book's title, author, ISBN, and format. It can power Google's review-snippet rich result and — for approved feed providers — the registration-gated Book Actions program, and it helps Google disambiguate book entities even without a visible rich result. schema-markup structured-data review-schema product-schema","passages":["Book schema (schema.org/Book) is structured data describing a book's title, author, ISBN, and format. It can power Google's review-snippet rich result and — for approved feed providers — the registration-gated Book Actions program, and it helps Google disambiguate book entities even without a visible rich result."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/book-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Brand vs. non-brand search traffic","desc":"Segmenting organic search performance into branded queries (your brand name, its variants and misspellings, and products uniquely tied to you) versus non-branded queries (everything else). Splitting the two stops brand demand from masking the SEO-driven growth in your reporting.","snippetText":"Segmenting organic search performance into branded queries (your brand name, its variants and misspellings, and products uniquely tied to you) versus non-branded queries (everything else). Splitting the two stops brand demand from masking the SEO-driven growth in your reporting.","href":"/enterprise-seo/metrics/brand-vs-non-brand/#glossary","slug":"brand-vs-non-brand","parentHref":"/enterprise-seo/metrics/brand-vs-non-brand/","meta":"Glossary definition","aliases":["organic-traffic","enterprise-seo-metrics","enterprise-seo-reporting","performance-report"],"taxonomy":["enterprise-seo","metrics"],"text":"Segmenting organic search performance into branded queries (your brand name, its variants and misspellings, and products uniquely tied to you) versus non-branded queries (everything else). Splitting the two stops brand demand from masking the SEO-driven growth in your reporting. organic-traffic enterprise-seo-metrics enterprise-seo-reporting performance-report","passages":["Segmenting organic search performance into branded queries (your brand name, its variants and misspellings, and products uniquely tied to you) versus non-branded queries (everything else). Splitting the two stops brand demand from masking the SEO-driven growth in your reporting."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/brand-vs-non-brand/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"BreadcrumbList Schema","desc":"BreadcrumbList (schema.org/BreadcrumbList) is structured data — usually JSON-LD — that marks up a page's breadcrumb trail (Home > Category > Page) so search engines can read the page's position in the site hierarchy, drive a readable breadcrumb path in the search snippet, and use it to categorize the page.","snippetText":"BreadcrumbList (schema.org/BreadcrumbList) is structured data — usually JSON-LD — that marks up a page's breadcrumb trail (Home > Category > Page) so search engines can read the page's position in the site hierarchy, drive a readable breadcrumb path in the search snippet, and use it to categorize the page.","href":"/technical-seo/on-page/structured-data/metadata-trust/breadcrumblist-schema/#glossary","slug":"breadcrumblist-schema","parentHref":"/technical-seo/on-page/structured-data/metadata-trust/breadcrumblist-schema/","meta":"Glossary definition","aliases":["breadcrumbs","structured-data","schema-markup","rich-results"],"taxonomy":["technical-seo","on-page"],"text":"BreadcrumbList (schema.org/BreadcrumbList) is structured data — usually JSON-LD — that marks up a page's breadcrumb trail (Home > Category > Page) so search engines can read the page's position in the site hierarchy, drive a readable breadcrumb path in the search snippet, and use it to categorize the page. breadcrumbs structured-data schema-markup rich-results","passages":["BreadcrumbList (schema.org/BreadcrumbList) is structured data — usually JSON-LD — that marks up a page's breadcrumb trail (Home > Category > Page) so search engines can read the page's position in the site hierarchy, drive a readable breadcrumb path in the search snippet, and use it to categorize the page."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/breadcrumblist-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Breadcrumbs","desc":"Breadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results.","snippetText":"Breadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results.","href":"/technical-seo/website-structure/breadcrumbs/#glossary","slug":"breadcrumbs","parentHref":"/technical-seo/website-structure/breadcrumbs/","meta":"Glossary definition","aliases":["internal-links","structured-data"],"taxonomy":["technical-seo","website-structure"],"text":"Breadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results. internal-links structured-data","passages":["Breadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/breadcrumbs/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Caching for SEO","desc":"Caching stores a copy of a page or resource — in a browser, a CDN edge node, or a search crawler's own cache — so it can be served again without regenerating or re-downloading it. It isn't a direct ranking factor, but it feeds page speed and crawl efficiency.","snippetText":"Caching stores a copy of a page or resource — in a browser, a CDN edge node, or a search crawler's own cache — so it can be served again without regenerating or re-downloading it. It isn't a direct ranking factor, but it feeds page speed and crawl efficiency.","href":"/technical-seo/web-performance/caching/#glossary","slug":"caching","parentHref":"/technical-seo/web-performance/caching/","meta":"Glossary definition","aliases":["core-web-vitals","ttfb","crawl-budget"],"taxonomy":["technical-seo","web-performance"],"text":"Caching stores a copy of a page or resource — in a browser, a CDN edge node, or a search crawler's own cache — so it can be served again without regenerating or re-downloading it. It isn't a direct ranking factor, but it feeds page speed and crawl efficiency. core-web-vitals ttfb crawl-budget","passages":["Caching stores a copy of a page or resource — in a browser, a CDN edge node, or a search crawler's own cache — so it can be served again without regenerating or re-downloading it. It isn't a direct ranking factor, but it feeds page speed and crawl efficiency."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/caching/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Canonical Tag","desc":"A rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content.","snippetText":"A rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content.","href":"/technical-seo/how-search-works/indexing/canonicalization/canonical-tag/#glossary","slug":"canonical-tag","parentHref":"/technical-seo/how-search-works/indexing/canonicalization/canonical-tag/","meta":"Glossary definition","aliases":["Canonicalization","Duplicate Content","URL Parameters"],"taxonomy":["technical-seo","how-search-works"],"text":"A rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. Canonicalization Duplicate Content URL Parameters","passages":["A rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/canonical-tag/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Canonicalization","desc":"How search engines pick one canonical URL among duplicates and consolidate signals onto it.","snippetText":"How search engines pick one canonical URL among duplicates and consolidate signals onto it.","href":"/technical-seo/how-search-works/indexing/canonicalization/#glossary","slug":"canonicalization","parentHref":"/technical-seo/how-search-works/indexing/canonicalization/","meta":"Glossary definition","aliases":["Canonical Tag","Duplicate Content","URL Parameters","Indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"How search engines pick one canonical URL among duplicates and consolidate signals onto it. Canonical Tag Duplicate Content URL Parameters Indexing","passages":["How search engines pick one canonical URL among duplicates and consolidate signals onto it."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"carousel rich result","desc":"A carousel rich result (Google calls it a \"host carousel\") is a horizontally scrollable row of cards, all from one site, built by wrapping two or more same-type items in an ItemList with position values. Only a short, shifting list of schema.org types qualifies — and a second, geographically limited beta carousel system now runs alongside the original.","snippetText":"A carousel rich result (Google calls it a \"host carousel\") is a horizontally scrollable row of cards, all from one site, built by wrapping two or more same-type items in an ItemList with position values. Only a short, shifting list of schema.org types qualifies — and a second, geographically limited beta carousel system now runs alongside the original.","href":"/technical-seo/on-page/structured-data/carousel-schema/#glossary","slug":"carousel-schema","parentHref":"/technical-seo/on-page/structured-data/carousel-schema/","meta":"Glossary definition","aliases":["structured data","creative works schema","itemlist-schema"],"taxonomy":["technical-seo","on-page"],"text":"A carousel rich result (Google calls it a \"host carousel\") is a horizontally scrollable row of cards, all from one site, built by wrapping two or more same-type items in an ItemList with position values. Only a short, shifting list of schema.org types qualifies — and a second, geographically limited beta carousel system now runs alongside the original. structured data creative works schema itemlist-schema","passages":["A carousel rich result (Google calls it a \"host carousel\") is a horizontally scrollable row of cards, all from one site, built by wrapping two or more same-type items in an ItemList with position values. Only a short, shifting list of schema.org types qualifies — and a second, geographically limited beta carousel system now runs alongside the original."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/carousel-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Carrd SEO","desc":"Carrd SEO is the practice of optimizing a website built on Carrd — a minimal, primarily single-page website builder — for organic search. Carrd automatically provides HTTPS via Let's Encrypt, a Cloudflare-backed CDN, an auto-generated sitemap.xml, mobile-responsive templates, and static HTML (so there are no JavaScript crawl issues). The catch is plan-gating and architecture: meta tags and a custom domain require Pro Standard ($19/yr), canonical control, 301 redirects, and robots.txt require Pro Plus ($49/yr), and the whole site lives at one URL — sections are scroll anchors, not separate indexable pages — so you get one keyword focus per site.","snippetText":"Carrd SEO is the practice of optimizing a website built on Carrd — a minimal, primarily single-page website builder — for organic search. Carrd automatically provides HTTPS via Let's Encrypt, a Cloudflare-backed CDN, an auto-generated sitemap.xml, mobile-responsive templates, and static HTML (so there are no JavaScript crawl issues). The catch is plan-gating and architecture: meta tags and a custom domain require Pro Standard ($19/yr), canonical control, 301 redirects, and robots.txt require Pro Plus ($49/yr), and the whole site lives at one URL — sections are scroll anchors, not separate inde","href":"/technical-seo/platform-seo/website-builders/carrd-seo/#glossary","slug":"carrd-seo","parentHref":"/technical-seo/platform-seo/website-builders/carrd-seo/","meta":"Glossary definition","aliases":["platform-seo","canonicalization","structured-data","sitemaps"],"taxonomy":["technical-seo","platform-seo"],"text":"Carrd SEO is the practice of optimizing a website built on Carrd — a minimal, primarily single-page website builder — for organic search. Carrd automatically provides HTTPS via Let's Encrypt, a Cloudflare-backed CDN, an auto-generated sitemap.xml, mobile-responsive templates, and static HTML (so there are no JavaScript crawl issues). The catch is plan-gating and architecture: meta tags and a custom domain require Pro Standard ($19/yr), canonical control, 301 redirects, and robots.txt require Pro Plus ($49/yr), and the whole site lives at one URL — sections are scroll anchors, not separate indexable pages — so you get one keyword focus per site. platform-seo canonicalization structured-data sitemaps","passages":["Carrd SEO is the practice of optimizing a website built on Carrd — a minimal, primarily single-page website builder — for organic search. Carrd automatically provides HTTPS via Let's Encrypt, a Cloudflare-backed CDN, an auto-generated sitemap.xml, mobile-responsive templates, and static HTML (so there are no JavaScript crawl issues). The catch is plan-gating and architecture: meta tags and a custom domain require Pro Standard ($19/yr), canonical control, 301 redirects, and robots.txt require Pro Plus ($49/yr), and the whole site lives at one URL — sections are scroll anchors, not separate indexable pages — so you get one keyword focus per site."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/carrd-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Category Page SEO","desc":"Category page SEO is the practice of optimizing an ecommerce listing page (also called a PLP or collection page) — the page that groups products under a classification like /shoes/running/ — so it ranks for broad commercial queries and routes crawlers and link equity to the products beneath it.","snippetText":"Category page SEO is the practice of optimizing an ecommerce listing page (also called a PLP or collection page) — the page that groups products under a classification like /shoes/running/ — so it ranks for broad commercial queries and routes crawlers and link equity to the products beneath it.","href":"/ecommerce-seo/categories-and-merchandising/category-page-seo/#glossary","slug":"category-page-seo","parentHref":"/ecommerce-seo/categories-and-merchandising/category-page-seo/","meta":"Glossary definition","aliases":["ecommerce-seo","faceted-navigation","crawl-budget","canonicalization"],"taxonomy":["ecommerce-seo","categories-and-merchandising"],"text":"Category page SEO is the practice of optimizing an ecommerce listing page (also called a PLP or collection page) — the page that groups products under a classification like /shoes/running/ — so it ranks for broad commercial queries and routes crawlers and link equity to the products beneath it. ecommerce-seo faceted-navigation crawl-budget canonicalization","passages":["Category page SEO is the practice of optimizing an ecommerce listing page (also called a PLP or collection page) — the page that groups products under a classification like /shoes/running/ — so it ranks for broad commercial queries and routes crawlers and link equity to the products beneath it."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/category-page-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"CDN and SEO","desc":"A CDN (content delivery network) is a geographically distributed network of edge servers that caches and serves your content from a location close to each visitor and crawler. It isn't a ranking factor itself, but it affects things Google and Bing do use — page speed and Core Web Vitals, crawl efficiency, uptime, and HTTPS delivery — and, if misconfigured, can block crawlers or muddle canonicalization.","snippetText":"A CDN (content delivery network) is a geographically distributed network of edge servers that caches and serves your content from a location close to each visitor and crawler. It isn't a ranking factor itself, but it affects things Google and Bing do use — page speed and Core Web Vitals, crawl efficiency, uptime, and HTTPS delivery — and, if misconfigured, can block crawlers or muddle canonicalization.","href":"/technical-seo/web-performance/cdn-seo/#glossary","slug":"cdn-seo","parentHref":"/technical-seo/web-performance/cdn-seo/","meta":"Glossary definition","aliases":["core-web-vitals","ttfb","https","crawl-budget","canonicalization"],"taxonomy":["technical-seo","web-performance"],"text":"A CDN (content delivery network) is a geographically distributed network of edge servers that caches and serves your content from a location close to each visitor and crawler. It isn't a ranking factor itself, but it affects things Google and Bing do use — page speed and Core Web Vitals, crawl efficiency, uptime, and HTTPS delivery — and, if misconfigured, can block crawlers or muddle canonicalization. core-web-vitals ttfb https crawl-budget canonicalization","passages":["A CDN (content delivery network) is a geographically distributed network of edge servers that caches and serves your content from a location close to each visitor and crawler. It isn't a ranking factor itself, but it affects things Google and Bing do use — page speed and Core Web Vitals, crawl efficiency, uptime, and HTTPS delivery — and, if misconfigured, can block crawlers or muddle canonicalization."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/cdn-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Change of Address tool","desc":"A setting in Google Search Console that tells Google you've moved your whole site to a new domain or subdomain. It's a supporting signal for a domain migration — the 301 redirects do the real work of transferring rankings.","snippetText":"A setting in Google Search Console that tells Google you've moved your whole site to a new domain or subdomain. It's a supporting signal for a domain migration — the 301 redirects do the real work of transferring rankings.","href":"/technical-seo/tools/search-engine-tools/google-search-console/change-of-address-tool/#glossary","slug":"change-of-address-tool","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/change-of-address-tool/","meta":"Glossary definition","aliases":["google-search-console","migrations"],"taxonomy":["technical-seo","tools"],"text":"A setting in Google Search Console that tells Google you've moved your whole site to a new domain or subdomain. It's a supporting signal for a domain migration — the 301 redirects do the real work of transferring rankings. google-search-console migrations","passages":["A setting in Google Search Console that tells Google you've moved your whole site to a new domain or subdomain. It's a supporting signal for a domain migration — the 301 redirects do the real work of transferring rankings."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/change-of-address-tool/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Chrome DevTools Performance Panel","desc":"The Performance panel is Chrome DevTools' built-in, local profiler for recording and analyzing how a page loads and runs — CPU, main-thread work, rendering, network, and live Core Web Vitals. The recorded trace is local, lab data from your own browser — not what Googlebot sees — though the panel can optionally show real-user CrUX field data alongside it.","snippetText":"The Performance panel is Chrome DevTools' built-in, local profiler for recording and analyzing how a page loads and runs — CPU, main-thread work, rendering, network, and live Core Web Vitals. The recorded trace is local, lab data from your own browser — not what Googlebot sees — though the panel can optionally show real-user CrUX field data alongside it.","href":"/technical-seo/web-performance/web-performance-tools/chrome-devtools-performance/#glossary","slug":"chrome-devtools-performance","parentHref":"/technical-seo/web-performance/web-performance-tools/chrome-devtools-performance/","meta":"Glossary definition","aliases":["lighthouse","pagespeed-insights","core-web-vitals"],"taxonomy":["technical-seo","web-performance"],"text":"The Performance panel is Chrome DevTools' built-in, local profiler for recording and analyzing how a page loads and runs — CPU, main-thread work, rendering, network, and live Core Web Vitals. The recorded trace is local, lab data from your own browser — not what Googlebot sees — though the panel can optionally show real-user CrUX field data alongside it. lighthouse pagespeed-insights core-web-vitals","passages":["The Performance panel is Chrome DevTools' built-in, local profiler for recording and analyzing how a page loads and runs — CPU, main-thread work, rendering, network, and live Core Web Vitals. The recorded trace is local, lab data from your own browser — not what Googlebot sees — though the panel can optionally show real-user CrUX field data alongside it."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/chrome-devtools-performance/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Chunking","desc":"Chunking is splitting a document into smaller passages so AI systems can embed, index, and retrieve the single most relevant piece — not the whole page — in response to a query. It's a foundational step in RAG pipelines and the conceptual cousin of Google's passage ranking.","snippetText":"Chunking is splitting a document into smaller passages so AI systems can embed, index, and retrieve the single most relevant piece — not the whole page — in response to a query. It's a foundational step in RAG pipelines and the conceptual cousin of Google's passage ranking.","href":"/ai-search/how-search-works/chunking/#glossary","slug":"chunking","parentHref":"/ai-search/how-search-works/chunking/","meta":"Glossary definition","aliases":["embeddings","rag"],"taxonomy":["ai-search","how-search-works"],"text":"Chunking is splitting a document into smaller passages so AI systems can embed, index, and retrieve the single most relevant piece — not the whole page — in response to a query. It's a foundational step in RAG pipelines and the conceptual cousin of Google's passage ranking. embeddings rag","passages":["Chunking is splitting a document into smaller passages so AI systems can embed, index, and retrieve the single most relevant piece — not the whole page — in response to a query. It's a foundational step in RAG pipelines and the conceptual cousin of Google's passage ranking."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/chunking/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Cloudflare Workers SEO","desc":"Cloudflare Workers SEO is using Cloudflare's serverless V8-isolate runtime — the fetch handler, the HTMLRewriter streaming parser, KV/D1 storage, and the Cache API — to make technical SEO changes (redirects, header and meta-tag rewriting, canonical/hreflang/structured-data injection) at the CDN edge, before a response reaches Googlebot or a user, without deploying to the origin or CMS.","snippetText":"Cloudflare Workers SEO is using Cloudflare's serverless V8-isolate runtime — the fetch handler, the HTMLRewriter streaming parser, KV/D1 storage, and the Cache API — to make technical SEO changes (redirects, header and meta-tag rewriting, canonical/hreflang/structured-data injection) at the CDN edge, before a response reaches Googlebot or a user, without deploying to the origin or CMS.","href":"/technical-seo/edge-seo/cloudflare-workers-seo/#glossary","slug":"cloudflare-workers-seo","parentHref":"/technical-seo/edge-seo/cloudflare-workers-seo/","meta":"Glossary definition","aliases":["edge-seo","canonicalization"],"taxonomy":["technical-seo","edge-seo"],"text":"Cloudflare Workers SEO is using Cloudflare's serverless V8-isolate runtime — the fetch handler, the HTMLRewriter streaming parser, KV/D1 storage, and the Cache API — to make technical SEO changes (redirects, header and meta-tag rewriting, canonical/hreflang/structured-data injection) at the CDN edge, before a response reaches Googlebot or a user, without deploying to the origin or CMS. edge-seo canonicalization","passages":["Cloudflare Workers SEO is using Cloudflare's serverless V8-isolate runtime — the fetch handler, the HTMLRewriter streaming parser, KV/D1 storage, and the Cache API — to make technical SEO changes (redirects, header and meta-tag rewriting, canonical/hreflang/structured-data injection) at the CDN edge, before a response reaches Googlebot or a user, without deploying to the origin or CMS."],"popular":0,"url":"https://patrickstox.com/technical-seo/edge-seo/cloudflare-workers-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"CLS","desc":"Cumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good.","snippetText":"Cumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good.","href":"/technical-seo/web-performance/web-vitals/core-web-vitals/cumulative-layout-shift/#glossary","slug":"cls","parentHref":"/technical-seo/web-performance/web-vitals/core-web-vitals/cumulative-layout-shift/","meta":"Glossary definition","aliases":["core-web-vitals","lcp","inp"],"taxonomy":["technical-seo","web-performance"],"text":"Cumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good. core-web-vitals lcp inp","passages":["Cumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/cumulative-layout-shift/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"CMS","desc":"A content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms.","snippetText":"A content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms.","href":"/technical-seo/platform-seo/cms/#glossary","slug":"cms","parentHref":"/technical-seo/platform-seo/cms/","meta":"Glossary definition","aliases":["javascript-seo","edge-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"A content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. javascript-seo edge-seo","passages":["A content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Commerce Schema","desc":"\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting.","snippetText":"\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting.","href":"/technical-seo/on-page/structured-data/commerce/#glossary","slug":"commerce-schema","parentHref":"/technical-seo/on-page/structured-data/commerce/","meta":"Glossary definition","aliases":["schema-markup","product-schema","productgroup-schema","jobposting-schema"],"taxonomy":["technical-seo","on-page"],"text":"\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting. schema-markup product-schema productgroup-schema jobposting-schema","passages":["\"Commerce schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org listing types that power transactional rich results: Product, ProductGroup, and JobPosting."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Composable Commerce","desc":"Composable commerce is an architecture strategy where a store is assembled from independent, best-of-breed vendor services — storefront, search, CMS, checkout, payments, fulfillment — each chosen separately and connected by APIs, usually built on MACH principles (Microservices, API-first, Cloud-native, Headless). It's broader than headless: headless decouples only the frontend; composable decouples everything.","snippetText":"Composable commerce is an architecture strategy where a store is assembled from independent, best-of-breed vendor services — storefront, search, CMS, checkout, payments, fulfillment — each chosen separately and connected by APIs, usually built on MACH principles (Microservices, API-first, Cloud-native, Headless). It's broader than headless: headless decouples only the frontend; composable decouples everything.","href":"/ecommerce-seo/headless-ecommerce/composable-commerce/#glossary","slug":"composable-commerce","parentHref":"/ecommerce-seo/headless-ecommerce/composable-commerce/","meta":"Glossary definition","aliases":["headless-ecommerce","headless-cms"],"taxonomy":["ecommerce-seo","headless-ecommerce"],"text":"Composable commerce is an architecture strategy where a store is assembled from independent, best-of-breed vendor services — storefront, search, CMS, checkout, payments, fulfillment — each chosen separately and connected by APIs, usually built on MACH principles (Microservices, API-first, Cloud-native, Headless). It's broader than headless: headless decouples only the frontend; composable decouples everything. headless-ecommerce headless-cms","passages":["Composable commerce is an architecture strategy where a store is assembled from independent, best-of-breed vendor services — storefront, search, CMS, checkout, payments, fulfillment — each chosen separately and connected by APIs, usually built on MACH principles (Microservices, API-first, Cloud-native, Headless). It's broader than headless: headless decouples only the frontend; composable decouples everything."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/headless-ecommerce/composable-commerce/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Compression","desc":"Compression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they're sent over the network, using an algorithm like Gzip, Brotli, or Zstd, so the browser or crawler downloads fewer bytes. It's not a ranking factor, but it speeds up page loads and helps pages stay under crawler fetch limits.","snippetText":"Compression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they're sent over the network, using an algorithm like Gzip, Brotli, or Zstd, so the browser or crawler downloads fewer bytes. It's not a ranking factor, but it speeds up page loads and helps pages stay under crawler fetch limits.","href":"/technical-seo/web-performance/critical-rendering-path/compression/#glossary","slug":"compression","parentHref":"/technical-seo/web-performance/critical-rendering-path/compression/","meta":"Glossary definition","aliases":["caching","critical-rendering-path","ttfb"],"taxonomy":["technical-seo","web-performance"],"text":"Compression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they're sent over the network, using an algorithm like Gzip, Brotli, or Zstd, so the browser or crawler downloads fewer bytes. It's not a ranking factor, but it speeds up page loads and helps pages stay under crawler fetch limits. caching critical-rendering-path ttfb","passages":["Compression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they're sent over the network, using an algorithm like Gzip, Brotli, or Zstd, so the browser or crawler downloads fewer bytes. It's not a ranking factor, but it speeds up page loads and helps pages stay under crawler fetch limits."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/compression/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Conditional Requests","desc":"A conditional request lets a crawler (or browser) ask a server 'has this changed since I last fetched it?' — using If-Modified-Since (checked against your Last-Modified header) and/or If-None-Match (checked against your ETag). If nothing changed, the server replies 304 Not Modified with no body, so the crawler reuses its existing copy instead of re-downloading the page.","snippetText":"A conditional request lets a crawler (or browser) ask a server 'has this changed since I last fetched it?' — using If-Modified-Since (checked against your Last-Modified header) and/or If-None-Match (checked against your ETag). If nothing changed, the server replies 304 Not Modified with no body, so the crawler reuses its existing copy instead of re-downloading the page.","href":"/technical-seo/how-search-works/crawling/crawl-budget/conditional-requests/#glossary","slug":"conditional-requests","parentHref":"/technical-seo/how-search-works/crawling/crawl-budget/conditional-requests/","meta":"Glossary definition","aliases":["crawl-budget","caching"],"taxonomy":["technical-seo","how-search-works"],"text":"A conditional request lets a crawler (or browser) ask a server 'has this changed since I last fetched it?' — using If-Modified-Since (checked against your Last-Modified header) and/or If-None-Match (checked against your ETag). If nothing changed, the server replies 304 Not Modified with no body, so the crawler reuses its existing copy instead of re-downloading the page. crawl-budget caching","passages":["A conditional request lets a crawler (or browser) ask a server 'has this changed since I last fetched it?' — using If-Modified-Since (checked against your Last-Modified header) and/or If-None-Match (checked against your ETag). If nothing changed, the server replies 304 Not Modified with no body, so the crawler reuses its existing copy instead of re-downloading the page."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/conditional-requests/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Content Freshness","desc":"Content freshness is how recent or up-to-date a page is — by its original publish date, its last substantive revision, or the currency of the facts inside it. It only helps rankings when the query itself benefits from recent results (Query Deserves Freshness), and cosmetic date changes with no real update don't count.","snippetText":"Content freshness is how recent or up-to-date a page is — by its original publish date, its last substantive revision, or the currency of the facts inside it. It only helps rankings when the query itself benefits from recent results (Query Deserves Freshness), and cosmetic date changes with no real update don't count.","href":"/ai-search/how-search-works/content-freshness/#glossary","slug":"content-freshness","parentHref":"/ai-search/how-search-works/content-freshness/","meta":"Glossary definition","aliases":["crawling","indexing"],"taxonomy":["ai-search","how-search-works"],"text":"Content freshness is how recent or up-to-date a page is — by its original publish date, its last substantive revision, or the currency of the facts inside it. It only helps rankings when the query itself benefits from recent results (Query Deserves Freshness), and cosmetic date changes with no real update don't count. crawling indexing","passages":["Content freshness is how recent or up-to-date a page is — by its original publish date, its last substantive revision, or the currency of the facts inside it. It only helps rankings when the query itself benefits from recent results (Query Deserves Freshness), and cosmetic date changes with no real update don't count."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/content-freshness/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Contentful SEO","desc":"Contentful SEO is the practice of making content delivered through the Contentful headless CMS crawlable, indexable, and rankable. Because Contentful serves content over APIs and renders no HTML itself, every SEO outcome is decided by the frontend that consumes it.","snippetText":"Contentful SEO is the practice of making content delivered through the Contentful headless CMS crawlable, indexable, and rankable. Because Contentful serves content over APIs and renders no HTML itself, every SEO outcome is decided by the frontend that consumes it.","href":"/technical-seo/platform-seo/headless-cms/contentful-seo/#glossary","slug":"contentful-seo","parentHref":"/technical-seo/platform-seo/headless-cms/contentful-seo/","meta":"Glossary definition","aliases":["headless-cms-seo","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Contentful SEO is the practice of making content delivered through the Contentful headless CMS crawlable, indexable, and rankable. Because Contentful serves content over APIs and renders no HTML itself, every SEO outcome is decided by the frontend that consumes it. headless-cms-seo javascript-seo","passages":["Contentful SEO is the practice of making content delivered through the Contentful headless CMS crawlable, indexable, and rankable. Because Contentful serves content over APIs and renders no HTML itself, every SEO outcome is decided by the frontend that consumes it."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/contentful-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Core Web Vitals","desc":"Google's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data.","snippetText":"Google's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data.","href":"/technical-seo/web-performance/web-vitals/core-web-vitals/#glossary","slug":"core-web-vitals","parentHref":"/technical-seo/web-performance/web-vitals/core-web-vitals/","meta":"Glossary definition","aliases":["lcp","inp","cls","crux"],"taxonomy":["technical-seo","web-performance"],"text":"Google's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. lcp inp cls crux","passages":["Google's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Core Web Vitals report","desc":"The Google Search Console report (under Experience) that shows how your indexed URLs perform on the Core Web Vitals — LCP, INP, and CLS — using real-user field data from CrUX, grouped by device, status, and clusters of similar-performing URLs.","snippetText":"The Google Search Console report (under Experience) that shows how your indexed URLs perform on the Core Web Vitals — LCP, INP, and CLS — using real-user field data from CrUX, grouped by device, status, and clusters of similar-performing URLs.","href":"/technical-seo/tools/search-engine-tools/google-search-console/core-web-vitals-report/#glossary","slug":"core-web-vitals-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/core-web-vitals-report/","meta":"Glossary definition","aliases":["core-web-vitals","crux","pagespeed-insights","performance-report"],"taxonomy":["technical-seo","tools"],"text":"The Google Search Console report (under Experience) that shows how your indexed URLs perform on the Core Web Vitals — LCP, INP, and CLS — using real-user field data from CrUX, grouped by device, status, and clusters of similar-performing URLs. core-web-vitals crux pagespeed-insights performance-report","passages":["The Google Search Console report (under Experience) that shows how your indexed URLs perform on the Core Web Vitals — LCP, INP, and CLS — using real-user field data from CrUX, grouped by device, status, and clusters of similar-performing URLs."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/core-web-vitals-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Course Schema","desc":"Course schema (schema.org/Course) marks up educational courses for Google's 'Course list' carousel — which requires at least three courses marked up together, not a single-course card. A richer single-course 'Course Info' feature existed but was deprecated in June 2025.","snippetText":"Course schema (schema.org/Course) marks up educational courses for Google's 'Course list' carousel — which requires at least three courses marked up together, not a single-course card. A richer single-course 'Course Info' feature existed but was deprecated in June 2025.","href":"/technical-seo/on-page/structured-data/creative-works/course-schema/#glossary","slug":"course-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/course-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","rich-results","product-schema"],"taxonomy":["technical-seo","on-page"],"text":"Course schema (schema.org/Course) marks up educational courses for Google's 'Course list' carousel — which requires at least three courses marked up together, not a single-course card. A richer single-course 'Course Info' feature existed but was deprecated in June 2025. schema-markup structured-data rich-results product-schema","passages":["Course schema (schema.org/Course) marks up educational courses for Google's 'Course list' carousel — which requires at least three courses marked up together, not a single-course card. A richer single-course 'Course Info' feature existed but was deprecated in June 2025."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/course-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawl Budget","desc":"The number of URLs an engine will crawl in a timeframe.","snippetText":"The number of URLs an engine will crawl in a timeframe.","href":"/technical-seo/how-search-works/crawling/crawl-budget/#glossary","slug":"crawl-budget","parentHref":"/technical-seo/how-search-works/crawling/crawl-budget/","meta":"Glossary definition","aliases":["Log file analysis"],"taxonomy":["technical-seo","how-search-works"],"text":"The number of URLs an engine will crawl in a timeframe. Log file analysis","passages":["The number of URLs an engine will crawl in a timeframe."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawl Delay","desc":"Crawl-delay is a non-standard robots.txt directive that asks bots to wait between successive page fetches to ease server load. Google has ignored it since September 1, 2019 and Yandex dropped it on February 22, 2018; Bing and many other crawlers still honor it, but Bing interprets the value differently than the plain reading.","snippetText":"Crawl-delay is a non-standard robots.txt directive that asks bots to wait between successive page fetches to ease server load. Google has ignored it since September 1, 2019 and Yandex dropped it on February 22, 2018; Bing and many other crawlers still honor it, but Bing interprets the value differently than the plain reading.","href":"/technical-seo/how-search-works/crawling/crawl-delay/#glossary","slug":"crawl-delay","parentHref":"/technical-seo/how-search-works/crawling/crawl-delay/","meta":"Glossary definition","aliases":["crawl-rate","crawl-budget"],"taxonomy":["technical-seo","how-search-works"],"text":"Crawl-delay is a non-standard robots.txt directive that asks bots to wait between successive page fetches to ease server load. Google has ignored it since September 1, 2019 and Yandex dropped it on February 22, 2018; Bing and many other crawlers still honor it, but Bing interprets the value differently than the plain reading. crawl-rate crawl-budget","passages":["Crawl-delay is a non-standard robots.txt directive that asks bots to wait between successive page fetches to ease server load. Google has ignored it since September 1, 2019 and Yandex dropped it on February 22, 2018; Bing and many other crawlers still honor it, but Bing interprets the value differently than the plain reading."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-delay/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawl Demand","desc":"Crawl demand is the 'want' side of crawl budget — how much a search engine wants to crawl a site or URL, driven by popularity, staleness, and perceived inventory (plus temporary spikes from site moves). It's distinct from crawl rate/capacity, the 'can' side.","snippetText":"Crawl demand is the 'want' side of crawl budget — how much a search engine wants to crawl a site or URL, driven by popularity, staleness, and perceived inventory (plus temporary spikes from site moves). It's distinct from crawl rate/capacity, the 'can' side.","href":"/technical-seo/how-search-works/crawling/crawl-budget/crawl-demand/#glossary","slug":"crawl-demand","parentHref":"/technical-seo/how-search-works/crawling/crawl-budget/crawl-demand/","meta":"Glossary definition","aliases":["crawl-budget","crawl-rate"],"taxonomy":["technical-seo","how-search-works"],"text":"Crawl demand is the 'want' side of crawl budget — how much a search engine wants to crawl a site or URL, driven by popularity, staleness, and perceived inventory (plus temporary spikes from site moves). It's distinct from crawl rate/capacity, the 'can' side. crawl-budget crawl-rate","passages":["Crawl demand is the 'want' side of crawl budget — how much a search engine wants to crawl a site or URL, driven by popularity, staleness, and perceived inventory (plus temporary spikes from site moves). It's distinct from crawl rate/capacity, the 'can' side."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/crawl-demand/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawl depth","desc":"Crawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops.","snippetText":"Crawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops.","href":"/technical-seo/website-structure/crawl-depth/#glossary","slug":"crawl-depth","parentHref":"/technical-seo/website-structure/crawl-depth/","meta":"Glossary definition","aliases":["crawling","crawl-budget"],"taxonomy":["technical-seo","website-structure"],"text":"Crawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops. crawling crawl-budget","passages":["Crawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/crawl-depth/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawl frequency","desc":"Crawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial.","snippetText":"Crawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial.","href":"/technical-seo/how-search-works/crawling/crawl-budget/crawl-frequency/#glossary","slug":"crawl-frequency","parentHref":"/technical-seo/how-search-works/crawling/crawl-budget/crawl-frequency/","meta":"Glossary definition","aliases":["crawl-budget","crawling"],"taxonomy":["technical-seo","how-search-works"],"text":"Crawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial. crawl-budget crawling","passages":["Crawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/crawl-frequency/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawl rate","desc":"Crawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor.","snippetText":"Crawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor.","href":"/technical-seo/how-search-works/crawling/crawl-budget/crawl-rate/#glossary","slug":"crawl-rate","parentHref":"/technical-seo/how-search-works/crawling/crawl-budget/crawl-rate/","meta":"Glossary definition","aliases":["crawl-budget","crawling"],"taxonomy":["technical-seo","how-search-works"],"text":"Crawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor. crawl-budget crawling","passages":["Crawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/crawl-rate/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawl Stats report","desc":"A Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root).","snippetText":"A Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root).","href":"/technical-seo/tools/search-engine-tools/google-search-console/crawl-stats-report/#glossary","slug":"crawl-stats-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/crawl-stats-report/","meta":"Glossary definition","aliases":["google-search-console","host-status","crawl-budget"],"taxonomy":["technical-seo","tools"],"text":"A Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root). google-search-console host-status crawl-budget","passages":["A Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root)."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/crawl-stats-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawlability","desc":"Crawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index.","snippetText":"Crawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index.","href":"/technical-seo/how-search-works/crawling/crawlability-issues/#glossary","slug":"crawlability-issues","parentHref":"/technical-seo/how-search-works/crawling/crawlability-issues/","meta":"Glossary definition","aliases":["crawling","crawl-budget","indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"Crawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index. crawling crawl-budget indexing","passages":["Crawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawlability-issues/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawled – currently not indexed","desc":"A Google Search Console Page Indexing status meaning Googlebot fetched the page but Google decided not to index it — usually a content- or site-quality signal, not a technical error.","snippetText":"A Google Search Console Page Indexing status meaning Googlebot fetched the page but Google decided not to index it — usually a content- or site-quality signal, not a technical error.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/crawled-currently-not-indexed/#glossary","slug":"crawled-currently-not-indexed","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/crawled-currently-not-indexed/","meta":"Glossary definition","aliases":["discovered-currently-not-indexed","indexing","index-bloat"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status meaning Googlebot fetched the page but Google decided not to index it — usually a content- or site-quality signal, not a technical error. discovered-currently-not-indexed indexing index-bloat","passages":["A Google Search Console Page Indexing status meaning Googlebot fetched the page but Google decided not to index it — usually a content- or site-quality signal, not a technical error."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/crawled-currently-not-indexed/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawler","desc":"A crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index.","snippetText":"A crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index.","href":"/technical-seo/how-search-works/crawling/crawler/#glossary","slug":"crawler","parentHref":"/technical-seo/how-search-works/crawling/crawler/","meta":"Glossary definition","aliases":["googlebot","bingbot","user-agent","crawling","robots-txt"],"taxonomy":["technical-seo","how-search-works"],"text":"A crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. googlebot bingbot user-agent crawling robots-txt","passages":["A crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Crawling","desc":"Crawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor.","snippetText":"Crawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor.","href":"/technical-seo/how-search-works/crawling/#glossary","slug":"crawling","parentHref":"/technical-seo/how-search-works/crawling/","meta":"Glossary definition","aliases":["crawl-budget","indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"Crawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. crawl-budget indexing","passages":["Crawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Creative Works Schema","desc":"\"Creative Works schema\" is a practitioner label for the schema.org CreativeWork subtypes used to mark up authored content — Article, AudioObject, Book, Course, Dataset, Movie, Recipe, and VideoObject.","snippetText":"\"Creative Works schema\" is a practitioner label for the schema.org CreativeWork subtypes used to mark up authored content — Article, AudioObject, Book, Course, Dataset, Movie, Recipe, and VideoObject.","href":"/technical-seo/on-page/structured-data/creative-works/#glossary","slug":"creative-works-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/","meta":"Glossary definition","aliases":["article-schema","recipe-schema","videoobject-schema","dataset-schema"],"taxonomy":["technical-seo","on-page"],"text":"\"Creative Works schema\" is a practitioner label for the schema.org CreativeWork subtypes used to mark up authored content — Article, AudioObject, Book, Course, Dataset, Movie, Recipe, and VideoObject. article-schema recipe-schema videoobject-schema dataset-schema","passages":["\"Creative Works schema\" is a practitioner label for the schema.org CreativeWork subtypes used to mark up authored content — Article, AudioObject, Book, Course, Dataset, Movie, Recipe, and VideoObject."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Critical CSS","desc":"Critical CSS is a performance technique that extracts the styles needed to render a chosen above-the-fold view, inlines them in the <head>, and defers the rest of the stylesheet. It speeds up first paint but is an advanced, optional optimization — Google says most sites don't need it — and carries real production risks around caching, CSP, and page state.","snippetText":"Critical CSS is a performance technique that extracts the styles needed to render a chosen above-the-fold view, inlines them in the <head>, and defers the rest of the stylesheet. It speeds up first paint but is an advanced, optional optimization — Google says most sites don't need it — and carries real production risks around caching, CSP, and page state.","href":"/technical-seo/web-performance/critical-rendering-path/critical-css/#glossary","slug":"critical-css","parentHref":"/technical-seo/web-performance/critical-rendering-path/critical-css/","meta":"Glossary definition","aliases":["critical-rendering-path","render-blocking-resources"],"taxonomy":["technical-seo","web-performance"],"text":"Critical CSS is a performance technique that extracts the styles needed to render a chosen above-the-fold view, inlines them in the <head>, and defers the rest of the stylesheet. It speeds up first paint but is an advanced, optional optimization — Google says most sites don't need it — and carries real production risks around caching, CSP, and page state. critical-rendering-path render-blocking-resources","passages":["Critical CSS is a performance technique that extracts the styles needed to render a chosen above-the-fold view, inlines them in the <head>, and defers the rest of the stylesheet. It speeds up first paint but is an advanced, optional optimization — Google says most sites don't need it — and carries real production risks around caching, CSP, and page state."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/critical-css/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Critical Rendering Path","desc":"The critical rendering path (CRP) is the sequence of steps a browser must complete before it can paint the first pixel: parse HTML into the DOM, parse CSS into the CSSOM, combine them into a render tree, run layout, then paint. Optimizing it shortens time to first render and improves Core Web Vitals.","snippetText":"The critical rendering path (CRP) is the sequence of steps a browser must complete before it can paint the first pixel: parse HTML into the DOM, parse CSS into the CSSOM, combine them into a render tree, run layout, then paint. Optimizing it shortens time to first render and improves Core Web Vitals.","href":"/technical-seo/web-performance/critical-rendering-path/#glossary","slug":"critical-rendering-path","parentHref":"/technical-seo/web-performance/critical-rendering-path/","meta":"Glossary definition","aliases":["render-blocking-resources","fcp","lcp"],"taxonomy":["technical-seo","web-performance"],"text":"The critical rendering path (CRP) is the sequence of steps a browser must complete before it can paint the first pixel: parse HTML into the DOM, parse CSS into the CSSOM, combine them into a render tree, run layout, then paint. Optimizing it shortens time to first render and improves Core Web Vitals. render-blocking-resources fcp lcp","passages":["The critical rendering path (CRP) is the sequence of steps a browser must complete before it can paint the first pixel: parse HTML into the DOM, parse CSS into the CSSOM, combine them into a render tree, run layout, then paint. Optimizing it shortens time to first render and improves Core Web Vitals."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Cross-Language Duplicate Content","desc":"The mostly-mythical idea that translating content into different languages creates duplicate content. It doesn't — translations are different content to Google. The real risk is the mirror image: near-identical same-language pages across country variants (en-US/en-GB/en-AU), which Google may cluster and consolidate.","snippetText":"The mostly-mythical idea that translating content into different languages creates duplicate content. It doesn't — translations are different content to Google. The real risk is the mirror image: near-identical same-language pages across country variants (en-US/en-GB/en-AU), which Google may cluster and consolidate.","href":"/international-seo/localization-and-content/cross-language-duplicate-content/#glossary","slug":"cross-language-duplicate-content","parentHref":"/international-seo/localization-and-content/cross-language-duplicate-content/","meta":"Glossary definition","aliases":["Duplicate Content","Hreflang","Canonicalization"],"taxonomy":["international-seo","localization-and-content"],"text":"The mostly-mythical idea that translating content into different languages creates duplicate content. It doesn't — translations are different content to Google. The real risk is the mirror image: near-identical same-language pages across country variants (en-US/en-GB/en-AU), which Google may cluster and consolidate. Duplicate Content Hreflang Canonicalization","passages":["The mostly-mythical idea that translating content into different languages creates duplicate content. It doesn't — translations are different content to Google. The real risk is the mirror image: near-identical same-language pages across country variants (en-US/en-GB/en-AU), which Google may cluster and consolidate."],"popular":0,"url":"https://patrickstox.com/international-seo/localization-and-content/cross-language-duplicate-content/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"CrUX","desc":"Chrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program.","snippetText":"Chrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program.","href":"/technical-seo/web-performance/web-performance-tools/crux/#glossary","slug":"crux","parentHref":"/technical-seo/web-performance/web-performance-tools/crux/","meta":"Glossary definition","aliases":["core-web-vitals","pagespeed-insights","lighthouse"],"taxonomy":["technical-seo","web-performance"],"text":"Chrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program. core-web-vitals pagespeed-insights lighthouse","passages":["Chrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/crux/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Dataset Schema","desc":"Dataset schema (schema.org/Dataset) is structured data that marks up a data collection so it can surface in Google's dedicated Dataset Search tool — a separate destination from the main web-search results, not a mainstream rich snippet.","snippetText":"Dataset schema (schema.org/Dataset) is structured data that marks up a data collection so it can surface in Google's dedicated Dataset Search tool — a separate destination from the main web-search results, not a mainstream rich snippet.","href":"/technical-seo/on-page/structured-data/creative-works/dataset-schema/#glossary","slug":"dataset-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/dataset-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","article-schema","book-schema"],"taxonomy":["technical-seo","on-page"],"text":"Dataset schema (schema.org/Dataset) is structured data that marks up a data collection so it can surface in Google's dedicated Dataset Search tool — a separate destination from the main web-search results, not a mainstream rich snippet. schema-markup structured-data article-schema book-schema","passages":["Dataset schema (schema.org/Dataset) is structured data that marks up a data collection so it can surface in Google's dedicated Dataset Search tool — a separate destination from the main web-search results, not a mainstream rich snippet."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/dataset-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Deindexing","desc":"Deindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist.","snippetText":"Deindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist.","href":"/technical-seo/how-search-works/indexing/how-to-deindex/#glossary","slug":"deindexing","parentHref":"/technical-seo/how-search-works/indexing/how-to-deindex/","meta":"Glossary definition","aliases":["noindex","removals-tool"],"taxonomy":["technical-seo","how-search-works"],"text":"Deindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. noindex removals-tool","passages":["Deindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/how-to-deindex/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Discontinued Products","desc":"A discontinued product is an item you'll never sell again — the manufacturer stopped making it, or you dropped the line. The SEO decision is end-of-life: 301-redirect the URL to a genuinely similar replacement or the closest relevant category if it earned links or traffic, 404/410 it if it didn't, or keep it live as a Discontinued tombstone page only when it still helps users. This is distinct from a temporary out-of-stock product, which you keep live at 200.","snippetText":"A discontinued product is an item you'll never sell again — the manufacturer stopped making it, or you dropped the line. The SEO decision is end-of-life: 301-redirect the URL to a genuinely similar replacement or the closest relevant category if it earned links or traffic, 404/410 it if it didn't, or keep it live as a Discontinued tombstone page only when it still helps users. This is distinct from a temporary out-of-stock product, which you keep live at 200.","href":"/ecommerce-seo/product-pages/discontinued-products/#glossary","slug":"discontinued-products","parentHref":"/ecommerce-seo/product-pages/discontinued-products/","meta":"Glossary definition","aliases":["out-of-stock-products","301-redirect","soft-404-errors"],"taxonomy":["ecommerce-seo","product-pages"],"text":"A discontinued product is an item you'll never sell again — the manufacturer stopped making it, or you dropped the line. The SEO decision is end-of-life: 301-redirect the URL to a genuinely similar replacement or the closest relevant category if it earned links or traffic, 404/410 it if it didn't, or keep it live as a Discontinued tombstone page only when it still helps users. This is distinct from a temporary out-of-stock product, which you keep live at 200. out-of-stock-products 301-redirect soft-404-errors","passages":["A discontinued product is an item you'll never sell again — the manufacturer stopped making it, or you dropped the line. The SEO decision is end-of-life: 301-redirect the URL to a genuinely similar replacement or the closest relevant category if it earned links or traffic, 404/410 it if it didn't, or keep it live as a Discontinued tombstone page only when it still helps users. This is distinct from a temporary out-of-stock product, which you keep live at 200."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/discontinued-products/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Discover Report","desc":"The Discover report — Google's own label is 'Performance report (Discover)' — is a separate tab in Google Search Console's Performance section showing how your content performed in the Google Discover feed: impressions, clicks, and average CTR by page, country, date, and appearance type. It only appears once a property has crossed a minimum Discover-impression threshold.","snippetText":"The Discover report — Google's own label is 'Performance report (Discover)' — is a separate tab in Google Search Console's Performance section showing how your content performed in the Google Discover feed: impressions, clicks, and average CTR by page, country, date, and appearance type. It only appears once a property has crossed a minimum Discover-impression threshold.","href":"/technical-seo/tools/search-engine-tools/google-search-console/discover-report/#glossary","slug":"discover-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/discover-report/","meta":"Glossary definition","aliases":["google-discover-seo","performance-report","google-search-console"],"taxonomy":["technical-seo","tools"],"text":"The Discover report — Google's own label is 'Performance report (Discover)' — is a separate tab in Google Search Console's Performance section showing how your content performed in the Google Discover feed: impressions, clicks, and average CTR by page, country, date, and appearance type. It only appears once a property has crossed a minimum Discover-impression threshold. google-discover-seo performance-report google-search-console","passages":["The Discover report — Google's own label is 'Performance report (Discover)' — is a separate tab in Google Search Console's Performance section showing how your content performed in the Google Discover feed: impressions, clicks, and average CTR by page, country, date, and appearance type. It only appears once a property has crossed a minimum Discover-impression threshold."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/discover-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Discovered – currently not indexed","desc":"A Google Search Console Page Indexing status meaning Google knows the URL exists but hasn't crawled it yet — the Last Crawl date is empty. Often a crawl-capacity or crawl-demand (site-quality) signal.","snippetText":"A Google Search Console Page Indexing status meaning Google knows the URL exists but hasn't crawled it yet — the Last Crawl date is empty. Often a crawl-capacity or crawl-demand (site-quality) signal.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/discovered-currently-not-indexed/#glossary","slug":"discovered-currently-not-indexed","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/discovered-currently-not-indexed/","meta":"Glossary definition","aliases":["Crawled – currently not indexed","Crawl Budget","Indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status meaning Google knows the URL exists but hasn't crawled it yet — the Last Crawl date is empty. Often a crawl-capacity or crawl-demand (site-quality) signal. Crawled – currently not indexed Crawl Budget Indexing","passages":["A Google Search Console Page Indexing status meaning Google knows the URL exists but hasn't crawled it yet — the Last Crawl date is empty. Often a crawl-capacity or crawl-demand (site-quality) signal."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/discovered-currently-not-indexed/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"URL discovery","desc":"URL discovery is how search engines find URLs to crawl — by pull (following links and reading sitemaps) and by push (you notify them via IndexNow, the Indexing API, or WebSub). It's the find step that comes before a page is ever fetched.","snippetText":"URL discovery is how search engines find URLs to crawl — by pull (following links and reading sitemaps) and by push (you notify them via IndexNow, the Indexing API, or WebSub). It's the find step that comes before a page is ever fetched.","href":"/technical-seo/how-search-works/discovery/#glossary","slug":"discovery","parentHref":"/technical-seo/how-search-works/discovery/","meta":"Glossary definition","aliases":["crawling","sitemaps","indexnow"],"taxonomy":["technical-seo","how-search-works"],"text":"URL discovery is how search engines find URLs to crawl — by pull (following links and reading sitemaps) and by push (you notify them via IndexNow, the Indexing API, or WebSub). It's the find step that comes before a page is ever fetched. crawling sitemaps indexnow","passages":["URL discovery is how search engines find URLs to crawl — by pull (following links and reading sitemaps) and by push (you notify them via IndexNow, the Indexing API, or WebSub). It's the find step that comes before a page is ever fetched."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"DiscussionForumPosting Schema","desc":"DiscussionForumPosting schema (schema.org/DiscussionForumPosting) is structured data for genuinely user-generated forum and community posts, so Google can identify online discussions and consider them for the Discussions and forums and Perspectives features. It requires author, datePublished, and one of text/image/video.","snippetText":"DiscussionForumPosting schema (schema.org/DiscussionForumPosting) is structured data for genuinely user-generated forum and community posts, so Google can identify online discussions and consider them for the Discussions and forums and Perspectives features. It requires author, datePublished, and one of text/image/video.","href":"/technical-seo/on-page/structured-data/social-community/discussionforum-schema/#glossary","slug":"discussionforum-schema","parentHref":"/technical-seo/on-page/structured-data/social-community/discussionforum-schema/","meta":"Glossary definition","aliases":["structured-data","faqpage-schema","qapage-schema"],"taxonomy":["technical-seo","on-page"],"text":"DiscussionForumPosting schema (schema.org/DiscussionForumPosting) is structured data for genuinely user-generated forum and community posts, so Google can identify online discussions and consider them for the Discussions and forums and Perspectives features. It requires author, datePublished, and one of text/image/video. structured-data faqpage-schema qapage-schema","passages":["DiscussionForumPosting schema (schema.org/DiscussionForumPosting) is structured data for genuinely user-generated forum and community posts, so Google can identify online discussions and consider them for the Discussions and forums and Perspectives features. It requires author, datePublished, and one of text/image/video."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/discussionforum-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Doorway Pages","desc":"Doorway pages are pages or sites built to rank for specific search queries that then funnel users to a different destination instead of being useful in their own right. Google treats them as spam.","snippetText":"Doorway pages are pages or sites built to rank for specific search queries that then funnel users to a different destination instead of being useful in their own right. Google treats them as spam.","href":"/programmatic-seo/risks/doorway-pages/#glossary","slug":"doorway-pages","parentHref":"/programmatic-seo/risks/doorway-pages/","meta":"Glossary definition","aliases":["programmatic-seo","thin-content"],"taxonomy":["programmatic-seo","risks"],"text":"Doorway pages are pages or sites built to rank for specific search queries that then funnel users to a different destination instead of being useful in their own right. Google treats them as spam. programmatic-seo thin-content","passages":["Doorway pages are pages or sites built to rank for specific search queries that then funnel users to a different destination instead of being useful in their own right. Google treats them as spam."],"popular":0,"url":"https://patrickstox.com/programmatic-seo/risks/doorway-pages/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Drupal SEO","desc":"Drupal SEO is the set of technical, on-page, and structural practices applied to sites built on Drupal — an open-source PHP CMS. Drupal ships a strong technical foundation (clean URL routing, semantic HTML, multilingual core, granular caching) but unlocks most of its SEO through contributed modules like Pathauto, Metatag, Simple XML Sitemap, and Redirect.","snippetText":"Drupal SEO is the set of technical, on-page, and structural practices applied to sites built on Drupal — an open-source PHP CMS. Drupal ships a strong technical foundation (clean URL routing, semantic HTML, multilingual core, granular caching) but unlocks most of its SEO through contributed modules like Pathauto, Metatag, Simple XML Sitemap, and Redirect.","href":"/technical-seo/platform-seo/cms/drupal-seo/#glossary","slug":"drupal-seo","parentHref":"/technical-seo/platform-seo/cms/drupal-seo/","meta":"Glossary definition","aliases":["canonicalization","duplicate-content"],"taxonomy":["technical-seo","platform-seo"],"text":"Drupal SEO is the set of technical, on-page, and structural practices applied to sites built on Drupal — an open-source PHP CMS. Drupal ships a strong technical foundation (clean URL routing, semantic HTML, multilingual core, granular caching) but unlocks most of its SEO through contributed modules like Pathauto, Metatag, Simple XML Sitemap, and Redirect. canonicalization duplicate-content","passages":["Drupal SEO is the set of technical, on-page, and structural practices applied to sites built on Drupal — an open-source PHP CMS. Drupal ships a strong technical foundation (clean URL routing, semantic HTML, multilingual core, granular caching) but unlocks most of its SEO through contributed modules like Pathauto, Metatag, Simple XML Sitemap, and Redirect."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/drupal-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Duda SEO","desc":"Duda SEO is the practice of optimizing a website built on Duda — a website builder aimed at agencies, SaaS companies, and web professionals rather than DIY consumers — for organic and AI search. Duda handles much of the technical baseline automatically (HTTPS on a CDN, server-side rendering, auto-generated sitemap, self-referencing canonical tags you can't override, llms.txt, and IndexNow), and unusually for a builder it lets you edit robots.txt, add custom HTTP-ish header HTML, manage redirects in a built-in manager, and generate hreflang for multilingual subdirectory sites. Hard limits: a 1,000-page / 1,500-blog-post cap, single-location LocalBusiness schema, no X-Robots-Tag header, and no canonical override.","snippetText":"Duda SEO is the practice of optimizing a website built on Duda — a website builder aimed at agencies, SaaS companies, and web professionals rather than DIY consumers — for organic and AI search. Duda handles much of the technical baseline automatically (HTTPS on a CDN, server-side rendering, auto-generated sitemap, self-referencing canonical tags you can't override, llms.txt, and IndexNow), and unusually for a builder it lets you edit robots.txt, add custom HTTP-ish header HTML, manage redirects in a built-in manager, and generate hreflang for multilingual subdirectory sites. Hard limits: a 1,","href":"/technical-seo/platform-seo/website-builders/duda-seo/#glossary","slug":"duda-seo","parentHref":"/technical-seo/platform-seo/website-builders/duda-seo/","meta":"Glossary definition","aliases":["platform-seo","canonicalization","structured-data","hreflang"],"taxonomy":["technical-seo","platform-seo"],"text":"Duda SEO is the practice of optimizing a website built on Duda — a website builder aimed at agencies, SaaS companies, and web professionals rather than DIY consumers — for organic and AI search. Duda handles much of the technical baseline automatically (HTTPS on a CDN, server-side rendering, auto-generated sitemap, self-referencing canonical tags you can't override, llms.txt, and IndexNow), and unusually for a builder it lets you edit robots.txt, add custom HTTP-ish header HTML, manage redirects in a built-in manager, and generate hreflang for multilingual subdirectory sites. Hard limits: a 1,000-page / 1,500-blog-post cap, single-location LocalBusiness schema, no X-Robots-Tag header, and no canonical override. platform-seo canonicalization structured-data hreflang","passages":["Duda SEO is the practice of optimizing a website built on Duda — a website builder aimed at agencies, SaaS companies, and web professionals rather than DIY consumers — for organic and AI search. Duda handles much of the technical baseline automatically (HTTPS on a CDN, server-side rendering, auto-generated sitemap, self-referencing canonical tags you can't override, llms.txt, and IndexNow), and unusually for a builder it lets you edit robots.txt, add custom HTTP-ish header HTML, manage redirects in a built-in manager, and generate hreflang for multilingual subdirectory sites. Hard limits: a 1,000-page / 1,500-blog-post cap, single-location LocalBusiness schema, no X-Robots-Tag header, and no canonical override."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/duda-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Duplicate Content","desc":"The same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling.","snippetText":"The same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling.","href":"/technical-seo/how-search-works/indexing/canonicalization/duplicate-content/#glossary","slug":"duplicate-content","parentHref":"/technical-seo/how-search-works/indexing/canonicalization/duplicate-content/","meta":"Glossary definition","aliases":["Canonicalization","Canonical Tag","URL Parameters"],"taxonomy":["technical-seo","how-search-works"],"text":"The same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. Canonicalization Canonical Tag URL Parameters","passages":["The same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/duplicate-content/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Duplicate, Google chose different canonical than user","desc":"A Google Search Console Page Indexing status: you declared a canonical for this URL, but Google overrode your choice, picked a different page as the canonical, and indexed that one instead.","snippetText":"A Google Search Console Page Indexing status: you declared a canonical for this URL, but Google overrode your choice, picked a different page as the canonical, and indexed that one instead.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-google-chose-different-canonical/#glossary","slug":"duplicate-google-chose-different-canonical","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-google-chose-different-canonical/","meta":"Glossary definition","aliases":["duplicate-without-canonical","alternate-page-canonical","canonicalization","canonical-tag"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status: you declared a canonical for this URL, but Google overrode your choice, picked a different page as the canonical, and indexed that one instead. duplicate-without-canonical alternate-page-canonical canonicalization canonical-tag","passages":["A Google Search Console Page Indexing status: you declared a canonical for this URL, but Google overrode your choice, picked a different page as the canonical, and indexed that one instead."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-google-chose-different-canonical/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Duplicate Product Descriptions","desc":"The same product copy — usually the manufacturer's — reused across many retailers' pages and often across your own site. There's no penalty for it, but it's a weak signal that dilutes uniqueness and hands the ranking to whoever else has the same text plus more authority.","snippetText":"The same product copy — usually the manufacturer's — reused across many retailers' pages and often across your own site. There's no penalty for it, but it's a weak signal that dilutes uniqueness and hands the ranking to whoever else has the same text plus more authority.","href":"/ecommerce-seo/product-pages/duplicate-product-descriptions/#glossary","slug":"duplicate-product-descriptions","parentHref":"/ecommerce-seo/product-pages/duplicate-product-descriptions/","meta":"Glossary definition","aliases":["Duplicate Content","Product Page SEO","Canonicalization","Category Page SEO"],"taxonomy":["ecommerce-seo","product-pages"],"text":"The same product copy — usually the manufacturer's — reused across many retailers' pages and often across your own site. There's no penalty for it, but it's a weak signal that dilutes uniqueness and hands the ranking to whoever else has the same text plus more authority. Duplicate Content Product Page SEO Canonicalization Category Page SEO","passages":["The same product copy — usually the manufacturer's — reused across many retailers' pages and often across your own site. There's no penalty for it, but it's a weak signal that dilutes uniqueness and hands the ranking to whoever else has the same text plus more authority."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/duplicate-product-descriptions/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Duplicate without user-selected canonical","desc":"A Google Search Console Page Indexing status: Google found this page to be a duplicate, you didn't declare a canonical, so Google chose a different page as the canonical — and this URL isn't indexed.","snippetText":"A Google Search Console Page Indexing status: Google found this page to be a duplicate, you didn't declare a canonical, so Google chose a different page as the canonical — and this URL isn't indexed.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-without-canonical/#glossary","slug":"duplicate-without-canonical","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-without-canonical/","meta":"Glossary definition","aliases":["canonicalization","duplicate-content","canonical-tag"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status: Google found this page to be a duplicate, you didn't declare a canonical, so Google chose a different page as the canonical — and this URL isn't indexed. canonicalization duplicate-content canonical-tag","passages":["A Google Search Console Page Indexing status: Google found this page to be a duplicate, you didn't declare a canonical, so Google chose a different page as the canonical — and this URL isn't indexed."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-without-canonical/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Dynamic Serving","desc":"A mobile configuration where the server returns different HTML/CSS from the same URL depending on the requesting user-agent (desktop vs. mobile), signaled with the Vary: User-Agent header.","snippetText":"A mobile configuration where the server returns different HTML/CSS from the same URL depending on the requesting user-agent (desktop vs. mobile), signaled with the Vary: User-Agent header.","href":"/technical-seo/mobile-seo/dynamic-serving/#glossary","slug":"dynamic-serving","parentHref":"/technical-seo/mobile-seo/dynamic-serving/","meta":"Glossary definition","aliases":["Mobile-First Indexing","responsive-design"],"taxonomy":["technical-seo","mobile-seo"],"text":"A mobile configuration where the server returns different HTML/CSS from the same URL depending on the requesting user-agent (desktop vs. mobile), signaled with the Vary: User-Agent header. Mobile-First Indexing responsive-design","passages":["A mobile configuration where the server returns different HTML/CSS from the same URL depending on the requesting user-agent (desktop vs. mobile), signaled with the Vary: User-Agent header."],"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/dynamic-serving/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"eBay SEO","desc":"eBay SEO is the practice of optimizing eBay listings — titles, item specifics, photos, price, shipping terms, and seller performance — to rank higher in eBay's own search engine (Cassini) under its default Best Match sort, and secondarily to help those public listing pages rank in Google and Bing. Cassini is a separate ranking system from Google, tuned to predict a completed, satisfying transaction rather than pure keyword relevance.","snippetText":"eBay SEO is the practice of optimizing eBay listings — titles, item specifics, photos, price, shipping terms, and seller performance — to rank higher in eBay's own search engine (Cassini) under its default Best Match sort, and secondarily to help those public listing pages rank in Google and Bing. Cassini is a separate ranking system from Google, tuned to predict a completed, satisfying transaction rather than pure keyword relevance.","href":"/ecommerce-seo/marketplace-seo/ebay-seo/#glossary","slug":"ebay-seo","parentHref":"/ecommerce-seo/marketplace-seo/ebay-seo/","meta":"Glossary definition","aliases":["marketplace-seo","category-page-seo","product-page-seo"],"taxonomy":["ecommerce-seo","marketplace-seo"],"text":"eBay SEO is the practice of optimizing eBay listings — titles, item specifics, photos, price, shipping terms, and seller performance — to rank higher in eBay's own search engine (Cassini) under its default Best Match sort, and secondarily to help those public listing pages rank in Google and Bing. Cassini is a separate ranking system from Google, tuned to predict a completed, satisfying transaction rather than pure keyword relevance. marketplace-seo category-page-seo product-page-seo","passages":["eBay SEO is the practice of optimizing eBay listings — titles, item specifics, photos, price, shipping terms, and seller performance — to rank higher in eBay's own search engine (Cassini) under its default Best Match sort, and secondarily to help those public listing pages rank in Google and Bing. Cassini is a separate ranking system from Google, tuned to predict a completed, satisfying transaction rather than pure keyword relevance."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/marketplace-seo/ebay-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Ecommerce SEO","desc":"Ecommerce SEO is the practice of optimizing an online store so its product and category pages rank in organic search and attract purchase-intent visitors. It uses the same Google algorithm as any other site, but compounds the usual SEO work with commerce-specific challenges like faceted navigation, product variants, and platform-imposed URLs.","snippetText":"Ecommerce SEO is the practice of optimizing an online store so its product and category pages rank in organic search and attract purchase-intent visitors. It uses the same Google algorithm as any other site, but compounds the usual SEO work with commerce-specific challenges like faceted navigation, product variants, and platform-imposed URLs.","href":"/ecommerce-seo/#glossary","slug":"ecommerce-seo","parentHref":"/ecommerce-seo/","meta":"Glossary definition","aliases":["crawl-budget","faceted-navigation","canonicalization","product-schema"],"taxonomy":["ecommerce-seo"],"text":"Ecommerce SEO is the practice of optimizing an online store so its product and category pages rank in organic search and attract purchase-intent visitors. It uses the same Google algorithm as any other site, but compounds the usual SEO work with commerce-specific challenges like faceted navigation, product variants, and platform-imposed URLs. crawl-budget faceted-navigation canonicalization product-schema","passages":["Ecommerce SEO is the practice of optimizing an online store so its product and category pages rank in organic search and attract purchase-intent visitors. It uses the same Google algorithm as any other site, but compounds the usual SEO work with commerce-specific challenges like faceted navigation, product variants, and platform-imposed URLs."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Ecommerce SEO Audit","desc":"An ecommerce SEO audit is a systematic review of an online store's crawlability, indexation, duplicate content, on-page, technical, and link health — designed to surface the small set of issues that actually hold rankings and revenue back, not to produce a 500-point checklist.","snippetText":"An ecommerce SEO audit is a systematic review of an online store's crawlability, indexation, duplicate content, on-page, technical, and link health — designed to surface the small set of issues that actually hold rankings and revenue back, not to produce a 500-point checklist.","href":"/ecommerce-seo/ecommerce-seo-audit/#glossary","slug":"ecommerce-seo-audit","parentHref":"/ecommerce-seo/ecommerce-seo-audit/","meta":"Glossary definition","aliases":["ecommerce-seo","faceted-navigation","crawl-budget","canonicalization"],"taxonomy":["ecommerce-seo"],"text":"An ecommerce SEO audit is a systematic review of an online store's crawlability, indexation, duplicate content, on-page, technical, and link health — designed to surface the small set of issues that actually hold rankings and revenue back, not to produce a 500-point checklist. ecommerce-seo faceted-navigation crawl-budget canonicalization","passages":["An ecommerce SEO audit is a systematic review of an online store's crawlability, indexation, duplicate content, on-page, technical, and link health — designed to surface the small set of issues that actually hold rankings and revenue back, not to produce a 500-point checklist."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ecommerce-seo-audit/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Ecommerce SEO Seasonality","desc":"Ecommerce SEO seasonality is the practice of planning content, URLs, internal links, and crawl access around predictable rises and falls in search demand — capturing peak traffic before it arrives while preserving a seasonal page's authority year-round.","snippetText":"Ecommerce SEO seasonality is the practice of planning content, URLs, internal links, and crawl access around predictable rises and falls in search demand — capturing peak traffic before it arrives while preserving a seasonal page's authority year-round.","href":"/ecommerce-seo/categories-and-merchandising/ecommerce-seo-seasonality/#glossary","slug":"ecommerce-seo-seasonality","parentHref":"/ecommerce-seo/categories-and-merchandising/ecommerce-seo-seasonality/","meta":"Glossary definition","aliases":["ecommerce-seo","product-page-seo","crawl-frequency"],"taxonomy":["ecommerce-seo","categories-and-merchandising"],"text":"Ecommerce SEO seasonality is the practice of planning content, URLs, internal links, and crawl access around predictable rises and falls in search demand — capturing peak traffic before it arrives while preserving a seasonal page's authority year-round. ecommerce-seo product-page-seo crawl-frequency","passages":["Ecommerce SEO seasonality is the practice of planning content, URLs, internal links, and crawl access around predictable rises and falls in search demand — capturing peak traffic before it arrives while preserving a seasonal page's authority year-round."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/ecommerce-seo-seasonality/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Ecommerce Site Architecture","desc":"Ecommerce site architecture is how an online store's pages — categories, subcategories, and products — are organized and linked. Google reads the link structure (not the URL path) to work out hierarchy and relative importance, so a logical pyramid plus good internal links matters more than how deep the URLs look.","snippetText":"Ecommerce site architecture is how an online store's pages — categories, subcategories, and products — are organized and linked. Google reads the link structure (not the URL path) to work out hierarchy and relative importance, so a logical pyramid plus good internal links matters more than how deep the URLs look.","href":"/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-architecture/#glossary","slug":"ecommerce-site-architecture","parentHref":"/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-architecture/","meta":"Glossary definition","aliases":["faceted-navigation","crawl-budget","internal-links","canonicalization"],"taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"Ecommerce site architecture is how an online store's pages — categories, subcategories, and products — are organized and linked. Google reads the link structure (not the URL path) to work out hierarchy and relative importance, so a logical pyramid plus good internal links matters more than how deep the URLs look. faceted-navigation crawl-budget internal-links canonicalization","passages":["Ecommerce site architecture is how an online store's pages — categories, subcategories, and products — are organized and linked. Google reads the link structure (not the URL path) to work out hierarchy and relative importance, so a logical pyramid plus good internal links matters more than how deep the URLs look."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-architecture/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Ecommerce Site Search","desc":"Ecommerce site search is the on-site search box that lets shoppers query a store's catalog directly. For SEO it's a two-sided topic: the feature itself is a conversion tool, but the results pages it generates are a classic source of crawl waste, index bloat, and near-duplicate URLs that should usually be kept out of Google's index.","snippetText":"Ecommerce site search is the on-site search box that lets shoppers query a store's catalog directly. For SEO it's a two-sided topic: the feature itself is a conversion tool, but the results pages it generates are a classic source of crawl waste, index bloat, and near-duplicate URLs that should usually be kept out of Google's index.","href":"/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-search/#glossary","slug":"ecommerce-site-search","parentHref":"/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-search/","meta":"Glossary definition","aliases":["ecommerce-seo","faceted-navigation","crawl-budget","category-page-seo"],"taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"Ecommerce site search is the on-site search box that lets shoppers query a store's catalog directly. For SEO it's a two-sided topic: the feature itself is a conversion tool, but the results pages it generates are a classic source of crawl waste, index bloat, and near-duplicate URLs that should usually be kept out of Google's index. ecommerce-seo faceted-navigation crawl-budget category-page-seo","passages":["Ecommerce site search is the on-site search box that lets shoppers query a store's catalog directly. For SEO it's a two-sided topic: the feature itself is a conversion tool, but the results pages it generates are a classic source of crawl waste, index bloat, and near-duplicate URLs that should usually be kept out of Google's index."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-search/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Ecommerce XML Sitemap","desc":"An ecommerce XML sitemap is a machine-readable file (or set of files referenced by a sitemap index) listing the canonical URLs an online store wants crawled — usually split by content type (products, categories, brands, static pages) so a large, fast-changing catalog can be discovered and monitored more efficiently than through internal links alone.","snippetText":"An ecommerce XML sitemap is a machine-readable file (or set of files referenced by a sitemap index) listing the canonical URLs an online store wants crawled — usually split by content type (products, categories, brands, static pages) so a large, fast-changing catalog can be discovered and monitored more efficiently than through internal links alone.","href":"/ecommerce-seo/architecture-and-crawl-control/ecommerce-sitemap/#glossary","slug":"ecommerce-sitemap","parentHref":"/ecommerce-seo/architecture-and-crawl-control/ecommerce-sitemap/","meta":"Glossary definition","aliases":["ecommerce-seo","category-page-seo","crawl-budget","faceted-navigation","indexnow"],"taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"An ecommerce XML sitemap is a machine-readable file (or set of files referenced by a sitemap index) listing the canonical URLs an online store wants crawled — usually split by content type (products, categories, brands, static pages) so a large, fast-changing catalog can be discovered and monitored more efficiently than through internal links alone. ecommerce-seo category-page-seo crawl-budget faceted-navigation indexnow","passages":["An ecommerce XML sitemap is a machine-readable file (or set of files referenced by a sitemap index) listing the canonical URLs an online store wants crawled — usually split by content type (products, categories, brands, static pages) so a large, fast-changing catalog can be discovered and monitored more efficiently than through internal links alone."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/ecommerce-sitemap/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Ecwid SEO","desc":"Ecwid SEO is the technical, on-page, and content work you do on a store built with Ecwid (now Ecwid by Lightspeed) — an embeddable ecommerce widget that drops into an existing website. Because Ecwid is a JavaScript storefront by default rather than a hosted site, its SEO behavior (URL format, crawlable static HTML, auto sitemap and robots.txt) is scoped to a handful of integrations (Instant Site, the WordPress plugin, and the Wix app) and left to you everywhere else.","snippetText":"Ecwid SEO is the technical, on-page, and content work you do on a store built with Ecwid (now Ecwid by Lightspeed) — an embeddable ecommerce widget that drops into an existing website. Because Ecwid is a JavaScript storefront by default rather than a hosted site, its SEO behavior (URL format, crawlable static HTML, auto sitemap and robots.txt) is scoped to a handful of integrations (Instant Site, the WordPress plugin, and the Wix app) and left to you everywhere else.","href":"/technical-seo/platform-seo/ecommerce-platforms/ecwid-seo/#glossary","slug":"ecwid-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/ecwid-seo/","meta":"Glossary definition","aliases":["javascript-seo","canonicalization","hreflang"],"taxonomy":["technical-seo","platform-seo"],"text":"Ecwid SEO is the technical, on-page, and content work you do on a store built with Ecwid (now Ecwid by Lightspeed) — an embeddable ecommerce widget that drops into an existing website. Because Ecwid is a JavaScript storefront by default rather than a hosted site, its SEO behavior (URL format, crawlable static HTML, auto sitemap and robots.txt) is scoped to a handful of integrations (Instant Site, the WordPress plugin, and the Wix app) and left to you everywhere else. javascript-seo canonicalization hreflang","passages":["Ecwid SEO is the technical, on-page, and content work you do on a store built with Ecwid (now Ecwid by Lightspeed) — an embeddable ecommerce widget that drops into an existing website. Because Ecwid is a JavaScript storefront by default rather than a hosted site, its SEO behavior (URL format, crawlable static HTML, auto sitemap and robots.txt) is scoped to a handful of integrations (Instant Site, the WordPress plugin, and the Wix app) and left to you everywhere else."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/ecwid-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Edge A/B Testing","desc":"Edge A/B testing is running split tests (A/B or multivariate) at the CDN/edge layer — Cloudflare Workers, Akamai EdgeWorkers, Fastly Compute — instead of on the origin server or in client-side JavaScript. Variant assignment happens before the response is built, usually via a cookie. Done wrong it risks cloaking, duplicate content, and wasted crawl budget; done right it's a fast, SEO-safe way to test at scale.","snippetText":"Edge A/B testing is running split tests (A/B or multivariate) at the CDN/edge layer — Cloudflare Workers, Akamai EdgeWorkers, Fastly Compute — instead of on the origin server or in client-side JavaScript. Variant assignment happens before the response is built, usually via a cookie. Done wrong it risks cloaking, duplicate content, and wasted crawl budget; done right it's a fast, SEO-safe way to test at scale.","href":"/technical-seo/edge-seo/edge-ab-testing/#glossary","slug":"edge-ab-testing","parentHref":"/technical-seo/edge-seo/edge-ab-testing/","meta":"Glossary definition","aliases":["edge-seo","canonicalization"],"taxonomy":["technical-seo","edge-seo"],"text":"Edge A/B testing is running split tests (A/B or multivariate) at the CDN/edge layer — Cloudflare Workers, Akamai EdgeWorkers, Fastly Compute — instead of on the origin server or in client-side JavaScript. Variant assignment happens before the response is built, usually via a cookie. Done wrong it risks cloaking, duplicate content, and wasted crawl budget; done right it's a fast, SEO-safe way to test at scale. edge-seo canonicalization","passages":["Edge A/B testing is running split tests (A/B or multivariate) at the CDN/edge layer — Cloudflare Workers, Akamai EdgeWorkers, Fastly Compute — instead of on the origin server or in client-side JavaScript. Variant assignment happens before the response is built, usually via a cookie. Done wrong it risks cloaking, duplicate content, and wasted crawl budget; done right it's a fast, SEO-safe way to test at scale."],"popular":0,"url":"https://patrickstox.com/technical-seo/edge-seo/edge-ab-testing/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Edge Redirects","desc":"An edge redirect is a 301/302 (or 307/308) redirect executed at the CDN layer — Cloudflare, Akamai, Fastly, Vercel, Netlify, or Lambda@Edge — before the request reaches your origin server, so it works even during a migration when the old origin is being decommissioned, across platforms that don't support server-side redirects, and without a code deploy.","snippetText":"An edge redirect is a 301/302 (or 307/308) redirect executed at the CDN layer — Cloudflare, Akamai, Fastly, Vercel, Netlify, or Lambda@Edge — before the request reaches your origin server, so it works even during a migration when the old origin is being decommissioned, across platforms that don't support server-side redirects, and without a code deploy.","href":"/technical-seo/edge-seo/edge-redirects/#glossary","slug":"edge-redirects","parentHref":"/technical-seo/edge-seo/edge-redirects/","meta":"Glossary definition","aliases":["edge-seo","redirect","redirect-chain","redirect-loop","301-redirect","javascript-redirect"],"taxonomy":["technical-seo","edge-seo"],"text":"An edge redirect is a 301/302 (or 307/308) redirect executed at the CDN layer — Cloudflare, Akamai, Fastly, Vercel, Netlify, or Lambda@Edge — before the request reaches your origin server, so it works even during a migration when the old origin is being decommissioned, across platforms that don't support server-side redirects, and without a code deploy. edge-seo redirect redirect-chain redirect-loop 301-redirect javascript-redirect","passages":["An edge redirect is a 301/302 (or 307/308) redirect executed at the CDN layer — Cloudflare, Akamai, Fastly, Vercel, Netlify, or Lambda@Edge — before the request reaches your origin server, so it works even during a migration when the old origin is being decommissioned, across platforms that don't support server-side redirects, and without a code deploy."],"popular":0,"url":"https://patrickstox.com/technical-seo/edge-seo/edge-redirects/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Edge SEO","desc":"Edge SEO (serverless SEO) is the practice of making technical SEO changes — redirects, meta tags, canonicals, hreflang, robots.txt, structured data — at the CDN/edge worker layer before the response reaches the user or crawler, instead of editing the origin server or CMS.","snippetText":"Edge SEO (serverless SEO) is the practice of making technical SEO changes — redirects, meta tags, canonicals, hreflang, robots.txt, structured data — at the CDN/edge worker layer before the response reaches the user or crawler, instead of editing the origin server or CMS.","href":"/technical-seo/edge-seo/#glossary","slug":"edge-seo","parentHref":"/technical-seo/edge-seo/","meta":"Glossary definition","aliases":["javascript-seo","dynamic-rendering","crawling","redirect","robots-txt","x-robots-tag"],"taxonomy":["technical-seo","edge-seo"],"text":"Edge SEO (serverless SEO) is the practice of making technical SEO changes — redirects, meta tags, canonicals, hreflang, robots.txt, structured data — at the CDN/edge worker layer before the response reaches the user or crawler, instead of editing the origin server or CMS. javascript-seo dynamic-rendering crawling redirect robots-txt x-robots-tag","passages":["Edge SEO (serverless SEO) is the practice of making technical SEO changes — redirects, meta tags, canonicals, hreflang, robots.txt, structured data — at the CDN/edge worker layer before the response reaches the user or crawler, instead of editing the origin server or CMS."],"popular":0,"url":"https://patrickstox.com/technical-seo/edge-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Eleventy SEO","desc":"Eleventy (11ty) is a JavaScript-based static site generator that outputs plain HTML with zero client-side JavaScript by default. Eleventy SEO is the practice of explicitly configuring that output — meta tags, canonicals, sitemaps, images, and structured data — because Eleventy generates none of it for you.","snippetText":"Eleventy (11ty) is a JavaScript-based static site generator that outputs plain HTML with zero client-side JavaScript by default. Eleventy SEO is the practice of explicitly configuring that output — meta tags, canonicals, sitemaps, images, and structured data — because Eleventy generates none of it for you.","href":"/technical-seo/platform-seo/static-site-generators/eleventy-seo/#glossary","slug":"eleventy-seo","parentHref":"/technical-seo/platform-seo/static-site-generators/eleventy-seo/","meta":"Glossary definition","aliases":["static-site-generator","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Eleventy (11ty) is a JavaScript-based static site generator that outputs plain HTML with zero client-side JavaScript by default. Eleventy SEO is the practice of explicitly configuring that output — meta tags, canonicals, sitemaps, images, and structured data — because Eleventy generates none of it for you. static-site-generator javascript-seo","passages":["Eleventy (11ty) is a JavaScript-based static site generator that outputs plain HTML with zero client-side JavaScript by default. Eleventy SEO is the practice of explicitly configuring that output — meta tags, canonicals, sitemaps, images, and structured data — because Eleventy generates none of it for you."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/eleventy-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Embeddings","desc":"Embeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords.","snippetText":"Embeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords.","href":"/ai-search/how-search-works/embeddings/#glossary","slug":"embeddings","parentHref":"/ai-search/how-search-works/embeddings/","meta":"Glossary definition","aliases":["vector-search","semantic-search","rag"],"taxonomy":["ai-search","how-search-works"],"text":"Embeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords. vector-search semantic-search rag","passages":["Embeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/embeddings/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise Ecommerce SEO","desc":"Enterprise ecommerce SEO is the practice of optimizing large-scale online retail sites — tens of thousands to millions of product and category pages — for organic search. It sits where enterprise SEO (org buy-in, systems, automation) meets ecommerce SEO (faceted navigation, variants, PDPs/PLPs), and the two sets of complexity multiply each other.","snippetText":"Enterprise ecommerce SEO is the practice of optimizing large-scale online retail sites — tens of thousands to millions of product and category pages — for organic search. It sits where enterprise SEO (org buy-in, systems, automation) meets ecommerce SEO (faceted navigation, variants, PDPs/PLPs), and the two sets of complexity multiply each other.","href":"/enterprise-seo/business-models-and-segments/enterprise-ecommerce-seo/#glossary","slug":"enterprise-ecommerce-seo","parentHref":"/enterprise-seo/business-models-and-segments/enterprise-ecommerce-seo/","meta":"Glossary definition","aliases":["ecommerce-seo","enterprise-seo","faceted-navigation","crawl-budget"],"taxonomy":["enterprise-seo","business-models-and-segments"],"text":"Enterprise ecommerce SEO is the practice of optimizing large-scale online retail sites — tens of thousands to millions of product and category pages — for organic search. It sits where enterprise SEO (org buy-in, systems, automation) meets ecommerce SEO (faceted navigation, variants, PDPs/PLPs), and the two sets of complexity multiply each other. ecommerce-seo enterprise-seo faceted-navigation crawl-budget","passages":["Enterprise ecommerce SEO is the practice of optimizing large-scale online retail sites — tens of thousands to millions of product and category pages — for organic search. It sits where enterprise SEO (org buy-in, systems, automation) meets ecommerce SEO (faceted navigation, variants, PDPs/PLPs), and the two sets of complexity multiply each other."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/business-models-and-segments/enterprise-ecommerce-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise Local SEO","desc":"Enterprise local SEO is the practice of managing local search presence — Google Business Profiles, listings, location pages, and reviews — across hundreds or thousands of physical locations, using scalable systems and governance instead of location-by-location manual work.","snippetText":"Enterprise local SEO is the practice of managing local search presence — Google Business Profiles, listings, location pages, and reviews — across hundreds or thousands of physical locations, using scalable systems and governance instead of location-by-location manual work.","href":"/enterprise-seo/business-models-and-segments/enterprise-local-seo/#glossary","slug":"enterprise-local-seo","parentHref":"/enterprise-seo/business-models-and-segments/enterprise-local-seo/","meta":"Glossary definition","aliases":["enterprise-seo","nap-consistency","google-business-profile"],"taxonomy":["enterprise-seo","business-models-and-segments"],"text":"Enterprise local SEO is the practice of managing local search presence — Google Business Profiles, listings, location pages, and reviews — across hundreds or thousands of physical locations, using scalable systems and governance instead of location-by-location manual work. enterprise-seo nap-consistency google-business-profile","passages":["Enterprise local SEO is the practice of managing local search presence — Google Business Profiles, listings, location pages, and reviews — across hundreds or thousands of physical locations, using scalable systems and governance instead of location-by-location manual work."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/business-models-and-segments/enterprise-local-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise SaaS SEO","desc":"Enterprise SaaS SEO is the practice of growing organic search visibility for a large software-as-a-service company. The ranking mechanics are identical to any other site — what changes is the strategy: long multi-stakeholder B2B sales cycles, product-led growth motions, JavaScript-heavy app platforms, and SEO spread across a marketing site, app, docs, and community.","snippetText":"Enterprise SaaS SEO is the practice of growing organic search visibility for a large software-as-a-service company. The ranking mechanics are identical to any other site — what changes is the strategy: long multi-stakeholder B2B sales cycles, product-led growth motions, JavaScript-heavy app platforms, and SEO spread across a marketing site, app, docs, and community.","href":"/enterprise-seo/business-models-and-segments/enterprise-saas-seo/#glossary","slug":"enterprise-saas-seo","parentHref":"/enterprise-seo/business-models-and-segments/enterprise-saas-seo/","meta":"Glossary definition","aliases":["enterprise-seo","b2b-seo","programmatic-seo","crawl-budget"],"taxonomy":["enterprise-seo","business-models-and-segments"],"text":"Enterprise SaaS SEO is the practice of growing organic search visibility for a large software-as-a-service company. The ranking mechanics are identical to any other site — what changes is the strategy: long multi-stakeholder B2B sales cycles, product-led growth motions, JavaScript-heavy app platforms, and SEO spread across a marketing site, app, docs, and community. enterprise-seo b2b-seo programmatic-seo crawl-budget","passages":["Enterprise SaaS SEO is the practice of growing organic search visibility for a large software-as-a-service company. The ranking mechanics are identical to any other site — what changes is the strategy: long multi-stakeholder B2B sales cycles, product-led growth motions, JavaScript-heavy app platforms, and SEO spread across a marketing site, app, docs, and community."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/business-models-and-segments/enterprise-saas-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise SEO","desc":"Enterprise SEO is the practice of doing SEO at scale — for large, complex sites (often tens of thousands to millions of pages) across multiple teams, CMSs, and stakeholders. It uses the same ranking factors as any site; what changes is the scale, the technical debt, and the organizational coordination.","snippetText":"Enterprise SEO is the practice of doing SEO at scale — for large, complex sites (often tens of thousands to millions of pages) across multiple teams, CMSs, and stakeholders. It uses the same ranking factors as any site; what changes is the scale, the technical debt, and the organizational coordination.","href":"/enterprise-seo/#glossary","slug":"enterprise-seo","parentHref":"/enterprise-seo/","meta":"Glossary definition","aliases":["enterprise-seo-audit","crawl-budget"],"taxonomy":["enterprise-seo"],"text":"Enterprise SEO is the practice of doing SEO at scale — for large, complex sites (often tens of thousands to millions of pages) across multiple teams, CMSs, and stakeholders. It uses the same ranking factors as any site; what changes is the scale, the technical debt, and the organizational coordination. enterprise-seo-audit crawl-budget","passages":["Enterprise SEO is the practice of doing SEO at scale — for large, complex sites (often tens of thousands to millions of pages) across multiple teams, CMSs, and stakeholders. It uses the same ranking factors as any site; what changes is the scale, the technical debt, and the organizational coordination."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise SEO Audit","desc":"An enterprise SEO audit is a systematic evaluation of a large-scale website — usually millions of URLs across multiple CMS platforms, teams, and regions — to find the technical, indexing, content, and link issues that limit organic visibility. Unlike a standard audit, it must account for organizational complexity and ruthless prioritization, because technical perfection at scale is neither possible nor worth paying for.","snippetText":"An enterprise SEO audit is a systematic evaluation of a large-scale website — usually millions of URLs across multiple CMS platforms, teams, and regions — to find the technical, indexing, content, and link issues that limit organic visibility. Unlike a standard audit, it must account for organizational complexity and ruthless prioritization, because technical perfection at scale is neither possible nor worth paying for.","href":"/enterprise-seo/audits-and-governance/enterprise-seo-audit/#glossary","slug":"enterprise-seo-audit","parentHref":"/enterprise-seo/audits-and-governance/enterprise-seo-audit/","meta":"Glossary definition","aliases":["crawl-budget","hreflang","indexing","core-web-vitals","javascript-seo"],"taxonomy":["enterprise-seo","audits-and-governance"],"text":"An enterprise SEO audit is a systematic evaluation of a large-scale website — usually millions of URLs across multiple CMS platforms, teams, and regions — to find the technical, indexing, content, and link issues that limit organic visibility. Unlike a standard audit, it must account for organizational complexity and ruthless prioritization, because technical perfection at scale is neither possible nor worth paying for. crawl-budget hreflang indexing core-web-vitals javascript-seo","passages":["An enterprise SEO audit is a systematic evaluation of a large-scale website — usually millions of URLs across multiple CMS platforms, teams, and regions — to find the technical, indexing, content, and link issues that limit organic visibility. Unlike a standard audit, it must account for organizational complexity and ruthless prioritization, because technical perfection at scale is neither possible nor worth paying for."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/audits-and-governance/enterprise-seo-audit/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise SEO Issues","desc":"Enterprise SEO issues are the technical and organizational problems that disproportionately hit large sites — where one template error can suppress millions of pages and the real bottleneck is often getting a fix shipped, not finding it.","snippetText":"Enterprise SEO issues are the technical and organizational problems that disproportionately hit large sites — where one template error can suppress millions of pages and the real bottleneck is often getting a fix shipped, not finding it.","href":"/enterprise-seo/audits-and-governance/enterprise-seo-issues/#glossary","slug":"enterprise-seo-issues","parentHref":"/enterprise-seo/audits-and-governance/enterprise-seo-issues/","meta":"Glossary definition","aliases":["duplicate-content","crawl-budget","redirect-chain","hreflang","javascript-seo","faceted-navigation"],"taxonomy":["enterprise-seo","audits-and-governance"],"text":"Enterprise SEO issues are the technical and organizational problems that disproportionately hit large sites — where one template error can suppress millions of pages and the real bottleneck is often getting a fix shipped, not finding it. duplicate-content crawl-budget redirect-chain hreflang javascript-seo faceted-navigation","passages":["Enterprise SEO issues are the technical and organizational problems that disproportionately hit large sites — where one template error can suppress millions of pages and the real bottleneck is often getting a fix shipped, not finding it."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/audits-and-governance/enterprise-seo-issues/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise SEO Metrics","desc":"Enterprise SEO metrics are the KPIs used to measure and report SEO at large, complex organizations — tied to business outcomes like revenue and pipeline, not vanity metrics like raw rankings, and organized by audience from the C-suite down to engineering.","snippetText":"Enterprise SEO metrics are the KPIs used to measure and report SEO at large, complex organizations — tied to business outcomes like revenue and pipeline, not vanity metrics like raw rankings, and organized by audience from the C-suite down to engineering.","href":"/enterprise-seo/metrics/#glossary","slug":"enterprise-seo-metrics","parentHref":"/enterprise-seo/metrics/","meta":"Glossary definition","aliases":["core-web-vitals","google-search-console","ai-share-of-voice","crawl-budget"],"taxonomy":["enterprise-seo","metrics"],"text":"Enterprise SEO metrics are the KPIs used to measure and report SEO at large, complex organizations — tied to business outcomes like revenue and pipeline, not vanity metrics like raw rankings, and organized by audience from the C-suite down to engineering. core-web-vitals google-search-console ai-share-of-voice crawl-budget","passages":["Enterprise SEO metrics are the KPIs used to measure and report SEO at large, complex organizations — tied to business outcomes like revenue and pipeline, not vanity metrics like raw rankings, and organized by audience from the C-suite down to engineering."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise SEO Mistakes","desc":"Enterprise SEO mistakes are the recurring organizational, technical, and strategic missteps that stop large companies from realizing the full revenue potential of organic search. At enterprise scale they compound across hundreds of thousands of URLs and dozens of teams, so one template-level error can de-index millions of pages and one fix can recover millions in revenue.","snippetText":"Enterprise SEO mistakes are the recurring organizational, technical, and strategic missteps that stop large companies from realizing the full revenue potential of organic search. At enterprise scale they compound across hundreds of thousands of URLs and dozens of teams, so one template-level error can de-index millions of pages and one fix can recover millions in revenue.","href":"/enterprise-seo/audits-and-governance/enterprise-seo-mistakes/#glossary","slug":"enterprise-seo-mistakes","parentHref":"/enterprise-seo/audits-and-governance/enterprise-seo-mistakes/","meta":"Glossary definition","aliases":["crawl-budget","faceted-navigation","canonical-tag","duplicate-content","internal-linking"],"taxonomy":["enterprise-seo","audits-and-governance"],"text":"Enterprise SEO mistakes are the recurring organizational, technical, and strategic missteps that stop large companies from realizing the full revenue potential of organic search. At enterprise scale they compound across hundreds of thousands of URLs and dozens of teams, so one template-level error can de-index millions of pages and one fix can recover millions in revenue. crawl-budget faceted-navigation canonical-tag duplicate-content internal-linking","passages":["Enterprise SEO mistakes are the recurring organizational, technical, and strategic missteps that stop large companies from realizing the full revenue potential of organic search. At enterprise scale they compound across hundreds of thousands of URLs and dozens of teams, so one template-level error can de-index millions of pages and one fix can recover millions in revenue."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/audits-and-governance/enterprise-seo-mistakes/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise SEO Reporting","desc":"Enterprise SEO reporting is the practice of collecting, aggregating, and communicating organic search performance across a large, complex organization — through layered dashboards built for distinct audiences (executives, the SEO team, cross-functional partners) rather than one report for everyone.","snippetText":"Enterprise SEO reporting is the practice of collecting, aggregating, and communicating organic search performance across a large, complex organization — through layered dashboards built for distinct audiences (executives, the SEO team, cross-functional partners) rather than one report for everyone.","href":"/enterprise-seo/metrics/enterprise-seo-reporting/#glossary","slug":"enterprise-seo-reporting","parentHref":"/enterprise-seo/metrics/enterprise-seo-reporting/","meta":"Glossary definition","aliases":["enterprise-seo-metrics","seo-okrs","ai-share-of-voice","google-search-console"],"taxonomy":["enterprise-seo","metrics"],"text":"Enterprise SEO reporting is the practice of collecting, aggregating, and communicating organic search performance across a large, complex organization — through layered dashboards built for distinct audiences (executives, the SEO team, cross-functional partners) rather than one report for everyone. enterprise-seo-metrics seo-okrs ai-share-of-voice google-search-console","passages":["Enterprise SEO reporting is the practice of collecting, aggregating, and communicating organic search performance across a large, complex organization — through layered dashboards built for distinct audiences (executives, the SEO team, cross-functional partners) rather than one report for everyone."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/enterprise-seo-reporting/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise SEO ROI","desc":"Enterprise SEO ROI is the financial return an organic-search program generates relative to its total cost — staff, tools, content, and agency fees. The formula is simple ((Revenue − Cost) ÷ Cost); measuring the revenue side cleanly at enterprise scale is the hard part.","snippetText":"Enterprise SEO ROI is the financial return an organic-search program generates relative to its total cost — staff, tools, content, and agency fees. The formula is simple ((Revenue − Cost) ÷ Cost); measuring the revenue side cleanly at enterprise scale is the hard part.","href":"/enterprise-seo/metrics/enterprise-seo-roi/#glossary","slug":"enterprise-seo-roi","parentHref":"/enterprise-seo/metrics/enterprise-seo-roi/","meta":"Glossary definition","aliases":["enterprise-seo-metrics","enterprise-seo","measurement-and-reporting"],"taxonomy":["enterprise-seo","metrics"],"text":"Enterprise SEO ROI is the financial return an organic-search program generates relative to its total cost — staff, tools, content, and agency fees. The formula is simple ((Revenue − Cost) ÷ Cost); measuring the revenue side cleanly at enterprise scale is the hard part. enterprise-seo-metrics enterprise-seo measurement-and-reporting","passages":["Enterprise SEO ROI is the financial return an organic-search program generates relative to its total cost — staff, tools, content, and agency fees. The formula is simple ((Revenue − Cost) ÷ Cost); measuring the revenue side cleanly at enterprise scale is the hard part."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/enterprise-seo-roi/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Enterprise SEO Team","desc":"An enterprise SEO team is the group of people, roles, and reporting lines a large organization uses to run SEO at scale — usually organized as a centralized, decentralized, or hub-and-spoke (federated) model spanning technical, content, analytics, outreach, and engineering-liaison roles.","snippetText":"An enterprise SEO team is the group of people, roles, and reporting lines a large organization uses to run SEO at scale — usually organized as a centralized, decentralized, or hub-and-spoke (federated) model spanning technical, content, analytics, outreach, and engineering-liaison roles.","href":"/enterprise-seo/strategy-and-operations/enterprise-seo-team/#glossary","slug":"enterprise-seo-team","parentHref":"/enterprise-seo/strategy-and-operations/enterprise-seo-team/","meta":"Glossary definition","aliases":["enterprise-seo","enterprise-seo-audit","agile-seo"],"taxonomy":["enterprise-seo","strategy-and-operations"],"text":"An enterprise SEO team is the group of people, roles, and reporting lines a large organization uses to run SEO at scale — usually organized as a centralized, decentralized, or hub-and-spoke (federated) model spanning technical, content, analytics, outreach, and engineering-liaison roles. enterprise-seo enterprise-seo-audit agile-seo","passages":["An enterprise SEO team is the group of people, roles, and reporting lines a large organization uses to run SEO at scale — usually organized as a centralized, decentralized, or hub-and-spoke (federated) model spanning technical, content, analytics, outreach, and engineering-liaison roles."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/strategy-and-operations/enterprise-seo-team/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Entity & Identity Schema","desc":"\"Entity & identity schema\" is a practitioner label — not an official Google or schema.org category, and not exhaustive of identity-capable schema.org types — for the three main types that declare who or what is behind a site: Organization, LocalBusiness, and Person.","snippetText":"\"Entity & identity schema\" is a practitioner label — not an official Google or schema.org category, and not exhaustive of identity-capable schema.org types — for the three main types that declare who or what is behind a site: Organization, LocalBusiness, and Person.","href":"/technical-seo/on-page/structured-data/entities/#glossary","slug":"entities","parentHref":"/technical-seo/on-page/structured-data/entities/","meta":"Glossary definition","aliases":["organization-schema","localbusiness-schema","person-schema","schema-markup"],"taxonomy":["technical-seo","on-page"],"text":"\"Entity & identity schema\" is a practitioner label — not an official Google or schema.org category, and not exhaustive of identity-capable schema.org types — for the three main types that declare who or what is behind a site: Organization, LocalBusiness, and Person. organization-schema localbusiness-schema person-schema schema-markup","passages":["\"Entity & identity schema\" is a practitioner label — not an official Google or schema.org category, and not exhaustive of identity-capable schema.org types — for the three main types that declare who or what is behind a site: Organization, LocalBusiness, and Person."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Entity SEO","desc":"Entity SEO is the practice of helping search engines and AI systems clearly identify, classify, and trust the entities you represent — your brand, your people, your products — rather than just matching keyword strings. The goal is to be an unambiguous, well-corroborated entity in machine knowledge systems so AI can cite you with confidence.","snippetText":"Entity SEO is the practice of helping search engines and AI systems clearly identify, classify, and trust the entities you represent — your brand, your people, your products — rather than just matching keyword strings. The goal is to be an unambiguous, well-corroborated entity in machine knowledge systems so AI can cite you with confidence.","href":"/ai-search/optimization/entity-seo/#glossary","slug":"entity-seo","parentHref":"/ai-search/optimization/entity-seo/","meta":"Glossary definition","aliases":["knowledge-graph","structured-data","ai-search-optimization"],"taxonomy":["ai-search","optimization"],"text":"Entity SEO is the practice of helping search engines and AI systems clearly identify, classify, and trust the entities you represent — your brand, your people, your products — rather than just matching keyword strings. The goal is to be an unambiguous, well-corroborated entity in machine knowledge systems so AI can cite you with confidence. knowledge-graph structured-data ai-search-optimization","passages":["Entity SEO is the practice of helping search engines and AI systems clearly identify, classify, and trust the entities you represent — your brand, your people, your products — rather than just matching keyword strings. The goal is to be an unambiguous, well-corroborated entity in machine knowledge systems so AI can cite you with confidence."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/entity-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Etsy SEO","desc":"Etsy SEO is optimizing listings — titles, tags, attributes, photos, price, and shop performance — to rank in Etsy's own internal search, a system distinct from Google that weighs listing engagement and buyer experience alongside keyword relevance.","snippetText":"Etsy SEO is optimizing listings — titles, tags, attributes, photos, price, and shop performance — to rank in Etsy's own internal search, a system distinct from Google that weighs listing engagement and buyer experience alongside keyword relevance.","href":"/ecommerce-seo/marketplace-seo/etsy-seo/#glossary","slug":"etsy-seo","parentHref":"/ecommerce-seo/marketplace-seo/etsy-seo/","meta":"Glossary definition","aliases":["marketplace-seo","ecommerce-seo","category-page-seo","product-page-seo"],"taxonomy":["ecommerce-seo","marketplace-seo"],"text":"Etsy SEO is optimizing listings — titles, tags, attributes, photos, price, and shop performance — to rank in Etsy's own internal search, a system distinct from Google that weighs listing engagement and buyer experience alongside keyword relevance. marketplace-seo ecommerce-seo category-page-seo product-page-seo","passages":["Etsy SEO is optimizing listings — titles, tags, attributes, photos, price, and shop performance — to rank in Etsy's own internal search, a system distinct from Google that weighs listing engagement and buyer experience alongside keyword relevance."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/marketplace-seo/etsy-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Event Schema","desc":"Event schema (schema.org/Event) is structured data that tells search engines an event's name, date, location, and ticket info so the page can appear in Google's event rich results. Google requires a physical location — virtual-only events aren't eligible for the event rich result.","snippetText":"Event schema (schema.org/Event) is structured data that tells search engines an event's name, date, location, and ticket info so the page can appear in Google's event rich results. Google requires a physical location — virtual-only events aren't eligible for the event rich result.","href":"/technical-seo/on-page/structured-data/social-community/event-schema/#glossary","slug":"event-schema","parentHref":"/technical-seo/on-page/structured-data/social-community/event-schema/","meta":"Glossary definition","aliases":["structured-data","schema-markup","rich-results"],"taxonomy":["technical-seo","on-page"],"text":"Event schema (schema.org/Event) is structured data that tells search engines an event's name, date, location, and ticket info so the page can appear in Google's event rich results. Google requires a physical location — virtual-only events aren't eligible for the event rich result. structured-data schema-markup rich-results","passages":["Event schema (schema.org/Event) is structured data that tells search engines an event's name, date, location, and ticket info so the page can appear in Google's event rich results. Google requires a physical location — virtual-only events aren't eligible for the event rich result."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/event-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Faceted Navigation","desc":"Faceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals.","snippetText":"Faceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals.","href":"/ecommerce-seo/architecture-and-crawl-control/faceted-navigation/#glossary","slug":"faceted-navigation","parentHref":"/ecommerce-seo/architecture-and-crawl-control/faceted-navigation/","meta":"Glossary definition","aliases":["crawl-budget","url-parameters","duplicate-content","canonicalization"],"taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"Faceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals. crawl-budget url-parameters duplicate-content canonicalization","passages":["Faceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/faceted-navigation/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"FAQPage Schema","desc":"FAQPage schema (schema.org/FAQPage) is structured data for a page's frequently-asked-questions content. It used to make pages eligible for an expandable FAQ rich result in Google Search, but Google fully removed that rich result on May 7, 2026 — the markup itself stays valid schema.org vocabulary, Google says it still reads it for understanding, and Bing has announced no equivalent removal.","snippetText":"FAQPage schema (schema.org/FAQPage) is structured data for a page's frequently-asked-questions content. It used to make pages eligible for an expandable FAQ rich result in Google Search, but Google fully removed that rich result on May 7, 2026 — the markup itself stays valid schema.org vocabulary, Google says it still reads it for understanding, and Bing has announced no equivalent removal.","href":"/technical-seo/on-page/structured-data/social-community/faqpage-schema/#glossary","slug":"faqpage-schema","parentHref":"/technical-seo/on-page/structured-data/social-community/faqpage-schema/","meta":"Glossary definition","aliases":["structured-data","qapage-schema"],"taxonomy":["technical-seo","on-page"],"text":"FAQPage schema (schema.org/FAQPage) is structured data for a page's frequently-asked-questions content. It used to make pages eligible for an expandable FAQ rich result in Google Search, but Google fully removed that rich result on May 7, 2026 — the markup itself stays valid schema.org vocabulary, Google says it still reads it for understanding, and Bing has announced no equivalent removal. structured-data qapage-schema","passages":["FAQPage schema (schema.org/FAQPage) is structured data for a page's frequently-asked-questions content. It used to make pages eligible for an expandable FAQ rich result in Google Search, but Google fully removed that rich result on May 7, 2026 — the markup itself stays valid schema.org vocabulary, Google says it still reads it for understanding, and Bing has announced no equivalent removal."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/faqpage-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Favicon","desc":"A favicon (\"favorite icon\") is the small square image that represents a website — shown in browser tabs, bookmarks, and history, and (when the requirements are met) next to a site's listing in Google and Bing search results. It's declared with an HTML <link rel=\"icon\"> tag in the <head>. It is not a ranking factor, but it affects brand recognition and click-through rate.","snippetText":"A favicon (\"favorite icon\") is the small square image that represents a website — shown in browser tabs, bookmarks, and history, and (when the requirements are met) next to a site's listing in Google and Bing search results. It's declared with an HTML <link rel=\"icon\"> tag in the <head>. It is not a ranking factor, but it affects brand recognition and click-through rate.","href":"/technical-seo/on-page/meta-tags/favicon/#glossary","slug":"favicon","parentHref":"/technical-seo/on-page/meta-tags/favicon/","meta":"Glossary definition","aliases":["Meta tags","Title tag"],"taxonomy":["technical-seo","on-page"],"text":"A favicon (\"favorite icon\") is the small square image that represents a website — shown in browser tabs, bookmarks, and history, and (when the requirements are met) next to a site's listing in Google and Bing search results. It's declared with an HTML <link rel=\"icon\"> tag in the <head>. It is not a ranking factor, but it affects brand recognition and click-through rate. Meta tags Title tag","passages":["A favicon (\"favorite icon\") is the small square image that represents a website — shown in browser tabs, bookmarks, and history, and (when the requirements are met) next to a site's listing in Google and Bing search results. It's declared with an HTML <link rel=\"icon\"> tag in the <head>. It is not a ranking factor, but it affects brand recognition and click-through rate."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/favicon/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"FCP","desc":"First Contentful Paint — the time from when a page starts loading to when any part of its content (text, image, SVG, or non-white canvas) first renders. Good is ≤1.8 s at the 75th percentile. It's a diagnostic metric, not a Core Web Vital.","snippetText":"First Contentful Paint — the time from when a page starts loading to when any part of its content (text, image, SVG, or non-white canvas) first renders. Good is ≤1.8 s at the 75th percentile. It's a diagnostic metric, not a Core Web Vital.","href":"/technical-seo/web-performance/web-vitals/first-contentful-paint/#glossary","slug":"fcp","parentHref":"/technical-seo/web-performance/web-vitals/first-contentful-paint/","meta":"Glossary definition","aliases":["core-web-vitals","ttfb","lcp"],"taxonomy":["technical-seo","web-performance"],"text":"First Contentful Paint — the time from when a page starts loading to when any part of its content (text, image, SVG, or non-white canvas) first renders. Good is ≤1.8 s at the 75th percentile. It's a diagnostic metric, not a Core Web Vital. core-web-vitals ttfb lcp","passages":["First Contentful Paint — the time from when a page starts loading to when any part of its content (text, image, SVG, or non-white canvas) first renders. Good is ≤1.8 s at the 75th percentile. It's a diagnostic metric, not a Core Web Vital."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/first-contentful-paint/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"First Input Delay (FID)","desc":"First Input Delay — a retired Core Web Vital that measured the delay before the browser could begin processing a page's first interaction. Good was ≤100 ms. Replaced by INP in March 2024.","snippetText":"First Input Delay — a retired Core Web Vital that measured the delay before the browser could begin processing a page's first interaction. Good was ≤100 ms. Replaced by INP in March 2024.","href":"/technical-seo/web-performance/web-vitals/first-input-delay/#glossary","slug":"first-input-delay","parentHref":"/technical-seo/web-performance/web-vitals/first-input-delay/","meta":"Glossary definition","aliases":["inp","core-web-vitals","tbt"],"taxonomy":["technical-seo","web-performance"],"text":"First Input Delay — a retired Core Web Vital that measured the delay before the browser could begin processing a page's first interaction. Good was ≤100 ms. Replaced by INP in March 2024. inp core-web-vitals tbt","passages":["First Input Delay — a retired Core Web Vital that measured the delay before the browser could begin processing a page's first interaction. Good was ≤100 ms. Replaced by INP in March 2024."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/first-input-delay/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Flat vs. Deep Architecture","desc":"Flat vs. deep architecture is the trade-off in how many hierarchy levels sit between a site's homepage and its individual pages — and, separately, how many clicks a crawler needs to reach them. Neither extreme is universally right: the correct depth is mostly a function of how distinct the site's categories are, and secondarily how much content it has.","snippetText":"Flat vs. deep architecture is the trade-off in how many hierarchy levels sit between a site's homepage and its individual pages — and, separately, how many clicks a crawler needs to reach them. Neither extreme is universally right: the correct depth is mostly a function of how distinct the site's categories are, and secondarily how much content it has.","href":"/technical-seo/website-structure/flat-vs-deep-architecture/#glossary","slug":"flat-vs-deep-architecture","parentHref":"/technical-seo/website-structure/flat-vs-deep-architecture/","meta":"Glossary definition","aliases":["Site Architecture","Website Structure","Crawl Depth","internal-links"],"taxonomy":["technical-seo","website-structure"],"text":"Flat vs. deep architecture is the trade-off in how many hierarchy levels sit between a site's homepage and its individual pages — and, separately, how many clicks a crawler needs to reach them. Neither extreme is universally right: the correct depth is mostly a function of how distinct the site's categories are, and secondarily how much content it has. Site Architecture Website Structure Crawl Depth internal-links","passages":["Flat vs. deep architecture is the trade-off in how many hierarchy levels sit between a site's homepage and its individual pages — and, separately, how many clicks a crawler needs to reach them. Neither extreme is universally right: the correct depth is mostly a function of how distinct the site's categories are, and secondarily how much content it has."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/flat-vs-deep-architecture/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Font Loading","desc":"Font loading is how a browser fetches, applies, and renders custom web fonts — and specifically what it shows while the font file downloads. Those choices, controlled mainly by the CSS font-display property, directly affect two Core Web Vitals: LCP and CLS.","snippetText":"Font loading is how a browser fetches, applies, and renders custom web fonts — and specifically what it shows while the font file downloads. Those choices, controlled mainly by the CSS font-display property, directly affect two Core Web Vitals: LCP and CLS.","href":"/technical-seo/web-performance/font-loading/#glossary","slug":"font-loading","parentHref":"/technical-seo/web-performance/font-loading/","meta":"Glossary definition","aliases":["core-web-vitals","resource-hints"],"taxonomy":["technical-seo","web-performance"],"text":"Font loading is how a browser fetches, applies, and renders custom web fonts — and specifically what it shows while the font file downloads. Those choices, controlled mainly by the CSS font-display property, directly affect two Core Web Vitals: LCP and CLS. core-web-vitals resource-hints","passages":["Font loading is how a browser fetches, applies, and renders custom web fonts — and specifically what it shows while the font file downloads. Those choices, controlled mainly by the CSS font-display property, directly affect two Core Web Vitals: LCP and CLS."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/font-loading/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Framer SEO","desc":"Framer SEO is the set of built-in and configurable search optimization features in Framer, a design-first website builder. Framer publishes pre-rendered static HTML, so pages are crawlable without JavaScript execution, and it exposes per-page metadata, automatic sitemaps and robots.txt, redirects, canonical tags, and custom <head> code injection.","snippetText":"Framer SEO is the set of built-in and configurable search optimization features in Framer, a design-first website builder. Framer publishes pre-rendered static HTML, so pages are crawlable without JavaScript execution, and it exposes per-page metadata, automatic sitemaps and robots.txt, redirects, canonical tags, and custom <head> code injection.","href":"/technical-seo/platform-seo/website-builders/framer-seo/#glossary","slug":"framer-seo","parentHref":"/technical-seo/platform-seo/website-builders/framer-seo/","meta":"Glossary definition","aliases":["webflow-seo","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Framer SEO is the set of built-in and configurable search optimization features in Framer, a design-first website builder. Framer publishes pre-rendered static HTML, so pages are crawlable without JavaScript execution, and it exposes per-page metadata, automatic sitemaps and robots.txt, redirects, canonical tags, and custom <head> code injection. webflow-seo javascript-seo","passages":["Framer SEO is the set of built-in and configurable search optimization features in Framer, a design-first website builder. Framer publishes pre-rendered static HTML, so pages are crawlable without JavaScript execution, and it exposes per-page metadata, automatic sitemaps and robots.txt, redirects, canonical tags, and custom <head> code injection."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/framer-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Free Product Listings","desc":"Free product listings (originally launched as \"Surfaces across Google\" in 2020) are unpaid, organic product placements Google generates from your Merchant Center feed or on-page Product structured data. There's no bid and no CPC — Google matches your product data to a query and decides whether and where to show it — across the Shopping tab, Google Search (Popular Products grids), Images, Lens, Maps/Business Profile, YouTube, and Gemini; AI Mode and AI Overviews aren't on Google's official surfaces list, though practitioner reporting links them to the same eligibility pool. They're enabled by default in most cases for new Merchant Center accounts.","snippetText":"Free product listings (originally launched as \"Surfaces across Google\" in 2020) are unpaid, organic product placements Google generates from your Merchant Center feed or on-page Product structured data. There's no bid and no CPC — Google matches your product data to a query and decides whether and where to show it — across the Shopping tab, Google Search (Popular Products grids), Images, Lens, Maps/Business Profile, YouTube, and Gemini; AI Mode and AI Overviews aren't on Google's official surfaces list, though practitioner reporting links them to the same eligibility pool. They're enabled by d","href":"/ecommerce-seo/merchant-center/free-product-listings/#glossary","slug":"free-product-listings","parentHref":"/ecommerce-seo/merchant-center/free-product-listings/","meta":"Glossary definition","aliases":["google-merchant-center","merchant-center-feed-optimization","canonicalization"],"taxonomy":["ecommerce-seo","merchant-center"],"text":"Free product listings (originally launched as \"Surfaces across Google\" in 2020) are unpaid, organic product placements Google generates from your Merchant Center feed or on-page Product structured data. There's no bid and no CPC — Google matches your product data to a query and decides whether and where to show it — across the Shopping tab, Google Search (Popular Products grids), Images, Lens, Maps/Business Profile, YouTube, and Gemini; AI Mode and AI Overviews aren't on Google's official surfaces list, though practitioner reporting links them to the same eligibility pool. They're enabled by default in most cases for new Merchant Center accounts. google-merchant-center merchant-center-feed-optimization canonicalization","passages":["Free product listings (originally launched as \"Surfaces across Google\" in 2020) are unpaid, organic product placements Google generates from your Merchant Center feed or on-page Product structured data. There's no bid and no CPC — Google matches your product data to a query and decides whether and where to show it — across the Shopping tab, Google Search (Popular Products grids), Images, Lens, Maps/Business Profile, YouTube, and Gemini; AI Mode and AI Overviews aren't on Google's official surfaces list, though practitioner reporting links them to the same eligibility pool. They're enabled by default in most cases for new Merchant Center accounts."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/free-product-listings/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"GA4 for AI Traffic","desc":"GA4 for AI traffic is the practical configuration work — native AI Assistant channel, a custom channel group with a source regex, Explorations, and a Search Console join — that lets you identify, segment, and report on the visits arriving from AI chatbots that GA4 can actually see.","snippetText":"GA4 for AI traffic is the practical configuration work — native AI Assistant channel, a custom channel group with a source regex, Explorations, and a Search Console join — that lets you identify, segment, and report on the visits arriving from AI chatbots that GA4 can actually see.","href":"/ai-search/measurement-and-reporting/ga4-ai-traffic/#glossary","slug":"ga4-ai-traffic","parentHref":"/ai-search/measurement-and-reporting/ga4-ai-traffic/","meta":"Glossary definition","aliases":["ai-traffic-attribution","measurement-and-reporting","llm-visibility"],"taxonomy":["ai-search","measurement-and-reporting"],"text":"GA4 for AI traffic is the practical configuration work — native AI Assistant channel, a custom channel group with a source regex, Explorations, and a Search Console join — that lets you identify, segment, and report on the visits arriving from AI chatbots that GA4 can actually see. ai-traffic-attribution measurement-and-reporting llm-visibility","passages":["GA4 for AI traffic is the practical configuration work — native AI Assistant channel, a custom channel group with a source regex, Explorations, and a Search Console join — that lets you identify, segment, and report on the visits arriving from AI chatbots that GA4 can actually see."],"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ga4-ai-traffic/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Gatsby SEO","desc":"Gatsby SEO is the set of practices for getting a Gatsby site found and ranked. By default, Gatsby pre-renders HTML at build time (SSG), putting content in the raw HTML on the first fetch — but Gatsby also supports DSG, SSR, and client-only routes that don't all work that way, and it ships a full React bundle, so canonical tags, sitemaps, and Core Web Vitals still need deliberate work.","snippetText":"Gatsby SEO is the set of practices for getting a Gatsby site found and ranked. By default, Gatsby pre-renders HTML at build time (SSG), putting content in the raw HTML on the first fetch — but Gatsby also supports DSG, SSR, and client-only routes that don't all work that way, and it ships a full React bundle, so canonical tags, sitemaps, and Core Web Vitals still need deliberate work.","href":"/technical-seo/platform-seo/static-site-generators/gatsby-seo/#glossary","slug":"gatsby-seo","parentHref":"/technical-seo/platform-seo/static-site-generators/gatsby-seo/","meta":"Glossary definition","aliases":["static-site-generator","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Gatsby SEO is the set of practices for getting a Gatsby site found and ranked. By default, Gatsby pre-renders HTML at build time (SSG), putting content in the raw HTML on the first fetch — but Gatsby also supports DSG, SSR, and client-only routes that don't all work that way, and it ships a full React bundle, so canonical tags, sitemaps, and Core Web Vitals still need deliberate work. static-site-generator javascript-seo","passages":["Gatsby SEO is the set of practices for getting a Gatsby site found and ranked. By default, Gatsby pre-renders HTML at build time (SSG), putting content in the raw HTML on the first fetch — but Gatsby also supports DSG, SSR, and client-only routes that don't all work that way, and it ships a full React bundle, so canonical tags, sitemaps, and Core Web Vitals still need deliberate work."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/gatsby-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Generative Engine Optimization (GEO)","desc":"Generative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO.","snippetText":"Generative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO.","href":"/ai-search/optimization/generative-engine-optimization/#glossary","slug":"generative-engine-optimization","parentHref":"/ai-search/optimization/generative-engine-optimization/","meta":"Glossary definition","aliases":["ai-search-optimization","ai-search"],"taxonomy":["ai-search","optimization"],"text":"Generative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO. ai-search-optimization ai-search","passages":["Generative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/generative-engine-optimization/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"GEO / AEO vs SEO","desc":"GEO, AEO, and SEO share the same foundation — quality content, authority, technical eligibility — and AI search even draws on the same web indexes. The one structural difference: unlinked brand mentions (0.664 correlation) beat backlinks (Domain Rating 0.326) for AI visibility, inverting the traditional ranking hierarchy.","snippetText":"GEO, AEO, and SEO share the same foundation — quality content, authority, technical eligibility — and AI search even draws on the same web indexes. The one structural difference: unlinked brand mentions (0.664 correlation) beat backlinks (Domain Rating 0.326) for AI visibility, inverting the traditional ranking hierarchy.","href":"/ai-search/optimization/geo-aeo-vs-seo/#glossary","slug":"geo-aeo-vs-seo","parentHref":"/ai-search/optimization/geo-aeo-vs-seo/","meta":"Glossary definition","aliases":["ai-search-optimization","generative-engine-optimization","answer-engine-optimization"],"taxonomy":["ai-search","optimization"],"text":"GEO, AEO, and SEO share the same foundation — quality content, authority, technical eligibility — and AI search even draws on the same web indexes. The one structural difference: unlinked brand mentions (0.664 correlation) beat backlinks (Domain Rating 0.326) for AI visibility, inverting the traditional ranking hierarchy. ai-search-optimization generative-engine-optimization answer-engine-optimization","passages":["GEO, AEO, and SEO share the same foundation — quality content, authority, technical eligibility — and AI search even draws on the same web indexes. The one structural difference: unlinked brand mentions (0.664 correlation) beat backlinks (Domain Rating 0.326) for AI visibility, inverting the traditional ranking hierarchy."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/geo-aeo-vs-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Geo-Redirect","desc":"A geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang.","snippetText":"A geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang.","href":"/international-seo/architecture-and-targeting/geo-redirects/#glossary","slug":"geo-redirects","parentHref":"/international-seo/architecture-and-targeting/geo-redirects/","meta":"Glossary definition","aliases":["Hreflang","Geotargeting","302 Redirect","ccTLD"],"taxonomy":["international-seo","architecture-and-targeting"],"text":"A geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang. Hreflang Geotargeting 302 Redirect ccTLD","passages":["A geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang."],"popular":0,"url":"https://patrickstox.com/international-seo/architecture-and-targeting/geo-redirects/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Geotargeting","desc":"Configuring a site or URL to target users in a specific country.","snippetText":"Configuring a site or URL to target users in a specific country.","href":"/international-seo/architecture-and-targeting/cctld-subdomain-subdirectory/#glossary","slug":"geotargeting","parentHref":"/international-seo/architecture-and-targeting/cctld-subdomain-subdirectory/","meta":"Glossary definition","aliases":["ccTLD","Hreflang"],"taxonomy":["international-seo","architecture-and-targeting"],"text":"Configuring a site or URL to target users in a specific country. ccTLD Hreflang","passages":["Configuring a site or URL to target users in a specific country."],"popular":0,"url":"https://patrickstox.com/international-seo/architecture-and-targeting/cctld-subdomain-subdirectory/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Ghost SEO","desc":"Ghost SEO is the practice of optimizing a site built on Ghost CMS. The work splits in two: in traditional (Handlebars) mode Ghost handles core technical SEO automatically; run headless and you must rebuild all of it in the frontend.","snippetText":"Ghost SEO is the practice of optimizing a site built on Ghost CMS. The work splits in two: in traditional (Handlebars) mode Ghost handles core technical SEO automatically; run headless and you must rebuild all of it in the frontend.","href":"/technical-seo/platform-seo/headless-cms/ghost-seo/#glossary","slug":"ghost-seo","parentHref":"/technical-seo/platform-seo/headless-cms/ghost-seo/","meta":"Glossary definition","aliases":["headless-cms-seo","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Ghost SEO is the practice of optimizing a site built on Ghost CMS. The work splits in two: in traditional (Handlebars) mode Ghost handles core technical SEO automatically; run headless and you must rebuild all of it in the frontend. headless-cms-seo javascript-seo","passages":["Ghost SEO is the practice of optimizing a site built on Ghost CMS. The work splits in two: in traditional (Handlebars) mode Ghost handles core technical SEO automatically; run headless and you must rebuild all of it in the frontend."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/ghost-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Google Discover","desc":"Google Discover is a personalized, mobile-first content feed built into the Google app, Chrome's mobile New Tab page, and google.com that surfaces articles and videos based on a user's interests and activity — not a response to a search query. There's nothing to 'rank' for in the traditional sense; eligibility is governed by Discover's content policies plus the same helpful-content, image, and page-experience signals Google Search already uses.","snippetText":"Google Discover is a personalized, mobile-first content feed built into the Google app, Chrome's mobile New Tab page, and google.com that surfaces articles and videos based on a user's interests and activity — not a response to a search query. There's nothing to 'rank' for in the traditional sense; eligibility is governed by Discover's content policies plus the same helpful-content, image, and page-experience signals Google Search already uses.","href":"/technical-seo/news-seo/google-discover-seo/#glossary","slug":"google-discover-seo","parentHref":"/technical-seo/news-seo/google-discover-seo/","meta":"Glossary definition","aliases":["news-seo","content-freshness","core-web-vitals"],"taxonomy":["technical-seo","news-seo"],"text":"Google Discover is a personalized, mobile-first content feed built into the Google app, Chrome's mobile New Tab page, and google.com that surfaces articles and videos based on a user's interests and activity — not a response to a search query. There's nothing to 'rank' for in the traditional sense; eligibility is governed by Discover's content policies plus the same helpful-content, image, and page-experience signals Google Search already uses. news-seo content-freshness core-web-vitals","passages":["Google Discover is a personalized, mobile-first content feed built into the Google app, Chrome's mobile New Tab page, and google.com that surfaces articles and videos based on a user's interests and activity — not a response to a search query. There's nothing to 'rank' for in the traditional sense; eligibility is governed by Discover's content policies plus the same helpful-content, image, and page-experience signals Google Search already uses."],"popular":0,"url":"https://patrickstox.com/technical-seo/news-seo/google-discover-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Google Images SEO","desc":"Google Images SEO is the set of practices that get an image indexed and surfaced in Google Images and Google Lens / Circle to Search. It sits downstream of general image SEO and covers the image-search system itself: crawlability requirements (not blocked by robots.txt, supported format, extracted from an <img> src), discovery aids (image sitemaps), and eligibility for rich treatment (ImageObject / Product structured data, the Licensable badge).","snippetText":"Google Images SEO is the set of practices that get an image indexed and surfaced in Google Images and Google Lens / Circle to Search. It sits downstream of general image SEO and covers the image-search system itself: crawlability requirements (not blocked by robots.txt, supported format, extracted from an <img> src), discovery aids (image sitemaps), and eligibility for rich treatment (ImageObject / Product structured data, the Licensable badge).","href":"/technical-seo/on-page/image-seo/google-images-seo/#glossary","slug":"google-images-seo","parentHref":"/technical-seo/on-page/image-seo/google-images-seo/","meta":"Glossary definition","aliases":["image-seo","alt-text","image-file-names","image-sitemaps","imageobject-schema"],"taxonomy":["technical-seo","on-page"],"text":"Google Images SEO is the set of practices that get an image indexed and surfaced in Google Images and Google Lens / Circle to Search. It sits downstream of general image SEO and covers the image-search system itself: crawlability requirements (not blocked by robots.txt, supported format, extracted from an <img> src), discovery aids (image sitemaps), and eligibility for rich treatment (ImageObject / Product structured data, the Licensable badge). image-seo alt-text image-file-names image-sitemaps imageobject-schema","passages":["Google Images SEO is the set of practices that get an image indexed and surfaced in Google Images and Google Lens / Circle to Search. It sits downstream of general image SEO and covers the image-search system itself: crawlability requirements (not blocked by robots.txt, supported format, extracted from an <img> src), discovery aids (image sitemaps), and eligibility for rich treatment (ImageObject / Product structured data, the Licensable badge)."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/google-images-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Google Indexing API","desc":"The Google Indexing API lets site owners notify Google directly when a URL is added, updated, or removed. Google officially supports it only for pages with JobPosting or BroadcastEvent (livestream) structured data — not for general content.","snippetText":"The Google Indexing API lets site owners notify Google directly when a URL is added, updated, or removed. Google officially supports it only for pages with JobPosting or BroadcastEvent (livestream) structured data — not for general content.","href":"/technical-seo/how-search-works/discovery/google-indexing-api/#glossary","slug":"google-indexing-api","parentHref":"/technical-seo/how-search-works/discovery/google-indexing-api/","meta":"Glossary definition","aliases":["crawling","indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"The Google Indexing API lets site owners notify Google directly when a URL is added, updated, or removed. Google officially supports it only for pages with JobPosting or BroadcastEvent (livestream) structured data — not for general content. crawling indexing","passages":["The Google Indexing API lets site owners notify Google directly when a URL is added, updated, or removed. Google officially supports it only for pages with JobPosting or BroadcastEvent (livestream) structured data — not for general content."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/google-indexing-api/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Google Merchant Center","desc":"Google Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads.","snippetText":"Google Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads.","href":"/ecommerce-seo/merchant-center/google-merchant-center/#glossary","slug":"google-merchant-center","parentHref":"/ecommerce-seo/merchant-center/google-merchant-center/","meta":"Glossary definition","aliases":["ecommerce-seo","schema-markup-for-ai"],"taxonomy":["ecommerce-seo","merchant-center"],"text":"Google Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. ecommerce-seo schema-markup-for-ai","passages":["Google Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/google-merchant-center/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Google News SEO","desc":"Google News SEO is the practice of getting eligible for and ranking well in Google's news-specific surfaces — the News tab of Search and the Top Stories carousel. As of the 2024–2025 Publisher Center transition there's no application to file: content that complies with Google's news content policies is automatically eligible, and ranking within that pool is driven by relevance, prominence, authoritativeness, freshness, usability, and location/language.","snippetText":"Google News SEO is the practice of getting eligible for and ranking well in Google's news-specific surfaces — the News tab of Search and the Top Stories carousel. As of the 2024–2025 Publisher Center transition there's no application to file: content that complies with Google's news content policies is automatically eligible, and ranking within that pool is driven by relevance, prominence, authoritativeness, freshness, usability, and location/language.","href":"/technical-seo/news-seo/google-news-seo/#glossary","slug":"google-news-seo","parentHref":"/technical-seo/news-seo/google-news-seo/","meta":"Glossary definition","aliases":["news-seo","news-sitemaps","discover-report"],"taxonomy":["technical-seo","news-seo"],"text":"Google News SEO is the practice of getting eligible for and ranking well in Google's news-specific surfaces — the News tab of Search and the Top Stories carousel. As of the 2024–2025 Publisher Center transition there's no application to file: content that complies with Google's news content policies is automatically eligible, and ranking within that pool is driven by relevance, prominence, authoritativeness, freshness, usability, and location/language. news-seo news-sitemaps discover-report","passages":["Google News SEO is the practice of getting eligible for and ranking well in Google's news-specific surfaces — the News tab of Search and the Top Stories carousel. As of the 2024–2025 Publisher Center transition there's no application to file: content that complies with Google's news content policies is automatically eligible, and ranking within that pool is driven by relevance, prominence, authoritativeness, freshness, usability, and location/language."],"popular":0,"url":"https://patrickstox.com/technical-seo/news-seo/google-news-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Google Search Console","desc":"A free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.","snippetText":"A free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.","href":"/technical-seo/tools/search-engine-tools/google-search-console/#glossary","slug":"google-search-console","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/","meta":"Glossary definition","aliases":["search-engine-tools","performance-report","index-coverage-report","url-inspection-tool"],"taxonomy":["technical-seo","tools"],"text":"A free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. search-engine-tools performance-report index-coverage-report url-inspection-tool","passages":["A free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Google Shopping Graph","desc":"The Shopping Graph is Google's machine-learning-powered, real-time database of the world's products and sellers — the commerce equivalent of the Knowledge Graph. Built from Merchant Center feeds, crawled Product structured data, StoreBot verification, and broad web signals, it powers Shopping results, AI Overviews, AI Mode, and Gemini shopping answers.","snippetText":"The Shopping Graph is Google's machine-learning-powered, real-time database of the world's products and sellers — the commerce equivalent of the Knowledge Graph. Built from Merchant Center feeds, crawled Product structured data, StoreBot verification, and broad web signals, it powers Shopping results, AI Overviews, AI Mode, and Gemini shopping answers.","href":"/ecommerce-seo/ai-commerce/google-shopping-graph/#glossary","slug":"google-shopping-graph","parentHref":"/ecommerce-seo/ai-commerce/google-shopping-graph/","meta":"Glossary definition","aliases":["google-merchant-center","universal-commerce-protocol"],"taxonomy":["ecommerce-seo","ai-commerce"],"text":"The Shopping Graph is Google's machine-learning-powered, real-time database of the world's products and sellers — the commerce equivalent of the Knowledge Graph. Built from Merchant Center feeds, crawled Product structured data, StoreBot verification, and broad web signals, it powers Shopping results, AI Overviews, AI Mode, and Gemini shopping answers. google-merchant-center universal-commerce-protocol","passages":["The Shopping Graph is Google's machine-learning-powered, real-time database of the world's products and sellers — the commerce equivalent of the Knowledge Graph. Built from Merchant Center feeds, crawled Product structured data, StoreBot verification, and broad web signals, it powers Shopping results, AI Overviews, AI Mode, and Gemini shopping answers."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/google-shopping-graph/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Googlebot","desc":"Googlebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.","snippetText":"Googlebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer.","href":"/technical-seo/how-search-works/crawling/crawler/googlebot/#glossary","slug":"googlebot","parentHref":"/technical-seo/how-search-works/crawling/crawler/googlebot/","meta":"Glossary definition","aliases":["crawler","bingbot","user-agent","crawling","mobile-first-indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"Googlebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. crawler bingbot user-agent crawling mobile-first-indexing","passages":["Googlebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/googlebot/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Grounding","desc":"Grounding is anchoring an AI model's answer to source documents it retrieves at the moment you ask — not to the patterns frozen into its weights during training. Retrieval-Augmented Generation (RAG) is the most common way to do it.","snippetText":"Grounding is anchoring an AI model's answer to source documents it retrieves at the moment you ask — not to the patterns frozen into its weights during training. Retrieval-Augmented Generation (RAG) is the most common way to do it.","href":"/ai-search/how-search-works/grounding/#glossary","slug":"grounding","parentHref":"/ai-search/how-search-works/grounding/","meta":"Glossary definition","aliases":["rag","knowledge-cutoff"],"taxonomy":["ai-search","how-search-works"],"text":"Grounding is anchoring an AI model's answer to source documents it retrieves at the moment you ask — not to the patterns frozen into its weights during training. Retrieval-Augmented Generation (RAG) is the most common way to do it. rag knowledge-cutoff","passages":["Grounding is anchoring an AI model's answer to source documents it retrieves at the moment you ask — not to the patterns frozen into its weights during training. Retrieval-Augmented Generation (RAG) is the most common way to do it."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/grounding/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"GSC BigQuery Export","desc":"GSC BigQuery export (bulk data export) is a Google Search Console feature that schedules a daily, unsampled export of a property's Performance data into a Google Cloud BigQuery project — bypassing the UI's ~1,000-row export cap and its rolling ~16-month retention window. It doesn't backfill and still excludes anonymized queries at the query level.","snippetText":"GSC BigQuery export (bulk data export) is a Google Search Console feature that schedules a daily, unsampled export of a property's Performance data into a Google Cloud BigQuery project — bypassing the UI's ~1,000-row export cap and its rolling ~16-month retention window. It doesn't backfill and still excludes anonymized queries at the query level.","href":"/technical-seo/tools/search-engine-tools/gsc-bigquery/#glossary","slug":"gsc-bigquery","parentHref":"/technical-seo/tools/search-engine-tools/gsc-bigquery/","meta":"Glossary definition","aliases":["search-engine-tools","google-search-console","bing-webmaster-tools"],"taxonomy":["technical-seo","tools"],"text":"GSC BigQuery export (bulk data export) is a Google Search Console feature that schedules a daily, unsampled export of a property's Performance data into a Google Cloud BigQuery project — bypassing the UI's ~1,000-row export cap and its rolling ~16-month retention window. It doesn't backfill and still excludes anonymized queries at the query level. search-engine-tools google-search-console bing-webmaster-tools","passages":["GSC BigQuery export (bulk data export) is a Google Search Console feature that schedules a daily, unsampled export of a property's Performance data into a Google Cloud BigQuery project — bypassing the UI's ~1,000-row export cap and its rolling ~16-month retention window. It doesn't backfill and still excludes anonymized queries at the query level."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/gsc-bigquery/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Page Indexing report","desc":"The Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason.","snippetText":"The Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/#glossary","slug":"gsc-page-indexing","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/","meta":"Glossary definition","aliases":["crawling","indexing","canonicalization"],"taxonomy":["technical-seo","how-search-works"],"text":"The Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. crawling indexing canonicalization","passages":["The Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"H1 Tag","desc":"An H1 tag is the HTML `<h1>` element that marks a page's primary heading — the big visible headline at the top of the content. It helps users, search engines, and screen readers understand what the page is about.","snippetText":"An H1 tag is the HTML `<h1>` element that marks a page's primary heading — the big visible headline at the top of the content. It helps users, search engines, and screen readers understand what the page is about.","href":"/technical-seo/on-page/header-tags/h1/#glossary","slug":"h1","parentHref":"/technical-seo/on-page/header-tags/h1/","meta":"Glossary definition","aliases":["header-tags","title-tag","on-page-seo"],"taxonomy":["technical-seo","on-page"],"text":"An H1 tag is the HTML `<h1>` element that marks a page's primary heading — the big visible headline at the top of the content. It helps users, search engines, and screen readers understand what the page is about. header-tags title-tag on-page-seo","passages":["An H1 tag is the HTML `<h1>` element that marks a page's primary heading — the big visible headline at the top of the content. It helps users, search engines, and screen readers understand what the page is about."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/header-tags/h1/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Header Tags","desc":"Header tags (heading tags) are the HTML elements <h1> through <h6> that mark the structural hierarchy of a page's content. They help users, search engines, and screen readers understand what each section is about.","snippetText":"Header tags (heading tags) are the HTML elements <h1> through <h6> that mark the structural hierarchy of a page's content. They help users, search engines, and screen readers understand what each section is about.","href":"/technical-seo/on-page/header-tags/#glossary","slug":"header-tags","parentHref":"/technical-seo/on-page/header-tags/","meta":"Glossary definition","aliases":["h1","heading-structure","on-page-seo"],"taxonomy":["technical-seo","on-page"],"text":"Header tags (heading tags) are the HTML elements <h1> through <h6> that mark the structural hierarchy of a page's content. They help users, search engines, and screen readers understand what each section is about. h1 heading-structure on-page-seo","passages":["Header tags (heading tags) are the HTML elements <h1> through <h6> that mark the structural hierarchy of a page's content. They help users, search engines, and screen readers understand what each section is about."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/header-tags/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Headless CMS","desc":"A content management system that separates the content repository from the presentation layer, delivering content via API to any front-end framework rather than rendering HTML server-side itself. It doesn't specify the rendering mode, hosting, cache, preview security, or publishing workflow — those are separate decisions.","snippetText":"A content management system that separates the content repository from the presentation layer, delivering content via API to any front-end framework rather than rendering HTML server-side itself. It doesn't specify the rendering mode, hosting, cache, preview security, or publishing workflow — those are separate decisions.","href":"/technical-seo/platform-seo/headless-cms/#glossary","slug":"headless-cms","parentHref":"/technical-seo/platform-seo/headless-cms/","meta":"Glossary definition","aliases":["javascript-seo","crawling"],"taxonomy":["technical-seo","platform-seo"],"text":"A content management system that separates the content repository from the presentation layer, delivering content via API to any front-end framework rather than rendering HTML server-side itself. It doesn't specify the rendering mode, hosting, cache, preview security, or publishing workflow — those are separate decisions. javascript-seo crawling","passages":["A content management system that separates the content repository from the presentation layer, delivering content via API to any front-end framework rather than rendering HTML server-side itself. It doesn't specify the rendering mode, hosting, cache, preview security, or publishing workflow — those are separate decisions."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Headless CMS SEO","desc":"A headless CMS decouples content storage and editing (the backend) from how that content is rendered and delivered (the frontend), serving content over an API instead of a built-in templated 'head'. Its SEO outcomes come almost entirely from how the separate frontend renders pages.","snippetText":"A headless CMS decouples content storage and editing (the backend) from how that content is rendered and delivered (the frontend), serving content over an API instead of a built-in templated 'head'. Its SEO outcomes come almost entirely from how the separate frontend renders pages.","href":"/technical-seo/platform-seo/headless-cms/headless-cms-seo/#glossary","slug":"headless-cms-seo","parentHref":"/technical-seo/platform-seo/headless-cms/headless-cms-seo/","meta":"Glossary definition","aliases":["javascript-seo","rendering"],"taxonomy":["technical-seo","platform-seo"],"text":"A headless CMS decouples content storage and editing (the backend) from how that content is rendered and delivered (the frontend), serving content over an API instead of a built-in templated 'head'. Its SEO outcomes come almost entirely from how the separate frontend renders pages. javascript-seo rendering","passages":["A headless CMS decouples content storage and editing (the backend) from how that content is rendered and delivered (the frontend), serving content over an API instead of a built-in templated 'head'. Its SEO outcomes come almost entirely from how the separate frontend renders pages."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/headless-cms-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Headless Commerce Platforms","desc":"Headless commerce platforms are the commerce engines that expose product, cart, and checkout through APIs instead of rendering their own storefront — Shopify (Hydrogen/Storefront API), BigCommerce (Catalyst), commercetools, Salesforce Commerce Cloud (PWA Kit), Medusa, Saleor, and Elastic Path. Each ships a different amount of SEO tooling out of the box.","snippetText":"Headless commerce platforms are the commerce engines that expose product, cart, and checkout through APIs instead of rendering their own storefront — Shopify (Hydrogen/Storefront API), BigCommerce (Catalyst), commercetools, Salesforce Commerce Cloud (PWA Kit), Medusa, Saleor, and Elastic Path. Each ships a different amount of SEO tooling out of the box.","href":"/ecommerce-seo/headless-ecommerce/headless-commerce-platforms/#glossary","slug":"headless-commerce-platforms","parentHref":"/ecommerce-seo/headless-ecommerce/headless-commerce-platforms/","meta":"Glossary definition","aliases":["headless-ecommerce","javascript-seo","next-seo"],"taxonomy":["ecommerce-seo","headless-ecommerce"],"text":"Headless commerce platforms are the commerce engines that expose product, cart, and checkout through APIs instead of rendering their own storefront — Shopify (Hydrogen/Storefront API), BigCommerce (Catalyst), commercetools, Salesforce Commerce Cloud (PWA Kit), Medusa, Saleor, and Elastic Path. Each ships a different amount of SEO tooling out of the box. headless-ecommerce javascript-seo next-seo","passages":["Headless commerce platforms are the commerce engines that expose product, cart, and checkout through APIs instead of rendering their own storefront — Shopify (Hydrogen/Storefront API), BigCommerce (Catalyst), commercetools, Salesforce Commerce Cloud (PWA Kit), Medusa, Saleor, and Elastic Path. Each ships a different amount of SEO tooling out of the box."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/headless-ecommerce/headless-commerce-platforms/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Headless Ecommerce","desc":"An ecommerce architecture where the commerce engine (Shopify, Commercetools, BigCommerce) is decoupled from the storefront frontend. A separate JavaScript framework (Next.js, Remix, Nuxt) renders pages and fetches product data via API — giving full UI control at the cost of owning all SEO basics yourself.","snippetText":"An ecommerce architecture where the commerce engine (Shopify, Commercetools, BigCommerce) is decoupled from the storefront frontend. A separate JavaScript framework (Next.js, Remix, Nuxt) renders pages and fetches product data via API — giving full UI control at the cost of owning all SEO basics yourself.","href":"/ecommerce-seo/headless-ecommerce/#glossary","slug":"headless-ecommerce","parentHref":"/ecommerce-seo/headless-ecommerce/","meta":"Glossary definition","aliases":["headless-cms","javascript-seo","product-page-seo"],"taxonomy":["ecommerce-seo","headless-ecommerce"],"text":"An ecommerce architecture where the commerce engine (Shopify, Commercetools, BigCommerce) is decoupled from the storefront frontend. A separate JavaScript framework (Next.js, Remix, Nuxt) renders pages and fetches product data via API — giving full UI control at the cost of owning all SEO basics yourself. headless-cms javascript-seo product-page-seo","passages":["An ecommerce architecture where the commerce engine (Shopify, Commercetools, BigCommerce) is decoupled from the storefront frontend. A separate JavaScript framework (Next.js, Remix, Nuxt) renders pages and fetches product data via API — giving full UI control at the cost of owning all SEO basics yourself."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/headless-ecommerce/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Helpful Content Update","desc":"The Helpful Content Update (HCU) was a series of Google updates starting in August 2022 that added a site-wide, machine-learning classifier to demote content made primarily to rank rather than to help people. In March 2024 it was folded into Google's core ranking system.","snippetText":"The Helpful Content Update (HCU) was a series of Google updates starting in August 2022 that added a site-wide, machine-learning classifier to demote content made primarily to rank rather than to help people. In March 2024 it was folded into Google's core ranking system.","href":"/programmatic-seo/risks/helpful-content-update/#glossary","slug":"helpful-content-update","parentHref":"/programmatic-seo/risks/helpful-content-update/","meta":"Glossary definition","aliases":["programmatic-seo","indexing"],"taxonomy":["programmatic-seo","risks"],"text":"The Helpful Content Update (HCU) was a series of Google updates starting in August 2022 that added a site-wide, machine-learning classifier to demote content made primarily to rank rather than to help people. In March 2024 it was folded into Google's core ranking system. programmatic-seo indexing","passages":["The Helpful Content Update (HCU) was a series of Google updates starting in August 2022 that added a site-wide, machine-learning classifier to demote content made primarily to rank rather than to help people. In March 2024 it was folded into Google's core ranking system."],"popular":0,"url":"https://patrickstox.com/programmatic-seo/risks/helpful-content-update/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Hexo SEO","desc":"Hexo SEO is the practice of optimizing sites built with Hexo, the Node.js static site generator. Hexo outputs pure static HTML at build time, so content is crawlable on the first fetch — but sitemaps, robots.txt, meta descriptions, canonicals, and structured data all depend on plugins and theme configuration.","snippetText":"Hexo SEO is the practice of optimizing sites built with Hexo, the Node.js static site generator. Hexo outputs pure static HTML at build time, so content is crawlable on the first fetch — but sitemaps, robots.txt, meta descriptions, canonicals, and structured data all depend on plugins and theme configuration.","href":"/technical-seo/platform-seo/static-site-generators/hexo-seo/#glossary","slug":"hexo-seo","parentHref":"/technical-seo/platform-seo/static-site-generators/hexo-seo/","meta":"Glossary definition","aliases":["static-site-generators","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Hexo SEO is the practice of optimizing sites built with Hexo, the Node.js static site generator. Hexo outputs pure static HTML at build time, so content is crawlable on the first fetch — but sitemaps, robots.txt, meta descriptions, canonicals, and structured data all depend on plugins and theme configuration. static-site-generators javascript-seo","passages":["Hexo SEO is the practice of optimizing sites built with Hexo, the Node.js static site generator. Hexo outputs pure static HTML at build time, so content is crawlable on the first fetch — but sitemaps, robots.txt, meta descriptions, canonicals, and structured data all depend on plugins and theme configuration."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/hexo-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Host status","desc":"The at-a-glance availability indicator at the top of Google Search Console's Crawl Stats report. It shows whether Googlebot hit significant problems reaching your site in the last 90 days across three checks — robots.txt fetching, DNS resolution, and server connectivity.","snippetText":"The at-a-glance availability indicator at the top of Google Search Console's Crawl Stats report. It shows whether Googlebot hit significant problems reaching your site in the last 90 days across three checks — robots.txt fetching, DNS resolution, and server connectivity.","href":"/technical-seo/tools/search-engine-tools/google-search-console/host-status/#glossary","slug":"host-status","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/host-status/","meta":"Glossary definition","aliases":["crawl-stats-report","robots-txt","crawling"],"taxonomy":["technical-seo","tools"],"text":"The at-a-glance availability indicator at the top of Google Search Console's Crawl Stats report. It shows whether Googlebot hit significant problems reaching your site in the last 90 days across three checks — robots.txt fetching, DNS resolution, and server connectivity. crawl-stats-report robots-txt crawling","passages":["The at-a-glance availability indicator at the top of Google Search Console's Crawl Stats report. It shows whether Googlebot hit significant problems reaching your site in the last 90 days across three checks — robots.txt fetching, DNS resolution, and server connectivity."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/host-status/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"How Search Works","desc":"Search works in three stages — crawling, indexing, and serving (ranking). A page has to clear each one to appear in results: getting crawled doesn't mean you're indexed, and getting indexed doesn't mean you rank.","snippetText":"Search works in three stages — crawling, indexing, and serving (ranking). A page has to clear each one to appear in results: getting crawled doesn't mean you're indexed, and getting indexed doesn't mean you rank.","href":"/technical-seo/how-search-works/#glossary","slug":"how-search-works","parentHref":"/technical-seo/how-search-works/","meta":"Glossary definition","aliases":["crawling","crawl-budget"],"taxonomy":["technical-seo","how-search-works"],"text":"Search works in three stages — crawling, indexing, and serving (ranking). A page has to clear each one to appear in results: getting crawled doesn't mean you're indexed, and getting indexed doesn't mean you rank. crawling crawl-budget","passages":["Search works in three stages — crawling, indexing, and serving (ranking). A page has to clear each one to appear in results: getting crawled doesn't mean you're indexed, and getting indexed doesn't mean you rank."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HowTo Schema","desc":"HowTo schema (schema.org/HowTo) is structured data for step-by-step instructions. Google fully removed the HowTo rich result — on both desktop and mobile — in 2023, so it no longer produces any visible treatment in Search, though the schema.org vocabulary remains valid to use.","snippetText":"HowTo schema (schema.org/HowTo) is structured data for step-by-step instructions. Google fully removed the HowTo rich result — on both desktop and mobile — in 2023, so it no longer produces any visible treatment in Search, though the schema.org vocabulary remains valid to use.","href":"/technical-seo/on-page/structured-data/social-community/howto-schema/#glossary","slug":"howto-schema","parentHref":"/technical-seo/on-page/structured-data/social-community/howto-schema/","meta":"Glossary definition","aliases":["structured-data","schema-markup","rich-results"],"taxonomy":["technical-seo","on-page"],"text":"HowTo schema (schema.org/HowTo) is structured data for step-by-step instructions. Google fully removed the HowTo rich result — on both desktop and mobile — in 2023, so it no longer produces any visible treatment in Search, though the schema.org vocabulary remains valid to use. structured-data schema-markup rich-results","passages":["HowTo schema (schema.org/HowTo) is structured data for step-by-step instructions. Google fully removed the HowTo rich result — on both desktop and mobile — in 2023, so it no longer produces any visible treatment in Search, though the schema.org vocabulary remains valid to use."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/howto-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Hreflang","desc":"Hreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others.","snippetText":"Hreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others.","href":"/international-seo/hreflang/#glossary","slug":"hreflang","parentHref":"/international-seo/hreflang/","meta":"Glossary definition","aliases":["x-default","multilingual-seo","international-seo"],"taxonomy":["international-seo","hreflang"],"text":"Hreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. x-default multilingual-seo international-seo","passages":["Hreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others."],"popular":0,"url":"https://patrickstox.com/international-seo/hreflang/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HSTS","desc":"HSTS (HTTP Strict Transport Security) is a response header that tells browsers to always connect to your site over HTTPS — even when a user types or clicks an http:// link — closing the insecure-first-request gap that a plain 301 redirect leaves open.","snippetText":"HSTS (HTTP Strict Transport Security) is a response header that tells browsers to always connect to your site over HTTPS — even when a user types or clicks an http:// link — closing the insecure-first-request gap that a plain 301 redirect leaves open.","href":"/technical-seo/https/hsts/#glossary","slug":"hsts","parentHref":"/technical-seo/https/hsts/","meta":"Glossary definition","aliases":["https"],"taxonomy":["technical-seo","https"],"text":"HSTS (HTTP Strict Transport Security) is a response header that tells browsers to always connect to your site over HTTPS — even when a user types or clicks an http:// link — closing the insecure-first-request gap that a plain 301 redirect leaves open. https","passages":["HSTS (HTTP Strict Transport Security) is a response header that tells browsers to always connect to your site over HTTPS — even when a user types or clicks an http:// link — closing the insecure-first-request gap that a plain 301 redirect leaves open."],"popular":0,"url":"https://patrickstox.com/technical-seo/https/hsts/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HTML lang Attribute","desc":"The HTML lang attribute is a global attribute — most importantly set on the <html> element (<html lang=\"en\">) — that declares the natural language of THIS document's content using a BCP 47 language tag (en, es, en-US, pt-BR). It's distinct from hreflang, which points to alternate-language URLs. Google ignores lang for language detection; Bing uses it as a fallback targeting signal; and it drives accessibility (screen-reader pronunciation) and the browser auto-translate prompt.","snippetText":"The HTML lang attribute is a global attribute — most importantly set on the <html> element (<html lang=\"en\">) — that declares the natural language of THIS document's content using a BCP 47 language tag (en, es, en-US, pt-BR). It's distinct from hreflang, which points to alternate-language URLs. Google ignores lang for language detection; Bing uses it as a fallback targeting signal; and it drives accessibility (screen-reader pronunciation) and the browser auto-translate prompt.","href":"/technical-seo/on-page/html-seo/html-lang-attribute/#glossary","slug":"html-lang-attribute","parentHref":"/technical-seo/on-page/html-seo/html-lang-attribute/","meta":"Glossary definition","aliases":["hreflang","semantic-html","html-seo"],"taxonomy":["technical-seo","on-page"],"text":"The HTML lang attribute is a global attribute — most importantly set on the <html> element (<html lang=\"en\">) — that declares the natural language of THIS document's content using a BCP 47 language tag (en, es, en-US, pt-BR). It's distinct from hreflang, which points to alternate-language URLs. Google ignores lang for language detection; Bing uses it as a fallback targeting signal; and it drives accessibility (screen-reader pronunciation) and the browser auto-translate prompt. hreflang semantic-html html-seo","passages":["The HTML lang attribute is a global attribute — most importantly set on the <html> element (<html lang=\"en\">) — that declares the natural language of THIS document's content using a BCP 47 language tag (en, es, en-US, pt-BR). It's distinct from hreflang, which points to alternate-language URLs. Google ignores lang for language detection; Bing uses it as a fallback targeting signal; and it drives accessibility (screen-reader pronunciation) and the browser auto-translate prompt."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/html-seo/html-lang-attribute/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HTML SEO","desc":"HTML SEO is the practice of writing and structuring a page's HTML so search engines can efficiently crawl, render, parse, and understand its content — the elements they read directly, how they handle imperfect markup, and where the right element for the job helps machine understanding.","snippetText":"HTML SEO is the practice of writing and structuring a page's HTML so search engines can efficiently crawl, render, parse, and understand its content — the elements they read directly, how they handle imperfect markup, and where the right element for the job helps machine understanding.","href":"/technical-seo/on-page/html-seo/#glossary","slug":"html-seo","parentHref":"/technical-seo/on-page/html-seo/","meta":"Glossary definition","aliases":["semantic-html","header-tags","meta-tags"],"taxonomy":["technical-seo","on-page"],"text":"HTML SEO is the practice of writing and structuring a page's HTML so search engines can efficiently crawl, render, parse, and understand its content — the elements they read directly, how they handle imperfect markup, and where the right element for the job helps machine understanding. semantic-html header-tags meta-tags","passages":["HTML SEO is the practice of writing and structuring a page's HTML so search engines can efficiently crawl, render, parse, and understand its content — the elements they read directly, how they handle imperfect markup, and where the right element for the job helps machine understanding."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/html-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HTTP Error Code","desc":"The 4xx (client error) and 5xx (server error) HTTP status codes a server returns instead of a successful 2xx — and how Google treats each class very differently.","snippetText":"The 4xx (client error) and 5xx (server error) HTTP status codes a server returns instead of a successful 2xx — and how Google treats each class very differently.","href":"/technical-seo/http-status-codes/http-errors/#glossary","slug":"http-errors","parentHref":"/technical-seo/http-status-codes/http-errors/","meta":"Glossary definition","aliases":["404-not-found","410-gone","429-too-many-requests","500-internal-server-error","503-service-unavailable","Soft 404","http-status-codes"],"taxonomy":["technical-seo","http-status-codes"],"text":"The 4xx (client error) and 5xx (server error) HTTP status codes a server returns instead of a successful 2xx — and how Google treats each class very differently. 404-not-found 410-gone 429-too-many-requests 500-internal-server-error 503-service-unavailable Soft 404 http-status-codes","passages":["The 4xx (client error) and 5xx (server error) HTTP status codes a server returns instead of a successful 2xx — and how Google treats each class very differently."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HTTP Status Code","desc":"An HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index.","snippetText":"An HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index.","href":"/technical-seo/http-status-codes/#glossary","slug":"http-status-codes","parentHref":"/technical-seo/http-status-codes/","meta":"Glossary definition","aliases":["crawling","canonicalization","indexing"],"taxonomy":["technical-seo","http-status-codes"],"text":"An HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index. crawling canonicalization indexing","passages":["An HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HTTP to HTTPS Migration","desc":"An HTTP to HTTPS migration is the process of moving every URL on a site from the insecure http:// scheme to the encrypted https:// scheme — installing a TLS certificate and 301-redirecting each old URL to its secure equivalent. Done correctly, it doesn't lose rankings or PageRank.","snippetText":"An HTTP to HTTPS migration is the process of moving every URL on a site from the insecure http:// scheme to the encrypted https:// scheme — installing a TLS certificate and 301-redirecting each old URL to its secure equivalent. Done correctly, it doesn't lose rankings or PageRank.","href":"/technical-seo/https/http-to-https-migration/#glossary","slug":"http-to-https-migration","parentHref":"/technical-seo/https/http-to-https-migration/","meta":"Glossary definition","aliases":["https"],"taxonomy":["technical-seo","https"],"text":"An HTTP to HTTPS migration is the process of moving every URL on a site from the insecure http:// scheme to the encrypted https:// scheme — installing a TLS certificate and 301-redirecting each old URL to its secure equivalent. Done correctly, it doesn't lose rankings or PageRank. https","passages":["An HTTP to HTTPS migration is the process of moving every URL on a site from the insecure http:// scheme to the encrypted https:// scheme — installing a TLS certificate and 301-redirecting each old URL to its secure equivalent. Done correctly, it doesn't lose rankings or PageRank."],"popular":0,"url":"https://patrickstox.com/technical-seo/https/http-to-https-migration/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HTTP/2 and HTTP/3","desc":"HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's congestion control). Neither is a Google ranking factor — the SEO payoff is indirect, through faster real-user page speed.","snippetText":"HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's congestion control). Neither is a Google ranking factor — the SEO payoff is indirect, through faster real-user page speed.","href":"/technical-seo/web-performance/http2-http3/#glossary","slug":"http2-http3","parentHref":"/technical-seo/web-performance/http2-http3/","meta":"Glossary definition","aliases":["caching","cdn-seo","core-web-vitals"],"taxonomy":["technical-seo","web-performance"],"text":"HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's congestion control). Neither is a Google ranking factor — the SEO payoff is indirect, through faster real-user page speed. caching cdn-seo core-web-vitals","passages":["HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's congestion control). Neither is a Google ranking factor — the SEO payoff is indirect, through faster real-user page speed."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/http2-http3/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HTTPS","desc":"HTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.'","snippetText":"HTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.'","href":"/technical-seo/https/#glossary","slug":"https","parentHref":"/technical-seo/https/","meta":"Glossary definition","aliases":["migrations","canonicalization","change-of-address-tool"],"taxonomy":["technical-seo","https"],"text":"HTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' migrations canonicalization change-of-address-tool","passages":["HTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.'"],"popular":0,"url":"https://patrickstox.com/technical-seo/https/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HTTPS report","desc":"A Google Search Console report showing how many of your indexed URLs are served over HTTPS vs HTTP — and, for the HTTP ones, why the secure version isn't being used. It's a diagnostic sample, not a full crawl inventory.","snippetText":"A Google Search Console report showing how many of your indexed URLs are served over HTTPS vs HTTP — and, for the HTTP ones, why the secure version isn't being used. It's a diagnostic sample, not a full crawl inventory.","href":"/technical-seo/tools/search-engine-tools/google-search-console/https-report/#glossary","slug":"https-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/https-report/","meta":"Glossary definition","aliases":["google-search-console","index-coverage-report"],"taxonomy":["technical-seo","tools"],"text":"A Google Search Console report showing how many of your indexed URLs are served over HTTPS vs HTTP — and, for the HTTP ones, why the secure version isn't being used. It's a diagnostic sample, not a full crawl inventory. google-search-console index-coverage-report","passages":["A Google Search Console report showing how many of your indexed URLs are served over HTTPS vs HTTP — and, for the HTTP ones, why the secure version isn't being used. It's a diagnostic sample, not a full crawl inventory."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/https-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"HubSpot CMS SEO","desc":"HubSpot CMS SEO is the practice of optimizing a site built on HubSpot's Content Hub (renamed from CMS Hub in April 2024) using its built-in SEO tooling — the recommendations panel, auto-generated sitemap, canonical and hreflang controls, robots.txt editor, and HubDB-driven pages — while working around the platform's gaps, like manual schema and one-level URL nesting.","snippetText":"HubSpot CMS SEO is the practice of optimizing a site built on HubSpot's Content Hub (renamed from CMS Hub in April 2024) using its built-in SEO tooling — the recommendations panel, auto-generated sitemap, canonical and hreflang controls, robots.txt editor, and HubDB-driven pages — while working around the platform's gaps, like manual schema and one-level URL nesting.","href":"/technical-seo/platform-seo/cms/hubspot-cms-seo/#glossary","slug":"hubspot-cms-seo","parentHref":"/technical-seo/platform-seo/cms/hubspot-cms-seo/","meta":"Glossary definition","aliases":["platform-seo","cms"],"taxonomy":["technical-seo","platform-seo"],"text":"HubSpot CMS SEO is the practice of optimizing a site built on HubSpot's Content Hub (renamed from CMS Hub in April 2024) using its built-in SEO tooling — the recommendations panel, auto-generated sitemap, canonical and hreflang controls, robots.txt editor, and HubDB-driven pages — while working around the platform's gaps, like manual schema and one-level URL nesting. platform-seo cms","passages":["HubSpot CMS SEO is the practice of optimizing a site built on HubSpot's Content Hub (renamed from CMS Hub in April 2024) using its built-in SEO tooling — the recommendations panel, auto-generated sitemap, canonical and hreflang controls, robots.txt editor, and HubDB-driven pages — while working around the platform's gaps, like manual schema and one-level URL nesting."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/hubspot-cms-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Hugo SEO","desc":"Hugo SEO is the practice of optimizing sites built with Hugo, the Go-based static site generator. Hugo outputs finished HTML at build time, so content is in the raw HTML on the first fetch — but that alone doesn't guarantee good Core Web Vitals or rankings, and canonicals, taxonomy duplication, and aliases-vs-301s still need hands-on configuration.","snippetText":"Hugo SEO is the practice of optimizing sites built with Hugo, the Go-based static site generator. Hugo outputs finished HTML at build time, so content is in the raw HTML on the first fetch — but that alone doesn't guarantee good Core Web Vitals or rankings, and canonicals, taxonomy duplication, and aliases-vs-301s still need hands-on configuration.","href":"/technical-seo/platform-seo/static-site-generators/hugo-seo/#glossary","slug":"hugo-seo","parentHref":"/technical-seo/platform-seo/static-site-generators/hugo-seo/","meta":"Glossary definition","aliases":["static-site-generator","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Hugo SEO is the practice of optimizing sites built with Hugo, the Go-based static site generator. Hugo outputs finished HTML at build time, so content is in the raw HTML on the first fetch — but that alone doesn't guarantee good Core Web Vitals or rankings, and canonicals, taxonomy duplication, and aliases-vs-301s still need hands-on configuration. static-site-generator javascript-seo","passages":["Hugo SEO is the practice of optimizing sites built with Hugo, the Go-based static site generator. Hugo outputs finished HTML at build time, so content is in the raw HTML on the first fetch — but that alone doesn't guarantee good Core Web Vitals or rankings, and canonicals, taxonomy duplication, and aliases-vs-301s still need hands-on configuration."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/hugo-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Hybrid Search","desc":"Hybrid search runs keyword (lexical/BM25) search and vector (semantic) search together, then merges the two result lists into one ranking — commonly with Reciprocal Rank Fusion — so it catches both exact-term matches and meaning-based matches that either method alone would miss.","snippetText":"Hybrid search runs keyword (lexical/BM25) search and vector (semantic) search together, then merges the two result lists into one ranking — commonly with Reciprocal Rank Fusion — so it catches both exact-term matches and meaning-based matches that either method alone would miss.","href":"/ai-search/how-search-works/hybrid-search/#glossary","slug":"hybrid-search","parentHref":"/ai-search/how-search-works/hybrid-search/","meta":"Glossary definition","aliases":["vector-search","semantic-search","embeddings"],"taxonomy":["ai-search","how-search-works"],"text":"Hybrid search runs keyword (lexical/BM25) search and vector (semantic) search together, then merges the two result lists into one ranking — commonly with Reciprocal Rank Fusion — so it catches both exact-term matches and meaning-based matches that either method alone would miss. vector-search semantic-search embeddings","passages":["Hybrid search runs keyword (lexical/BM25) search and vector (semantic) search together, then merges the two result lists into one ranking — commonly with Reciprocal Rank Fusion — so it catches both exact-term matches and meaning-based matches that either method alone would miss."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/hybrid-search/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Image Format","desc":"The file encoding used to store an image (JPEG, PNG, WebP, AVIF, SVG, GIF) — it drives file size and Core Web Vitals, but carries no direct ranking weight.","snippetText":"The file encoding used to store an image (JPEG, PNG, WebP, AVIF, SVG, GIF) — it drives file size and Core Web Vitals, but carries no direct ranking weight.","href":"/technical-seo/on-page/image-seo/image-formats/#glossary","slug":"image-formats","parentHref":"/technical-seo/on-page/image-seo/image-formats/","meta":"Glossary definition","aliases":["Image SEO","Image Optimization","Responsive Images","Core Web Vitals","lcp"],"taxonomy":["technical-seo","on-page"],"text":"The file encoding used to store an image (JPEG, PNG, WebP, AVIF, SVG, GIF) — it drives file size and Core Web Vitals, but carries no direct ranking weight. Image SEO Image Optimization Responsive Images Core Web Vitals lcp","passages":["The file encoding used to store an image (JPEG, PNG, WebP, AVIF, SVG, GIF) — it drives file size and Core Web Vitals, but carries no direct ranking weight."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/image-formats/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Image SEO","desc":"Image SEO is optimizing the images on your pages so search engines can discover, crawl, index, and rank them — in Google Images and visual search, and as part of standard web results. It spans file format, filenames, alt text, compression, responsive markup, structured data, and image sitemaps.","snippetText":"Image SEO is optimizing the images on your pages so search engines can discover, crawl, index, and rank them — in Google Images and visual search, and as part of standard web results. It spans file format, filenames, alt text, compression, responsive markup, structured data, and image sitemaps.","href":"/technical-seo/on-page/image-seo/#glossary","slug":"image-seo","parentHref":"/technical-seo/on-page/image-seo/","meta":"Glossary definition","aliases":["alt-text","image-sitemaps","core-web-vitals","structured-data"],"taxonomy":["technical-seo","on-page"],"text":"Image SEO is optimizing the images on your pages so search engines can discover, crawl, index, and rank them — in Google Images and visual search, and as part of standard web results. It spans file format, filenames, alt text, compression, responsive markup, structured data, and image sitemaps. alt-text image-sitemaps core-web-vitals structured-data","passages":["Image SEO is optimizing the images on your pages so search engines can discover, crawl, index, and rank them — in Google Images and visual search, and as part of standard web results. It spans file format, filenames, alt text, compression, responsive markup, structured data, and image sitemaps."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Image sitemap","desc":"An image sitemap is a sitemap (or an extension added to an existing sitemap) that lists the images on your pages using Google's image namespace, helping Google discover images it might otherwise miss.","snippetText":"An image sitemap is a sitemap (or an extension added to an existing sitemap) that lists the images on your pages using Google's image namespace, helping Google discover images it might otherwise miss.","href":"/technical-seo/how-search-works/discovery/sitemaps/image-sitemaps/#glossary","slug":"image-sitemaps","parentHref":"/technical-seo/how-search-works/discovery/sitemaps/image-sitemaps/","meta":"Glossary definition","aliases":["sitemaps","xml-sitemaps","video-sitemaps"],"taxonomy":["technical-seo","how-search-works"],"text":"An image sitemap is a sitemap (or an extension added to an existing sitemap) that lists the images on your pages using Google's image namespace, helping Google discover images it might otherwise miss. sitemaps xml-sitemaps video-sitemaps","passages":["An image sitemap is a sitemap (or an extension added to an existing sitemap) that lists the images on your pages using Google's image namespace, helping Google discover images it might otherwise miss."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/image-sitemaps/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"ImageObject schema","desc":"ImageObject is the schema.org type that describes an image as structured data. It's rarely used alone — its main job is as the value of an image or logo property nested inside another type (Product.image, Article.image, Recipe.image, Organization.logo). You upgrade a plain image URL to a full ImageObject when you want to attach metadata: who owns the image, how it can be licensed, its caption, or its dimensions. Adding the license property is what makes an image eligible for Google's Licensable badge.","snippetText":"ImageObject is the schema.org type that describes an image as structured data. It's rarely used alone — its main job is as the value of an image or logo property nested inside another type (Product.image, Article.image, Recipe.image, Organization.logo). You upgrade a plain image URL to a full ImageObject when you want to attach metadata: who owns the image, how it can be licensed, its caption, or its dimensions. Adding the license property is what makes an image eligible for Google's Licensable badge.","href":"/technical-seo/on-page/structured-data/creative-works/imageobject-schema/#glossary","slug":"imageobject-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/imageobject-schema/","meta":"Glossary definition","aliases":["structured data","creative works schema","image SEO"],"taxonomy":["technical-seo","on-page"],"text":"ImageObject is the schema.org type that describes an image as structured data. It's rarely used alone — its main job is as the value of an image or logo property nested inside another type (Product.image, Article.image, Recipe.image, Organization.logo). You upgrade a plain image URL to a full ImageObject when you want to attach metadata: who owns the image, how it can be licensed, its caption, or its dimensions. Adding the license property is what makes an image eligible for Google's Licensable badge. structured data creative works schema image SEO","passages":["ImageObject is the schema.org type that describes an image as structured data. It's rarely used alone — its main job is as the value of an image or logo property nested inside another type (Product.image, Article.image, Recipe.image, Organization.logo). You upgrade a plain image URL to a full ImageObject when you want to attach metadata: who owns the image, how it can be licensed, its caption, or its dimensions. Adding the license property is what makes an image eligible for Google's Licensable badge."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/imageobject-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Index Bloat","desc":"An SEO term for when a search engine has indexed a lot of low-value, thin, or duplicate URLs that don't serve search demand. It's a quality and crawl-efficiency problem, not a penalty.","snippetText":"An SEO term for when a search engine has indexed a lot of low-value, thin, or duplicate URLs that don't serve search demand. It's a quality and crawl-efficiency problem, not a penalty.","href":"/technical-seo/how-search-works/indexing/index-bloat/#glossary","slug":"index-bloat","parentHref":"/technical-seo/how-search-works/indexing/index-bloat/","meta":"Glossary definition","aliases":["Indexing","Canonicalization"],"taxonomy":["technical-seo","how-search-works"],"text":"An SEO term for when a search engine has indexed a lot of low-value, thin, or duplicate URLs that don't serve search demand. It's a quality and crawl-efficiency problem, not a penalty. Indexing Canonicalization","passages":["An SEO term for when a search engine has indexed a lot of low-value, thin, or duplicate URLs that don't serve search demand. It's a quality and crawl-efficiency problem, not a penalty."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/index-bloat/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Index Coverage Report","desc":"The Google Search Console report (renamed from \"Index Coverage\" in 2022) that shows which URLs Google has indexed, which it hasn't, and why. It splits your known URLs into Indexed and Not indexed, grouping the not-indexed ones by reason.","snippetText":"The Google Search Console report (renamed from \"Index Coverage\" in 2022) that shows which URLs Google has indexed, which it hasn't, and why. It splits your known URLs into Indexed and Not indexed, grouping the not-indexed ones by reason.","href":"/technical-seo/tools/search-engine-tools/google-search-console/index-coverage-report/#glossary","slug":"index-coverage-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/index-coverage-report/","meta":"Glossary definition","aliases":["google-search-console","url-inspection-tool","sitemaps-report","indexing"],"taxonomy":["technical-seo","tools"],"text":"The Google Search Console report (renamed from \"Index Coverage\" in 2022) that shows which URLs Google has indexed, which it hasn't, and why. It splits your known URLs into Indexed and Not indexed, grouping the not-indexed ones by reason. google-search-console url-inspection-tool sitemaps-report indexing","passages":["The Google Search Console report (renamed from \"Index Coverage\" in 2022) that shows which URLs Google has indexed, which it hasn't, and why. It splits your known URLs into Indexed and Not indexed, grouping the not-indexed ones by reason."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/index-coverage-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Indexed, though blocked by robots.txt","desc":"A Google Search Console Page Indexing warning: Google indexed the URL anyway despite your robots.txt disallowing crawling it — Google names other pages linking to it as the likely path. robots.txt blocks crawling, not indexing.","snippetText":"A Google Search Console Page Indexing warning: Google indexed the URL anyway despite your robots.txt disallowing crawling it — Google names other pages linking to it as the likely path. robots.txt blocks crawling, not indexing.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/indexed-though-blocked-by-robots-txt/#glossary","slug":"indexed-though-blocked-by-robots-txt","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/indexed-though-blocked-by-robots-txt/","meta":"Glossary definition","aliases":["blocked-by-robots-txt","robots-txt","noindex"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing warning: Google indexed the URL anyway despite your robots.txt disallowing crawling it — Google names other pages linking to it as the likely path. robots.txt blocks crawling, not indexing. blocked-by-robots-txt robots-txt noindex","passages":["A Google Search Console Page Indexing warning: Google indexed the URL anyway despite your robots.txt disallowing crawling it — Google names other pages linking to it as the likely path. robots.txt blocks crawling, not indexing."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/indexed-though-blocked-by-robots-txt/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Indexing","desc":"Storing a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.","snippetText":"Storing a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.","href":"/technical-seo/how-search-works/indexing/#glossary","slug":"indexing","parentHref":"/technical-seo/how-search-works/indexing/","meta":"Glossary definition","aliases":["Canonicalization","Duplicate Content","Crawling"],"taxonomy":["technical-seo","how-search-works"],"text":"Storing a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. Canonicalization Duplicate Content Crawling","passages":["Storing a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Indexing at Scale","desc":"Indexing at scale is the set of practices — sitemap segmentation, crawl-budget management, log-file and Page Indexing monitoring, and quality gating — used to get large or programmatic URL sets (thousands to millions of pages) reliably crawled and indexed, instead of managing indexing page by page.","snippetText":"Indexing at scale is the set of practices — sitemap segmentation, crawl-budget management, log-file and Page Indexing monitoring, and quality gating — used to get large or programmatic URL sets (thousands to millions of pages) reliably crawled and indexed, instead of managing indexing page by page.","href":"/programmatic-seo/indexing-at-scale/#glossary","slug":"indexing-at-scale","parentHref":"/programmatic-seo/indexing-at-scale/","meta":"Glossary definition","aliases":["crawl-budget","indexing","index-bloat"],"taxonomy":["programmatic-seo"],"text":"Indexing at scale is the set of practices — sitemap segmentation, crawl-budget management, log-file and Page Indexing monitoring, and quality gating — used to get large or programmatic URL sets (thousands to millions of pages) reliably crawled and indexed, instead of managing indexing page by page. crawl-budget indexing index-bloat","passages":["Indexing at scale is the set of practices — sitemap segmentation, crawl-budget management, log-file and Page Indexing monitoring, and quality gating — used to get large or programmatic URL sets (thousands to millions of pages) reliably crawled and indexed, instead of managing indexing page by page."],"popular":0,"url":"https://patrickstox.com/programmatic-seo/indexing-at-scale/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"IndexNow","desc":"IndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it.","snippetText":"IndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it.","href":"/technical-seo/how-search-works/discovery/indexnow/#glossary","slug":"indexnow","parentHref":"/technical-seo/how-search-works/discovery/indexnow/","meta":"Glossary definition","aliases":["crawling","crawl-frequency"],"taxonomy":["technical-seo","how-search-works"],"text":"IndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. crawling crawl-frequency","passages":["IndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/indexnow/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Infinite Scroll","desc":"Infinite scroll is a loading pattern where content appears automatically as a user scrolls, instead of via numbered pages. Because Googlebot doesn't scroll or click, indexable infinite scroll needs real per-chunk URLs (paginated loading) that update via the History API — otherwise deep content may never be crawled, or worse, get merged into the wrong page.","snippetText":"Infinite scroll is a loading pattern where content appears automatically as a user scrolls, instead of via numbered pages. Because Googlebot doesn't scroll or click, indexable infinite scroll needs real per-chunk URLs (paginated loading) that update via the History API — otherwise deep content may never be crawled, or worse, get merged into the wrong page.","href":"/technical-seo/javascript-seo/infinite-scroll/#glossary","slug":"infinite-scroll","parentHref":"/technical-seo/javascript-seo/infinite-scroll/","meta":"Glossary definition","aliases":["javascript-seo","pagination","lazy-loading"],"taxonomy":["technical-seo","javascript-seo"],"text":"Infinite scroll is a loading pattern where content appears automatically as a user scrolls, instead of via numbered pages. Because Googlebot doesn't scroll or click, indexable infinite scroll needs real per-chunk URLs (paginated loading) that update via the History API — otherwise deep content may never be crawled, or worse, get merged into the wrong page. javascript-seo pagination lazy-loading","passages":["Infinite scroll is a loading pattern where content appears automatically as a user scrolls, instead of via numbered pages. Because Googlebot doesn't scroll or click, indexable infinite scroll needs real per-chunk URLs (paginated loading) that update via the History API — otherwise deep content may never be crawled, or worse, get merged into the wrong page."],"popular":0,"url":"https://patrickstox.com/technical-seo/javascript-seo/infinite-scroll/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Information Gain","desc":"Information gain is how much new information a page adds beyond what a searcher has already seen in prior results on the same topic — novelty relative to the existing corpus, not general content quality. The term comes from a granted Google patent that Google has never confirmed using in live ranking.","snippetText":"Information gain is how much new information a page adds beyond what a searcher has already seen in prior results on the same topic — novelty relative to the existing corpus, not general content quality. The term comes from a granted Google patent that Google has never confirmed using in live ranking.","href":"/ai-search/optimization/information-gain/#glossary","slug":"information-gain","parentHref":"/ai-search/optimization/information-gain/","meta":"Glossary definition","aliases":["entity-seo","generative-engine-optimization","answer-engine-optimization","helpful-content-update"],"taxonomy":["ai-search","optimization"],"text":"Information gain is how much new information a page adds beyond what a searcher has already seen in prior results on the same topic — novelty relative to the existing corpus, not general content quality. The term comes from a granted Google patent that Google has never confirmed using in live ranking. entity-seo generative-engine-optimization answer-engine-optimization helpful-content-update","passages":["Information gain is how much new information a page adds beyond what a searcher has already seen in prior results on the same topic — novelty relative to the existing corpus, not general content quality. The term comes from a granted Google patent that Google has never confirmed using in live ranking."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/information-gain/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"INP","desc":"Interaction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good.","snippetText":"Interaction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good.","href":"/technical-seo/web-performance/web-vitals/core-web-vitals/interaction-to-next-paint/#glossary","slug":"inp","parentHref":"/technical-seo/web-performance/web-vitals/core-web-vitals/interaction-to-next-paint/","meta":"Glossary definition","aliases":["core-web-vitals","tbt","lcp"],"taxonomy":["technical-seo","web-performance"],"text":"Interaction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good. core-web-vitals tbt lcp","passages":["Interaction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/interaction-to-next-paint/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Internal Linking Strategy","desc":"An internal linking strategy is the deliberate, planned process of deciding which pages on a site should link to which others — with what anchor text and in what priority order — before or while you build, rather than adding links ad hoc as you publish.","snippetText":"An internal linking strategy is the deliberate, planned process of deciding which pages on a site should link to which others — with what anchor text and in what priority order — before or while you build, rather than adding links ad hoc as you publish.","href":"/technical-seo/website-structure/internal-links/internal-linking-strategy/#glossary","slug":"internal-linking-strategy","parentHref":"/technical-seo/website-structure/internal-links/internal-linking-strategy/","meta":"Glossary definition","aliases":["internal-links","site-architecture","anchor-text","website-structure"],"taxonomy":["technical-seo","website-structure"],"text":"An internal linking strategy is the deliberate, planned process of deciding which pages on a site should link to which others — with what anchor text and in what priority order — before or while you build, rather than adding links ad hoc as you publish. internal-links site-architecture anchor-text website-structure","passages":["An internal linking strategy is the deliberate, planned process of deciding which pages on a site should link to which others — with what anchor text and in what priority order — before or while you build, rather than adding links ad hoc as you publish."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/internal-links/internal-linking-strategy/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Internal Link","desc":"An internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them.","snippetText":"An internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them.","href":"/technical-seo/website-structure/internal-links/#glossary","slug":"internal-links","parentHref":"/technical-seo/website-structure/internal-links/","meta":"Glossary definition","aliases":["internal-linking","pagerank","anchor-text","crawl-budget"],"taxonomy":["technical-seo","website-structure"],"text":"An internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. internal-linking pagerank anchor-text crawl-budget","passages":["An internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/internal-links/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"International SEO","desc":"International SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization.","snippetText":"International SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization.","href":"/international-seo/#glossary","slug":"international-seo","parentHref":"/international-seo/","meta":"Glossary definition","aliases":["hreflang","multilingual-seo","x-default"],"taxonomy":["international-seo"],"text":"International SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization. hreflang multilingual-seo x-default","passages":["International SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization."],"popular":0,"url":"https://patrickstox.com/international-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Interstitials","desc":"In SEO, interstitials are full-page popups or overlays that block the main content of a page. Google demotes pages with intrusive interstitials shown on the transition from a search click — a page-level signal, with legal gates, login walls, and small dismissible banners exempted.","snippetText":"In SEO, interstitials are full-page popups or overlays that block the main content of a page. Google demotes pages with intrusive interstitials shown on the transition from a search click — a page-level signal, with legal gates, login walls, and small dismissible banners exempted.","href":"/technical-seo/mobile-seo/interstitials/#glossary","slug":"interstitials","parentHref":"/technical-seo/mobile-seo/interstitials/","meta":"Glossary definition","aliases":["core-web-vitals","mobile-seo"],"taxonomy":["technical-seo","mobile-seo"],"text":"In SEO, interstitials are full-page popups or overlays that block the main content of a page. Google demotes pages with intrusive interstitials shown on the transition from a search click — a page-level signal, with legal gates, login walls, and small dismissible banners exempted. core-web-vitals mobile-seo","passages":["In SEO, interstitials are full-page popups or overlays that block the main content of a page. Google demotes pages with intrusive interstitials shown on the transition from a search click — a page-level signal, with legal gates, login walls, and small dismissible banners exempted."],"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/interstitials/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"ItemList Schema","desc":"ItemList is a schema.org type — a generic container for an ordered or unordered list of items ('a list of items of any sort'). Two properties do most of the work: itemListElement (the array of entries, usually ListItem objects) and position (a 1-based rank on each item). It's the underlying mechanism Google's Carousel rich result is built on, and BreadcrumbList is formally a subtype of it — but ItemList by itself is not a rich result and doesn't affect rankings.","snippetText":"ItemList is a schema.org type — a generic container for an ordered or unordered list of items ('a list of items of any sort'). Two properties do most of the work: itemListElement (the array of entries, usually ListItem objects) and position (a 1-based rank on each item). It's the underlying mechanism Google's Carousel rich result is built on, and BreadcrumbList is formally a subtype of it — but ItemList by itself is not a rich result and doesn't affect rankings.","href":"/technical-seo/on-page/structured-data/itemlist-schema/#glossary","slug":"itemlist-schema","parentHref":"/technical-seo/on-page/structured-data/itemlist-schema/","meta":"Glossary definition","aliases":["structured-data","breadcrumblist-schema","carousel-schema"],"taxonomy":["technical-seo","on-page"],"text":"ItemList is a schema.org type — a generic container for an ordered or unordered list of items ('a list of items of any sort'). Two properties do most of the work: itemListElement (the array of entries, usually ListItem objects) and position (a 1-based rank on each item). It's the underlying mechanism Google's Carousel rich result is built on, and BreadcrumbList is formally a subtype of it — but ItemList by itself is not a rich result and doesn't affect rankings. structured-data breadcrumblist-schema carousel-schema","passages":["ItemList is a schema.org type — a generic container for an ordered or unordered list of items ('a list of items of any sort'). Two properties do most of the work: itemListElement (the array of entries, usually ListItem objects) and position (a 1-based rank on each item). It's the underlying mechanism Google's Carousel rich result is built on, and BreadcrumbList is formally a subtype of it — but ItemList by itself is not a rich result and doesn't affect rankings."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/itemlist-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Japan SEO","desc":"Japan SEO is the practice of optimizing sites to rank in Japan — a market where Google leads and Yahoo! Japan has run on Google's search technology since 2010. The distinctive work is Japanese-language keyword research across kanji, hiragana, katakana, and romaji, plus genuine localization rather than translation.","snippetText":"Japan SEO is the practice of optimizing sites to rank in Japan — a market where Google leads and Yahoo! Japan has run on Google's search technology since 2010. The distinctive work is Japanese-language keyword research across kanji, hiragana, katakana, and romaji, plus genuine localization rather than translation.","href":"/international-seo/market-specific-seo/japan-seo/#glossary","slug":"japan-seo","parentHref":"/international-seo/market-specific-seo/japan-seo/","meta":"Glossary definition","aliases":["market-specific-seo","translation-vs-localization","naver-seo"],"taxonomy":["international-seo","market-specific-seo"],"text":"Japan SEO is the practice of optimizing sites to rank in Japan — a market where Google leads and Yahoo! Japan has run on Google's search technology since 2010. The distinctive work is Japanese-language keyword research across kanji, hiragana, katakana, and romaji, plus genuine localization rather than translation. market-specific-seo translation-vs-localization naver-seo","passages":["Japan SEO is the practice of optimizing sites to rank in Japan — a market where Google leads and Yahoo! Japan has run on Google's search technology since 2010. The distinctive work is Japanese-language keyword research across kanji, hiragana, katakana, and romaji, plus genuine localization rather than translation."],"popular":0,"url":"https://patrickstox.com/international-seo/market-specific-seo/japan-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"JavaScript Redirect","desc":"A JavaScript redirect is a client-side redirect that uses code like window.location.replace() to send a visitor (and crawler) to a different URL. Because it only fires after the page is downloaded and rendered, Google prefers server-side and meta refresh redirects above it.","snippetText":"A JavaScript redirect is a client-side redirect that uses code like window.location.replace() to send a visitor (and crawler) to a different URL. Because it only fires after the page is downloaded and rendered, Google prefers server-side and meta refresh redirects above it.","href":"/technical-seo/how-search-works/crawling/javascript-redirect/#glossary","slug":"javascript-redirect","parentHref":"/technical-seo/how-search-works/crawling/javascript-redirect/","meta":"Glossary definition","aliases":["rendering","canonicalization"],"taxonomy":["technical-seo","how-search-works"],"text":"A JavaScript redirect is a client-side redirect that uses code like window.location.replace() to send a visitor (and crawler) to a different URL. Because it only fires after the page is downloaded and rendered, Google prefers server-side and meta refresh redirects above it. rendering canonicalization","passages":["A JavaScript redirect is a client-side redirect that uses code like window.location.replace() to send a visitor (and crawler) to a different URL. Because it only fires after the page is downloaded and rendered, Google prefers server-side and meta refresh redirects above it."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/javascript-redirect/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"JavaScript SEO","desc":"Making sure search engines can crawl, render, and index content that depends on JavaScript.","snippetText":"Making sure search engines can crawl, render, and index content that depends on JavaScript.","href":"/technical-seo/javascript-seo/#glossary","slug":"javascript-seo","parentHref":"/technical-seo/javascript-seo/","meta":"Glossary definition","aliases":["Rendering","Hydration"],"taxonomy":["technical-seo","javascript-seo"],"text":"Making sure search engines can crawl, render, and index content that depends on JavaScript. Rendering Hydration","passages":["Making sure search engines can crawl, render, and index content that depends on JavaScript."],"popular":0,"url":"https://patrickstox.com/technical-seo/javascript-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Jekyll SEO","desc":"Jekyll SEO is the set of technical and on-page practices for optimizing sites built with Jekyll — the Ruby static site generator that powers GitHub Pages. Jekyll outputs flat HTML with no rendering delay, so the SEO work is configuration: jekyll-seo-tag for metadata, jekyll-sitemap for sitemaps, clean permalinks, and a manual robots.txt.","snippetText":"Jekyll SEO is the set of technical and on-page practices for optimizing sites built with Jekyll — the Ruby static site generator that powers GitHub Pages. Jekyll outputs flat HTML with no rendering delay, so the SEO work is configuration: jekyll-seo-tag for metadata, jekyll-sitemap for sitemaps, clean permalinks, and a manual robots.txt.","href":"/technical-seo/platform-seo/static-site-generators/jekyll-seo/#glossary","slug":"jekyll-seo","parentHref":"/technical-seo/platform-seo/static-site-generators/jekyll-seo/","meta":"Glossary definition","aliases":["static-site-generators","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Jekyll SEO is the set of technical and on-page practices for optimizing sites built with Jekyll — the Ruby static site generator that powers GitHub Pages. Jekyll outputs flat HTML with no rendering delay, so the SEO work is configuration: jekyll-seo-tag for metadata, jekyll-sitemap for sitemaps, clean permalinks, and a manual robots.txt. static-site-generators javascript-seo","passages":["Jekyll SEO is the set of technical and on-page practices for optimizing sites built with Jekyll — the Ruby static site generator that powers GitHub Pages. Jekyll outputs flat HTML with no rendering delay, so the SEO work is configuration: jekyll-seo-tag for metadata, jekyll-sitemap for sitemaps, clean permalinks, and a manual robots.txt."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/jekyll-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Jimdo SEO","desc":"Jimdo SEO is the practice of optimizing a website built on Jimdo's hosted website-building platform to rank in organic search. Jimdo handles the technical baseline automatically — HTTPS, a Cloudflare CDN, an XML sitemap, canonical tags, mobile-responsive templates, and 404 pages — but its closed architecture imposes hard limits: no robots.txt editing, no native schema markup, no sitemap customization, and no hreflang. The platform exists as two products with different SEO ceilings: Jimdo Creator (the older editor, with a blog and custom HTML injection) and the newer AI builder (formerly Dolphin), which has no blog and no custom code.","snippetText":"Jimdo SEO is the practice of optimizing a website built on Jimdo's hosted website-building platform to rank in organic search. Jimdo handles the technical baseline automatically — HTTPS, a Cloudflare CDN, an XML sitemap, canonical tags, mobile-responsive templates, and 404 pages — but its closed architecture imposes hard limits: no robots.txt editing, no native schema markup, no sitemap customization, and no hreflang. The platform exists as two products with different SEO ceilings: Jimdo Creator (the older editor, with a blog and custom HTML injection) and the newer AI builder (formerly Dolphi","href":"/technical-seo/platform-seo/website-builders/jimdo-seo/#glossary","slug":"jimdo-seo","parentHref":"/technical-seo/platform-seo/website-builders/jimdo-seo/","meta":"Glossary definition","aliases":["platform-seo","website-builders","structured-data","canonicalization"],"taxonomy":["technical-seo","platform-seo"],"text":"Jimdo SEO is the practice of optimizing a website built on Jimdo's hosted website-building platform to rank in organic search. Jimdo handles the technical baseline automatically — HTTPS, a Cloudflare CDN, an XML sitemap, canonical tags, mobile-responsive templates, and 404 pages — but its closed architecture imposes hard limits: no robots.txt editing, no native schema markup, no sitemap customization, and no hreflang. The platform exists as two products with different SEO ceilings: Jimdo Creator (the older editor, with a blog and custom HTML injection) and the newer AI builder (formerly Dolphin), which has no blog and no custom code. platform-seo website-builders structured-data canonicalization","passages":["Jimdo SEO is the practice of optimizing a website built on Jimdo's hosted website-building platform to rank in organic search. Jimdo handles the technical baseline automatically — HTTPS, a Cloudflare CDN, an XML sitemap, canonical tags, mobile-responsive templates, and 404 pages — but its closed architecture imposes hard limits: no robots.txt editing, no native schema markup, no sitemap customization, and no hreflang. The platform exists as two products with different SEO ceilings: Jimdo Creator (the older editor, with a blog and custom HTML injection) and the newer AI builder (formerly Dolphin), which has no blog and no custom code."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/jimdo-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"JobPosting Schema","desc":"JobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles).","snippetText":"JobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles).","href":"/technical-seo/on-page/structured-data/commerce/jobposting-schema/#glossary","slug":"jobposting-schema","parentHref":"/technical-seo/on-page/structured-data/commerce/jobposting-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","product-page-seo"],"taxonomy":["technical-seo","on-page"],"text":"JobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles). schema-markup structured-data product-page-seo","passages":["JobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles)."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/jobposting-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Joomla SEO","desc":"Joomla SEO is the practice of optimizing sites built on the Joomla CMS — enabling SEF URLs (which requires renaming htaccess.txt to .htaccess), fixing the duplicate content Joomla creates by default, and adding sitemaps and schema, mostly via extensions like Route66 or 4SEO.","snippetText":"Joomla SEO is the practice of optimizing sites built on the Joomla CMS — enabling SEF URLs (which requires renaming htaccess.txt to .htaccess), fixing the duplicate content Joomla creates by default, and adding sitemaps and schema, mostly via extensions like Route66 or 4SEO.","href":"/technical-seo/platform-seo/cms/joomla-seo/#glossary","slug":"joomla-seo","parentHref":"/technical-seo/platform-seo/cms/joomla-seo/","meta":"Glossary definition","aliases":["duplicate-content","canonical-tag"],"taxonomy":["technical-seo","platform-seo"],"text":"Joomla SEO is the practice of optimizing sites built on the Joomla CMS — enabling SEF URLs (which requires renaming htaccess.txt to .htaccess), fixing the duplicate content Joomla creates by default, and adding sitemaps and schema, mostly via extensions like Route66 or 4SEO. duplicate-content canonical-tag","passages":["Joomla SEO is the practice of optimizing sites built on the Joomla CMS — enabling SEF URLs (which requires renaming htaccess.txt to .htaccess), fixing the duplicate content Joomla creates by default, and adding sitemaps and schema, mostly via extensions like Route66 or 4SEO."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/joomla-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"JavaScript Frameworks","desc":"JavaScript frameworks — React, Vue, Angular, Next.js, Nuxt, Svelte, Astro — are libraries or meta-frameworks for building web UIs. Their SEO impact depends on rendering mode: SSR and SSG deliver pre-rendered HTML; CSR-only apps require Googlebot to execute JavaScript before it can index content.","snippetText":"JavaScript frameworks — React, Vue, Angular, Next.js, Nuxt, Svelte, Astro — are libraries or meta-frameworks for building web UIs. Their SEO impact depends on rendering mode: SSR and SSG deliver pre-rendered HTML; CSR-only apps require Googlebot to execute JavaScript before it can index content.","href":"/technical-seo/platform-seo/js-frameworks/#glossary","slug":"js-frameworks","parentHref":"/technical-seo/platform-seo/js-frameworks/","meta":"Glossary definition","aliases":["javascript-seo","headless-cms"],"taxonomy":["technical-seo","platform-seo"],"text":"JavaScript frameworks — React, Vue, Angular, Next.js, Nuxt, Svelte, Astro — are libraries or meta-frameworks for building web UIs. Their SEO impact depends on rendering mode: SSR and SSG deliver pre-rendered HTML; CSR-only apps require Googlebot to execute JavaScript before it can index content. javascript-seo headless-cms","passages":["JavaScript frameworks — React, Vue, Angular, Next.js, Nuxt, Svelte, Astro — are libraries or meta-frameworks for building web UIs. Their SEO impact depends on rendering mode: SSR and SSG deliver pre-rendered HTML; CSR-only apps require Googlebot to execute JavaScript before it can index content."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"JSON-LD","desc":"JSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal.","snippetText":"JSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal.","href":"/technical-seo/on-page/structured-data/json-ld/#glossary","slug":"json-ld","parentHref":"/technical-seo/on-page/structured-data/json-ld/","meta":"Glossary definition","aliases":["structured-data","schema-markup-for-ai","javascript-seo"],"taxonomy":["technical-seo","on-page"],"text":"JSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. structured-data schema-markup-for-ai javascript-seo","passages":["JSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/json-ld/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Knowledge Cutoff","desc":"A knowledge cutoff (or training data cutoff) is the date after which an LLM was no longer trained on new data. The model has no awareness of anything that happened later — unless the system bolts on live retrieval (RAG/web search) to fetch it at query time.","snippetText":"A knowledge cutoff (or training data cutoff) is the date after which an LLM was no longer trained on new data. The model has no awareness of anything that happened later — unless the system bolts on live retrieval (RAG/web search) to fetch it at query time.","href":"/ai-search/how-search-works/knowledge-cutoff/#glossary","slug":"knowledge-cutoff","parentHref":"/ai-search/how-search-works/knowledge-cutoff/","meta":"Glossary definition","aliases":["rag","grounding","ai-hallucinations"],"taxonomy":["ai-search","how-search-works"],"text":"A knowledge cutoff (or training data cutoff) is the date after which an LLM was no longer trained on new data. The model has no awareness of anything that happened later — unless the system bolts on live retrieval (RAG/web search) to fetch it at query time. rag grounding ai-hallucinations","passages":["A knowledge cutoff (or training data cutoff) is the date after which an LLM was no longer trained on new data. The model has no awareness of anything that happened later — unless the system bolts on live retrieval (RAG/web search) to fetch it at query time."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/knowledge-cutoff/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Knowledge Graph","desc":"The Knowledge Graph is Google's database of entities — people, places, organizations, and things — and the factual relationships between them. It's separate from any single website's structured data: your schema markup is one of many possible inputs to the graph, not the graph itself.","snippetText":"The Knowledge Graph is Google's database of entities — people, places, organizations, and things — and the factual relationships between them. It's separate from any single website's structured data: your schema markup is one of many possible inputs to the graph, not the graph itself.","href":"/ai-search/optimization/knowledge-graph-seo/#glossary","slug":"knowledge-graph-seo","parentHref":"/ai-search/optimization/knowledge-graph-seo/","meta":"Glossary definition","aliases":["entity-seo","entities","structured-data"],"taxonomy":["ai-search","optimization"],"text":"The Knowledge Graph is Google's database of entities — people, places, organizations, and things — and the factual relationships between them. It's separate from any single website's structured data: your schema markup is one of many possible inputs to the graph, not the graph itself. entity-seo entities structured-data","passages":["The Knowledge Graph is Google's database of entities — people, places, organizations, and things — and the factual relationships between them. It's separate from any single website's structured data: your schema markup is one of many possible inputs to the graph, not the graph itself."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/knowledge-graph-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Lazy Loading","desc":"Lazy loading defers loading of off-screen or non-critical resources — usually images and iframes — until they're about to enter the viewport. The native way to do it is the loading=\"lazy\" HTML attribute, which needs no JavaScript.","snippetText":"Lazy loading defers loading of off-screen or non-critical resources — usually images and iframes — until they're about to enter the viewport. The native way to do it is the loading=\"lazy\" HTML attribute, which needs no JavaScript.","href":"/technical-seo/web-performance/lazy-loading/#glossary","slug":"lazy-loading","parentHref":"/technical-seo/web-performance/lazy-loading/","meta":"Glossary definition","aliases":["core-web-vitals","lcp"],"taxonomy":["technical-seo","web-performance"],"text":"Lazy loading defers loading of off-screen or non-critical resources — usually images and iframes — until they're about to enter the viewport. The native way to do it is the loading=\"lazy\" HTML attribute, which needs no JavaScript. core-web-vitals lcp","passages":["Lazy loading defers loading of off-screen or non-critical resources — usually images and iframes — until they're about to enter the viewport. The native way to do it is the loading=\"lazy\" HTML attribute, which needs no JavaScript."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/lazy-loading/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"LCP","desc":"Largest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good.","snippetText":"Largest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good.","href":"/technical-seo/web-performance/web-vitals/core-web-vitals/largest-contentful-paint/#glossary","slug":"lcp","parentHref":"/technical-seo/web-performance/web-vitals/core-web-vitals/largest-contentful-paint/","meta":"Glossary definition","aliases":["core-web-vitals","ttfb","fcp"],"taxonomy":["technical-seo","web-performance"],"text":"Largest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good. core-web-vitals ttfb fcp","passages":["Largest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/largest-contentful-paint/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Lighthouse","desc":"Lighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal.","snippetText":"Lighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal.","href":"/technical-seo/web-performance/web-performance-tools/lighthouse/#glossary","slug":"lighthouse","parentHref":"/technical-seo/web-performance/web-performance-tools/lighthouse/","meta":"Glossary definition","aliases":["pagespeed-insights","core-web-vitals","tbt"],"taxonomy":["technical-seo","web-performance"],"text":"Lighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal. pagespeed-insights core-web-vitals tbt","passages":["Lighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/lighthouse/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Large Language Model (LLM)","desc":"A large language model (LLM) is a deep-learning model trained on massive text corpora to predict the next token and generate human-like text. LLMs use the transformer architecture and power AI search features like Google's AI Overviews (Gemini) and Bing Copilot (GPT-4).","snippetText":"A large language model (LLM) is a deep-learning model trained on massive text corpora to predict the next token and generate human-like text. LLMs use the transformer architecture and power AI search features like Google's AI Overviews (Gemini) and Bing Copilot (GPT-4).","href":"/ai-search/how-search-works/llm/#glossary","slug":"llm","parentHref":"/ai-search/how-search-works/llm/","meta":"Glossary definition","aliases":["rag","grounding","knowledge-cutoff","embeddings","ai-hallucinations"],"taxonomy":["ai-search","how-search-works"],"text":"A large language model (LLM) is a deep-learning model trained on massive text corpora to predict the next token and generate human-like text. LLMs use the transformer architecture and power AI search features like Google's AI Overviews (Gemini) and Bing Copilot (GPT-4). rag grounding knowledge-cutoff embeddings ai-hallucinations","passages":["A large language model (LLM) is a deep-learning model trained on massive text corpora to predict the next token and generate human-like text. LLMs use the transformer architecture and power AI search features like Google's AI Overviews (Gemini) and Bing Copilot (GPT-4)."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/llm/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"LLM Visibility","desc":"LLM visibility (or AI visibility) is the aggregate measure of how often and how prominently a brand or page shows up in AI-generated answers — across AI Overviews, ChatGPT, Perplexity, Copilot, and Gemini. It's the AI-search analog of organic visibility, but it's driven by different signals.","snippetText":"LLM visibility (or AI visibility) is the aggregate measure of how often and how prominently a brand or page shows up in AI-generated answers — across AI Overviews, ChatGPT, Perplexity, Copilot, and Gemini. It's the AI-search analog of organic visibility, but it's driven by different signals.","href":"/ai-search/measurement-and-reporting/llm-visibility/#glossary","slug":"llm-visibility","parentHref":"/ai-search/measurement-and-reporting/llm-visibility/","meta":"Glossary definition","aliases":["ai-share-of-voice","retrieved-mentioned-cited","measurement-and-reporting"],"taxonomy":["ai-search","measurement-and-reporting"],"text":"LLM visibility (or AI visibility) is the aggregate measure of how often and how prominently a brand or page shows up in AI-generated answers — across AI Overviews, ChatGPT, Perplexity, Copilot, and Gemini. It's the AI-search analog of organic visibility, but it's driven by different signals. ai-share-of-voice retrieved-mentioned-cited measurement-and-reporting","passages":["LLM visibility (or AI visibility) is the aggregate measure of how often and how prominently a brand or page shows up in AI-generated answers — across AI Overviews, ChatGPT, Perplexity, Copilot, and Gemini. It's the AI-search analog of organic visibility, but it's driven by different signals."],"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/llm-visibility/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"llms.txt","desc":"llms.txt is a proposed (not adopted) Markdown file at /llms.txt that gives AI systems a curated map of a site's most important pages. Proposed by Jeremy Howard in 2024, it's read mostly by coding agents like Claude Code — not search crawlers — and Google ignores it.","snippetText":"llms.txt is a proposed (not adopted) Markdown file at /llms.txt that gives AI systems a curated map of a site's most important pages. Proposed by Jeremy Howard in 2024, it's read mostly by coding agents like Claude Code — not search crawlers — and Google ignores it.","href":"/ai-search/optimization/llms-txt/#glossary","slug":"llms-txt","parentHref":"/ai-search/optimization/llms-txt/","meta":"Glossary definition","aliases":["ai-crawlers","crawling"],"taxonomy":["ai-search","optimization"],"text":"llms.txt is a proposed (not adopted) Markdown file at /llms.txt that gives AI systems a curated map of a site's most important pages. Proposed by Jeremy Howard in 2024, it's read mostly by coding agents like Claude Code — not search crawlers — and Google ignores it. ai-crawlers crawling","passages":["llms.txt is a proposed (not adopted) Markdown file at /llms.txt that gives AI systems a curated map of a site's most important pages. Proposed by Jeremy Howard in 2024, it's read mostly by coding agents like Claude Code — not search crawlers — and Google ignores it."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/llms-txt/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"LocalBusiness Schema","desc":"LocalBusiness schema (schema.org/LocalBusiness) is structured data — usually JSON-LD — that describes a physical business to search engines: its name, address, phone, hours, geo-coordinates, and price range. Google requires only name and address, consumes about a dozen recommended properties, and treats it as a corroborating signal, not a substitute for a Google Business Profile.","snippetText":"LocalBusiness schema (schema.org/LocalBusiness) is structured data — usually JSON-LD — that describes a physical business to search engines: its name, address, phone, hours, geo-coordinates, and price range. Google requires only name and address, consumes about a dozen recommended properties, and treats it as a corroborating signal, not a substitute for a Google Business Profile.","href":"/technical-seo/on-page/structured-data/entities/localbusiness-schema/#glossary","slug":"localbusiness-schema","parentHref":"/technical-seo/on-page/structured-data/entities/localbusiness-schema/","meta":"Glossary definition","aliases":["schema-markup","entities","organization-schema","person-schema"],"taxonomy":["technical-seo","on-page"],"text":"LocalBusiness schema (schema.org/LocalBusiness) is structured data — usually JSON-LD — that describes a physical business to search engines: its name, address, phone, hours, geo-coordinates, and price range. Google requires only name and address, consumes about a dozen recommended properties, and treats it as a corroborating signal, not a substitute for a Google Business Profile. schema-markup entities organization-schema person-schema","passages":["LocalBusiness schema (schema.org/LocalBusiness) is structured data — usually JSON-LD — that describes a physical business to search engines: its name, address, phone, hours, geo-coordinates, and price range. Google requires only name and address, consumes about a dozen recommended properties, and treats it as a corroborating signal, not a substitute for a Google Business Profile."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/localbusiness-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Localization","desc":"Localization is adapting content for a specific target market — not just translating the words, but adjusting currency, formats, idioms, cultural references, local search terms, and trust signals so the experience feels native.","snippetText":"Localization is adapting content for a specific target market — not just translating the words, but adjusting currency, formats, idioms, cultural references, local search terms, and trust signals so the experience feels native.","href":"/international-seo/localization-and-content/translation-vs-localization/#glossary","slug":"localization","parentHref":"/international-seo/localization-and-content/translation-vs-localization/","meta":"Glossary definition","aliases":["multilingual-seo","international-seo","hreflang"],"taxonomy":["international-seo","localization-and-content"],"text":"Localization is adapting content for a specific target market — not just translating the words, but adjusting currency, formats, idioms, cultural references, local search terms, and trust signals so the experience feels native. multilingual-seo international-seo hreflang","passages":["Localization is adapting content for a specific target market — not just translating the words, but adjusting currency, formats, idioms, cultural references, local search terms, and trust signals so the experience feels native."],"popular":0,"url":"https://patrickstox.com/international-seo/localization-and-content/translation-vs-localization/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Log file analysis","desc":"Log file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened.","snippetText":"Log file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened.","href":"/technical-seo/how-search-works/crawling/log-file-analysis/#glossary","slug":"log-file-analysis","parentHref":"/technical-seo/how-search-works/crawling/log-file-analysis/","meta":"Glossary definition","aliases":["crawling","crawl-budget"],"taxonomy":["technical-seo","how-search-works"],"text":"Log file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. crawling crawl-budget","passages":["Log file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/log-file-analysis/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Machine Translation (for SEO)","desc":"Machine translation (MT) is using automated systems — Google Translate, DeepL, Microsoft Translator, or an LLM — to translate a site's content into other languages. It isn't banned for SEO; publishing raw, unreviewed MT in bulk purely to rank is what Google's scaled content abuse policy targets. MT reviewed and edited by a human (MTPE) is standard practice at scale.","snippetText":"Machine translation (MT) is using automated systems — Google Translate, DeepL, Microsoft Translator, or an LLM — to translate a site's content into other languages. It isn't banned for SEO; publishing raw, unreviewed MT in bulk purely to rank is what Google's scaled content abuse policy targets. MT reviewed and edited by a human (MTPE) is standard practice at scale.","href":"/international-seo/localization-and-content/machine-translation-seo/#glossary","slug":"machine-translation-seo","parentHref":"/international-seo/localization-and-content/machine-translation-seo/","meta":"Glossary definition","aliases":["localization","hreflang","duplicate-content"],"taxonomy":["international-seo","localization-and-content"],"text":"Machine translation (MT) is using automated systems — Google Translate, DeepL, Microsoft Translator, or an LLM — to translate a site's content into other languages. It isn't banned for SEO; publishing raw, unreviewed MT in bulk purely to rank is what Google's scaled content abuse policy targets. MT reviewed and edited by a human (MTPE) is standard practice at scale. localization hreflang duplicate-content","passages":["Machine translation (MT) is using automated systems — Google Translate, DeepL, Microsoft Translator, or an LLM — to translate a site's content into other languages. It isn't banned for SEO; publishing raw, unreviewed MT in bulk purely to rank is what Google's scaled content abuse policy targets. MT reviewed and edited by a human (MTPE) is standard practice at scale."],"popular":0,"url":"https://patrickstox.com/international-seo/localization-and-content/machine-translation-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Magento SEO","desc":"Magento SEO is optimizing a store built on Magento — now Adobe Commerce (paid) or Magento Open Source (free), both running the Magento 2 codebase — to rank in organic search. The defining challenge is layered navigation (faceted filtering), which can spawn huge numbers of duplicate parameter URLs.","snippetText":"Magento SEO is optimizing a store built on Magento — now Adobe Commerce (paid) or Magento Open Source (free), both running the Magento 2 codebase — to rank in organic search. The defining challenge is layered navigation (faceted filtering), which can spawn huge numbers of duplicate parameter URLs.","href":"/technical-seo/platform-seo/ecommerce-platforms/magento-seo/#glossary","slug":"magento-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/magento-seo/","meta":"Glossary definition","aliases":["ecommerce-seo","faceted-navigation","duplicate-content"],"taxonomy":["technical-seo","platform-seo"],"text":"Magento SEO is optimizing a store built on Magento — now Adobe Commerce (paid) or Magento Open Source (free), both running the Magento 2 codebase — to rank in organic search. The defining challenge is layered navigation (faceted filtering), which can spawn huge numbers of duplicate parameter URLs. ecommerce-seo faceted-navigation duplicate-content","passages":["Magento SEO is optimizing a store built on Magento — now Adobe Commerce (paid) or Magento Open Source (free), both running the Magento 2 codebase — to rank in organic search. The defining challenge is layered navigation (faceted filtering), which can spawn huge numbers of duplicate parameter URLs."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/magento-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"URL marked 'noindex'","desc":"The Google Search Console Page Indexing status for a page Google crawled and found a noindex directive on — a meta robots tag or an X-Robots-Tag header — so it kept the page out of its index. Often intentional, but a red flag when a noindexed page was submitted in a sitemap.","snippetText":"The Google Search Console Page Indexing status for a page Google crawled and found a noindex directive on — a meta robots tag or an X-Robots-Tag header — so it kept the page out of its index. Often intentional, but a red flag when a noindexed page was submitted in a sitemap.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/marked-noindex/#glossary","slug":"marked-noindex","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/marked-noindex/","meta":"Glossary definition","aliases":["noindex","meta-robots","x-robots-tag"],"taxonomy":["technical-seo","how-search-works"],"text":"The Google Search Console Page Indexing status for a page Google crawled and found a noindex directive on — a meta robots tag or an X-Robots-Tag header — so it kept the page out of its index. Often intentional, but a red flag when a noindexed page was submitted in a sitemap. noindex meta-robots x-robots-tag","passages":["The Google Search Console Page Indexing status for a page Google crawled and found a noindex directive on — a meta robots tag or an X-Robots-Tag header — so it kept the page out of its index. Often intentional, but a red flag when a noindexed page was submitted in a sitemap."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/marked-noindex/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"max-snippet & max-image-preview","desc":"max-snippet, max-image-preview, and max-video-preview are robots directives that tell Google and Bing how much of a page they may show in a result — the snippet length, image-preview size, and video-preview duration — without affecting whether the page is indexed.","snippetText":"max-snippet, max-image-preview, and max-video-preview are robots directives that tell Google and Bing how much of a page they may show in a result — the snippet length, image-preview size, and video-preview duration — without affecting whether the page is indexed.","href":"/technical-seo/on-page/meta-tags/max-snippet-max-image-preview/#glossary","slug":"max-snippet-max-image-preview","parentHref":"/technical-seo/on-page/meta-tags/max-snippet-max-image-preview/","meta":"Glossary definition","aliases":["nosnippet-data-nosnippet","meta-robots","x-robots-tag"],"taxonomy":["technical-seo","on-page"],"text":"max-snippet, max-image-preview, and max-video-preview are robots directives that tell Google and Bing how much of a page they may show in a result — the snippet length, image-preview size, and video-preview duration — without affecting whether the page is indexed. nosnippet-data-nosnippet meta-robots x-robots-tag","passages":["max-snippet, max-image-preview, and max-video-preview are robots directives that tell Google and Bing how much of a page they may show in a result — the snippet length, image-preview size, and video-preview duration — without affecting whether the page is indexed."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/max-snippet-max-image-preview/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Measurement and Reporting","desc":"AI search measurement and reporting is the practice of tracking and communicating how AI search features — AI Overviews, AI Mode, ChatGPT, Perplexity, Gemini, Copilot — affect a brand's visibility, traffic, and revenue. It exists because most AI-referred traffic and exposure is invisible in standard analytics.","snippetText":"AI search measurement and reporting is the practice of tracking and communicating how AI search features — AI Overviews, AI Mode, ChatGPT, Perplexity, Gemini, Copilot — affect a brand's visibility, traffic, and revenue. It exists because most AI-referred traffic and exposure is invisible in standard analytics.","href":"/ai-search/measurement-and-reporting/#glossary","slug":"measurement-and-reporting","parentHref":"/ai-search/measurement-and-reporting/","meta":"Glossary definition","aliases":["ai-share-of-voice","llm-visibility","ai-traffic-attribution"],"taxonomy":["ai-search","measurement-and-reporting"],"text":"AI search measurement and reporting is the practice of tracking and communicating how AI search features — AI Overviews, AI Mode, ChatGPT, Perplexity, Gemini, Copilot — affect a brand's visibility, traffic, and revenue. It exists because most AI-referred traffic and exposure is invisible in standard analytics. ai-share-of-voice llm-visibility ai-traffic-attribution","passages":["AI search measurement and reporting is the practice of tracking and communicating how AI search features — AI Overviews, AI Mode, ChatGPT, Perplexity, Gemini, Copilot — affect a brand's visibility, traffic, and revenue. It exists because most AI-referred traffic and exposure is invisible in standard analytics."],"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Mega Menu","desc":"A mega menu is a large, categorized navigation panel — usually opened by hover or click on a top-level nav item — that surfaces many links at once, grouped into columns instead of the single list a standard dropdown shows.","snippetText":"A mega menu is a large, categorized navigation panel — usually opened by hover or click on a top-level nav item — that surfaces many links at once, grouped into columns instead of the single list a standard dropdown shows.","href":"/technical-seo/website-structure/mega-menu-seo/#glossary","slug":"mega-menu-seo","parentHref":"/technical-seo/website-structure/mega-menu-seo/","meta":"Glossary definition","aliases":["internal-links","site-architecture","website-structure","crawlability"],"taxonomy":["technical-seo","website-structure"],"text":"A mega menu is a large, categorized navigation panel — usually opened by hover or click on a top-level nav item — that surfaces many links at once, grouped into columns instead of the single list a standard dropdown shows. internal-links site-architecture website-structure crawlability","passages":["A mega menu is a large, categorized navigation panel — usually opened by hover or click on a top-level nav item — that surfaces many links at once, grouped into columns instead of the single list a standard dropdown shows."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/mega-menu-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Merchant Center Disapproval","desc":"A Merchant Center disapproval is Google (or Microsoft) refusing to show a product — or, in severe cases, an entire account — across Shopping ads and free listings because the submitted data doesn't match the product data specification, doesn't match the merchant's own website, or violates a Shopping policy. Disapprovals are resolved by fixing the underlying issue and, in most cases, explicitly requesting a review.","snippetText":"A Merchant Center disapproval is Google (or Microsoft) refusing to show a product — or, in severe cases, an entire account — across Shopping ads and free listings because the submitted data doesn't match the product data specification, doesn't match the merchant's own website, or violates a Shopping policy. Disapprovals are resolved by fixing the underlying issue and, in most cases, explicitly requesting a review.","href":"/ecommerce-seo/merchant-center/merchant-center-disapprovals/#glossary","slug":"merchant-center-disapprovals","parentHref":"/ecommerce-seo/merchant-center/merchant-center-disapprovals/","meta":"Glossary definition","aliases":["google-merchant-center","merchant-center-feed-optimization","ecommerce-seo"],"taxonomy":["ecommerce-seo","merchant-center"],"text":"A Merchant Center disapproval is Google (or Microsoft) refusing to show a product — or, in severe cases, an entire account — across Shopping ads and free listings because the submitted data doesn't match the product data specification, doesn't match the merchant's own website, or violates a Shopping policy. Disapprovals are resolved by fixing the underlying issue and, in most cases, explicitly requesting a review. google-merchant-center merchant-center-feed-optimization ecommerce-seo","passages":["A Merchant Center disapproval is Google (or Microsoft) refusing to show a product — or, in severe cases, an entire account — across Shopping ads and free listings because the submitted data doesn't match the product data specification, doesn't match the merchant's own website, or violates a Shopping policy. Disapprovals are resolved by fixing the underlying issue and, in most cases, explicitly requesting a review."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/merchant-center-disapprovals/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Google Merchant Center Feed Optimization","desc":"Google Merchant Center feed optimization is the process of improving the quality, accuracy, and completeness of the product data you submit to Google Merchant Center — titles, identifiers, images, and attributes — so your products show up more often and in more relevant places across Shopping ads, free listings, and AI shopping surfaces.","snippetText":"Google Merchant Center feed optimization is the process of improving the quality, accuracy, and completeness of the product data you submit to Google Merchant Center — titles, identifiers, images, and attributes — so your products show up more often and in more relevant places across Shopping ads, free listings, and AI shopping surfaces.","href":"/ecommerce-seo/merchant-center/merchant-center-feed-optimization/#glossary","slug":"merchant-center-feed-optimization","parentHref":"/ecommerce-seo/merchant-center/merchant-center-feed-optimization/","meta":"Glossary definition","aliases":["google-merchant-center","ecommerce-seo","product-page-seo"],"taxonomy":["ecommerce-seo","merchant-center"],"text":"Google Merchant Center feed optimization is the process of improving the quality, accuracy, and completeness of the product data you submit to Google Merchant Center — titles, identifiers, images, and attributes — so your products show up more often and in more relevant places across Shopping ads, free listings, and AI shopping surfaces. google-merchant-center ecommerce-seo product-page-seo","passages":["Google Merchant Center feed optimization is the process of improving the quality, accuracy, and completeness of the product data you submit to Google Merchant Center — titles, identifiers, images, and attributes — so your products show up more often and in more relevant places across Shopping ads, free listings, and AI shopping surfaces."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/merchant-center-feed-optimization/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Merchant Center Next","desc":"Merchant Center Next is Google's 2023–2024 rebuild of the Merchant Center interface and setup flow (not the underlying feed system) — auto-crawled starter feeds, a unified Programs/Business-identity setup, renamed terminology, and built-in AI tooling — that fully replaced classic Merchant Center by September 2024.","snippetText":"Merchant Center Next is Google's 2023–2024 rebuild of the Merchant Center interface and setup flow (not the underlying feed system) — auto-crawled starter feeds, a unified Programs/Business-identity setup, renamed terminology, and built-in AI tooling — that fully replaced classic Merchant Center by September 2024.","href":"/ecommerce-seo/merchant-center/merchant-center-next/#glossary","slug":"merchant-center-next","parentHref":"/ecommerce-seo/merchant-center/merchant-center-next/","meta":"Glossary definition","aliases":["google-merchant-center","merchant-center-feed-optimization"],"taxonomy":["ecommerce-seo","merchant-center"],"text":"Merchant Center Next is Google's 2023–2024 rebuild of the Merchant Center interface and setup flow (not the underlying feed system) — auto-crawled starter feeds, a unified Programs/Business-identity setup, renamed terminology, and built-in AI tooling — that fully replaced classic Merchant Center by September 2024. google-merchant-center merchant-center-feed-optimization","passages":["Merchant Center Next is Google's 2023–2024 rebuild of the Merchant Center interface and setup flow (not the underlying feed system) — auto-crawled starter feeds, a unified Programs/Business-identity setup, renamed terminology, and built-in AI tooling — that fully replaced classic Merchant Center by September 2024."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/merchant-center-next/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Merchant Listings Report","desc":"The Merchant listings report is a Google Search Console report (under Shopping) that validates the Product/Offer structured data on your own pages for free merchant listing experiences — Popular Products, Shopping Knowledge Panels, and shopping surfaces in Google Images and Lens. It classifies items as valid or invalid based on critical issues, with non-critical issues flagged as enhancement opportunities, and is distinct from both the Product snippets report and Google Merchant Center's feed diagnostics.","snippetText":"The Merchant listings report is a Google Search Console report (under Shopping) that validates the Product/Offer structured data on your own pages for free merchant listing experiences — Popular Products, Shopping Knowledge Panels, and shopping surfaces in Google Images and Lens. It classifies items as valid or invalid based on critical issues, with non-critical issues flagged as enhancement opportunities, and is distinct from both the Product snippets report and Google Merchant Center's feed diagnostics.","href":"/technical-seo/tools/search-engine-tools/google-search-console/merchant-listings-report/#glossary","slug":"merchant-listings-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/merchant-listings-report/","meta":"Glossary definition","aliases":["google-merchant-center","product-schema","rich-results"],"taxonomy":["technical-seo","tools"],"text":"The Merchant listings report is a Google Search Console report (under Shopping) that validates the Product/Offer structured data on your own pages for free merchant listing experiences — Popular Products, Shopping Knowledge Panels, and shopping surfaces in Google Images and Lens. It classifies items as valid or invalid based on critical issues, with non-critical issues flagged as enhancement opportunities, and is distinct from both the Product snippets report and Google Merchant Center's feed diagnostics. google-merchant-center product-schema rich-results","passages":["The Merchant listings report is a Google Search Console report (under Shopping) that validates the Product/Offer structured data on your own pages for free merchant listing experiences — Popular Products, Shopping Knowledge Panels, and shopping surfaces in Google Images and Lens. It classifies items as valid or invalid based on critical issues, with non-critical issues flagged as enhancement opportunities, and is distinct from both the Product snippets report and Google Merchant Center's feed diagnostics."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/merchant-listings-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"MerchantReturnPolicy Schema","desc":"MerchantReturnPolicy (schema.org/MerchantReturnPolicy) is the structured-data type that describes a return policy — window, fees, methods, refund type, and conditions — nested under Organization (site-wide default) or Offer (per-product override) via the hasMerchantReturnPolicy property, so Google can show return details in product rich results and knowledge panels.","snippetText":"MerchantReturnPolicy (schema.org/MerchantReturnPolicy) is the structured-data type that describes a return policy — window, fees, methods, refund type, and conditions — nested under Organization (site-wide default) or Offer (per-product override) via the hasMerchantReturnPolicy property, so Google can show return details in product rich results and knowledge panels.","href":"/technical-seo/on-page/structured-data/commerce/merchantreturnpolicy-schema/#glossary","slug":"merchantreturnpolicy-schema","parentHref":"/technical-seo/on-page/structured-data/commerce/merchantreturnpolicy-schema/","meta":"Glossary definition","aliases":["commerce-schema","product-schema","structured-data","schema-markup","rich-results","shipping-schema"],"taxonomy":["technical-seo","on-page"],"text":"MerchantReturnPolicy (schema.org/MerchantReturnPolicy) is the structured-data type that describes a return policy — window, fees, methods, refund type, and conditions — nested under Organization (site-wide default) or Offer (per-product override) via the hasMerchantReturnPolicy property, so Google can show return details in product rich results and knowledge panels. commerce-schema product-schema structured-data schema-markup rich-results shipping-schema","passages":["MerchantReturnPolicy (schema.org/MerchantReturnPolicy) is the structured-data type that describes a return policy — window, fees, methods, refund type, and conditions — nested under Organization (site-wide default) or Offer (per-product override) via the hasMerchantReturnPolicy property, so Google can show return details in product rich results and knowledge panels."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/merchantreturnpolicy-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Meta Description","desc":"The meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through.","snippetText":"The meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through.","href":"/technical-seo/on-page/meta-tags/meta-description/#glossary","slug":"meta-description","parentHref":"/technical-seo/on-page/meta-tags/meta-description/","meta":"Glossary definition","aliases":["title-tag","meta-tags","nosnippet-data-nosnippet"],"taxonomy":["technical-seo","on-page"],"text":"The meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through. title-tag meta-tags nosnippet-data-nosnippet","passages":["The meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-description/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Meta keywords tag","desc":"The meta keywords tag — <meta name=\"keywords\" content=\"...\"> — is a mid-1990s HTML head element meant to let a page declare its own topic keywords to search engines. Google has publicly ignored it for ranking since 2009, and no major search engine uses it as a ranking signal today. It's dead as SEO, and a populated one only leaks your target keywords to anyone who views your source.","snippetText":"The meta keywords tag — <meta name=\"keywords\" content=\"...\"> — is a mid-1990s HTML head element meant to let a page declare its own topic keywords to search engines. Google has publicly ignored it for ranking since 2009, and no major search engine uses it as a ranking signal today. It's dead as SEO, and a populated one only leaks your target keywords to anyone who views your source.","href":"/technical-seo/on-page/meta-tags/meta-keywords/#glossary","slug":"meta-keywords","parentHref":"/technical-seo/on-page/meta-tags/meta-keywords/","meta":"Glossary definition","aliases":["Meta tags","Meta description","Keyword stuffing"],"taxonomy":["technical-seo","on-page"],"text":"The meta keywords tag — <meta name=\"keywords\" content=\"...\"> — is a mid-1990s HTML head element meant to let a page declare its own topic keywords to search engines. Google has publicly ignored it for ranking since 2009, and no major search engine uses it as a ranking signal today. It's dead as SEO, and a populated one only leaks your target keywords to anyone who views your source. Meta tags Meta description Keyword stuffing","passages":["The meta keywords tag — <meta name=\"keywords\" content=\"...\"> — is a mid-1990s HTML head element meant to let a page declare its own topic keywords to search engines. Google has publicly ignored it for ranking since 2009, and no major search engine uses it as a ranking signal today. It's dead as SEO, and a populated one only leaks your target keywords to anyone who views your source."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-keywords/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Meta refresh redirect","desc":"A meta refresh redirect is a client-side redirect written as an HTML <meta http-equiv=\"refresh\"> tag (or an equivalent HTTP Refresh header) — not an HTTP status code. The server returns a normal 200, then the browser navigates after the page loads. An instant (0-second) one is read by Google as permanent; a delayed one as temporary.","snippetText":"A meta refresh redirect is a client-side redirect written as an HTML <meta http-equiv=\"refresh\"> tag (or an equivalent HTTP Refresh header) — not an HTTP status code. The server returns a normal 200, then the browser navigates after the page loads. An instant (0-second) one is read by Google as permanent; a delayed one as temporary.","href":"/technical-seo/http-status-codes/redirects/meta-refresh/#glossary","slug":"meta-refresh","parentHref":"/technical-seo/http-status-codes/redirects/meta-refresh/","meta":"Glossary definition","aliases":["301 redirect","Redirect"],"taxonomy":["technical-seo","http-status-codes"],"text":"A meta refresh redirect is a client-side redirect written as an HTML <meta http-equiv=\"refresh\"> tag (or an equivalent HTTP Refresh header) — not an HTTP status code. The server returns a normal 200, then the browser navigates after the page loads. An instant (0-second) one is read by Google as permanent; a delayed one as temporary. 301 redirect Redirect","passages":["A meta refresh redirect is a client-side redirect written as an HTML <meta http-equiv=\"refresh\"> tag (or an equivalent HTTP Refresh header) — not an HTTP status code. The server returns a normal 200, then the browser navigates after the page loads. An instant (0-second) one is read by Google as permanent; a delayed one as temporary."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/meta-refresh/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Robots Meta Tag","desc":"The robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen.","snippetText":"The robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen.","href":"/technical-seo/on-page/meta-tags/meta-robots/#glossary","slug":"meta-robots","parentHref":"/technical-seo/on-page/meta-tags/meta-robots/","meta":"Glossary definition","aliases":["x-robots-tag","noindex","nofollow","nosnippet-data-nosnippet"],"taxonomy":["technical-seo","on-page"],"text":"The robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. x-robots-tag noindex nofollow nosnippet-data-nosnippet","passages":["The robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-robots/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Meta Tags","desc":"Meta tags are HTML elements in a page's head that pass metadata about the page to search engines and browsers. For SEO only a few matter — the title element, the meta description, and the robots meta tag — while meta keywords and most others are ignored.","snippetText":"Meta tags are HTML elements in a page's head that pass metadata about the page to search engines and browsers. For SEO only a few matter — the title element, the meta description, and the robots meta tag — while meta keywords and most others are ignored.","href":"/technical-seo/on-page/meta-tags/#glossary","slug":"meta-tags","parentHref":"/technical-seo/on-page/meta-tags/","meta":"Glossary definition","aliases":["title-tag","meta-description","meta-robots","noindex"],"taxonomy":["technical-seo","on-page"],"text":"Meta tags are HTML elements in a page's head that pass metadata about the page to search engines and browsers. For SEO only a few matter — the title element, the meta description, and the robots meta tag — while meta keywords and most others are ignored. title-tag meta-description meta-robots noindex","passages":["Meta tags are HTML elements in a page's head that pass metadata about the page to search engines and browsers. For SEO only a few matter — the title element, the meta description, and the robots meta tag — while meta keywords and most others are ignored."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Metadata & Trust Schema","desc":"\"Metadata & Trust schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org types that attach trust signals, site identity, and navigational context to a page rather than describing something for sale: AggregateRating, BreadcrumbList, Review, and WebSite.","snippetText":"\"Metadata & Trust schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org types that attach trust signals, site identity, and navigational context to a page rather than describing something for sale: AggregateRating, BreadcrumbList, Review, and WebSite.","href":"/technical-seo/on-page/structured-data/metadata-trust/#glossary","slug":"metadata-trust","parentHref":"/technical-seo/on-page/structured-data/metadata-trust/","meta":"Glossary definition","aliases":["schema-markup","commerce-schema"],"taxonomy":["technical-seo","on-page"],"text":"\"Metadata & Trust schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org types that attach trust signals, site identity, and navigational context to a page rather than describing something for sale: AggregateRating, BreadcrumbList, Review, and WebSite. schema-markup commerce-schema","passages":["\"Metadata & Trust schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org types that attach trust signals, site identity, and navigational context to a page rather than describing something for sale: AggregateRating, BreadcrumbList, Review, and WebSite."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Microsoft Merchant Center","desc":"Microsoft's free platform (inside Microsoft Advertising, formerly 'Bing Merchant Center') where retailers create a store and submit a product feed. One feed powers both free Product Listings on the Bing Shopping tab and paid Microsoft Shopping Campaigns — the Bing/Copilot-side twin of Google Merchant Center. As of 2026 it's also the product-data foundation Copilot draws on for AI-assisted shopping and checkout.","snippetText":"Microsoft's free platform (inside Microsoft Advertising, formerly 'Bing Merchant Center') where retailers create a store and submit a product feed. One feed powers both free Product Listings on the Bing Shopping tab and paid Microsoft Shopping Campaigns — the Bing/Copilot-side twin of Google Merchant Center. As of 2026 it's also the product-data foundation Copilot draws on for AI-assisted shopping and checkout.","href":"/ecommerce-seo/merchant-center/microsoft-shopping/#glossary","slug":"microsoft-shopping","parentHref":"/ecommerce-seo/merchant-center/microsoft-shopping/","meta":"Glossary definition","aliases":["google-merchant-center","merchant-center-feed-optimization","bing-webmaster-tools"],"taxonomy":["ecommerce-seo","merchant-center"],"text":"Microsoft's free platform (inside Microsoft Advertising, formerly 'Bing Merchant Center') where retailers create a store and submit a product feed. One feed powers both free Product Listings on the Bing Shopping tab and paid Microsoft Shopping Campaigns — the Bing/Copilot-side twin of Google Merchant Center. As of 2026 it's also the product-data foundation Copilot draws on for AI-assisted shopping and checkout. google-merchant-center merchant-center-feed-optimization bing-webmaster-tools","passages":["Microsoft's free platform (inside Microsoft Advertising, formerly 'Bing Merchant Center') where retailers create a store and submit a product feed. One feed powers both free Product Listings on the Bing Shopping tab and paid Microsoft Shopping Campaigns — the Bing/Copilot-side twin of Google Merchant Center. As of 2026 it's also the product-data foundation Copilot draws on for AI-assisted shopping and checkout."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/microsoft-shopping/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Site Migration","desc":"A site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once.","snippetText":"A site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once.","href":"/technical-seo/migrations/#glossary","slug":"migrations","parentHref":"/technical-seo/migrations/","meta":"Glossary definition","aliases":["change-of-address-tool","canonicalization","redirect-error","page-with-redirect"],"taxonomy":["technical-seo","migrations"],"text":"A site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once. change-of-address-tool canonicalization redirect-error page-with-redirect","passages":["A site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once."],"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Minification","desc":"Minification is the process of removing unnecessary characters — whitespace, line breaks, comments, and (for CSS/JS) redundant syntax or long identifiers — from CSS, JavaScript, or HTML source, without changing how the browser parses or executes it. It's distinct from compression (Gzip/Brotli): the two are complementary, applied minify-first, then compress.","snippetText":"Minification is the process of removing unnecessary characters — whitespace, line breaks, comments, and (for CSS/JS) redundant syntax or long identifiers — from CSS, JavaScript, or HTML source, without changing how the browser parses or executes it. It's distinct from compression (Gzip/Brotli): the two are complementary, applied minify-first, then compress.","href":"/technical-seo/web-performance/critical-rendering-path/minification/#glossary","slug":"minification","parentHref":"/technical-seo/web-performance/critical-rendering-path/minification/","meta":"Glossary definition","aliases":["compression","critical-rendering-path","render-blocking-resources"],"taxonomy":["technical-seo","web-performance"],"text":"Minification is the process of removing unnecessary characters — whitespace, line breaks, comments, and (for CSS/JS) redundant syntax or long identifiers — from CSS, JavaScript, or HTML source, without changing how the browser parses or executes it. It's distinct from compression (Gzip/Brotli): the two are complementary, applied minify-first, then compress. compression critical-rendering-path render-blocking-resources","passages":["Minification is the process of removing unnecessary characters — whitespace, line breaks, comments, and (for CSS/JS) redundant syntax or long identifiers — from CSS, JavaScript, or HTML source, without changing how the browser parses or executes it. It's distinct from compression (Gzip/Brotli): the two are complementary, applied minify-first, then compress."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/minification/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Mixed Content","desc":"Mixed content is when a page served over HTTPS loads a sub-resource — a script, stylesheet, image, iframe, or similar — over insecure HTTP. Browsers' current taxonomy is upgradable versus blockable; active mixed content (scripts, styles, iframes) is blocked, and passive mixed content (images, audio, video) is warned about or increasingly auto-upgraded, with exceptions like CORS-enabled images and srcset/picture candidates that are blockable, not upgradable.","snippetText":"Mixed content is when a page served over HTTPS loads a sub-resource — a script, stylesheet, image, iframe, or similar — over insecure HTTP. Browsers' current taxonomy is upgradable versus blockable; active mixed content (scripts, styles, iframes) is blocked, and passive mixed content (images, audio, video) is warned about or increasingly auto-upgraded, with exceptions like CORS-enabled images and srcset/picture candidates that are blockable, not upgradable.","href":"/technical-seo/https/mixed-content/#glossary","slug":"mixed-content","parentHref":"/technical-seo/https/mixed-content/","meta":"Glossary definition","aliases":["https"],"taxonomy":["technical-seo","https"],"text":"Mixed content is when a page served over HTTPS loads a sub-resource — a script, stylesheet, image, iframe, or similar — over insecure HTTP. Browsers' current taxonomy is upgradable versus blockable; active mixed content (scripts, styles, iframes) is blocked, and passive mixed content (images, audio, video) is warned about or increasingly auto-upgraded, with exceptions like CORS-enabled images and srcset/picture candidates that are blockable, not upgradable. https","passages":["Mixed content is when a page served over HTTPS loads a sub-resource — a script, stylesheet, image, iframe, or similar — over insecure HTTP. Browsers' current taxonomy is upgradable versus blockable; active mixed content (scripts, styles, iframes) is blocked, and passive mixed content (images, audio, video) is warned about or increasingly auto-upgraded, with exceptions like CORS-enabled images and srcset/picture candidates that are blockable, not upgradable."],"popular":0,"url":"https://patrickstox.com/technical-seo/https/mixed-content/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Mobile-First Indexing","desc":"Google's practice of using the mobile version of a page's content — crawled by Googlebot smartphone — for indexing and ranking. It is not a separate index and not a ranking boost.","snippetText":"Google's practice of using the mobile version of a page's content — crawled by Googlebot smartphone — for indexing and ranking. It is not a separate index and not a ranking boost.","href":"/technical-seo/how-search-works/indexing/mobile-first-indexing/#glossary","slug":"mobile-first-indexing","parentHref":"/technical-seo/how-search-works/indexing/mobile-first-indexing/","meta":"Glossary definition","aliases":["Indexing","Crawling"],"taxonomy":["technical-seo","how-search-works"],"text":"Google's practice of using the mobile version of a page's content — crawled by Googlebot smartphone — for indexing and ranking. It is not a separate index and not a ranking boost. Indexing Crawling","passages":["Google's practice of using the mobile version of a page's content — crawled by Googlebot smartphone — for indexing and ranking. It is not a separate index and not a ranking boost."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/mobile-first-indexing/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Mobile SEO","desc":"Mobile SEO is the practice of optimizing a site so it ranks well when crawled and indexed by a mobile (smartphone) user agent and delivers a fast, usable experience on phones. Since Google completed mobile-first indexing, the mobile version is the primary version Google uses for indexing and ranking — so mobile SEO is effectively baseline SEO for every site.","snippetText":"Mobile SEO is the practice of optimizing a site so it ranks well when crawled and indexed by a mobile (smartphone) user agent and delivers a fast, usable experience on phones. Since Google completed mobile-first indexing, the mobile version is the primary version Google uses for indexing and ranking — so mobile SEO is effectively baseline SEO for every site.","href":"/technical-seo/mobile-seo/#glossary","slug":"mobile-seo","parentHref":"/technical-seo/mobile-seo/","meta":"Glossary definition","aliases":["mobile-first-indexing","core-web-vitals","responsive-design"],"taxonomy":["technical-seo","mobile-seo"],"text":"Mobile SEO is the practice of optimizing a site so it ranks well when crawled and indexed by a mobile (smartphone) user agent and delivers a fast, usable experience on phones. Since Google completed mobile-first indexing, the mobile version is the primary version Google uses for indexing and ranking — so mobile SEO is effectively baseline SEO for every site. mobile-first-indexing core-web-vitals responsive-design","passages":["Mobile SEO is the practice of optimizing a site so it ranks well when crawled and indexed by a mobile (smartphone) user agent and delivers a fast, usable experience on phones. Since Google completed mobile-first indexing, the mobile version is the primary version Google uses for indexing and ranking — so mobile SEO is effectively baseline SEO for every site."],"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Mobile Usability","desc":"Whether a page is easy to use on a mobile/touch device — legible text without zooming, tap targets sized and spaced to avoid mis-taps, content that fits the viewport with no horizontal scrolling, and no intrusive interstitials. Distinct from mobile-first indexing and Core Web Vitals.","snippetText":"Whether a page is easy to use on a mobile/touch device — legible text without zooming, tap targets sized and spaced to avoid mis-taps, content that fits the viewport with no horizontal scrolling, and no intrusive interstitials. Distinct from mobile-first indexing and Core Web Vitals.","href":"/technical-seo/mobile-seo/mobile-usability/#glossary","slug":"mobile-usability","parentHref":"/technical-seo/mobile-seo/mobile-usability/","meta":"Glossary definition","aliases":["mobile-seo","mobile-first-indexing","interstitials","core-web-vitals"],"taxonomy":["technical-seo","mobile-seo"],"text":"Whether a page is easy to use on a mobile/touch device — legible text without zooming, tap targets sized and spaced to avoid mis-taps, content that fits the viewport with no horizontal scrolling, and no intrusive interstitials. Distinct from mobile-first indexing and Core Web Vitals. mobile-seo mobile-first-indexing interstitials core-web-vitals","passages":["Whether a page is easy to use on a mobile/touch device — legible text without zooming, tap targets sized and spaced to avoid mis-taps, content that fits the viewport with no horizontal scrolling, and no intrusive interstitials. Distinct from mobile-first indexing and Core Web Vitals."],"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/mobile-usability/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Model Context Protocol (MCP)","desc":"MCP is an open protocol, created and open-sourced by Anthropic in November 2024, that standardizes how AI applications connect to external tools and data at runtime. It runs on a host–client–server architecture and lets agents call functions, read data, and take actions — the opposite of a static file like llms.txt.","snippetText":"MCP is an open protocol, created and open-sourced by Anthropic in November 2024, that standardizes how AI applications connect to external tools and data at runtime. It runs on a host–client–server architecture and lets agents call functions, read data, and take actions — the opposite of a static file like llms.txt.","href":"/ai-search/optimization/model-context-protocol/#glossary","slug":"model-context-protocol","parentHref":"/ai-search/optimization/model-context-protocol/","meta":"Glossary definition","aliases":["llms-txt","agentic-search"],"taxonomy":["ai-search","optimization"],"text":"MCP is an open protocol, created and open-sourced by Anthropic in November 2024, that standardizes how AI applications connect to external tools and data at runtime. It runs on a host–client–server architecture and lets agents call functions, read data, and take actions — the opposite of a static file like llms.txt. llms-txt agentic-search","passages":["MCP is an open protocol, created and open-sourced by Anthropic in November 2024, that standardizes how AI applications connect to external tools and data at runtime. It runs on a host–client–server architecture and lets agents call functions, read data, and take actions — the opposite of a static file like llms.txt."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/model-context-protocol/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Movie Schema","desc":"Movie schema (schema.org/Movie) powers Google's mobile-only movie carousel — title, director, image, and ratings on mobile Search. There's no desktop equivalent, the markup needs an ItemList wrapper to become carousel-eligible, and the separate 'Critic Review' ratings layer was deprecated, though Google says leaving that markup in place is harmless.","snippetText":"Movie schema (schema.org/Movie) powers Google's mobile-only movie carousel — title, director, image, and ratings on mobile Search. There's no desktop equivalent, the markup needs an ItemList wrapper to become carousel-eligible, and the separate 'Critic Review' ratings layer was deprecated, though Google says leaving that markup in place is harmless.","href":"/technical-seo/on-page/structured-data/creative-works/movie-schema/#glossary","slug":"movie-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/movie-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","book-schema","review-schema"],"taxonomy":["technical-seo","on-page"],"text":"Movie schema (schema.org/Movie) powers Google's mobile-only movie carousel — title, director, image, and ratings on mobile Search. There's no desktop equivalent, the markup needs an ItemList wrapper to become carousel-eligible, and the separate 'Critic Review' ratings layer was deprecated, though Google says leaving that markup in place is harmless. schema-markup structured-data book-schema review-schema","passages":["Movie schema (schema.org/Movie) powers Google's mobile-only movie carousel — title, director, image, and ratings on mobile Search. There's no desktop equivalent, the markup needs an ItemList wrapper to become carousel-eligible, and the separate 'Critic Review' ratings layer was deprecated, though Google says leaving that markup in place is harmless."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/movie-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Multilingual SEO","desc":"Multilingual SEO is the practice of optimizing a website that serves content in more than one language so each language version is discoverable, indexable, and rankable in the right language's search results. It's about language, not geography — which makes it distinct from multi-regional SEO.","snippetText":"Multilingual SEO is the practice of optimizing a website that serves content in more than one language so each language version is discoverable, indexable, and rankable in the right language's search results. It's about language, not geography — which makes it distinct from multi-regional SEO.","href":"/international-seo/localization-and-content/multilingual-seo/#glossary","slug":"multilingual-seo","parentHref":"/international-seo/localization-and-content/multilingual-seo/","meta":"Glossary definition","aliases":["international-seo","hreflang","localization"],"taxonomy":["international-seo","localization-and-content"],"text":"Multilingual SEO is the practice of optimizing a website that serves content in more than one language so each language version is discoverable, indexable, and rankable in the right language's search results. It's about language, not geography — which makes it distinct from multi-regional SEO. international-seo hreflang localization","passages":["Multilingual SEO is the practice of optimizing a website that serves content in more than one language so each language version is discoverable, indexable, and rankable in the right language's search results. It's about language, not geography — which makes it distinct from multi-regional SEO."],"popular":0,"url":"https://patrickstox.com/international-seo/localization-and-content/multilingual-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Multimodal Search","desc":"Multimodal search lets you query and get results across more than one modality — text, images, video, and audio together. Instead of typing words, you can point your camera, circle something on screen, or combine an image with a question, and the system understands them jointly.","snippetText":"Multimodal search lets you query and get results across more than one modality — text, images, video, and audio together. Instead of typing words, you can point your camera, circle something on screen, or combine an image with a question, and the system understands them jointly.","href":"/ai-search/how-search-works/multimodal-search/#glossary","slug":"multimodal-search","parentHref":"/ai-search/how-search-works/multimodal-search/","meta":"Glossary definition","aliases":["semantic-search","embeddings","rag","grounding"],"taxonomy":["ai-search","how-search-works"],"text":"Multimodal search lets you query and get results across more than one modality — text, images, video, and audio together. Instead of typing words, you can point your camera, circle something on screen, or combine an image with a question, and the system understands them jointly. semantic-search embeddings rag grounding","passages":["Multimodal search lets you query and get results across more than one modality — text, images, video, and audio together. Instead of typing words, you can point your camera, circle something on screen, or combine an image with a question, and the system understands them jointly."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/multimodal-search/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Multiple H1 Tags","desc":"When a single web page contains more than one <h1> element. The HTML standard permits non-nested sibling h1s, and Google treats multiple h1s as a low-priority ranking concern — but nested h1 patterns are non-conforming, and one clear h1 is still the accessibility default.","snippetText":"When a single web page contains more than one <h1> element. The HTML standard permits non-nested sibling h1s, and Google treats multiple h1s as a low-priority ranking concern — but nested h1 patterns are non-conforming, and one clear h1 is still the accessibility default.","href":"/technical-seo/on-page/header-tags/multiple-h1/#glossary","slug":"multiple-h1","parentHref":"/technical-seo/on-page/header-tags/multiple-h1/","meta":"Glossary definition","aliases":["h1","header-tags","title-tag"],"taxonomy":["technical-seo","on-page"],"text":"When a single web page contains more than one <h1> element. The HTML standard permits non-nested sibling h1s, and Google treats multiple h1s as a low-priority ranking concern — but nested h1 patterns are non-conforming, and one clear h1 is still the accessibility default. h1 header-tags title-tag","passages":["When a single web page contains more than one <h1> element. The HTML standard permits non-nested sibling h1s, and Google treats multiple h1s as a low-priority ranking concern — but nested h1 patterns are non-conforming, and one clear h1 is still the accessibility default."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/header-tags/multiple-h1/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Naver Search Advisor","desc":"Naver Search Advisor (searchadvisor.naver.com) is Naver's free webmaster tool — the Korean-market equivalent of Google Search Console — for verifying site ownership, requesting that Naver crawl and index URLs, submitting sitemaps and RSS feeds, and diagnosing why pages aren't showing in Naver search.","snippetText":"Naver Search Advisor (searchadvisor.naver.com) is Naver's free webmaster tool — the Korean-market equivalent of Google Search Console — for verifying site ownership, requesting that Naver crawl and index URLs, submitting sitemaps and RSS feeds, and diagnosing why pages aren't showing in Naver search.","href":"/technical-seo/tools/search-engine-tools/naver-search-advisor/#glossary","slug":"naver-search-advisor","parentHref":"/technical-seo/tools/search-engine-tools/naver-search-advisor/","meta":"Glossary definition","aliases":["bing-webmaster-tools","international-seo"],"taxonomy":["technical-seo","tools"],"text":"Naver Search Advisor (searchadvisor.naver.com) is Naver's free webmaster tool — the Korean-market equivalent of Google Search Console — for verifying site ownership, requesting that Naver crawl and index URLs, submitting sitemaps and RSS feeds, and diagnosing why pages aren't showing in Naver search. bing-webmaster-tools international-seo","passages":["Naver Search Advisor (searchadvisor.naver.com) is Naver's free webmaster tool — the Korean-market equivalent of Google Search Console — for verifying site ownership, requesting that Naver crawl and index URLs, submitting sitemaps and RSS feeds, and diagnosing why pages aren't showing in Naver search."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/naver-search-advisor/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Naver SEO","desc":"Naver SEO is optimizing for Naver, South Korea's dominant portal-style search engine. Naver favors content published on its own properties (Naver Blog, Cafe, Knowledge iN) and ranks it with its own C-Rank and D.I.A. systems, so the work is as much about getting inside the ecosystem as it is about a standalone website.","snippetText":"Naver SEO is optimizing for Naver, South Korea's dominant portal-style search engine. Naver favors content published on its own properties (Naver Blog, Cafe, Knowledge iN) and ranks it with its own C-Rank and D.I.A. systems, so the work is as much about getting inside the ecosystem as it is about a standalone website.","href":"/international-seo/market-specific-seo/naver-seo/#glossary","slug":"naver-seo","parentHref":"/international-seo/market-specific-seo/naver-seo/","meta":"Glossary definition","aliases":["naver-search-advisor","market-specific-seo","international-seo"],"taxonomy":["international-seo","market-specific-seo"],"text":"Naver SEO is optimizing for Naver, South Korea's dominant portal-style search engine. Naver favors content published on its own properties (Naver Blog, Cafe, Knowledge iN) and ranks it with its own C-Rank and D.I.A. systems, so the work is as much about getting inside the ecosystem as it is about a standalone website. naver-search-advisor market-specific-seo international-seo","passages":["Naver SEO is optimizing for Naver, South Korea's dominant portal-style search engine. Naver favors content published on its own properties (Naver Blog, Cafe, Knowledge iN) and ranks it with its own C-Rank and D.I.A. systems, so the work is as much about getting inside the ecosystem as it is about a standalone website."],"popular":0,"url":"https://patrickstox.com/international-seo/market-specific-seo/naver-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Nested Schema Markup (@id and @graph)","desc":"Nesting schema markup with @id and @graph is the practice of connecting multiple JSON-LD entities into one linked graph instead of declaring each in isolation. @id is a unique URI (usually a canonical URL plus a #fragment) that identifies an entity — a WebSite, Organization, or Person — so other entities can reference it by that URI instead of re-declaring all its properties. @graph is a JSON-LD keyword that bundles multiple top-level entities into one array inside a single <script type=\"application/ld+json\"> block, cross-referencing each other via @id.","snippetText":"Nesting schema markup with @id and @graph is the practice of connecting multiple JSON-LD entities into one linked graph instead of declaring each in isolation. @id is a unique URI (usually a canonical URL plus a #fragment) that identifies an entity — a WebSite, Organization, or Person — so other entities can reference it by that URI instead of re-declaring all its properties. @graph is a JSON-LD keyword that bundles multiple top-level entities into one array inside a single <script type=\"application/ld+json\"> block, cross-referencing each other via @id.","href":"/technical-seo/on-page/structured-data/nested-schema/#glossary","slug":"nested-schema","parentHref":"/technical-seo/on-page/structured-data/nested-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","json-ld"],"taxonomy":["technical-seo","on-page"],"text":"Nesting schema markup with @id and @graph is the practice of connecting multiple JSON-LD entities into one linked graph instead of declaring each in isolation. @id is a unique URI (usually a canonical URL plus a #fragment) that identifies an entity — a WebSite, Organization, or Person — so other entities can reference it by that URI instead of re-declaring all its properties. @graph is a JSON-LD keyword that bundles multiple top-level entities into one array inside a single <script type=\"application/ld+json\"> block, cross-referencing each other via @id. schema-markup structured-data json-ld","passages":["Nesting schema markup with @id and @graph is the practice of connecting multiple JSON-LD entities into one linked graph instead of declaring each in isolation. @id is a unique URI (usually a canonical URL plus a #fragment) that identifies an entity — a WebSite, Organization, or Person — so other entities can reference it by that URI instead of re-declaring all its properties. @graph is a JSON-LD keyword that bundles multiple top-level entities into one array inside a single <script type=\"application/ld+json\"> block, cross-referencing each other via @id."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/nested-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"News sitemap","desc":"A news sitemap is a sitemap (a standalone file or a section of an existing sitemap) that uses Google's news: XML namespace to tell Google about your recent articles — only those published in the last two days. It speeds discovery of breaking content; it isn't a ranking factor and isn't required for Google News eligibility.","snippetText":"A news sitemap is a sitemap (a standalone file or a section of an existing sitemap) that uses Google's news: XML namespace to tell Google about your recent articles — only those published in the last two days. It speeds discovery of breaking content; it isn't a ranking factor and isn't required for Google News eligibility.","href":"/technical-seo/how-search-works/discovery/sitemaps/news-sitemaps/#glossary","slug":"news-sitemaps","parentHref":"/technical-seo/how-search-works/discovery/sitemaps/news-sitemaps/","meta":"Glossary definition","aliases":["sitemaps","xml-sitemaps","google-news-seo"],"taxonomy":["technical-seo","how-search-works"],"text":"A news sitemap is a sitemap (a standalone file or a section of an existing sitemap) that uses Google's news: XML namespace to tell Google about your recent articles — only those published in the last two days. It speeds discovery of breaking content; it isn't a ranking factor and isn't required for Google News eligibility. sitemaps xml-sitemaps google-news-seo","passages":["A news sitemap is a sitemap (a standalone file or a section of an existing sitemap) that uses Google's news: XML namespace to tell Google about your recent articles — only those published in the last two days. It speeds discovery of breaking content; it isn't a ranking factor and isn't required for Google News eligibility."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/news-sitemaps/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Next.js SEO","desc":"Next.js SEO is the set of practices and built-in features that make a Next.js site crawlable, indexable, and rankable — rendering mode (SSG/SSR/ISR/Server Components), the App Router Metadata API, sitemap.ts/robots.ts conventions, next/image, and next/link.","snippetText":"Next.js SEO is the set of practices and built-in features that make a Next.js site crawlable, indexable, and rankable — rendering mode (SSG/SSR/ISR/Server Components), the App Router Metadata API, sitemap.ts/robots.ts conventions, next/image, and next/link.","href":"/technical-seo/platform-seo/js-frameworks/next-seo/#glossary","slug":"next-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/next-seo/","meta":"Glossary definition","aliases":["javascript-seo","headless-cms-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Next.js SEO is the set of practices and built-in features that make a Next.js site crawlable, indexable, and rankable — rendering mode (SSG/SSR/ISR/Server Components), the App Router Metadata API, sitemap.ts/robots.ts conventions, next/image, and next/link. javascript-seo headless-cms-seo","passages":["Next.js SEO is the set of practices and built-in features that make a Next.js site crawlable, indexable, and rankable — rendering mode (SSG/SSR/ISR/Server Components), the App Router Metadata API, sitemap.ts/robots.ts conventions, next/image, and next/link."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/next-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Noarchive","desc":"Noarchive is a robots meta directive that tells search engines not to keep a cached copy of a page. Google's current documentation lists it under historical and unused rules and says it's ignored, because the cached-link feature it once controlled no longer exists — but on Bing it still controls whether content is used in Bing Chat/Copilot answers and AI training. It is not an access-control measure.","snippetText":"Noarchive is a robots meta directive that tells search engines not to keep a cached copy of a page. Google's current documentation lists it under historical and unused rules and says it's ignored, because the cached-link feature it once controlled no longer exists — but on Bing it still controls whether content is used in Bing Chat/Copilot answers and AI training. It is not an access-control measure.","href":"/technical-seo/on-page/meta-tags/noarchive/#glossary","slug":"noarchive","parentHref":"/technical-seo/on-page/meta-tags/noarchive/","meta":"Glossary definition","aliases":["meta-robots","nosnippet-data-nosnippet","noindex","x-robots-tag"],"taxonomy":["technical-seo","on-page"],"text":"Noarchive is a robots meta directive that tells search engines not to keep a cached copy of a page. Google's current documentation lists it under historical and unused rules and says it's ignored, because the cached-link feature it once controlled no longer exists — but on Bing it still controls whether content is used in Bing Chat/Copilot answers and AI training. It is not an access-control measure. meta-robots nosnippet-data-nosnippet noindex x-robots-tag","passages":["Noarchive is a robots meta directive that tells search engines not to keep a cached copy of a page. Google's current documentation lists it under historical and unused rules and says it's ignored, because the cached-link feature it once controlled no longer exists — but on Bing it still controls whether content is used in Bing Chat/Copilot answers and AI training. It is not an access-control measure."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/noarchive/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Nofollow","desc":"rel=\"nofollow\" is a value of the HTML link rel attribute that tells search engines you don't vouch for a linked page and don't want to pass ranking signals to it. Since 2019–2020 Google treats it as a hint, not a directive — and it does not reliably block crawling or indexing.","snippetText":"rel=\"nofollow\" is a value of the HTML link rel attribute that tells search engines you don't vouch for a linked page and don't want to pass ranking signals to it. Since 2019–2020 Google treats it as a hint, not a directive — and it does not reliably block crawling or indexing.","href":"/technical-seo/on-page/meta-tags/nofollow/#glossary","slug":"nofollow","parentHref":"/technical-seo/on-page/meta-tags/nofollow/","meta":"Glossary definition","aliases":["rel-sponsored-ugc","meta-robots","noindex"],"taxonomy":["technical-seo","on-page"],"text":"rel=\"nofollow\" is a value of the HTML link rel attribute that tells search engines you don't vouch for a linked page and don't want to pass ranking signals to it. Since 2019–2020 Google treats it as a hint, not a directive — and it does not reliably block crawling or indexing. rel-sponsored-ugc meta-robots noindex","passages":["rel=\"nofollow\" is a value of the HTML link rel attribute that tells search engines you don't vouch for a linked page and don't want to pass ranking signals to it. Since 2019–2020 Google treats it as a hint, not a directive — and it does not reliably block crawling or indexing."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/nofollow/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Noindex","desc":"Noindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.","snippetText":"Noindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.","href":"/technical-seo/on-page/meta-tags/noindex/#glossary","slug":"noindex","parentHref":"/technical-seo/on-page/meta-tags/noindex/","meta":"Glossary definition","aliases":["meta-robots","x-robots-tag","index-bloat","canonical-tag"],"taxonomy":["technical-seo","on-page"],"text":"Noindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. meta-robots x-robots-tag index-bloat canonical-tag","passages":["Noindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/noindex/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"nosnippet & data-nosnippet","desc":"nosnippet is a robots directive (meta tag or X-Robots-Tag header) that suppresses all snippet text and the video preview for a whole page; data-nosnippet is an HTML attribute on span, div, or section that excludes just that section from the snippet.","snippetText":"nosnippet is a robots directive (meta tag or X-Robots-Tag header) that suppresses all snippet text and the video preview for a whole page; data-nosnippet is an HTML attribute on span, div, or section that excludes just that section from the snippet.","href":"/technical-seo/on-page/meta-tags/nosnippet-data-nosnippet/#glossary","slug":"nosnippet-data-nosnippet","parentHref":"/technical-seo/on-page/meta-tags/nosnippet-data-nosnippet/","meta":"Glossary definition","aliases":["max-snippet-max-image-preview","meta-robots","x-robots-tag"],"taxonomy":["technical-seo","on-page"],"text":"nosnippet is a robots directive (meta tag or X-Robots-Tag header) that suppresses all snippet text and the video preview for a whole page; data-nosnippet is an HTML attribute on span, div, or section that excludes just that section from the snippet. max-snippet-max-image-preview meta-robots x-robots-tag","passages":["nosnippet is a robots directive (meta tag or X-Robots-Tag header) that suppresses all snippet text and the video preview for a whole page; data-nosnippet is an HTML attribute on span, div, or section that excludes just that section from the snippet."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/nosnippet-data-nosnippet/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Not found (404)","desc":"A Google Search Console Page Indexing status meaning Googlebot requested a URL it says it discovered on its own — not proof it's absent from your current sitemap — and got a 404 Not Found, so the page isn't indexed. Usually fine unless the URL should still exist.","snippetText":"A Google Search Console Page Indexing status meaning Googlebot requested a URL it says it discovered on its own — not proof it's absent from your current sitemap — and got a 404 Not Found, so the page isn't indexed. Usually fine unless the URL should still exist.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/not-found-404/#glossary","slug":"not-found-404","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/not-found-404/","meta":"Glossary definition","aliases":["blocked-other-4xx","redirect-error","crawling"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status meaning Googlebot requested a URL it says it discovered on its own — not proof it's absent from your current sitemap — and got a 404 Not Found, so the page isn't indexed. Usually fine unless the URL should still exist. blocked-other-4xx redirect-error crawling","passages":["A Google Search Console Page Indexing status meaning Googlebot requested a URL it says it discovered on its own — not proof it's absent from your current sitemap — and got a 404 Not Found, so the page isn't indexed. Usually fine unless the URL should still exist."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/not-found-404/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Nuxt SEO","desc":"Nuxt SEO is the practice of optimizing Nuxt.js (Vue's meta-framework) apps so search engines and AI crawlers can crawl, render, and index them. Nuxt's big advantage is that it ships server-side rendering by default, so pages arrive as fully-formed HTML instead of an empty Vue SPA shell.","snippetText":"Nuxt SEO is the practice of optimizing Nuxt.js (Vue's meta-framework) apps so search engines and AI crawlers can crawl, render, and index them. Nuxt's big advantage is that it ships server-side rendering by default, so pages arrive as fully-formed HTML instead of an empty Vue SPA shell.","href":"/technical-seo/platform-seo/js-frameworks/nuxt-seo/#glossary","slug":"nuxt-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/nuxt-seo/","meta":"Glossary definition","aliases":["javascript-seo","headless-cms-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Nuxt SEO is the practice of optimizing Nuxt.js (Vue's meta-framework) apps so search engines and AI crawlers can crawl, render, and index them. Nuxt's big advantage is that it ships server-side rendering by default, so pages arrive as fully-formed HTML instead of an empty Vue SPA shell. javascript-seo headless-cms-seo","passages":["Nuxt SEO is the practice of optimizing Nuxt.js (Vue's meta-framework) apps so search engines and AI crawlers can crawl, render, and index them. Nuxt's big advantage is that it ships server-side rendering by default, so pages arrive as fully-formed HTML instead of an empty Vue SPA shell."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/nuxt-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"OfferShippingDetails Schema","desc":"OfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship, where it ships to, and how long delivery takes. As of November 2025, Google positions it as the per-product override of an organization-wide ShippingService default.","snippetText":"OfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship, where it ships to, and how long delivery takes. As of November 2025, Google positions it as the per-product override of an organization-wide ShippingService default.","href":"/technical-seo/on-page/structured-data/commerce/offershippingdetails-schema/#glossary","slug":"offershippingdetails-schema","parentHref":"/technical-seo/on-page/structured-data/commerce/offershippingdetails-schema/","meta":"Glossary definition","aliases":["structured-data","schema-markup","product-schema","commerce-schema","google-merchant-center"],"taxonomy":["technical-seo","on-page"],"text":"OfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship, where it ships to, and how long delivery takes. As of November 2025, Google positions it as the per-product override of an organization-wide ShippingService default. structured-data schema-markup product-schema commerce-schema google-merchant-center","passages":["OfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship, where it ships to, and how long delivery takes. As of November 2025, Google positions it as the per-product override of an organization-wide ShippingService default."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/offershippingdetails-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Open Graph","desc":"Open Graph (OG) tags are `<meta>` elements in a page's head, defined by the Open Graph protocol (ogp.me, created by Facebook), that describe a page as a shareable object — its title, description, image, URL, and type. They control how a link preview card looks when the page is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, and iMessage. They are not a direct Google ranking factor, though Google reads og:title, og:image, and og:site_name as inputs to how a result appears.","snippetText":"Open Graph (OG) tags are `<meta>` elements in a page's head, defined by the Open Graph protocol (ogp.me, created by Facebook), that describe a page as a shareable object — its title, description, image, URL, and type. They control how a link preview card looks when the page is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, and iMessage. They are not a direct Google ranking factor, though Google reads og:title, og:image, and og:site_name as inputs to how a result appears.","href":"/technical-seo/on-page/meta-tags/open-graph/#glossary","slug":"open-graph","parentHref":"/technical-seo/on-page/meta-tags/open-graph/","meta":"Glossary definition","aliases":["meta-tags","title-tag","meta-description"],"taxonomy":["technical-seo","on-page"],"text":"Open Graph (OG) tags are `<meta>` elements in a page's head, defined by the Open Graph protocol (ogp.me, created by Facebook), that describe a page as a shareable object — its title, description, image, URL, and type. They control how a link preview card looks when the page is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, and iMessage. They are not a direct Google ranking factor, though Google reads og:title, og:image, and og:site_name as inputs to how a result appears. meta-tags title-tag meta-description","passages":["Open Graph (OG) tags are `<meta>` elements in a page's head, defined by the Open Graph protocol (ogp.me, created by Facebook), that describe a page as a shareable object — its title, description, image, URL, and type. They control how a link preview card looks when the page is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, and iMessage. They are not a direct Google ranking factor, though Google reads og:title, og:image, and og:site_name as inputs to how a result appears."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/open-graph/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"OpenCart SEO","desc":"OpenCart SEO is the technical and configuration work needed to make a store built on OpenCart — a free, open-source, self-hosted PHP ecommerce platform — visible in search. Unlike SaaS platforms, OpenCart ships with SEO mostly turned off: friendly URLs, sitemaps, and structured data all require you to flip switches, rename a file, install extensions, or fill in fields the platform leaves empty by default.","snippetText":"OpenCart SEO is the technical and configuration work needed to make a store built on OpenCart — a free, open-source, self-hosted PHP ecommerce platform — visible in search. Unlike SaaS platforms, OpenCart ships with SEO mostly turned off: friendly URLs, sitemaps, and structured data all require you to flip switches, rename a file, install extensions, or fill in fields the platform leaves empty by default.","href":"/technical-seo/platform-seo/ecommerce-platforms/opencart-seo/#glossary","slug":"opencart-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/opencart-seo/","meta":"Glossary definition","aliases":["canonicalization","faceted-navigation","xml-sitemaps"],"taxonomy":["technical-seo","platform-seo"],"text":"OpenCart SEO is the technical and configuration work needed to make a store built on OpenCart — a free, open-source, self-hosted PHP ecommerce platform — visible in search. Unlike SaaS platforms, OpenCart ships with SEO mostly turned off: friendly URLs, sitemaps, and structured data all require you to flip switches, rename a file, install extensions, or fill in fields the platform leaves empty by default. canonicalization faceted-navigation xml-sitemaps","passages":["OpenCart SEO is the technical and configuration work needed to make a store built on OpenCart — a free, open-source, self-hosted PHP ecommerce platform — visible in search. Unlike SaaS platforms, OpenCart ships with SEO mostly turned off: friendly URLs, sitemaps, and structured data all require you to flip switches, rename a file, install extensions, or fill in fields the platform leaves empty by default."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/opencart-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"OpenTelemetry (for SEO)","desc":"OpenTelemetry (OTel) is an open-source, vendor-neutral observability framework — a CNCF project — that standardizes how software generates and exports telemetry: traces, metrics, and logs. It isn't an SEO tool or a ranking factor; it's an engineering framework technical SEOs can point at overlapping problems like diagnosing why Core Web Vitals or JavaScript rendering are slow.","snippetText":"OpenTelemetry (OTel) is an open-source, vendor-neutral observability framework — a CNCF project — that standardizes how software generates and exports telemetry: traces, metrics, and logs. It isn't an SEO tool or a ranking factor; it's an engineering framework technical SEOs can point at overlapping problems like diagnosing why Core Web Vitals or JavaScript rendering are slow.","href":"/technical-seo/tools/search-engine-tools/opentelemetry-seo/#glossary","slug":"opentelemetry-seo","parentHref":"/technical-seo/tools/search-engine-tools/opentelemetry-seo/","meta":"Glossary definition","aliases":["core-web-vitals","log-file-analysis","javascript-seo"],"taxonomy":["technical-seo","tools"],"text":"OpenTelemetry (OTel) is an open-source, vendor-neutral observability framework — a CNCF project — that standardizes how software generates and exports telemetry: traces, metrics, and logs. It isn't an SEO tool or a ranking factor; it's an engineering framework technical SEOs can point at overlapping problems like diagnosing why Core Web Vitals or JavaScript rendering are slow. core-web-vitals log-file-analysis javascript-seo","passages":["OpenTelemetry (OTel) is an open-source, vendor-neutral observability framework — a CNCF project — that standardizes how software generates and exports telemetry: traces, metrics, and logs. It isn't an SEO tool or a ranking factor; it's an engineering framework technical SEOs can point at overlapping problems like diagnosing why Core Web Vitals or JavaScript rendering are slow."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/opentelemetry-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Organization Schema","desc":"Organization schema (schema.org/Organization) is structured data that describes the business or entity itself — name, logo, official URL, social profiles, contact info, and identifiers — rather than a page's content. Google says it can help disambiguate your brand and some properties can influence visual elements like Knowledge Panel/attribution; it has no required properties and doesn't guarantee a Knowledge Panel.","snippetText":"Organization schema (schema.org/Organization) is structured data that describes the business or entity itself — name, logo, official URL, social profiles, contact info, and identifiers — rather than a page's content. Google says it can help disambiguate your brand and some properties can influence visual elements like Knowledge Panel/attribution; it has no required properties and doesn't guarantee a Knowledge Panel.","href":"/technical-seo/on-page/structured-data/entities/organization-schema/#glossary","slug":"organization-schema","parentHref":"/technical-seo/on-page/structured-data/entities/organization-schema/","meta":"Glossary definition","aliases":["schema-markup","entities","localbusiness-schema","person-schema"],"taxonomy":["technical-seo","on-page"],"text":"Organization schema (schema.org/Organization) is structured data that describes the business or entity itself — name, logo, official URL, social profiles, contact info, and identifiers — rather than a page's content. Google says it can help disambiguate your brand and some properties can influence visual elements like Knowledge Panel/attribution; it has no required properties and doesn't guarantee a Knowledge Panel. schema-markup entities localbusiness-schema person-schema","passages":["Organization schema (schema.org/Organization) is structured data that describes the business or entity itself — name, logo, official URL, social profiles, contact info, and identifiers — rather than a page's content. Google says it can help disambiguate your brand and some properties can influence visual elements like Knowledge Panel/attribution; it has no required properties and doesn't guarantee a Knowledge Panel."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/organization-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Orphan Pages","desc":"An orphan page is a page on your site that no other page links to internally. Because crawlers discover pages by following links, an orphan page is effectively invisible to search engines unless it's in an XML sitemap or linked from an external site.","snippetText":"An orphan page is a page on your site that no other page links to internally. Because crawlers discover pages by following links, an orphan page is effectively invisible to search engines unless it's in an XML sitemap or linked from an external site.","href":"/technical-seo/website-structure/internal-links/orphan-pages/#glossary","slug":"orphan-pages","parentHref":"/technical-seo/website-structure/internal-links/orphan-pages/","meta":"Glossary definition","aliases":["internal-links","crawl-depth","discovered-currently-not-indexed"],"taxonomy":["technical-seo","website-structure"],"text":"An orphan page is a page on your site that no other page links to internally. Because crawlers discover pages by following links, an orphan page is effectively invisible to search engines unless it's in an XML sitemap or linked from an external site. internal-links crawl-depth discovered-currently-not-indexed","passages":["An orphan page is a page on your site that no other page links to internally. Because crawlers discover pages by following links, an orphan page is effectively invisible to search engines unless it's in an XML sitemap or linked from an external site."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/internal-links/orphan-pages/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Out of Stock Products","desc":"An out-of-stock product page is a product URL whose item can't currently be bought. The right SEO treatment depends on whether the stockout is temporary, indefinite, or permanent — keep temporary stockouts live at 200 with OutOfStock schema; 301 permanently discontinued products to a relevant replacement.","snippetText":"An out-of-stock product page is a product URL whose item can't currently be bought. The right SEO treatment depends on whether the stockout is temporary, indefinite, or permanent — keep temporary stockouts live at 200 with OutOfStock schema; 301 permanently discontinued products to a relevant replacement.","href":"/ecommerce-seo/product-pages/out-of-stock-products/#glossary","slug":"out-of-stock-products","parentHref":"/ecommerce-seo/product-pages/out-of-stock-products/","meta":"Glossary definition","aliases":["product-page-seo","soft-404-errors","301-redirect"],"taxonomy":["ecommerce-seo","product-pages"],"text":"An out-of-stock product page is a product URL whose item can't currently be bought. The right SEO treatment depends on whether the stockout is temporary, indefinite, or permanent — keep temporary stockouts live at 200 with OutOfStock schema; 301 permanently discontinued products to a relevant replacement. product-page-seo soft-404-errors 301-redirect","passages":["An out-of-stock product page is a product URL whose item can't currently be bought. The right SEO treatment depends on whether the stockout is temporary, indefinite, or permanent — keep temporary stockouts live at 200 with OutOfStock schema; 301 permanently discontinued products to a relevant replacement."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/out-of-stock-products/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Page indexed without content","desc":"A Google Search Console status meaning the URL is in Google's index, but Googlebot couldn't read any usable content from it — possible causes include a server/CDN block, cloaking, an empty render, or an unsupported format. Not the same as a page-level robots.txt block.","snippetText":"A Google Search Console status meaning the URL is in Google's index, but Googlebot couldn't read any usable content from it — possible causes include a server/CDN block, cloaking, an empty render, or an unsupported format. Not the same as a page-level robots.txt block.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/page-indexed-without-content/#glossary","slug":"page-indexed-without-content","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/page-indexed-without-content/","meta":"Glossary definition","aliases":["rendering","javascript-seo","indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console status meaning the URL is in Google's index, but Googlebot couldn't read any usable content from it — possible causes include a server/CDN block, cloaking, an empty render, or an unsupported format. Not the same as a page-level robots.txt block. rendering javascript-seo indexing","passages":["A Google Search Console status meaning the URL is in Google's index, but Googlebot couldn't read any usable content from it — possible causes include a server/CDN block, cloaking, an empty render, or an unsupported format. Not the same as a page-level robots.txt block."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/page-indexed-without-content/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Page with redirect","desc":"A Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").","snippetText":"A Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\").","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/page-with-redirect/#glossary","slug":"page-with-redirect","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/page-with-redirect/","meta":"Glossary definition","aliases":["redirect-error","redirect-chain","301-redirect"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\"). redirect-error redirect-chain 301-redirect","passages":["A Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\")."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/page-with-redirect/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"PageRank","desc":"PageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems.","snippetText":"PageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems.","href":"/technical-seo/how-search-works/crawling/pagerank/#glossary","slug":"pagerank","parentHref":"/technical-seo/how-search-works/crawling/pagerank/","meta":"Glossary definition","aliases":["crawling","canonicalization","crawl-budget"],"taxonomy":["technical-seo","how-search-works"],"text":"PageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems. crawling canonicalization crawl-budget","passages":["PageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/pagerank/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"PageSpeed Insights","desc":"PageSpeed Insights (PSI) is a free Google tool at pagespeed.web.dev that reports two kinds of data for a URL: real-user field data from the Chrome UX Report and a single Lighthouse lab run with the 0–100 Performance score. Only the field Core Web Vitals are what Google uses for ranking.","snippetText":"PageSpeed Insights (PSI) is a free Google tool at pagespeed.web.dev that reports two kinds of data for a URL: real-user field data from the Chrome UX Report and a single Lighthouse lab run with the 0–100 Performance score. Only the field Core Web Vitals are what Google uses for ranking.","href":"/technical-seo/web-performance/web-performance-tools/pagespeed-insights/#glossary","slug":"pagespeed-insights","parentHref":"/technical-seo/web-performance/web-performance-tools/pagespeed-insights/","meta":"Glossary definition","aliases":["lighthouse","crux","core-web-vitals"],"taxonomy":["technical-seo","web-performance"],"text":"PageSpeed Insights (PSI) is a free Google tool at pagespeed.web.dev that reports two kinds of data for a URL: real-user field data from the Chrome UX Report and a single Lighthouse lab run with the 0–100 Performance score. Only the field Core Web Vitals are what Google uses for ranking. lighthouse crux core-web-vitals","passages":["PageSpeed Insights (PSI) is a free Google tool at pagespeed.web.dev that reports two kinds of data for a URL: real-user field data from the Chrome UX Report and a single Lighthouse lab run with the 0–100 Performance score. Only the field Core Web Vitals are what Google uses for ranking."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/pagespeed-insights/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Pagination","desc":"Pagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does.","snippetText":"Pagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does.","href":"/technical-seo/website-structure/pagination/#glossary","slug":"pagination","parentHref":"/technical-seo/website-structure/pagination/","meta":"Glossary definition","aliases":["canonical-tag","crawl-budget"],"taxonomy":["technical-seo","website-structure"],"text":"Pagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does. canonical-tag crawl-budget","passages":["Pagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/pagination/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Passage Ranking","desc":"Passage ranking is a Google AI system that scores individual sections ('passages') of a page so a single page can earn multiple relevance scores for different queries. Google still indexes whole pages — only the ranking changed.","snippetText":"Passage ranking is a Google AI system that scores individual sections ('passages') of a page so a single page can earn multiple relevance scores for different queries. Google still indexes whole pages — only the ranking changed.","href":"/ai-search/how-search-works/passage-ranking/#glossary","slug":"passage-ranking","parentHref":"/ai-search/how-search-works/passage-ranking/","meta":"Glossary definition","aliases":["chunking","vector-search","rag"],"taxonomy":["ai-search","how-search-works"],"text":"Passage ranking is a Google AI system that scores individual sections ('passages') of a page so a single page can earn multiple relevance scores for different queries. Google still indexes whole pages — only the ranking changed. chunking vector-search rag","passages":["Passage ranking is a Google AI system that scores individual sections ('passages') of a page so a single page can earn multiple relevance scores for different queries. Google still indexes whole pages — only the ranking changed."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/passage-ranking/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Paywalls (in SEO)","desc":"A paywall restricts some or all of a page behind payment, subscription, or registration. Google's supported way to keep that content indexable is flexible sampling: mark the gated part with structured data (isAccessibleForFree, cssSelector) so Googlebot can still read it — which is why it doesn't count as cloaking.","snippetText":"A paywall restricts some or all of a page behind payment, subscription, or registration. Google's supported way to keep that content indexable is flexible sampling: mark the gated part with structured data (isAccessibleForFree, cssSelector) so Googlebot can still read it — which is why it doesn't count as cloaking.","href":"/technical-seo/news-seo/paywalls-seo/#glossary","slug":"paywalls-seo","parentHref":"/technical-seo/news-seo/paywalls-seo/","meta":"Glossary definition","aliases":["news-seo","structured-data","cloaking"],"taxonomy":["technical-seo","news-seo"],"text":"A paywall restricts some or all of a page behind payment, subscription, or registration. Google's supported way to keep that content indexable is flexible sampling: mark the gated part with structured data (isAccessibleForFree, cssSelector) so Googlebot can still read it — which is why it doesn't count as cloaking. news-seo structured-data cloaking","passages":["A paywall restricts some or all of a page behind payment, subscription, or registration. Google's supported way to keep that content indexable is flexible sampling: mark the gated part with structured data (isAccessibleForFree, cssSelector) so Googlebot can still read it — which is why it doesn't count as cloaking."],"popular":0,"url":"https://patrickstox.com/technical-seo/news-seo/paywalls-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Performance report","desc":"The Google Search Console report that shows how your site actually performed in Google Search, built from real impressions and clicks. It reports four metrics — clicks, impressions, average CTR, and average position — and keeps the most recent 16 months of data.","snippetText":"The Google Search Console report that shows how your site actually performed in Google Search, built from real impressions and clicks. It reports four metrics — clicks, impressions, average CTR, and average position — and keeps the most recent 16 months of data.","href":"/technical-seo/tools/search-engine-tools/google-search-console/performance-report/#glossary","slug":"performance-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/performance-report/","meta":"Glossary definition","aliases":["google-search-console","search-console-api"],"taxonomy":["technical-seo","tools"],"text":"The Google Search Console report that shows how your site actually performed in Google Search, built from real impressions and clicks. It reports four metrics — clicks, impressions, average CTR, and average position — and keeps the most recent 16 months of data. google-search-console search-console-api","passages":["The Google Search Console report that shows how your site actually performed in Google Search, built from real impressions and clicks. It reports four metrics — clicks, impressions, average CTR, and average position — and keeps the most recent 16 months of data."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/performance-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Person Schema","desc":"Person schema (schema.org/Person) is structured data that marks up an individual — most often an article's author, but also founders, staff, or the subject of a bio page. It helps search engines disambiguate which person an identity refers to and connect their content across the web; it is not a ranking factor and doesn't itself confer E-E-A-T.","snippetText":"Person schema (schema.org/Person) is structured data that marks up an individual — most often an article's author, but also founders, staff, or the subject of a bio page. It helps search engines disambiguate which person an identity refers to and connect their content across the web; it is not a ranking factor and doesn't itself confer E-E-A-T.","href":"/technical-seo/on-page/structured-data/entities/person-schema/#glossary","slug":"person-schema","parentHref":"/technical-seo/on-page/structured-data/entities/person-schema/","meta":"Glossary definition","aliases":["schema-markup","entities","organization-schema","localbusiness-schema"],"taxonomy":["technical-seo","on-page"],"text":"Person schema (schema.org/Person) is structured data that marks up an individual — most often an article's author, but also founders, staff, or the subject of a bio page. It helps search engines disambiguate which person an identity refers to and connect their content across the web; it is not a ranking factor and doesn't itself confer E-E-A-T. schema-markup entities organization-schema localbusiness-schema","passages":["Person schema (schema.org/Person) is structured data that marks up an individual — most often an article's author, but also founders, staff, or the subject of a bio page. It helps search engines disambiguate which person an identity refers to and connect their content across the web; it is not a ranking factor and doesn't itself confer E-E-A-T."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/person-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Platform SEO","desc":"Platform SEO covers the SEO considerations specific to the technology a site is built on — CMS, website builder, headless stack, or JavaScript framework. Each platform has different defaults, constraints, and required configurations that affect crawling, indexing, and ranking.","snippetText":"Platform SEO covers the SEO considerations specific to the technology a site is built on — CMS, website builder, headless stack, or JavaScript framework. Each platform has different defaults, constraints, and required configurations that affect crawling, indexing, and ranking.","href":"/technical-seo/platform-seo/#glossary","slug":"platform-seo","parentHref":"/technical-seo/platform-seo/","meta":"Glossary definition","aliases":["cms","javascript-seo","headless-cms"],"taxonomy":["technical-seo","platform-seo"],"text":"Platform SEO covers the SEO considerations specific to the technology a site is built on — CMS, website builder, headless stack, or JavaScript framework. Each platform has different defaults, constraints, and required configurations that affect crawling, indexing, and ranking. cms javascript-seo headless-cms","passages":["Platform SEO covers the SEO considerations specific to the technology a site is built on — CMS, website builder, headless stack, or JavaScript framework. Each platform has different defaults, constraints, and required configurations that affect crawling, indexing, and ranking."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Product Selection & Sort Order","desc":"Product selection and sort order are the two decisions a category page makes every time it renders — which products appear (in-stock filter, curated subset, out-of-stock inclusion), and in what sequence they appear (the default sort plus alternate sort options) — and both carry SEO consequences for crawling, internal linking, and duplicate content.","snippetText":"Product selection and sort order are the two decisions a category page makes every time it renders — which products appear (in-stock filter, curated subset, out-of-stock inclusion), and in what sequence they appear (the default sort plus alternate sort options) — and both carry SEO consequences for crawling, internal linking, and duplicate content.","href":"/ecommerce-seo/categories-and-merchandising/plp-product-selection/#glossary","slug":"plp-product-selection","parentHref":"/ecommerce-seo/categories-and-merchandising/plp-product-selection/","meta":"Glossary definition","aliases":["category-page-seo","faceted-navigation","ecommerce-seo","canonicalization"],"taxonomy":["ecommerce-seo","categories-and-merchandising"],"text":"Product selection and sort order are the two decisions a category page makes every time it renders — which products appear (in-stock filter, curated subset, out-of-stock inclusion), and in what sequence they appear (the default sort plus alternate sort options) — and both carry SEO consequences for crawling, internal linking, and duplicate content. category-page-seo faceted-navigation ecommerce-seo canonicalization","passages":["Product selection and sort order are the two decisions a category page makes every time it renders — which products appear (in-stock filter, curated subset, out-of-stock inclusion), and in what sequence they appear (the default sort plus alternate sort options) — and both carry SEO consequences for crawling, internal linking, and duplicate content."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/plp-product-selection/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"PrestaShop SEO","desc":"PrestaShop SEO is the technical, on-page, and module-level work you do on a store built on PrestaShop — an open-source (PHP/MySQL) ecommerce platform that hands you strong native meta-tag and friendly-URL controls plus configurable canonical redirects, but leaves hreflang, comprehensive schema, faceted-navigation canonicals, and an auto-refreshing multilingual sitemap to third-party modules.","snippetText":"PrestaShop SEO is the technical, on-page, and module-level work you do on a store built on PrestaShop — an open-source (PHP/MySQL) ecommerce platform that hands you strong native meta-tag and friendly-URL controls plus configurable canonical redirects, but leaves hreflang, comprehensive schema, faceted-navigation canonicals, and an auto-refreshing multilingual sitemap to third-party modules.","href":"/ecommerce-seo/ecommerce-platforms/prestashop-seo/#glossary","slug":"prestashop-seo","parentHref":"/ecommerce-seo/ecommerce-platforms/prestashop-seo/","meta":"Glossary definition","aliases":["faceted-navigation","canonicalization","hreflang"],"taxonomy":["ecommerce-seo","ecommerce-platforms"],"text":"PrestaShop SEO is the technical, on-page, and module-level work you do on a store built on PrestaShop — an open-source (PHP/MySQL) ecommerce platform that hands you strong native meta-tag and friendly-URL controls plus configurable canonical redirects, but leaves hreflang, comprehensive schema, faceted-navigation canonicals, and an auto-refreshing multilingual sitemap to third-party modules. faceted-navigation canonicalization hreflang","passages":["PrestaShop SEO is the technical, on-page, and module-level work you do on a store built on PrestaShop — an open-source (PHP/MySQL) ecommerce platform that hands you strong native meta-tag and friendly-URL controls plus configurable canonical redirects, but leaves hreflang, comprehensive schema, faceted-navigation canonicals, and an auto-refreshing multilingual sitemap to third-party modules."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ecommerce-platforms/prestashop-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Product Feeds for AI","desc":"A product feed for AI is a structured, machine-readable export of your catalog — identifiers, pricing, availability, and policies — built for AI shopping agents and LLMs to read and transact against directly, rather than for a human browsing a page or a search index.","snippetText":"A product feed for AI is a structured, machine-readable export of your catalog — identifiers, pricing, availability, and policies — built for AI shopping agents and LLMs to read and transact against directly, rather than for a human browsing a page or a search index.","href":"/ecommerce-seo/ai-commerce/product-feeds-for-ai/#glossary","slug":"product-feeds-for-ai","parentHref":"/ecommerce-seo/ai-commerce/product-feeds-for-ai/","meta":"Glossary definition","aliases":["agentic-commerce-protocol","merchant-center-feed-optimization"],"taxonomy":["ecommerce-seo","ai-commerce"],"text":"A product feed for AI is a structured, machine-readable export of your catalog — identifiers, pricing, availability, and policies — built for AI shopping agents and LLMs to read and transact against directly, rather than for a human browsing a page or a search index. agentic-commerce-protocol merchant-center-feed-optimization","passages":["A product feed for AI is a structured, machine-readable export of your catalog — identifiers, pricing, availability, and policies — built for AI shopping agents and LLMs to read and transact against directly, rather than for a human browsing a page or a search index."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/product-feeds-for-ai/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Product Identifiers","desc":"Product identifiers are the standardized values — GTIN (Global Trade Item Number), MPN (Manufacturer Part Number), and brand — that shopping feeds like Google Merchant Center and Microsoft Merchant Center use to match a product listing to the correct item in their catalog. A GTIN alone is usually enough; without one, brand + MPN is the fallback; products with none declare that with the identifier_exists attribute.","snippetText":"Product identifiers are the standardized values — GTIN (Global Trade Item Number), MPN (Manufacturer Part Number), and brand — that shopping feeds like Google Merchant Center and Microsoft Merchant Center use to match a product listing to the correct item in their catalog. A GTIN alone is usually enough; without one, brand + MPN is the fallback; products with none declare that with the identifier_exists attribute.","href":"/ecommerce-seo/merchant-center/product-identifiers/#glossary","slug":"product-identifiers","parentHref":"/ecommerce-seo/merchant-center/product-identifiers/","meta":"Glossary definition","aliases":["google-merchant-center","merchant-center-feed-optimization","ecommerce-seo"],"taxonomy":["ecommerce-seo","merchant-center"],"text":"Product identifiers are the standardized values — GTIN (Global Trade Item Number), MPN (Manufacturer Part Number), and brand — that shopping feeds like Google Merchant Center and Microsoft Merchant Center use to match a product listing to the correct item in their catalog. A GTIN alone is usually enough; without one, brand + MPN is the fallback; products with none declare that with the identifier_exists attribute. google-merchant-center merchant-center-feed-optimization ecommerce-seo","passages":["Product identifiers are the standardized values — GTIN (Global Trade Item Number), MPN (Manufacturer Part Number), and brand — that shopping feeds like Google Merchant Center and Microsoft Merchant Center use to match a product listing to the correct item in their catalog. A GTIN alone is usually enough; without one, brand + MPN is the fallback; products with none declare that with the identifier_exists attribute."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/product-identifiers/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Product-Led SEO","desc":"Product-led SEO is building a free tool, calculator, template, or generator that is itself a usable product — not just an article about a topic — so it ranks in search on its own merit, earns links and shares because people reference the tool itself, and feeds the paid product's signup funnel. The test versus ordinary content marketing: is the page the thing people came for, or an article that talks about the thing?","snippetText":"Product-led SEO is building a free tool, calculator, template, or generator that is itself a usable product — not just an article about a topic — so it ranks in search on its own merit, earns links and shares because people reference the tool itself, and feeds the paid product's signup funnel. The test versus ordinary content marketing: is the page the thing people came for, or an article that talks about the thing?","href":"/saas-seo/product-led-seo/#glossary","slug":"product-led-seo","parentHref":"/saas-seo/product-led-seo/","meta":"Glossary definition","aliases":["saas-seo","saas-seo-checklist"],"taxonomy":["saas-seo"],"text":"Product-led SEO is building a free tool, calculator, template, or generator that is itself a usable product — not just an article about a topic — so it ranks in search on its own merit, earns links and shares because people reference the tool itself, and feeds the paid product's signup funnel. The test versus ordinary content marketing: is the page the thing people came for, or an article that talks about the thing? saas-seo saas-seo-checklist","passages":["Product-led SEO is building a free tool, calculator, template, or generator that is itself a usable product — not just an article about a topic — so it ranks in search on its own merit, earns links and shares because people reference the tool itself, and feeds the paid product's signup funnel. The test versus ordinary content marketing: is the page the thing people came for, or an article that talks about the thing?"],"popular":0,"url":"https://patrickstox.com/saas-seo/product-led-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Product Page SEO","desc":"Product page SEO is the practice of optimizing an individual product detail page (PDP) so it ranks in organic search and earns rich results. It blends unique product copy, structured data, variant canonicalization, image SEO, and customer reviews — but the structured data earns rich results and eligibility for free product listings, it doesn't make the page rank.","snippetText":"Product page SEO is the practice of optimizing an individual product detail page (PDP) so it ranks in organic search and earns rich results. It blends unique product copy, structured data, variant canonicalization, image SEO, and customer reviews — but the structured data earns rich results and eligibility for free product listings, it doesn't make the page rank.","href":"/ecommerce-seo/product-pages/product-page-seo/#glossary","slug":"product-page-seo","parentHref":"/ecommerce-seo/product-pages/product-page-seo/","meta":"Glossary definition","aliases":["ecommerce-seo","product-schema","faceted-navigation","canonicalization"],"taxonomy":["ecommerce-seo","product-pages"],"text":"Product page SEO is the practice of optimizing an individual product detail page (PDP) so it ranks in organic search and earns rich results. It blends unique product copy, structured data, variant canonicalization, image SEO, and customer reviews — but the structured data earns rich results and eligibility for free product listings, it doesn't make the page rank. ecommerce-seo product-schema faceted-navigation canonicalization","passages":["Product page SEO is the practice of optimizing an individual product detail page (PDP) so it ranks in organic search and earns rich results. It blends unique product copy, structured data, variant canonicalization, image SEO, and customer reviews — but the structured data earns rich results and eligibility for free product listings, it doesn't make the page rank."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/product-page-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Product Review Feed","desc":"A product review feed is a structured XML file (following a Google-defined schema) that merchants or approved aggregators submit to Google Merchant Center — and separately to Microsoft Merchant Center — to populate the 1–5 star ratings and review counts shown on Shopping ads and free product listings. It is a different file from the main product feed, and different from Review/AggregateRating schema markup.","snippetText":"A product review feed is a structured XML file (following a Google-defined schema) that merchants or approved aggregators submit to Google Merchant Center — and separately to Microsoft Merchant Center — to populate the 1–5 star ratings and review counts shown on Shopping ads and free product listings. It is a different file from the main product feed, and different from Review/AggregateRating schema markup.","href":"/ecommerce-seo/merchant-center/product-review-feeds/#glossary","slug":"product-review-feeds","parentHref":"/ecommerce-seo/merchant-center/product-review-feeds/","meta":"Glossary definition","aliases":["google-merchant-center","merchant-center-feed-optimization"],"taxonomy":["ecommerce-seo","merchant-center"],"text":"A product review feed is a structured XML file (following a Google-defined schema) that merchants or approved aggregators submit to Google Merchant Center — and separately to Microsoft Merchant Center — to populate the 1–5 star ratings and review counts shown on Shopping ads and free product listings. It is a different file from the main product feed, and different from Review/AggregateRating schema markup. google-merchant-center merchant-center-feed-optimization","passages":["A product review feed is a structured XML file (following a Google-defined schema) that merchants or approved aggregators submit to Google Merchant Center — and separately to Microsoft Merchant Center — to populate the 1–5 star ratings and review counts shown on Shopping ads and free product listings. It is a different file from the main product feed, and different from Review/AggregateRating schema markup."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/product-review-feeds/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Product Reviews & User-Generated Content (UGC)","desc":"Product reviews and UGC are customer-submitted ratings, reviews, Q&A, and media on ecommerce pages that add unique, frequently-refreshing on-page content and can power review-rich-result structured data — subject to Google's self-serving-reviews and fake-review policies.","snippetText":"Product reviews and UGC are customer-submitted ratings, reviews, Q&A, and media on ecommerce pages that add unique, frequently-refreshing on-page content and can power review-rich-result structured data — subject to Google's self-serving-reviews and fake-review policies.","href":"/ecommerce-seo/product-pages/product-reviews-ugc/#glossary","slug":"product-reviews-ugc","parentHref":"/ecommerce-seo/product-pages/product-reviews-ugc/","meta":"Glossary definition","aliases":["review-schema","aggregaterating-schema","product-review-feeds","rel-sponsored-ugc","ecommerce-seo"],"taxonomy":["ecommerce-seo","product-pages"],"text":"Product reviews and UGC are customer-submitted ratings, reviews, Q&A, and media on ecommerce pages that add unique, frequently-refreshing on-page content and can power review-rich-result structured data — subject to Google's self-serving-reviews and fake-review policies. review-schema aggregaterating-schema product-review-feeds rel-sponsored-ugc ecommerce-seo","passages":["Product reviews and UGC are customer-submitted ratings, reviews, Q&A, and media on ecommerce pages that add unique, frequently-refreshing on-page content and can power review-rich-result structured data — subject to Google's self-serving-reviews and fake-review policies."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/product-reviews-ugc/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Product Schema","desc":"Product schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two.","snippetText":"Product schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two.","href":"/technical-seo/on-page/structured-data/commerce/product-schema/#glossary","slug":"product-schema","parentHref":"/technical-seo/on-page/structured-data/commerce/product-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","rich-results","productgroup-schema"],"taxonomy":["technical-seo","on-page"],"text":"Product schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. schema-markup structured-data rich-results productgroup-schema","passages":["Product schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/product-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Product Variant SEO","desc":"Product variant SEO is deciding how search engines crawl, index, and rank a product sold in multiple options (size, color, material). The job is sorting which variants deserve their own indexable URL and which should be consolidated to a base URL with a canonical.","snippetText":"Product variant SEO is deciding how search engines crawl, index, and rank a product sold in multiple options (size, color, material). The job is sorting which variants deserve their own indexable URL and which should be consolidated to a base URL with a canonical.","href":"/ecommerce-seo/product-pages/product-variant-seo/#glossary","slug":"product-variant-seo","parentHref":"/ecommerce-seo/product-pages/product-variant-seo/","meta":"Glossary definition","aliases":["product-page-seo","canonicalization","faceted-navigation"],"taxonomy":["ecommerce-seo","product-pages"],"text":"Product variant SEO is deciding how search engines crawl, index, and rank a product sold in multiple options (size, color, material). The job is sorting which variants deserve their own indexable URL and which should be consolidated to a base URL with a canonical. product-page-seo canonicalization faceted-navigation","passages":["Product variant SEO is deciding how search engines crawl, index, and rank a product sold in multiple options (size, color, material). The job is sorting which variants deserve their own indexable URL and which should be consolidated to a base URL with a canonical."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/product-variant-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"ProductGroup Schema","desc":"ProductGroup schema is structured data that groups product variants — like a shirt's sizes and colors — under one parent so Google understands they're options of the same item, not separate products. It wraps individual Product markup via hasVariant/variesBy/productGroupID; it doesn't replace it.","snippetText":"ProductGroup schema is structured data that groups product variants — like a shirt's sizes and colors — under one parent so Google understands they're options of the same item, not separate products. It wraps individual Product markup via hasVariant/variesBy/productGroupID; it doesn't replace it.","href":"/technical-seo/on-page/structured-data/commerce/productgroup-schema/#glossary","slug":"productgroup-schema","parentHref":"/technical-seo/on-page/structured-data/commerce/productgroup-schema/","meta":"Glossary definition","aliases":["schema-markup","product-variant-seo","structured-data"],"taxonomy":["technical-seo","on-page"],"text":"ProductGroup schema is structured data that groups product variants — like a shirt's sizes and colors — under one parent so Google understands they're options of the same item, not separate products. It wraps individual Product markup via hasVariant/variesBy/productGroupID; it doesn't replace it. schema-markup product-variant-seo structured-data","passages":["ProductGroup schema is structured data that groups product variants — like a shirt's sizes and colors — under one parent so Google understands they're options of the same item, not separate products. It wraps individual Product markup via hasVariant/variesBy/productGroupID; it doesn't replace it."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/productgroup-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Programmatic SEO","desc":"Programmatic SEO (pSEO) is the practice of generating many pages from a single template plus a data source to target large sets of similar queries. It's powerful when each page genuinely answers its query with unique data, and spam when it just stamps a thin template across a shallow dataset.","snippetText":"Programmatic SEO (pSEO) is the practice of generating many pages from a single template plus a data source to target large sets of similar queries. It's powerful when each page genuinely answers its query with unique data, and spam when it just stamps a thin template across a shallow dataset.","href":"/programmatic-seo/#glossary","slug":"programmatic-seo","parentHref":"/programmatic-seo/","meta":"Glossary definition","aliases":["scaled-content-abuse","doorway-pages","faceted-navigation","crawl-budget","thin-content"],"taxonomy":["programmatic-seo"],"text":"Programmatic SEO (pSEO) is the practice of generating many pages from a single template plus a data source to target large sets of similar queries. It's powerful when each page genuinely answers its query with unique data, and spam when it just stamps a thin template across a shallow dataset. scaled-content-abuse doorway-pages faceted-navigation crawl-budget thin-content","passages":["Programmatic SEO (pSEO) is the practice of generating many pages from a single template plus a data source to target large sets of similar queries. It's powerful when each page genuinely answers its query with unique data, and spam when it just stamps a thin template across a shallow dataset."],"popular":0,"url":"https://patrickstox.com/programmatic-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Promotions & Deal Pages SEO","desc":"Promotions and deal pages SEO is the practice of building and optimizing an online store's own sale, deals, and coupon pages — like /sale/, /deals/, or /coupons/ — so they rank in Google for high-intent bargain queries, route crawlers to discounted products, and hold their earned authority year-round instead of being spun up and torn down for each promotion.","snippetText":"Promotions and deal pages SEO is the practice of building and optimizing an online store's own sale, deals, and coupon pages — like /sale/, /deals/, or /coupons/ — so they rank in Google for high-intent bargain queries, route crawlers to discounted products, and hold their earned authority year-round instead of being spun up and torn down for each promotion.","href":"/ecommerce-seo/categories-and-merchandising/promotions-deal-pages/#glossary","slug":"promotions-deal-pages","parentHref":"/ecommerce-seo/categories-and-merchandising/promotions-deal-pages/","meta":"Glossary definition","aliases":["category-page-seo","ecommerce-seo","ecommerce-seo-seasonality","product-page-seo"],"taxonomy":["ecommerce-seo","categories-and-merchandising"],"text":"Promotions and deal pages SEO is the practice of building and optimizing an online store's own sale, deals, and coupon pages — like /sale/, /deals/, or /coupons/ — so they rank in Google for high-intent bargain queries, route crawlers to discounted products, and hold their earned authority year-round instead of being spun up and torn down for each promotion. category-page-seo ecommerce-seo ecommerce-seo-seasonality product-page-seo","passages":["Promotions and deal pages SEO is the practice of building and optimizing an online store's own sale, deals, and coupon pages — like /sale/, /deals/, or /coupons/ — so they rank in Google for high-intent bargain queries, route crawlers to discounted products, and hold their earned authority year-round instead of being spun up and torn down for each promotion."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/promotions-deal-pages/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"PWA SEO","desc":"PWA SEO is making sure a Progressive Web App's content is server-rendered or prerendered, its service worker never traps Googlebot in a stale cache, and its URLs are real, unique, and crawlable — since the manifest and offline features that make it a 'PWA' carry no ranking weight of their own.","snippetText":"PWA SEO is making sure a Progressive Web App's content is server-rendered or prerendered, its service worker never traps Googlebot in a stale cache, and its URLs are real, unique, and crawlable — since the manifest and offline features that make it a 'PWA' carry no ranking weight of their own.","href":"/technical-seo/mobile-seo/pwa-seo/#glossary","slug":"pwa-seo","parentHref":"/technical-seo/mobile-seo/pwa-seo/","meta":"Glossary definition","aliases":["spa-seo","javascript-seo"],"taxonomy":["technical-seo","mobile-seo"],"text":"PWA SEO is making sure a Progressive Web App's content is server-rendered or prerendered, its service worker never traps Googlebot in a stale cache, and its URLs are real, unique, and crawlable — since the manifest and offline features that make it a 'PWA' carry no ranking weight of their own. spa-seo javascript-seo","passages":["PWA SEO is making sure a Progressive Web App's content is server-rendered or prerendered, its service worker never traps Googlebot in a stale cache, and its URLs are real, unique, and crawlable — since the manifest and offline features that make it a 'PWA' carry no ranking weight of their own."],"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/pwa-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"QAPage Schema","desc":"QAPage schema (schema.org/QAPage) is structured data for a page built around a single question with community-submitted answers — like a forum's solved thread or a Stack Overflow page — so Google can show it as a Q&A rich result. It's distinct from FAQPage (which is site-owner-authored) and, unlike FAQPage, remains an active, supported rich result as of mid-2026.","snippetText":"QAPage schema (schema.org/QAPage) is structured data for a page built around a single question with community-submitted answers — like a forum's solved thread or a Stack Overflow page — so Google can show it as a Q&A rich result. It's distinct from FAQPage (which is site-owner-authored) and, unlike FAQPage, remains an active, supported rich result as of mid-2026.","href":"/technical-seo/on-page/structured-data/social-community/qapage-schema/#glossary","slug":"qapage-schema","parentHref":"/technical-seo/on-page/structured-data/social-community/qapage-schema/","meta":"Glossary definition","aliases":["structured-data","faqpage-schema","discussionforum-schema"],"taxonomy":["technical-seo","on-page"],"text":"QAPage schema (schema.org/QAPage) is structured data for a page built around a single question with community-submitted answers — like a forum's solved thread or a Stack Overflow page — so Google can show it as a Q&A rich result. It's distinct from FAQPage (which is site-owner-authored) and, unlike FAQPage, remains an active, supported rich result as of mid-2026. structured-data faqpage-schema discussionforum-schema","passages":["QAPage schema (schema.org/QAPage) is structured data for a page built around a single question with community-submitted answers — like a forum's solved thread or a Stack Overflow page — so Google can show it as a Q&A rich result. It's distinct from FAQPage (which is site-owner-authored) and, unlike FAQPage, remains an active, supported rich result as of mid-2026."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/qapage-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Query Fan-Out","desc":"Query fan-out is the technique where an AI search system breaks a single user question into multiple related sub-queries, runs those searches concurrently, and synthesizes the retrieved results into one answer. Google confirms AI Overviews and AI Mode 'may use a query fan-out technique' issuing multiple related searches across subtopics.","snippetText":"Query fan-out is the technique where an AI search system breaks a single user question into multiple related sub-queries, runs those searches concurrently, and synthesizes the retrieved results into one answer. Google confirms AI Overviews and AI Mode 'may use a query fan-out technique' issuing multiple related searches across subtopics.","href":"/ai-search/how-search-works/query-fan-out/#glossary","slug":"query-fan-out","parentHref":"/ai-search/how-search-works/query-fan-out/","meta":"Glossary definition","aliases":["rag","grounding","ai-overviews-optimization"],"taxonomy":["ai-search","how-search-works"],"text":"Query fan-out is the technique where an AI search system breaks a single user question into multiple related sub-queries, runs those searches concurrently, and synthesizes the retrieved results into one answer. Google confirms AI Overviews and AI Mode 'may use a query fan-out technique' issuing multiple related searches across subtopics. rag grounding ai-overviews-optimization","passages":["Query fan-out is the technique where an AI search system breaks a single user question into multiple related sub-queries, runs those searches concurrently, and synthesizes the retrieved results into one answer. Google confirms AI Overviews and AI Mode 'may use a query fan-out technique' issuing multiple related searches across subtopics."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/query-fan-out/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Qwik SEO","desc":"Qwik SEO is the practice of optimizing sites built with Qwik, a JavaScript framework whose 'resumability' model serializes app state into HTML so the browser never has to hydrate. Content is in the HTML by default, so crawling, indexing, and Core Web Vitals are all structurally strong.","snippetText":"Qwik SEO is the practice of optimizing sites built with Qwik, a JavaScript framework whose 'resumability' model serializes app state into HTML so the browser never has to hydrate. Content is in the HTML by default, so crawling, indexing, and Core Web Vitals are all structurally strong.","href":"/technical-seo/platform-seo/js-frameworks/qwik-seo/#glossary","slug":"qwik-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/qwik-seo/","meta":"Glossary definition","aliases":["javascript-seo","core-web-vitals"],"taxonomy":["technical-seo","platform-seo"],"text":"Qwik SEO is the practice of optimizing sites built with Qwik, a JavaScript framework whose 'resumability' model serializes app state into HTML so the browser never has to hydrate. Content is in the HTML by default, so crawling, indexing, and Core Web Vitals are all structurally strong. javascript-seo core-web-vitals","passages":["Qwik SEO is the practice of optimizing sites built with Qwik, a JavaScript framework whose 'resumability' model serializes app state into HTML so the browser never has to hydrate. Content is in the HTML by default, so crawling, indexing, and Core Web Vitals are all structurally strong."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/qwik-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Retrieval-Augmented Generation (RAG)","desc":"RAG is the retrieve-then-generate pattern behind AI search: the system retrieves relevant passages from an external index at query time, injects them into the model's context, and generates an answer grounded in those sources — without changing the model's weights.","snippetText":"RAG is the retrieve-then-generate pattern behind AI search: the system retrieves relevant passages from an external index at query time, injects them into the model's context, and generates an answer grounded in those sources — without changing the model's weights.","href":"/ai-search/how-search-works/rag/#glossary","slug":"rag","parentHref":"/ai-search/how-search-works/rag/","meta":"Glossary definition","aliases":["grounding","ai-search","knowledge-cutoff"],"taxonomy":["ai-search","how-search-works"],"text":"RAG is the retrieve-then-generate pattern behind AI search: the system retrieves relevant passages from an external index at query time, injects them into the model's context, and generates an answer grounded in those sources — without changing the model's weights. grounding ai-search knowledge-cutoff","passages":["RAG is the retrieve-then-generate pattern behind AI search: the system retrieves relevant passages from an external index at query time, injects them into the model's context, and generates an answer grounded in those sources — without changing the model's weights."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/rag/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"React SEO","desc":"React SEO is the practice of making React apps crawlable and indexable. React renders client-side by default, so the raw HTML is near-empty until JavaScript runs — SSR or SSG puts the content back in the initial response where crawlers (and AI bots) can reliably see it.","snippetText":"React SEO is the practice of making React apps crawlable and indexable. React renders client-side by default, so the raw HTML is near-empty until JavaScript runs — SSR or SSG puts the content back in the initial response where crawlers (and AI bots) can reliably see it.","href":"/technical-seo/platform-seo/js-frameworks/react-seo/#glossary","slug":"react-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/react-seo/","meta":"Glossary definition","aliases":["javascript-seo","headless-cms-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"React SEO is the practice of making React apps crawlable and indexable. React renders client-side by default, so the raw HTML is near-empty until JavaScript runs — SSR or SSG puts the content back in the initial response where crawlers (and AI bots) can reliably see it. javascript-seo headless-cms-seo","passages":["React SEO is the practice of making React apps crawlable and indexable. React renders client-side by default, so the raw HTML is near-empty until JavaScript runs — SSR or SSG puts the content back in the initial response where crawlers (and AI bots) can reliably see it."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/react-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Recipe Schema","desc":"Recipe schema (schema.org/Recipe) marks up a cooking recipe's image, name, ratings, times, ingredients, and nutrition so the page can earn Google's recipe rich result — a visual card with star ratings and cook time, plus carousel and recipe-filter eligibility.","snippetText":"Recipe schema (schema.org/Recipe) marks up a cooking recipe's image, name, ratings, times, ingredients, and nutrition so the page can earn Google's recipe rich result — a visual card with star ratings and cook time, plus carousel and recipe-filter eligibility.","href":"/technical-seo/on-page/structured-data/creative-works/recipe-schema/#glossary","slug":"recipe-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/recipe-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","rich-results","videoobject-schema"],"taxonomy":["technical-seo","on-page"],"text":"Recipe schema (schema.org/Recipe) marks up a cooking recipe's image, name, ratings, times, ingredients, and nutrition so the page can earn Google's recipe rich result — a visual card with star ratings and cook time, plus carousel and recipe-filter eligibility. schema-markup structured-data rich-results videoobject-schema","passages":["Recipe schema (schema.org/Recipe) marks up a cooking recipe's image, name, ratings, times, ingredients, and nutrition so the page can earn Google's recipe rich result — a visual card with star ratings and cook time, plus carousel and recipe-filter eligibility."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/recipe-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Reciprocal hreflang","desc":"If page A lists page B as an alternate, B must list A back — or Google ignores the pair.","snippetText":"If page A lists page B as an alternate, B must list A back — or Google ignores the pair.","href":"/international-seo/hreflang/hreflang-audit/#glossary","slug":"reciprocal-hreflang","parentHref":"/international-seo/hreflang/hreflang-audit/","meta":"Glossary definition","aliases":["Hreflang"],"taxonomy":["international-seo","hreflang"],"text":"If page A lists page B as an alternate, B must list A back — or Google ignores the pair. Hreflang","passages":["If page A lists page B as an alternate, B must list A back — or Google ignores the pair."],"popular":0,"url":"https://patrickstox.com/international-seo/hreflang/hreflang-audit/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Redirect","desc":"A redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.","snippetText":"A redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.","href":"/technical-seo/http-status-codes/redirects/#glossary","slug":"redirect","parentHref":"/technical-seo/http-status-codes/redirects/","meta":"Glossary definition","aliases":["301-redirect","302-redirect","redirect-chain"],"taxonomy":["technical-seo","http-status-codes"],"text":"A redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. 301-redirect 302-redirect redirect-chain","passages":["A redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Redirect chain","desc":"A → B → C instead of A → C. Each hop loses link equity and adds latency.","snippetText":"A → B → C instead of A → C. Each hop loses link equity and adds latency.","href":"/technical-seo/http-status-codes/redirects/redirect-chains/#glossary","slug":"redirect-chain","parentHref":"/technical-seo/http-status-codes/redirects/redirect-chains/","meta":"Glossary definition","aliases":["301 redirect","redirect loop"],"taxonomy":["technical-seo","http-status-codes"],"text":"A → B → C instead of A → C. Each hop loses link equity and adds latency. 301 redirect redirect loop","passages":["A → B → C instead of A → C. Each hop loses link equity and adds latency."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/redirect-chains/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Redirect error","desc":"A Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"","snippetText":"A Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\"","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/redirect-error/#glossary","slug":"redirect-error","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/redirect-error/","meta":"Glossary definition","aliases":["redirect-chain","301-redirect","gsc-page-indexing"],"taxonomy":["technical-seo","how-search-works"],"text":"A Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\" redirect-chain 301-redirect gsc-page-indexing","passages":["A Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\""],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/redirect-error/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Redirect loop","desc":"A redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything.","snippetText":"A redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything.","href":"/technical-seo/http-status-codes/redirects/redirect-loops/#glossary","slug":"redirect-loop","parentHref":"/technical-seo/http-status-codes/redirects/redirect-loops/","meta":"Glossary definition","aliases":["redirect-chain","redirect-error"],"taxonomy":["technical-seo","http-status-codes"],"text":"A redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything. redirect-chain redirect-error","passages":["A redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/redirect-loops/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"rel=\"alternate\"","desc":"rel=\"alternate\" is a value of the HTML link rel attribute that declares another version of the current document. Its exact meaning depends on the attribute paired with it: hreflang for a language/region variant, type for an RSS/Atom feed, or media for a separate mobile URL. It's a routing and consolidation signal, not a ranking lever.","snippetText":"rel=\"alternate\" is a value of the HTML link rel attribute that declares another version of the current document. Its exact meaning depends on the attribute paired with it: hreflang for a language/region variant, type for an RSS/Atom feed, or media for a separate mobile URL. It's a routing and consolidation signal, not a ranking lever.","href":"/technical-seo/on-page/meta-tags/rel-alternate/#glossary","slug":"rel-alternate","parentHref":"/technical-seo/on-page/meta-tags/rel-alternate/","meta":"Glossary definition","aliases":["hreflang","meta-tags","canonicalization"],"taxonomy":["technical-seo","on-page"],"text":"rel=\"alternate\" is a value of the HTML link rel attribute that declares another version of the current document. Its exact meaning depends on the attribute paired with it: hreflang for a language/region variant, type for an RSS/Atom feed, or media for a separate mobile URL. It's a routing and consolidation signal, not a ranking lever. hreflang meta-tags canonicalization","passages":["rel=\"alternate\" is a value of the HTML link rel attribute that declares another version of the current document. Its exact meaning depends on the attribute paired with it: hreflang for a language/region variant, type for an RSS/Atom feed, or media for a separate mobile URL. It's a routing and consolidation signal, not a ranking lever."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/rel-alternate/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"rel=sponsored & rel=ugc","desc":"rel=\"sponsored\" and rel=\"ugc\" are link attribute values you put on <a> tags to tell search engines a link's nature: sponsored for paid/affiliate/ad links, ugc for user-generated links like comments and forum posts. Both are hints, not strict directives.","snippetText":"rel=\"sponsored\" and rel=\"ugc\" are link attribute values you put on <a> tags to tell search engines a link's nature: sponsored for paid/affiliate/ad links, ugc for user-generated links like comments and forum posts. Both are hints, not strict directives.","href":"/technical-seo/on-page/meta-tags/rel-sponsored-ugc/#glossary","slug":"rel-sponsored-ugc","parentHref":"/technical-seo/on-page/meta-tags/rel-sponsored-ugc/","meta":"Glossary definition","aliases":["nofollow","meta-robots"],"taxonomy":["technical-seo","on-page"],"text":"rel=\"sponsored\" and rel=\"ugc\" are link attribute values you put on <a> tags to tell search engines a link's nature: sponsored for paid/affiliate/ad links, ugc for user-generated links like comments and forum posts. Both are hints, not strict directives. nofollow meta-robots","passages":["rel=\"sponsored\" and rel=\"ugc\" are link attribute values you put on <a> tags to tell search engines a link's nature: sponsored for paid/affiliate/ad links, ugc for user-generated links like comments and forum posts. Both are hints, not strict directives."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/rel-sponsored-ugc/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Related Products & Internal Linking","desc":"Related-product modules — 'You May Also Like,' 'Frequently Bought Together,' 'Customers Also Viewed' — are on-page widgets that link one product or category page to others in the catalog. Each item is an internal link, so the same modules merchandisers build for cross-sell double as an SEO channel: they open crawl paths into deep catalog pages and pass relevance and PageRank between related products.","snippetText":"Related-product modules — 'You May Also Like,' 'Frequently Bought Together,' 'Customers Also Viewed' — are on-page widgets that link one product or category page to others in the catalog. Each item is an internal link, so the same modules merchandisers build for cross-sell double as an SEO channel: they open crawl paths into deep catalog pages and pass relevance and PageRank between related products.","href":"/ecommerce-seo/architecture-and-crawl-control/related-products-internal-links/#glossary","slug":"related-products-internal-links","parentHref":"/ecommerce-seo/architecture-and-crawl-control/related-products-internal-links/","meta":"Glossary definition","aliases":["internal-links","anchor-text","product-page-seo","category-page-seo"],"taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"Related-product modules — 'You May Also Like,' 'Frequently Bought Together,' 'Customers Also Viewed' — are on-page widgets that link one product or category page to others in the catalog. Each item is an internal link, so the same modules merchandisers build for cross-sell double as an SEO channel: they open crawl paths into deep catalog pages and pass relevance and PageRank between related products. internal-links anchor-text product-page-seo category-page-seo","passages":["Related-product modules — 'You May Also Like,' 'Frequently Bought Together,' 'Customers Also Viewed' — are on-page widgets that link one product or category page to others in the catalog. Each item is an internal link, so the same modules merchandisers build for cross-sell double as an SEO channel: they open crawl paths into deep catalog pages and pass relevance and PageRank between related products."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/related-products-internal-links/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Remix SEO","desc":"Remix SEO is the set of framework-native practices for making Remix v2 / React Router (v7-v8) sites crawlable and indexable. These frameworks are server-rendered by default, so content ships in the HTML — and per-route meta(), loader(), headers(), and links() exports control every HTML and HTTP signal that matters. Remix 3 (beta) is now a separate, newer full-stack framework, not simply a renamed React Router.","snippetText":"Remix SEO is the set of framework-native practices for making Remix v2 / React Router (v7-v8) sites crawlable and indexable. These frameworks are server-rendered by default, so content ships in the HTML — and per-route meta(), loader(), headers(), and links() exports control every HTML and HTTP signal that matters. Remix 3 (beta) is now a separate, newer full-stack framework, not simply a renamed React Router.","href":"/technical-seo/platform-seo/js-frameworks/remix-seo/#glossary","slug":"remix-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/remix-seo/","meta":"Glossary definition","aliases":["javascript-seo","meta-frameworks"],"taxonomy":["technical-seo","platform-seo"],"text":"Remix SEO is the set of framework-native practices for making Remix v2 / React Router (v7-v8) sites crawlable and indexable. These frameworks are server-rendered by default, so content ships in the HTML — and per-route meta(), loader(), headers(), and links() exports control every HTML and HTTP signal that matters. Remix 3 (beta) is now a separate, newer full-stack framework, not simply a renamed React Router. javascript-seo meta-frameworks","passages":["Remix SEO is the set of framework-native practices for making Remix v2 / React Router (v7-v8) sites crawlable and indexable. These frameworks are server-rendered by default, so content ships in the HTML — and per-route meta(), loader(), headers(), and links() exports control every HTML and HTTP signal that matters. Remix 3 (beta) is now a separate, newer full-stack framework, not simply a renamed React Router."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/remix-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Removals tool","desc":"A Google Search Console feature for verified owners to manage how their URLs appear in Search. A Temporary Removal hides a URL for about six months — it does not delete the page from the index.","snippetText":"A Google Search Console feature for verified owners to manage how their URLs appear in Search. A Temporary Removal hides a URL for about six months — it does not delete the page from the index.","href":"/technical-seo/tools/search-engine-tools/google-search-console/removals-tool/#glossary","slug":"removals-tool","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/removals-tool/","meta":"Glossary definition","aliases":["google-search-console","noindex","robots-txt"],"taxonomy":["technical-seo","tools"],"text":"A Google Search Console feature for verified owners to manage how their URLs appear in Search. A Temporary Removal hides a URL for about six months — it does not delete the page from the index. google-search-console noindex robots-txt","passages":["A Google Search Console feature for verified owners to manage how their URLs appear in Search. A Temporary Removal hides a URL for about six months — it does not delete the page from the index."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/removals-tool/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Render-Blocking Resources","desc":"Render-blocking resources are CSS and synchronous JavaScript files a browser must download and process before it can paint any visible content. They sit on the critical rendering path and delay First Contentful Paint and Largest Contentful Paint.","snippetText":"Render-blocking resources are CSS and synchronous JavaScript files a browser must download and process before it can paint any visible content. They sit on the critical rendering path and delay First Contentful Paint and Largest Contentful Paint.","href":"/technical-seo/web-performance/critical-rendering-path/render-blocking-resources/#glossary","slug":"render-blocking-resources","parentHref":"/technical-seo/web-performance/critical-rendering-path/render-blocking-resources/","meta":"Glossary definition","aliases":["core-web-vitals","lcp"],"taxonomy":["technical-seo","web-performance"],"text":"Render-blocking resources are CSS and synchronous JavaScript files a browser must download and process before it can paint any visible content. They sit on the critical rendering path and delay First Contentful Paint and Largest Contentful Paint. core-web-vitals lcp","passages":["Render-blocking resources are CSS and synchronous JavaScript files a browser must download and process before it can paint any visible content. They sit on the critical rendering path and delay First Contentful Paint and Largest Contentful Paint."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/render-blocking-resources/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Rendering","desc":"Turning HTML, CSS, and JavaScript into the final visual page and DOM.","snippetText":"Turning HTML, CSS, and JavaScript into the final visual page and DOM.","href":"/technical-seo/how-search-works/rendering/#glossary","slug":"rendering","parentHref":"/technical-seo/how-search-works/rendering/","meta":"Glossary definition","aliases":["JavaScript SEO","Hydration"],"taxonomy":["technical-seo","how-search-works"],"text":"Turning HTML, CSS, and JavaScript into the final visual page and DOM. JavaScript SEO Hydration","passages":["Turning HTML, CSS, and JavaScript into the final visual page and DOM."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/rendering/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Reranking","desc":"Reranking is the second stage of a retrieval pipeline: after a cheap, broad first pass pulls a candidate set of documents or passages, a slower, more precise model re-scores and reorders that shortlist by true relevance before the results are served or handed to an LLM.","snippetText":"Reranking is the second stage of a retrieval pipeline: after a cheap, broad first pass pulls a candidate set of documents or passages, a slower, more precise model re-scores and reorders that shortlist by true relevance before the results are served or handed to an LLM.","href":"/ai-search/how-search-works/reranking/#glossary","slug":"reranking","parentHref":"/ai-search/how-search-works/reranking/","meta":"Glossary definition","aliases":["embeddings","vector-search","rag"],"taxonomy":["ai-search","how-search-works"],"text":"Reranking is the second stage of a retrieval pipeline: after a cheap, broad first pass pulls a candidate set of documents or passages, a slower, more precise model re-scores and reorders that shortlist by true relevance before the results are served or handed to an LLM. embeddings vector-search rag","passages":["Reranking is the second stage of a retrieval pipeline: after a cheap, broad first pass pulls a candidate set of documents or passages, a slower, more precise model re-scores and reorders that shortlist by true relevance before the results are served or handed to an LLM."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/reranking/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Resource Hints","desc":"Resource hints are <link> elements (or equivalent HTTP Link headers) that tell the browser to do network work — DNS lookups, connection setup, or fetching a resource — earlier than it would discover the need on its own. The main ones are dns-prefetch, preconnect, preload, modulepreload, and prefetch.","snippetText":"Resource hints are <link> elements (or equivalent HTTP Link headers) that tell the browser to do network work — DNS lookups, connection setup, or fetching a resource — earlier than it would discover the need on its own. The main ones are dns-prefetch, preconnect, preload, modulepreload, and prefetch.","href":"/technical-seo/web-performance/resource-hints/#glossary","slug":"resource-hints","parentHref":"/technical-seo/web-performance/resource-hints/","meta":"Glossary definition","aliases":["core-web-vitals","lcp","render-blocking-resources"],"taxonomy":["technical-seo","web-performance"],"text":"Resource hints are <link> elements (or equivalent HTTP Link headers) that tell the browser to do network work — DNS lookups, connection setup, or fetching a resource — earlier than it would discover the need on its own. The main ones are dns-prefetch, preconnect, preload, modulepreload, and prefetch. core-web-vitals lcp render-blocking-resources","passages":["Resource hints are <link> elements (or equivalent HTTP Link headers) that tell the browser to do network work — DNS lookups, connection setup, or fetching a resource — earlier than it would discover the need on its own. The main ones are dns-prefetch, preconnect, preload, modulepreload, and prefetch."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/resource-hints/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Responsive Web Design","desc":"A mobile configuration that serves the same HTML on the same URL to every device and uses CSS media queries to adapt the layout to the viewport. It's Google's recommended setup and requires a correct viewport meta tag to work.","snippetText":"A mobile configuration that serves the same HTML on the same URL to every device and uses CSS media queries to adapt the layout to the viewport. It's Google's recommended setup and requires a correct viewport meta tag to work.","href":"/technical-seo/mobile-seo/responsive-design/#glossary","slug":"responsive-design","parentHref":"/technical-seo/mobile-seo/responsive-design/","meta":"Glossary definition","aliases":["mobile-seo","mobile-first-indexing","dynamic-serving","viewport-meta-tag"],"taxonomy":["technical-seo","mobile-seo"],"text":"A mobile configuration that serves the same HTML on the same URL to every device and uses CSS media queries to adapt the layout to the viewport. It's Google's recommended setup and requires a correct viewport meta tag to work. mobile-seo mobile-first-indexing dynamic-serving viewport-meta-tag","passages":["A mobile configuration that serves the same HTML on the same URL to every device and uses CSS media queries to adapt the layout to the viewport. It's Google's recommended setup and requires a correct viewport meta tag to work."],"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/responsive-design/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Retrieved vs. Mentioned vs. Cited","desc":"Three distinct states of AI visibility: retrieved (an AI fetched your page as source material), mentioned (your brand appears in the answer text), and cited (your URL is linked as a source). They don't always happen together, and each is measured with a different tool.","snippetText":"Three distinct states of AI visibility: retrieved (an AI fetched your page as source material), mentioned (your brand appears in the answer text), and cited (your URL is linked as a source). They don't always happen together, and each is measured with a different tool.","href":"/ai-search/measurement-and-reporting/retrieved-mentioned-cited/#glossary","slug":"retrieved-mentioned-cited","parentHref":"/ai-search/measurement-and-reporting/retrieved-mentioned-cited/","meta":"Glossary definition","aliases":["llm-visibility","ai-share-of-voice","measurement-and-reporting"],"taxonomy":["ai-search","measurement-and-reporting"],"text":"Three distinct states of AI visibility: retrieved (an AI fetched your page as source material), mentioned (your brand appears in the answer text), and cited (your URL is linked as a source). They don't always happen together, and each is measured with a different tool. llm-visibility ai-share-of-voice measurement-and-reporting","passages":["Three distinct states of AI visibility: retrieved (an AI fetched your page as source material), mentioned (your brand appears in the answer text), and cited (your URL is linked as a source). They don't always happen together, and each is measured with a different tool."],"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/retrieved-mentioned-cited/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Review Schema","desc":"Review schema (schema.org/Review) is structured data for a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating — distinct from AggregateRating, which summarizes many reviews into an average.","snippetText":"Review schema (schema.org/Review) is structured data for a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating — distinct from AggregateRating, which summarizes many reviews into an average.","href":"/technical-seo/on-page/structured-data/metadata-trust/review-schema/#glossary","slug":"review-schema","parentHref":"/technical-seo/on-page/structured-data/metadata-trust/review-schema/","meta":"Glossary definition","aliases":["aggregaterating-schema","product-schema","organization-schema","schema-markup","structured-data","rich-results"],"taxonomy":["technical-seo","on-page"],"text":"Review schema (schema.org/Review) is structured data for a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating — distinct from AggregateRating, which summarizes many reviews into an average. aggregaterating-schema product-schema organization-schema schema-markup structured-data rich-results","passages":["Review schema (schema.org/Review) is structured data for a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating — distinct from AggregateRating, which summarizes many reviews into an average."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/review-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Rich Results","desc":"Rich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show.","snippetText":"Rich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show.","href":"/technical-seo/on-page/structured-data/rich-results/#glossary","slug":"rich-results","parentHref":"/technical-seo/on-page/structured-data/rich-results/","meta":"Glossary definition","aliases":["structured-data","schema-markup","rich-snippets"],"taxonomy":["technical-seo","on-page"],"text":"Rich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. structured-data schema-markup rich-snippets","passages":["Rich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/rich-results/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Rich Results Report","desc":"The Rich Results Report is Google Search Console's site-wide, over-time health check on structured data: a separate per-type report (under Enhancements, or Shopping for Product/Merchant listings) showing how many items are Valid, Valid with warnings, or Invalid, and why. It only tracks markup that's eligible for a supported rich result, and it can't fix anything for you.","snippetText":"The Rich Results Report is Google Search Console's site-wide, over-time health check on structured data: a separate per-type report (under Enhancements, or Shopping for Product/Merchant listings) showing how many items are Valid, Valid with warnings, or Invalid, and why. It only tracks markup that's eligible for a supported rich result, and it can't fix anything for you.","href":"/technical-seo/tools/search-engine-tools/google-search-console/rich-results-report/#glossary","slug":"rich-results-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/rich-results-report/","meta":"Glossary definition","aliases":["rich-results","structured-data","google-search-console"],"taxonomy":["technical-seo","tools"],"text":"The Rich Results Report is Google Search Console's site-wide, over-time health check on structured data: a separate per-type report (under Enhancements, or Shopping for Product/Merchant listings) showing how many items are Valid, Valid with warnings, or Invalid, and why. It only tracks markup that's eligible for a supported rich result, and it can't fix anything for you. rich-results structured-data google-search-console","passages":["The Rich Results Report is Google Search Console's site-wide, over-time health check on structured data: a separate per-type report (under Enhancements, or Shopping for Product/Merchant listings) showing how many items are Valid, Valid with warnings, or Invalid, and why. It only tracks markup that's eligible for a supported rich result, and it can't fix anything for you."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/rich-results-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Robots.txt","desc":"A plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.","snippetText":"A plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.","href":"/technical-seo/how-search-works/crawling/robots-txt/#glossary","slug":"robots-txt","parentHref":"/technical-seo/how-search-works/crawling/robots-txt/","meta":"Glossary definition","aliases":["crawling","crawl-budget"],"taxonomy":["technical-seo","how-search-works"],"text":"A plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. crawling crawl-budget","passages":["A plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/robots-txt/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"RSS Feeds","desc":"An RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap.","snippetText":"An RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap.","href":"/technical-seo/how-search-works/discovery/rss-feeds/#glossary","slug":"rss-feeds","parentHref":"/technical-seo/how-search-works/discovery/rss-feeds/","meta":"Glossary definition","aliases":["discovery","websub","sitemaps"],"taxonomy":["technical-seo","how-search-works"],"text":"An RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap. discovery websub sitemaps","passages":["An RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/rss-feeds/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SaaS SEO Audit","desc":"A SaaS SEO audit is the recurring process of reviewing a software company's marketing site — plus, deliberately, its docs and app surfaces — to find what's blocking crawling and indexing, wasting index budget, hurting Core Web Vitals on a JavaScript-heavy stack, and losing ground to competitors' comparison and integration pages, then prioritizing the findings by business impact rather than by raw issue count.","snippetText":"A SaaS SEO audit is the recurring process of reviewing a software company's marketing site — plus, deliberately, its docs and app surfaces — to find what's blocking crawling and indexing, wasting index budget, hurting Core Web Vitals on a JavaScript-heavy stack, and losing ground to competitors' comparison and integration pages, then prioritizing the findings by business impact rather than by raw issue count.","href":"/saas-seo/saas-seo-audit/#glossary","slug":"saas-seo-audit","parentHref":"/saas-seo/saas-seo-audit/","meta":"Glossary definition","aliases":["saas-seo","saas-seo-checklist"],"taxonomy":["saas-seo"],"text":"A SaaS SEO audit is the recurring process of reviewing a software company's marketing site — plus, deliberately, its docs and app surfaces — to find what's blocking crawling and indexing, wasting index budget, hurting Core Web Vitals on a JavaScript-heavy stack, and losing ground to competitors' comparison and integration pages, then prioritizing the findings by business impact rather than by raw issue count. saas-seo saas-seo-checklist","passages":["A SaaS SEO audit is the recurring process of reviewing a software company's marketing site — plus, deliberately, its docs and app surfaces — to find what's blocking crawling and indexing, wasting index budget, hurting Core Web Vitals on a JavaScript-heavy stack, and losing ground to competitors' comparison and integration pages, then prioritizing the findings by business impact rather than by raw issue count."],"popular":0,"url":"https://patrickstox.com/saas-seo/saas-seo-audit/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SaaS SEO Mistakes","desc":"SaaS SEO mistakes are the recurring, SaaS-specific failure modes on software company sites — JS-rendered content Google can't see, trial/app pages that leak into (or fall out of) the index, near-duplicate free-tool pages that cannibalize each other, neglected bottom-funnel pages, chasing traffic instead of signups, and treating docs as nobody's SEO job.","snippetText":"SaaS SEO mistakes are the recurring, SaaS-specific failure modes on software company sites — JS-rendered content Google can't see, trial/app pages that leak into (or fall out of) the index, near-duplicate free-tool pages that cannibalize each other, neglected bottom-funnel pages, chasing traffic instead of signups, and treating docs as nobody's SEO job.","href":"/saas-seo/saas-seo-mistakes/#glossary","slug":"saas-seo-mistakes","parentHref":"/saas-seo/saas-seo-mistakes/","meta":"Glossary definition","aliases":["saas-seo","saas-seo-checklist"],"taxonomy":["saas-seo"],"text":"SaaS SEO mistakes are the recurring, SaaS-specific failure modes on software company sites — JS-rendered content Google can't see, trial/app pages that leak into (or fall out of) the index, near-duplicate free-tool pages that cannibalize each other, neglected bottom-funnel pages, chasing traffic instead of signups, and treating docs as nobody's SEO job. saas-seo saas-seo-checklist","passages":["SaaS SEO mistakes are the recurring, SaaS-specific failure modes on software company sites — JS-rendered content Google can't see, trial/app pages that leak into (or fall out of) the index, near-duplicate free-tool pages that cannibalize each other, neglected bottom-funnel pages, chasing traffic instead of signups, and treating docs as nobody's SEO job."],"popular":0,"url":"https://patrickstox.com/saas-seo/saas-seo-mistakes/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SaaS Technical SEO","desc":"SaaS technical SEO is the application of ordinary technical-SEO discipline — crawlability, rendering, indexing, canonicalization, internationalization — to the architecture problems that recur across software companies: JavaScript app-shell marketing sites, docs on a subdomain, freemium products that mint huge numbers of low-value URLs, and multi-region pricing. There's no separate SaaS algorithm; what's SaaS-specific is the shape of the technical surface the crawl → render → index → rank pipeline has to run against.","snippetText":"SaaS technical SEO is the application of ordinary technical-SEO discipline — crawlability, rendering, indexing, canonicalization, internationalization — to the architecture problems that recur across software companies: JavaScript app-shell marketing sites, docs on a subdomain, freemium products that mint huge numbers of low-value URLs, and multi-region pricing. There's no separate SaaS algorithm; what's SaaS-specific is the shape of the technical surface the crawl → render → index → rank pipeline has to run against.","href":"/saas-seo/saas-technical-seo/#glossary","slug":"saas-technical-seo","parentHref":"/saas-seo/saas-technical-seo/","meta":"Glossary definition","aliases":["saas-seo","javascript-seo","crawl-budget"],"taxonomy":["saas-seo"],"text":"SaaS technical SEO is the application of ordinary technical-SEO discipline — crawlability, rendering, indexing, canonicalization, internationalization — to the architecture problems that recur across software companies: JavaScript app-shell marketing sites, docs on a subdomain, freemium products that mint huge numbers of low-value URLs, and multi-region pricing. There's no separate SaaS algorithm; what's SaaS-specific is the shape of the technical surface the crawl → render → index → rank pipeline has to run against. saas-seo javascript-seo crawl-budget","passages":["SaaS technical SEO is the application of ordinary technical-SEO discipline — crawlability, rendering, indexing, canonicalization, internationalization — to the architecture problems that recur across software companies: JavaScript app-shell marketing sites, docs on a subdomain, freemium products that mint huge numbers of low-value URLs, and multi-region pricing. There's no separate SaaS algorithm; what's SaaS-specific is the shape of the technical surface the crawl → render → index → rank pipeline has to run against."],"popular":0,"url":"https://patrickstox.com/saas-seo/saas-technical-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Salesforce Commerce Cloud SEO","desc":"Salesforce Commerce Cloud SEO is the technical, on-page, and international work you do on a storefront built on Salesforce B2C Commerce (formerly Demandware, commonly SFCC) — an enterprise SaaS platform that ships strong native SEO building blocks (Business-Manager-editable robots.txt, scheduled auto-generated sitemaps, rule-based meta tags, canonical-by-design master/variation products) but leaves hreflang, faceted-navigation URLs, schema, and PWA Kit crawlability to deliberate, platform-literate configuration.","snippetText":"Salesforce Commerce Cloud SEO is the technical, on-page, and international work you do on a storefront built on Salesforce B2C Commerce (formerly Demandware, commonly SFCC) — an enterprise SaaS platform that ships strong native SEO building blocks (Business-Manager-editable robots.txt, scheduled auto-generated sitemaps, rule-based meta tags, canonical-by-design master/variation products) but leaves hreflang, faceted-navigation URLs, schema, and PWA Kit crawlability to deliberate, platform-literate configuration.","href":"/technical-seo/platform-seo/ecommerce-platforms/salesforce-commerce-cloud-seo/#glossary","slug":"salesforce-commerce-cloud-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/salesforce-commerce-cloud-seo/","meta":"Glossary definition","aliases":["faceted-navigation","canonicalization","hreflang","product-variant-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Salesforce Commerce Cloud SEO is the technical, on-page, and international work you do on a storefront built on Salesforce B2C Commerce (formerly Demandware, commonly SFCC) — an enterprise SaaS platform that ships strong native SEO building blocks (Business-Manager-editable robots.txt, scheduled auto-generated sitemaps, rule-based meta tags, canonical-by-design master/variation products) but leaves hreflang, faceted-navigation URLs, schema, and PWA Kit crawlability to deliberate, platform-literate configuration. faceted-navigation canonicalization hreflang product-variant-seo","passages":["Salesforce Commerce Cloud SEO is the technical, on-page, and international work you do on a storefront built on Salesforce B2C Commerce (formerly Demandware, commonly SFCC) — an enterprise SaaS platform that ships strong native SEO building blocks (Business-Manager-editable robots.txt, scheduled auto-generated sitemaps, rule-based meta tags, canonical-by-design master/variation products) but leaves hreflang, faceted-navigation URLs, schema, and PWA Kit crawlability to deliberate, platform-literate configuration."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/salesforce-commerce-cloud-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Sanity SEO","desc":"Sanity SEO is the set of technical and content practices that make a website built on Sanity.io rank and get cited. Sanity stores content as structured JSON and produces zero HTML, so every SEO output — meta tags, sitemaps, canonicals, structured data — is built in the frontend that consumes Sanity's API.","snippetText":"Sanity SEO is the set of technical and content practices that make a website built on Sanity.io rank and get cited. Sanity stores content as structured JSON and produces zero HTML, so every SEO output — meta tags, sitemaps, canonicals, structured data — is built in the frontend that consumes Sanity's API.","href":"/technical-seo/platform-seo/headless-cms/sanity-seo/#glossary","slug":"sanity-seo","parentHref":"/technical-seo/platform-seo/headless-cms/sanity-seo/","meta":"Glossary definition","aliases":["headless-cms-seo","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Sanity SEO is the set of technical and content practices that make a website built on Sanity.io rank and get cited. Sanity stores content as structured JSON and produces zero HTML, so every SEO output — meta tags, sitemaps, canonicals, structured data — is built in the frontend that consumes Sanity's API. headless-cms-seo javascript-seo","passages":["Sanity SEO is the set of technical and content practices that make a website built on Sanity.io rank and get cited. Sanity stores content as structured JSON and produces zero HTML, so every SEO output — meta tags, sitemaps, canonicals, structured data — is built in the frontend that consumes Sanity's API."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/sanity-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Scaled Content Abuse","desc":"Scaled content abuse is Google's spam policy (introduced March 2024) for generating many low-value pages primarily to manipulate search rankings rather than help users — and it applies no matter how the content is created: AI, automation, or human writers.","snippetText":"Scaled content abuse is Google's spam policy (introduced March 2024) for generating many low-value pages primarily to manipulate search rankings rather than help users — and it applies no matter how the content is created: AI, automation, or human writers.","href":"/programmatic-seo/risks/scaled-content-abuse/#glossary","slug":"scaled-content-abuse","parentHref":"/programmatic-seo/risks/scaled-content-abuse/","meta":"Glossary definition","aliases":["programmatic-seo","doorway-pages","thin-content","duplicate-content"],"taxonomy":["programmatic-seo","risks"],"text":"Scaled content abuse is Google's spam policy (introduced March 2024) for generating many low-value pages primarily to manipulate search rankings rather than help users — and it applies no matter how the content is created: AI, automation, or human writers. programmatic-seo doorway-pages thin-content duplicate-content","passages":["Scaled content abuse is Google's spam policy (introduced March 2024) for generating many low-value pages primarily to manipulate search rankings rather than help users — and it applies no matter how the content is created: AI, automation, or human writers."],"popular":0,"url":"https://patrickstox.com/programmatic-seo/risks/scaled-content-abuse/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Schema & Rich Result Deprecations","desc":"The ongoing, piecemeal process by which Google (almost always Google, not Bing) stops showing a visual search-result enhancement for a schema.org-marked-up feature — even though the underlying schema.org type usually stays valid, parseable markup. A deprecation moves through a milestone chain that gets conflated into one date: announcement, when the visual rich result stops appearing, documentation removal, and tooling support removal (Search Console reporting, the Rich Results Test, then the API). 'Still valid' and 'still visible' are different things.","snippetText":"The ongoing, piecemeal process by which Google (almost always Google, not Bing) stops showing a visual search-result enhancement for a schema.org-marked-up feature — even though the underlying schema.org type usually stays valid, parseable markup. A deprecation moves through a milestone chain that gets conflated into one date: announcement, when the visual rich result stops appearing, documentation removal, and tooling support removal (Search Console reporting, the Rich Results Test, then the API). 'Still valid' and 'still visible' are different things.","href":"/technical-seo/on-page/structured-data/schema-deprecations/#glossary","slug":"schema-deprecations","parentHref":"/technical-seo/on-page/structured-data/schema-deprecations/","meta":"Glossary definition","aliases":["structured-data","schema-markup","rich-results"],"taxonomy":["technical-seo","on-page"],"text":"The ongoing, piecemeal process by which Google (almost always Google, not Bing) stops showing a visual search-result enhancement for a schema.org-marked-up feature — even though the underlying schema.org type usually stays valid, parseable markup. A deprecation moves through a milestone chain that gets conflated into one date: announcement, when the visual rich result stops appearing, documentation removal, and tooling support removal (Search Console reporting, the Rich Results Test, then the API). 'Still valid' and 'still visible' are different things. structured-data schema-markup rich-results","passages":["The ongoing, piecemeal process by which Google (almost always Google, not Bing) stops showing a visual search-result enhancement for a schema.org-marked-up feature — even though the underlying schema.org type usually stays valid, parseable markup. A deprecation moves through a milestone chain that gets conflated into one date: announcement, when the visual rich result stops appearing, documentation removal, and tooling support removal (Search Console reporting, the Rich Results Test, then the API). 'Still valid' and 'still visible' are different things."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/schema-deprecations/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Structured Data Errors","desc":"Structured data errors are problems in a page's schema.org markup that either break parsing entirely (malformed JSON-LD — trailing commas, unescaped quotes, a missing colon or brace) or parse fine but fail a search engine's eligibility rules for a rich result: missing required properties, wrong value types, a colliding/duplicate @id, or markup describing content that isn't visible on the page. Google surfaces them in the Rich Results Test and Search Console's Rich result report; schema.org's Schema Markup Validator checks general syntax/vocabulary. Fixing them restores rich-result eligibility — structured data isn't a ranking factor.","snippetText":"Structured data errors are problems in a page's schema.org markup that either break parsing entirely (malformed JSON-LD — trailing commas, unescaped quotes, a missing colon or brace) or parse fine but fail a search engine's eligibility rules for a rich result: missing required properties, wrong value types, a colliding/duplicate @id, or markup describing content that isn't visible on the page. Google surfaces them in the Rich Results Test and Search Console's Rich result report; schema.org's Schema Markup Validator checks general syntax/vocabulary. Fixing them restores rich-result eligibility ","href":"/technical-seo/on-page/structured-data/schema-errors/#glossary","slug":"schema-errors","parentHref":"/technical-seo/on-page/structured-data/schema-errors/","meta":"Glossary definition","aliases":["structured-data","canonicalization"],"taxonomy":["technical-seo","on-page"],"text":"Structured data errors are problems in a page's schema.org markup that either break parsing entirely (malformed JSON-LD — trailing commas, unescaped quotes, a missing colon or brace) or parse fine but fail a search engine's eligibility rules for a rich result: missing required properties, wrong value types, a colliding/duplicate @id, or markup describing content that isn't visible on the page. Google surfaces them in the Rich Results Test and Search Console's Rich result report; schema.org's Schema Markup Validator checks general syntax/vocabulary. Fixing them restores rich-result eligibility — structured data isn't a ranking factor. structured-data canonicalization","passages":["Structured data errors are problems in a page's schema.org markup that either break parsing entirely (malformed JSON-LD — trailing commas, unescaped quotes, a missing colon or brace) or parse fine but fail a search engine's eligibility rules for a rich result: missing required properties, wrong value types, a colliding/duplicate @id, or markup describing content that isn't visible on the page. Google surfaces them in the Rich Results Test and Search Console's Rich result report; schema.org's Schema Markup Validator checks general syntax/vocabulary. Fixing them restores rich-result eligibility — structured data isn't a ranking factor."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/schema-errors/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Schema Markup","desc":"Schema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor.","snippetText":"Schema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor.","href":"/technical-seo/on-page/structured-data/schema-markup/#glossary","slug":"schema-markup","parentHref":"/technical-seo/on-page/structured-data/schema-markup/","meta":"Glossary definition","aliases":["structured-data","rich-results","json-ld"],"taxonomy":["technical-seo","on-page"],"text":"Schema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. structured-data rich-results json-ld","passages":["Schema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/schema-markup/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Schema Markup for AI","desc":"Schema markup (structured data) is machine-readable code — usually JSON-LD — that labels what your content means using the schema.org vocabulary. For AI search it's infrastructure for entity disambiguation, not a direct citation lever: controlled studies found no meaningful uplift in AI citations from adding it.","snippetText":"Schema markup (structured data) is machine-readable code — usually JSON-LD — that labels what your content means using the schema.org vocabulary. For AI search it's infrastructure for entity disambiguation, not a direct citation lever: controlled studies found no meaningful uplift in AI citations from adding it.","href":"/ai-search/optimization/schema-markup-for-ai/#glossary","slug":"schema-markup-for-ai","parentHref":"/ai-search/optimization/schema-markup-for-ai/","meta":"Glossary definition","aliases":["ai-search-optimization","ai-search","entity-seo","structured-data"],"taxonomy":["ai-search","optimization"],"text":"Schema markup (structured data) is machine-readable code — usually JSON-LD — that labels what your content means using the schema.org vocabulary. For AI search it's infrastructure for entity disambiguation, not a direct citation lever: controlled studies found no meaningful uplift in AI citations from adding it. ai-search-optimization ai-search entity-seo structured-data","passages":["Schema markup (structured data) is machine-readable code — usually JSON-LD — that labels what your content means using the schema.org vocabulary. For AI search it's infrastructure for entity disambiguation, not a direct citation lever: controlled studies found no meaningful uplift in AI citations from adding it."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/schema-markup-for-ai/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Search Console API","desc":"A set of REST APIs that let you programmatically read and manage Google Search Console data for properties you've verified — Performance data, URL index status, sitemaps, and properties — authorized with OAuth 2.0.","snippetText":"A set of REST APIs that let you programmatically read and manage Google Search Console data for properties you've verified — Performance data, URL index status, sitemaps, and properties — authorized with OAuth 2.0.","href":"/technical-seo/tools/search-engine-tools/google-search-console/search-console-api/#glossary","slug":"search-console-api","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/search-console-api/","meta":"Glossary definition","aliases":["google-search-console","performance-report","url-inspection-tool"],"taxonomy":["technical-seo","tools"],"text":"A set of REST APIs that let you programmatically read and manage Google Search Console data for properties you've verified — Performance data, URL index status, sitemaps, and properties — authorized with OAuth 2.0. google-search-console performance-report url-inspection-tool","passages":["A set of REST APIs that let you programmatically read and manage Google Search Console data for properties you've verified — Performance data, URL index status, sitemaps, and properties — authorized with OAuth 2.0."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/search-console-api/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Search Engine Tools","desc":"The free, first-party consoles search engines give site owners — Google Search Console and Bing Webmaster Tools — to see how their pages are crawled, indexed, and ranked, and to fix problems. The legacy name is 'webmaster tools.'","snippetText":"The free, first-party consoles search engines give site owners — Google Search Console and Bing Webmaster Tools — to see how their pages are crawled, indexed, and ranked, and to fix problems. The legacy name is 'webmaster tools.'","href":"/technical-seo/tools/search-engine-tools/#glossary","slug":"search-engine-tools","parentHref":"/technical-seo/tools/search-engine-tools/","meta":"Glossary definition","aliases":["google-search-console","bing-webmaster-tools"],"taxonomy":["technical-seo","tools"],"text":"The free, first-party consoles search engines give site owners — Google Search Console and Bing Webmaster Tools — to see how their pages are crawled, indexed, and ranked, and to fix problems. The legacy name is 'webmaster tools.' google-search-console bing-webmaster-tools","passages":["The free, first-party consoles search engines give site owners — Google Search Console and Bing Webmaster Tools — to see how their pages are crawled, indexed, and ranked, and to fix problems. The legacy name is 'webmaster tools.'"],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Security Issues report","desc":"A Google Search Console report that flags signs your site was hacked or hosts content that could harm visitors — phishing, malware, or unwanted software. It's a user-safety flag, not a spam-policy penalty, and you clear it by fixing the problem and requesting a security review.","snippetText":"A Google Search Console report that flags signs your site was hacked or hosts content that could harm visitors — phishing, malware, or unwanted software. It's a user-safety flag, not a spam-policy penalty, and you clear it by fixing the problem and requesting a security review.","href":"/technical-seo/tools/search-engine-tools/google-search-console/security-issues-report/#glossary","slug":"security-issues-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/security-issues-report/","meta":"Glossary definition","aliases":["google-search-console"],"taxonomy":["technical-seo","tools"],"text":"A Google Search Console report that flags signs your site was hacked or hosts content that could harm visitors — phishing, malware, or unwanted software. It's a user-safety flag, not a spam-policy penalty, and you clear it by fixing the problem and requesting a security review. google-search-console","passages":["A Google Search Console report that flags signs your site was hacked or hosts content that could harm visitors — phishing, malware, or unwanted software. It's a user-safety flag, not a spam-policy penalty, and you clear it by fixing the problem and requesting a security review."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/security-issues-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Semantic HTML","desc":"Semantic HTML is the practice of using elements like <main>, <article>, <section>, <nav>, <header>, and <aside> to describe what content is, not just how it looks. It helps search engines and assistive tech identify a page's main content more reliably, but it isn't a ranking factor on its own.","snippetText":"Semantic HTML is the practice of using elements like <main>, <article>, <section>, <nav>, <header>, and <aside> to describe what content is, not just how it looks. It helps search engines and assistive tech identify a page's main content more reliably, but it isn't a ranking factor on its own.","href":"/technical-seo/on-page/html-seo/semantic-html/#glossary","slug":"semantic-html","parentHref":"/technical-seo/on-page/html-seo/semantic-html/","meta":"Glossary definition","aliases":["structured-data","crawling"],"taxonomy":["technical-seo","on-page"],"text":"Semantic HTML is the practice of using elements like <main>, <article>, <section>, <nav>, <header>, and <aside> to describe what content is, not just how it looks. It helps search engines and assistive tech identify a page's main content more reliably, but it isn't a ranking factor on its own. structured-data crawling","passages":["Semantic HTML is the practice of using elements like <main>, <article>, <section>, <nav>, <header>, and <aside> to describe what content is, not just how it looks. It helps search engines and assistive tech identify a page's main content more reliably, but it isn't a ranking factor on its own."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/html-seo/semantic-html/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Semantic Search","desc":"Semantic search is meaning-based retrieval — matching what a user means, not just the words they typed. Search engines detect entities, expand synonyms, infer intent, and rank by conceptual relevance, which is why keyword stuffing lost its power and topical depth gained it.","snippetText":"Semantic search is meaning-based retrieval — matching what a user means, not just the words they typed. Search engines detect entities, expand synonyms, infer intent, and rank by conceptual relevance, which is why keyword stuffing lost its power and topical depth gained it.","href":"/ai-search/how-search-works/semantic-search/#glossary","slug":"semantic-search","parentHref":"/ai-search/how-search-works/semantic-search/","meta":"Glossary definition","aliases":["entity-seo","embeddings","vector-search","rag"],"taxonomy":["ai-search","how-search-works"],"text":"Semantic search is meaning-based retrieval — matching what a user means, not just the words they typed. Search engines detect entities, expand synonyms, infer intent, and rank by conceptual relevance, which is why keyword stuffing lost its power and topical depth gained it. entity-seo embeddings vector-search rag","passages":["Semantic search is meaning-based retrieval — matching what a user means, not just the words they typed. Search engines detect entities, expand synonyms, infer intent, and rank by conceptual relevance, which is why keyword stuffing lost its power and topical depth gained it."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/semantic-search/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Semantic Triple","desc":"A semantic triple (or RDF triple) is a subject–predicate–object statement — the atomic unit of the RDF data model that knowledge graphs are built from (for example, \"Ahrefs — foundedIn — 2010\"). Schema.org markup is one practical way of expressing triples on a web page.","snippetText":"A semantic triple (or RDF triple) is a subject–predicate–object statement — the atomic unit of the RDF data model that knowledge graphs are built from (for example, \"Ahrefs — foundedIn — 2010\"). Schema.org markup is one practical way of expressing triples on a web page.","href":"/ai-search/optimization/semantic-triples/#glossary","slug":"semantic-triples","parentHref":"/ai-search/optimization/semantic-triples/","meta":"Glossary definition","aliases":["entity-seo","knowledge-graph-seo","structured-data"],"taxonomy":["ai-search","optimization"],"text":"A semantic triple (or RDF triple) is a subject–predicate–object statement — the atomic unit of the RDF data model that knowledge graphs are built from (for example, \"Ahrefs — foundedIn — 2010\"). Schema.org markup is one practical way of expressing triples on a web page. entity-seo knowledge-graph-seo structured-data","passages":["A semantic triple (or RDF triple) is a subject–predicate–object statement — the atomic unit of the RDF data model that knowledge graphs are built from (for example, \"Ahrefs — foundedIn — 2010\"). Schema.org markup is one practical way of expressing triples on a web page."],"popular":0,"url":"https://patrickstox.com/ai-search/optimization/semantic-triples/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SEO A/B Testing","desc":"SEO A/B testing (SEO split testing) measures the causal impact of an on-page or technical change on organic search by comparing a variant group of pages against a control group of similar pages — using a split-URL/holdout design or a time-series (before/after with control) model, because search engines can't show two versions of the same URL to the same query at once.","snippetText":"SEO A/B testing (SEO split testing) measures the causal impact of an on-page or technical change on organic search by comparing a variant group of pages against a control group of similar pages — using a split-URL/holdout design or a time-series (before/after with control) model, because search engines can't show two versions of the same URL to the same query at once.","href":"/enterprise-seo/strategy-and-operations/seo-ab-testing/#glossary","slug":"seo-ab-testing","parentHref":"/enterprise-seo/strategy-and-operations/seo-ab-testing/","meta":"Glossary definition","aliases":["enterprise-seo","b2b-seo","canonicalization"],"taxonomy":["enterprise-seo","strategy-and-operations"],"text":"SEO A/B testing (SEO split testing) measures the causal impact of an on-page or technical change on organic search by comparing a variant group of pages against a control group of similar pages — using a split-URL/holdout design or a time-series (before/after with control) model, because search engines can't show two versions of the same URL to the same query at once. enterprise-seo b2b-seo canonicalization","passages":["SEO A/B testing (SEO split testing) measures the causal impact of an on-page or technical change on organic search by comparing a variant group of pages against a control group of similar pages — using a split-URL/holdout design or a time-series (before/after with control) model, because search engines can't show two versions of the same URL to the same query at once."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/strategy-and-operations/seo-ab-testing/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SEO Audit Checklist","desc":"An SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory.","snippetText":"An SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory.","href":"/technical-seo/tools/seo-audit-checklist/#glossary","slug":"seo-audit-checklist","parentHref":"/technical-seo/tools/seo-audit-checklist/","meta":"Glossary definition","aliases":["technical-seo-checklist","enterprise-seo-audit","crawling"],"taxonomy":["technical-seo","tools"],"text":"An SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory. technical-seo-checklist enterprise-seo-audit crawling","passages":["An SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/seo-audit-checklist/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SEO Automation","desc":"SEO automation is the use of scripts, APIs, scheduled jobs, and no-code tools to run repetitive or data-heavy SEO tasks — monitoring, crawling, reporting, alerting, and content prep — without a human repeating the steps by hand. It sits on a spectrum from fully hands-off jobs to human-in-the-loop work a person reviews before anything ships.","snippetText":"SEO automation is the use of scripts, APIs, scheduled jobs, and no-code tools to run repetitive or data-heavy SEO tasks — monitoring, crawling, reporting, alerting, and content prep — without a human repeating the steps by hand. It sits on a spectrum from fully hands-off jobs to human-in-the-loop work a person reviews before anything ships.","href":"/enterprise-seo/strategy-and-operations/seo-automation/#glossary","slug":"seo-automation","parentHref":"/enterprise-seo/strategy-and-operations/seo-automation/","meta":"Glossary definition","aliases":["enterprise-seo","b2b-seo","log-file-analysis"],"taxonomy":["enterprise-seo","strategy-and-operations"],"text":"SEO automation is the use of scripts, APIs, scheduled jobs, and no-code tools to run repetitive or data-heavy SEO tasks — monitoring, crawling, reporting, alerting, and content prep — without a human repeating the steps by hand. It sits on a spectrum from fully hands-off jobs to human-in-the-loop work a person reviews before anything ships. enterprise-seo b2b-seo log-file-analysis","passages":["SEO automation is the use of scripts, APIs, scheduled jobs, and no-code tools to run repetitive or data-heavy SEO tasks — monitoring, crawling, reporting, alerting, and content prep — without a human repeating the steps by hand. It sits on a spectrum from fully hands-off jobs to human-in-the-loop work a person reviews before anything ships."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/strategy-and-operations/seo-automation/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SEO Forecasting","desc":"SEO forecasting uses historical data — traffic, click-through rate, rankings, and search volume — to project future organic search performance and its business impact. It's a probabilistic model under defined assumptions, not a guarantee of results.","snippetText":"SEO forecasting uses historical data — traffic, click-through rate, rankings, and search volume — to project future organic search performance and its business impact. It's a probabilistic model under defined assumptions, not a guarantee of results.","href":"/enterprise-seo/metrics/seo-forecasting/#glossary","slug":"seo-forecasting","parentHref":"/enterprise-seo/metrics/seo-forecasting/","meta":"Glossary definition","aliases":["enterprise-seo-metrics","seo-okrs","organic-traffic","ai-share-of-voice"],"taxonomy":["enterprise-seo","metrics"],"text":"SEO forecasting uses historical data — traffic, click-through rate, rankings, and search volume — to project future organic search performance and its business impact. It's a probabilistic model under defined assumptions, not a guarantee of results. enterprise-seo-metrics seo-okrs organic-traffic ai-share-of-voice","passages":["SEO forecasting uses historical data — traffic, click-through rate, rankings, and search volume — to project future organic search performance and its business impact. It's a probabilistic model under defined assumptions, not a guarantee of results."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/seo-forecasting/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SEO OKRs","desc":"SEO OKRs (Objectives and Key Results) are a goal-setting framework for SEO: a qualitative Objective sets the ambition, and 3–5 quantitative, time-bound Key Results measure whether you got there. They work best when they roll up to the company's business goals.","snippetText":"SEO OKRs (Objectives and Key Results) are a goal-setting framework for SEO: a qualitative Objective sets the ambition, and 3–5 quantitative, time-bound Key Results measure whether you got there. They work best when they roll up to the company's business goals.","href":"/enterprise-seo/metrics/seo-okrs/#glossary","slug":"seo-okrs","parentHref":"/enterprise-seo/metrics/seo-okrs/","meta":"Glossary definition","aliases":["enterprise-seo","share-of-voice","seo-metrics"],"taxonomy":["enterprise-seo","metrics"],"text":"SEO OKRs (Objectives and Key Results) are a goal-setting framework for SEO: a qualitative Objective sets the ambition, and 3–5 quantitative, time-bound Key Results measure whether you got there. They work best when they roll up to the company's business goals. enterprise-seo share-of-voice seo-metrics","passages":["SEO OKRs (Objectives and Key Results) are a goal-setting framework for SEO: a qualitative Objective sets the ambition, and 3–5 quantitative, time-bound Key Results measure whether you got there. They work best when they roll up to the company's business goals."],"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/seo-okrs/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SERP Features","desc":"SERP features are any element on a search results page beyond the classic ten blue links — featured snippets, People Also Ask, knowledge panels, sitelinks, image and video packs, AI Overviews, and structured-data-driven rich results. Google documents that losing rich-result eligibility doesn't affect ranking; their SEO relevance is CTR (they redistribute clicks). Some are unlocked by markup; most are purely algorithmic.","snippetText":"SERP features are any element on a search results page beyond the classic ten blue links — featured snippets, People Also Ask, knowledge panels, sitelinks, image and video packs, AI Overviews, and structured-data-driven rich results. Google documents that losing rich-result eligibility doesn't affect ranking; their SEO relevance is CTR (they redistribute clicks). Some are unlocked by markup; most are purely algorithmic.","href":"/technical-seo/on-page/structured-data/serp-features/#glossary","slug":"serp-features","parentHref":"/technical-seo/on-page/structured-data/serp-features/","meta":"Glossary definition","aliases":["rich-results","structured-data","featured-snippets","knowledge-panel"],"taxonomy":["technical-seo","on-page"],"text":"SERP features are any element on a search results page beyond the classic ten blue links — featured snippets, People Also Ask, knowledge panels, sitelinks, image and video packs, AI Overviews, and structured-data-driven rich results. Google documents that losing rich-result eligibility doesn't affect ranking; their SEO relevance is CTR (they redistribute clicks). Some are unlocked by markup; most are purely algorithmic. rich-results structured-data featured-snippets knowledge-panel","passages":["SERP features are any element on a search results page beyond the classic ten blue links — featured snippets, People Also Ask, knowledge panels, sitelinks, image and video packs, AI Overviews, and structured-data-driven rich results. Google documents that losing rich-result eligibility doesn't affect ranking; their SEO relevance is CTR (they redistribute clicks). Some are unlocked by markup; most are purely algorithmic."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/serp-features/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Server error (5xx)","desc":"A Page Indexing status in Google Search Console meaning Googlebot requested a URL and the server returned a 500-level HTTP error (500, 502, 503, 504) instead of a 200, so the page can't be indexed.","snippetText":"A Page Indexing status in Google Search Console meaning Googlebot requested a URL and the server returned a 500-level HTTP error (500, 502, 503, 504) instead of a 200, so the page can't be indexed.","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/server-error-5xx/#glossary","slug":"server-error-5xx","parentHref":"/technical-seo/how-search-works/indexing/gsc-page-indexing/server-error-5xx/","meta":"Glossary definition","aliases":["crawl-stats-report","crawl-rate","crawling"],"taxonomy":["technical-seo","how-search-works"],"text":"A Page Indexing status in Google Search Console meaning Googlebot requested a URL and the server returned a 500-level HTTP error (500, 502, 503, 504) instead of a 200, so the page can't be indexed. crawl-stats-report crawl-rate crawling","passages":["A Page Indexing status in Google Search Console meaning Googlebot requested a URL and the server returned a 500-level HTTP error (500, 502, 503, 504) instead of a 200, so the page can't be indexed."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/server-error-5xx/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Shopify SEO","desc":"Shopify SEO is the practice of optimizing a Shopify store to rank in organic search. Shopify handles a lot for you automatically — canonical tags, an XML sitemap, SSL, a fast CDN — but it also imposes a fixed URL structure (/products/, /collections/, /pages/, /blogs/) and creates a duplicate URL for every product reachable through a collection, which the platform canonicalizes for you.","snippetText":"Shopify SEO is the practice of optimizing a Shopify store to rank in organic search. Shopify handles a lot for you automatically — canonical tags, an XML sitemap, SSL, a fast CDN — but it also imposes a fixed URL structure (/products/, /collections/, /pages/, /blogs/) and creates a duplicate URL for every product reachable through a collection, which the platform canonicalizes for you.","href":"/technical-seo/platform-seo/ecommerce-platforms/shopify-seo/#glossary","slug":"shopify-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/shopify-seo/","meta":"Glossary definition","aliases":["ecommerce-seo","canonicalization","duplicate-content","faceted-navigation"],"taxonomy":["technical-seo","platform-seo"],"text":"Shopify SEO is the practice of optimizing a Shopify store to rank in organic search. Shopify handles a lot for you automatically — canonical tags, an XML sitemap, SSL, a fast CDN — but it also imposes a fixed URL structure (/products/, /collections/, /pages/, /blogs/) and creates a duplicate URL for every product reachable through a collection, which the platform canonicalizes for you. ecommerce-seo canonicalization duplicate-content faceted-navigation","passages":["Shopify SEO is the practice of optimizing a Shopify store to rank in organic search. Shopify handles a lot for you automatically — canonical tags, an XML sitemap, SSL, a fast CDN — but it also imposes a fixed URL structure (/products/, /collections/, /pages/, /blogs/) and creates a duplicate URL for every product reachable through a collection, which the platform canonicalizes for you."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/shopify-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Shopware SEO","desc":"Shopware SEO is the technical, on-page, and international work you do on a store built on Shopware 6 — a German-built, open-source-core ecommerce platform (Symfony/PHP + Vue.js storefront) that ships a large amount of native SEO out of the box (Twig-templated SEO URLs, canonical handling, XML sitemaps, hreflang via its Sales Channel/Domain model, and — in recent versions — native robots.txt and JSON-LD structured data), while still leaving bulk meta management, variant-canonical edge cases, cross-sales-channel hreflang, and headless (Composable Frontends) rendering to you.","snippetText":"Shopware SEO is the technical, on-page, and international work you do on a store built on Shopware 6 — a German-built, open-source-core ecommerce platform (Symfony/PHP + Vue.js storefront) that ships a large amount of native SEO out of the box (Twig-templated SEO URLs, canonical handling, XML sitemaps, hreflang via its Sales Channel/Domain model, and — in recent versions — native robots.txt and JSON-LD structured data), while still leaving bulk meta management, variant-canonical edge cases, cross-sales-channel hreflang, and headless (Composable Frontends) rendering to you.","href":"/technical-seo/platform-seo/ecommerce-platforms/shopware-seo/#glossary","slug":"shopware-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/shopware-seo/","meta":"Glossary definition","aliases":["canonicalization","hreflang","faceted-navigation"],"taxonomy":["technical-seo","platform-seo"],"text":"Shopware SEO is the technical, on-page, and international work you do on a store built on Shopware 6 — a German-built, open-source-core ecommerce platform (Symfony/PHP + Vue.js storefront) that ships a large amount of native SEO out of the box (Twig-templated SEO URLs, canonical handling, XML sitemaps, hreflang via its Sales Channel/Domain model, and — in recent versions — native robots.txt and JSON-LD structured data), while still leaving bulk meta management, variant-canonical edge cases, cross-sales-channel hreflang, and headless (Composable Frontends) rendering to you. canonicalization hreflang faceted-navigation","passages":["Shopware SEO is the technical, on-page, and international work you do on a store built on Shopware 6 — a German-built, open-source-core ecommerce platform (Symfony/PHP + Vue.js storefront) that ships a large amount of native SEO out of the box (Twig-templated SEO URLs, canonical handling, XML sitemaps, hreflang via its Sales Channel/Domain model, and — in recent versions — native robots.txt and JSON-LD structured data), while still leaving bulk meta management, variant-canonical edge cases, cross-sales-channel hreflang, and headless (Composable Frontends) rendering to you."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/shopware-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Silo Structure","desc":"A silo structure is a site organized by grouping related content into topic areas and concentrating internal links within each topic so a hub page and its supporting pages reinforce each other. Modern practice keeps the topical concentration and drops the old rule against cross-linking between topics.","snippetText":"A silo structure is a site organized by grouping related content into topic areas and concentrating internal links within each topic so a hub page and its supporting pages reinforce each other. Modern practice keeps the topical concentration and drops the old rule against cross-linking between topics.","href":"/technical-seo/website-structure/siloing/#glossary","slug":"siloing","parentHref":"/technical-seo/website-structure/siloing/","meta":"Glossary definition","aliases":["internal-links","site-architecture","topic-clusters","anchor-text"],"taxonomy":["technical-seo","website-structure"],"text":"A silo structure is a site organized by grouping related content into topic areas and concentrating internal links within each topic so a hub page and its supporting pages reinforce each other. Modern practice keeps the topical concentration and drops the old rule against cross-linking between topics. internal-links site-architecture topic-clusters anchor-text","passages":["A silo structure is a site organized by grouping related content into topic areas and concentrating internal links within each topic so a hub page and its supporting pages reinforce each other. Modern practice keeps the topical concentration and drops the old rule against cross-linking between topics."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/siloing/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Site Architecture","desc":"Site architecture is how a website's pages are organized, categorized, and interlinked. It controls how crawlers discover pages, how link equity flows, and how clearly search engines understand each page's topical context. Silo structure, hub and spoke, and topic clusters are the three common models.","snippetText":"Site architecture is how a website's pages are organized, categorized, and interlinked. It controls how crawlers discover pages, how link equity flows, and how clearly search engines understand each page's topical context. Silo structure, hub and spoke, and topic clusters are the three common models.","href":"/technical-seo/website-structure/site-architecture/#glossary","slug":"site-architecture","parentHref":"/technical-seo/website-structure/site-architecture/","meta":"Glossary definition","aliases":["internal-links","website-structure"],"taxonomy":["technical-seo","website-structure"],"text":"Site architecture is how a website's pages are organized, categorized, and interlinked. It controls how crawlers discover pages, how link equity flows, and how clearly search engines understand each page's topical context. Silo structure, hub and spoke, and topic clusters are the three common models. internal-links website-structure","passages":["Site architecture is how a website's pages are organized, categorized, and interlinked. It controls how crawlers discover pages, how link equity flows, and how clearly search engines understand each page's topical context. Silo structure, hub and spoke, and topic clusters are the three common models."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/site-architecture/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Sitecore SEO","desc":"Sitecore SEO is the set of technical, on-page, and governance practices applied to sites built on Sitecore — an enterprise Digital Experience Platform. Sitecore ships with very little SEO functionality by default; the work happens through SXA's SEO modules (on Sitecore XP) or the Next.js application layer (on XM Cloud headless), plus careful governance of templates, metadata inheritance, aliases, and robots.txt.","snippetText":"Sitecore SEO is the set of technical, on-page, and governance practices applied to sites built on Sitecore — an enterprise Digital Experience Platform. Sitecore ships with very little SEO functionality by default; the work happens through SXA's SEO modules (on Sitecore XP) or the Next.js application layer (on XM Cloud headless), plus careful governance of templates, metadata inheritance, aliases, and robots.txt.","href":"/technical-seo/platform-seo/cms/sitecore-seo/#glossary","slug":"sitecore-seo","parentHref":"/technical-seo/platform-seo/cms/sitecore-seo/","meta":"Glossary definition","aliases":["canonicalization","duplicate-content"],"taxonomy":["technical-seo","platform-seo"],"text":"Sitecore SEO is the set of technical, on-page, and governance practices applied to sites built on Sitecore — an enterprise Digital Experience Platform. Sitecore ships with very little SEO functionality by default; the work happens through SXA's SEO modules (on Sitecore XP) or the Next.js application layer (on XM Cloud headless), plus careful governance of templates, metadata inheritance, aliases, and robots.txt. canonicalization duplicate-content","passages":["Sitecore SEO is the set of technical, on-page, and governance practices applied to sites built on Sitecore — an enterprise Digital Experience Platform. Sitecore ships with very little SEO functionality by default; the work happens through SXA's SEO modules (on Sitecore XP) or the Next.js application layer (on XM Cloud headless), plus careful governance of templates, metadata inheritance, aliases, and robots.txt."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/sitecore-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Sitelinks","desc":"Sitelinks are extra links from the same domain that Google clusters together under a single search result, usually for branded or navigational queries. They're generated entirely algorithmically — there's no way to add, edit, or guarantee them.","snippetText":"Sitelinks are extra links from the same domain that Google clusters together under a single search result, usually for branded or navigational queries. They're generated entirely algorithmically — there's no way to add, edit, or guarantee them.","href":"/technical-seo/how-search-works/sitelinks/#glossary","slug":"sitelinks","parentHref":"/technical-seo/how-search-works/sitelinks/","meta":"Glossary definition","aliases":["internal-links","duplicate-content"],"taxonomy":["technical-seo","how-search-works"],"text":"Sitelinks are extra links from the same domain that Google clusters together under a single search result, usually for branded or navigational queries. They're generated entirely algorithmically — there's no way to add, edit, or guarantee them. internal-links duplicate-content","passages":["Sitelinks are extra links from the same domain that Google clusters together under a single search result, usually for branded or navigational queries. They're generated entirely algorithmically — there's no way to add, edit, or guarantee them."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/sitelinks/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Sitemap index","desc":"A sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file.","snippetText":"A sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file.","href":"/technical-seo/how-search-works/discovery/sitemaps/sitemap-index/#glossary","slug":"sitemap-index","parentHref":"/technical-seo/how-search-works/discovery/sitemaps/sitemap-index/","meta":"Glossary definition","aliases":["sitemaps","xml-sitemaps"],"taxonomy":["technical-seo","how-search-works"],"text":"A sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file. sitemaps xml-sitemaps","passages":["A sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/sitemap-index/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Sitemap priority","desc":"Sitemap priority is the optional <priority> tag (0.0–1.0, default 0.5) in the sitemaps.org XML protocol meant to rank a URL's importance relative to others on the same site. Google ignores it entirely — as does Bing — and it was never a ranking factor even by the spec's own admission.","snippetText":"Sitemap priority is the optional <priority> tag (0.0–1.0, default 0.5) in the sitemaps.org XML protocol meant to rank a URL's importance relative to others on the same site. Google ignores it entirely — as does Bing — and it was never a ranking factor even by the spec's own admission.","href":"/technical-seo/how-search-works/discovery/sitemap-priority/#glossary","slug":"sitemap-priority","parentHref":"/technical-seo/how-search-works/discovery/sitemap-priority/","meta":"Glossary definition","aliases":["sitemaps","xml-sitemaps","sitemap-index"],"taxonomy":["technical-seo","how-search-works"],"text":"Sitemap priority is the optional <priority> tag (0.0–1.0, default 0.5) in the sitemaps.org XML protocol meant to rank a URL's importance relative to others on the same site. Google ignores it entirely — as does Bing — and it was never a ranking factor even by the spec's own admission. sitemaps xml-sitemaps sitemap-index","passages":["Sitemap priority is the optional <priority> tag (0.0–1.0, default 0.5) in the sitemaps.org XML protocol meant to rank a URL's importance relative to others on the same site. Google ignores it entirely — as does Bing — and it was never a ranking factor even by the spec's own admission."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemap-priority/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Sitemap","desc":"A sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.","snippetText":"A sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.","href":"/technical-seo/how-search-works/discovery/sitemaps/#glossary","slug":"sitemaps","parentHref":"/technical-seo/how-search-works/discovery/sitemaps/","meta":"Glossary definition","aliases":["xml-sitemaps","sitemap-index","discovery"],"taxonomy":["technical-seo","how-search-works"],"text":"A sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. xml-sitemaps sitemap-index discovery","passages":["A sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Sitemaps report","desc":"The Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed.","snippetText":"The Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed.","href":"/technical-seo/tools/search-engine-tools/google-search-console/sitemaps-report/#glossary","slug":"sitemaps-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/sitemaps-report/","meta":"Glossary definition","aliases":["google-search-console","index-coverage-report","xml-sitemaps"],"taxonomy":["technical-seo","tools"],"text":"The Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed. google-search-console index-coverage-report xml-sitemaps","passages":["The Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/sitemaps-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Social & Community Schema","desc":"\"Social & Community schema\" is a practitioner label — not an official Google or schema.org category — for six schema.org types built around user-generated, interactive, or instructional content: DiscussionForumPosting, QAPage, FAQPage, HowTo, Event, and SoftwareApplication.","snippetText":"\"Social & Community schema\" is a practitioner label — not an official Google or schema.org category — for six schema.org types built around user-generated, interactive, or instructional content: DiscussionForumPosting, QAPage, FAQPage, HowTo, Event, and SoftwareApplication.","href":"/technical-seo/on-page/structured-data/social-community/#glossary","slug":"social-community-schema","parentHref":"/technical-seo/on-page/structured-data/social-community/","meta":"Glossary definition","aliases":["schema-markup","discussionforum-schema","qapage-schema","faqpage-schema","howto-schema","event-schema","softwareapplication-schema"],"taxonomy":["technical-seo","on-page"],"text":"\"Social & Community schema\" is a practitioner label — not an official Google or schema.org category — for six schema.org types built around user-generated, interactive, or instructional content: DiscussionForumPosting, QAPage, FAQPage, HowTo, Event, and SoftwareApplication. schema-markup discussionforum-schema qapage-schema faqpage-schema howto-schema event-schema softwareapplication-schema","passages":["\"Social & Community schema\" is a practitioner label — not an official Google or schema.org category — for six schema.org types built around user-generated, interactive, or instructional content: DiscussionForumPosting, QAPage, FAQPage, HowTo, Event, and SoftwareApplication."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Social sharing image","desc":"The social sharing image is the picture that appears in the link-preview card when a URL is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, iMessage, or X — set by the og:image Open Graph property (read by nearly every platform) and, on X specifically, by twitter:image (which falls back to og:image if omitted). The cross-platform safe spec is an absolute HTTPS URL pointing to an image around 1200×630px (1.91:1), kept well under each platform's file-size ceiling.","snippetText":"The social sharing image is the picture that appears in the link-preview card when a URL is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, iMessage, or X — set by the og:image Open Graph property (read by nearly every platform) and, on X specifically, by twitter:image (which falls back to og:image if omitted). The cross-platform safe spec is an absolute HTTPS URL pointing to an image around 1200×630px (1.91:1), kept well under each platform's file-size ceiling.","href":"/technical-seo/on-page/meta-tags/social-images/#glossary","slug":"social-images","parentHref":"/technical-seo/on-page/meta-tags/social-images/","meta":"Glossary definition","aliases":["open-graph","twitter-cards","meta-tags"],"taxonomy":["technical-seo","on-page"],"text":"The social sharing image is the picture that appears in the link-preview card when a URL is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, iMessage, or X — set by the og:image Open Graph property (read by nearly every platform) and, on X specifically, by twitter:image (which falls back to og:image if omitted). The cross-platform safe spec is an absolute HTTPS URL pointing to an image around 1200×630px (1.91:1), kept well under each platform's file-size ceiling. open-graph twitter-cards meta-tags","passages":["The social sharing image is the picture that appears in the link-preview card when a URL is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, iMessage, or X — set by the og:image Open Graph property (read by nearly every platform) and, on X specifically, by twitter:image (which falls back to og:image if omitted). The cross-platform safe spec is an absolute HTTPS URL pointing to an image around 1200×630px (1.91:1), kept well under each platform's file-size ceiling."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/social-images/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Soft 404","desc":"A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing.","snippetText":"A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing.","href":"/technical-seo/http-status-codes/http-errors/soft-404-errors/#glossary","slug":"soft-404-errors","parentHref":"/technical-seo/http-status-codes/http-errors/soft-404-errors/","meta":"Glossary definition","aliases":["404-not-found","404-vs-410","http-status-codes"],"taxonomy":["technical-seo","http-status-codes"],"text":"A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. 404-not-found 404-vs-410 http-status-codes","passages":["A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing."],"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/soft-404-errors/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SoftwareApplication Schema","desc":"SoftwareApplication schema (schema.org/SoftwareApplication) is structured data that tells search engines an app's name, category, operating system, price, and rating so it can appear in Google's Software App rich result. It's a distinct type from Product schema, with its own required and recommended fields.","snippetText":"SoftwareApplication schema (schema.org/SoftwareApplication) is structured data that tells search engines an app's name, category, operating system, price, and rating so it can appear in Google's Software App rich result. It's a distinct type from Product schema, with its own required and recommended fields.","href":"/technical-seo/on-page/structured-data/social-community/softwareapplication-schema/#glossary","slug":"softwareapplication-schema","parentHref":"/technical-seo/on-page/structured-data/social-community/softwareapplication-schema/","meta":"Glossary definition","aliases":["structured-data","product-schema"],"taxonomy":["technical-seo","on-page"],"text":"SoftwareApplication schema (schema.org/SoftwareApplication) is structured data that tells search engines an app's name, category, operating system, price, and rating so it can appear in Google's Software App rich result. It's a distinct type from Product schema, with its own required and recommended fields. structured-data product-schema","passages":["SoftwareApplication schema (schema.org/SoftwareApplication) is structured data that tells search engines an app's name, category, operating system, price, and rating so it can appear in Google's Software App rich result. It's a distinct type from Product schema, with its own required and recommended fields."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/softwareapplication-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SolidJS SEO","desc":"SolidJS SEO is the set of practices for making SolidJS apps crawlable, indexable, and fast. Bare SolidJS renders client-side (an empty HTML shell), so SEO depends on using SolidStart for SSR or SSG to put real content and metadata in the initial HTML.","snippetText":"SolidJS SEO is the set of practices for making SolidJS apps crawlable, indexable, and fast. Bare SolidJS renders client-side (an empty HTML shell), so SEO depends on using SolidStart for SSR or SSG to put real content and metadata in the initial HTML.","href":"/technical-seo/platform-seo/js-frameworks/solidjs-seo/#glossary","slug":"solidjs-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/solidjs-seo/","meta":"Glossary definition","aliases":["javascript-seo","next-gen-frameworks"],"taxonomy":["technical-seo","platform-seo"],"text":"SolidJS SEO is the set of practices for making SolidJS apps crawlable, indexable, and fast. Bare SolidJS renders client-side (an empty HTML shell), so SEO depends on using SolidStart for SSR or SSG to put real content and metadata in the initial HTML. javascript-seo next-gen-frameworks","passages":["SolidJS SEO is the set of practices for making SolidJS apps crawlable, indexable, and fast. Bare SolidJS renders client-side (an empty HTML shell), so SEO depends on using SolidStart for SSR or SSG to put real content and metadata in the initial HTML."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/solidjs-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SPA SEO","desc":"SPA SEO is the practice of making a client-side-routed single-page application — one that loads a single HTML document and then swaps views with JavaScript (React Router, Vue Router, Angular Router) — crawlable and indexable, so every route resolves to real, unique HTML with its own URL, canonical, and metadata.","snippetText":"SPA SEO is the practice of making a client-side-routed single-page application — one that loads a single HTML document and then swaps views with JavaScript (React Router, Vue Router, Angular Router) — crawlable and indexable, so every route resolves to real, unique HTML with its own URL, canonical, and metadata.","href":"/technical-seo/javascript-seo/spa-seo/#glossary","slug":"spa-seo","parentHref":"/technical-seo/javascript-seo/spa-seo/","meta":"Glossary definition","aliases":["javascript-seo","rendering"],"taxonomy":["technical-seo","javascript-seo"],"text":"SPA SEO is the practice of making a client-side-routed single-page application — one that loads a single HTML document and then swaps views with JavaScript (React Router, Vue Router, Angular Router) — crawlable and indexable, so every route resolves to real, unique HTML with its own URL, canonical, and metadata. javascript-seo rendering","passages":["SPA SEO is the practice of making a client-side-routed single-page application — one that loads a single HTML document and then swaps views with JavaScript (React Router, Vue Router, Angular Router) — crawlable and indexable, so every route resolves to real, unique HTML with its own URL, canonical, and metadata."],"popular":0,"url":"https://patrickstox.com/technical-seo/javascript-seo/spa-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Speakable schema","desc":"Speakable schema is structured data (schema.org's SpeakableSpecification, added via the speakable property on Article or WebPage) that marks the specific 2–3 sentences on a page best suited to be read aloud by text-to-speech — not the whole article. In 2026 it remains a real but narrow, still-BETA Google feature limited to US, English, Google Home users, and Google has not connected it to AI Overviews despite widespread claims that it does.","snippetText":"Speakable schema is structured data (schema.org's SpeakableSpecification, added via the speakable property on Article or WebPage) that marks the specific 2–3 sentences on a page best suited to be read aloud by text-to-speech — not the whole article. In 2026 it remains a real but narrow, still-BETA Google feature limited to US, English, Google Home users, and Google has not connected it to AI Overviews despite widespread claims that it does.","href":"/technical-seo/on-page/structured-data/speakable-schema/#glossary","slug":"speakable-schema","parentHref":"/technical-seo/on-page/structured-data/speakable-schema/","meta":"Glossary definition","aliases":["Structured data","Schema markup","Rich results"],"taxonomy":["technical-seo","on-page"],"text":"Speakable schema is structured data (schema.org's SpeakableSpecification, added via the speakable property on Article or WebPage) that marks the specific 2–3 sentences on a page best suited to be read aloud by text-to-speech — not the whole article. In 2026 it remains a real but narrow, still-BETA Google feature limited to US, English, Google Home users, and Google has not connected it to AI Overviews despite widespread claims that it does. Structured data Schema markup Rich results","passages":["Speakable schema is structured data (schema.org's SpeakableSpecification, added via the speakable property on Article or WebPage) that marks the specific 2–3 sentences on a page best suited to be read aloud by text-to-speech — not the whole article. In 2026 it remains a real but narrow, still-BETA Google feature limited to US, English, Google Home users, and Google has not connected it to AI Overviews despite widespread claims that it does."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/speakable-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Speculation Rules API","desc":"The Speculation Rules API is a Chromium browser API (Chrome/Edge 109+) that lets a site tell the browser which same-site pages to prefetch (download the HTML document) or prerender (fully load and render in an invisible tab) before a visitor clicks — so the next navigation can be near-instant. It's a browser-side performance feature for real users, not a crawling, indexing, or ranking signal.","snippetText":"The Speculation Rules API is a Chromium browser API (Chrome/Edge 109+) that lets a site tell the browser which same-site pages to prefetch (download the HTML document) or prerender (fully load and render in an invisible tab) before a visitor clicks — so the next navigation can be near-instant. It's a browser-side performance feature for real users, not a crawling, indexing, or ranking signal.","href":"/technical-seo/web-performance/speculation-rules/#glossary","slug":"speculation-rules","parentHref":"/technical-seo/web-performance/speculation-rules/","meta":"Glossary definition","aliases":["resource-hints","core-web-vitals"],"taxonomy":["technical-seo","web-performance"],"text":"The Speculation Rules API is a Chromium browser API (Chrome/Edge 109+) that lets a site tell the browser which same-site pages to prefetch (download the HTML document) or prerender (fully load and render in an invisible tab) before a visitor clicks — so the next navigation can be near-instant. It's a browser-side performance feature for real users, not a crawling, indexing, or ranking signal. resource-hints core-web-vitals","passages":["The Speculation Rules API is a Chromium browser API (Chrome/Edge 109+) that lets a site tell the browser which same-site pages to prefetch (download the HTML document) or prerender (fully load and render in an invisible tab) before a visitor clicks — so the next navigation can be near-instant. It's a browser-side performance feature for real users, not a crawling, indexing, or ranking signal."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/speculation-rules/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Speed Index","desc":"Speed Index measures how quickly content is visually displayed during page load — the average time at which visible parts of the page appear, scored in seconds (lower is better). It's a lab-only Lighthouse metric, not a Core Web Vital and not a ranking factor.","snippetText":"Speed Index measures how quickly content is visually displayed during page load — the average time at which visible parts of the page appear, scored in seconds (lower is better). It's a lab-only Lighthouse metric, not a Core Web Vital and not a ranking factor.","href":"/technical-seo/web-performance/web-vitals/speed-index/#glossary","slug":"speed-index","parentHref":"/technical-seo/web-performance/web-vitals/speed-index/","meta":"Glossary definition","aliases":["lighthouse","fcp","lcp"],"taxonomy":["technical-seo","web-performance"],"text":"Speed Index measures how quickly content is visually displayed during page load — the average time at which visible parts of the page appear, scored in seconds (lower is better). It's a lab-only Lighthouse metric, not a Core Web Vital and not a ranking factor. lighthouse fcp lcp","passages":["Speed Index measures how quickly content is visually displayed during page load — the average time at which visible parts of the page appear, scored in seconds (lower is better). It's a lab-only Lighthouse metric, not a Core Web Vital and not a ranking factor."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/speed-index/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Spider trap","desc":"A spider trap (also called a crawler trap) is a site structure that generates an effectively infinite number of URLs — from faceted filters, calendars, session IDs, or redirect loops — so crawlers waste their budget on low-value, near-duplicate pages instead of your real content.","snippetText":"A spider trap (also called a crawler trap) is a site structure that generates an effectively infinite number of URLs — from faceted filters, calendars, session IDs, or redirect loops — so crawlers waste their budget on low-value, near-duplicate pages instead of your real content.","href":"/technical-seo/how-search-works/crawling/spider-trap/#glossary","slug":"spider-trap","parentHref":"/technical-seo/how-search-works/crawling/spider-trap/","meta":"Glossary definition","aliases":["crawling","crawl-budget"],"taxonomy":["technical-seo","how-search-works"],"text":"A spider trap (also called a crawler trap) is a site structure that generates an effectively infinite number of URLs — from faceted filters, calendars, session IDs, or redirect loops — so crawlers waste their budget on low-value, near-duplicate pages instead of your real content. crawling crawl-budget","passages":["A spider trap (also called a crawler trap) is a site structure that generates an effectively infinite number of URLs — from faceted filters, calendars, session IDs, or redirect loops — so crawlers waste their budget on low-value, near-duplicate pages instead of your real content."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/spider-trap/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Squarespace Commerce SEO","desc":"Squarespace Commerce SEO is the work of optimizing a Squarespace-hosted online store — product pages, category/store pages, variants, sold-out handling, and commerce structured data — for organic search. It sits on top of general Squarespace site SEO and adds its own mechanics: per-product SEO fields, auto-generated Product schema, category pages that can't take custom SEO settings, a single-URL variant model that sidesteps variant-URL duplication, version-dependent product-count limits, and a US-only, physical-goods-only Google Merchant Center integration.","snippetText":"Squarespace Commerce SEO is the work of optimizing a Squarespace-hosted online store — product pages, category/store pages, variants, sold-out handling, and commerce structured data — for organic search. It sits on top of general Squarespace site SEO and adds its own mechanics: per-product SEO fields, auto-generated Product schema, category pages that can't take custom SEO settings, a single-URL variant model that sidesteps variant-URL duplication, version-dependent product-count limits, and a US-only, physical-goods-only Google Merchant Center integration.","href":"/technical-seo/platform-seo/ecommerce-platforms/squarespace-commerce-seo/#glossary","slug":"squarespace-commerce-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/squarespace-commerce-seo/","meta":"Glossary definition","aliases":["squarespace-seo","product-page-seo","category-page-seo","product-schema","out-of-stock-products"],"taxonomy":["technical-seo","platform-seo"],"text":"Squarespace Commerce SEO is the work of optimizing a Squarespace-hosted online store — product pages, category/store pages, variants, sold-out handling, and commerce structured data — for organic search. It sits on top of general Squarespace site SEO and adds its own mechanics: per-product SEO fields, auto-generated Product schema, category pages that can't take custom SEO settings, a single-URL variant model that sidesteps variant-URL duplication, version-dependent product-count limits, and a US-only, physical-goods-only Google Merchant Center integration. squarespace-seo product-page-seo category-page-seo product-schema out-of-stock-products","passages":["Squarespace Commerce SEO is the work of optimizing a Squarespace-hosted online store — product pages, category/store pages, variants, sold-out handling, and commerce structured data — for organic search. It sits on top of general Squarespace site SEO and adds its own mechanics: per-product SEO fields, auto-generated Product schema, category pages that can't take custom SEO settings, a single-URL variant model that sidesteps variant-URL duplication, version-dependent product-count limits, and a US-only, physical-goods-only Google Merchant Center integration."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/squarespace-commerce-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Squarespace SEO","desc":"Squarespace SEO is the practice of optimizing a Squarespace-hosted site to rank in organic search. Squarespace handles much of the technical baseline automatically — HTTPS, CDN delivery, an XML sitemap, canonical tags, and basic metadata — but its closed SaaS architecture creates hard limits: no robots.txt editing, no sitemap customization, a fixed set of auto-generated schema you can't remove, and no code injection on individual blog posts.","snippetText":"Squarespace SEO is the practice of optimizing a Squarespace-hosted site to rank in organic search. Squarespace handles much of the technical baseline automatically — HTTPS, CDN delivery, an XML sitemap, canonical tags, and basic metadata — but its closed SaaS architecture creates hard limits: no robots.txt editing, no sitemap customization, a fixed set of auto-generated schema you can't remove, and no code injection on individual blog posts.","href":"/technical-seo/platform-seo/website-builders/squarespace-seo/#glossary","slug":"squarespace-seo","parentHref":"/technical-seo/platform-seo/website-builders/squarespace-seo/","meta":"Glossary definition","aliases":["platform-seo","website-builders"],"taxonomy":["technical-seo","platform-seo"],"text":"Squarespace SEO is the practice of optimizing a Squarespace-hosted site to rank in organic search. Squarespace handles much of the technical baseline automatically — HTTPS, CDN delivery, an XML sitemap, canonical tags, and basic metadata — but its closed SaaS architecture creates hard limits: no robots.txt editing, no sitemap customization, a fixed set of auto-generated schema you can't remove, and no code injection on individual blog posts. platform-seo website-builders","passages":["Squarespace SEO is the practice of optimizing a Squarespace-hosted site to rank in organic search. Squarespace handles much of the technical baseline automatically — HTTPS, CDN delivery, an XML sitemap, canonical tags, and basic metadata — but its closed SaaS architecture creates hard limits: no robots.txt editing, no sitemap customization, a fixed set of auto-generated schema you can't remove, and no code injection on individual blog posts."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/squarespace-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SSL/TLS Certificates","desc":"An SSL/TLS certificate is the file a server presents during the TLS handshake to prove who controls the domain (to a level that depends on the validation type) and to supply the public key that encrypts the connection. It's what makes https:// possible — but Google's ranking signal only checks the URL scheme, not which certificate issued it.","snippetText":"An SSL/TLS certificate is the file a server presents during the TLS handshake to prove who controls the domain (to a level that depends on the validation type) and to supply the public key that encrypts the connection. It's what makes https:// possible — but Google's ranking signal only checks the URL scheme, not which certificate issued it.","href":"/technical-seo/https/ssl-tls-certificates/#glossary","slug":"ssl-tls-certificates","parentHref":"/technical-seo/https/ssl-tls-certificates/","meta":"Glossary definition","aliases":["https"],"taxonomy":["technical-seo","https"],"text":"An SSL/TLS certificate is the file a server presents during the TLS handshake to prove who controls the domain (to a level that depends on the validation type) and to supply the public key that encrypts the connection. It's what makes https:// possible — but Google's ranking signal only checks the URL scheme, not which certificate issued it. https","passages":["An SSL/TLS certificate is the file a server presents during the TLS handshake to prove who controls the domain (to a level that depends on the validation type) and to supply the public key that encrypts the connection. It's what makes https:// possible — but Google's ranking signal only checks the URL scheme, not which certificate issued it."],"popular":0,"url":"https://patrickstox.com/technical-seo/https/ssl-tls-certificates/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Static Site Generator","desc":"A build tool that pre-renders every page into static HTML files at deploy time, so the server delivers complete HTML without executing code per request — eliminating JavaScript rendering delays for search engine crawlers.","snippetText":"A build tool that pre-renders every page into static HTML files at deploy time, so the server delivers complete HTML without executing code per request — eliminating JavaScript rendering delays for search engine crawlers.","href":"/technical-seo/platform-seo/static-site-generators/#glossary","slug":"static-site-generator","parentHref":"/technical-seo/platform-seo/static-site-generators/","meta":"Glossary definition","aliases":["javascript-seo","rendering","astro-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"A build tool that pre-renders every page into static HTML files at deploy time, so the server delivers complete HTML without executing code per request — eliminating JavaScript rendering delays for search engine crawlers. javascript-seo rendering astro-seo","passages":["A build tool that pre-renders every page into static HTML files at deploy time, so the server delivers complete HTML without executing code per request — eliminating JavaScript rendering delays for search engine crawlers."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Storyblok SEO","desc":"Storyblok SEO is the practice of making sites built on Storyblok — a visual, API-first headless CMS — discoverable in search and AI answers. Because Storyblok only stores content and the frontend framework renders it, SEO outcomes are decided almost entirely by how that frontend is built.","snippetText":"Storyblok SEO is the practice of making sites built on Storyblok — a visual, API-first headless CMS — discoverable in search and AI answers. Because Storyblok only stores content and the frontend framework renders it, SEO outcomes are decided almost entirely by how that frontend is built.","href":"/technical-seo/platform-seo/headless-cms/storyblok-seo/#glossary","slug":"storyblok-seo","parentHref":"/technical-seo/platform-seo/headless-cms/storyblok-seo/","meta":"Glossary definition","aliases":["headless-cms-seo","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Storyblok SEO is the practice of making sites built on Storyblok — a visual, API-first headless CMS — discoverable in search and AI answers. Because Storyblok only stores content and the frontend framework renders it, SEO outcomes are decided almost entirely by how that frontend is built. headless-cms-seo javascript-seo","passages":["Storyblok SEO is the practice of making sites built on Storyblok — a visual, API-first headless CMS — discoverable in search and AI answers. Because Storyblok only stores content and the frontend framework renders it, SEO outcomes are decided almost entirely by how that frontend is built."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/storyblok-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Strapi SEO","desc":"Strapi SEO is the practice of making content stored in Strapi — an open-source headless CMS — discoverable and rankable. Because Strapi has no built-in frontend, every SEO outcome is decided by the frontend framework that renders its API, not by Strapi itself.","snippetText":"Strapi SEO is the practice of making content stored in Strapi — an open-source headless CMS — discoverable and rankable. Because Strapi has no built-in frontend, every SEO outcome is decided by the frontend framework that renders its API, not by Strapi itself.","href":"/technical-seo/platform-seo/headless-cms/strapi-seo/#glossary","slug":"strapi-seo","parentHref":"/technical-seo/platform-seo/headless-cms/strapi-seo/","meta":"Glossary definition","aliases":["headless-cms-seo","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Strapi SEO is the practice of making content stored in Strapi — an open-source headless CMS — discoverable and rankable. Because Strapi has no built-in frontend, every SEO outcome is decided by the frontend framework that renders its API, not by Strapi itself. headless-cms-seo javascript-seo","passages":["Strapi SEO is the practice of making content stored in Strapi — an open-source headless CMS — discoverable and rankable. Because Strapi has no built-in frontend, every SEO outcome is decided by the frontend framework that renders its API, not by Strapi itself."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/strapi-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Strikingly SEO","desc":"Strikingly SEO is the practice of optimizing a site built on Strikingly — a drag-and-drop builder designed around single-page, single-section sites — for organic search. Strikingly covers the technical baseline automatically: HTTPS, a CDN, an auto-generated XML sitemap, per-page meta titles and descriptions, image alt text, and Google Search Console integration. But it locks down most technical SEO controls: no robots.txt editing, no self-service 301 redirects (you must contact support), no canonical tag control, no per-page noindex, and no native structured data — custom JSON-LD requires code injection on the Pro or VIP plan. Its single-section architecture, where sections are scroll anchors rather than separate indexable URLs, is the core constraint that limits multi-keyword targeting.","snippetText":"Strikingly SEO is the practice of optimizing a site built on Strikingly — a drag-and-drop builder designed around single-page, single-section sites — for organic search. Strikingly covers the technical baseline automatically: HTTPS, a CDN, an auto-generated XML sitemap, per-page meta titles and descriptions, image alt text, and Google Search Console integration. But it locks down most technical SEO controls: no robots.txt editing, no self-service 301 redirects (you must contact support), no canonical tag control, no per-page noindex, and no native structured data — custom JSON-LD requires code","href":"/technical-seo/platform-seo/website-builders/strikingly-seo/#glossary","slug":"strikingly-seo","parentHref":"/technical-seo/platform-seo/website-builders/strikingly-seo/","meta":"Glossary definition","aliases":["platform-seo","canonicalization","structured-data","robots-txt"],"taxonomy":["technical-seo","platform-seo"],"text":"Strikingly SEO is the practice of optimizing a site built on Strikingly — a drag-and-drop builder designed around single-page, single-section sites — for organic search. Strikingly covers the technical baseline automatically: HTTPS, a CDN, an auto-generated XML sitemap, per-page meta titles and descriptions, image alt text, and Google Search Console integration. But it locks down most technical SEO controls: no robots.txt editing, no self-service 301 redirects (you must contact support), no canonical tag control, no per-page noindex, and no native structured data — custom JSON-LD requires code injection on the Pro or VIP plan. Its single-section architecture, where sections are scroll anchors rather than separate indexable URLs, is the core constraint that limits multi-keyword targeting. platform-seo canonicalization structured-data robots-txt","passages":["Strikingly SEO is the practice of optimizing a site built on Strikingly — a drag-and-drop builder designed around single-page, single-section sites — for organic search. Strikingly covers the technical baseline automatically: HTTPS, a CDN, an auto-generated XML sitemap, per-page meta titles and descriptions, image alt text, and Google Search Console integration. But it locks down most technical SEO controls: no robots.txt editing, no self-service 301 redirects (you must contact support), no canonical tag control, no per-page noindex, and no native structured data — custom JSON-LD requires code injection on the Pro or VIP plan. Its single-section architecture, where sections are scroll anchors rather than separate indexable URLs, is the core constraint that limits multi-keyword targeting."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/strikingly-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Structured Data","desc":"Structured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding.","snippetText":"Structured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding.","href":"/technical-seo/on-page/structured-data/#glossary","slug":"structured-data","parentHref":"/technical-seo/on-page/structured-data/","meta":"Glossary definition","aliases":["schema-markup","rich-results","json-ld"],"taxonomy":["technical-seo","on-page"],"text":"Structured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. schema-markup rich-results json-ld","passages":["Structured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Subdomain vs Subdirectory","desc":"A subdomain (blog.example.com) is a separate hostname; a subdirectory (example.com/blog/) is a path on the same hostname. Google has no blanket ranking preference — it decides per site whether a subdomain is treated as part of the site, based on integration signals.","snippetText":"A subdomain (blog.example.com) is a separate hostname; a subdirectory (example.com/blog/) is a path on the same hostname. Google has no blanket ranking preference — it decides per site whether a subdomain is treated as part of the site, based on integration signals.","href":"/technical-seo/website-structure/subdomain-vs-subdirectory/#glossary","slug":"subdomain-vs-subdirectory","parentHref":"/technical-seo/website-structure/subdomain-vs-subdirectory/","meta":"Glossary definition","aliases":["website-structure","canonicalization"],"taxonomy":["technical-seo","website-structure"],"text":"A subdomain (blog.example.com) is a separate hostname; a subdirectory (example.com/blog/) is a path on the same hostname. Google has no blanket ranking preference — it decides per site whether a subdomain is treated as part of the site, based on integration signals. website-structure canonicalization","passages":["A subdomain (blog.example.com) is a separate hostname; a subdirectory (example.com/blog/) is a path on the same hostname. Google has no blanket ranking preference — it decides per site whether a subdomain is treated as part of the site, based on integration signals."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/subdomain-vs-subdirectory/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Svelte SEO","desc":"Svelte SEO is the practice of making sure search engines and AI crawlers can see content built with Svelte. Plain Svelte is client-side rendered (a blank shell), so the key is to use SvelteKit, which renders pages on the server by default.","snippetText":"Svelte SEO is the practice of making sure search engines and AI crawlers can see content built with Svelte. Plain Svelte is client-side rendered (a blank shell), so the key is to use SvelteKit, which renders pages on the server by default.","href":"/technical-seo/platform-seo/js-frameworks/svelte-seo/#glossary","slug":"svelte-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/svelte-seo/","meta":"Glossary definition","aliases":["javascript-seo","headless-cms-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Svelte SEO is the practice of making sure search engines and AI crawlers can see content built with Svelte. Plain Svelte is client-side rendered (a blank shell), so the key is to use SvelteKit, which renders pages on the server by default. javascript-seo headless-cms-seo","passages":["Svelte SEO is the practice of making sure search engines and AI crawlers can see content built with Svelte. Plain Svelte is client-side rendered (a blank shell), so the key is to use SvelteKit, which renders pages on the server by default."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/svelte-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"SvelteKit Deployment SEO","desc":"SvelteKit deployment SEO is the set of build- and deploy-time decisions — which adapter converts the build for a hosting target, which routes are prerendered vs. server-rendered vs. edge-rendered, and how sitemap.xml and robots.txt are generated — that decide whether a crawler gets fast, complete HTML.","snippetText":"SvelteKit deployment SEO is the set of build- and deploy-time decisions — which adapter converts the build for a hosting target, which routes are prerendered vs. server-rendered vs. edge-rendered, and how sitemap.xml and robots.txt are generated — that decide whether a crawler gets fast, complete HTML.","href":"/technical-seo/platform-seo/js-frameworks/sveltekit-seo/#glossary","slug":"sveltekit-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/sveltekit-seo/","meta":"Glossary definition","aliases":["svelte-seo","javascript-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"SvelteKit deployment SEO is the set of build- and deploy-time decisions — which adapter converts the build for a hosting target, which routes are prerendered vs. server-rendered vs. edge-rendered, and how sitemap.xml and robots.txt are generated — that decide whether a crawler gets fast, complete HTML. svelte-seo javascript-seo","passages":["SvelteKit deployment SEO is the set of build- and deploy-time decisions — which adapter converts the build for a hosting target, which routes are prerendered vs. server-rendered vs. edge-rendered, and how sitemap.xml and robots.txt are generated — that decide whether a crawler gets fast, complete HTML."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/sveltekit-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Syndicated Content","desc":"Syndicated content is the deliberate, usually licensed republishing of the same article on other sites — wire pickups, partner reprints, or cross-posting. Because both parties know it's a copy, the SEO job is deciding which URL search engines should show, not eliminating a duplicate.","snippetText":"Syndicated content is the deliberate, usually licensed republishing of the same article on other sites — wire pickups, partner reprints, or cross-posting. Because both parties know it's a copy, the SEO job is deciding which URL search engines should show, not eliminating a duplicate.","href":"/technical-seo/news-seo/syndicated-content/#glossary","slug":"syndicated-content","parentHref":"/technical-seo/news-seo/syndicated-content/","meta":"Glossary definition","aliases":["canonical-tag","duplicate-content","noindex"],"taxonomy":["technical-seo","news-seo"],"text":"Syndicated content is the deliberate, usually licensed republishing of the same article on other sites — wire pickups, partner reprints, or cross-posting. Because both parties know it's a copy, the SEO job is deciding which URL search engines should show, not eliminating a duplicate. canonical-tag duplicate-content noindex","passages":["Syndicated content is the deliberate, usually licensed republishing of the same article on other sites — wire pickups, partner reprints, or cross-posting. Because both parties know it's a copy, the SEO job is deciding which URL search engines should show, not eliminating a duplicate."],"popular":0,"url":"https://patrickstox.com/technical-seo/news-seo/syndicated-content/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"TBT","desc":"Total Blocking Time — the sum of the blocking portion (time above 50 ms) of every long task between First Contentful Paint and Time to Interactive. It's a lab-recommended metric and the lab proxy for INP, not a Core Web Vital.","snippetText":"Total Blocking Time — the sum of the blocking portion (time above 50 ms) of every long task between First Contentful Paint and Time to Interactive. It's a lab-recommended metric and the lab proxy for INP, not a Core Web Vital.","href":"/technical-seo/web-performance/web-vitals/total-blocking-time/#glossary","slug":"tbt","parentHref":"/technical-seo/web-performance/web-vitals/total-blocking-time/","meta":"Glossary definition","aliases":["inp","lighthouse","fcp"],"taxonomy":["technical-seo","web-performance"],"text":"Total Blocking Time — the sum of the blocking portion (time above 50 ms) of every long task between First Contentful Paint and Time to Interactive. It's a lab-recommended metric and the lab proxy for INP, not a Core Web Vital. inp lighthouse fcp","passages":["Total Blocking Time — the sum of the blocking portion (time above 50 ms) of every long task between First Contentful Paint and Time to Interactive. It's a lab-recommended metric and the lab proxy for INP, not a Core Web Vital."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/total-blocking-time/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Technical SEO","desc":"Technical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own.","snippetText":"Technical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own.","href":"/technical-seo/#glossary","slug":"technical-seo","parentHref":"/technical-seo/","meta":"Glossary definition","aliases":["crawling","indexing","rendering","migrations"],"taxonomy":["technical-seo"],"text":"Technical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. crawling indexing rendering migrations","passages":["Technical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own."],"popular":0,"url":"https://patrickstox.com/technical-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Technical SEO Checklist","desc":"A technical SEO checklist is a prioritized list of the technical conditions a site must satisfy — crawlable, indexable, understandable, renderable — so search engines and AI answer engines can access and serve its pages. It's the technical-only slice of a full SEO audit.","snippetText":"A technical SEO checklist is a prioritized list of the technical conditions a site must satisfy — crawlable, indexable, understandable, renderable — so search engines and AI answer engines can access and serve its pages. It's the technical-only slice of a full SEO audit.","href":"/technical-seo/tools/technical-seo-checklist/#glossary","slug":"technical-seo-checklist","parentHref":"/technical-seo/tools/technical-seo-checklist/","meta":"Glossary definition","aliases":["crawling","indexing","canonicalization"],"taxonomy":["technical-seo","tools"],"text":"A technical SEO checklist is a prioritized list of the technical conditions a site must satisfy — crawlable, indexable, understandable, renderable — so search engines and AI answer engines can access and serve its pages. It's the technical-only slice of a full SEO audit. crawling indexing canonicalization","passages":["A technical SEO checklist is a prioritized list of the technical conditions a site must satisfy — crawlable, indexable, understandable, renderable — so search engines and AI answer engines can access and serve its pages. It's the technical-only slice of a full SEO audit."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/technical-seo-checklist/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Thin Content","desc":"Thin content is web content that provides little or no value to users. Google's spam policies name it 'thin content with little or no added value' — and it's about value per page, not word count.","snippetText":"Thin content is web content that provides little or no value to users. Google's spam policies name it 'thin content with little or no added value' — and it's about value per page, not word count.","href":"/programmatic-seo/risks/thin-content/#glossary","slug":"thin-content","parentHref":"/programmatic-seo/risks/thin-content/","meta":"Glossary definition","aliases":["programmatic-seo","duplicate-content"],"taxonomy":["programmatic-seo","risks"],"text":"Thin content is web content that provides little or no value to users. Google's spam policies name it 'thin content with little or no added value' — and it's about value per page, not word count. programmatic-seo duplicate-content","passages":["Thin content is web content that provides little or no value to users. Google's spam policies name it 'thin content with little or no added value' — and it's about value per page, not word count."],"popular":0,"url":"https://patrickstox.com/programmatic-seo/risks/thin-content/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Time to Interactive (TTI)","desc":"Time to Interactive — a retired Lighthouse lab metric marking the point a page's main sub-resources have loaded and it can reliably respond to input. It was removed from the Lighthouse Performance score in Lighthouse 10 (2023) for being too volatile, was never a Core Web Vital, and still defines the end of the Total Blocking Time measurement window.","snippetText":"Time to Interactive — a retired Lighthouse lab metric marking the point a page's main sub-resources have loaded and it can reliably respond to input. It was removed from the Lighthouse Performance score in Lighthouse 10 (2023) for being too volatile, was never a Core Web Vital, and still defines the end of the Total Blocking Time measurement window.","href":"/technical-seo/web-performance/web-vitals/time-to-interactive/#glossary","slug":"time-to-interactive","parentHref":"/technical-seo/web-performance/web-vitals/time-to-interactive/","meta":"Glossary definition","aliases":["tbt","lighthouse","fcp"],"taxonomy":["technical-seo","web-performance"],"text":"Time to Interactive — a retired Lighthouse lab metric marking the point a page's main sub-resources have loaded and it can reliably respond to input. It was removed from the Lighthouse Performance score in Lighthouse 10 (2023) for being too volatile, was never a Core Web Vital, and still defines the end of the Total Blocking Time measurement window. tbt lighthouse fcp","passages":["Time to Interactive — a retired Lighthouse lab metric marking the point a page's main sub-resources have loaded and it can reliably respond to input. It was removed from the Lighthouse Performance score in Lighthouse 10 (2023) for being too volatile, was never a Core Web Vital, and still defines the end of the Total Blocking Time measurement window."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/time-to-interactive/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Title Tag","desc":"The title tag is the HTML title element in a page's head that specifies the document's title. It's the primary source for the SERP title link and a confirmed light ranking factor — but since August 2021 Google doesn't always show it verbatim.","snippetText":"The title tag is the HTML title element in a page's head that specifies the document's title. It's the primary source for the SERP title link and a confirmed light ranking factor — but since August 2021 Google doesn't always show it verbatim.","href":"/technical-seo/on-page/meta-tags/title-tag/#glossary","slug":"title-tag","parentHref":"/technical-seo/on-page/meta-tags/title-tag/","meta":"Glossary definition","aliases":["meta-description","meta-tags","title tag","title tags","seo title","seo titles","page title","title link","title links"],"taxonomy":["technical-seo","on-page"],"text":"The title tag is the HTML title element in a page's head that specifies the document's title. It's the primary source for the SERP title link and a confirmed light ranking factor — but since August 2021 Google doesn't always show it verbatim. meta-description meta-tags","passages":["The title tag is the HTML title element in a page's head that specifies the document's title. It's the primary source for the SERP title link and a confirmed light ranking factor — but since August 2021 Google doesn't always show it verbatim."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/title-tag/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Tokens and Context Windows","desc":"A token is the smallest unit of text (or image/audio/video) an LLM processes — roughly 4 characters, or about ¾ of an English word. A context window is the maximum number of tokens (input plus output) a model can hold at once, like its short-term memory.","snippetText":"A token is the smallest unit of text (or image/audio/video) an LLM processes — roughly 4 characters, or about ¾ of an English word. A context window is the maximum number of tokens (input plus output) a model can hold at once, like its short-term memory.","href":"/ai-search/how-search-works/tokens-and-context-windows/#glossary","slug":"tokens-and-context-windows","parentHref":"/ai-search/how-search-works/tokens-and-context-windows/","meta":"Glossary definition","aliases":["chunking","llm","knowledge-cutoff"],"taxonomy":["ai-search","how-search-works"],"text":"A token is the smallest unit of text (or image/audio/video) an LLM processes — roughly 4 characters, or about ¾ of an English word. A context window is the maximum number of tokens (input plus output) a model can hold at once, like its short-term memory. chunking llm knowledge-cutoff","passages":["A token is the smallest unit of text (or image/audio/video) an LLM processes — roughly 4 characters, or about ¾ of an English word. A context window is the maximum number of tokens (input plus output) a model can hold at once, like its short-term memory."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/tokens-and-context-windows/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Trailing Slash","desc":"A trailing slash is the forward slash (/) at the end of a URL — example.com/page/ versus example.com/page. Except at the bare root domain, the two versions are different URLs to search engines, so you pick one format and enforce it.","snippetText":"A trailing slash is the forward slash (/) at the end of a URL — example.com/page/ versus example.com/page. Except at the bare root domain, the two versions are different URLs to search engines, so you pick one format and enforce it.","href":"/technical-seo/website-structure/url-structure/trailing-slash/#glossary","slug":"trailing-slash","parentHref":"/technical-seo/website-structure/url-structure/trailing-slash/","meta":"Glossary definition","aliases":["url-structure","canonicalization","301-redirect"],"taxonomy":["technical-seo","website-structure"],"text":"A trailing slash is the forward slash (/) at the end of a URL — example.com/page/ versus example.com/page. Except at the bare root domain, the two versions are different URLs to search engines, so you pick one format and enforce it. url-structure canonicalization 301-redirect","passages":["A trailing slash is the forward slash (/) at the end of a URL — example.com/page/ versus example.com/page. Except at the bare root domain, the two versions are different URLs to search engines, so you pick one format and enforce it."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/url-structure/trailing-slash/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"TTFB","desc":"Time to First Byte — the time from the start of a request to when the first byte of the response arrives. It's a diagnostic metric (not a Core Web Vital) and a major input to FCP and LCP; ≤0.8 s is good.","snippetText":"Time to First Byte — the time from the start of a request to when the first byte of the response arrives. It's a diagnostic metric (not a Core Web Vital) and a major input to FCP and LCP; ≤0.8 s is good.","href":"/technical-seo/web-performance/web-vitals/time-to-first-byte/#glossary","slug":"ttfb","parentHref":"/technical-seo/web-performance/web-vitals/time-to-first-byte/","meta":"Glossary definition","aliases":["core-web-vitals","lcp","fcp"],"taxonomy":["technical-seo","web-performance"],"text":"Time to First Byte — the time from the start of a request to when the first byte of the response arrives. It's a diagnostic metric (not a Core Web Vital) and a major input to FCP and LCP; ≤0.8 s is good. core-web-vitals lcp fcp","passages":["Time to First Byte — the time from the start of a request to when the first byte of the response arrives. It's a diagnostic metric (not a Core Web Vital) and a major input to FCP and LCP; ≤0.8 s is good."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/time-to-first-byte/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Twitter Card tags","desc":"Twitter Card tags (now often called \"X Cards\") are <meta name=\"twitter:...\"> tags in a page's <head> that tell X's link-unfurling system what rich preview to build for a shared URL — image, headline, description, and (for player cards) an embeddable frame. The four card types are summary, summary_large_image, app, and player. Every twitter:* property falls back to its og:* equivalent if missing — except twitter:card itself, which has no fallback and must be set explicitly. They are not a Google or Bing ranking factor.","snippetText":"Twitter Card tags (now often called \"X Cards\") are <meta name=\"twitter:...\"> tags in a page's <head> that tell X's link-unfurling system what rich preview to build for a shared URL — image, headline, description, and (for player cards) an embeddable frame. The four card types are summary, summary_large_image, app, and player. Every twitter:* property falls back to its og:* equivalent if missing — except twitter:card itself, which has no fallback and must be set explicitly. They are not a Google or Bing ranking factor.","href":"/technical-seo/on-page/meta-tags/twitter-cards/#glossary","slug":"twitter-cards","parentHref":"/technical-seo/on-page/meta-tags/twitter-cards/","meta":"Glossary definition","aliases":["Open Graph","Meta tags"],"taxonomy":["technical-seo","on-page"],"text":"Twitter Card tags (now often called \"X Cards\") are <meta name=\"twitter:...\"> tags in a page's <head> that tell X's link-unfurling system what rich preview to build for a shared URL — image, headline, description, and (for player cards) an embeddable frame. The four card types are summary, summary_large_image, app, and player. Every twitter:* property falls back to its og:* equivalent if missing — except twitter:card itself, which has no fallback and must be set explicitly. They are not a Google or Bing ranking factor. Open Graph Meta tags","passages":["Twitter Card tags (now often called \"X Cards\") are <meta name=\"twitter:...\"> tags in a page's <head> that tell X's link-unfurling system what rich preview to build for a shared URL — image, headline, description, and (for player cards) an embeddable frame. The four card types are summary, summary_large_image, app, and player. Every twitter:* property falls back to its og:* equivalent if missing — except twitter:card itself, which has no fallback and must be set explicitly. They are not a Google or Bing ranking factor."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/twitter-cards/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Umbraco SEO","desc":"Umbraco SEO is the set of technical, on-page, and structural practices applied to sites built on Umbraco — a .NET-based open-source CMS. Umbraco ships almost no SEO functionality out of the box (no meta fields, no XML sitemap, no robots.txt, no structured data), so nearly every meaningful optimization needs either a package like SeoToolkit or SEO Checker, or custom developer work.","snippetText":"Umbraco SEO is the set of technical, on-page, and structural practices applied to sites built on Umbraco — a .NET-based open-source CMS. Umbraco ships almost no SEO functionality out of the box (no meta fields, no XML sitemap, no robots.txt, no structured data), so nearly every meaningful optimization needs either a package like SeoToolkit or SEO Checker, or custom developer work.","href":"/technical-seo/platform-seo/cms/umbraco-seo/#glossary","slug":"umbraco-seo","parentHref":"/technical-seo/platform-seo/cms/umbraco-seo/","meta":"Glossary definition","aliases":["canonicalization","duplicate-content"],"taxonomy":["technical-seo","platform-seo"],"text":"Umbraco SEO is the set of technical, on-page, and structural practices applied to sites built on Umbraco — a .NET-based open-source CMS. Umbraco ships almost no SEO functionality out of the box (no meta fields, no XML sitemap, no robots.txt, no structured data), so nearly every meaningful optimization needs either a package like SeoToolkit or SEO Checker, or custom developer work. canonicalization duplicate-content","passages":["Umbraco SEO is the set of technical, on-page, and structural practices applied to sites built on Umbraco — a .NET-based open-source CMS. Umbraco ships almost no SEO functionality out of the box (no meta fields, no XML sitemap, no robots.txt, no structured data), so nearly every meaningful optimization needs either a package like SeoToolkit or SEO Checker, or custom developer work."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/umbraco-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Universal Commerce Protocol (UCP)","desc":"The Universal Commerce Protocol (UCP) is an open-source standard (Apache 2.0) led by Google and co-developed with Shopify, Etsy, Wayfair, Target, and Walmart that lets AI agents, merchants, and payment providers transact through a common language instead of bespoke integrations. Merchants advertise their capabilities at /.well-known/ucp.","snippetText":"The Universal Commerce Protocol (UCP) is an open-source standard (Apache 2.0) led by Google and co-developed with Shopify, Etsy, Wayfair, Target, and Walmart that lets AI agents, merchants, and payment providers transact through a common language instead of bespoke integrations. Merchants advertise their capabilities at /.well-known/ucp.","href":"/ecommerce-seo/ai-commerce/universal-commerce-protocol/#glossary","slug":"universal-commerce-protocol","parentHref":"/ecommerce-seo/ai-commerce/universal-commerce-protocol/","meta":"Glossary definition","aliases":["answer-engine-optimization","ai-search","ecommerce-seo"],"taxonomy":["ecommerce-seo","ai-commerce"],"text":"The Universal Commerce Protocol (UCP) is an open-source standard (Apache 2.0) led by Google and co-developed with Shopify, Etsy, Wayfair, Target, and Walmart that lets AI agents, merchants, and payment providers transact through a common language instead of bespoke integrations. Merchants advertise their capabilities at /.well-known/ucp. answer-engine-optimization ai-search ecommerce-seo","passages":["The Universal Commerce Protocol (UCP) is an open-source standard (Apache 2.0) led by Google and co-developed with Shopify, Etsy, Wayfair, Target, and Walmart that lets AI agents, merchants, and payment providers transact through a common language instead of bespoke integrations. Merchants advertise their capabilities at /.well-known/ucp."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/universal-commerce-protocol/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"URL Case Sensitivity","desc":"URL case sensitivity is the rule that uppercase and lowercase letters in the path, filename, and query string are treated as different characters — so /Apple and /apple are two distinct URLs — while the hostname is not case-sensitive.","snippetText":"URL case sensitivity is the rule that uppercase and lowercase letters in the path, filename, and query string are treated as different characters — so /Apple and /apple are two distinct URLs — while the hostname is not case-sensitive.","href":"/technical-seo/website-structure/url-structure/url-case-sensitivity/#glossary","slug":"url-case-sensitivity","parentHref":"/technical-seo/website-structure/url-structure/url-case-sensitivity/","meta":"Glossary definition","aliases":["url-structure","canonicalization","trailing-slash","301-redirect"],"taxonomy":["technical-seo","website-structure"],"text":"URL case sensitivity is the rule that uppercase and lowercase letters in the path, filename, and query string are treated as different characters — so /Apple and /apple are two distinct URLs — while the hostname is not case-sensitive. url-structure canonicalization trailing-slash 301-redirect","passages":["URL case sensitivity is the rule that uppercase and lowercase letters in the path, filename, and query string are treated as different characters — so /Apple and /apple are two distinct URLs — while the hostname is not case-sensitive."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/url-structure/url-case-sensitivity/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"URL Inspection tool","desc":"A Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version.","snippetText":"A Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version.","href":"/technical-seo/tools/search-engine-tools/google-search-console/url-inspection-tool/#glossary","slug":"url-inspection-tool","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/url-inspection-tool/","meta":"Glossary definition","aliases":["google-search-console","index-coverage-report","search-console-api"],"taxonomy":["technical-seo","tools"],"text":"A Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. google-search-console index-coverage-report search-console-api","passages":["A Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/url-inspection-tool/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"URL Parameters","desc":"The `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO.","snippetText":"The `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO.","href":"/technical-seo/how-search-works/indexing/canonicalization/url-parameters/#glossary","slug":"url-parameters","parentHref":"/technical-seo/how-search-works/indexing/canonicalization/url-parameters/","meta":"Glossary definition","aliases":["Duplicate Content","Canonicalization","Canonical Tag"],"taxonomy":["technical-seo","how-search-works"],"text":"The `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. Duplicate Content Canonicalization Canonical Tag","passages":["The `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/url-parameters/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"URL Structure","desc":"URL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly.","snippetText":"URL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly.","href":"/technical-seo/website-structure/url-structure/#glossary","slug":"url-structure","parentHref":"/technical-seo/website-structure/url-structure/","meta":"Glossary definition","aliases":["canonicalization","url-parameters"],"taxonomy":["technical-seo","website-structure"],"text":"URL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly. canonicalization url-parameters","passages":["URL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/url-structure/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"User Agent","desc":"A user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target.","snippetText":"A user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target.","href":"/technical-seo/how-search-works/crawling/user-agent/#glossary","slug":"user-agent","parentHref":"/technical-seo/how-search-works/crawling/user-agent/","meta":"Glossary definition","aliases":["crawler","googlebot","bingbot","robots-txt"],"taxonomy":["technical-seo","how-search-works"],"text":"A user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target. crawler googlebot bingbot robots-txt","passages":["A user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/user-agent/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Vector Search","desc":"Vector search finds content by comparing the meaning of a query against stored content as numerical vectors, retrieving the closest ones in a high-dimensional embedding space. At scale it uses approximate nearest neighbor (ANN) algorithms — not exact comparison — to search billions of vectors in milliseconds.","snippetText":"Vector search finds content by comparing the meaning of a query against stored content as numerical vectors, retrieving the closest ones in a high-dimensional embedding space. At scale it uses approximate nearest neighbor (ANN) algorithms — not exact comparison — to search billions of vectors in milliseconds.","href":"/ai-search/how-search-works/vector-search/#glossary","slug":"vector-search","parentHref":"/ai-search/how-search-works/vector-search/","meta":"Glossary definition","aliases":["embeddings","semantic-search","rag"],"taxonomy":["ai-search","how-search-works"],"text":"Vector search finds content by comparing the meaning of a query against stored content as numerical vectors, retrieving the closest ones in a high-dimensional embedding space. At scale it uses approximate nearest neighbor (ANN) algorithms — not exact comparison — to search billions of vectors in milliseconds. embeddings semantic-search rag","passages":["Vector search finds content by comparing the meaning of a query against stored content as numerical vectors, retrieving the closest ones in a high-dimensional embedding space. At scale it uses approximate nearest neighbor (ANN) algorithms — not exact comparison — to search billions of vectors in milliseconds."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/vector-search/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Vibe Ranking","desc":"Vibe ranking is informal practitioner shorthand for LLM-based reranking — using a large language model to reorder retrieved search candidates by holistic, semantic judgment (relevance, clarity, expertise, completeness) rather than keyword overlap or vector similarity alone. It is not an official Google or Bing term.","snippetText":"Vibe ranking is informal practitioner shorthand for LLM-based reranking — using a large language model to reorder retrieved search candidates by holistic, semantic judgment (relevance, clarity, expertise, completeness) rather than keyword overlap or vector similarity alone. It is not an official Google or Bing term.","href":"/ai-search/how-search-works/vibe-ranking/#glossary","slug":"vibe-ranking","parentHref":"/ai-search/how-search-works/vibe-ranking/","meta":"Glossary definition","aliases":["rag","passage-ranking"],"taxonomy":["ai-search","how-search-works"],"text":"Vibe ranking is informal practitioner shorthand for LLM-based reranking — using a large language model to reorder retrieved search candidates by holistic, semantic judgment (relevance, clarity, expertise, completeness) rather than keyword overlap or vector similarity alone. It is not an official Google or Bing term. rag passage-ranking","passages":["Vibe ranking is informal practitioner shorthand for LLM-based reranking — using a large language model to reorder retrieved search candidates by holistic, semantic judgment (relevance, clarity, expertise, completeness) rather than keyword overlap or vector similarity alone. It is not an official Google or Bing term."],"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/vibe-ranking/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Video indexing report","desc":"A Google Search Console report showing how many of your indexed pages contain a video Google found, how many of those videos Google actually indexed, and the reasons blocking the rest. It only covers indexed pages and only appears once Google detects videos on the property.","snippetText":"A Google Search Console report showing how many of your indexed pages contain a video Google found, how many of those videos Google actually indexed, and the reasons blocking the rest. It only covers indexed pages and only appears once Google detects videos on the property.","href":"/technical-seo/tools/search-engine-tools/google-search-console/video-indexing-report/#glossary","slug":"video-indexing-report","parentHref":"/technical-seo/tools/search-engine-tools/google-search-console/video-indexing-report/","meta":"Glossary definition","aliases":["google-search-console","index-coverage-report","sitemaps-report"],"taxonomy":["technical-seo","tools"],"text":"A Google Search Console report showing how many of your indexed pages contain a video Google found, how many of those videos Google actually indexed, and the reasons blocking the rest. It only covers indexed pages and only appears once Google detects videos on the property. google-search-console index-coverage-report sitemaps-report","passages":["A Google Search Console report showing how many of your indexed pages contain a video Google found, how many of those videos Google actually indexed, and the reasons blocking the rest. It only covers indexed pages and only appears once Google detects videos on the property."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/video-indexing-report/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Video sitemap","desc":"A video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing.","snippetText":"A video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing.","href":"/technical-seo/how-search-works/discovery/sitemaps/video-sitemaps/#glossary","slug":"video-sitemaps","parentHref":"/technical-seo/how-search-works/discovery/sitemaps/video-sitemaps/","meta":"Glossary definition","aliases":["sitemaps","xml-sitemaps","image-sitemaps"],"taxonomy":["technical-seo","how-search-works"],"text":"A video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing. sitemaps xml-sitemaps image-sitemaps","passages":["A video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/video-sitemaps/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"VideoObject Schema","desc":"VideoObject schema (schema.org/VideoObject) marks up video content for Google's video rich results — thumbnail, duration, and key moments — surfacing on main search, the Video tab, Google Images, and Google Discover. It also covers the related Clip (key moments) and BroadcastEvent (LIVE badge) types on the same guide.","snippetText":"VideoObject schema (schema.org/VideoObject) marks up video content for Google's video rich results — thumbnail, duration, and key moments — surfacing on main search, the Video tab, Google Images, and Google Discover. It also covers the related Clip (key moments) and BroadcastEvent (LIVE badge) types on the same guide.","href":"/technical-seo/on-page/structured-data/creative-works/videoobject-schema/#glossary","slug":"videoobject-schema","parentHref":"/technical-seo/on-page/structured-data/creative-works/videoobject-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","rich-results","product-schema"],"taxonomy":["technical-seo","on-page"],"text":"VideoObject schema (schema.org/VideoObject) marks up video content for Google's video rich results — thumbnail, duration, and key moments — surfacing on main search, the Video tab, Google Images, and Google Discover. It also covers the related Clip (key moments) and BroadcastEvent (LIVE badge) types on the same guide. schema-markup structured-data rich-results product-schema","passages":["VideoObject schema (schema.org/VideoObject) marks up video content for Google's video rich results — thumbnail, duration, and key moments — surfacing on main search, the Video tab, Google Images, and Google Discover. It also covers the related Clip (key moments) and BroadcastEvent (LIVE badge) types on the same guide."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/videoobject-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Viewport Meta Tag","desc":"An HTML head element — <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> — that hints mobile browsers to size the layout viewport to the device's width in CSS pixels instead of a legacy ~980px fallback, so responsive design works.","snippetText":"An HTML head element — <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> — that hints mobile browsers to size the layout viewport to the device's width in CSS pixels instead of a legacy ~980px fallback, so responsive design works.","href":"/technical-seo/mobile-seo/viewport-meta-tag/#glossary","slug":"viewport-meta-tag","parentHref":"/technical-seo/mobile-seo/viewport-meta-tag/","meta":"Glossary definition","aliases":["Mobile SEO","Mobile-First Indexing"],"taxonomy":["technical-seo","mobile-seo"],"text":"An HTML head element — <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> — that hints mobile browsers to size the layout viewport to the device's width in CSS pixels instead of a legacy ~980px fallback, so responsive design works. Mobile SEO Mobile-First Indexing","passages":["An HTML head element — <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> — that hints mobile browsers to size the layout viewport to the device's width in CSS pixels instead of a legacy ~980px fallback, so responsive design works."],"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/viewport-meta-tag/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Vue SEO","desc":"Vue SEO is the practice of making web apps built with Vue.js crawlable, renderable, and indexable. Because Vue 3 defaults to client-side rendering, the content isn't in the raw HTML — so router mode, head management, and a rendering strategy (CSR, prerendering, SSR, or SSG) all matter.","snippetText":"Vue SEO is the practice of making web apps built with Vue.js crawlable, renderable, and indexable. Because Vue 3 defaults to client-side rendering, the content isn't in the raw HTML — so router mode, head management, and a rendering strategy (CSR, prerendering, SSR, or SSG) all matter.","href":"/technical-seo/platform-seo/js-frameworks/vue-seo/#glossary","slug":"vue-seo","parentHref":"/technical-seo/platform-seo/js-frameworks/vue-seo/","meta":"Glossary definition","aliases":["javascript-seo","headless-cms-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"Vue SEO is the practice of making web apps built with Vue.js crawlable, renderable, and indexable. Because Vue 3 defaults to client-side rendering, the content isn't in the raw HTML — so router mode, head management, and a rendering strategy (CSR, prerendering, SSR, or SSG) all matter. javascript-seo headless-cms-seo","passages":["Vue SEO is the practice of making web apps built with Vue.js crawlable, renderable, and indexable. Because Vue 3 defaults to client-side rendering, the content isn't in the raw HTML — so router mode, head management, and a rendering strategy (CSR, prerendering, SSR, or SSG) all matter."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/vue-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Walmart SEO","desc":"Walmart SEO is the practice of optimizing product listings — item setup, product type/attributes, content, offer, and reviews — inside Walmart Marketplace so they rank higher in Walmart.com's own organic search results, a distinct system (Walmart's relevance engine, often called Polaris) that is not Google's web-ranking algorithm and not Walmart Connect's paid Sponsored Search.","snippetText":"Walmart SEO is the practice of optimizing product listings — item setup, product type/attributes, content, offer, and reviews — inside Walmart Marketplace so they rank higher in Walmart.com's own organic search results, a distinct system (Walmart's relevance engine, often called Polaris) that is not Google's web-ranking algorithm and not Walmart Connect's paid Sponsored Search.","href":"/ecommerce-seo/marketplace-seo/walmart-seo/#glossary","slug":"walmart-seo","parentHref":"/ecommerce-seo/marketplace-seo/walmart-seo/","meta":"Glossary definition","aliases":["marketplace-seo","ecommerce-seo","category-page-seo"],"taxonomy":["ecommerce-seo","marketplace-seo"],"text":"Walmart SEO is the practice of optimizing product listings — item setup, product type/attributes, content, offer, and reviews — inside Walmart Marketplace so they rank higher in Walmart.com's own organic search results, a distinct system (Walmart's relevance engine, often called Polaris) that is not Google's web-ranking algorithm and not Walmart Connect's paid Sponsored Search. marketplace-seo ecommerce-seo category-page-seo","passages":["Walmart SEO is the practice of optimizing product listings — item setup, product type/attributes, content, offer, and reviews — inside Walmart Marketplace so they rank higher in Walmart.com's own organic search results, a distinct system (Walmart's relevance engine, often called Polaris) that is not Google's web-ranking algorithm and not Walmart Connect's paid Sponsored Search."],"popular":0,"url":"https://patrickstox.com/ecommerce-seo/marketplace-seo/walmart-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Web Vitals","desc":"Web Vitals is Google's initiative (launched May 2020) for unified page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset used in ranking; the rest (TTFB, FCP, TBT, Speed Index) are diagnostic, not ranking factors.","snippetText":"Web Vitals is Google's initiative (launched May 2020) for unified page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset used in ranking; the rest (TTFB, FCP, TBT, Speed Index) are diagnostic, not ranking factors.","href":"/technical-seo/web-performance/web-vitals/#glossary","slug":"web-vitals","parentHref":"/technical-seo/web-performance/web-vitals/","meta":"Glossary definition","aliases":["core-web-vitals","web-performance"],"taxonomy":["technical-seo","web-performance"],"text":"Web Vitals is Google's initiative (launched May 2020) for unified page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset used in ranking; the rest (TTFB, FCP, TBT, Speed Index) are diagnostic, not ranking factors. core-web-vitals web-performance","passages":["Web Vitals is Google's initiative (launched May 2020) for unified page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset used in ranking; the rest (TTFB, FCP, TBT, Speed Index) are diagnostic, not ranking factors."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Webflow SEO","desc":"Webflow SEO is the set of technical controls, on-page settings, and CMS features built into the Webflow visual platform that affect how Webflow-built sites are crawled, indexed, and ranked. Its core advantage is that Webflow publishes static HTML at publish time, so crawlers get fully-rendered content without running JavaScript.","snippetText":"Webflow SEO is the set of technical controls, on-page settings, and CMS features built into the Webflow visual platform that affect how Webflow-built sites are crawled, indexed, and ranked. Its core advantage is that Webflow publishes static HTML at publish time, so crawlers get fully-rendered content without running JavaScript.","href":"/technical-seo/platform-seo/website-builders/webflow-seo/#glossary","slug":"webflow-seo","parentHref":"/technical-seo/platform-seo/website-builders/webflow-seo/","meta":"Glossary definition","aliases":["javascript-seo","core-web-vitals"],"taxonomy":["technical-seo","platform-seo"],"text":"Webflow SEO is the set of technical controls, on-page settings, and CMS features built into the Webflow visual platform that affect how Webflow-built sites are crawled, indexed, and ranked. Its core advantage is that Webflow publishes static HTML at publish time, so crawlers get fully-rendered content without running JavaScript. javascript-seo core-web-vitals","passages":["Webflow SEO is the set of technical controls, on-page settings, and CMS features built into the Webflow visual platform that affect how Webflow-built sites are crawled, indexed, and ranked. Its core advantage is that Webflow publishes static HTML at publish time, so crawlers get fully-rendered content without running JavaScript."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/webflow-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Webnode SEO","desc":"Webnode SEO is the practice of optimizing a website built on Webnode — a Czech-founded, drag-and-drop website builder (45M+ sites, acquired by team.blue in 2020) — for organic search. Webnode auto-handles HTTPS on every plan, a CDN, a dynamically updated XML sitemap, and responsive templates, while leaving titles, meta descriptions, slugs, alt text, and Open Graph tags to you. It also offers a real 301 'alternative URL' redirect, set separately for pages, blog posts, and products (not a bulk manager). Its standout SEO differentiator is built-in multilingual support with a subdirectory URL structure at a low price point — the ecommerce exclusion is confirmed only for Webnode's legacy editor, unverified for the newer one. Real hard limits remain: you can't edit robots.txt, and schema markup requires manual code injection on a Standard/Profi/Business plan.","snippetText":"Webnode SEO is the practice of optimizing a website built on Webnode — a Czech-founded, drag-and-drop website builder (45M+ sites, acquired by team.blue in 2020) — for organic search. Webnode auto-handles HTTPS on every plan, a CDN, a dynamically updated XML sitemap, and responsive templates, while leaving titles, meta descriptions, slugs, alt text, and Open Graph tags to you. It also offers a real 301 'alternative URL' redirect, set separately for pages, blog posts, and products (not a bulk manager). Its standout SEO differentiator is built-in multilingual support with a subdirectory URL stru","href":"/technical-seo/platform-seo/website-builders/webnode-seo/#glossary","slug":"webnode-seo","parentHref":"/technical-seo/platform-seo/website-builders/webnode-seo/","meta":"Glossary definition","aliases":["platform-seo","hreflang","canonicalization","structured-data"],"taxonomy":["technical-seo","platform-seo"],"text":"Webnode SEO is the practice of optimizing a website built on Webnode — a Czech-founded, drag-and-drop website builder (45M+ sites, acquired by team.blue in 2020) — for organic search. Webnode auto-handles HTTPS on every plan, a CDN, a dynamically updated XML sitemap, and responsive templates, while leaving titles, meta descriptions, slugs, alt text, and Open Graph tags to you. It also offers a real 301 'alternative URL' redirect, set separately for pages, blog posts, and products (not a bulk manager). Its standout SEO differentiator is built-in multilingual support with a subdirectory URL structure at a low price point — the ecommerce exclusion is confirmed only for Webnode's legacy editor, unverified for the newer one. Real hard limits remain: you can't edit robots.txt, and schema markup requires manual code injection on a Standard/Profi/Business plan. platform-seo hreflang canonicalization structured-data","passages":["Webnode SEO is the practice of optimizing a website built on Webnode — a Czech-founded, drag-and-drop website builder (45M+ sites, acquired by team.blue in 2020) — for organic search. Webnode auto-handles HTTPS on every plan, a CDN, a dynamically updated XML sitemap, and responsive templates, while leaving titles, meta descriptions, slugs, alt text, and Open Graph tags to you. It also offers a real 301 'alternative URL' redirect, set separately for pages, blog posts, and products (not a bulk manager). Its standout SEO differentiator is built-in multilingual support with a subdirectory URL structure at a low price point — the ecommerce exclusion is confirmed only for Webnode's legacy editor, unverified for the newer one. Real hard limits remain: you can't edit robots.txt, and schema markup requires manual code injection on a Standard/Profi/Business plan."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/webnode-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"WebPageTest","desc":"WebPageTest is a free, open-source, lab-based website performance testing tool — created by Patrick Meenan in 2008 and acquired by Catchpoint in 2020 — that runs pages on real browsers from distributed locations and produces deep diagnostics (waterfalls, filmstrips, connection views, Core Web Vitals). It's a diagnostic tool, not a Google ranking input.","snippetText":"WebPageTest is a free, open-source, lab-based website performance testing tool — created by Patrick Meenan in 2008 and acquired by Catchpoint in 2020 — that runs pages on real browsers from distributed locations and produces deep diagnostics (waterfalls, filmstrips, connection views, Core Web Vitals). It's a diagnostic tool, not a Google ranking input.","href":"/technical-seo/web-performance/web-performance-tools/webpagetest/#glossary","slug":"webpagetest","parentHref":"/technical-seo/web-performance/web-performance-tools/webpagetest/","meta":"Glossary definition","aliases":["core-web-vitals","lighthouse"],"taxonomy":["technical-seo","web-performance"],"text":"WebPageTest is a free, open-source, lab-based website performance testing tool — created by Patrick Meenan in 2008 and acquired by Catchpoint in 2020 — that runs pages on real browsers from distributed locations and produces deep diagnostics (waterfalls, filmstrips, connection views, Core Web Vitals). It's a diagnostic tool, not a Google ranking input. core-web-vitals lighthouse","passages":["WebPageTest is a free, open-source, lab-based website performance testing tool — created by Patrick Meenan in 2008 and acquired by Catchpoint in 2020 — that runs pages on real browsers from distributed locations and produces deep diagnostics (waterfalls, filmstrips, connection views, Core Web Vitals). It's a diagnostic tool, not a Google ranking input."],"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/webpagetest/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Website Builders","desc":"Hosted visual tools — Wix, Squarespace, Webflow, Framer, and others — that let users build and publish websites without writing code. They manage hosting, SSL, and rendering but vary significantly in the SEO controls they expose.","snippetText":"Hosted visual tools — Wix, Squarespace, Webflow, Framer, and others — that let users build and publish websites without writing code. They manage hosting, SSL, and rendering but vary significantly in the SEO controls they expose.","href":"/technical-seo/platform-seo/website-builders/#glossary","slug":"website-builders","parentHref":"/technical-seo/platform-seo/website-builders/","meta":"Glossary definition","aliases":["javascript-seo","crawling"],"taxonomy":["technical-seo","platform-seo"],"text":"Hosted visual tools — Wix, Squarespace, Webflow, Framer, and others — that let users build and publish websites without writing code. They manage hosting, SSL, and rendering but vary significantly in the SEO controls they expose. javascript-seo crawling","passages":["Hosted visual tools — Wix, Squarespace, Webflow, Framer, and others — that let users build and publish websites without writing code. They manage hosting, SSL, and rendering but vary significantly in the SEO controls they expose."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Website Redesign SEO Checklist","desc":"A website redesign SEO checklist is the step-by-step task list for refreshing a site's visual design, templates, or CMS theme while keeping the same URLs — without silently losing the on-page and technical SEO elements (titles, meta descriptions, headings, internal links, structured data, canonical tags, alt text) that were earning rankings under the old design.","snippetText":"A website redesign SEO checklist is the step-by-step task list for refreshing a site's visual design, templates, or CMS theme while keeping the same URLs — without silently losing the on-page and technical SEO elements (titles, meta descriptions, headings, internal links, structured data, canonical tags, alt text) that were earning rankings under the old design.","href":"/technical-seo/migrations/website-redesign-seo-checklist/#glossary","slug":"website-redesign-seo-checklist","parentHref":"/technical-seo/migrations/website-redesign-seo-checklist/","meta":"Glossary definition","aliases":["migrations","canonical-tag","alt-text","cls"],"taxonomy":["technical-seo","migrations"],"text":"A website redesign SEO checklist is the step-by-step task list for refreshing a site's visual design, templates, or CMS theme while keeping the same URLs — without silently losing the on-page and technical SEO elements (titles, meta descriptions, headings, internal links, structured data, canonical tags, alt text) that were earning rankings under the old design. migrations canonical-tag alt-text cls","passages":["A website redesign SEO checklist is the step-by-step task list for refreshing a site's visual design, templates, or CMS theme while keeping the same URLs — without silently losing the on-page and technical SEO elements (titles, meta descriptions, headings, internal links, structured data, canonical tags, alt text) that were earning rankings under the old design."],"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/website-redesign-seo-checklist/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"WebSite Schema","desc":"WebSite schema (schema.org/WebSite) is structured data — usually JSON-LD on the homepage — that identifies your domain as a website entity via its name and URL. Today it mainly feeds Google's Site Names feature; the Sitelinks Search Box it used to enable was discontinued by Google in November 2024.","snippetText":"WebSite schema (schema.org/WebSite) is structured data — usually JSON-LD on the homepage — that identifies your domain as a website entity via its name and URL. Today it mainly feeds Google's Site Names feature; the Sitelinks Search Box it used to enable was discontinued by Google in November 2024.","href":"/technical-seo/on-page/structured-data/metadata-trust/website-schema/#glossary","slug":"website-schema","parentHref":"/technical-seo/on-page/structured-data/metadata-trust/website-schema/","meta":"Glossary definition","aliases":["schema-markup","structured-data","organization-schema","rich-results"],"taxonomy":["technical-seo","on-page"],"text":"WebSite schema (schema.org/WebSite) is structured data — usually JSON-LD on the homepage — that identifies your domain as a website entity via its name and URL. Today it mainly feeds Google's Site Names feature; the Sitelinks Search Box it used to enable was discontinued by Google in November 2024. schema-markup structured-data organization-schema rich-results","passages":["WebSite schema (schema.org/WebSite) is structured data — usually JSON-LD on the homepage — that identifies your domain as a website entity via its name and URL. Today it mainly feeds Google's Site Names feature; the Sitelinks Search Box it used to enable was discontinued by Google in November 2024."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/website-schema/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Website Structure","desc":"Website structure (site architecture) is a site's visible hierarchy, navigation, breadcrumbs, and URL organization — how pages relate and how people and search engines move between them. Internal linking is the primary signal Google reads to understand that structure, not URL folders.","snippetText":"Website structure (site architecture) is a site's visible hierarchy, navigation, breadcrumbs, and URL organization — how pages relate and how people and search engines move between them. Internal linking is the primary signal Google reads to understand that structure, not URL folders.","href":"/technical-seo/website-structure/#glossary","slug":"website-structure","parentHref":"/technical-seo/website-structure/","meta":"Glossary definition","aliases":["url-structure","internal-links","crawl-depth"],"taxonomy":["technical-seo","website-structure"],"text":"Website structure (site architecture) is a site's visible hierarchy, navigation, breadcrumbs, and URL organization — how pages relate and how people and search engines move between them. Internal linking is the primary signal Google reads to understand that structure, not URL folders. url-structure internal-links crawl-depth","passages":["Website structure (site architecture) is a site's visible hierarchy, navigation, breadcrumbs, and URL organization — how pages relate and how people and search engines move between them. Internal linking is the primary signal Google reads to understand that structure, not URL folders."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"WebSub","desc":"WebSub (formerly PubSubHubbub) is a push notification protocol for RSS/Atom feeds that lets a site instantly broadcast new or updated content to subscribing search engines instead of waiting to be re-crawled.","snippetText":"WebSub (formerly PubSubHubbub) is a push notification protocol for RSS/Atom feeds that lets a site instantly broadcast new or updated content to subscribing search engines instead of waiting to be re-crawled.","href":"/technical-seo/how-search-works/discovery/websub/#glossary","slug":"websub","parentHref":"/technical-seo/how-search-works/discovery/websub/","meta":"Glossary definition","aliases":["discovery","rss-feeds"],"taxonomy":["technical-seo","how-search-works"],"text":"WebSub (formerly PubSubHubbub) is a push notification protocol for RSS/Atom feeds that lets a site instantly broadcast new or updated content to subscribing search engines instead of waiting to be re-crawled. discovery rss-feeds","passages":["WebSub (formerly PubSubHubbub) is a push notification protocol for RSS/Atom feeds that lets a site instantly broadcast new or updated content to subscribing search engines instead of waiting to be re-crawled."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/websub/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Weebly SEO","desc":"Weebly SEO is the practice of optimizing a website built on Weebly's drag-and-drop builder for organic search. Weebly handles the technical baseline — auto HTTPS, an auto-generated sitemap.xml, mobile-responsive themes — but pushes almost all on-page work onto you manually, and imposes hard limits no setting overrides: no robots.txt editing (GUI toggle only), a documented-manual redirect workflow, a Title element that outputs H2 not H1, a mandatory /store/ prefix on ecommerce URLs, and a site name appended to every page title. The bigger story: Weebly's signups are still open, but it's winding down entirely in 67 named countries by the end of 2026, and Square renamed its other builder from Square Online to Square Websites.","snippetText":"Weebly SEO is the practice of optimizing a website built on Weebly's drag-and-drop builder for organic search. Weebly handles the technical baseline — auto HTTPS, an auto-generated sitemap.xml, mobile-responsive themes — but pushes almost all on-page work onto you manually, and imposes hard limits no setting overrides: no robots.txt editing (GUI toggle only), a documented-manual redirect workflow, a Title element that outputs H2 not H1, a mandatory /store/ prefix on ecommerce URLs, and a site name appended to every page title. The bigger story: Weebly's signups are still open, but it's winding","href":"/technical-seo/platform-seo/website-builders/weebly-seo/#glossary","slug":"weebly-seo","parentHref":"/technical-seo/platform-seo/website-builders/weebly-seo/","meta":"Glossary definition","aliases":["platform-seo","canonicalization","structured-data","redirect"],"taxonomy":["technical-seo","platform-seo"],"text":"Weebly SEO is the practice of optimizing a website built on Weebly's drag-and-drop builder for organic search. Weebly handles the technical baseline — auto HTTPS, an auto-generated sitemap.xml, mobile-responsive themes — but pushes almost all on-page work onto you manually, and imposes hard limits no setting overrides: no robots.txt editing (GUI toggle only), a documented-manual redirect workflow, a Title element that outputs H2 not H1, a mandatory /store/ prefix on ecommerce URLs, and a site name appended to every page title. The bigger story: Weebly's signups are still open, but it's winding down entirely in 67 named countries by the end of 2026, and Square renamed its other builder from Square Online to Square Websites. platform-seo canonicalization structured-data redirect","passages":["Weebly SEO is the practice of optimizing a website built on Weebly's drag-and-drop builder for organic search. Weebly handles the technical baseline — auto HTTPS, an auto-generated sitemap.xml, mobile-responsive themes — but pushes almost all on-page work onto you manually, and imposes hard limits no setting overrides: no robots.txt editing (GUI toggle only), a documented-manual redirect workflow, a Title element that outputs H2 not H1, a mandatory /store/ prefix on ecommerce URLs, and a site name appended to every page title. The bigger story: Weebly's signups are still open, but it's winding down entirely in 67 named countries by the end of 2026, and Square renamed its other builder from Square Online to Square Websites."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/weebly-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Wix eCommerce SEO","desc":"Wix eCommerce SEO is the technical, on-page, and content work you do on a store built on Wix Stores — the commerce layer that sits on top of general Wix SEO, adding a /product-page/ URL prefix, auto-generated Product JSON-LD, a dedicated store-products-sitemap.xml, and platform limits around bulk editing, product variants, and per-language currency that general Wix advice doesn't cover.","snippetText":"Wix eCommerce SEO is the technical, on-page, and content work you do on a store built on Wix Stores — the commerce layer that sits on top of general Wix SEO, adding a /product-page/ URL prefix, auto-generated Product JSON-LD, a dedicated store-products-sitemap.xml, and platform limits around bulk editing, product variants, and per-language currency that general Wix advice doesn't cover.","href":"/technical-seo/platform-seo/ecommerce-platforms/wix-ecommerce-seo/#glossary","slug":"wix-ecommerce-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/wix-ecommerce-seo/","meta":"Glossary definition","aliases":["ecommerce-platforms","product-schema","canonicalization"],"taxonomy":["technical-seo","platform-seo"],"text":"Wix eCommerce SEO is the technical, on-page, and content work you do on a store built on Wix Stores — the commerce layer that sits on top of general Wix SEO, adding a /product-page/ URL prefix, auto-generated Product JSON-LD, a dedicated store-products-sitemap.xml, and platform limits around bulk editing, product variants, and per-language currency that general Wix advice doesn't cover. ecommerce-platforms product-schema canonicalization","passages":["Wix eCommerce SEO is the technical, on-page, and content work you do on a store built on Wix Stores — the commerce layer that sits on top of general Wix SEO, adding a /product-page/ URL prefix, auto-generated Product JSON-LD, a dedicated store-products-sitemap.xml, and platform limits around bulk editing, product variants, and per-language currency that general Wix advice doesn't cover."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/wix-ecommerce-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Wix SEO","desc":"Wix SEO is the practice of optimizing a website built on Wix's drag-and-drop platform for organic search. Wix was genuinely poor for SEO in its Flash and hash-bang URL era (pre-2016), and that reputation lingers — but the current platform auto-generates canonical tags, an XML sitemap, robots meta tags, and structured data, serves pages with server-side rendering, and earned a perfect Lighthouse SEO score of 100 in the 2024 Web Almanac. Real limits remain: image filenames can't be customized, multilingual slugs mirror across languages, and there's no raw server log access.","snippetText":"Wix SEO is the practice of optimizing a website built on Wix's drag-and-drop platform for organic search. Wix was genuinely poor for SEO in its Flash and hash-bang URL era (pre-2016), and that reputation lingers — but the current platform auto-generates canonical tags, an XML sitemap, robots meta tags, and structured data, serves pages with server-side rendering, and earned a perfect Lighthouse SEO score of 100 in the 2024 Web Almanac. Real limits remain: image filenames can't be customized, multilingual slugs mirror across languages, and there's no raw server log access.","href":"/technical-seo/platform-seo/website-builders/wix-seo/#glossary","slug":"wix-seo","parentHref":"/technical-seo/platform-seo/website-builders/wix-seo/","meta":"Glossary definition","aliases":["platform-seo","canonicalization","structured-data","hreflang"],"taxonomy":["technical-seo","platform-seo"],"text":"Wix SEO is the practice of optimizing a website built on Wix's drag-and-drop platform for organic search. Wix was genuinely poor for SEO in its Flash and hash-bang URL era (pre-2016), and that reputation lingers — but the current platform auto-generates canonical tags, an XML sitemap, robots meta tags, and structured data, serves pages with server-side rendering, and earned a perfect Lighthouse SEO score of 100 in the 2024 Web Almanac. Real limits remain: image filenames can't be customized, multilingual slugs mirror across languages, and there's no raw server log access. platform-seo canonicalization structured-data hreflang","passages":["Wix SEO is the practice of optimizing a website built on Wix's drag-and-drop platform for organic search. Wix was genuinely poor for SEO in its Flash and hash-bang URL era (pre-2016), and that reputation lingers — but the current platform auto-generates canonical tags, an XML sitemap, robots meta tags, and structured data, serves pages with server-side rendering, and earned a perfect Lighthouse SEO score of 100 in the 2024 Web Almanac. Real limits remain: image filenames can't be customized, multilingual slugs mirror across languages, and there's no raw server log access."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/wix-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"WooCommerce SEO","desc":"WooCommerce SEO is optimizing a WooCommerce store — which runs as a free plugin on WordPress, not as a standalone platform — to rank in organic search. Because you control the whole stack (templates, URLs, plugins, server), the ceiling is high and the ways to misconfigure it are many.","snippetText":"WooCommerce SEO is optimizing a WooCommerce store — which runs as a free plugin on WordPress, not as a standalone platform — to rank in organic search. Because you control the whole stack (templates, URLs, plugins, server), the ceiling is high and the ways to misconfigure it are many.","href":"/technical-seo/platform-seo/ecommerce-platforms/woocommerce-seo/#glossary","slug":"woocommerce-seo","parentHref":"/technical-seo/platform-seo/ecommerce-platforms/woocommerce-seo/","meta":"Glossary definition","aliases":["ecommerce-seo","duplicate-content","product-schema"],"taxonomy":["technical-seo","platform-seo"],"text":"WooCommerce SEO is optimizing a WooCommerce store — which runs as a free plugin on WordPress, not as a standalone platform — to rank in organic search. Because you control the whole stack (templates, URLs, plugins, server), the ceiling is high and the ways to misconfigure it are many. ecommerce-seo duplicate-content product-schema","passages":["WooCommerce SEO is optimizing a WooCommerce store — which runs as a free plugin on WordPress, not as a standalone platform — to rank in organic search. Because you control the whole stack (templates, URLs, plugins, server), the ceiling is high and the ways to misconfigure it are many."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/woocommerce-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"WordPress SEO","desc":"WordPress SEO is the process of configuring, optimizing, and maintaining a WordPress site so search engines can efficiently crawl, index, and rank it. WordPress gives you a solid foundation, but its defaults — ?p=123 permalinks, attachment pages, thin archives — need cleanup before a site is actually well-optimized.","snippetText":"WordPress SEO is the process of configuring, optimizing, and maintaining a WordPress site so search engines can efficiently crawl, index, and rank it. WordPress gives you a solid foundation, but its defaults — ?p=123 permalinks, attachment pages, thin archives — need cleanup before a site is actually well-optimized.","href":"/technical-seo/platform-seo/cms/wordpress-seo/#glossary","slug":"wordpress-seo","parentHref":"/technical-seo/platform-seo/cms/wordpress-seo/","meta":"Glossary definition","aliases":["cms","platform-seo"],"taxonomy":["technical-seo","platform-seo"],"text":"WordPress SEO is the process of configuring, optimizing, and maintaining a WordPress site so search engines can efficiently crawl, index, and rank it. WordPress gives you a solid foundation, but its defaults — ?p=123 permalinks, attachment pages, thin archives — need cleanup before a site is actually well-optimized. cms platform-seo","passages":["WordPress SEO is the process of configuring, optimizing, and maintaining a WordPress site so search engines can efficiently crawl, index, and rank it. WordPress gives you a solid foundation, but its defaults — ?p=123 permalinks, attachment pages, thin archives — need cleanup before a site is actually well-optimized."],"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/wordpress-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"WWW vs. Non-WWW","desc":"WWW vs. non-WWW is the choice between serving a site from www.example.com (the www subdomain) or example.com (the bare/apex/root domain). Both point to the same content, so it's a canonicalization and consistency decision, not a ranking factor.","snippetText":"WWW vs. non-WWW is the choice between serving a site from www.example.com (the www subdomain) or example.com (the bare/apex/root domain). Both point to the same content, so it's a canonicalization and consistency decision, not a ranking factor.","href":"/technical-seo/website-structure/url-structure/www-vs-non-www/#glossary","slug":"www-vs-non-www","parentHref":"/technical-seo/website-structure/url-structure/www-vs-non-www/","meta":"Glossary definition","aliases":["canonicalization","url-structure","301-redirect"],"taxonomy":["technical-seo","website-structure"],"text":"WWW vs. non-WWW is the choice between serving a site from www.example.com (the www subdomain) or example.com (the bare/apex/root domain). Both point to the same content, so it's a canonicalization and consistency decision, not a ranking factor. canonicalization url-structure 301-redirect","passages":["WWW vs. non-WWW is the choice between serving a site from www.example.com (the www subdomain) or example.com (the bare/apex/root domain). Both point to the same content, so it's a canonicalization and consistency decision, not a ranking factor."],"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/url-structure/www-vs-non-www/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"x-default","desc":"x-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\"","snippetText":"x-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\"","href":"/international-seo/hreflang/x-default-hreflang/#glossary","slug":"x-default","parentHref":"/international-seo/hreflang/x-default-hreflang/","meta":"Glossary definition","aliases":["hreflang","international-seo"],"taxonomy":["international-seo","hreflang"],"text":"x-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\" hreflang international-seo","passages":["x-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\""],"popular":0,"url":"https://patrickstox.com/international-seo/hreflang/x-default-hreflang/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"X-Robots-Tag","desc":"The X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos.","snippetText":"The X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos.","href":"/technical-seo/on-page/meta-tags/x-robots-tag/#glossary","slug":"x-robots-tag","parentHref":"/technical-seo/on-page/meta-tags/x-robots-tag/","meta":"Glossary definition","aliases":["meta-robots","noindex","nosnippet-data-nosnippet"],"taxonomy":["technical-seo","on-page"],"text":"The X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. meta-robots noindex nosnippet-data-nosnippet","passages":["The X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos."],"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/x-robots-tag/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"XML sitemap","desc":"An XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags.","snippetText":"An XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags.","href":"/technical-seo/how-search-works/discovery/sitemaps/xml-sitemaps/#glossary","slug":"xml-sitemaps","parentHref":"/technical-seo/how-search-works/discovery/sitemaps/xml-sitemaps/","meta":"Glossary definition","aliases":["sitemaps","sitemap-index","image-sitemaps","video-sitemaps"],"taxonomy":["technical-seo","how-search-works"],"text":"An XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. sitemaps sitemap-index image-sitemaps video-sitemaps","passages":["An XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/xml-sitemaps/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Yandex SEO","desc":"Yandex SEO is the practice of optimizing sites to rank in Yandex — Russia's dominant search engine. Its algorithm weights behavioral factors, commercial-query classification, and explicit regional targeting more heavily and more openly than Google does.","snippetText":"Yandex SEO is the practice of optimizing sites to rank in Yandex — Russia's dominant search engine. Its algorithm weights behavioral factors, commercial-query classification, and explicit regional targeting more heavily and more openly than Google does.","href":"/international-seo/market-specific-seo/yandex-seo/#glossary","slug":"yandex-seo","parentHref":"/international-seo/market-specific-seo/yandex-seo/","meta":"Glossary definition","aliases":["yandex-webmaster-tools","yandexbot","market-specific-seo"],"taxonomy":["international-seo","market-specific-seo"],"text":"Yandex SEO is the practice of optimizing sites to rank in Yandex — Russia's dominant search engine. Its algorithm weights behavioral factors, commercial-query classification, and explicit regional targeting more heavily and more openly than Google does. yandex-webmaster-tools yandexbot market-specific-seo","passages":["Yandex SEO is the practice of optimizing sites to rank in Yandex — Russia's dominant search engine. Its algorithm weights behavioral factors, commercial-query classification, and explicit regional targeting more heavily and more openly than Google does."],"popular":0,"url":"https://patrickstox.com/international-seo/market-specific-seo/yandex-seo/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"Yandex Webmaster","desc":"Yandex Webmaster (webmaster.yandex.com) is Yandex's free search console — the Yandex equivalent of Google Search Console — for verifying a site, monitoring indexing and queries, requesting reindexing, running diagnostics, and setting a site region. It's essential for any site targeting Russia and the wider CIS, where Yandex, not Google, is the dominant search engine.","snippetText":"Yandex Webmaster (webmaster.yandex.com) is Yandex's free search console — the Yandex equivalent of Google Search Console — for verifying a site, monitoring indexing and queries, requesting reindexing, running diagnostics, and setting a site region. It's essential for any site targeting Russia and the wider CIS, where Yandex, not Google, is the dominant search engine.","href":"/technical-seo/tools/search-engine-tools/yandex-webmaster-tools/#glossary","slug":"yandex-webmaster-tools","parentHref":"/technical-seo/tools/search-engine-tools/yandex-webmaster-tools/","meta":"Glossary definition","aliases":["bing-webmaster-tools","yandex-seo"],"taxonomy":["technical-seo","tools"],"text":"Yandex Webmaster (webmaster.yandex.com) is Yandex's free search console — the Yandex equivalent of Google Search Console — for verifying a site, monitoring indexing and queries, requesting reindexing, running diagnostics, and setting a site region. It's essential for any site targeting Russia and the wider CIS, where Yandex, not Google, is the dominant search engine. bing-webmaster-tools yandex-seo","passages":["Yandex Webmaster (webmaster.yandex.com) is Yandex's free search console — the Yandex equivalent of Google Search Console — for verifying a site, monitoring indexing and queries, requesting reindexing, running diagnostics, and setting a site region. It's essential for any site targeting Russia and the wider CIS, where Yandex, not Google, is the dominant search engine."],"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/yandex-webmaster-tools/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"glossary","kind":"glossary","contentType":"glossary","title":"YandexBot","desc":"YandexBot is the main web crawler operated by Yandex, Russia's dominant search engine. It discovers and fetches pages for Yandex Search, is one of a family of Yandex robots, and supports a Yandex-only robots.txt directive (Clean-param) that Google and Bing don't have.","snippetText":"YandexBot is the main web crawler operated by Yandex, Russia's dominant search engine. It discovers and fetches pages for Yandex Search, is one of a family of Yandex robots, and supports a Yandex-only robots.txt directive (Clean-param) that Google and Bing don't have.","href":"/technical-seo/how-search-works/crawling/crawler/yandexbot/#glossary","slug":"yandexbot","parentHref":"/technical-seo/how-search-works/crawling/crawler/yandexbot/","meta":"Glossary definition","aliases":["crawling","crawler","user-agent"],"taxonomy":["technical-seo","how-search-works"],"text":"YandexBot is the main web crawler operated by Yandex, Russia's dominant search engine. It discovers and fetches pages for Yandex Search, is one of a family of Yandex robots, and supports a Yandex-only robots.txt directive (Clean-param) that Google and Bing don't have. crawling crawler user-agent","passages":["YandexBot is the main web crawler operated by Yandex, Russia's dominant search engine. It discovers and fetches pages for Yandex Search, is one of a family of Yandex robots, and supports a Yandex-only robots.txt directive (Clean-param) that Google and Bing don't have."],"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/yandexbot/#glossary","pillar":null,"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Commerce SEO","desc":"How product feeds, commerce protocols, shopping graphs, and agentic checkout fit together when AI systems discover, compare, recommend, and purchase products.","snippetText":"AI commerce SEO is the work of making product data understandable, current, attributable, and actionable when an AI system helps someone research or buy. The foundation is still a crawlable product page and a reliable product feed. Commerce protocols and agentic checkout add machine-readable actions on top; they do not replace accurate catalog data, availability, policy, and merchant identity.","href":"/ecommerce-seo/ai-commerce/","slug":"ai-commerce","meta":"Educational","aliases":["AI commerce SEO","AI commerce","agentic commerce SEO"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","ai-commerce"],"text":"ai-commerce ecommerce-seo product-feeds agentic-commerce shopping AI commerce SEO is the work of making product data understandable, current, attributable, and actionable when an AI system helps someone research or buy. The foundation is still a crawlable product page and a reliable product feed. Commerce protocols and agentic checkout add machine-readable actions on top; they do not replace accurate catalog data, availability, policy, and merchant identity. What AI commerce SEO covers Start with the product data The implementation stack 1. Canonical product evidence 2. Feed synchronization 3. Entity and offer understanding 4. Protocol support 5. Permissioned transactions What to measure TL;DR — AI shopping systems need clean product facts before they can make a useful recommendation. Start with accurate product pages and feeds, then add the protocols that let assistants understand offers or complete a checkout. What AI commerce SEO covers AI commerce sits between product discovery and a transaction. A shopper may ask an assistant to compare products, narrow the options, check availability, or help buy one. For that workflow to succeed, the system needs dependable information about: what the product is; its price and availability; variants such as size or color; shipping, returns, and merchant identity; and the action a shopper can take next. The useful mental model is a stack. Product pages and feeds supply the facts. Shopping graphs connect products, merchants, and attributes. Commerce protocols standardize how systems exchange those facts. Agentic checkout adds a controlled transaction step. Start with the product data An AI specific integration cannot repair a stale catalog. Keep the public product page, structured product data, and merchant feed consistent. When they disagree, an assistant has to choose between conflicting facts or avoid the product entirely. The guides below cover each layer: Product feeds for AI /ecommerce seo/ai commerce/product feeds for ai/ Google Shopping Graph /ecommerce seo/ai commerce/google shopping graph/ AI shopping optimization /ecommerce seo/ai commerce/ai shopping optimization/ Agentic Commerce Protocol /ecommerce seo/ai commerce/agentic commerce protocol/ Universal Commerce Protocol /ecommerce seo/ai commerce/universal commerce protocol/ Agentic checkout /ecommerce seo/ai commerce/agentic checkout/ TL;DR — Treat AI comme","passages":["TL;DR — AI shopping systems need clean product facts before they can make a useful recommendation.","Start with accurate product pages and feeds, then add the protocols that let assistants understand offers or complete a checkout.","What AI commerce SEO covers AI commerce sits between product discovery and a transaction.","A shopper may ask an assistant to compare products, narrow the options, check availability, or help buy one.","For that workflow to succeed, the system needs dependable information about: what the product is; its price and availability; variants such as size or color; shipping, returns, and merchant identity; and the action a shopper can take next.","Shopping graphs connect products, merchants, and attributes.","Commerce protocols standardize how systems exchange those facts.","Start with the product data An AI specific integration cannot repair a stale catalog."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-07-25","markdown":"https://patrickstox.com/ecommerce-seo/ai-commerce/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"How AI Search Works","desc":"How AI search discovers sources, retrieves and reranks evidence, generates grounded answers, attaches citations, and handles freshness and uncertainty.","snippetText":"AI search is not one model reading the live web from scratch. A typical system combines source discovery and indexing with query understanding, optional decomposition or fan-out, lexical and/or vector retrieval, ranking and reranking, and a generative model that answers from selected context. Grounding and retrieval-augmented generation can bring current, attributable evidence into the response, but they do not guarantee that retrieval is complete, synthesis is faithful, or citations support every statement. Freshness depends on the source, crawl or connector, index, retrieval time, caches, an","href":"/ai-search/how-search-works/","slug":"ai-search-how-search-works","meta":"Educational","aliases":["how AI search works","AI search architecture","AI search pipeline","generative search architecture","AI retrieval pipeline"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"ai-search information-retrieval query-fan-out hybrid-search vector-search reranking rag grounding ai-citations multimodal-search ai-hallucinations AI search is not one model reading the live web from scratch. A typical system combines source discovery and indexing with query understanding, optional decomposition or fan-out, lexical and/or vector retrieval, ranking and reranking, and a generative model that answers from selected context. Grounding and retrieval-augmented generation can bring current, attributable evidence into the response, but they do not guarantee that retrieval is complete, synthesis is faithful, or citations support every statement. Freshness depends on the source, crawl or connector, index, retrieval time, caches, and any model knowledge used. Product implementations differ and most providers do not disclose their full architecture, so this guide explains the defensible common pipeline and routes each component to the site's dedicated deep dive. The shortest useful explanation 1. Source discovery and crawling 2. Indexing, chunks, and knowledge representations 3. Query understanding and fan out 4. Retrieval: lexical, vector, or hybrid 5. Ranking and reranking 6. Grounding and RAG 7. Answer generation and citations 8. Freshness and knowledge cutoffs 9. Multimodal search 10. Uncertainty and hallucinations Treat AI search as an evidence supply chain Source acquisition is broader than crawling Index several representations for different jobs Query planning changes the retrieval target Candidate generation and reranking have different objectives Context assembly is an allocation problem Grounding quality has several dimensions Citations are a product layer, not proof of causality Freshness has multiple clocks Multimodal retrieval adds alignment problems Route depth to the spokes The executive view How AI search works, compressed TL;DR — AI search usually combines a search system and a language model. The search side finds and orders useful sources. The model side reads a limited set of retrieved material and writes an answer. Some systems break a hard question into smaller searches, mix keyword and meaning based retrieval, rerank the candidates, and show citations. That process can improve freshness and traceability, but it can still miss a source, misunderstand evidence, or write an unsupported claim. The shortest useful explanation Classic w","passages":["TL;DR — AI search usually combines a search system and a language model.","The model side reads a limited set of retrieved material and writes an answer.","Some systems break a hard question into smaller searches, mix keyword and meaning based retrieval, rerank the candidates, and show citations.","That process can improve freshness and traceability, but it can still miss a source, misunderstand evidence, or write an unsupported claim.","The shortest useful explanation Classic web search usually returns a ranked set of results.","AI search can add another layer: retrieve evidence and use a generative model to compose a direct answer.","generate an answer constrained by that context and product rules; 9.","Products can add tools, commerce feeds, knowledge graphs, databases, user files, location, conversation history, or live camera input."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/ai-search/how-search-works/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"CMS Migration and Replatforming SEO","desc":"Migrate to a new CMS without losing search signals: inventory, template parity, rendering, URL decisions, staging QA, launch, and rollback.","snippetText":"A CMS migration replaces the system that generates and manages a website. Classify it first: preserving URLs avoids a URL move, while changing any paths requires a complete mapping and permanent redirect layer. Inventory the current site's content, templates, fields, signals, links, media, facets, rendering, integrations, and legacy redirects. Define parity as testable requirements, crawl and render staging, diff representative templates and the full URL inventory, rehearse cutover and rollback, then monitor by template and URL cohort after launch.","href":"/technical-seo/migrations/cms-migration-seo/","slug":"cms-migration-seo","meta":"Educational","aliases":["CMS migration SEO","CMS migration","website replatforming","replatforming SEO","platform migration SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","migrations"],"text":"site-migration cms-migration replatforming technical-seo rendering schema redirects A CMS migration replaces the system that generates and manages a website. Classify it first: preserving URLs avoids a URL move, while changing any paths requires a complete mapping and permanent redirect layer. Inventory the current site's content, templates, fields, signals, links, media, facets, rendering, integrations, and legacy redirects. Define parity as testable requirements, crawl and render staging, diff representative templates and the full URL inventory, rehearse cutover and rollback, then monitor by template and URL cohort after launch. What is a CMS migration? Are all CMS migrations URL migrations? What does “SEO parity” mean? Why do CMS migrations lose traffic? What is the basic process? Should you fix every old SEO problem during the migration? Classify the replatform before selecting the plan Decide same URLs versus changed URLs early Build the current state inventory from multiple systems Inventory the content model, not just page copy Turn parity into acceptance criteria Test raw HTML and rendered output Preserve canonical and index control logic Rebuild structured data from the new source model Preserve internal link function, not merely link count Treat facets, parameters, and internal search as product requirements Migrate media as first class URLs Transfer redirects and error behavior Keep staging private and testable Reconcile the migration before launch Rehearse the cutover and rollback Validate production in dependency order Monitor by cohort after launch AI summary TL;DR — A CMS migration moves your website into a different system, such as changing a publishing platform, commerce platform, or front end architecture. Preserve the things search engines and users already rely on: URLs, content, titles, canonicals, robots rules, structured data, internal links, images, and rendered pages. If URLs must change, map and redirect every old URL to its closest replacement. Test the new platform on staging, compare it with the current site, rehearse the launch, and keep a rollback that restores both the application and its data. What is a CMS migration? A CMS migration replaces the content management system or platform that creates and serves a website. WordPress to a headless system, Drupal to another enterprise CMS, or one ecommerce platform to another are co","passages":["TL;DR — A CMS migration moves your website into a different system, such as changing a publishing platform, commerce platform, or front end architecture.","Preserve the things search engines and users already rely on: URLs, content, titles, canonicals, robots rules, structured data, internal links, images, and rendered pages.","If URLs must change, map and redirect every old URL to its closest replacement.","Test the new platform on staging, compare it with the current site, rehearse the launch, and keep a rollback that restores both the application and its data.","A CMS migration replaces the content management system or platform that creates and serves a website.","WordPress to a headless system, Drupal to another enterprise CMS, or one ecommerce platform to another are common examples.","The visible design may stay similar while the technical output changes completely.","The new platform can generate different URLs, HTML, metadata, navigation, filters, pagination, images, structured data, redirects, and robots directives."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/technical-seo/migrations/cms-migration-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/cms-migration-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Website Hosting Migration SEO","desc":"Move a website to a new host, CDN, or DNS provider without changing URLs: preparation, cutover, validation, monitoring, and rollback.","snippetText":"A hosting migration changes the infrastructure behind a site while keeping its public URLs stable. Preserve the same content and SEO signals, lower DNS TTL ahead of the cutover, prove the new origin and CDN can serve users and verified crawlers, run old and new infrastructure in parallel, compare responses and rendered pages, monitor both sets of logs, and retire the old host only after its traffic reaches zero. Redirect maps and Change of Address are not part of a true same-URL hosting move.","href":"/technical-seo/migrations/hosting-migration-seo/","slug":"hosting-migration-seo","meta":"Educational","aliases":["hosting migration SEO","website hosting migration","CDN migration","DNS migration","host migration"],"pillar":"technical-seo","taxonomy":["technical-seo","migrations"],"text":"site-migration hosting-migration cdn dns technical-seo cache-control https A hosting migration changes the infrastructure behind a site while keeping its public URLs stable. Preserve the same content and SEO signals, lower DNS TTL ahead of the cutover, prove the new origin and CDN can serve users and verified crawlers, run old and new infrastructure in parallel, compare responses and rendered pages, monitor both sets of logs, and retire the old host only after its traffic reaches zero. Redirect maps and Change of Address are not part of a true same-URL hosting move. What is a hosting migration? Why can a same URL move affect SEO? What are the basic steps? What does DNS TTL do? Do you need redirects? When is the move complete? Decide whether this is really a same URL migration Build the infrastructure inventory Establish a response parity baseline Prepare the new origin Configure the CDN as a separate system Treat cache parity as content parity Validate TLS from user to edge and edge to origin Lower DNS TTL before the move Verify crawler access and security controls Plan the dual run Execute the cutover Monitor the evidence that proves the move Define rollback before launch Retire the old infrastructure from logs, not a calendar AI summary Official documentation Quotes from the source Hosting migration checklist TL;DR — A hosting migration moves the machinery behind your website while visitors keep using the same URLs. Build and test the new host first, lower the DNS time to live TTL before launch, keep the old host running during the switch, and compare what both systems return. Watch DNS, certificates, status codes, content, speed, and crawler access. Shut down the old host only after its logs show that traffic has reached zero. What is a hosting migration? A hosting migration changes where or how a website is served without changing the URLs people see. Moving to a different hosting company is one example. Adding or replacing a content delivery network CDN , changing an origin server, or switching DNS providers can be part of the same project. The URL staying the same is the defining condition. must remain before and after the move. Google treats this as a site move without URL changes https://developers.google.com/search/docs/crawling indexing/site move no url changes . If the domain, protocol, hostname, or path changes, use the full site migrations /tech","passages":["TL;DR — A hosting migration moves the machinery behind your website while visitors keep using the same URLs.","Build and test the new host first, lower the DNS time to live TTL before launch, keep the old host running during the switch, and compare what both systems return.","Watch DNS, certificates, status codes, content, speed, and crawler access.","Shut down the old host only after its logs show that traffic has reached zero.","A hosting migration changes where or how a website is served without changing the URLs people see.","Adding or replacing a content delivery network CDN , changing an origin server, or switching DNS providers can be part of the same project.","Google treats this as a site move without URL changes https://developers.google.com/search/docs/crawling indexing/site move no url changes .","If the domain, protocol, hostname, or path changes, use the full site migrations /technical seo/migrations/ process instead."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/technical-seo/migrations/hosting-migration-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/hosting-migration-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"On-Page SEO: Complete Guide","desc":"A practical map of the page-level signals you control, what each one can influence, and where to find the site's detailed implementation guides.","snippetText":"On-page SEO is the page-level work you control: the answer and evidence in the main content, HTML structure, headings, internal links, titles and snippets, images, and structured data. Do not collapse those elements into one list of ranking factors. Some help a search system match and rank a page; some make the page eligible to be indexed or shown in a particular feature; some influence how the result is presented; and some primarily help people use and understand the page. Start by making the page's purpose and answer clear, then verify that the rendered HTML exposes the intended content and ","href":"/technical-seo/on-page/","slug":"on-page","meta":"Educational","aliases":["on-page SEO guide","on-page SEO fundamentals","complete guide to on-page SEO","on-page SEO mental model","on-page SEO library"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page"],"text":"on-page-seo technical-seo html-seo header-tags image-seo meta-tags structured-data accessibility On-page SEO is the page-level work you control: the answer and evidence in the main content, HTML structure, headings, internal links, titles and snippets, images, and structured data. Do not collapse those elements into one list of ranking factors. Some help a search system match and rank a page; some make the page eligible to be indexed or shown in a particular feature; some influence how the result is presented; and some primarily help people use and understand the page. Start by making the page's purpose and answer clear, then verify that the rendered HTML exposes the intended content and signals. Use this guide to choose the right subguide, and use the separate on-page checklist when you are ready to execute an audit. What on page SEO is The four jobs mental model Start with the page's job Use the library by problem The content is hard to scan or its hierarchy is unclear Important content or signals are missing from the HTML Images are heavy, inaccessible, or hard to discover The result title, snippet, or robots controls need work You need explicit machine readable meaning or rich result eligibility You are ready to inspect a real page What on page SEO cannot fix Model the page as a layered contract Separate the gates Design a content contract Route the implementation to its owner Header system HTML system Image system Metadata system Structured data system Manage overlap and cannibalization Test changes as hypotheses The executive view On page SEO in one compact model TL;DR — On page SEO is the work you do on an individual page to make its purpose, answer, structure, and search presentation clear. The content and its usefulness come first. Titles, headings, links, images, metadata, and structured data each have different jobs; none is a magic score. This page maps those jobs and sends you to the right detailed guide. When you need a step by step audit, use the on page SEO checklist /technical seo/on page/on page seo checklist/ . What on page SEO is On page SEO is the set of page level choices you control that help people and search systems understand, evaluate, navigate, and present a page. That includes: the question or task the page serves; the main answer, supporting evidence, and useful detail; the HTML that exposes the content and relationships; the ti","passages":["TL;DR — On page SEO is the work you do on an individual page to make its purpose, answer, structure, and search presentation clear.","Titles, headings, links, images, metadata, and structured data each have different jobs; none is a magic score.","This page maps those jobs and sends you to the right detailed guide.","When you need a step by step audit, use the on page SEO checklist /technical seo/on page/on page seo checklist/ .","What on page SEO is On page SEO is the set of page level choices you control that help people and search systems understand, evaluate, navigate, and present a page.","That includes: the question or task the page serves; the main answer, supporting evidence, and useful detail; the HTML that exposes the content and relationships; the title, headings, internal links, images, and metadata; structured data that accurately describes eligible visible content; accessibility choices that make the page usable by more people.","A meta description is a snippet candidate that Google may use when it better describes the page for a query.","Structured data can create eligibility for supported rich results without guaranteeing one."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/technical-seo/on-page/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Post-Acquisition SEO Integration and Site Consolidation","desc":"How to choose among separate sites, consolidation, or a hybrid after an acquisition, then integrate sites, content, data, and teams without losing search value.","snippetText":"Post-acquisition SEO integration decides what should happen to acquired domains, brands, content, links, platforms, data, and teams. Do not assume consolidation is the goal. Compare keep-separate, consolidate, and hybrid options using search demand, brand intent, audience overlap, content equivalence, link value, technical feasibility, international needs, security, cost, and operating capacity. If you consolidate, migrate in coherent waves, map every old URL to a true successor, preserve useful content and measurement, and maintain a tested rollback or forward-fix plan. Measure URL cohorts an","href":"/technical-seo/migrations/post-acquisition-seo-integration/","slug":"post-acquisition-seo-integration","meta":"Educational","aliases":["Post-Acquisition Integration","post-acquisition SEO","SEO integration plan","site consolidation SEO","merge websites after acquisition"],"pillar":"technical-seo","taxonomy":["technical-seo","migrations"],"text":"site-migration mergers-acquisitions site-consolidation redirects redirect-map enterprise-seo international-seo analytics Post-acquisition SEO integration decides what should happen to acquired domains, brands, content, links, platforms, data, and teams. Do not assume consolidation is the goal. Compare keep-separate, consolidate, and hybrid options using search demand, brand intent, audience overlap, content equivalence, link value, technical feasibility, international needs, security, cost, and operating capacity. If you consolidate, migrate in coherent waves, map every old URL to a true successor, preserve useful content and measurement, and maintain a tested rollback or forward-fix plan. Measure URL cohorts and business outcomes rather than celebrating a combined traffic total. What post acquisition SEO integration is Make the decision before building redirects If you consolidate What success means Start with the integration thesis Compare the three target states Establish the baseline before integration changes Analyze brand and search demand Decide content winners at page level Review link value without treating every link as an asset Validate the technical destination Choose the international architecture deliberately Design governance before the migration Integrate in waves Build the redirect and content map Plan rollback and forward fixes Final thoughts AI summary Primary references Quotes from the source Integration checklist Decision Design and delivery Stabilization TL;DR — Buying a company does not mean you should immediately merge its website into yours. You can keep both sites, combine them, or use a hybrid. Choose based on what customers search for, whether the brands serve the same audience, how much content overlaps, and whether the team can safely operate the result. If pages move, redirect each old URL to its real replacement. Measure whether the combined business keeps customers and conversions, not just whether one domain's traffic graph goes up. What post acquisition SEO integration is Post acquisition SEO integration is the work of deciding and implementing what happens to acquired search assets: domains, brands, pages, content, links, platforms, analytics, international sites, vendor accounts, and the people who run them. There are three basic choices: Model What it means Often fits when Keep separate Both sites and brands continue Aud","passages":["TL;DR — Buying a company does not mean you should immediately merge its website into yours.","Choose based on what customers search for, whether the brands serve the same audience, how much content overlaps, and whether the team can safely operate the result.","If pages move, redirect each old URL to its real replacement.","Measure whether the combined business keeps customers and conversions, not just whether one domain's traffic graph goes up.","What post acquisition SEO integration is Post acquisition SEO integration is the work of deciding and implementing what happens to acquired search assets: domains, brands, pages, content, links, platforms, analytics, international sites, vendor accounts, and the people who run them.","There are three basic choices: Model What it means Often fits when Keep separate Both sites and brands continue Audiences, offers, or brand demand are distinct Consolidate One site becomes the long term home There is strong overlap and one clear successor brand or platform Hybrid Some sections merge while others remain Products, markets, or support journeys need different treatment None is automatically best.","Consolidation can reduce duplicate work and concentrate authority, but it also changes URLs, branding, content, internal links, and user expectations at once.","Keeping sites separate avoids that migration but carries ongoing platform, governance, and content cost."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/technical-seo/migrations/post-acquisition-seo-integration/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/post-acquisition-seo-integration/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Post-Migration Traffic Loss Diagnosis and Recovery","desc":"How to distinguish normal migration volatility from an incident, isolate affected URLs and search signals, and choose rollback or a forward fix.","snippetText":"A post-migration traffic drop is an incident only after you verify that measurement is valid and the change exceeds the expected recrawl and reindex transition. Start by confirming the right Search Console properties, analytics tags, consent, channel definitions, dates, and business data. Segment the loss by old/new URL cohort, page type, query, brand, country, device, and search appearance. Then test availability, redirects, status codes, robots/noindex, rendering, canonicals, internal links, sitemaps, hreflang, structured data, Core Web Vitals, logs, security issues, manual actions, and unre","href":"/technical-seo/migrations/post-migration-traffic-loss/","slug":"post-migration-traffic-loss","meta":"Educational","aliases":["Migration Traffic Loss","post-migration traffic loss","migration traffic drop","site migration recovery","SEO migration troubleshooting"],"pillar":"technical-seo","taxonomy":["technical-seo","migrations"],"text":"site-migration traffic-drop technical-seo redirects indexing canonicalization log-file-analysis search-console A post-migration traffic drop is an incident only after you verify that measurement is valid and the change exceeds the expected recrawl and reindex transition. Start by confirming the right Search Console properties, analytics tags, consent, channel definitions, dates, and business data. Segment the loss by old/new URL cohort, page type, query, brand, country, device, and search appearance. Then test availability, redirects, status codes, robots/noindex, rendering, canonicals, internal links, sitemaps, hreflang, structured data, Core Web Vitals, logs, security issues, manual actions, and unrelated releases or demand shifts. Roll back only when the previous state is intact and safer; otherwise forward-fix the verified cause. Track leading technical recovery signals before waiting for aggregate traffic. What post migration traffic loss is First check whether the data moved Find the shape of the loss Check five things first Fix one verified cause at a time Declare the incident precisely Separate volatility from an implementation incident Track 1: verify measurement Search Console Analytics and business data Logs Track 2: segment the loss Track 3: run the technical fault tree Availability and status codes Redirects and URL mapping Robots, meta robots, and access controls Rendering and content parity Canonicals and duplicate consolidation Internal links and architecture Sitemaps and discovery Hreflang and international behavior Structured data and search appearance Core Web Vitals and page experience Manual actions, security, and removals TL;DR — Some ranking movement after a site migration is normal while search engines crawl old and new URLs. A large or persistent drop can mean something broke. First make sure the traffic is not merely missing from your reports. Then find exactly which pages and searches declined. Check whether old URLs redirect to the right new pages, whether the new pages can be crawled and indexed, and whether their content and internal links survived. Fix the proven cause. Do not change ten more things while guessing. What post migration traffic loss is Post migration traffic loss is a decline in organic visibility or business outcomes after a website changes domain, URLs, platform, protocol, host, templates, or content. Traffic c","passages":["TL;DR — Some ranking movement after a site migration is normal while search engines crawl old and new URLs.","First make sure the traffic is not merely missing from your reports.","Check whether old URLs redirect to the right new pages, whether the new pages can be crawled and indexed, and whether their content and internal links survived.","What post migration traffic loss is Post migration traffic loss is a decline in organic visibility or business outcomes after a website changes domain, URLs, platform, protocol, host, templates, or content.","Traffic can fluctuate while Google recrawls and reindexes moved URLs.","Google says a medium sized site can take a few weeks for most pages to move in its index, while larger sites can take longer.","There is no fixed recovery clock because processing happens per URL and depends partly on site size and server capacity.","Google sets those expectations in its site move documentation https://developers.google.com/search/docs/crawling indexing/site move with url changes general best practices ."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/technical-seo/migrations/post-migration-traffic-loss/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/post-migration-traffic-loss/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO Due Diligence for M&A","desc":"How to verify organic traffic and revenue, uncover SEO liabilities, model downside, and plan post-deal integration before an acquisition.","snippetText":"SEO due diligence verifies how much of a target's organic performance is real, repeatable, transferable, and exposed to avoidable risk. Start with direct, appropriately scoped read-only access to each material system; use Search Console full-user access for report review, then separately verify and plan the transfer of ownership tokens. Reconcile search clicks, landing sessions, conversions, and finance data instead of trusting a traffic estimate. Split brand from non-brand, identify concentration by page, template, market, and platform, then explain trends against seasonality, tracking change","href":"/enterprise-seo/strategy-and-operations/seo-due-diligence/","slug":"seo-due-diligence","meta":"Educational","aliases":["SEO due diligence","search due diligence","organic search due diligence","M&A SEO audit","SEO acquisition audit","merger and acquisition SEO"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","strategy-and-operations"],"text":"seo-due-diligence mergers-acquisitions enterprise-seo traffic-validation seo-audit site-migration forecasting analytics gsc brand website-safety SEO due diligence verifies how much of a target's organic performance is real, repeatable, transferable, and exposed to avoidable risk. Start with direct, appropriately scoped read-only access to each material system; use Search Console full-user access for report review, then separately verify and plan the transfer of ownership tokens. Reconcile search clicks, landing sessions, conversions, and finance data instead of trusting a traffic estimate. Split brand from non-brand, identify concentration by page, template, market, and platform, then explain trends against seasonality, tracking changes, migrations, and confirmed search updates. Check indexation, manual actions, security issues, spam patterns, link risk, content provenance, international dependencies, and integration cost. Report a verified baseline, evidence-backed risks, scenario assumptions, and a keep-separate/consolidate/hybrid integration plan. SEO can change the deal model, but it should not pretend to replace legal, security, accounting, or valuation review. What SEO due diligence is What you are actually buying The first five checks What the final answer should look like Scope the whole digital estate Use an evidence hierarchy Request direct access, not screenshots Verify traffic and revenue separately Check Search Console’s blind spots Measure dependency, not just totals Explain the trend before forecasting it Audit technical and indexation health by pattern Check manual actions, security, and spam risk directly Treat link risk as evidence, not a toxicity score Review content provenance and AI risk Find international and platform dependencies Model the integration before valuing the upside Use explicit valuation scenarios Red flags that should change the decision Make a go, conditional, or no go recommendation Deliver one traceable decision memo Final thoughts AI summary Official documentation TL;DR — SEO due diligence checks whether a company’s organic search traffic, revenue, rankings, content, links, and domains are as valuable as they look before an acquisition. Do not rely on a traffic estimate or a screenshot. Get read only access to the real accounts, match search traffic to analytics and revenue, look for penalties and security problems, an","passages":["TL;DR — SEO due diligence checks whether a company’s organic search traffic, revenue, rankings, content, links, and domains are as valuable as they look before an acquisition.","Get read only access to the real accounts, match search traffic to analytics and revenue, look for penalties and security problems, and work out what happens if the sites are merged.","The output is not “good SEO” or “bad SEO.” It is a verified baseline, a risk list, and an integration plan the deal team can price and act on.","What SEO due diligence is SEO due diligence is the process of verifying a target company’s organic search performance, assets, liabilities, and post deal integration risk before an investment or acquisition.","A third party SEO tool may estimate that a site gets 100,000 visits.","It is not proof that the company gets 100,000 visits, that those visits produce customers, or that the traffic will survive a merger.","What you are actually buying An acquisition may include more search assets than the main website: domains, subdomains, country sites, apps, help centers, and old brand domains; rankings, content, backlinks, redirect history, and brand demand; analytics configurations, Search Console history, CMS templates, and structured data; people, processes, vendor contracts, and platform knowledge needed to maintain it.","Missing an old domain renewal can be much worse than missing a title tag."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/enterprise-seo/strategy-and-operations/seo-due-diligence/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/strategy-and-operations/seo-due-diligence/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Site Split and Carve-Out SEO Migration","desc":"How to separate part of a website into a new company or domain without losing the URLs, demand, links, data, and knowledge that make it valuable.","snippetText":"A carve-out is a one-to-many migration: one digital estate becomes two independently owned and operated estates. First decide which company owns every domain, URL, content right, link, account, dataset, and shared service. Preserve valuable pages at stable URLs where possible; otherwise map each old URL to an equivalent page on the correct destination with a server-side permanent redirect. Do not redirect pages merely because the buyer wants their traffic. Separate analytics and Search Console access without destroying history, sequence the launch around legal and technical dependencies, docum","href":"/technical-seo/migrations/site-split-carve-out-seo-migration/","slug":"site-split-carve-out-seo-migration","meta":"Educational","aliases":["Site Splits & Carve-Outs","site split SEO","website carve-out migration","carve-out SEO migration","site separation SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","migrations"],"text":"site-migration redirects redirect-map mergers-acquisitions carve-out domain-migration analytics search-console A carve-out is a one-to-many migration: one digital estate becomes two independently owned and operated estates. First decide which company owns every domain, URL, content right, link, account, dataset, and shared service. Preserve valuable pages at stable URLs where possible; otherwise map each old URL to an equivalent page on the correct destination with a server-side permanent redirect. Do not redirect pages merely because the buyer wants their traffic. Separate analytics and Search Console access without destroying history, sequence the launch around legal and technical dependencies, document transition services, and monitor both the retained and separated estates. What a site split or carve out is The redirect rule Start before the separation date What success looks like Define the separation perimeter Build an evidence complete URL inventory Design mappings around user equivalence Untangle shared assets and services Asset hosts Content and product data Identity and transactions Separate Search Console and measurement safely Sequence the cutover Launch gates Monitor cohorts, not blended totals Final thoughts AI summary What the official guidance establishes Quotes from the source Carve out checklist Before design Before launch After launch ROME: rights, ownership, meaning, execution TL;DR — A site split separates one company's website into two. The hard part is not writing redirects. It is deciding who owns every page, domain, account, image, download, link, and piece of historical data. Keep good URLs unchanged where you can. When a page really moves, redirect its old URL to the equivalent new page. If there is no replacement, return a real 404 or 410. Test both new estates because a carve out can break the seller's site as easily as the buyer's. What a site split or carve out is A site split is a migration where part of one website becomes a separate digital estate. It commonly follows a divestiture, spin off, product sale, regional separation, or joint venture unwind. A normal domain migration is mostly one to one: the old site moves to the new site. A carve out is one to many . Some pages stay with the seller, some move to the buyer, some are copied temporarily under a license, some are retired, and shared systems have to keep working while","passages":["TL;DR — A site split separates one company's website into two.","It is deciding who owns every page, domain, account, image, download, link, and piece of historical data.","When a page really moves, redirect its old URL to the equivalent new page.","Test both new estates because a carve out can break the seller's site as easily as the buyer's.","What a site split or carve out is A site split is a migration where part of one website becomes a separate digital estate.","It commonly follows a divestiture, spin off, product sale, regional separation, or joint venture unwind.","A normal domain migration is mostly one to one: the old site moves to the new site.","Some pages stay with the seller, some move to the buyer, some are copied temporarily under a license, some are retired, and shared systems have to keep working while ownership changes."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/technical-seo/migrations/site-split-carve-out-seo-migration/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/site-split-carve-out-seo-migration/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Technical SEO at Scale","desc":"How enterprise teams manage crawling, indexation, internal architecture, sitemaps, logs, release controls, and technical debt across large websites.","snippetText":"Technical SEO at scale applies the same crawl, index, and serving fundamentals to a large system where templates, data pipelines, navigation, and release controls can affect millions of URLs at once. Start with an intentional URL inventory, segment it by business and technical behavior, and make indexation a governed product decision. Use internal architecture and sitemaps to expose canonical value, server logs and Search Console to observe search-engine behavior, and automated tests plus release gates to prevent regressions. Prioritize systemic controls over manual URL fixes, assign owners to","href":"/enterprise-seo/technical-seo-at-scale/","slug":"technical-seo-at-scale","meta":"Educational","aliases":["Technical SEO at Scale","technical SEO at scale","enterprise technical SEO","large-scale technical SEO","technical SEO for enterprise websites"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","technical-seo-at-scale"],"text":"enterprise-seo technical-seo crawl-budget indexing log-file-analysis internal-links site-architecture sitemaps seo-governance Technical SEO at scale applies the same crawl, index, and serving fundamentals to a large system where templates, data pipelines, navigation, and release controls can affect millions of URLs at once. Start with an intentional URL inventory, segment it by business and technical behavior, and make indexation a governed product decision. Use internal architecture and sitemaps to expose canonical value, server logs and Search Console to observe search-engine behavior, and automated tests plus release gates to prevent regressions. Prioritize systemic controls over manual URL fixes, assign owners to every indexable surface, and measure healthy valuable coverage rather than raw page counts or crawl volume. What technical SEO at scale is Start with the URL inventory Make the valuable paths obvious Control pages that should not multiply Observe what search engines actually do Fix rules, not rows Model the site as a production system Create a URL state contract Segment by value and behavior Govern crawling instead of chasing a score Make indexation an explicit portfolio decision Use architecture as durable prioritization Treat sitemap indexes as monitoring partitions Use logs to test hypotheses Build governance into delivery Ownership Design review Automated tests Release gates Prioritize systemic technical debt Final thoughts AI summary Official references Quotes from the source TL;DR — Technical SEO at scale is ordinary technical SEO applied to a site where one template or rule can affect thousands or millions of pages. You cannot inspect every URL manually. Define which kinds of pages should exist, make the important ones easy to find through links and sitemaps, keep low value combinations under control, and test templates before they ship. Logs and Search Console tell you what search engines actually crawl and index. Governance keeps the same problems from returning. What technical SEO at scale is Technical SEO at scale is the management of crawling, rendering, indexation, canonicalization, internal architecture, and search facing releases across a large or complex website. The underlying search process does not become different because the company is big. The operating model does. On a 200 page site, you can review each page. On a site wit","passages":["TL;DR — Technical SEO at scale is ordinary technical SEO applied to a site where one template or rule can affect thousands or millions of pages.","Define which kinds of pages should exist, make the important ones easy to find through links and sitemaps, keep low value combinations under control, and test templates before they ship.","Logs and Search Console tell you what search engines actually crawl and index.","What technical SEO at scale is Technical SEO at scale is the management of crawling, rendering, indexation, canonicalization, internal architecture, and search facing releases across a large or complex website.","The underlying search process does not become different because the company is big.","On a site with millions of products, locations, profiles, documents, or parameter combinations, you manage systems and page classes : templates and components; URL rules and data feeds; navigation and internal link modules; robots, canonicals, redirects, and sitemaps; rendering, caching, CDN, and edge rules; publishing, release, ownership, and monitoring.","One wrong canonical in a shared template can affect a huge section.","That leverage is why technical SEO matters so much at enterprise scale."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/enterprise-seo/technical-seo-at-scale/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/technical-seo-at-scale/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"URL Structure Migration SEO","desc":"Change URL paths or parameters safely with complete mapping, permanent redirects, internal-signal updates, validation, and cohort monitoring.","snippetText":"A URL structure migration changes public paths or parameter formats while content stays on the same domain. Inventory every known old URL, assign an explicit keep, move, consolidate, retire, or investigate outcome, and map moved pages to genuinely equivalent destinations. Use direct server-side permanent redirects, update canonicals, hreflang, internal links, breadcrumbs, feeds, schema, and sitemaps to the new URLs, and test the complete old inventory. Monitor old and new URL cohorts separately; a persistent loss usually comes from missing mappings, irrelevant consolidation, chains, conflictin","href":"/technical-seo/migrations/url-structure-migration/","slug":"url-structure-migration","meta":"Educational","aliases":["URL structure migration","URL migration SEO","URL path migration","URL restructuring","change URL structure"],"pillar":"technical-seo","taxonomy":["technical-seo","migrations"],"text":"site-migration url-migration url-mapping redirects technical-seo url-parameters site-architecture A URL structure migration changes public paths or parameter formats while content stays on the same domain. Inventory every known old URL, assign an explicit keep, move, consolidate, retire, or investigate outcome, and map moved pages to genuinely equivalent destinations. Use direct server-side permanent redirects, update canonicals, hreflang, internal links, breadcrumbs, feeds, schema, and sitemaps to the new URLs, and test the complete old inventory. Monitor old and new URL cohorts separately; a persistent loss usually comes from missing mappings, irrelevant consolidation, chains, conflicting signals, crawl traps, or materially changed pages. What is a URL structure migration? Should you change the URLs at all? What should happen to every old URL? How do redirects work in a URL migration? What else needs updating? How do you know the migration worked? Write the decision memo before the redirect map Design a stable URL grammar Inventory old URLs from every evidence source Generate and validate the new inventory Use a disposition ledger, not two columns Decide one to one, consolidate, or retire Handle query parameters as product behavior Control faceted path migrations Define case, slash, extension, and encoding rules Preserve historical redirects without creating chains Update every internal and machine readable signal Build sitemaps for canonical destination discovery Test staging without teaching the wrong URLs Choose all at once, section, or canary launch Launch in dependency order Monitor by disposition and importance Diagnose recovery problems from the map outward AI summary TL;DR — A URL structure migration changes page addresses on the same site, such as becoming or a parameter URL becoming a readable path. Make a complete list of old URLs, decide what each one becomes, and permanently redirect each moved URL to the closest matching new page. Update your own links, canonicals, breadcrumbs, hreflang, and sitemaps to point directly at the new addresses. Test the whole list after launch. Do not send unrelated or retired pages to the homepage just to avoid a 404. What is a URL structure migration? A URL structure migration changes the public addresses of pages while usually keeping the same main domain. Examples include: to ; to ; to ; uppercase paths to low","passages":["TL;DR — A URL structure migration changes page addresses on the same site, such as becoming or a parameter URL becoming a readable path.","Make a complete list of old URLs, decide what each one becomes, and permanently redirect each moved URL to the closest matching new page.","Update your own links, canonicals, breadcrumbs, hreflang, and sitemaps to point directly at the new addresses.","Do not send unrelated or retired pages to the homepage just to avoid a 404.","A URL structure migration changes the public addresses of pages while usually keeping the same main domain.","Examples include: to ; to ; to ; uppercase paths to lowercase paths; file extensions or trailing slash conventions; one parameter format to another.","Search engines have to discover the new URL and transfer their understanding from the old one.","Google processes a site move per URL, so the migration is only as good as the individual decisions in your map."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/technical-seo/migrations/url-structure-migration/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/url-structure-migration/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"YouTube SEO","desc":"How to earn discovery in YouTube Search, Home, Suggested, Shorts, and Google using better topics, packaging, videos, and measurement.","snippetText":"YouTube SEO is the work of matching a video to the right audience and discovery surface. YouTube Search weighs relevance, engagement for the query, and quality. Home and Suggested are personalized recommendation surfaces. Shorts has its own feed behavior, and Google web/video results have separate indexing requirements. Start with a viewer problem, package the promise accurately in the title and thumbnail, deliver it quickly, lead viewers to a useful next video, and diagnose each surface with its own Analytics reports. Tags are a minor misspelling aid, not the strategy.","href":"/technical-seo/video-seo/youtube-seo/","slug":"youtube-seo","meta":"Educational","aliases":["YouTube SEO","SEO for YouTube","YouTube search optimization","optimize YouTube videos"],"pillar":"technical-seo","taxonomy":["technical-seo","video-seo"],"text":"youtube-seo video-seo keyword-research content-strategy key-moments YouTube SEO is the work of matching a video to the right audience and discovery surface. YouTube Search weighs relevance, engagement for the query, and quality. Home and Suggested are personalized recommendation surfaces. Shorts has its own feed behavior, and Google web/video results have separate indexing requirements. Start with a viewer problem, package the promise accurately in the title and thumbnail, deliver it quickly, lead viewers to a useful next video, and diagnose each surface with its own Analytics reports. Tags are a minor misspelling aid, not the strategy. What YouTube SEO is YouTube has more than one discovery surface Find topics before polishing metadata Make the title and thumbnail one promise Make the video earn the next minute Add useful descriptions, captions, and chapters Measure the surface that matters YouTube SEO is audience matching, not keyword placement The five discovery systems need different plans YouTube Search: answer the expressed query Home: earn interest without an expressed query Suggested / Up Next: be the natural next watch Shorts feed: win the choice, the watch, and satisfaction Google Search and Video mode: qualify for a different system Research the audience and query together Start with first party YouTube data Use external research as a hypothesis generator Select topics with a surface brief Write titles for the discovery context Design thumbnails to complete the promise Use descriptions for clarity, not keyword density Use chapters and key moments correctly Treat captions as accessibility first Optimize content for the promise, not a retention trick TL;DR — YouTube SEO helps the right viewer discover a video and choose to watch it. Start with a topic people actually want, make the title and thumbnail promise the right thing, deliver that promise quickly, and use YouTube Analytics to see where discovery or viewing breaks. Search, Home, Suggested, Shorts, and Google are different surfaces. A tactic that helps one may do little for another. What YouTube SEO is YouTube SEO is the process of improving a video's chance of being found and watched on YouTube and, when relevant, in Google Search. It includes topic research, titles, thumbnails, descriptions, the video itself, captions, chapters, internal discovery, and measurement. The basic job is simpler t","passages":["TL;DR — YouTube SEO helps the right viewer discover a video and choose to watch it.","Start with a topic people actually want, make the title and thumbnail promise the right thing, deliver that promise quickly, and use YouTube Analytics to see where discovery or viewing breaks.","Search, Home, Suggested, Shorts, and Google are different surfaces.","What YouTube SEO is YouTube SEO is the process of improving a video's chance of being found and watched on YouTube and, when relevant, in Google Search.","It includes topic research, titles, thumbnails, descriptions, the video itself, captions, chapters, internal discovery, and measurement.","The basic job is simpler than the usual ranking factor lists make it sound: 1.","Make a clear and accurate promise in the title and thumbnail.","Metadata cannot make people choose or enjoy a video they do not want."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-18","markdown":"https://patrickstox.com/technical-seo/video-seo/youtube-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/video-seo/youtube-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"WebMCP","desc":"WebMCP lets a web page expose structured tools to an AI agent in the browser. Learn how it differs from MCP, what Chrome supports, security risks, and when to wait.","snippetText":"WebMCP is an experimental browser API that lets an open web page offer structured tools to an AI agent. It is useful for bounded page actions, not web discovery or rankings. As of July 17, 2026, it is a Community Group draft and Chrome 149 origin trial; current Chrome examples use document.modelContext, while navigator.modelContext is deprecated in Chrome 150.","href":"/ai-search/optimization/webmcp/","slug":"webmcp","meta":"Educational","aliases":["WebMCP","WebMCP API","WebMCP vs MCP","Web Model Context Protocol"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"webmcp model-context-protocol mcp ai-agents agentic-web browser-automation WebMCP is an experimental browser API that lets an open web page offer structured tools to an AI agent. It is useful for bounded page actions, not web discovery or rankings. As of July 17, 2026, it is a Community Group draft and Chrome 149 origin trial; current Chrome examples use document.modelContext, while navigator.modelContext is deprecated in Chrome 150. What WebMCP is Current status on July 17, 2026 WebMCP versus MCP Does WebMCP help SEO or AI citations? Can Cloudflare enable WebMCP for my site? Should you implement it now? How WebMCP works in the browser WebMCP vs MCP: two different runtime boundaries The imperative API The declarative API has a standards mismatch Tool discovery, lifecycle, and cross origin boundaries Security: the browser session raises the stakes Test contracts and agent behavior separately Cloudflare Browser Run: useful lab, not enablement Proposed patrickstox.com pilot: Schema Validator Decision: build, experiment, wait, or skip AI summary What the primary sources establish WebMCP implementation checklist Product fit Contract and lifecycle Security and privacy Release and evaluation WebMCP decision cheat sheet TL;DR — WebMCP lets a website describe its buttons and functions as structured tools an AI agent can call while the page is open. That can make a real page action—searching inventory, validating code, filtering products—more reliable than asking an agent to guess which control to click. It does not make the page easier to rank, crawl, or discover. As of July 17, 2026, it is experimental: a Community Group draft with a Chrome 149 origin trial, not a finished web standard. What WebMCP is WebMCP is a proposed browser API that lets a web page expose structured tools to an AI agent operating in that page's browsing context. A tool has a name, a description, structured inputs, and code that performs an action. Imagine a visitor opens a schema validator and asks their browser agent to \"validate this Product JSON LD.\" Without WebMCP, the agent may inspect the screen, find a text area, paste into it, click the right button, and interpret the result. With WebMCP, the page could offer a tool with an explicit input schema and return a structured result—while keeping the visible interface in sync. That is the useful mental model: WebMCP is an explicit control sur","passages":["TL;DR — WebMCP lets a website describe its buttons and functions as structured tools an AI agent can call while the page is open.","That can make a real page action—searching inventory, validating code, filtering products—more reliable than asking an agent to guess which control to click.","It does not make the page easier to rank, crawl, or discover.","As of July 17, 2026, it is experimental: a Community Group draft with a Chrome 149 origin trial, not a finished web standard.","What WebMCP is WebMCP is a proposed browser API that lets a web page expose structured tools to an AI agent operating in that page's browsing context.","A tool has a name, a description, structured inputs, and code that performs an action.","Imagine a visitor opens a schema validator and asks their browser agent to \"validate this Product JSON LD.\" Without WebMCP, the agent may inspect the screen, find a text area, paste into it, click the right button, and interpret the result.","With WebMCP, the page could offer a tool with an explicit input schema and return a structured result—while keeping the visible interface in sync."],"updated":"2026-07-20T00:00:00.000Z","date":"2026-07-17","markdown":"https://patrickstox.com/ai-search/optimization/webmcp/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/webmcp/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"418 I'm a Teapot","desc":"The story of HTTP 418 — the April Fools' HTCPCP status code that became the web's favorite easter egg — plus what actually happens when Google meets a 418, and why a WAF returning it on real pages is a problem.","snippetText":"HTTP 418 I'm a teapot is a joke status code from the 1998 April Fools' HTCPCP RFC (RFC 2324): a teapot asked to brew coffee must refuse, because it's a teapot. It never got ordinary HTTP application semantics, but it's not 'unassigned' — RFC 9110 formally reserves the code, and IANA's registry lists it as (Unused), not available for ordinary reuse. A 2017 attempt to reclaim it lost to a 'save 418' campaign. Google's dated 2023 guidance treats 418 like any other non-429 4xx for Search, and its current generic crawler-status page doesn't cover exotic codes like this one at all. That only matters","href":"/technical-seo/http-status-codes/http-errors/418-im-a-teapot/","slug":"418-im-a-teapot","meta":"Educational","aliases":["418-im-a-teapot","418 i'm a teapot","http 418","418 status code","418 teapot","418 I'm a teapot","404 Not Found","410 Gone"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"418-im-a-teapot http-status-codes technical-seo googlebot HTTP 418 I'm a teapot is a joke status code from the 1998 April Fools' HTCPCP RFC (RFC 2324): a teapot asked to brew coffee must refuse, because it's a teapot. It never got ordinary HTTP application semantics, but it's not 'unassigned' — RFC 9110 formally reserves the code, and IANA's registry lists it as (Unused), not available for ordinary reuse. A 2017 attempt to reclaim it lost to a 'save 418' campaign. Google's dated 2023 guidance treats 418 like any other non-429 4xx for Search, and its current generic crawler-status page doesn't cover exotic codes like this one at all. That only matters in practice when a WAF or bot-protection layer uses 418 to block requests (some do) and accidentally serves it to Googlebot — audit for it like any other 4xx. This site's /coffee URL returns a genuine 418, per the RFC. Where 418 comes from Why it never became real HTTP What a 418 means for SEO The one on this site Tools for finding an unexpected 418 A joke HTTP status code from the 1998 April Fools' HTCPCP RFC, meaning a teapot was asked to brew coffee — reserved (not unassigned) by RFC 9110 and listed (Unused) in IANA's registry, widely implemented as an easter egg, and treated by Google like any other non-429 4xx client error. TL;DR — is the web's best loved joke status code. It comes from RFC 2324, an April Fools' RFC about coffee pots, and never got ordinary HTTP application semantics — but it's formally reserved , not unassigned, per RFC 9110 and IANA's registry. Google's dated 2023 guidance treats it like any other non 429 4xx: the URL doesn't get indexed. Try it on this site: /coffee /coffee answers with a real 418 — check the network tab. Where 418 comes from On April 1, 1998, the IETF published RFC 2324: the Hyper Text Coffee Pot Control Protocol HTCPCP/1.0 — a fully specified, entirely satirical protocol for controlling coffee pots over the web. Among its contributions: the method, the header milk, syrup, whisky , and one immortal status code: 418 I'm a teapot — \"Any attempt to brew coffee with a teapot should result in the error code '418 I'm a teapot'. The resulting entity body MAY be short and stout.\" That's the whole joke: you asked a teapot for coffee . It can't. It's a teapot. Sixteen years later, RFC 7168 revisited the idea for tea brewing appliances — another Informational, April Fools' RFC, th","passages":["It comes from RFC 2324, an April Fools' RFC about coffee pots, and never got ordinary HTTP application semantics — but it's formally reserved , not unassigned, per RFC 9110 and IANA's registry.","Google's dated 2023 guidance treats it like any other non 429 4xx: the URL doesn't get indexed.","Try it on this site: /coffee /coffee answers with a real 418 — check the network tab.","Where 418 comes from On April 1, 1998, the IETF published RFC 2324: the Hyper Text Coffee Pot Control Protocol HTCPCP/1.0 — a fully specified, entirely satirical protocol for controlling coffee pots over the web.","Among its contributions: the method, the header milk, syrup, whisky , and one immortal status code: 418 I'm a teapot — \"Any attempt to brew coffee with a teapot should result in the error code '418 I'm a teapot'.","The resulting entity body MAY be short and stout.\" That's the whole joke: you asked a teapot for coffee .","Sixteen years later, RFC 7168 revisited the idea for tea brewing appliances — another Informational, April Fools' RFC, this one distinguishing an appliance that's temporarily out of coffee from one that's a teapot, permanently.","Neither RFC gives 418 ordinary HTTP application semantics; both describe HTCPCP, a satirical protocol, not core HTTP."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-04","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/418-im-a-teapot/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/418-im-a-teapot/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Colophon: How This Site Works","desc":"The build behind patrickstox.com as an edge-SEO case study — Astro static-first on Cloudflare, separate site and product Workers, the D1/KV/R2 data layer, explicit interfaces for agents, editorial provenance, the expert layer, and the performance budget.","snippetText":"This is a making-of and credits record, not the About, Privacy, or Terms page. This site is an Astro static build served from Cloudflare's edge. A site Worker owns community and editorial APIs; a separately deployed product Worker owns tool execution and product data, reached through a service binding. Static requests bypass both Workers. Site and product data have separate D1, KV, and private backup infrastructure, while R2 also stores expert media; binding names, schemas, and backup schedules stay undisclosed by policy. Articles publish explicit Markdown twins and the site exposes agent inde","href":"/technical-seo/edge-seo/colophon/","slug":"colophon","meta":"Educational","aliases":["colophon","how this site works","how this site is built"],"pillar":"technical-seo","taxonomy":["technical-seo","edge-seo"],"text":"colophon edge-seo cloudflare-workers astro technical-seo core-web-vitals This is a making-of and credits record, not the About, Privacy, or Terms page. This site is an Astro static build served from Cloudflare's edge. A site Worker owns community and editorial APIs; a separately deployed product Worker owns tool execution and product data, reached through a service binding. Static requests bypass both Workers. Site and product data have separate D1, KV, and private backup infrastructure, while R2 also stores expert media; binding names, schemas, and backup schedules stay undisclosed by policy. Articles publish explicit Markdown twins and the site exposes agent indexes plus a read-only MCP server; same-URL Markdown content negotiation is deliberately still off. AI-generated or AI-revised copy stays labeled until human review and is excluded from aggregate content counts while labeled. The public expert panel can attach notes and answers to stable article passages, while the free-tool platform mixes browser-local analysis with bounded live checks. What this page is and isn't The stack Two data planes, separated on purpose Why static first is an SEO position, not just a hosting choice The data honesty rule Editorial provenance Explicit interfaces for agents Tools and expert review The search native design system Performance budget Credits and sources The easter eggs are load bearing TL;DR — Static first Astro on Cloudflare, two deliberately separate Workers for the dynamic parts, real data or a clearly unavailable state, honest status codes, and a design system that dresses the site like a search results page. This is the \"about the making of\" page for the edge SEO case study the site became. What this page is and isn't A colophon is a making of and credits record — it explains the technology, systems, and people behind a published work, the way a book's colophon names its typeface and printer. It is not a substitute for the pages that carry legal or biographical weight: the About /about/ page covers who I am, the Privacy Policy /privacy/ covers what data is collected and why, and the Terms of Use /terms/ cover the rules for using the site. This page only documents how the site is built and operated; where a claim below overlaps with one of those pages, that page is the authoritative source. The stack This site uses Astro's static output to generate HTML pages ","passages":["TL;DR — Static first Astro on Cloudflare, two deliberately separate Workers for the dynamic parts, real data or a clearly unavailable state, honest status codes, and a design system that dresses the site like a search results page.","This is the \"about the making of\" page for the edge SEO case study the site became.","What this page is and isn't A colophon is a making of and credits record — it explains the technology, systems, and people behind a published work, the way a book's colophon names its typeface and printer.","It is not a substitute for the pages that carry legal or biographical weight: the About /about/ page covers who I am, the Privacy Policy /privacy/ covers what data is collected and why, and the Terms of Use /terms/ cover the rules for using the site.","This page only documents how the site is built and operated; where a claim below overlaps with one of those pages, that page is the authoritative source.","The stack This site uses Astro's static output to generate HTML pages at build time.","Static delivery can reduce runtime dependencies, although SEO outcomes still depend on the rendered content, links, and technical configuration.","Astro https://astro.build generates the articles, glossary, hubs, tool shells, structured data, search and agent indexes, and Markdown twins at deploy time."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-07-04","markdown":"https://patrickstox.com/technical-seo/edge-seo/colophon/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/edge-seo/colophon/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"200 OK","desc":"What HTTP 200 OK means (RFC 9110), why it's necessary but not sufficient for indexing, the soft-404 trap, how 200 differs from 204 and 304, and how to confirm what Googlebot actually receives.","snippetText":"HTTP 200 OK is the standard 2xx success code (RFC 9110): the server found the resource and is returning it. For a web page it's the code you want — but it's necessary, not sufficient. Google's own docs say the indexing pipeline 'may index the content, but that's not guaranteed'; quality, duplication, thin content, and noindex are all judged on top of the 200. The classic trap is the soft 404: a URL that returns 200 while its content reads like an error or an empty page, which Google detects at the content layer and reports as a soft 404 in Search Console regardless of the code. Contrast 200 (s","href":"/technical-seo/http-status-codes/200-ok/","slug":"200-ok","meta":"Educational","aliases":["200 OK","200-ok","200 ok","http 200","200 status code","200 ok meaning","http 200 ok","200 status code seo","204-no-content","soft-404-errors","not-found-404"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes"],"text":"200-ok http-status-codes soft-404 technical-seo googlebot indexing HTTP 200 OK is the standard 2xx success code (RFC 9110): the server found the resource and is returning it. For a web page it's the code you want — but it's necessary, not sufficient. Google's own docs say the indexing pipeline 'may index the content, but that's not guaranteed'; quality, duplication, thin content, and noindex are all judged on top of the 200. The classic trap is the soft 404: a URL that returns 200 while its content reads like an error or an empty page, which Google detects at the content layer and reports as a soft 404 in Search Console regardless of the code. Contrast 200 (success + real body) with 204 (success + empty body, treated like a soft 404) and 304 (a caching signal, not an indexing decision). Match the code to reality — gone → 404/410, moved → 301, duplicate → canonical tag — and always confirm what Googlebot itself received via URL Inspection or logs, not just what your browser sees. What 200 OK means Why a 200 isn't the whole story The trap: a 200 that's really \"not found\" The one rule to remember What 200 means in the spec Necessary, not sufficient, for indexing The soft 404 trap A related trap: transport success isn't application success 200 vs. 204 vs. 304 — don't conflate them Confirm what Googlebot actually sees How to check and monitor 200s The decision, in one line AI summary Official documentation Quotes from the source 200 OK — quick reference Common myths about 200 OK Why a 200 OK page still fails Search Console calls the URL a soft 404 Your browser gets 200 but Googlebot does not The page is 200 but still is not indexed 200 responses that tell the wrong story Empty product shell: misleading 200 Deleted article with a replacement: use a redirect HTTP 200 OK is the standard 2xx success status code, meaning the server received, understood, and fulfilled the request and is returning the resource. It's the code every page you want indexed should return — but a 200 alone doesn't guarantee Google will index the page. TL;DR — A 200 OK response is the server saying \"here's the page you asked for, everything's fine.\" It's the quiet success code you want on every page you'd like to show up in Google. But a 200 by itself doesn't guarantee the page gets indexed — Google still looks at whether the content is worth indexing. And a 200 on a page that's actually broke","passages":["TL;DR — A 200 OK response is the server saying \"here's the page you asked for, everything's fine.\" It's the quiet success code you want on every page you'd like to show up in Google.","But a 200 by itself doesn't guarantee the page gets indexed — Google still looks at whether the content is worth indexing.","And a 200 on a page that's actually broken or empty is a bug, not a green light.","What 200 OK means Every time your browser or Googlebot asks a server for a page, the server answers with a three digit status code before it sends anything else.","is the \"all good\" one — the server found what you asked for and hands it back, normally with the page's content included.","Technically the spec allows a 200 with an empty body in some cases, but for a page you want people to read, you want a real body every time.","It's the code you almost never notice, because it's the one that means nothing went wrong.","Patrick Stox sums it up in three words in the Ahrefs HTTP status codes guide: \"200 OK – All good."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/http-status-codes/200-ok/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/200-ok/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"304 Not Modified","desc":"What HTTP 304 Not Modified means, why it's a 3xx code but not a redirect, how ETag and Last-Modified drive it, and why it can indirectly help crawl efficiency on large sites without affecting rankings.","snippetText":"HTTP 304 Not Modified is the response to a conditional GET or HEAD request whose condition evaluates false — one that would otherwise have gotten a 200. It's a 3xx-class response that is not a redirect — it has no Location header and, by spec, no body at all. A GET/HEAD carrying If-None-Match (matched against an ETag) or If-Modified-Since (matched against Last-Modified) is what makes a request conditional in the first place; a second visit is the typical example, not the protocol rule. When the validator still matches, the server replies 304 with no body, and the client reuses its cached copy.","href":"/technical-seo/http-status-codes/304-not-modified/","slug":"304-not-modified","meta":"Educational","aliases":["304-not-modified","304 not modified","http 304","304 status code","304 not modified seo","304 Not Modified","200-ok","301-redirect","204-no-content"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes"],"text":"304-not-modified http-status-codes conditional-requests etag crawl-efficiency technical-seo googlebot HTTP 304 Not Modified is the response to a conditional GET or HEAD request whose condition evaluates false — one that would otherwise have gotten a 200. It's a 3xx-class response that is not a redirect — it has no Location header and, by spec, no body at all. A GET/HEAD carrying If-None-Match (matched against an ETag) or If-Modified-Since (matched against Last-Modified) is what makes a request conditional in the first place; a second visit is the typical example, not the protocol rule. When the validator still matches, the server replies 304 with no body, and the client reuses its cached copy. For SEO there's no direct ranking effect — Google already has the content, and a 304 just confirms nothing changed, though Search may still recalculate a URL's signals. The real payoff is resource savings: on large sites with many rarely-changing URLs, 304s let crawlers skip re-downloading unchanged pages, saving bandwidth and server compute, which Google says may indirectly improve crawl efficiency — it doesn't promise an automatic reallocation of crawl budget to other URLs. Google recommends ETag as the primary validator (it has no date-formatting pitfalls), supports setting both, and treats a change as significant enough to invalidate cache only when the content actually changes — not a footer copyright year. Don't confuse 304 with 301/302/307/308 (which move you to a different URL) or with 204 No Content (also bodyless, but because there's genuinely nothing to send). What a 304 actually is Why it's in the \"redirect\" family but isn't a redirect Is a 304 a problem? Does it help SEO? What 304 means in the spec How 304 actually works: conditional requests ETag and If None Match Last Modified and If Modified Since Strong vs. weak ETags The full handshake, step by step 304 and SEO: no ranking effect, real crawl efficiency effect Why this matters more on large sites ETag or Last Modified, and what counts as \"changed\" What Googlebot and Bingbot actually do with it How to implement 304 support 304 vs. other status codes 304 vs. 301 / 302 / 307 / 308 304 vs. 204 No Content Common myths about 304 FAQs AI summary Official documentation Quotes from the source 304 in context: the bodyless and 3xx codes it's confused with HTTP 304 Not Modified is the response to a conditional GET","passages":["TL;DR — A 304 Not Modified response is the server's way of saying \"you already have this — your copy is still good, don't download it again.\" It is not an error, and despite living in the 3xx \"redirect\" family it doesn't send anyone to a new URL.","It only happens when the client a browser or a crawler first sends a conditional request asking \"has this changed since last time?\" For SEO it doesn't move your rankings, but on big sites it can help search engines use their resources more efficiently.","What a 304 actually is Every response your server sends starts with a three digit status code.","means \"here's the page, body and all.\" A 304 Not Modified means something more specific: the client made a conditional request — one that says \"give me this page, but only if it changed\" — and the server determined it didn't change, so instead of the it would otherwise have sent, it replies with no body at all.","That's the actual rule: a 304 is only ever the answer to a conditional / whose condition came back false.","A second visit is the typical way that happens, and it's a useful way to picture it: the first time a browser or crawler fetches a page, it gets a normal with the full content — plus a couple of little \"fingerprint\" headers.","On the next visit, the client shows the server that fingerprint and asks, \"still the same?\" If nothing changed, the server answers and sends no page body at all, and the client just reuses the copy it already had.","But \"second visit\" is the example, not the protocol rule — what actually triggers a 304 is the conditional request itself, however it happens to arrive."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/http-status-codes/304-not-modified/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/304-not-modified/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Agentic Checkout","desc":"Agentic checkout is the transaction-completion step of agentic commerce — the session state machine, scoped payment tokens, human-in-the-loop seams, order webhooks, and the still-unsettled chargeback question.","snippetText":"Agentic checkout is the transaction-completion capability of agentic commerce: an AI agent creates, updates, and finalizes a purchase on a shopper's behalf. It's one building block of ACP and of UCP, not a protocol of its own. Technically it's a state machine — ACP moves a checkout session through statuses like not_ready_for_payment → ready_for_payment → requires_escalation/authentication_required → completed, mirroring UCP's incomplete → requires_escalation → ready_for_complete — and the escalation states are the built-in seam where a human still has to authorize (login, 3DS step-up, address ","href":"/ecommerce-seo/ai-commerce/agentic-checkout/","slug":"agentic-checkout","meta":"Educational","aliases":["Agentic Checkout","agentic-checkout","agentic checkout","AI checkout","agent checkout","checkout session","agentic-commerce-protocol","universal-commerce-protocol"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","ai-commerce"],"text":"Agentic checkout is the transaction-completion capability of agentic commerce: an AI agent creates, updates, and finalizes a purchase on a shopper's behalf. It's one building block of ACP and of UCP, not a protocol of its own. Technically it's a state machine — ACP moves a checkout session through statuses like not_ready_for_payment → ready_for_payment → requires_escalation/authentication_required → completed, mirroring UCP's incomplete → requires_escalation → ready_for_complete — and the escalation states are the built-in seam where a human still has to authorize (login, 3DS step-up, address check, B2B approval). Payment runs through scoped tokens (merchant-locked, amount-capped, time-limited, single-use) so the agent never holds a raw card. Order confirmation is a push: merchants send HMAC-signed, full-object webhooks. The merchant stays merchant-of-record, so settlement/refunds/chargebacks sit with the merchant and its PSP — but the chargeback evidentiary question (how you dispute a purchase the 'buyer' was an AI agent) is genuinely unresolved as of mid-2026. And adoption is early: only about a dozen Shopify merchants had gone live with ChatGPT checkout before OpenAI's March 2026 pivot to discovery-plus-redirect. What agentic checkout is The three things people get wrong Who's responsible if something goes wrong? Scope: this is the transaction step, not the whole protocol The checkout session state machine How payment delegation works Where a human still has to step in Order confirmation is a push, not a pull Fraud, chargebacks, and liability — what's settled and what isn't What merchants need to implement and test Where this stands in mid 2026 AI summary Official documentation Quotes from the source Which payment integration path should you take? Pre launch test pass for agentic checkout Common mistakes and what to do instead Agentic checkout — cheat sheet Snippets for working with agentic checkout Verify a webhook signature Node.js, HMAC Poll a checkout session's status shell Send a create call with an idempotency key Python Console snippet — scan a rendered page for a UCP profile Bookmarklet — jump to the checkout status enum in the ACP docs Agentic checkout is the transaction-completion step of agentic commerce: the mechanism by which an AI agent creates, updates, and finalizes a purchase on a shopper's behalf — selecting fulfillment, calculating tax ","passages":["TL;DR — Agentic checkout is the \"press buy for me\" part of AI shopping.","When an AI assistant finds a product and completes the purchase for you, that final transaction step is the agentic checkout.","In OpenAI's delegated payment flow, the agent uses a scoped payment token instead of a raw card number, and for anything risky a login, an extra verification it stops and hands control back to a human.","It's one piece of the bigger protocols ACP and UCP , not a thing on its own.","What agentic checkout is Most of \"AI shopping\" is discovery: you ask an assistant to find you something, and it reads merchants' product feeds and suggests options.","Agentic checkout is the step after that — the part where the agent actually creates the order: picks a shipping option, works out tax and shipping cost, passes along payment, and finalizes the purchase.","It's the transaction completion capability built into the two big agentic commerce standards — the Agentic Commerce Protocol ACP from OpenAI and Stripe, and the Universal Commerce Protocol UCP from Google and Shopify.","If you want the overview of those, the sibling write ups on each cover them; this page zooms all the way in on the checkout mechanics."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/ai-commerce/agentic-checkout/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/agentic-checkout/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Citations","desc":"How AI answer engines choose which pages to cite — the retrieved/mentioned/cited distinction, why citation isn't ranking or backlinks, and what actually makes a page more likely to be cited in Google AI Overviews, ChatGPT, Perplexity, and Copilot.","snippetText":"An AI citation is the attributed source link an AI answer engine shows next to its generated text. It sits at the end of three distinct states — retrieved (the AI read your page, visible only in logs), mentioned (your brand named without a link), and cited (your URL shown as a source) — and most tools only see one of them. Citation runs on RAG over the same core index that powers ranking, so being crawlable, indexed, and snippet-eligible is the prerequisite. But it isn't ranking and it isn't backlinks: Ahrefs research points to the organic top-10 share of AI Overview citations falling sharply ","href":"/ai-search/how-search-works/ai-citations/","slug":"ai-citations","meta":"Educational","aliases":["ai-citations","AI citations","AI citation","cited by AI","AI search citations","get cited by AI","AI Overview citations","AI Citations","rag","grounding"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"ai-citations ai-search grounding rag ai-overviews brand-mentions An AI citation is the attributed source link an AI answer engine shows next to its generated text. It sits at the end of three distinct states — retrieved (the AI read your page, visible only in logs), mentioned (your brand named without a link), and cited (your URL shown as a source) — and most tools only see one of them. Citation runs on RAG over the same core index that powers ranking, so being crawlable, indexed, and snippet-eligible is the prerequisite. But it isn't ranking and it isn't backlinks: Ahrefs research points to the organic top-10 share of AI Overview citations falling sharply between mid-2025 and early 2026 (roughly 76% toward roughly 38%), though the exact methodology behind that comparison hasn't been independently reverified — treat the direction, not the precise numbers, as settled. Branded web mentions predict AI visibility better than Domain Rating, and ~90% of citations about a brand come from third-party sites. Being cited also rarely means a click — most AI sessions end without one. And a citation being shown is never proof the source actually supports the claim next to it — that's a separate check. What an AI citation is A citation isn't proof the source is right Retrieved, mentioned, cited — three different things Why it's not just \"rank 1 and you're cited\" The catch: cited doesn't always mean traffic Citation is the last of three states, not the whole picture How the citation actually gets made: RAG over a live index Why citation is not ranking and the number that proves it Why citation is not backlinks either Platforms cite completely differently The uncomfortable truth: cited ≠ traffic AI summary \"I want more AI citations — where do I start?\" Official documentation Quotes from the source AI citation readiness checklist The mental models AI citations — cheat sheet Playbook: turning \"not cited\" into \"cited\" What not to do See who's retrieving you: grep AI bots in your logs Extract the source links from an AI answer browser Bookmarklet: highlight your own domain in a set of citations Tools for seeing each state An AI citation is the visible source link an AI answer engine shows next to its generated text — the clickable reference that credits the web page it used. A citation's presence is a separate thing from whether the cited page actually supports the statement, a","passages":["OpenAI uses a search crawler distinct from its training crawler to surface and link to websites in ChatGPT search.","Google likewise describes supporting links as part of its AI search experiences.","TL;DR — An AI citation is the little source link an AI answer shows next to what it wrote — the clickable reference that says \"this came from that page.\" Getting cited is not the same as ranking 1, and it's not the same as having lots of backlinks — and it's not proof the source actually backs up what the AI said, which is a separate thing to check.","It runs on the AI reading real web pages and deciding which ones to credit.","To be in the running, your page has to be findable and readable — and the internet talking about you helps more than most people expect.","What an AI citation is An AI citation is the visible source link an AI answer shows next to what it wrote.","That's the whole definition — but a citation showing up doesn't mean the cited page actually backs up the claim sitting next to it.","Those are two separate things to check: is the source shown, and does the source actually support what the AI said."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/how-search-works/ai-citations/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/ai-citations/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Crawler Log Analysis","desc":"How to pull server or CDN logs and analyze AI-bot activity — verifying GPTBot, ClaudeBot, and PerplexityBot against spoofing, choosing a tool, and reading crawl frequency, crawl-vs-render, and status codes.","snippetText":"AI crawler log analysis is how you inspect — with your own first-party logs, not a vendor dashboard — which claimed AI bots requested your site and what the server returned. Verification is provider-specific: OpenAI publishes bot-specific IP range files, and Anthropic publishes a current shared bots.json list; a user-agent without a current official verification method remains a claim, not a verified identity. Keep raw-HTML dependency as an observed risk rather than asserting that every major AI crawler never runs JavaScript; asset-request patterns describe the measured sample, not a universal","href":"/ai-search/measurement-and-reporting/ai-crawler-log-analysis/","slug":"ai-crawler-log-analysis","meta":"Educational","aliases":["ai-crawler-log-analysis","AI crawler log analysis","AI bot log analysis","GPTBot log analysis","analyze AI crawler logs","verify AI bot logs","AI Crawler Log Analysis","log-file-analysis","ai-crawlers"],"pillar":"ai-search","taxonomy":["ai-search","measurement-and-reporting"],"text":"ai-search log-file-analysis ai-crawlers gptbot measurement bot-verification AI crawler log analysis is how you inspect — with your own first-party logs, not a vendor dashboard — which claimed AI bots requested your site and what the server returned. Verification is provider-specific: OpenAI publishes bot-specific IP range files, and Anthropic publishes a current shared bots.json list; a user-agent without a current official verification method remains a claim, not a verified identity. Keep raw-HTML dependency as an observed risk rather than asserting that every major AI crawler never runs JavaScript; asset-request patterns describe the measured sample, not a universal renderer contract. Crawl frequency still does not predict citation — retrieval is necessary but not sufficient. Tools scale from grep to Screaming Frog LFA to ELK/Splunk to BigQuery/Cloudflare. What a log file is Why your dashboards don't cover this The one thing beginners miss What this article owns — and what it doesn't Step 1 — Get your logs Step 2 — Verify before you trust the user agent Step 3 — Choose your tool Step 4 — What to measure and how to read it Does more crawling mean more citations? Be honest. The stealth crawling wrinkle AI summary Official documentation Quotes from the source \"Is this AI bot request real, and what do I do about it?\" AI crawler log analysis checklist AI crawler log analysis cheat sheet Scripts for AI crawler log analysis 1. Extract every AI bot line grep + regex 2. Verify a claimed GPTBot IP against OpenAI's published list 3. Reverse + forward DNS fallback off list IPs 4. Status code breakdown per bot 5. Raw HTML dependency signal — what file types is the bot fetching? 6. Chrome DevTools Console — spot AI fetchers on a live page 7. Bookmarklet — open every bot's IP list at once AI crawler log analysis is the practice of pulling raw server or CDN access logs and examining them for requests from AI bots — training crawlers, AI-search indexers, and user-triggered fetchers — to verify with first-party data which bots actually hit your site, whether they're real or spoofed, and what they got. TL;DR — AI crawler log analysis means looking at your server's raw access logs to see which AI bots — like OpenAI's GPTBot or Anthropic's ClaudeBot — actually visited your site, how often, and what they got. Your logs are the only place that records this. Google Search Console","passages":["TL;DR — AI crawler log analysis means looking at your server's raw access logs to see which AI bots — like OpenAI's GPTBot or Anthropic's ClaudeBot — actually visited your site, how often, and what they got.","Google Search Console doesn't show AI bots, and Google Analytics only sees people who click through, not the bots themselves.","The catch: lots of traffic claims to be a famous AI bot but isn't, so you can't trust the name alone.","What a log file is Server access logs record requests that reached the server, including user agent, time, path, and response details when configured.","Vendor crawler documentation identifies user agents, but a string alone does not prove the requester is genuine.","Every time anything — a person's browser, Googlebot, GPTBot — asks your server for a page, your server writes a line to a log file .","Each line records the time, the visitor's IP address, what they asked for, the \"user agent\" a label the visitor uses to identify itself, like , and the response code your server sent back for success, for not found, and so on .","AI crawler log analysis is just reading those lines and filtering them down to the AI bots."],"updated":"2026-07-15T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-crawler-log-analysis/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-crawler-log-analysis/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Overviews","desc":"How Google AI Overviews work — the Gemini-generated box in Google's own SERP, query fan-out, how it sources and cites pages from the core index, and how it differs from featured snippets and AI Mode.","snippetText":"AI Overviews are Gemini-generated summaries Google shows above or within regular results. They are a Search feature rooted in Google's core Search ranking and quality systems, and supporting pages must be eligible for Search snippets. Google says no additional technical requirements apply. AI Overviews may use query fan-out—several related searches across subtopics and data sources—to assemble an answer with supporting links. They differ from featured snippets and from AI Mode, and independent studies of their triggers, placement, citations, and clicks should be read as dated observations rath","href":"/ai-search/how-search-works/ai-overviews/","slug":"ai-overviews","meta":"Educational","aliases":["ai-overviews","AI Overviews","AI Overview","Google AI Overviews","AIO","SGE","Search Generative Experience","rag","grounding"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"ai-overviews ai-search google rag grounding query-fan-out gemini AI Overviews are Gemini-generated summaries Google shows above or within regular results. They are a Search feature rooted in Google's core Search ranking and quality systems, and supporting pages must be eligible for Search snippets. Google says no additional technical requirements apply. AI Overviews may use query fan-out—several related searches across subtopics and data sources—to assemble an answer with supporting links. They differ from featured snippets and from AI Mode, and independent studies of their triggers, placement, citations, and clicks should be read as dated observations rather than permanent platform rules. What an AI Overview is How it puts an answer together What this means for you Same index, same ranking — a feature, not a platform The mechanism: grounding + query fan out What triggers an AI Overview Sourcing: it's not \"rank 1 and you're cited\" Position and format of the citations What it does to clicks — the honest, contested version Measuring it: the two report reality in Search Console Where this fits AI summary Official documentation Quotes from the source The mental models AI Overviews — cheat sheet Which thing am I actually looking at — and how do I track it? Measure AI Overviews as a SERP feature Resources worth your time Stats worth citing Test yourself: AI Overviews AI Overviews are the AI-generated summary box Google shows above or within its regular search results, written by Gemini models from pages retrieved out of Google's normal Search index. It's a Search feature, not a separate platform or index. Google says supporting pages must be indexed and snippet eligible, with no extra technical requirements. Its AI features may also run several related searches through query fan out. TL;DR — An AI Overview is the AI written summary box Google shows at the top of some search results. Google's Gemini model reads a handful of web pages, pulls out the relevant facts, and writes a short answer with links you can click. It's a feature inside Google Search — not a separate product — and the pages it summarizes come from Google's normal search index. So the same things that have always mattered being crawlable, indexed, and clear are what decide whether your page can be used. What an AI Overview is Run a search on Google and you'll sometimes see a summary at the top, writ","passages":["Google says supporting pages must be indexed and snippet eligible, with no extra technical requirements.","Its AI features may also run several related searches through query fan out.","TL;DR — An AI Overview is the AI written summary box Google shows at the top of some search results.","Google's Gemini model reads a handful of web pages, pulls out the relevant facts, and writes a short answer with links you can click.","It's a feature inside Google Search — not a separate product — and the pages it summarizes come from Google's normal search index.","So the same things that have always mattered being crawlable, indexed, and clear are what decide whether your page can be used.","What an AI Overview is Run a search on Google and you'll sometimes see a summary at the top, written in full sentences, with a few links off to the side or below.","Instead of only listing blue links, Google uses Gemini to generate an answer from retrieved information and show supporting links."],"updated":"2026-07-21T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/how-search-works/ai-overviews/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/ai-overviews/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Overviews Optimization","desc":"How Google's AI Overviews actually work — what triggers them, how they source citations via query fan-out, their real click-through impact, and how to measure them (including the new GSC Generative AI performance report). Google says it's still SEO.","snippetText":"AI Overviews are Gemini-generated summaries in Google Search. Google says its generative AI features are rooted in core Search ranking and quality systems and require no special technical optimization: supporting pages must be indexed and snippet-eligible. Query fan-out, citation overlap, placement, and click effects are useful to study, but third-party percentages are dated observations rather than platform guarantees. Search Console reporting also limits clean AI Overview attribution. Focus on crawlability, indexability, helpful content, and accurate measurement; do not treat llms.txt, speci","href":"/ai-search/optimization/ai-overviews-optimization/","slug":"ai-overviews-optimization","meta":"Educational","aliases":["ai-overviews-optimization","AI Overviews optimization","optimize for AI Overviews","rank in AI Overviews","AI Overview citations","Google AI Overviews SEO","AI Overviews Optimization","generative-engine-optimization","answer-engine-optimization"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"AI Overviews are Gemini-generated summaries in Google Search. Google says its generative AI features are rooted in core Search ranking and quality systems and require no special technical optimization: supporting pages must be indexed and snippet-eligible. Query fan-out, citation overlap, placement, and click effects are useful to study, but third-party percentages are dated observations rather than platform guarantees. Search Console reporting also limits clean AI Overview attribution. Focus on crawlability, indexability, helpful content, and accurate measurement; do not treat llms.txt, special schema, or mechanical chunking as Google AI Overview requirements. What AI Overviews are Do you need to do anything special? A few things that are genuinely AI Overview specific Don't fall for the \"AI SEO hacks\" What AI Overviews actually are What triggers an AI Overview vs. a normal SERP AI Overviews aren't always position 1 How Google sources and grounds the answer — and why it's shifting What content formats and structures get pulled in Click through impact: real, contested, and moving How to actually track AI Overviews and what GSC still can't tell you What doesn't move the needle Where this fits in the bigger picture AI summary Official documentation Quotes from the source \"Am I in AI Overviews, and what should I do?\" Mistakes that waste your time or money AI Overviews readiness checklist The mental models AI Overviews cheat sheet Citation presence across a fixed query set Search performance for targeted pages Factual accuracy of observed mentions AI Overviews optimization is the practice of getting your pages cited and represented in Google's AI Overviews — the Gemini-generated summary box in Google's own search results. Google says there are no special optimizations for it: the same index, ranking, and quality systems decide eligibility, so it's still SEO. Google says you do not need special technical optimizations to qualify for AI Overviews or AI Mode. The familiar Search preview controls can, however, limit how content is used there. TL;DR — AI Overviews is the AI written summary box Google shows at the top of search results. It's part of Google Search, not a separate app — it pulls from Google's normal index, so if you already do decent SEO, you're most of the way there. Google literally says there's nothing special to do to appear. The useful facts: Overv","passages":["Google says you do not need special technical optimizations to qualify for AI Overviews or AI Mode.","The familiar Search preview controls can, however, limit how content is used there.","TL;DR — AI Overviews is the AI written summary box Google shows at the top of search results.","It's part of Google Search, not a separate app — it pulls from Google's normal index, so if you already do decent SEO, you're most of the way there.","Google literally says there's nothing special to do to appear.","The useful facts: Overviews mostly show for informational questions, ranking 1 doesn't guarantee you get cited, and Google Search Console can't yet show you exactly how many clicks they cost you.","What AI Overviews are When you Google a question these days, you often get a written answer at the top of the page, with a few links off to the side, before the normal blue links start.","That's an AI Overview — a summary Google's Gemini AI writes on the spot by reading pages from Google's search results and stitching the key facts together."],"updated":"2026-07-15T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/optimization/ai-overviews-optimization/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/ai-overviews-optimization/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Shopping Optimization","desc":"AI shopping optimization is making your products discoverable and buyable across ChatGPT, Google AI Mode, Copilot, and Perplexity — by treating the product feed as a first-class surface, not just the page.","snippetText":"AI shopping optimization is the umbrella discipline of getting your products surfaced, recommended, and transacted across AI shopping surfaces — ChatGPT, Google AI Mode/Shopping Graph, Gemini, Microsoft Copilot, and Perplexity. The category shift is the unit of optimization: from page-only optimization toward the data (product feed attributes, structured data, freshness), because agents lean heavily on machine-readable catalogs — though the exact mix of feed, page, and catalog signal each surface uses is provider-specific, and pages still matter for surfaces that also crawl HTML. The load-bear","href":"/ecommerce-seo/ai-commerce/ai-shopping-optimization/","slug":"ai-shopping-optimization","meta":"Educational","aliases":["ai-shopping-optimization","AI shopping optimization","AI shopping","optimize for AI shopping","AI shopping agents","AI Shopping Optimization","agentic-commerce-protocol","universal-commerce-protocol","google-merchant-center"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","ai-commerce"],"text":"AI shopping optimization is the umbrella discipline of getting your products surfaced, recommended, and transacted across AI shopping surfaces — ChatGPT, Google AI Mode/Shopping Graph, Gemini, Microsoft Copilot, and Perplexity. The category shift is the unit of optimization: from page-only optimization toward the data (product feed attributes, structured data, freshness), because agents lean heavily on machine-readable catalogs — though the exact mix of feed, page, and catalog signal each surface uses is provider-specific, and pages still matter for surfaces that also crawl HTML. The load-bearing distinction most content blurs: discovery is not checkout — being recommended is largely a function of feed/data quality and doesn't require protocol integration, while completing the purchase in-agent is a separate opt-in layer (ACP for ChatGPT, UCP for Google/Gemini). Highest-leverage levers: attribute completeness (GTIN/MPN, brand, variants), accurate real-time price/availability, high-res images, reviews as tie-breakers, and product copy written for natural-language matching. Google said in a 2025 launch post that its Shopping Graph carried 50B+ listings refreshed 2B+/hour; ChatGPT's organic carousel has shown heavy overlap with Google Shopping's organic ranking in a secondary-sourced study, so classic feed hygiene likely has cross-platform payoff (verify the exact percentage against the primary methodology before citing it as fact). The measurement catch: AI-mediated purchases can leave no pageview, though whether they do depends on the provider, the handoff design, and your instrumentation — so the KPI increasingly leans on feed-visibility and order-level reconciliation alongside sessions. What AI shopping optimization is Why this is different from regular SEO The one distinction to hold onto What to actually do first The category shift, stated once Discovery vs. checkout — the distinction this article owns The surfaces, briefly What actually moves the needle The cross platform shortcut hiding in plain sight Measuring it — the \"no pageview\" problem A strategic caution: choice homogeneity Where to go deeper AI summary Official documentation Quotes from the source Which AI shopping problem are you solving? AI shopping optimization checklist The mental models Common mistakes and what to do instead AI shopping optimization cheat sheet Work in this order Discovery ","passages":["TL;DR — AI shopping optimization is getting your products recommended and bought inside AI assistants like ChatGPT, Google's AI Mode, Copilot, and Perplexity.","The big change from normal ecommerce SEO: these tools lean heavily on a product feed — a machine readable list of your products, prices, and stock — alongside not instead of your web page, and exactly how much weight each surface gives the feed versus the page varies by platform.","So the work adds \"publish a complete, accurate, fresh feed\" on top of page level SEO, rather than replacing it.","And there's a distinction that trips everyone up: being recommended is mostly about data quality; being bought from inside the chat is a separate, optional setup.","What AI shopping optimization is AI shopping experiences can use merchant feeds, structured product data, and live web information, but requirements vary by platform.","Google's product documentation distinguishes Merchant Center feeds from on page product structured data.","When you shop with an AI assistant, you don't scroll a page of ten blue links.","You ask a question — \"waterproof backpack for commuting under $150\" — and the assistant comes back with a short list of specific products, often with prices, images, and reasons."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/ai-commerce/ai-shopping-optimization/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/ai-shopping-optimization/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Amazon SEO","desc":"Amazon SEO is optimizing product listings to rank in Amazon's own search — a separate algorithm (nicknamed A9) that weighs conversion rate, sales velocity, price, and reviews as heavily as keyword relevance, because it's optimizing for revenue per search, not web relevance. This covers the ranking model, the listing levers Amazon actually documents, and the myths to ignore.","snippetText":"Amazon SEO is ranking your products inside Amazon's own search box, not Google. Amazon's algorithm — nicknamed A9 after the Amazon search subsidiary founded in 2003 — scores a listing on two axes: relevance to the query (title, bullets, backend search terms) and performance once shown (conversion rate, sales velocity, price, reviews). Because the marketplace optimizes for revenue per search, those conversion signals carry weight web search has no equivalent for. Amazon's own documentation is the reliable source: it lists concrete tactics (keyword research, titles, bullets, backend terms, image","href":"/ecommerce-seo/marketplace-seo/amazon-seo/","slug":"amazon-seo","meta":"Educational","aliases":["Amazon SEO","amazon-seo","Amazon search optimization","A9 algorithm","rank on Amazon","Amazon product listing optimization","Marketplace SEO","Category page SEO"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","marketplace-seo"],"text":"amazon-seo marketplace-seo a9-algorithm ecommerce-seo product-listings Amazon SEO is ranking your products inside Amazon's own search box, not Google. Amazon's algorithm — nicknamed A9 after the Amazon search subsidiary founded in 2003 — scores a listing on two axes: relevance to the query (title, bullets, backend search terms) and performance once shown (conversion rate, sales velocity, price, reviews). Because the marketplace optimizes for revenue per search, those conversion signals carry weight web search has no equivalent for. Amazon's own documentation is the reliable source: it lists concrete tactics (keyword research, titles, bullets, backend terms, images, price) and explicitly warns against keyword stuffing. Ignore the fake 'exact ranking-factor percentages' that circulate across vendor blogs, and note 'A10' is community shorthand, not an official Amazon name. This is a separate system from ranking your own store in Google and from eBay, Etsy, and Walmart's algorithms. Amazon has its own search engine What actually moves a listing up The thing most people get wrong A9 is not a knockoff Google The two axes: relevance and performance Whose interest is the algorithm serving? Where the listing pages meet the wider web The myths worth ignoring Where this sits among the marketplaces AI summary Official documentation Quotes from the source Amazon listing optimization checklist The mental models Amazon SEO — cheat sheet What not to do Tools for Amazon SEO Measure Amazon relevance and performance separately Search visibility for the target query set Search click through rate Listing conversion rate Sales velocity and availability Resources worth your time Test yourself: Amazon SEO Amazon SEO is optimizing product listings to rank in Amazon's own search results — its internal search algorithm (historically nicknamed A9, after the Amazon search subsidiary) weighs relevance to the query against performance signals like conversion rate, sales velocity, price, and reviews. It's a separate ranking system from Google, because Amazon is optimizing for revenue per search, not just relevance. TL;DR — Amazon SEO is getting your products to rank in Amazon's own search box — not in Google. Amazon's search cares about two things: does your listing match what the shopper typed your title, bullets, and hidden search terms , and does it sell when people see it conversion, s","passages":["TL;DR — Amazon SEO is getting your products to rank in Amazon's own search box — not in Google.","Amazon's search cares about two things: does your listing match what the shopper typed your title, bullets, and hidden search terms , and does it sell when people see it conversion, sales, price, reviews .","So optimizing a listing is part keyword work and part making the product actually attractive to buy.","Amazon has its own search engine When you sell on Amazon, your product competes in Amazon's search results — a completely different system from Google.","Type a query into Amazon and it ranks listings using its own algorithm, one that has always been tuned for one thing: selling stuff.","Google mostly ranks pages on how relevant and trustworthy they are.","Amazon is a store, so its search is trying to show you the product you're most likely to buy .","That means alongside keyword relevance, it leans hard on things Google doesn't care about at all: how often a listing converts into a sale, how fast it's selling, the price, and the reviews."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/marketplace-seo/amazon-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/marketplace-seo/amazon-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Anchor Text","desc":"What anchor text is, the types (exact-match, partial, branded, naked URL, generic, image alt), and the distinction that matters most — over-optimization is a backlink concern, not an internal-linking one.","snippetText":"Anchor text is the clickable words in a hyperlink (for image links, the alt text plays the same role). The types — exact-match, partial-match, branded, naked URL, generic, and image/alt — are all held to the same bar: Google says good anchor text is 'descriptive, reasonably concise, and relevant.' The distinction that trips everyone up: anchor-text over-optimization (Penguin, and now Google's broader spam systems) is almost entirely an EXTERNAL backlink-profile concern. John Mueller has said keyword-optimizing your own INTERNAL anchor text has 'no visible effect in search.' So write internal l","href":"/technical-seo/website-structure/internal-links/anchor-text/","slug":"anchor-text","meta":"Educational","aliases":["anchor-text","anchor text","link text","anchor text optimization","Anchor Text","internal-links","pagerank","backlinks","link-building"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure","internal-links"],"text":"anchor-text internal-links link-building on-page-seo Anchor text is the clickable words in a hyperlink (for image links, the alt text plays the same role). The types — exact-match, partial-match, branded, naked URL, generic, and image/alt — are all held to the same bar: Google says good anchor text is 'descriptive, reasonably concise, and relevant.' The distinction that trips everyone up: anchor-text over-optimization (Penguin, and now Google's broader spam systems) is almost entirely an EXTERNAL backlink-profile concern. John Mueller has said keyword-optimizing your own INTERNAL anchor text has 'no visible effect in search.' So write internal links for clarity, not keyword density; worry about anchor-text ratios only for links you don't control. And no, there's no official 'safe' exact-match percentage — those numbers are practitioner heuristics, not Google rules. What anchor text is Why it matters The types you'll hear about How to do it well The thing most people get wrong What anchor text is and what it isn't The types of anchor text What makes good anchor text The distinction that matters most: internal vs. external anchor text Anchor text and Google's spam policies Anchor text \"ratios\" and diversity — heuristic, not rule A note on length Bing's take Where to go next AI summary Official documentation Quotes from the source Anchor text — cheat sheet Anchor text anti patterns Anchor text checklist Prompt: rewrite vague internal anchors Prompt: review an external anchor profile without fake thresholds Test yourself: Anchor Text Resources worth your time Anchor text is the visible, clickable text of a hyperlink. It tells readers what they'll find on the other end and gives search engines context about the linked page. TL;DR — Anchor text is the clickable words in a link. Search engines read it to understand what the linked page is about, so make it descriptive — \"email marketing guide\" beats \"click here.\" For links on your own site, just write clearly; you can't hurt yourself by \"over optimizing\" your own internal links. The over optimization worry you've heard about is really about links other sites point at you. What anchor text is Anchor text is the visible, clickable text of a link — the words you click to go somewhere. In HTML, it's the text between the link tags: Here the anchor text is \"email marketing guide.\" That's it — the words a reader sees and ","passages":["Search engines read it to understand what the linked page is about, so make it descriptive — \"email marketing guide\" beats \"click here.\" For links on your own site, just write clearly; you can't hurt yourself by \"over optimizing\" your own internal links.","The over optimization worry you've heard about is really about links other sites point at you.","What anchor text is Anchor text is the visible, clickable text of a link — the words you click to go somewhere.","In HTML, it's the text between the link tags: Here the anchor text is \"email marketing guide.\" That's it — the words a reader sees and clicks.","So Google uses the image's text the description you write for the image as the anchor text instead.","\"Running shoes\" as anchor text is a small hint to Google that the page on the other end is about running shoes.","The types you'll hear about People sort anchor text into a handful of buckets: Exact match — the anchor is exactly a keyword: running shoes linking to a running shoes page.","Partial match — a variation: best running shoes for beginners ."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/website-structure/internal-links/anchor-text/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/internal-links/anchor-text/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"App Indexing (App Deep Linking for Search)","desc":"What Google App Indexing was, why it's deprecated, and what actually replaced it — Android App Links (assetlinks.json) and iOS Universal Links (apple-app-site-association). The history, the myth that deep links help ranking, and how to implement and measure app deep links today.","snippetText":"App Indexing was Google's system (2013–~2021) for crawling native app content and streaming uninstalled apps into search results. It's deprecated — the AppIndexApi is marked deprecated in Google's own docs, and Firebase App Indexing is no longer used by the Google Search app. What replaced it is app deep links: Android App Links (verified via assetlinks.json) and iOS Universal Links (verified via apple-app-site-association). The single most important current fact: deep links don't change indexing or ranking — Google still ranks the web page — they only route a user who already has the app inst","href":"/technical-seo/mobile-seo/app-indexing/","slug":"app-indexing","meta":"Educational","aliases":["app-indexing","app indexing","google app indexing","app deep linking","app deep links","app links seo","universal links seo","App Indexing","mobile-first-indexing","mobile-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"App Indexing was Google's system (2013–~2021) for crawling native app content and streaming uninstalled apps into search results. It's deprecated — the AppIndexApi is marked deprecated in Google's own docs, and Firebase App Indexing is no longer used by the Google Search app. What replaced it is app deep links: Android App Links (verified via assetlinks.json) and iOS Universal Links (verified via apple-app-site-association). The single most important current fact: deep links don't change indexing or ranking — Google still ranks the web page — they only route a user who already has the app installed into the app after a search click. The one real requirement is content parity between the app screen and the web page. Measure it with Search Console's Android app appearance filter. What \"App Indexing\" was What replaced it The thing most people get wrong Three eras, one confusing name What replaced App Indexing: app deep links Android App Links Digital Asset Links / assetlinks.json iOS Universal Links apple app site association Do app deep links affect rankings? No — and here's the exact quote The one real requirement: content parity How to implement it today How to measure it: Search Console's Android app filter Bing and app deep links Legacy things you'll still see in the wild AI summary Official documentation Quotes from the source Should you set up app deep links? App deep link setup checklist Anti patterns to avoid Common app deep link failures A web link still opens in the browser on Android A Universal Link opens Safari instead of the iOS app The app opens to the wrong screen App deep links — cheat sheet App Indexing was Google's now-deprecated system (2013–~2021) for indexing native app content and streaming uninstalled apps into search results. It's been replaced by app deep links — Android App Links and iOS Universal Links — which route users who have the app installed from a search result into the matching in-app screen. Deep links don't change indexing or ranking; Google still ranks the web page. TL;DR — \"App Indexing\" was an old Google feature that pulled content out of your phone app and showed it in search results. Google shut it down. What people use now is called app deep links — links that, if you already have an app installed, open a search result inside the app instead of in your phone's browser. The important part: this doesn't help you rank ","passages":["TL;DR — \"App Indexing\" was an old Google feature that pulled content out of your phone app and showed it in search results.","What people use now is called app deep links — links that, if you already have an app installed, open a search result inside the app instead of in your phone's browser.","Google still ranks your website; deep links just change where the tap lands.","What \"App Indexing\" was Years ago, Google let you connect your website to your native mobile app so that Google could show your app's content — and links straight into it — in search results.","That system was called App Indexing and later Firebase App Indexing .","If you searched for something and had the matching app installed, Google could send you into the app instead of a web page.","If you're reading this because you found \"App Indexing\" in an old SEO checklist, a developer doc, or a plugin setting, here's the short answer: it's deprecated.","You don't need to set it up, and if a tutorial tells you to, that tutorial is out of date."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/mobile-seo/app-indexing/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/app-indexing/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Automated Internal Linking","desc":"Automated internal linking uses plugins, scripts, or build-time tooling to add links between pages instead of doing it by hand. How it works, when it beats manual linking, and the guardrails that keep it editorial instead of spammy.","snippetText":"Automated internal linking uses software — CMS plugins, custom scripts, or build-time tooling — to add links between related pages instead of an editor inserting each one by hand. It comes in two flavors: rule-based keyword matching (predictable, auditable, brittle) and AI/NLP matching (flexible, harder to audit), and tools either suggest links for approval or insert them automatically. The real case for it is scale: past a few hundred pages you can't guarantee by hand that every page has a link, which is exactly the orphan-page problem it solves. It's not risky by default — Google reps have i","href":"/programmatic-seo/automated-internal-linking/","slug":"automated-internal-linking","meta":"Educational","aliases":["automated-internal-linking","automated internal linking","automatic internal linking","auto internal links","internal linking automation","Automated internal linking","internal-linking","internal-links"],"pillar":"programmatic-seo","taxonomy":["programmatic-seo"],"text":"automated-internal-linking internal-links programmatic-seo technical-seo site-architecture anchor-text Automated internal linking uses software — CMS plugins, custom scripts, or build-time tooling — to add links between related pages instead of an editor inserting each one by hand. It comes in two flavors: rule-based keyword matching (predictable, auditable, brittle) and AI/NLP matching (flexible, harder to audit), and tools either suggest links for approval or insert them automatically. The real case for it is scale: past a few hundred pages you can't guarantee by hand that every page has a link, which is exactly the orphan-page problem it solves. It's not risky by default — Google reps have indicated CMS-generated linking at scale is normal, and there's no internal-linking over-optimization penalty. The actual risk is quality: keyword-stuffed anchors and links dumped onto thin pages. Guardrails — curated targets, per-page link caps, anchor variation, dropping ambiguous matches, and human review — are what separate editorial automation from an auto-link farm. This site's own build-time plugin is a working example. What it is Why bother automating it? Is it safe? What \"automated\" actually covers Why sites automate it: the scale argument is backed by Google What Google has actually said Manual vs. automated: the actual tradeoffs Guardrails: what separates editorial automation from an auto link farm A concrete example: this site's build time linker The bottom line AI summary Official documentation Quotes from the source Which approach should I use? The mental models Setting up automated internal linking — checklist How automated linking goes wrong Worked examples Prompts for auditing automated internal links Audit a keyword to target map Spot check an automation output sample Tools for automated internal linking Test yourself: Automated Internal Linking Resources worth your time Automated internal linking is the use of software — CMS plugins, custom scripts, or build-time tooling — to insert hyperlinks between related pages on a website automatically, based on keyword or topic matching, instead of an editor adding each link by hand. TL;DR — Automated internal linking is when software adds the links between your pages instead of you doing it by hand. A plugin or script looks for certain words in your content and turns them into links to related pages. It's most","passages":["TL;DR — Automated internal linking is when software adds the links between your pages instead of you doing it by hand.","A plugin or script looks for certain words in your content and turns them into links to related pages.","It's mostly useful on big sites where linking everything manually is impossible — but it can go wrong if it makes ugly, repetitive links or links to junk pages.","What it is Internal links help search engines discover pages and understand relationships within a site.","Automation can scale candidate discovery, but relevance and anchor choices still require rules and review.","An internal link is just a link from one page on your site to another page on the same site.","Normally an editor adds those by hand: you write a paragraph, you notice it mentions a topic you've already covered, and you link to it.","A tool — usually a plugin in your CMS, or a script that runs when your site is built — scans your content, finds words that match pages you've told it about, and turns those words into links automatically."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/programmatic-seo/automated-internal-linking/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/programmatic-seo/automated-internal-linking/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"B2B SaaS SEO","desc":"SEO for subscription software sold to businesses — mapping the multi-stakeholder buying committee (end user, champion, economic buyer, security/procurement reviewer) onto the SaaS page types each one searches for across a long sales cycle. The strategy companion to the SaaS SEO checklist.","snippetText":"B2B SaaS SEO points ordinary ranking mechanics at an unusually hard buyer: a multi-stakeholder buying committee that researches over a long sales cycle. Google and Bing rank a software site with the same systems they use for any site, so the difficulty is the buyer, not the algorithm. The SaaS-specific move is to map the four committee roles (end user, champion, economic buyer, and the security/procurement/IT reviewer) onto the SaaS page types each one searches for. The end user reads problem-aware content; the champion needs comparison and ROI material they can forward internally; the economi","href":"/saas-seo/b2b-saas-seo/","slug":"b2b-saas-seo","meta":"Educational","aliases":["b2b-saas-seo","B2B SaaS SEO","SEO for B2B SaaS","B2B SaaS search optimization","SaaS buying committee SEO","saas-seo","b2b-seo","saas-seo-checklist"],"pillar":"saas-seo","taxonomy":["saas-seo"],"text":"b2b-saas-seo saas-seo buying-committee comparison-pages security-compliance full-funnel B2B SaaS SEO points ordinary ranking mechanics at an unusually hard buyer: a multi-stakeholder buying committee that researches over a long sales cycle. Google and Bing rank a software site with the same systems they use for any site, so the difficulty is the buyer, not the algorithm. The SaaS-specific move is to map the four committee roles (end user, champion, economic buyer, and the security/procurement/IT reviewer) onto the SaaS page types each one searches for. The end user reads problem-aware content; the champion needs comparison and ROI material they can forward internally; the economic buyer wants pricing and case studies with numbers; and the security/procurement reviewer — the role almost every guide skips — needs indexed security, compliance, and integration pages, because a deal can die in security review after everyone else is sold. Because the committee researches in parallel, not in sequence, those pages have to already exist and rank before the reviewer is looped in. What B2B SaaS SEO is The one thing that makes it hard What to do about it Start here: you're optimizing for a committee, not a searcher The B2B SaaS buying committee — four roles, four search behaviors Mapping committee roles to funnel stages and page types Comparison pages serve more than one role — write for both jobs or split them Security, compliance, and trust content is an SEO asset — treat it like one The committee doesn't move in sequence — build ahead, not reactively A note on Bing and Copilot Where to go next AI summary Official documentation Quotes from the source Which committee role does this page need to serve — and do you need one page or two? A. Which role is this page for, and does that role have a page yet? B. One comparison page for two roles, or split it? The mental models B2B SaaS SEO — committee to page cheat sheet A B2B SaaS committee coverage playbook What goes wrong — and the fix Prompts for buying committee coverage Classify the existing content inventory by committee role Turn one page idea into a committee aware brief B2B SaaS SEO is search engine optimization for subscription software sold to businesses. The ranking mechanics are ordinary SEO — what's distinct is mapping a multi-stakeholder buying committee (end user, champion, economic buyer, and security/procure","passages":["TL;DR — B2B SaaS SEO is SEO for software companies that sell subscriptions to other businesses.","Google ranks a SaaS site with the same rules as any other site — there's no special algorithm.","What's different is who buys : not one person, but a group of stakeholders who may research different things.","So you may need pages for the person who'll use the product, the person selling it internally, the person paying for it, and the security or IT person who has to sign off — and each of them searches for something different.","What B2B SaaS SEO is SaaS is software you subscribe to instead of buy once — think Slack, Notion, or Salesforce.","B2B SaaS SEO is getting your site to show up in Google and Bing when the people at those businesses search for a tool like yours.","The mechanics are the same SEO everyone does: pick the right keywords, write genuinely useful pages, make your site crawlable, earn some links.","Nothing about the algorithm changes because you sell software to businesses."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/saas-seo/b2b-saas-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/saas-seo/b2b-saas-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Baidu SEO","desc":"How to rank in Baidu, mainland China's dominant search engine — and why Google rules don't transfer. Hosting behind the Great Firewall, ICP filing (beian), Simplified Chinese, Baidu's own-property SERPs, the meta tags it supports, the HTTPS and MIP timelines, and the 2026 market-share reality.","snippetText":"Baidu SEO means making a site accessible and understandable to Baidu Search. Validate crawlable delivery in the target market, localize content for users, follow applicable hosting rules, and use Baidu's official Search Resource Platform for verification, diagnostics, and URL submission. Treat market-share estimates, account gates, and historical crawler claims as volatile context rather than ranking rules.","href":"/international-seo/market-specific-seo/baidu-seo/","slug":"baidu-seo","meta":"Educational","aliases":["baidu-seo","Baidu SEO","SEO for China","China SEO","how to rank on Baidu","Baidu ranking factors","百度SEO","baiduspider","baidu-webmaster-tools","market-specific-seo"],"pillar":"international-seo","taxonomy":["international-seo","market-specific-seo"],"text":"baidu-seo international-seo market-specific-seo baidu china-seo baiduspider Baidu SEO means making a site accessible and understandable to Baidu Search. Validate crawlable delivery in the target market, localize content for users, follow applicable hosting rules, and use Baidu's official Search Resource Platform for verification, diagnostics, and URL submission. Treat market-share estimates, account gates, and historical crawler claims as volatile context rather than ranking rules. What Baidu SEO is Baidu likes its own websites best The things people get wrong Baidu SEO launch checklist Market and infrastructure Content and rendering Technical discovery Ongoing QA Baidu SEO is a different engine, not a translated Google Hosting location and speed behind the Great Firewall ICP filing beian — what it actually is, and what it isn't Language and market scope: Simplified vs. Traditional Chinese Baidu's preference for its own properties and the ad heavy SERP Technical setup for Baidu Baidu Search Resource Platform Ziyuan Meta tags Baidu supports HTTPS on Baidu Mobile: MIP's rise 2016 and Cache shutdown 2020 JavaScript rendering limits Baidu vs. Google vs. Bing in China: the 2026 market share picture Where this fits AI summary Official documentation Quotes from the source Baidu SEO is the practice of optimizing a website to rank in Baidu, mainland China's dominant search engine. It differs structurally from Google SEO: hosting location behind the Great Firewall, an ICP filing to legally host on mainland servers, Simplified Chinese content, Baidu's preference for its own properties, and its own crawler (Baiduspider) and webmaster console (Ziyuan) all matter more than any translated Google playbook. TL;DR — Baidu SEO is the work of making a site accessible and understandable to Baidu Search. It is not just \"Google SEO translated into Chinese\": confirm reliable access for your target users and Baidu's crawler, localize the content, follow applicable hosting rules, and use Baidu's own Search Resource Platform for diagnostics and URL submission. What Baidu SEO is Google isn't the search engine everywhere. In mainland China, the leader is Baidu — and Google itself hasn't run a normal, uncensored search product there since 2010. So if your audience is in China, the Google playbook you already know mostly doesn't apply. That's what Baidu SEO is: optimizing a site to rank i","passages":["TL;DR — Baidu SEO is the work of making a site accessible and understandable to Baidu Search.","It is not just \"Google SEO translated into Chinese\": confirm reliable access for your target users and Baidu's crawler, localize the content, follow applicable hosting rules, and use Baidu's own Search Resource Platform for diagnostics and URL submission.","What Baidu SEO is Google isn't the search engine everywhere.","In mainland China, the leader is Baidu — and Google itself hasn't run a normal, uncensored search product there since 2010.","So if your audience is in China, the Google playbook you already know mostly doesn't apply.","That's what Baidu SEO is: optimizing a site to rank in Baidu, on Baidu's terms.","The reason it's so different from Google SEO is that the hardest parts aren't about your content at all.","They're about plumbing and paperwork : Where your site lives."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/international-seo/market-specific-seo/baidu-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/market-specific-seo/baidu-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Baidu Webmaster Tools (Ziyuan)","desc":"What Baidu Webmaster Tools (the Baidu Search Resource Platform / ziyuan.baidu.com) is, the Chinese-mobile-number and ICP gates that trip up non-Chinese teams, how its API push differs from IndexNow, and where GSC fluency doesn't transfer.","snippetText":"Baidu Webmaster Tools — officially the Baidu Search Resource Platform (百度搜索资源平台) at ziyuan.baidu.com — is Baidu's free webmaster console, China's closest equivalent to Google Search Console. The thing that blocks most non-Chinese teams isn't SEO, it's access: since May 2022 registration requires a Chinese mobile number, and one source reports a real-name ID authentication gate added in November 2023, reportedly citizens-only. You verify (meta tag or file upload; CNAME's status is contested), then submit via manual Normal Inclusion, sitemap, or the fast proprietary API push at data.zz.baidu.com","href":"/technical-seo/tools/search-engine-tools/baidu-webmaster-tools/","slug":"baidu-webmaster-tools","meta":"Educational","aliases":["baidu-webmaster-tools","Baidu Webmaster Tools","Baidu Search Resource Platform","Baidu Ziyuan","百度搜索资源平台","Baidu Zhanzhang","Baidu Webmaster Tools (Ziyuan)","baiduspider","international-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools"],"text":"baidu-webmaster-tools baidu baiduspider technical-seo search-engine-tools international-seo Baidu Webmaster Tools — officially the Baidu Search Resource Platform (百度搜索资源平台) at ziyuan.baidu.com — is Baidu's free webmaster console, China's closest equivalent to Google Search Console. The thing that blocks most non-Chinese teams isn't SEO, it's access: since May 2022 registration requires a Chinese mobile number, and one source reports a real-name ID authentication gate added in November 2023, reportedly citizens-only. You verify (meta tag or file upload; CNAME's status is contested), then submit via manual Normal Inclusion, sitemap, or the fast proprietary API push at data.zz.baidu.com — Baidu doesn't use IndexNow, and its own page says submission speeds crawling but never guarantees indexing. It's less feature-rich than GSC, so GSC fluency doesn't transfer 1:1. What Baidu Webmaster Tools is The wall most people hit first Getting set up once you have an account The thing to remember What it is, and how I'd frame it Why it matters — with the market share caveat Requirements before you can even start Site verification methods Submitting URLs — three tiers, not three synonyms Monitoring index status and crawl diagnostics Mobile optimization and the MIP legacy Where GSC fluency doesn't transfer AI summary Official documentation Quotes from the source Which Baidu submission method should I use? SOP: Getting a site into Baidu Webmaster Tools Common mistakes, and what to do instead Baidu Webmaster Tools troubleshooting I can't create an account Verification keeps failing Submitted URLs aren't being indexed API push returns an error or the quota has fallen Baiduspider sees a shell instead of the page Baidu Webmaster Tools — officially the Baidu Search Resource Platform (百度搜索资源平台) at ziyuan.baidu.com — is Baidu's free webmaster console: verify a site, submit URLs and sitemaps (including the fast API push), and monitor indexing and crawl diagnostics. Since May 2022 registration needs a Chinese mobile number. TL;DR — Baidu Webmaster Tools is Baidu's webmaster dashboard — think Google Search Console, but for Baidu. Its current official home is the Baidu Search Resource Platform at ziyuan.baidu.com . After obtaining account access, you verify your site and can use Baidu's own link submission tools. What Baidu Webmaster Tools is If you want your site to show up on Baidu the","passages":["TL;DR — Baidu Webmaster Tools is Baidu's webmaster dashboard — think Google Search Console, but for Baidu.","Its current official home is the Baidu Search Resource Platform at ziyuan.baidu.com .","After obtaining account access, you verify your site and can use Baidu's own link submission tools.","What Baidu Webmaster Tools is If you want your site to show up on Baidu the way you'd want it on Google, Baidu Webmaster Tools is where you go.","It's Baidu's own free console for seeing and improving how your site does in Baidu search — verify that you own the site, hand Baidu a list of your pages, and check which ones it has found and indexed.","You'll see it under a few different names: Baidu Search Resource Platform 百度搜索资源平台 — the current official name.","Baidu Ziyuan — from its address, ziyuan.baidu.com \"ziyuan\" = 资源 = \"resource\" .","Baidu Zhanzhang 站长 = \"webmaster\" or just Baidu Webmaster Tools — the older names you'll still see in English guides."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/baidu-webmaster-tools/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/baidu-webmaster-tools/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Baiduspider","desc":"What Baiduspider is — Baidu's crawler variants and user-agents, robots.txt compliance (and the cpro/ads exception), reverse-DNS verification, weak JS rendering, and crawl control in Ziyuan.","snippetText":"Baiduspider is Baidu's web crawler — the Chinese-market equivalent of Googlebot, and the bot that discovers, fetches, and indexes pages for Baidu Search inside mainland China. It runs named variants sharing one Baiduspider token family (image, video, news, favo, cpro, ads), plus a Baiduspider-render JavaScript variant that Baidu documents only in Chinese. Verify it with bidirectional DNS to *.baidu.com or *.baidu.jp (the user-agent is spoofable), because Baidu's own FAQ warns about impersonators. Baidu's FAQ claims it strictly complies with robots.txt — with a named exception: Baiduspider-cpro","href":"/technical-seo/how-search-works/crawling/crawler/baiduspider/","slug":"baiduspider","meta":"Educational","aliases":["baiduspider","baidu spider","baidu crawler","baidu bot","百度蜘蛛","Baiduspider","googlebot","bingbot","crawler"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling","crawler"],"text":"baiduspider crawling technical-seo crawler baidu international-seo Baiduspider is Baidu's web crawler — the Chinese-market equivalent of Googlebot, and the bot that discovers, fetches, and indexes pages for Baidu Search inside mainland China. It runs named variants sharing one Baiduspider token family (image, video, news, favo, cpro, ads), plus a Baiduspider-render JavaScript variant that Baidu documents only in Chinese. Verify it with bidirectional DNS to *.baidu.com or *.baidu.jp (the user-agent is spoofable), because Baidu's own FAQ warns about impersonators. Baidu's FAQ claims it strictly complies with robots.txt — with a named exception: Baiduspider-cpro and Baiduspider-ads run under commercial agreements and ignore it. Its biggest practical limitation vs. Googlebot is weak JavaScript rendering, so server-rendered HTML is the safe default. Control its crawl rate through Baidu Search Resource Platform (Ziyuan). What Baiduspider is Why it might matter to you The catch: Baiduspider is bad at JavaScript How to help or stop Baiduspider What Baiduspider actually is User agent strings and crawler variants Baiduspider render — the JS variant Baidu only documents in Chinese How to verify Baiduspider and not a spoofed bot Baiduspider and robots.txt The named exception to \"strict compliance\" A real example: baidu.com's own robots.txt Does Baiduspider render JavaScript? Controlling Baiduspider's crawl frequency hreflang and other Google standard signals No English rep culture — why the FAQ is unusually valuable AI summary Official documentation Quotes from the source Should I let Baiduspider crawl my site — and how do I handle it? Verify a bot is really Baiduspider Pull only Baiduspider hits from your server logs Match a hostname against Baidu's allowed domains regex A robots.txt starting point for Baiduspider Baiduspider — cheat sheet Baiduspider is the web crawler operated by Baidu, China's dominant search engine — the Chinese-market equivalent of Googlebot. It discovers, crawls, and indexes pages for Baidu Search, and you manage its access via robots.txt and Baidu's own console, Baidu Search Resource Platform (Ziyuan). TL;DR — Baiduspider is Baidu's web crawler — the bot that visits your pages, downloads them for Baidu Search. If mainland China is an important market, Baiduspider belongs in your crawl monitoring. Check Baidu's current webmaster documentation bef","passages":["TL;DR — Baiduspider is Baidu's web crawler — the bot that visits your pages, downloads them for Baidu Search.","If mainland China is an important market, Baiduspider belongs in your crawl monitoring.","Check Baidu's current webmaster documentation before relying on engine specific behavior, especially for JavaScript rendering and crawler controls.","What Baiduspider is Google doesn't work inside mainland China.","Baidu does — it's the search engine most people there use, and Baiduspider is its crawler.","When Baiduspider visits your site, it follows links, reads your sitemap, downloads your pages, and hands them off to build Baidu's index — the database Baidu pulls from when someone searches.","If Baiduspider can't reach and read a page, that page won't show up in Baidu.","In Baidu's own words from its official English FAQ : \"Baiduspider is Baidu search engine program which is used to visit pages on the internet and build information into Baidu index."],"updated":"2026-07-13T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/baiduspider/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/baiduspider/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Back/Forward Cache (bfcache)","desc":"What the back/forward cache is — the browser feature that freezes a whole page in memory for instant Back/Forward navigation — how it differs from the HTTP cache, what blocks eligibility, how to test it, and its real (indirect) relationship to Core Web Vitals and SEO.","snippetText":"The back/forward cache (bfcache) is a browser optimization that freezes a whole page — DOM, JavaScript heap, running state — in memory when you navigate away, so pressing Back or Forward can restore it instantly with no reload, no re-render, and no network requests, as long as the browser hasn't evicted that frozen snapshot first. It's a browser feature, not a search ranking factor: Google's own Core Web Vitals ranking docs never mention it. Its SEO relevance is indirect and scoped — a bfcache-restored navigation posts near-instant LCP and effectively zero CLS for the users who get one, which ","href":"/technical-seo/web-performance/bfcache/","slug":"bfcache","meta":"Educational","aliases":["bfcache","back forward cache","back/forward cache","back-forward cache","Back/Forward Cache (bfcache)","core-web-vitals","cls","caching"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"bfcache back-forward-cache web-performance technical-seo core-web-vitals cumulative-layout-shift largest-contentful-paint The back/forward cache (bfcache) is a browser optimization that freezes a whole page — DOM, JavaScript heap, running state — in memory when you navigate away, so pressing Back or Forward can restore it instantly with no reload, no re-render, and no network requests, as long as the browser hasn't evicted that frozen snapshot first. It's a browser feature, not a search ranking factor: Google's own Core Web Vitals ranking docs never mention it. Its SEO relevance is indirect and scoped — a bfcache-restored navigation posts near-instant LCP and effectively zero CLS for the users who get one, which can improve your aggregate field Core Web Vitals on any site with meaningful Back/Forward traffic (1 in 10 desktop and 1 in 5 mobile navigations), but it doesn't guarantee your restore rate, your overall CWV rating, rankings, or conversion. The single biggest blocker is the unload event handler; the historically largest was Cache-Control: no-store, though Chrome now allows bfcache for many no-store pages conditionally as of its 2025 rollout. Test with Chrome DevTools for one-off lab checks, or the Chrome-only notRestoredReasons API for field data. Don't confuse bfcache with the HTTP cache, the browser's in-memory resource cache, a service worker's Cache Storage, or the old retired 'cached page' search feature. What bfcache is Why it's not \"the cache\" you already know Does bfcache help my SEO? What bfcache actually is the accuracy spine How common are Back/Forward navigations, really? Browser support What blocks bfcache eligibility The event — the single biggest blocker — historically the largest, now nuanced Open connections, observers, and other blockers Getting the lifecycle event/state sequence right How to test and diagnose bfcache Lab / one off: Chrome DevTools Field / production: the API Bfcache and Core Web Vitals — the precise relationship How common are bfcache blockers in the wild? Where this sits AI summary Official documentation Quotes from the source Bfcache eligibility checklist Bfcache cheat sheet Bfcache anti patterns and the myths behind them Tools for testing and diagnosing bfcache The back/forward cache (bfcache) is a browser feature that freezes a whole page in memory when you navigate away, so pressing Back or Forward can restore","passages":["TL;DR — The back/forward cache bfcache is a browser feature that freezes a whole page in memory when you leave it, so pressing Back or Forward can bring it back instantly — no reload — as long as the browser hasn't evicted that frozen page first.","But because a restored page loads near instantly, it quietly improves your Core Web Vitals numbers on the Back/Forward navigations that do get restored, which is why a performance audit might tell you to \"fix bfcache eligibility.\" What bfcache is When you click the browser's Back button, one of two things happens.","Either the browser rebuilds the previous page from scratch — re downloading files, re running JavaScript, re laying out the whole thing — or it restores the page instantly , exactly as you left it.","That instant version is the back/forward cache , or bfcache .","Here's the trick: instead of throwing the old page away when you navigate off it, the browser freezes the entire page in memory — everything, including the running JavaScript — and keeps it on ice.","If you come back soon and the browser still has that frozen page available, it un freezes and shows you the exact page again — no network requests, no waiting.","It's a possible restore, not a guarantee: the browser can evict a frozen page from memory before you hit Back low memory, a timeout, certain activity , in which case you just get a normal reload instead.","Google's own one line description says it plainly: bfcache is \"a browser optimization that enables instant back and forward navigation.\" Why it's not \"the cache\" you already know This is the part people mix up."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/bfcache/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/bfcache/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Brand vs. Non-Brand Search Traffic","desc":"How to segment organic search into branded and non-branded queries — why blended organic numbers mislead at enterprise scale, Google's new native GSC branded filter, and the regex/Looker Studio/Rank Tracker methods to do it yourself and report it to execs.","snippetText":"Branded queries include your brand name, its variants/misspellings, and products uniquely tied to you; non-branded queries are everything else. Segmenting them matters most at enterprise scale, where existing brand demand (PR, ads, word of mouth) can make a blended 'organic up 20%' number look like an SEO win it isn't — and can hide a real non-branded decline. Non-branded growth is the cleaner signal of whether content and technical SEO are earning new visibility. Three ways to segment: Google's native GSC branded queries filter (AI-assisted, launched Nov 2025, not customizable, top-level prop","href":"/enterprise-seo/metrics/brand-vs-non-brand/","slug":"brand-vs-non-brand","meta":"Educational","aliases":["brand-vs-non-brand","brand vs non-brand","branded vs non-branded traffic","branded search traffic","non-branded search traffic","branded queries","Brand vs. non-brand search traffic","organic-traffic","enterprise-seo-metrics","enterprise-seo-reporting","performance-report"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","metrics"],"text":"enterprise-seo metrics reporting branded-search search-console ga4 Branded queries include your brand name, its variants/misspellings, and products uniquely tied to you; non-branded queries are everything else. Segmenting them matters most at enterprise scale, where existing brand demand (PR, ads, word of mouth) can make a blended 'organic up 20%' number look like an SEO win it isn't — and can hide a real non-branded decline. Non-branded growth is the cleaner signal of whether content and technical SEO are earning new visibility. Three ways to segment: Google's native GSC branded queries filter (AI-assisted, launched Nov 2025, not customizable, top-level properties only, no full historical backfill), a maintained branded-term list applied via regex in GSC/GA4 or a Looker Studio dashboard, and rank-level tagging in Ahrefs Rank Tracker. Report branded and non-branded as two separate lines to execs, not one blended number, and pair with revenue. Don't reflexively credit SEO for branded upticks — they can be PR- or AI-citation-driven. What the two types are Why you'd bother splitting them The simple version of how to do it What \"branded\" actually means and why the line is fuzzy Why this matters more at enterprise scale How Google now surfaces this natively How to segment it yourself Reporting it to executives The caveat nobody puts on the slide: a branded uptick isn't automatically a win AI summary Official documentation Quotes from the source Brand vs. non brand segmentation checklist The mental models Brand vs. non brand — cheat sheet Which segmentation method should I use? Regex and formulas for branded/non branded Tools for segmenting brand vs. non brand Brand/non brand reporting mistakes Reporting one blended organic total Treating every product name as branded Changing the term list without versioning it Treating Google's native filter as ground truth Publishing a universal target ratio Segmenting organic search performance into branded queries (your brand name, its variants and misspellings, and products uniquely tied to you) versus non-branded queries (everything else). Splitting the two stops brand demand from masking the SEO-driven growth in your reporting. TL;DR — A branded search includes your brand name or a close misspelling, or a product only you sell . A non branded search is everything else — generic \"best running shoes\" type queries from people","passages":["TL;DR — A branded search includes your brand name or a close misspelling, or a product only you sell .","A non branded search is everything else — generic \"best running shoes\" type queries from people who don't know you yet.","Splitting the two matters because branded traffic mostly reflects how well known you already are, while non branded traffic is the honest signal of whether your SEO work is actually earning new visitors.","What the two types are Every organic visitor arrived by typing something into search.","\"Nike shoes,\" \"gmial\" a misspelling of Gmail , or a product name only you have.","\"waterproof running shoes,\" \"how to fix a slow website.\" The person had a need but hadn't picked a company yet, and found you in the results.","Why you'd bother splitting them Imagine your boss sees \"organic traffic is up 20% this quarter\" and congratulates the SEO team.","Sounds great — until you realize the company also ran a big TV campaign and got mentioned on a popular podcast that quarter."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/enterprise-seo/metrics/brand-vs-non-brand/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/brand-vs-non-brand/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Chrome DevTools Performance Panel","desc":"The Performance panel is Chrome DevTools' built-in, local profiler for recording how a page loads and runs, reading a flame chart, finding your LCP element, and diagnosing Core Web Vitals problems — it can also show optional real-user CrUX field data alongside your local trace. What it is, how to read it, and why it isn't what Googlebot sees.","snippetText":"The Chrome DevTools Performance panel is a local profiler built into Chrome (and Chromium-based Edge). You record a trace and read the raw detail of how a page loads and runs: a flame chart of main-thread work, an FPS/CPU timeline, a network waterfall, a filmstrip, and — since the 2023–2024 redesign — a live Core Web Vitals view plus an Insights sidebar (LCP phase breakdown, render-blocking requests, forced reflow, third-party cost). Where Lighthouse/PageSpeed Insights score a page and list fixes, the Performance panel hands you the trace to explore yourself. Three things to get right: the rec","href":"/technical-seo/web-performance/web-performance-tools/chrome-devtools-performance/","slug":"chrome-devtools-performance","meta":"Educational","aliases":["chrome-devtools-performance","chrome devtools performance panel","devtools performance panel","performance panel","chrome performance profiler","Chrome DevTools Performance Panel","lighthouse","pagespeed-insights","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-performance-tools"],"text":"chrome-devtools performance-panel performance web-performance core-web-vitals lcp technical-seo lab-data profiling The Chrome DevTools Performance panel is a local profiler built into Chrome (and Chromium-based Edge). You record a trace and read the raw detail of how a page loads and runs: a flame chart of main-thread work, an FPS/CPU timeline, a network waterfall, a filmstrip, and — since the 2023–2024 redesign — a live Core Web Vitals view plus an Insights sidebar (LCP phase breakdown, render-blocking requests, forced reflow, third-party cost). Where Lighthouse/PageSpeed Insights score a page and list fixes, the Performance panel hands you the trace to explore yourself. Three things to get right: the recorded trace itself is your local browser's behavior, not Googlebot's Web Rendering Service; that trace is lab evidence, though the panel can optionally show real-user CrUX field data alongside it — the two are not the same measurement; and the standalone Performance Insights panel was removed in Chrome 132, its features folded into the main panel's Insights tab. For SEO it's the fastest built-in way to pinpoint your exact LCP element and spot render-blocking third parties. What it is How to open it and what you see first Recording a page load The thing people get wrong What the Performance panel actually is A brief history so you know which panel you're even looking at Opening it and the live metrics screen Recording a trace: runtime vs. load Reading the trace The Insights sidebar CPU and network throttling and the caveat that trips people up Lab data here vs. field data Google ranks on How I use it for technical SEO The Googlebot myth the one to actually internalize A quick disambiguation footnote AI summary Official documentation Quotes from the source Which performance tool should I reach for? Performance panel cheat sheet A Performance panel profiling pass The Performance panel and the tools around it Performance panel mistakes that waste a trace Treating one recording as field truth The Performance panel is Chrome DevTools' built-in, local profiler for recording and analyzing how a page loads and runs — CPU, main-thread work, rendering, network, and live Core Web Vitals. The recorded trace is local, lab data from your own browser — not what Googlebot sees — though the panel can optionally show real-user CrUX field data alongside it. TL;DR — The Perform","passages":["TL;DR — The Performance panel is a tool built into Chrome open DevTools, click Performance that records exactly what your browser does while a page loads — every script, every network request, every paint.","Unlike PageSpeed Insights, it doesn't give you a score; it gives you the raw picture so you can find why a page is slow.","Important: it shows what your browser does, not what Google's crawler does, and it's free with no account.","The Performance panel is the one for recording how a page loads and runs, then digging into the detail.","It captures your browser's work over time — downloading files, running JavaScript, laying out and painting the page — and lays it out as a timeline you can zoom into.","PageSpeed Insights and Lighthouse are like a report card: they run a test and hand you a score plus a to do list.","The Performance panel is like a security camera recording of the whole page load — no score, but you can rewind and see the exact moment something went wrong.","Open DevTools right click the page → Inspect , or press Cmd+Option+I on Mac / Ctrl+Shift+I on Windows ."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/chrome-devtools-performance/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/chrome-devtools-performance/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Cloudflare Workers SEO","desc":"How to make technical SEO changes on Cloudflare Workers — the fetch handler, HTMLRewriter for canonical/hreflang/JSON-LD injection, KV-backed redirects, the Cache API vs edge cache vs Cache-Control, the cloaking boundary, and how Bot Fight Mode can block Googlebot.","snippetText":"Cloudflare Workers SEO is doing technical SEO on Cloudflare's serverless runtime: a Worker only sees requests its route matches, and every one of those enters one fetch handler where you rewrite the request, the response headers, and the response body. Body rewriting runs through HTMLRewriter — the actual mechanism for injecting a canonical tag, fixing hreflang, or adding JSON-LD without a CMS deploy — and it needs to be idempotent against missing, duplicate, and non-HTML cases. Redirects at scale belong in KV or D1; Bulk Redirects/Rules are simpler for small sets, but pick one owner per URL s","href":"/technical-seo/edge-seo/cloudflare-workers-seo/","slug":"cloudflare-workers-seo","meta":"Educational","aliases":["cloudflare-workers-seo","Cloudflare Workers SEO","Cloudflare Workers redirect","HTMLRewriter SEO","Cloudflare Workers canonical tag","does Cloudflare block Googlebot","edge-seo","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","edge-seo"],"text":"cloudflare-workers edge-seo htmlrewriter technical-seo redirects cloaking Cloudflare Workers SEO is doing technical SEO on Cloudflare's serverless runtime: a Worker only sees requests its route matches, and every one of those enters one fetch handler where you rewrite the request, the response headers, and the response body. Body rewriting runs through HTMLRewriter — the actual mechanism for injecting a canonical tag, fixing hreflang, or adding JSON-LD without a CMS deploy — and it needs to be idempotent against missing, duplicate, and non-HTML cases. Redirects at scale belong in KV or D1; Bulk Redirects/Rules are simpler for small sets, but pick one owner per URL so systems don't conflict. Three separate things share the word cache — the Workers Cache API, the Cloudflare edge cache, and origin Cache-Control — and conflating them is why an injected tag seems to not show up; diagnose by cache key, layer, TTL, and invalidation. The hard rule is cloaking: apply identical logic for Googlebot and users. The most Workers-specific self-inflicted wound is Bot Fight Mode blocking Googlebot on a pipeline your WAF allow-rules don't even reach. Ship every SEO-affecting change with recorded version metadata and a tested rollback, then verify with GSC URL Inspection and the CF-Cache-Status header. See the Edge SEO hub for the general concept. What a Cloudflare Worker is, in plain terms What people use Workers for in SEO The rule you cannot break The two ways to hurt yourself What this article is and isn't How a Worker sits in the request/response path Rewriting HTML with Injecting or fixing a canonical tag Adding or correcting hreflang alternates Injecting JSON LD structured data CPU limits that bite at scale Redirects at the edge: KV vs D1 vs Rules Caching: three different things, one confusing name What Googlebot does with ETag / If None Match / 304 The recrawl tradeoff The cloaking boundary, applied to Workers How a Worker can accidentally block or slow Googlebot Bot Fight Mode runs outside the Ruleset Engine The verified bots custom rule pattern The CDN itself is neutral to positive Verifying what Googlebot actually received Deployment hygiene specific to Workers A Bing note, and one forward looking thing AI summary Cloudflare Workers SEO is using Cloudflare's serverless V8-isolate runtime — the fetch handler, the HTMLRewriter streaming parser, KV/D1 storage, and the ","passages":["TL;DR — Cloudflare Workers are little programs that run on Cloudflare's network, in front of your real website.","A Worker can add a redirect, fix a meta tag, or inject a canonical tag as the page flies past — without touching your CMS or waiting on developers.","This page is the hands on, code level version of the broader Edge SEO idea: how you actually do it on Workers specifically.","The one rule you can't break: whatever a Worker changes, it has to change for Google and real visitors the same way.","What a Cloudflare Worker is, in plain terms If your site is on Cloudflare, every request from a visitor or from Googlebot passes through Cloudflare's network before it reaches your actual server.","A Worker is a small script you can run at that point in the path.","It sees the request coming in and the response going out, and it can change either one.","That's the whole appeal for SEO: you get to fix things on pages you can't otherwise edit."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/edge-seo/cloudflare-workers-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/edge-seo/cloudflare-workers-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Composable Commerce SEO","desc":"Composable commerce assembles a store from independent best-of-breed vendors on MACH principles. The SEO risk isn't rendering — it's that no single team owns the full redirect map, canonical strategy, or URL structure across the stack.","snippetText":"Composable commerce is broader than headless: headless decouples only the frontend, while composable assembles the whole stack — storefront, search, CMS, checkout, payments, fulfillment — from independent best-of-breed vendors connected by APIs, usually on MACH principles (Microservices, API-first, Cloud-native, Headless). The rendering rules are the headless layer's job. Composable's own SEO risk is structural, not technical: because the stack is stitched together from vendors that don't coordinate with each other, no single team owns the full redirect map, canonical strategy, or URL structur","href":"/ecommerce-seo/headless-ecommerce/composable-commerce/","slug":"composable-commerce","meta":"Educational","aliases":["composable-commerce","composable commerce","composable commerce SEO","MACH architecture","MACH commerce","Composable Commerce","headless-ecommerce","headless-cms"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","headless-ecommerce"],"text":"composable-commerce ecommerce-seo headless-ecommerce mach site-migration redirects Composable commerce is broader than headless: headless decouples only the frontend, while composable assembles the whole stack — storefront, search, CMS, checkout, payments, fulfillment — from independent best-of-breed vendors connected by APIs, usually on MACH principles (Microservices, API-first, Cloud-native, Headless). The rendering rules are the headless layer's job. Composable's own SEO risk is structural, not technical: because the stack is stitched together from vendors that don't coordinate with each other, no single team owns the full redirect map, canonical strategy, or URL structure. And every time you swap one vendor (search, CMS, checkout), you've quietly run a partial site migration Google was never told about — new URLs and facets without the redirects and self-referencing canonicals a real site move demands. The fix is ownership, not tooling: one owned URL-structure document every vendor conforms to, one shared redirect map, a named technical SEO owner with visibility across every vendor swap, and treating any URL-changing swap as a formal (if partial) migration. What composable commerce is Composable vs. headless — they're not the same Why it matters for SEO What composable commerce actually is Composable ⊃ headless — three decision layers The SEO risk unique to composable: nobody owns the whole URL graph Every vendor swap is a mini site migration Google doesn't know is happening A word on rendering — it's not composable's problem to solve The MACH vendor landscape briefly The \"composable is dead\" backlash is really an integration overhead backlash The practical checklist: keeping SEO coherent across a composable stack Where to go next AI summary Official documentation Quotes from the source Cross vendor SEO ownership checklist Is this vendor swap actually a site migration? Composable commerce myths that cost you traffic Monthly cross vendor SEO ownership review Frameworks for composable commerce SEO Surface, source, owner The seam risk model Vendor swap equals migration when URLs change Central truth, local adapters Composable commerce is an architecture strategy where a store is assembled from independent, best-of-breed vendor services — storefront, search, CMS, checkout, payments, fulfillment — each chosen separately and connected by APIs, usually built on","passages":["TL;DR — Composable commerce means you build your store out of separate, best of breed tools — one vendor for search, another for your CMS, another for checkout, another for payments — instead of buying one all in one platform.","It's a bigger idea than \"headless.\" Headless just separates the storefront from the backend; composable separates everything .","The SEO catch: with so many vendors each running a piece of the site, it's easy for nobody to own the full picture of your URLs, redirects, and canonical tags.","What composable commerce is For years, ecommerce meant buying one big platform that did everything — the storefront, the product catalog, search, checkout, payments, the works.","It's simple: one vendor, one team, one place where all the SEO settings live.","Instead of one platform, you pick the best tool for each job and connect them with APIs: maybe one vendor for site search, another for your content pages, another for checkout, another for payments.","You'll often hear it described with the acronym MACH — Microservices, API first, Cloud native, and Headless.","Those are the technical principles most composable stacks are built on."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/headless-ecommerce/composable-commerce/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/headless-ecommerce/composable-commerce/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Compression (Gzip, Brotli, Zstd)","desc":"How HTTP text compression works — Gzip vs Brotli vs Zstd, what Googlebot actually supports, how it feeds Core Web Vitals and crawler fetch limits, and how to enable and verify it by server. The web-performance deep dive on shrinking bytes on the wire.","snippetText":"Compression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they cross the network, negotiated per request via Accept-Encoding / Content-Encoding, with Vary: Accept-Encoding needed to keep cached variants straight. Brotli usually does better than Gzip on text (often cited around 15–20% smaller, but that's directional, not a guaranteed ratio) and is Google's stated preference when the client supports it; Gzip is the universal fallback; Zstd is a registered but not universally supported third codec, and Google's crawler docs don't state Zstd","href":"/technical-seo/web-performance/critical-rendering-path/compression/","slug":"compression","meta":"Educational","aliases":["compression","text compression","gzip","brotli","gzip vs brotli","content encoding","enable text compression","Compression","caching","critical-rendering-path","ttfb"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","critical-rendering-path"],"text":"compression web-performance technical-seo gzip brotli zstd content-encoding core-web-vitals Compression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they cross the network, negotiated per request via Accept-Encoding / Content-Encoding, with Vary: Accept-Encoding needed to keep cached variants straight. Brotli usually does better than Gzip on text (often cited around 15–20% smaller, but that's directional, not a guaranteed ratio) and is Google's stated preference when the client supports it; Gzip is the universal fallback; Zstd is a registered but not universally supported third codec, and Google's crawler docs don't state Zstd support for Googlebot. Googlebot explicitly supports gzip, deflate, and Brotli (br) — stated plainly in Google's current crawler docs, informally confirmed by Gary Illyes in 2020, and rooted in Google's 2008 'First date with the Googlebot' post. Compression isn't a ranking factor and doesn't guarantee a TTFB/LCP or Search improvement on its own; it reduces transfer size, which can help TTFB and LCP if that's actually your bottleneck, and it helps pages stay under Google's fetch limit (2 MB for HTML per Illyes' 2026 'Inside Googlebot' post). Don't blanket-exclude formats by extension alone — decide from MIME type and measured output; already-compressed formats (images, video, WOFF2, most PDFs) rarely benefit. Use higher compression for static/pre-compressed assets and a lower/mid-range level for dynamic content, benchmarked against your own traffic and CPU headroom — no single level is universally best. BREACH-style risk is scoped to responses that mix a secret with attacker-reflected content, not a reason to disable compression sitewide. And yes — the Sitemaps protocol explicitly allows gzip-compressed sitemaps. What compression is The two you need to know What compression is not What to compress — and what to skip Does it help SEO? What compression actually is Gzip vs Brotli vs Zstd Compression ratio Browser and crawler support When to still fall back to Gzip Does Google and Bing support Brotli and Gzip? The 2008 \"First date with the Googlebot\" post Gary Illyes' 2020 Brotli confirmation The current official crawler documentation The Bing documentation gap Why compression matters for performance and Core Web Vitals The causal chain state it precisely Compression and crawl effici","passages":["TL;DR — Compression shrinks your text files — HTML, CSS, JavaScript — before they're sent over the internet, so the browser downloads fewer bytes and the page loads faster assuming that's actually your bottleneck .","The two you'll hear about are Gzip works everywhere and Brotli usually smaller, and Google's preference — exactly how much smaller varies by file, so don't treat any one percentage as a promise.","If PageSpeed Insights ever told you to \"Enable text compression,\" this is the fix.","What compression is When someone loads your page, their browser has to download all the files that make it up.","Compression is a way to make those files smaller while they travel , then have the browser unpack them at the other end.","Nothing about the page changes for the visitor — they just get it faster.","The browser says, \"here's what I can unpack\" — it sends a header called listing the algorithms it understands like and .","The server picks one, compresses the file with it, and sends back a header saying which one it used."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/compression/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/compression/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Core Web Vitals Report (Google Search Console)","desc":"How Google Search Console's Core Web Vitals report works — CrUX field data grouped by device, status, and similar-URL clusters, why it won't match PageSpeed Insights, what 'No data available' means, and how to fix and validate issues.","snippetText":"The Core Web Vitals report is the Google Search Console report (under Experience) that shows how your indexed URLs perform on LCP, INP, and CLS using real-user field data from CrUX — not the metrics themselves, and no lab data. It groups URLs by device (separate Mobile/Desktop tabs), by status (Poor, Need improvement, Good), and by clusters of similar pages called URL groups, where the worst metric sets the group's status. It reflects a rolling 28-day, 75th-percentile window, so fixes take about a month to show up; diagnose faster in PageSpeed Insights. New or low-traffic sites see 'No data av","href":"/technical-seo/tools/search-engine-tools/google-search-console/core-web-vitals-report/","slug":"core-web-vitals-report","meta":"Educational","aliases":["core-web-vitals-report","Core Web Vitals report","GSC Core Web Vitals report","Search Console Core Web Vitals","core-web-vitals","crux","pagespeed-insights","performance-report"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"google-search-console core-web-vitals crux field-data url-groups reporting The Core Web Vitals report is the Google Search Console report (under Experience) that shows how your indexed URLs perform on LCP, INP, and CLS using real-user field data from CrUX — not the metrics themselves, and no lab data. It groups URLs by device (separate Mobile/Desktop tabs), by status (Poor, Need improvement, Good), and by clusters of similar pages called URL groups, where the worst metric sets the group's status. It reflects a rolling 28-day, 75th-percentile window, so fixes take about a month to show up; diagnose faster in PageSpeed Insights. New or low-traffic sites see 'No data available' because CrUX needs enough traffic to populate. It's for site-wide, template-level triage, not single-URL lookups. FID was removed from this report on March 12, 2024, when INP became a Core Web Vital — and GSC dropped it immediately, unlike PSI/CrUX's six-month grace period. What the Core Web Vitals report is Where the data comes from How the report is organized The thing most people get wrong It's a report, not a redefinition of the metrics Only indexed URLs, and only a sample Mobile and Desktop are independent datasets Status: worst metric wins URL groups — the core mechanic The privacy threshold and origin group fallback Why a \"Poor\" group can still contain fast pages Reading the report: chart vs. table Validating fixes: the Start Tracking workflow Core Web Vitals report vs. PageSpeed Insights \"No data available\" and low traffic sites FID is gone — what changed in March 2024 Whatever happened to the Page Experience report? Prioritizing and fixing what the report finds Why did my status change when I didn't touch anything? Does the report affect rankings? A quick note on Bing Where this fits AI summary Official documentation The Google Search Console report (under Experience) that shows how your indexed URLs perform on the Core Web Vitals — LCP, INP, and CLS — using real-user field data from CrUX, grouped by device, status, and clusters of similar-performing URLs. {/ tool rule claim: performance.core web vitals/article contract /} TL;DR — The Core Web Vitals report in Google Search Console shows how your pages perform for real visitors on Google's three speed and stability metrics LCP, INP, CLS . It's real world data from Chrome users, grouped into buckets of similar pages, and split in","passages":["{/ tool rule claim: performance.core web vitals/article contract /} TL;DR — The Core Web Vitals report in Google Search Console shows how your pages perform for real visitors on Google's three speed and stability metrics LCP, INP, CLS .","It's real world data from Chrome users, grouped into buckets of similar pages, and split into Mobile and Desktop tabs.","It's a site wide triage tool, not a page by page speed checker — and if you're a small or new site, it might show no data at all.","What the Core Web Vitals report is You'll find it in Google Search Console under the Experience section.","Google's own one line description: the report \"shows how your pages perform, based on real world usage data sometimes called field data .\" The important thing to get straight up front: this is a report, not the metrics themselves.","Core Web Vitals — LCP, INP, and CLS — are three measurements of how your page feels to a real visitor how fast the main content loads, how quickly the page responds to a tap, and how much things jump around while loading .","This article is about the report — the tool in Search Console that shows you those numbers and organizes them.","Where the data comes from The report doesn't run a speed test."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/core-web-vitals-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/core-web-vitals-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawl Demand","desc":"The \"want\" side of crawl budget — what makes Google want to crawl your pages (popularity, staleness, perceived inventory), how demand meets host-load capacity, and why you can't force it.","snippetText":"Crawl demand is the 'want' side of crawl budget — how much a search engine wants to crawl a site or URL, as opposed to how fast it can (that's crawl rate/capacity). Google names popularity (links/PageRank), staleness (how often a page changes), and perceived inventory (how many URLs Google thinks exist, junk included — 'the factor you can positively control the most') as significant general demand factors — not a closed three-item formula; Google also points to site size, update frequency, page quality, and how a site compares to similar ones. Site moves temporarily spike demand. Host load act","href":"/technical-seo/how-search-works/crawling/crawl-budget/crawl-demand/","slug":"crawl-demand","meta":"Educational","aliases":["crawl-demand","crawl demand","crawl demand vs crawl rate","increase crawl demand","perceived inventory","Crawl Demand","crawl-budget","crawl-rate"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling","crawl-budget"],"text":"crawl-demand technical-seo googlebot bingbot crawl-budget crawling Crawl demand is the 'want' side of crawl budget — how much a search engine wants to crawl a site or URL, as opposed to how fast it can (that's crawl rate/capacity). Google names popularity (links/PageRank), staleness (how often a page changes), and perceived inventory (how many URLs Google thinks exist, junk included — 'the factor you can positively control the most') as significant general demand factors — not a closed three-item formula; Google also points to site size, update frequency, page quality, and how a site compares to similar ones. Site moves temporarily spike demand. Host load acts as a ceiling on realized demand, not a driver — my synthesis: demand sets the priority order of URLs, capacity decides how far down that queue Googlebot gets. You can't set demand directly — you move its inputs by earning links, keeping content genuinely fresh, and cutting junk-URL inventory so quality signals feed back into the scheduler. Google is actually trying to crawl less overall while routing demand more precisely, so the real goal was never volume — it's correct prioritization. Most sites never need to manage this. What crawl demand is What makes Google want to crawl a page Why you can't just \"increase crawl demand\" Crawl demand is the \"want,\" crawl rate is the \"can\" The three demand inputs Popularity Staleness Perceived inventory the one you control most Site moves and other demand spikes How demand and host load interact: queue order vs. capacity gate You can't set demand directly — but the scheduler listens Google is trying to crawl less , not more Do you even have a demand problem? Crawl demand vs. rate vs. budget vs. frequency AI summary Official documentation Quotes from the source Is it a crawl demand problem — and should you care? Crawl demand myths and mistakes Runbook: \"Google isn't crawling my important pages, and my server is fine\" Crawl demand checklist Crawl demand — cheat sheet Tools for diagnosing crawl demand The importance × change × inventory framework Crawl demand is the 'want' side of crawl budget — how much a search engine wants to crawl a site or URL, driven by popularity, staleness, and perceived inventory (plus temporary spikes from site moves). It's distinct from crawl rate/capacity, the 'can' side. TL;DR — Crawl budget has two sides: how fast a search engine can fetc","passages":["TL;DR — Crawl budget has two sides: how fast a search engine can fetch your pages crawl rate and how much it wants to crawl demand .","Google wants to crawl a page more when it's popular lots of links , when it changes often, and when Google thinks the site is worth its time.","You can't push a button to raise demand — you earn it with links, genuine freshness, and by not burying your good pages under a pile of junk URLs.","What crawl demand is When people say \"crawl budget,\" they're really talking about two separate things squished together.","One is your server's ability to handle being crawled — how fast, how many pages at once.","The other is how much the search engine actually wants to crawl you in the first place.","Crawl rate is supply: how much crawling your site can support.","What makes Google want to crawl a page Google points to a handful of significant factors, not one exhaustive checklist."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/crawl-demand/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/crawl-demand/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Critical CSS","desc":"Critical CSS — extracting the above-the-fold styles, inlining them, and deferring the rest to speed up first paint. Why Google calls it advanced and optional, the real tradeoffs (lost caching, maintenance risk, race conditions), and how to tell whether CSS is even your bottleneck.","snippetText":"Critical CSS is a performance technique: extract the CSS needed to render a chosen above-the-fold view, inline it in the <head>, and defer the rest of the stylesheet asynchronously. It works because CSS is render-blocking by default — the browser won't paint until the CSSOM is built. There's no universal above-the-fold height (device, orientation, zoom, and page state all change it), so treat the split as a decision, not a fixed pixel cutoff. The single most important thing to get right: Google frames critical CSS as an advanced, optional technique, not default advice — its own docs say 'Most ","href":"/technical-seo/web-performance/critical-rendering-path/critical-css/","slug":"critical-css","meta":"Educational","aliases":["critical-css","critical css","inline critical css","extract critical css","above-the-fold css","Critical CSS","critical-rendering-path","render-blocking-resources"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","critical-rendering-path"],"text":"critical-css technical-seo web-performance render-blocking critical-rendering-path lcp Critical CSS is a performance technique: extract the CSS needed to render a chosen above-the-fold view, inline it in the <head>, and defer the rest of the stylesheet asynchronously. It works because CSS is render-blocking by default — the browser won't paint until the CSSOM is built. There's no universal above-the-fold height (device, orientation, zoom, and page state all change it), so treat the split as a decision, not a fixed pixel cutoff. The single most important thing to get right: Google frames critical CSS as an advanced, optional technique, not default advice — its own docs say 'Most sites should be able to achieve all of our recommended performance targets without implementing this technique.' The tradeoffs are real: inlined CSS isn't cached for repeat visits (second views can be slower), the critical/non-critical split silently breaks as templates or states change, a CSP style-src policy can block the inline block outright, and the preload/onload deferral can race or cause layout shift. Diagnose first — confirm CSS (not JavaScript or server response time) is actually your rendering bottleneck before you touch it. SEO impact is indirect, via Core Web Vitals/LCP, not a direct ranking signal. There's no Bing-specific guidance. This page nests under the critical rendering path hub. What critical CSS is The thing most people get wrong Does it help SEO? What critical CSS actually is How to implement it Google's actual position the accuracy spine The real tradeoffs Production landmines: CSP, state, and fonts How to diagnose whether you even need it A current 2026 gotcha Does critical CSS help SEO? What about Bing? Where this sits AI summary Official documentation Quotes from the source Should you implement critical CSS? Critical CSS — implementation checklist Critical CSS anti patterns Tools for critical CSS Diagnose critical CSS problems by symptom The page flashes unstyled content The initial viewport looks right but lower content breaks Critical CSS helps one template and hurts another Critical CSS is a performance technique that extracts the styles needed to render a chosen above-the-fold view, inlines them in the <head>, and defers the rest of the stylesheet. It speeds up first paint but is an advanced, optional optimization — Google says most sites don't need it ","passages":["TL;DR — Critical CSS is a speed trick: take just the styles needed for the part of the page people see first, paste those directly into the HTML, and load the rest of your stylesheet later.","It can make a page appear faster — but Google itself says most sites don't need it, and it has real downsides.","What critical CSS is When a browser loads a page, it won't draw anything on screen until it has read your CSS.","That's on purpose — otherwise the page would flash up unstyled and then jump around.","But it means a slow or bulky stylesheet can hold up the whole first paint.","Pull out just the CSS needed for the above the fold content the part visible before you scroll and put it straight into the page's .","Now the browser has what it needs to paint the top of the page without waiting for a separate file.","Load the full stylesheet asynchronously , so it doesn't block that first paint."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/critical-css/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/critical-css/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Discontinued Product Pages","desc":"What to do with a product page when the item is gone for good: 301 to a genuinely similar replacement, 301 to the closest relevant category if it earned links, or 404/410 it if it didn't — plus when a Discontinued tombstone page is worth keeping. Backed by Google's own guidance, and kept distinct from temporary out-of-stock handling.","snippetText":"A discontinued product is gone for good — that's what separates it from a temporary out-of-stock item, and it changes the whole SEO answer. The decision is end-of-life, driven by whether the URL is worth keeping alive. Genuinely similar replacement exists: 301 the old URL to it, which can carry link value forward (Google doesn't publish a transfer percentage or guarantee the outcome). No replacement but the page earned links or traffic: 301 to the closest relevant page (usually the parent category, not the homepage). No replacement and nothing worth saving: 404 or 410 — 404s are not a penalty,","href":"/ecommerce-seo/product-pages/discontinued-products/","slug":"discontinued-products","meta":"Educational","aliases":["discontinued-products","discontinued products SEO","discontinued product pages","discontinued product page SEO","how to handle discontinued products","Discontinued Products","out-of-stock-products","301-redirect","soft-404-errors"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","product-pages"],"text":"ecommerce-seo discontinued-products product-pages 301-redirect 410-gone soft-404 structured-data A discontinued product is gone for good — that's what separates it from a temporary out-of-stock item, and it changes the whole SEO answer. The decision is end-of-life, driven by whether the URL is worth keeping alive. Genuinely similar replacement exists: 301 the old URL to it, which can carry link value forward (Google doesn't publish a transfer percentage or guarantee the outcome). No replacement but the page earned links or traffic: 301 to the closest relevant page (usually the parent category, not the homepage). No replacement and nothing worth saving: 404 or 410 — 404s are not a penalty, and Gary Illyes and John Mueller have both said so. Real reference value: keep the page live at 200 as a Discontinued tombstone, with substantive content and schema availability set to Discontinued — that markup is vocabulary, not a guarantee of a rich result or Merchant listing. Canonical and noindex are separate tools, not lifecycle decisions: canonical only picks among duplicates, and noindex only takes effect after Google has already crawled the page. A single discontinued variant needs its own check — confirm whether sibling variants are still active before you redirect or remove it. The two mistakes that actually cost you: 404ing a backlinked page (equity gone for nothing) and redirecting to an irrelevant page like the homepage (Google reads it as a soft 404, so equity is gone anyway). Use schema.org Discontinued, not OutOfStock — Discontinued means never returning. Discontinued is not the same as out of stock The page still has value — don't just delete it The simple decision The one trap Frame it as end of life, not availability Branch 1 — similar replacement exists: 301 Branch 2 — no replacement, but the page has equity: 301 to relevance Branch 3 — no replacement, nothing worth saving: 404/410 Branch 4 — keep it live as a Discontinued tombstone The soft 404 trap The link equity math — find what's worth rescuing before you delete A note on Merchant Center Canonical and noindex don't make this decision for you Discontinued variants vs. a discontinued product family Where this sits in the cluster AI summary Official documentation Quotes from the source Which treatment does this discontinued product get? What not to do Worked examples Discontinued product checklist Dis","passages":["TL;DR — A discontinued product is one you'll never sell again — that's the key difference from something that's just temporarily sold out.","Before you delete the page, ask two things: do you sell something similar now, and did the page earn any links or traffic?","If you have a similar replacement, redirect the old page to it.","If you don't, but the page was popular, redirect it to the closest matching category.","Only let a page truly disappear return \"not found\" if it's gone for good and nothing links to it.","The big mistake is deleting a page that earned links and rankings — you throw all that away.","Discontinued is not the same as out of stock These two get lumped together, but they need opposite treatment: Out of stock means the product is unavailable right now but coming back.","You keep that page live and just mark it unavailable, so Google notices the moment it returns."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/product-pages/discontinued-products/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/discontinued-products/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Discover Report (Google Search Console)","desc":"How the Discover report in Google Search Console works — impressions, clicks, and CTR by page, country, date, and appearance type, why the tab might not appear, and how it differs from the Google News report.","snippetText":"The Discover report — Google's own label is 'Performance report (Discover)' — is the Search Console tab that shows how your content performed in the Google Discover feed: impressions, clicks, and average CTR, broken out by page, country, date, and Discover appearance type (AMP articles, News Showcase, Web Stories, Videos). Get four things right and most confusion clears up: the tab only appears once your property crosses a minimum Discover-impression threshold, so no traffic means no tab (that's normal, not broken); there's no query dimension and no device dimension because Discover isn't quer","href":"/technical-seo/tools/search-engine-tools/google-search-console/discover-report/","slug":"discover-report","meta":"Educational","aliases":["discover-report","Discover report","Discover performance report","Discover report in Search Console","Performance report Discover","Discover Report","google-discover-seo","performance-report","google-search-console"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"google-search-console google-discover performance-report news-seo reporting The Discover report — Google's own label is 'Performance report (Discover)' — is the Search Console tab that shows how your content performed in the Google Discover feed: impressions, clicks, and average CTR, broken out by page, country, date, and Discover appearance type (AMP articles, News Showcase, Web Stories, Videos). Get four things right and most confusion clears up: the tab only appears once your property crosses a minimum Discover-impression threshold, so no traffic means no tab (that's normal, not broken); there's no query dimension and no device dimension because Discover isn't query-driven; page metrics are assigned to the canonical URL, not the clicked URL; and it is a completely different report from the Google News report, which covers news.google.com and the News apps only. The same data ladder as Web Search applies — 16-month window, 1,000-row UI cap, 25,000-row API cap, BigQuery bulk export. Discover impressions are counted more strictly than Search impressions (must scroll into view, one per session), and the chart is volatile by design — though Google did have two real Discover reporting bugs in 2026, so a sharp move is worth cross-checking against known incidents. What this report is The three numbers it shows Why you might not see a Discover tab Discover ≠ Google News Where it lives and the visibility gate The three metrics — and why they're counted more strictly Appearance types — the Discover only dimension Dimensions, filters, and what's deliberately missing The data ladder: 16 months, 1,000 rows, API, BigQuery Discover vs. Google News vs. the News tab in Search Reading the chart: normal volatility vs. an actual bug What's new: Gen AI performance reporting in Discover 2026 How this connects to Discover SEO Bing note AI summary Official documentation Quotes from the source Which path should I take? Common mistakes with the Discover report Reading the Discover report — checklist Discover report — cheat sheet Scripts & snippets Tools for working with Discover data Resources worth your time The Discover report — Google's own label is 'Performance report (Discover)' — is a separate tab in Google Search Console's Performance section showing how your content performed in the Google Discover feed: impressions, clicks, and average CTR by page, country, date, and appea","passages":["TL;DR — The Discover report in Google Search Console shows how your content did in the Google Discover feed — that personalized stream of articles you see in the Google app and on Chrome's New Tab page.","It tracks three numbers: impressions how often your content was shown , clicks , and CTR .","If you don't see a Discover tab at all, that's usually not a bug — it only appears once your site gets enough Discover traffic.","What this report is Google Discover is the feed of articles and videos Google surfaces to people based on their interests — no search query involved, it just gets pushed to them.","If your content shows up there, the Discover report is where Search Console lets you see how it did.","Google's own name for it is the \"Performance report Discover .\" \"Discover report\" is just the common shorthand.","You'll find it in the left menu of Search Console under Performance , as a separate tab next to Search results that's regular Google Search and Google News .","Google describes it plainly: \"The Performance report for Discover shows important metrics about how your site performs on Discover.\" The three numbers it shows Impressions — how many times your content was seen in the Discover feed."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/discover-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/discover-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Duplicate Product Descriptions","desc":"Manufacturer descriptions copied across every retailer are the most common duplicate content problem in ecommerce. Here's why they don't get you penalized, what they actually cost you, and how to decide which product pages deserve unique copy.","snippetText":"Duplicate product descriptions — usually the manufacturer's copy reused by every retailer, plus your own boilerplate repeated across SKUs — are the single most common duplicate content problem in ecommerce. The accuracy spine: there is NO duplicate content penalty (Google and Bing both say so). What actually happens is that when the same text is on dozens of sites, none of it is distinctive, so Google clusters the near-duplicates and ranks whoever has the strongest other signals — usually the manufacturer or a big marketplace, not you. The fix isn't fear; it's earning uniqueness where it pays:","href":"/ecommerce-seo/product-pages/duplicate-product-descriptions/","slug":"duplicate-product-descriptions","meta":"Educational","aliases":["duplicate-product-descriptions","duplicate product descriptions","manufacturer product descriptions","duplicate product content","copied product descriptions","Duplicate Product Descriptions","Duplicate Content","Product Page SEO","Canonicalization","Category Page SEO"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","product-pages"],"text":"duplicate-product-descriptions ecommerce-seo duplicate-content product-page-seo canonicalization Duplicate product descriptions — usually the manufacturer's copy reused by every retailer, plus your own boilerplate repeated across SKUs — are the single most common duplicate content problem in ecommerce. The accuracy spine: there is NO duplicate content penalty (Google and Bing both say so). What actually happens is that when the same text is on dozens of sites, none of it is distinctive, so Google clusters the near-duplicates and ranks whoever has the strongest other signals — usually the manufacturer or a big marketplace, not you. The fix isn't fear; it's earning uniqueness where it pays: write original copy for your top SKUs, add what a spec sheet can't (use cases, fit notes, FAQs, real customer reviews), and use canonical tags to consolidate genuine duplicates on your own site. Boilerplate specs are fine — Mueller: a small amount of duplicated text is 'absolutely no problem.' What \"duplicate product descriptions\" means The good news: there's no penalty The real problem: nothing to prefer What to do about it Why this is the ecommerce duplicate content problem The accuracy spine: no penalty, a signal problem The mechanism: clustering, and who wins the cluster Manufacturer descriptions — the core case What \"unique enough\" actually means Prioritize: which SKUs earn unique copy Your own duplicates: canonical, don't rewrite Don't overcorrect into keyword stuffing or AI slop How to find and monitor it Where this sits AI summary Official documentation Quotes from the source Which product pages should I rewrite? Is my duplicate a problem at all? Duplicate product description checklist The mental models Duplicate product descriptions — cheat sheet The playbook: fixing a catalog full of manufacturer copy What not to do The same product copy — usually the manufacturer's — reused across many retailers' pages and often across your own site. There's no penalty for it, but it's a weak signal that dilutes uniqueness and hands the ranking to whoever else has the same text plus more authority. TL;DR — Duplicate product descriptions are what you get when every store selling the same item pastes in the manufacturer's description — so the exact same paragraph shows up on dozens of sites. It won't get you penalized there's no such thing as a \"duplicate content penalty\" . But whe","passages":["TL;DR — Duplicate product descriptions are what you get when every store selling the same item pastes in the manufacturer's description — so the exact same paragraph shows up on dozens of sites.","It won't get you penalized there's no such thing as a \"duplicate content penalty\" .","But when your page says nothing different from everyone else's, Google usually ranks whoever has the bigger, more trusted site — often the manufacturer or a marketplace — instead of you.","The fix is to write your own copy for the products that matter most.","What \"duplicate product descriptions\" means When a store sells a product it didn't make, it usually gets a description handed to it — a block of marketing copy from the manufacturer or supplier.","The easy thing to do is paste that straight onto your product page.","Now the same description lives on your page, your competitor's page, the manufacturer's own page, and a giant marketplace's page all at once.","It also happens inside your own store — for example, when a shirt comes in eight colors and all eight pages carry the identical paragraph, or when you copy paste a template across similar SKUs."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/product-pages/duplicate-product-descriptions/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/duplicate-product-descriptions/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"eBay SEO","desc":"How to rank on eBay — Best Match vs. the Cassini search engine, what Cassini actually optimizes for, eBay's own stated ranking factors (no invented percentages), the myths worth debunking, and the technical-SEO layer for eBay listing pages in Google and Bing. Nested under Marketplace SEO.","snippetText":"eBay SEO is optimizing listings to rank in eBay's own search — the default Best Match sort, powered since ~2013 by the Cassini engine (which replaced Voyager). Cassini is a separate ranking system from Google, tuned to predict a completed, satisfying transaction, not pure keyword relevance. eBay's own stated factors: how well the listing matches the query, item popularity, price, listing quality and completeness, listing terms (returns, handling time), and seller track record. The myths worth killing: 'end-and-relist boosts ranking' (eBay's own Senior Director of Search calls it a myth that hu","href":"/ecommerce-seo/marketplace-seo/ebay-seo/","slug":"ebay-seo","meta":"Educational","aliases":["eBay SEO","ebay-seo","eBay Cassini","Best Match algorithm","rank on eBay","eBay search ranking","marketplace-seo","category-page-seo","product-page-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","marketplace-seo"],"text":"ebay-seo marketplace-seo cassini best-match ecommerce-seo eBay SEO is optimizing listings to rank in eBay's own search — the default Best Match sort, powered since ~2013 by the Cassini engine (which replaced Voyager). Cassini is a separate ranking system from Google, tuned to predict a completed, satisfying transaction, not pure keyword relevance. eBay's own stated factors: how well the listing matches the query, item popularity, price, listing quality and completeness, listing terms (returns, handling time), and seller track record. The myths worth killing: 'end-and-relist boosts ranking' (eBay's own Senior Director of Search calls it a myth that hurts long-term performance), keyword stuffing, listings 'going stale' with age, and the fake '40-50% relevance / 30-40% seller / 20-30% quality' weighting that gets copied across vendor blogs with no eBay source. The technical layer most guides miss: eBay listing pages are ordinary crawlable web pages subject to duplicate-content and thin-content rules, and product identifiers (GTIN/MPN/brand) improve visibility both on eBay and in Google/Bing. eBay has its own search engine The basics that move you up The thing most people get wrong Best Match vs. Cassini, defined precisely What Cassini is actually optimizing for eBay's own stated ranking factors no invented percentages The practical optimization checklist, organized by eBay's own categories The technical SEO layer most guides miss What's changing in 2025 2026 AI summary Official documentation Quotes from the source eBay SEO anti patterns eBay listing optimization checklist eBay SEO cheat sheet Frameworks for diagnosing eBay search performance Match → offer → trust The continuity rule Two search engines, two scoreboards Measure the Best Match funnel Search impressions by listing Click through rate from eBay search Sales conversion and item popularity Seller service health eBay SEO is the practice of optimizing eBay listings — titles, item specifics, photos, price, shipping terms, and seller performance — to rank higher in eBay's own search engine (Cassini) under its default Best Match sort, and secondarily to help those public listing pages rank in Google and Bing. Cassini is a separate ranking system from Google, tuned to predict a completed, satisfying transaction rather than pure keyword relevance. TL;DR — eBay SEO is getting your listings to show up higher in","passages":["TL;DR — eBay SEO is getting your listings to show up higher in eBay's own search results.","eBay's default sort is called Best Match , and it's powered by eBay's search engine, Cassini .","This is not Google — Cassini is trying to guess which listing is most likely to sell and make the buyer happy , so it cares about your price, shipping, returns, photos, and seller reputation, not just your keywords.","eBay has its own search engine When you sell on eBay, your listing competes inside eBay's search box — a completely different system from ranking a website in Google.","eBay's default sort order is called Best Match , and the engine behind it is called Cassini .","They're not the same thing: Best Match is the sort , Cassini is the engine that produces it.","The big idea: Google mostly ranks pages on relevance and authority.","eBay is trying to maximize sales , so Best Match leans on things that predict a purchase — a good price, clear shipping and return terms, quality photos, and a seller with a clean track record — alongside how well your title matches what the buyer typed."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/marketplace-seo/ebay-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/marketplace-seo/ebay-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ecommerce Site Search SEO","desc":"The search box on your store is a conversion goldmine and a crawling liability at the same time. This is how to keep internal search results pages out of Google's index without breaking crawl budget, why robots.txt beats noindex here, when to turn a real search query into an indexable landing page, and how to mine your on-site search logs for keyword and content ideas.","snippetText":"Ecommerce site search is two topics wearing one name. The feature — the on-site search box — is a high-intent conversion tool whose query logs are a goldmine for keyword and content ideas. The results pages it generates (/search?q=...) are the liability: they're a near-infinite space of thin, near-duplicate, often-empty URLs that Google files right alongside faceted navigation and session identifiers as a top category of low-value-add URLs that 'drain crawl activity from pages that do actually have value.' The accuracy spine: for keeping these out of the index, robots.txt beats noindex — Googl","href":"/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-search/","slug":"ecommerce-site-search","meta":"Educational","aliases":["ecommerce-site-search","ecommerce site search","internal site search","on-site search SEO","internal search results pages","site search SEO","Ecommerce Site Search","ecommerce-seo","faceted-navigation","crawl-budget","category-page-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"ecommerce-site-search ecommerce-seo internal-search faceted-navigation crawl-budget index-bloat Ecommerce site search is two topics wearing one name. The feature — the on-site search box — is a high-intent conversion tool whose query logs are a goldmine for keyword and content ideas. The results pages it generates (/search?q=...) are the liability: they're a near-infinite space of thin, near-duplicate, often-empty URLs that Google files right alongside faceted navigation and session identifiers as a top category of low-value-add URLs that 'drain crawl activity from pages that do actually have value.' The accuracy spine: for keeping these out of the index, robots.txt beats noindex — Google says 'don't use noindex, as Google will still request, but then drop the page… wasting crawling time,' so block search-results URLs in robots.txt so bots never spend budget on them. Never pair robots.txt disallow with noindex on the same URL — a blocked page can't be read, so the noindex is never seen. Return real HTTP 404s for empty result sets, not soft 404s. And when a specific query has genuine, repeated search demand, don't index the raw search URL — build a proper category or landing page for it instead. What \"site search\" means here Why the search box is good Why the search results pages are a problem The simple fix The one exception worth knowing Two jobs that don't overlap Why search results pages are a crawl liability robots.txt vs. noindex — get this right Empty results: real 404s, not soft 404s The one time you do want an indexable page Where this sits AI summary Official documentation Quotes from the source Which control for a search results URL? Ecommerce site search SEO checklist The mental models Ways to get site search SEO wrong Ecommerce site search — cheat sheet Tools for ecommerce site search SEO Common internal search SEO problems Search URLs remain indexed after a robots.txt block Zero result searches appear as soft 404s Googlebot keeps crawling new query combinations Ecommerce site search is the on-site search box that lets shoppers query a store's catalog directly. For SEO it's a two-sided topic: the feature itself is a conversion tool, but the results pages it generates are a classic source of crawl waste, index bloat, and near-duplicate URLs that should usually be kept out of Google's index. TL;DR — Your store has a search box, and it's actually tw","passages":["TL;DR — Your store has a search box, and it's actually two separate SEO topics.","The box itself is great — shoppers who use it are often close to buying, and the things they type are a free list of what your customers actually want.","The pages the box creates the web addresses are the problem: they're thin, they repeat each other, and there can be an endless number of them.","The main job is to keep those search result web addresses out of Google while still using the search box — and everything shoppers type into it — to your advantage.","What \"site search\" means here There are two kinds of \"search\" that get tangled up, so let's separate them: Google or Bing search — the search engine out on the web that sends people to your store.","Site search / internal search — the little search box on your store that lets a shopper look through your own products.","When a shopper types \"waterproof boots\" into your store's search box, most sites create a new web address for that results page — something like .","Why the search box is good Shoppers who use your search box are usually more serious than shoppers who just browse — they've told you exactly what they want."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-search/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-search/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ecommerce XML Sitemaps","desc":"Generic sitemap advice breaks down at catalog scale. This is how to segment an ecommerce sitemap by type, stay under the 50,000-URL/50MB limits with a sitemap index, decide what happens to out-of-stock and discontinued product URLs, keep lastmod honest as inventory turns over daily, and pair sitemaps with IndexNow — plus why splitting by category is for monitoring, not crawl budget.","snippetText":"An ecommerce XML sitemap lists the canonical URLs a store wants crawled, split by content type (products, categories, brands, static pages) under one sitemap index. The hard limits you design around: 50,000 URLs / 50MB per file, up to 50,000 files per index. Segmentation is for monitoring in Search Console and Bing Webmaster Tools — not a crawl-budget or ranking lever (Mueller). Only include canonical, indexable, 200-status URLs; keep lastmod honest to the last significant change and ignore priority/changefreq (Google ignores both). The differentiator most guides skip is out-of-stock and disco","href":"/ecommerce-seo/architecture-and-crawl-control/ecommerce-sitemap/","slug":"ecommerce-sitemap","meta":"Educational","aliases":["ecommerce-sitemap","ecommerce sitemap","ecommerce XML sitemap","product sitemap","sitemap index","Ecommerce XML Sitemap","ecommerce-seo","category-page-seo","crawl-budget","faceted-navigation","indexnow"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"ecommerce-sitemap ecommerce-seo xml-sitemap crawl-budget indexnow out-of-stock An ecommerce XML sitemap lists the canonical URLs a store wants crawled, split by content type (products, categories, brands, static pages) under one sitemap index. The hard limits you design around: 50,000 URLs / 50MB per file, up to 50,000 files per index. Segmentation is for monitoring in Search Console and Bing Webmaster Tools — not a crawl-budget or ranking lever (Mueller). Only include canonical, indexable, 200-status URLs; keep lastmod honest to the last significant change and ignore priority/changefreq (Google ignores both). The differentiator most guides skip is out-of-stock and discontinued products: handle them with a documented decision tree (permanent vs. temporary vs. unknown) and sync sitemap removal with internal-link cleanup, not blanket 404s. Automate generation so the file never goes stale, and pair lastmod with IndexNow for fast price/stock changes. What an XML sitemap is Why ecommerce sitemaps are different How to split it up What to put in it — and what to leave out The out of stock question Why generic sitemap advice breaks at catalog scale The hard limits you're designing around Segmentation strategy — and what it's actually for What belongs in the sitemap — and what doesn't The out of stock and discontinued product decision tree Update frequency, , and automation Ignore and Monitoring and diagnosis Enterprise scale architecture — a worked shape Where this sits AI summary Official documentation Quotes from the source Should this product URL be in the sitemap? Ecommerce sitemap checklist The mental models Ecommerce sitemap — cheat sheet Worked examples Tools for ecommerce sitemaps An ecommerce XML sitemap is a machine-readable file (or set of files referenced by a sitemap index) listing the canonical URLs an online store wants crawled — usually split by content type (products, categories, brands, static pages) so a large, fast-changing catalog can be discovered and monitored more efficiently than through internal links alone. {/ tool rule claim: sitemap.xml validity/article contract /} TL;DR — An XML sitemap is a list of your web addresses that you hand directly to search engines so they can find your pages. For a store with thousands of products, one big list gets unwieldy, so you split it into separate files — one for products, one for categories, and so o","passages":["{/ tool rule claim: sitemap.xml validity/article contract /} TL;DR — An XML sitemap is a list of your web addresses that you hand directly to search engines so they can find your pages.","For a store with thousands of products, one big list gets unwieldy, so you split it into separate files — one for products, one for categories, and so on — all pointed to by a single index file.","The rules that matter most: only list pages you actually want in Google, keep the list fresh automatically, and have a clear plan for what happens to a product's link when it goes out of stock or gets discontinued.","What an XML sitemap is Search engines find your pages two ways: by following links, and by reading a sitemap — a file where you simply list the web addresses URLs you want them to know about.","An XML sitemap is that list, written in a format built for machines rather than people.","On an ecommerce store with thousands or millions of products, that's where the interesting problems start.","Why ecommerce sitemaps are different A store's catalog is big and it changes constantly — products sell out, come back, get discontinued, and get added every day.","That creates three practical headaches a normal sitemap guide never has to deal with: Size."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/ecommerce-sitemap/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/ecommerce-sitemap/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Edge A/B Testing SEO","desc":"How to run A/B and multivariate tests at the CDN/edge layer (Cloudflare Workers, Akamai, Fastly, Optimizely/VWO) without tripping cloaking, duplicate-content, or crawl-budget problems — the SEO risks unique to testing at the edge, and the fixes.","snippetText":"Edge A/B testing runs split tests at the CDN layer (Cloudflare Workers, Akamai EdgeWorkers, Fastly, Optimizely/VWO edge) so variant HTML or redirects are served before the request hits your origin. Because search engines get real server-rendered HTML — not a client-side JS swap — it's much safer for SEO than client-side testing. But three risks are specific to the edge: cloaking-by-inconsistency (Googlebot generally doesn't hold cookies, so cookie-based bucketing can show it a fresh random variant on every crawl), duplicate-content/canonical confusion when a test redirects to a variant URL, an","href":"/technical-seo/edge-seo/edge-ab-testing/","slug":"edge-ab-testing","meta":"Educational","aliases":["edge-ab-testing","edge A/B testing","SEO split testing","SEO A/B testing","edge split testing","A/B testing at the edge","server-side SEO testing","Edge A/B Testing","edge-seo","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","edge-seo"],"text":"edge-ab-testing edge-seo ab-testing cloudflare-workers cloaking technical-seo Edge A/B testing runs split tests at the CDN layer (Cloudflare Workers, Akamai EdgeWorkers, Fastly, Optimizely/VWO edge) so variant HTML or redirects are served before the request hits your origin. Because search engines get real server-rendered HTML — not a client-side JS swap — it's much safer for SEO than client-side testing. But three risks are specific to the edge: cloaking-by-inconsistency (Googlebot generally doesn't hold cookies, so cookie-based bucketing can show it a fresh random variant on every crawl), duplicate-content/canonical confusion when a test redirects to a variant URL, and crawl-budget waste that compounds with multivariate tests. Google's actual line is: testing is fine, cloaking is not. The fixes: make bot/no-cookie traffic deterministic (always the same variant per URL), canonical any variant URL back to the control, use a 302 not a 301 while the test runs, and remove the test as soon as you pick a winner. Serving bots a UA-detected 'control' is only safe if that control is genuinely what you want indexed. What edge A/B testing is Why the edge is a safer place to test for SEO The one rule: don't show Google something different from people What's actually different about testing at the edge Google's actual stance: testing is fine, cloaking is not The two edge testing patterns and their different risks Pattern 1 — same URL HTML rewritten at the edge Pattern 2 — an edge redirect to a variant URL Fixing Pattern 1: make crawlers deterministic Fixing Pattern 2: canonical + redirect discipline Crawl budget: the multivariate multiplication problem \"Just serve bots the control variant\" — shortcut or trap? How long can you run an edge test? Bing's guidance is thinner — default to Google's Where this sits AI summary Which edge test pattern are you running — and what's your fix? Official documentation Quotes from the source Edge A/B testing SEO checklist The mental models Edge A/B testing — cheat sheet Edge testing myths and mistakes to avoid See which variant a crawler actually gets Edge A/B testing is running split tests (A/B or multivariate) at the CDN/edge layer — Cloudflare Workers, Akamai EdgeWorkers, Fastly Compute — instead of on the origin server or in client-side JavaScript. Variant assignment happens before the response is built, usually via a cookie. Done w","passages":["TL;DR — Edge A/B testing means running a split test on your CDN — the network that sits in front of your site — instead of in the browser or on your own server.","A little script at the edge decides which version of a page each visitor gets, before the page reaches them.","For SEO that's actually good news: Google sees real HTML, not a JavaScript swap.","The one thing to get right is consistency — don't let Google see a different version than your users, and don't leave the test running forever.","Testing is fine; showing Google something different from people is cloaking, and that's against the rules.","What edge A/B testing is Edge A/B testing assigns and modifies variants at the delivery layer rather than requiring the origin application to render every variation.","Google permits website testing but warns against cloaking and recommends temporary, controlled experiments.","An A/B test shows some visitors version A of a page and others version B, so you can measure which one performs better."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/edge-seo/edge-ab-testing/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/edge-seo/edge-ab-testing/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Edge Redirects","desc":"How to implement 301/302 redirects at the CDN/edge layer — Cloudflare Bulk Redirects and Workers, Akamai, Fastly VCL, Vercel, Netlify, and Lambda@Edge — why teams do it, the chain/loop risk when edge rules stack on origin redirects, correct status codes, and how to test with curl -I and DevTools. From Patrick Stox.","snippetText":"An edge redirect is a 301/302 (or 307/308) executed at the CDN layer — Cloudflare, Akamai, Fastly, Vercel, Netlify, or Lambda@Edge — before the request reaches your origin. Teams reach for them because they ship in minutes with no code deploy, keep working when the old origin is being decommissioned mid-migration, work across multiple origins during a consolidation, and restore redirect control on locked-down platforms. For Google's redirect interpretation, an edge-generated 301 can carry the same status code and Location header as one from the origin — but that bounded equivalence doesn't ext","href":"/technical-seo/edge-seo/edge-redirects/","slug":"edge-redirects","meta":"Educational","aliases":["edge-redirects","edge redirects","redirects at the edge","CDN redirects","Cloudflare bulk redirects","edge redirect","Edge Redirects","edge-seo","redirect","redirect-chain","redirect-loop","301-redirect","javascript-redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","edge-seo"],"text":"edge-redirects edge-seo cloudflare cdn redirects technical-seo An edge redirect is a 301/302 (or 307/308) executed at the CDN layer — Cloudflare, Akamai, Fastly, Vercel, Netlify, or Lambda@Edge — before the request reaches your origin. Teams reach for them because they ship in minutes with no code deploy, keep working when the old origin is being decommissioned mid-migration, work across multiple origins during a consolidation, and restore redirect control on locked-down platforms. For Google's redirect interpretation, an edge-generated 301 can carry the same status code and Location header as one from the origin — but that bounded equivalence doesn't extend to identical caching, security, latency, routing, propagation speed, or logs, and no evidence shows moving an otherwise-equivalent redirect to the edge automatically improves rankings or crawl budget. The status-code rules don't change either — 301/308 for permanent, 302/307 for temporary. The edge-specific trap is stacking: an edge rule redirecting A→B while a surviving origin rule redirects B→C creates an invisible two-layer chain (or loop) neither admin can see from their own dashboard, and a CDN security rule can fire before the redirect phase and eat the redirect entirely — that rule order is vendor-, product-, and configuration-specific, so verify your own deployed phase graph rather than assume it. The fix is one source of truth — replace the old layer, don't stack on it — and verifying with real GET/non-GET requests, curl -I, DevTools, and GSC URL Inspection rather than trusting the dashboard or a single HEAD probe. What an edge redirect is Why people do it at the edge Does Google care that it's at the edge? The one beginner mistake to avoid What \"at the edge\" actually means Why teams move redirects to the edge Choosing the right status code at the edge The chain/loop risk unique to edge + origin stacking The stacking pattern WAF before redirect: your security rules can eat the redirect The classic edge specific loop: SSL mode vs. origin HTTPS redirect The fix: one source of truth, replace don't stack Platform by platform mechanics Conditional redirects: cache keys, forwarded headers, and open redirect risk Testing and verifying edge redirects Common myths AI summary Official documentation Quotes from the source Should you do this redirect at the edge? Edge redirect deployment checklist Edge redi","passages":["TL;DR — An edge redirect is a normal 301 or 302 redirect, but instead of living in your website's code or server config, it lives on your CDN — the network like Cloudflare that sits in front of your site.","The redirect fires at the CDN before the request ever reaches your real server, so you can ship it in minutes with no code deploy, and it keeps working even while you're moving to a new server.","For Google's purposes, the redirect itself works like any other server side redirect — same status code, same header.","That doesn't mean everything about it is identical to an origin redirect caching, security rules, and how fast it reaches every visitor can all differ , but the part Google reads is the same.","The one thing to watch: don't leave an old redirect running on your server and add a new one at the edge for the same URL — you'll accidentally chain them.","What an edge redirect is An edge redirect is still an HTTP redirect; \"edge\" describes where the response is generated.","Google evaluates the returned redirect response and target rather than awarding a special benefit for CDN execution.","Most websites sit behind a CDN content delivery network — a global network of servers that sits between your real server the \"origin\" and the outside world, and serves your site quickly from a location near each visitor."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/edge-seo/edge-redirects/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/edge-seo/edge-redirects/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Building an Enterprise SEO Team","desc":"How to structure an enterprise SEO team — centralized vs. decentralized vs. hub-and-spoke models, the core roles (technical, content, analytics, outreach, engineering liaison), where the team should sit, and how to scale it honestly. No Google-blessed org chart exists; this is practitioner territory.","snippetText":"Building an enterprise SEO team is org design, not algorithm work — there's no Google or Bing document that defines a 'correct' team structure, so everything here is practitioner experience. The field converges on three models: centralized (one team serves everyone; consistent but a bottleneck), decentralized (specialists embedded in business units; fast but fragmented), and hub-and-spoke/federated (a central hub sets standards while embedded spokes execute; the pragmatic default for large orgs). Staff around five core roles — technical SEO, content, analytics/data, outreach/PR, and an enginee","href":"/enterprise-seo/strategy-and-operations/enterprise-seo-team/","slug":"enterprise-seo-team","meta":"Educational","aliases":["enterprise-seo-team","enterprise SEO team","enterprise SEO team structure","how to build an enterprise SEO team","SEO team structure","SEO org design","Enterprise SEO Team","enterprise-seo","enterprise-seo-audit","agile-seo"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","strategy-and-operations"],"text":"enterprise-seo-team enterprise-seo team-structure org-design hiring seo-management Building an enterprise SEO team is org design, not algorithm work — there's no Google or Bing document that defines a 'correct' team structure, so everything here is practitioner experience. The field converges on three models: centralized (one team serves everyone; consistent but a bottleneck), decentralized (specialists embedded in business units; fast but fragmented), and hub-and-spoke/federated (a central hub sets standards while embedded spokes execute; the pragmatic default for large orgs). Staff around five core roles — technical SEO, content, analytics/data, outreach/PR, and an engineering liaison — and let the team plug into engineering's actual sprint and ticket process rather than a side spreadsheet. Where the team sits (Marketing, Product, Development, Analytics) has no right answer; it depends on the company. Headcount has no verified formula, so ignore precise FTE-by-revenue tables, start small, and treat any ratio as one practitioner's rule of thumb. Because enterprise teams always run with far fewer SEOs than the site's size implies, training other teams and finding internal evangelists — and giving them public credit — is the real scaling lever. What an enterprise SEO team is The three shapes a team can take The core roles The thing most people get wrong There is no official team structure The three org models Where the team should sit The core roles Plugging into engineering's process Headcount, honestly Training and evangelism is the real scaling lever Using agencies to fill gaps A concrete picture AI summary Official documentation Quotes from the source Which model should you pick? Enterprise SEO team checklist The mental models Enterprise SEO team cheat sheet What these structures look like in practice Enterprise SEO team design mistakes Assume a bigger team is automatically better Use an FTE by revenue table as a staffing formula An enterprise SEO team is the group of people, roles, and reporting lines a large organization uses to run SEO at scale — usually organized as a centralized, decentralized, or hub-and-spoke (federated) model spanning technical, content, analytics, outreach, and engineering-liaison roles. TL;DR — An enterprise SEO team is the group of people and roles a big company uses to run SEO across a big site. There's no official Google or B","passages":["TL;DR — An enterprise SEO team is the group of people and roles a big company uses to run SEO across a big site.","There's no official Google or Bing \"correct\" way to build one — it's all practitioner experience.","Most teams pick one of three shapes everything central, everything embedded in business units, or a mix , staff a few core roles technical, content, data, outreach, and someone who works with engineering , and figure out where the team should sit in the company.","And because big companies never have enough SEOs for the size of the site, teaching other teams the basics is how you actually get things done.","What an enterprise SEO team is At a small company, \"the SEO team\" might be one person, or an agency.","At an enterprise — a large organization with a huge website and lots of departments — SEO becomes an organizational problem.","You have too many pages, too many teams shipping changes, and far too few SEOs to touch everything yourself.","So you have to decide: who's on the team, what each person does, where the team lives in the company, and how it works with everyone else."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/enterprise-seo/strategy-and-operations/enterprise-seo-team/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/strategy-and-operations/enterprise-seo-team/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Etsy SEO","desc":"How Etsy's own search ranks listings — query matching, listing engagement rate, recency, shipping price, and shop-wide customer experience — and why it's a different system from Google. Titles (now short and clear per Etsy's April 2026 guidance), the 13 tags, attributes, and the conversion signals that actually move a listing, plus how public Etsy pages perform in Google.","snippetText":"Etsy SEO is optimizing your listings to rank in Etsy's own internal search — a separate system from Google. Etsy matches a query to your listing's title, tags, categories, and attributes, then re-orders the matches by relevancy, listing engagement rate (how often a listing converts when shown), recency, shipping price, a shop-wide customer & market experience score, and language. The accuracy spine: Etsy is optimizing for a satisfying purchase, so conversion and shop quality carry weight a keyword-only mindset misses; results are personalized per shopper (context-specific ranking), so there's ","href":"/ecommerce-seo/marketplace-seo/etsy-seo/","slug":"etsy-seo","meta":"Educational","aliases":["etsy-seo","Etsy SEO","Etsy search","rank on Etsy","Etsy listing optimization","Etsy tags","marketplace-seo","ecommerce-seo","category-page-seo","product-page-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","marketplace-seo"],"text":"etsy-seo marketplace-seo ecommerce-seo listing-quality etsy-tags Etsy SEO is optimizing your listings to rank in Etsy's own internal search — a separate system from Google. Etsy matches a query to your listing's title, tags, categories, and attributes, then re-orders the matches by relevancy, listing engagement rate (how often a listing converts when shown), recency, shipping price, a shop-wide customer & market experience score, and language. The accuracy spine: Etsy is optimizing for a satisfying purchase, so conversion and shop quality carry weight a keyword-only mindset misses; results are personalized per shopper (context-specific ranking), so there's no single fixed position. Use all 13 tags with multi-word phrases, don't repeat the exact same phrase across title/tags expecting a boost, fill every attribute, and — per Etsy's April 2026 title guidance — keep titles short and clear (under 15 words) instead of keyword-stuffed. Treat photos, price, and reviews as ranking inputs, not just conversion levers. Ranking a public Etsy listing in Google is a separate exercise under ordinary web-SEO rules. Etsy has its own search engine Step one: matching your keywords Step two: ranking why keywords aren't enough Etsy SEO is not Google SEO Two phases: matching, then ranking The matching fields — how to actually fill them The ranking factors — what re orders the matches The technical SEO layer most Etsy guides skip The through line AI summary Official documentation Quotes from the source Etsy listing optimization checklist Etsy SEO — cheat sheet What not to do on Etsy Frameworks for Etsy listing optimization Match → earn → retain Coverage, not repetition Rank is a distribution Etsy search and Google search are parallel tracks Test yourself: Etsy SEO Etsy SEO is optimizing listings — titles, tags, attributes, photos, price, and shop performance — to rank in Etsy's own internal search, a system distinct from Google that weighs listing engagement and buyer experience alongside keyword relevance. TL;DR — Etsy SEO is getting your listings to show up in Etsy's own search box — not Google. Etsy first matches what a shopper types against your listing's title, tags, categories, and attributes , then decides the order using things like how often your listing gets clicked and bought, your shipping price, and how good a shop you run overall. So it's part keyword work and part j","passages":["TL;DR — Etsy SEO is getting your listings to show up in Etsy's own search box — not Google.","Etsy first matches what a shopper types against your listing's title, tags, categories, and attributes , then decides the order using things like how often your listing gets clicked and bought, your shipping price, and how good a shop you run overall.","So it's part keyword work and part just being a good seller.","Etsy has its own search engine When you sell on Etsy, the search you're competing in is Etsy's , and it doesn't work the way Google does.","If someone types \"linen apron\" into the Etsy search bar, Etsy runs its own algorithm over the millions of Etsy listings to decide which ones to show and in what order.","First it finds every listing that matches the search — that's where your keywords live.","Then it ranks those matches, and that's where a lot more than keywords comes in.","Step one: matching your keywords Etsy looks at a handful of fields to decide whether your listing matches a search: Title — the name of your listing."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/marketplace-seo/etsy-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/marketplace-seo/etsy-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Field Data vs. Lab Data","desc":"The difference between field data (real-user measurements from CrUX/RUM, what Google actually ranks on) and lab data (synthetic Lighthouse runs, useful for diagnosing why) — why they diverge, which tools give you which, and how to use both.","snippetText":"Field data is a distribution — the actual experiences of many people who visited your page, collected by RUM tools, and for SEO specifically by the Chrome UX Report (CrUX). It's aggregated at the 75th percentile over a rolling 28-day window, and Google's ranking systems use it. Lab data is a single configured observation: a tool like Lighthouse loads your page once in a controlled environment (fixed device, network, and location) and reports what happened. Lab data is a diagnostic — great for finding what to fix and testing changes fast, and it can even observe one manually reproduced interact","href":"/technical-seo/web-performance/web-performance-tools/field-vs-lab-data/","slug":"field-vs-lab-data","meta":"Educational","aliases":["field data vs lab data","field data","lab data","field vs lab data","RUM vs synthetic"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-performance-tools"],"text":"field-data lab-data core-web-vitals crux lighthouse rum synthetic-monitoring web-performance technical-seo Field data is a distribution — the actual experiences of many people who visited your page, collected by RUM tools, and for SEO specifically by the Chrome UX Report (CrUX). It's aggregated at the 75th percentile over a rolling 28-day window, and Google's ranking systems use it. Lab data is a single configured observation: a tool like Lighthouse loads your page once in a controlled environment (fixed device, network, and location) and reports what happened. Lab data is a diagnostic — great for finding what to fix and testing changes fast, and it can even observe one manually reproduced interaction (INP) locally — but a single run is not a population, and it is not a ranking input. This is exactly why a green Lighthouse score and a failing Search Console Core Web Vitals report can both be true at once: they're two different datasets measured two different ways. Use field data to know where you stand, lab data to figure out why. Two ways to measure a page The one idea to remember So which do I use? The definitions, precisely Field data, explained Lab data, explained Why they diverge — the mechanics Which tools give you which What Google actually ranks on What Bing does or doesn't How to use both in practice Myths worth killing FAQs AI summary Official documentation Quotes from the source Which dataset should I look at? Field vs. lab — cheat sheet Field data fails while the lab test passes What not to do Test yourself: Field Data vs. Lab Data Resources worth your time {/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Field data is real numbers from real people who visited your page. Lab data is a single test run by a tool usually Lighthouse on a pretend phone in controlled conditions. Google ranks on the field data — the real users — not on your lab score. So a page can score great in the lab and still fail for real visitors, and that's not a bug. Two ways to measure a page There are only two ways to know how fast your page is: Ask a tool to load it once in a controlled setup — a fixed device, a fixed network speed, from one location. That's lab data . Lighthouse and PageSpeed Insights' \"diagnose\" section work this way. Watch what actually happened to real people who visited your page on their own phones and laptops over their own ","passages":["{/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Field data is real numbers from real people who visited your page.","Lab data is a single test run by a tool usually Lighthouse on a pretend phone in controlled conditions.","Google ranks on the field data — the real users — not on your lab score.","So a page can score great in the lab and still fail for real visitors, and that's not a bug.","Two ways to measure a page There are only two ways to know how fast your page is: Ask a tool to load it once in a controlled setup — a fixed device, a fixed network speed, from one location.","Lighthouse and PageSpeed Insights' \"diagnose\" section work this way.","Watch what actually happened to real people who visited your page on their own phones and laptops over their own connections.","For SEO, the field data comes from Google's Chrome User Experience Report CrUX https://developer.chrome.com/docs/crux/methodology , which is built from real Chrome users who opted in to share their experience."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/field-vs-lab-data/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/field-vs-lab-data/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"First Input Delay (FID)","desc":"What First Input Delay measured, its ≤100 ms threshold, why INP replaced it in March 2024, and how to read old FID data today — a legacy-metric reference from a technical SEO.","snippetText":"First Input Delay (FID) is a retired Core Web Vital. It measured only the input delay — the wait before the browser could begin processing your page's first interaction — not how long the handler ran or the page took to repaint. Good was ≤100 ms, poor was >300 ms, measured in the field at the 75th percentile (never in the lab — Total Blocking Time was the proxy). INP replaced FID as a Core Web Vital on March 12, 2024 — the same day Search Console dropped FID from its report. Chrome tools, PageSpeed Insights, and the live CrUX API kept reporting it a little longer and stopped on September 9, 20","href":"/technical-seo/web-performance/web-vitals/first-input-delay/","slug":"first-input-delay","meta":"Educational","aliases":["first-input-delay","first input delay","fid","fid metric","first input delay core web vital","First Input Delay (FID)","inp","core-web-vitals","tbt"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals"],"text":"fid first-input-delay core-web-vitals web-performance technical-seo inp page-experience First Input Delay (FID) is a retired Core Web Vital. It measured only the input delay — the wait before the browser could begin processing your page's first interaction — not how long the handler ran or the page took to repaint. Good was ≤100 ms, poor was >300 ms, measured in the field at the 75th percentile (never in the lab — Total Blocking Time was the proxy). INP replaced FID as a Core Web Vital on March 12, 2024 — the same day Search Console dropped FID from its report. Chrome tools, PageSpeed Insights, and the live CrUX API kept reporting it a little longer and stopped on September 9, 2024. Historical FID data still lives in the CrUX BigQuery dataset (through the 202409 release). Don't confuse FID's 100/300 ms thresholds with INP's 200/500 ms, and don't try to convert one metric's number into the other. There's nothing left to optimize for directly — but the long-JS-task fixes that helped FID are the same ones that help INP now. What First Input Delay was What counted as a good score Why you don't need to worry about it anymore What FID actually measured Why FID only measured the delay not the whole interaction The thresholds — and the one you'll see people get wrong FID was a field only metric Why FID was retired: the INP transition FID vs INP: what changed Where old FID data still lives Does FID still matter today? Was FID ever a big ranking factor? Bing and FID Where to go next AI summary Official documentation Quotes from the source First Input Delay cheat sheet Mistakes to avoid with legacy FID data Treating FID as a current Core Web Vital Comparing FID and INP against the same thresholds Looking for FID in a lab test Optimizing a retired score instead of the user problem Test yourself: First Input Delay FID First Input Delay — a retired Core Web Vital that measured the delay before the browser could begin processing a page's first interaction. Good was ≤100 ms. Replaced by INP in March 2024. TL;DR — First Input Delay FID is an old metric. It measured how long your page made someone wait before it could even start reacting to their first click or tap. Google retired it in March 2024 and replaced it with INP, then removed it from its tools entirely in September 2024. So there's nothing to fix here anymore — but it's worth knowing what it was if you run into \"FID","passages":["It measured how long your page made someone wait before it could even start reacting to their first click or tap.","Google retired it in March 2024 and replaced it with INP, then removed it from its tools entirely in September 2024.","So there's nothing to fix here anymore — but it's worth knowing what it was if you run into \"FID\" in old reports.","What First Input Delay was When you tap a button and nothing happens for a beat, the page feels broken — even if it looks loaded.","First Input Delay FID was Google's way of putting a number on that specific frustration.","FID measured one narrow thing: the gap between your first interaction with a page a click, a tap, a key press and the moment the browser was actually free to start responding to it.","If the browser was busy running JavaScript when you tapped, your tap had to wait in line.","That wait was the \"delay.\" Two things it did not measure: How long the button's code took to run once it started."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/first-input-delay/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/first-input-delay/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Flat vs. Deep Site Architecture: A Practical Decision Framework","desc":"Not the why — the how. A decision framework for figuring out how flat or deep your specific site should be, how to measure where it currently sits, and how to fix it: page-count rules of thumb, a click-depth audit, and hub-page remediation.","snippetText":"This is the operator's-manual companion to the pyramid-vs-flat concept covered elsewhere in this cluster — it doesn't re-argue that a pyramid beats both extremes, it helps you decide how flat or deep your specific site should be. The right depth is mostly a function of how distinct your categories are (and the templates, priority, and update patterns behind them) — page count is a secondary, rough signal, not a law: a ~50-page brochure site can usually stay flat, a 10,000+ SKU catalog usually needs real hierarchy or it collapses into a mega-menu link dump, but treat both bands as heuristics to","href":"/technical-seo/website-structure/flat-vs-deep-architecture/","slug":"flat-vs-deep-architecture","meta":"Educational","aliases":["flat-vs-deep-architecture","flat architecture","deep architecture","flat vs deep","site depth","Flat vs. Deep Architecture","Site Architecture","Website Structure","Crawl Depth","internal-links"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"site-architecture crawl-depth click-depth website-structure This is the operator's-manual companion to the pyramid-vs-flat concept covered elsewhere in this cluster — it doesn't re-argue that a pyramid beats both extremes, it helps you decide how flat or deep your specific site should be. The right depth is mostly a function of how distinct your categories are (and the templates, priority, and update patterns behind them) — page count is a secondary, rough signal, not a law: a ~50-page brochure site can usually stay flat, a 10,000+ SKU catalog usually needs real hierarchy or it collapses into a mega-menu link dump, but treat both bands as heuristics to calibrate, not fixed cutoffs. Only Bing states a hard number (important pages within ~3 clicks) as an operational target, not a guarantee; Google deliberately states none. Measure where you sit by crawling for a segmented click-depth distribution and cautiously cross-referencing GSC Crawl Stats (aggregate first-party data, not proof of a per-URL cause) to spot the depth cliff where crawling falls off. Fix depth with hub pages, related-content modules, and breadcrumbs, treating each change as reversible and testable with a monitoring window — and remember URL-folder depth isn't click depth, so link a buried page closer rather than rewriting its URL. No architecture change guarantees crawling, indexing, ranking, traffic, or AI-citation gains. What \"flat\" and \"deep\" actually mean The short answer The one rule worth remembering This isn't the \"why\" article Depth is a function of category distinctness and size Page count rules of thumb URL depth is not click depth a reminder, not a re derivation Auditing your current depth, in order Fixing depth problems Worked example: six clicks to three When \"get everything crawled\" isn't the goal AI summary How many hierarchy levels should your site have? Official documentation Quotes from the source Depth decision & audit checklist The mental models Worked example: pulling a product from 6 clicks to 3 Reading a depth distribution Forcing every page to depth one Adding categories that do not help anyone choose Treating URL folder depth as architecture depth Using the sitewide average as the decision Removing hierarchy instead of strengthening hubs Flat vs. deep architecture is the trade-off in how many hierarchy levels sit between a site's homepage and its individual pages — an","passages":["TL;DR — A flat site keeps most pages close to the homepage; a deep site nests them through many category layers.","Neither is automatically better — the right amount of depth depends mostly on how clearly your categories divide up, and secondarily on how big your site is.","The practical goal is to give important pages short, clear, crawlable paths, and to test changes rather than assume they'll work; there is no universal three click rule, and no change guarantees crawling, ranking, or traffic gains.","What \"flat\" and \"deep\" actually mean Every site has some hierarchy — homepage at the top, then sections, then individual pages.","The useful definition isn't a fixed layer count, though — it's your site's click depth distribution what share of pages sit at depth 1, 2, 3, 4+ and, more specifically, how many clicks your priority pages need .","Flat describes a distribution where most pages, especially priority ones, sit one or two clicks from the homepage.","Deep describes one where reaching typical pages means passing through several layers: homepage → category → subcategory → sub subcategory → page.","The page count and level bands later in this article are labeled heuristics for calibrating that distribution — not the definition itself."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/website-structure/flat-vs-deep-architecture/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/flat-vs-deep-architecture/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Free Product Listings: Google's Organic Shopping Surfaces","desc":"Where free product listings actually appear — Shopping tab, Popular Products, Images, Lens, Maps, YouTube, AI Mode — how ranking differs by surface, and free vs. paid.","snippetText":"Free product listings are Google's unpaid, organic product placements — launched in 2020 as 'Surfaces across Google' and on by default in most cases for new Merchant Center accounts. Google's current overview names Search, Maps, Images, Lens, YouTube, Gemini, the Shopping tab, and the Business Profile products module as surfaces; AI Mode and AI Overviews aren't on that official list, but practitioner reporting says they draw on the same eligibility pool. Each surface matches differently: Lens leans on visual similarity and the Shopping Graph rather than a text query, Maps needs a local invento","href":"/ecommerce-seo/merchant-center/free-product-listings/","slug":"free-product-listings","meta":"Educational","aliases":["free-product-listings","free product listings","free listings","surfaces across Google","organic shopping listings","free Google Shopping listings","Free Product Listings","google-merchant-center","merchant-center-feed-optimization","canonicalization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","merchant-center"],"text":"Free product listings are Google's unpaid, organic product placements — launched in 2020 as 'Surfaces across Google' and on by default in most cases for new Merchant Center accounts. Google's current overview names Search, Maps, Images, Lens, YouTube, Gemini, the Shopping tab, and the Business Profile products module as surfaces; AI Mode and AI Overviews aren't on that official list, but practitioner reporting says they draw on the same eligibility pool. Each surface matches differently: Lens leans on visual similarity and the Shopping Graph rather than a text query, Maps needs a local inventory feed. There's no bid, no targeting, and Google is explicit that products aren't guaranteed to show — data completeness and quality are the biggest lever Google points to, though its guidance isn't a complete ranking-factor list. Paid Shopping generally keeps the top-of-SERP carousel; free listings fill in around it. The Misrepresentation policy applies exactly as it does to ads, so 'free' doesn't mean a lower compliance bar. Eligibility mechanics (Offer vs. AggregateOffer, the Sept 2022 schema-only path) live on the GMC hub; feed titles and GTINs live on the feed-optimization sibling — this page is the surface-by-surface map. What free product listings are Where they show up The thing most people get wrong Do you still need Shopping ads? What free listings are, and the name that confuses everyone The origin: a COVID era move to democratize Shopping Where free listings appear — surface by surface Shopping tab Google Search — Popular Products and product grids Google Images Google Lens Google Maps and Business Profile — local inventory YouTube AI Mode, AI Overviews, and Gemini How ranking and matching work within free listings Eligibility — the short version Free listings vs. Shopping ads — what's actually different Bing has free listings too How to track free listing performance Where this fits the ecommerce SEO stack AI summary Official documentation Quotes from the source Free product listings — quick reference Free product listings (originally launched as \"Surfaces across Google\" in 2020) are unpaid, organic product placements Google generates from your Merchant Center feed or on-page Product structured data. There's no bid and no CPC — Google matches your product data to a query and decides whether and where to show it — across the Shopping tab, Google Search (Pop","passages":["TL;DR — Free product listings are the unpaid version of Google Shopping.","Your products can show up across Google — the Shopping tab, regular search results, Images, Lens, Maps, YouTube — without you paying for a single click.","Google generates them from your product data a Merchant Center feed or structured data on your pages .","You can't bid or target; the only thing you control is how good and complete your product data is.","What free product listings are When people think \"Google Shopping,\" they usually picture the ads — those product boxes with prices at the top of a search.","But there's a whole organic layer underneath and around them: free product listings .","These are product placements Google shows for free because your product data matched what someone searched for — no bid, no cost per click.","Google pulls the data from either your Google Merchant Center /ecommerce seo/merchant center/google merchant center/ feed or Product structured data on your website or both , then decides whether and where to show your product."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/merchant-center/free-product-listings/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/free-product-listings/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"GA4 for AI Traffic","desc":"The hands-on GA4 configuration how-to for AI traffic — the native AI Assistant channel, a custom channel group with a source regex, the channel-order rule, Explorations for landing-page and conversion analysis, UTM behavior by platform, and joining Search Console.","snippetText":"GA4 now gives you two ways to see AI traffic: the native AI Assistant channel (added to the Default Channel Group on May 13, 2026 — automatic but referrer-only and not retroactive) and a custom channel group you build with a Source-matches-regex rule. The one thing everyone gets wrong is channel order: GA4 stops at the first matching channel, so your AI channel must sit above Referral or every chatgpt.com session gets silently absorbed into Referral. But setup is step one, not the finish line. The real value is in an Exploration: cross-tab Session source/medium against Landing page and key eve","href":"/ai-search/measurement-and-reporting/ga4-ai-traffic/","slug":"ga4-ai-traffic","meta":"Educational","aliases":["ga4-ai-traffic","GA4 for AI traffic","GA4 AI traffic","track AI traffic in GA4","GA4 AI channel group","AI Assistant channel GA4","GA4 for AI Traffic","ai-traffic-attribution","measurement-and-reporting","llm-visibility"],"pillar":"ai-search","taxonomy":["ai-search","measurement-and-reporting"],"text":"ai-search ga4 analytics channel-groups explorations measurement GA4 now gives you two ways to see AI traffic: the native AI Assistant channel (added to the Default Channel Group on May 13, 2026 — automatic but referrer-only and not retroactive) and a custom channel group you build with a Source-matches-regex rule. The one thing everyone gets wrong is channel order: GA4 stops at the first matching channel, so your AI channel must sit above Referral or every chatgpt.com session gets silently absorbed into Referral. But setup is step one, not the finish line. The real value is in an Exploration: cross-tab Session source/medium against Landing page and key events to see which pages AI tools actually send traffic to and whether it converts — the parts most guides skip. UTM behavior is platform-specific (ChatGPT increasingly appends utm_source=chatgpt.com; Perplexity, Gemini, and Claude generally don't), and combining with Search Console is a manual URL-level join, not a native report. And 35–70% of AI visits arrive with no referrer at all, so everything you configure here measures a floor, not a ceiling. What we're actually setting up The first check: do you already see AI traffic? The one rule that trips everyone up Why your AI number will look small and why that's not a bug The two layers, and what each one actually covers The dark traffic floor, stated once Session scoped vs. first user dimensions — pick the right field before you build Step 1 — check whether the native channel is already live Step 2 — build a custom channel group Step 3 — get the channel order right the silent failure mode Step 4 — the part most guides skip: build an Exploration Build the AI segment once, reuse it everywhere Step 5 — the landing page by AI source report the most actionable one Step 6 — conversion and revenue reporting for AI traffic Step 7 — UTM tagging: platform specific, not \"AI strips everything\" Step 8 — combining with Search Console for AI features context Where this still falls short AI summary Official documentation Quotes from the source Which AI traffic setup do you need? SOP: set up AI traffic tracking in a GA4 property What not to do GA4 AI traffic setup checklist GA4 for AI traffic is the practical configuration work — native AI Assistant channel, a custom channel group with a source regex, Explorations, and a Search Console join — that lets you identify, segment,","passages":["GA4 can classify traffic with ordered custom channel rules; the first matching channel wins.","Its session source and medium dimensions are the basic fields used to inspect where visits originated.","TL;DR — GA4 can now show you visits from AI tools like ChatGPT and Perplexity in two ways: a built in AI Assistant channel that appeared in May 2026, and a custom channel group you set up yourself.","The catch nobody warns you about: the order of your channels matters — put your AI channel above Referral or your AI visits get miscounted.","And no matter what you set up, a big chunk of AI traffic arrives with no source attached and lands in Direct , so treat the numbers you see as a minimum.","What we're actually setting up When someone clicks a link inside ChatGPT, Perplexity, Gemini, or Claude, their browser sometimes tells your site where they came from — and sometimes it doesn't.","This article is about getting GA4 to do that labeling well, and then building a report you can actually use.","Google added this to GA4's Default Channel Group in May 2026."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/measurement-and-reporting/ga4-ai-traffic/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ga4-ai-traffic/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Google Discover SEO","desc":"How to get on Google Discover — why it's a feed and not a search result, the eligibility levers Google actually documents, the content policies, image specs, the Feb 2026 Discover core update, and why traffic is spiky.","snippetText":"Google Discover is a feed, not a search result — it's pushed to people based on their interests, so there's no query and no keyword to rank for. Content becomes eligible automatically once it's indexed and follows Discover's content policies; no special markup is required. The levers Google documents are: no clickbait or sensationalism, honest titles, large high-quality images (with max-image-preview:large), and a good page experience on a mobile-first surface. Discover traffic is famously spiky and non-recurring — Google itself calls it supplemental and less dependable than search traffic — s","href":"/technical-seo/news-seo/google-discover-seo/","slug":"google-discover-seo","meta":"Educational","aliases":["Discover SEO","google-discover-seo","Google Discover SEO","Google Discover optimization","how to get on Google Discover","Google Discover traffic","Discover feed","Google Discover","news-seo","content-freshness","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","news-seo"],"text":"google-discover news-seo publishers technical-seo discover-traffic Google Discover is a feed, not a search result — it's pushed to people based on their interests, so there's no query and no keyword to rank for. Content becomes eligible automatically once it's indexed and follows Discover's content policies; no special markup is required. The levers Google documents are: no clickbait or sensationalism, honest titles, large high-quality images (with max-image-preview:large), and a good page experience on a mobile-first surface. Discover traffic is famously spiky and non-recurring — Google itself calls it supplemental and less dependable than search traffic — so a good article can spike then vanish, which is normal, not a penalty. The February 2026 Discover core update was the first-ever core update announced specifically for Discover, targeting clickbait, local relevance, and topic-by-topic expertise. Be honest that there's no public 'Discover algorithm'; monitor performance in Search Console's Discover filter. What Google Discover actually is How you get in eligibility, not ranking The thing most people get wrong Discover is a feed, not a SERP How content becomes eligible The levers Google actually documents The content policies — the enforcement layer Why Discover traffic spikes and disappears The February 2026 Discover core update What you can't do — and being honest about the opacity Monitoring your Discover performance Should you optimize for Discover at all? AI summary Official documentation Quotes from the source Discover mistakes — and what to do instead \"I'm not getting Discover traffic or I lost it — where do I start?\" Discover eligibility checklist SOP: New article Discover readiness pass Prompts for a Discover readiness review Audit a draft card and article Compare headline promise with article delivery Mental models for Google Discover Discover readiness reference Google Discover is a personalized, mobile-first content feed built into the Google app, Chrome's mobile New Tab page, and google.com that surfaces articles and videos based on a user's interests and activity — not a response to a search query. There's nothing to 'rank' for in the traditional sense; eligibility is governed by Discover's content policies plus the same helpful-content, image, and page-experience signals Google Search already uses. TL;DR — Google Discover is a feed — the ca","passages":["TL;DR — Google Discover is a feed — the cards of articles and videos you see in the Google app and on Chrome's mobile home screen.","Google pushes it to people based on their interests, so there's no search and no keyword to rank for .","You can't optimize for a Discover query because there isn't one.","What you can do is make your content eligible: get it indexed, follow Google's content rules, write honest titles, and give it a big high quality image.","What Google Discover actually is Most SEO is about search: someone types a query, and you try to rank for it.","It's a feed of articles and videos that Google shows people before they search anything — in the Google app, on the Chrome mobile New Tab page, and on google.com — based on what Google thinks each person is interested in.","Google's own words: Discover \"shows people content related to their interests, based on their Web and App Activity.\" When Google launched it back in 2018, the tagline was literally \"no query required.\" That one fact changes everything.","There's no keyword to target, no position to climb, no SERP to analyze."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/news-seo/google-discover-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/news-seo/google-discover-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Google News SEO","desc":"How you actually get into Google's News tab and Top Stories in 2026 — automatic eligibility after the 2024–2025 Publisher Center transition, plus what drives ranking.","snippetText":"There is no Google News application anymore. Google stopped taking manual publication submissions in Publisher Center in April 2024 and finished the switch to automatically generated publication pages in late March 2025 — content that complies with Google's news content policies is automatically eligible for the News tab and Top Stories. Eligibility is binary and automatic; ranking within the eligible pool is driven by relevance, prominence, authoritativeness, freshness, usability, and location/language. Top Stories and the News tab aren't personalized (same results per country/language), news","href":"/technical-seo/news-seo/google-news-seo/","slug":"google-news-seo","meta":"Educational","aliases":["google-news-seo","Google News SEO","get on Google News","Top Stories SEO","Google News eligibility","News tab","news-seo","news-sitemaps","discover-report"],"pillar":"technical-seo","taxonomy":["technical-seo","news-seo"],"text":"google-news news-seo top-stories publishers e-e-a-t There is no Google News application anymore. Google stopped taking manual publication submissions in Publisher Center in April 2024 and finished the switch to automatically generated publication pages in late March 2025 — content that complies with Google's news content policies is automatically eligible for the News tab and Top Stories. Eligibility is binary and automatic; ranking within the eligible pool is driven by relevance, prominence, authoritativeness, freshness, usability, and location/language. Top Stories and the News tab aren't personalized (same results per country/language), news sitemaps only speed discovery, and neither AMP nor structured data gates inclusion. Bing, by contrast, still runs a manual PubHub submission model. What \"Google News SEO\" means The one thing almost every guide gets wrong So how do you actually get in? Getting ranked , not just eligible The accuracy spine: there's no application anymore The 2024–2025 transition, dated accurately Publisher Center isn't dead — it's repurposed Eligibility ≠ ranking Content policies: the eligibility gate itself E E A T for news: bylines and transparency Original reporting gets protected, not just rewarded How News ranking differs from normal web search ranking Technical setup that still matters Preferred Sources 2025 : a new visibility lever How Google differs from Bing The bottom line AI summary Official documentation Quotes from the source \"Why isn't my site in Google News?\" Common Google News mistakes Prompts for a Google News transparency audit Audit the publisher and author templates Review one story for eligibility versus ranking work Google News SEO is the practice of getting eligible for and ranking well in Google's news-specific surfaces — the News tab of Search and the Top Stories carousel. As of the 2024–2025 Publisher Center transition there's no application to file: content that complies with Google's news content policies is automatically eligible, and ranking within that pool is driven by relevance, prominence, authoritativeness, freshness, usability, and location/language. TL;DR — You don't apply to Google News anymore. If your content follows Google's news content policies, it's automatically eligible for the News tab and Top Stories — there's no form to fill out and no review team to wait on. Getting ranked there is a sep","passages":["If your content follows Google's news content policies, it's automatically eligible for the News tab and Top Stories — there's no form to fill out and no review team to wait on.","Getting ranked there is a separate job: it comes down to being relevant, trustworthy, fresh, and clearly attributed real bylines, dates, and author info .","What \"Google News SEO\" means \"Google News SEO\" is about showing up in two places: The News tab of Google Search the tab you click after searching .","Top Stories — the news carousel or box that appears in normal search results when a query is newsworthy.","Someone types something in, and Google decides which recent articles to show.","That's different from Google Discover , which is a feed Google pushes to people based on their interests — no search involved.","This article is about the News tab and Top Stories specifically; the broader publisher picture Discover, paywalls, syndication lives in the News & Discover SEO hub.","The one thing almost every guide gets wrong A lot of articles out there still tell you to open a Google Publisher Center account, submit your site, and wait weeks or months for Google to \"approve\" you for News."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/news-seo/google-news-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/news-seo/google-news-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Google Shopping Graph","desc":"What the Google Shopping Graph is — Google's ML-powered, real-time database of products and sellers — how it stays fresh, how it differs from the normal search index, and how to strengthen your presence in it.","snippetText":"The Google Shopping Graph is Google's real-time, ML-powered database of products and sellers — Google's own words: 'our ML-powered, real-time data set of the world's products and sellers,' modeled on the Knowledge Graph but for commerce. It's not the normal search index: Google's own analogy implies it models products as entities (one node per product, variants and attributes attached) rather than as pages, though Google hasn't published that as an exact index spec. It's fed by at least these inputs working together — Merchant Center feeds, crawled Product structured data, StoreBot-Google's cr","href":"/ecommerce-seo/ai-commerce/google-shopping-graph/","slug":"google-shopping-graph","meta":"Educational","aliases":["google-shopping-graph","Google Shopping Graph","Shopping Graph","Shopping Graph explained","StoreBot-Google","google-merchant-center","universal-commerce-protocol"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","ai-commerce"],"text":"The Google Shopping Graph is Google's real-time, ML-powered database of products and sellers — Google's own words: 'our ML-powered, real-time data set of the world's products and sellers,' modeled on the Knowledge Graph but for commerce. It's not the normal search index: Google's own analogy implies it models products as entities (one node per product, variants and attributes attached) rather than as pages, though Google hasn't published that as an exact index spec. It's fed by at least these inputs working together — Merchant Center feeds, crawled Product structured data, StoreBot-Google's crawl/checkout verification, and broad web signals (reviews, images, YouTube) — a practical model built from what Google documents, not Google's own exhaustive list. It stays fresh through continuous feed ingestion plus StoreBot spot-checking, not a periodic recrawl, though Google doesn't guarantee crawl-processing time and feed/page lag can cause short-lived conflicts — Google has cited 50 billion+ listings with ~2 billion updated every hour, and 60 billion+ at Google I/O 2026 (treat any number as a dated snapshot, not proof of the underlying architecture; it went 35B in Feb 2023 → ~50B → 60B+ in about four years). It powers the Shopping tab, Search product grids, Images/Lens, Shopping Ads, AI Overviews, AI Mode, Gemini, and agentic checkout / Universal Cart. Google states the ranked lists and AI Overview shopping results aren't sponsored. To strengthen your presence (this improves eligibility and verification, not a guarantee of inclusion, ranking, AI citation, or conversion): complete/accurate feed, GTIN/MPN/brand, structured data that matches your feed, current price/availability, don't block StoreBot, genuine reviews, correctly grouped variants. What the Shopping Graph is How is that different from a normal search result? Where do the products come from? What it powers What to actually do What the Shopping Graph actually is How big is it — and why the number is a trap The inputs a practical model, not Google's exhaustive list What \"freshness\" actually means — StoreBot, not a recrawl How it differs from the normal search index What it powers What merchants can do to strengthen their presence Bottom line AI summary Official documentation Quotes from the source Shopping Graph readiness — checklist The mental models \"My products aren't showing up well — where do I start?","passages":["TL;DR — The Shopping Graph is Google's giant, constantly updated database of products and the stores that sell them.","Think of it as Google's map of \"every product in the world,\" built from the feeds retailers upload, the product markup Google reads off web pages, and signals from around the web reviews, images, videos .","It's what fills the Shopping tab, the product grids in normal Search, and the shopping answers in AI Overviews, AI Mode, and Gemini.","Getting your products into it well is mostly about a clean product feed plus matching structured data.","What the Shopping Graph is When you search for something to buy on Google — a pair of running shoes, a coffee grinder, a specific TV model — the products you see don't come from Google's normal list of web pages.","They come from a separate system Google calls the Shopping Graph .","Google describes it as its \"ML powered, real time data set of the world's products and sellers.\" The short version: it's a huge, always current database that knows what products exist, who sells them, what they cost, and whether they're in stock.","Google keeps it updated as retailers change prices and stock."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/ai-commerce/google-shopping-graph/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/google-shopping-graph/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Headless Commerce Platforms","desc":"A platform-by-platform SEO comparison of the major headless commerce engines — Shopify Hydrogen, BigCommerce Catalyst, commercetools, Salesforce PWA Kit, Medusa, Saleor, and Elastic Path — covering what each ships out of the box for metadata, sitemaps, redirects, and preview-environment safety, and how to choose.","snippetText":"Every headless commerce platform's marketing page claims it's SEO-optimized out of the box. The reality is a spectrum. Shopify Hydrogen ships the most real scaffolding — a getSeoMeta metadata utility, sitemap routes, robots.txt, and automatic crawler-blocking on preview deployments. BigCommerce Catalyst proxies BigCommerce's own sitemap and uses Next.js App Router metadata conventions. commercetools Frontend and Salesforce PWA Kit give you SDK helpers, not shipped routes — you assemble sitemaps yourself. Medusa, Saleor, and Elastic Path are pure commerce APIs and ship nothing SEO-specific; you","href":"/ecommerce-seo/headless-ecommerce/headless-commerce-platforms/","slug":"headless-commerce-platforms","meta":"Educational","aliases":["headless-commerce-platforms","headless commerce platforms","headless commerce platform comparison","best headless commerce platform","headless ecommerce platforms","Headless Commerce Platforms","headless-ecommerce","javascript-seo","next-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","headless-ecommerce"],"text":"headless-ecommerce ecommerce-seo hydrogen catalyst commercetools pwa-kit medusa saleor elastic-path Every headless commerce platform's marketing page claims it's SEO-optimized out of the box. The reality is a spectrum. Shopify Hydrogen ships the most real scaffolding — a getSeoMeta metadata utility, sitemap routes, robots.txt, and automatic crawler-blocking on preview deployments. BigCommerce Catalyst proxies BigCommerce's own sitemap and uses Next.js App Router metadata conventions. commercetools Frontend and Salesforce PWA Kit give you SDK helpers, not shipped routes — you assemble sitemaps yourself. Medusa, Saleor, and Elastic Path are pure commerce APIs and ship nothing SEO-specific; your Next.js frontend does all the work. Platform choice determines how much scaffolding you inherit, not whether your pages are crawlable — that's still the rendering decision the headless ecommerce hub owns. The two differentiated risks worth budgeting for: preview/staging environments getting indexed (Hydrogen blocks this automatically; others don't guarantee it), and redirect maps on migration (no platform automates them). What we're actually comparing here The one thing that matters for choosing The thing most people get wrong Platform choice is not the rendering decision The SEO tooling spectrum Shopify Hydrogen Storefront API BigCommerce headless Catalyst commercetools Frontend / composable storefronts Salesforce Commerce Cloud headless PWA Kit / Composable Storefront Medusa, Saleor, and Elastic Path — pure APIs Preview and staging leakage — the differentiated risk Redirect management — a migration concern, not a platform feature Portability is the underrated upside Where to go next AI summary Which headless commerce platform for SEO ? Official documentation Quotes from the source Mistakes that cost you Platform SEO scaffolding — at a glance Headless platform SEO vetting checklist Verify what a headless store actually ships Is the product page server rendered? shell Does the sitemap exist, and where does it come from? shell Headless commerce platforms are the commerce engines that expose product, cart, and checkout through APIs instead of rendering their own storefront — Shopify (Hydrogen/Storefront API), BigCommerce (Catalyst), commercetools, Salesforce Commerce Cloud (PWA Kit), Medusa, Saleor, and Elastic Path. Each ships a different amount of SEO tooling out of the","passages":["TL;DR — A \"headless commerce platform\" is the engine that runs your products, cart, and checkout and hands that data to a separate storefront you build.","Every vendor claims theirs is \"SEO optimized out of the box.\" That's only half true.","Some Shopify Hydrogen, BigCommerce Catalyst ship real SEO scaffolding — a sitemap, a , a metadata helper.","Others Medusa, Saleor, Elastic Path ship nothing SEO specific and leave all of it to you.","What we're actually comparing here In a normal Shopify or WooCommerce store, one system does everything: it stores your products, processes orders, and renders the pages shoppers and Google see.","A commerce engine handles products, inventory, and checkout, and hands that data through an API to a separate frontend that renders what people actually look at.","The commerce engine is the \"headless commerce platform.\" The major ones as of mid 2026 are Shopify through its Hydrogen framework and Storefront API , BigCommerce through Catalyst , commercetools , Salesforce Commerce Cloud through PWA Kit , Medusa , Saleor , and Elastic Path .","The one thing that matters for choosing For SEO, the platforms don't really differ on whether your pages can be crawled — that comes down to how your frontend renders pages, which the Headless Ecommerce SEO /ecommerce seo/headless ecommerce/ hub covers in full SSR, SSG, CSR ."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/headless-ecommerce/headless-commerce-platforms/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/headless-ecommerce/headless-commerce-platforms/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"How to Remove Pages from Google's Index (Deindexing)","desc":"The decision-tree guide to deindexing — noindex, 404/410, the Removals tool, password protection, and canonicals. Why robots.txt doesn't remove pages.","snippetText":"Deindexing is getting a URL out of Google's results, and there's no single delete button — the method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. The one thing everyone gets wrong: a robots.txt Disallow does NOT deindex a page (it blocks crawling, not indexing — the URL can still get indexed via links, and Google can't see a noindex rule on a page it can't crawl), and combining robots.txt with noindex actively backfires. The GSC Removals tool is emergency triage only (~6 months) — pair it with a permanent method: n","href":"/technical-seo/how-search-works/indexing/how-to-deindex/","slug":"how-to-deindex","meta":"Educational","aliases":["deindexing","deindex","remove a page from Google","remove page from Google's index","how to deindex a page","Deindexing","noindex","removals-tool"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing"],"text":"deindexing technical-seo indexing noindex removals-tool robots-txt Deindexing is getting a URL out of Google's results, and there's no single delete button — the method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. The one thing everyone gets wrong: a robots.txt Disallow does NOT deindex a page (it blocks crawling, not indexing — the URL can still get indexed via links, and Google can't see a noindex rule on a page it can't crawl), and combining robots.txt with noindex actively backfires. The GSC Removals tool is emergency triage only (~6 months) — pair it with a permanent method: noindex (keep the page live, hide from search), 404/410 (delete it), password protection (block access), or a canonical (consolidate duplicates). Robots.txt IS the sanctioned way to remove images. If you don't own the page, Google splits it in two: stale/removed content goes through the Refresh Outdated Content tool, while personal or sensitive information goes through Google's separate 'Remove your personal information from Google' troubleshooter. This hub links down to noindex, the removals tool, robots.txt, and the 404/410 status codes. What deindexing is The trap almost everyone falls into The methods, in one breath The quick rules of thumb What \"deindexing\" actually means and what it doesn't The core myth: robots.txt does not remove pages from Google Crawling and indexing are different systems What Google's removal docs say, verbatim \"Indexed, though blocked by robots.txt\" — the Search Console symptom Why combining robots.txt disallow with noindex backfires A quick history lesson: the 2019 noindex in robots.txt deprecation Emergency removal: the Search Console Removals tool Bing's equivalent Permanent method 1 — noindex meta tag / X Robots Tag Permanent method 2 — delete the content 404/410 Permanent method 3 — password protection / login walls Canonical consolidation — related, but not removal Removing images specifically — the exception to the myth If you don't own the page — two different tools, for two different problems Decision framework — which method for which situation How long does deindexing actually take? Where this fits AI summary Official documentation Deindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends ","passages":["{/ tool rule claim: robots.access policy/article contract /} TL;DR — Deindexing means getting a page out of Google's search results.","There's no single \"delete from Google\" button — you pick a method based on your situation.","And the big trap: blocking a page in does not remove it from Google.","To actually remove a page, you usually let Google crawl it and add a tag.","What deindexing is Deindexing is the opposite of getting found: it's making a URL stop showing up in Google's search results.","People need it for all kinds of reasons — an outdated page, a duplicate, a thin or embarrassing page, a staging URL that leaked, or something with sensitive information on it.","If not, you have one specific tool; if you do, you have several.","Should the content still exist for real visitors, or should it be deleted?"],"updated":"2026-07-26T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/how-to-deindex/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/how-to-deindex/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"How to Get Indexed by Google","desc":"The right way to get pages indexed by Google — sitemaps, internal links, Request Indexing, the Indexing API and IndexNow, and why quality is the real gate.","snippetText":"Getting indexed means Google crawled your URL, judged it worthwhile, and stored it so it can appear in results — a prerequisite for ranking, never a ranking factor. The single most useful reframe: crawling and indexing are separate steps, and the usual blocker isn't a missing button-click, it's quality. What you actually control is discovery and priority: a clean XML sitemap, real internal links so nothing is orphaned, and — for a handful of individual high-priority URLs — Request Indexing in URL Inspection (which does not guarantee or speed a quality decision, and 'no need to resubmit'). The ","href":"/technical-seo/how-search-works/indexing/how-to-get-indexed/","slug":"how-to-get-indexed","meta":"Educational","aliases":["get indexed by google","how to get indexed","request indexing","get google to index"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing"],"text":"indexing technical-seo request-indexing sitemaps indexing-api indexnow Getting indexed means Google crawled your URL, judged it worthwhile, and stored it so it can appear in results — a prerequisite for ranking, never a ranking factor. The single most useful reframe: crawling and indexing are separate steps, and the usual blocker isn't a missing button-click, it's quality. What you actually control is discovery and priority: a clean XML sitemap, real internal links so nothing is orphaned, and — for a handful of individual high-priority URLs — Request Indexing in URL Inspection (which does not guarantee or speed a quality decision, and 'no need to resubmit'). The two 'fast-index' shortcuts people reach for are narrower than advertised: Google's Indexing API is officially only for JobPosting and BroadcastEvent-in-VideoObject pages (default 200 publish requests/day), and IndexNow is a Bing/Yandex protocol that Google does not use at all. Nothing guarantees indexing. This page is the actions companion to the Page Indexing report. What \"getting indexed\" means What actually helps The things people get wrong Crawling ≠ indexing — the reframe the whole page hangs on Why a page isn't indexed — a quick diagnostic Request Indexing URL Inspection — for individual, high priority URLs Submit and maintain a clean XML sitemap Fix your internal linking The Google Indexing API — what it's actually for IndexNow — real, useful, and not a Google tool The real gatekeeper: content quality What about crawl budget? How long does indexing take, and how to monitor Where this fits AI summary Official documentation Quotes from the source My page isn't indexed — what do I do? Get it indexed checklist SOP: getting a new or stuck page indexed Indexing anti patterns Getting indexed — cheat sheet Find orphan pages pages nothing links to Check a page's indexability signals from the terminal TL;DR — Getting indexed means Google has crawled your page, decided it's worth keeping, and stored it so it can show up in search. You can't rank without it. The things you actually control are helping Google find the page internal links + a sitemap and, for a few important URLs, clicking Request Indexing in Search Console. None of it forces indexing — if a page isn't getting indexed, the reason is usually that Google doesn't think it's good enough yet. What \"getting indexed\" means When you publish a page,","passages":["TL;DR — Getting indexed means Google has crawled your page, decided it's worth keeping, and stored it so it can show up in search.","The things you actually control are helping Google find the page internal links + a sitemap and, for a few important URLs, clicking Request Indexing in Search Console.","None of it forces indexing — if a page isn't getting indexed, the reason is usually that Google doesn't think it's good enough yet.","What \"getting indexed\" means When you publish a page, three things have to happen before it can appear in Google: 1.","Index — Google processes the page and decides whether to store it in its index the giant database it pulls search results from .","Serve rank — when someone searches, Google picks the best matches from the index and orders them.","And here's the part that trips almost everyone up: a page can be crawled and still not indexed.","Google will happily fetch your page and then choose not to keep it — you'll see that in Search Console as \"Crawled – currently not indexed.\" What actually helps There's no button that forces Google to index a page."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/how-to-get-indexed/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/how-to-get-indexed/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HSTS: HTTP Strict Transport Security for SEO","desc":"What HSTS actually does, the Strict-Transport-Security header syntax (max-age, includeSubDomains, preload), the browser-only internal redirect crawlers never see, why it doesn't replace your 301s, and how preload can lock you in — from Patrick Stox.","snippetText":"HSTS (HTTP Strict Transport Security) is a Strict-Transport-Security response header — honored only when it arrives over a secure connection — that tells a browser to always use HTTPS for your domain going forward, closing the insecure gap that a new visitor's first request still makes over HTTP before your 301 fires. It's a browser-layer, per-client policy on top of your server-side redirects, not a replacement: RFC 6797 has the browser rewrite the URI to HTTPS internally before any request goes out (often shown as an internal 307-style redirect, though the RFC doesn't mandate a specific stat","href":"/technical-seo/https/hsts/","slug":"hsts","meta":"Educational","aliases":["hsts","HSTS","HTTP Strict Transport Security","Strict-Transport-Security header","HSTS preload","HSTS SEO","includeSubDomains","SSL stripping","https"],"pillar":"technical-seo","taxonomy":["technical-seo","https"],"text":"hsts https tls ssl technical-seo strict-transport-security hsts-preload HSTS (HTTP Strict Transport Security) is a Strict-Transport-Security response header — honored only when it arrives over a secure connection — that tells a browser to always use HTTPS for your domain going forward, closing the insecure gap that a new visitor's first request still makes over HTTP before your 301 fires. It's a browser-layer, per-client policy on top of your server-side redirects, not a replacement: RFC 6797 has the browser rewrite the URI to HTTPS internally before any request goes out (often shown as an internal 307-style redirect, though the RFC doesn't mandate a specific status code), so no server ever sees the HTTP form and crawlers still need your real 301 to understand the move and carry link equity. The header has three directives — max-age (required), includeSubDomains, and preload. Preload bakes your domain into the browser itself via hstspreload.org (requiring max-age of at least a year, includeSubDomains, and the preload flag) and is close to irreversible — removal is a separate submission that takes months to reach users. HSTS is also deliberately unforgiving: a browser that knows you as an HSTS host will hard-fail with no click-through if your certificate ever breaks. So enable it only once HTTPS is genuinely solid across every subdomain, and treat preload as a one-way door. What HSTS is Does HSTS help or hurt SEO? The one big warning The problem HSTS actually solves: the first request The header syntax The internal upgrade crawlers never see this is the SEO crux HSTS preload: the near permanent version Why HSTS is designed to hurt when things break Real world lockout scenarios HSTS is not a ranking play and doesn't touch canonicalization AI summary Official documentation Quotes from the source Should I enable HSTS — and how far? HSTS rollout checklist The mental models HSTS — cheat sheet Set the HSTS header Check whether HSTS is set and read it back Inspect and clear an HSTS entry in Chrome DevTools / net internals HSTS mistakes that bite Incident playbook: an HSTS host is locked out Audit a live HSTS policy Triage an HSTS lockout HSTS (HTTP Strict Transport Security) is a response header that tells browsers to always connect to your site over HTTPS — even when a user types or clicks an http:// link — closing the insecure-first-request gap that a plain 301 re","passages":["TL;DR — HSTS is a small instruction your server sends browsers that says \"always use HTTPS for my site — never plain HTTP.\" It plugs a tiny security hole that a normal HTTP→HTTPS redirect leaves open, and it doesn't hurt SEO.","But it's strict on purpose: once it's on, a broken certificate breaks your site with no way for visitors to click past the warning.","What HSTS is You already know you should be on HTTPS /technical seo/https/ — the encrypted, padlock version of your site.","The normal way to force it is a redirect : when someone types , your server sends them a redirect to .","That very first request — the one before the redirect fires — still goes out over insecure HTTP.","An attacker sitting on the same Wi Fi can pounce in that window.","It's a short instruction a \"header\" your server adds to its responses — but only the ones served over a genuinely secure connection; the same header sent over plain HTTP is ignored, since an attacker could otherwise inject or strip it — that tells that one browser: for the next however many months, never even try HTTP for this site — go straight to HTTPS.","It's a policy each browser learns and stores for itself, not something that changes your server."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/https/hsts/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/https/hsts/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HTTP to HTTPS Migration","desc":"The step-by-step HTTP→HTTPS migration playbook — pre-migration audit, certificate selection, staging tests, redirect mapping at scale, canonical/sitemap/hreflang updates, getting Search Console coverage right, monitoring windows, launch-day regressions, and a rollback plan.","snippetText":"An HTTP→HTTPS migration is a protocol-only site migration: same host, paths, query strings, content and platform — only the scheme moves from http:// to https://. Because nothing else changes, 301s carry all the weight (301s don't lose PageRank) and you don't need the Change of Address tool. The order that keeps traffic: benchmark the live HTTP site, pick and install a TLS certificate (a free DV cert earns the same lightweight ranking signal as any paid one — Google checks the scheme, not the issuer), rehearse the whole thing on staging, then flip — 301 every URL one-to-one server-side, make H","href":"/technical-seo/https/http-to-https-migration/","slug":"http-to-https-migration","meta":"Educational","aliases":["http-to-https-migration","HTTP to HTTPS migration","HTTPS migration","migrate HTTP to HTTPS","move to HTTPS","HTTPS migration checklist","HTTP HTTPS redirect","HTTP to HTTPS Migration","https"],"pillar":"technical-seo","taxonomy":["technical-seo","https"],"text":"http-to-https-migration https technical-seo 301-redirect mixed-content hsts site-migration An HTTP→HTTPS migration is a protocol-only site migration: same host, paths, query strings, content and platform — only the scheme moves from http:// to https://. Because nothing else changes, 301s carry all the weight (301s don't lose PageRank) and you don't need the Change of Address tool. The order that keeps traffic: benchmark the live HTTP site, pick and install a TLS certificate (a free DV cert earns the same lightweight ranking signal as any paid one — Google checks the scheme, not the issuer), rehearse the whole thing on staging, then flip — 301 every URL one-to-one server-side, make HTTPS self-canonical, repoint every internal link/sitemap/hreflang, and fix blockable mixed content before it breaks your scripts on launch day. Afterward, add a Domain property in Search Console (it covers every protocol/host variant automatically) or verify the HTTPS properties individually if you want segmented data, submit the HTTPS sitemap, keep redirects at least a year, and monitor Crawl Stats + indexing for a dip that sticks (broken) versus a dip that recovers (settling). Have a rollback plan — but repair HTTPS first, since caching, cookies and service workers can make a true HTTP rollback unsafe — and treat HSTS preload as slow and risky to reverse, not a one-way door. What you're actually doing The one rule that matters most The short version of the process First, right size the risk: this is a protocol only migration Step 1 — Benchmark the live HTTP site before you touch anything Step 2 — Choose and install the TLS certificate Step 3 — Rehearse on staging Step 4 — Redirect mapping at scale Step 5 — Repoint every canonical, sitemap, and hreflang signal Step 6 — Kill mixed content before launch, not after Step 7 — Get Search Console coverage right Step 8 — Monitoring windows: settling vs. broken Step 9 — Keep the redirects, and add HSTS deliberately Step 10 — Have a rollback plan and know its limits AI summary Official documentation Quotes from the source Which path should I take? HTTP → HTTPS migration checklist Standard operating procedure: run the migration Playbooks by situation What not to do HTTP → HTTPS migration — cheat sheet Force the 301 server side An HTTP to HTTPS migration is the process of moving every URL on a site from the insecure http:// scheme to the enc","passages":["TL;DR — An HTTP→HTTPS migration means moving every page on your site from the insecure address to the secure one.","You install a certificate, then redirect every old URL to its new secure version so nothing breaks and no rankings are lost.","Done carefully it's safe — the damage only comes from sloppy execution.","What you're actually doing Moving HTTP URLs to HTTPS changes their canonical URLs and should use permanent server side redirects plus consistent canonical signals.","HTTPS configuration must also present a valid TLS certificate and avoid mixed resources.","You want them to live at instead — the secure, encrypted version, the one that shows the padlock and doesn't trip Chrome's \"Not Secure\" warning.","The content, the hostnames, the paths, and the query strings all stay the same, and you're not changing CMS or hosting platform at the same time.","Because the pages themselves aren't moving, this is the gentlest kind of site migration — but only while all of that stays true."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/https/http-to-https-migration/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/https/http-to-https-migration/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HTTP/2 and HTTP/3","desc":"What HTTP/2 and HTTP/3 are, how QUIC reduces (not eliminates) head-of-line blocking, and what they mean for SEO — Google says no ranking boost, Googlebot's docs don't list HTTP/3, and the real payoff is indirect via Core Web Vitals.","snippetText":"HTTP/2 (multiplexing + header compression over one TCP connection) and HTTP/3 (the same, but over QUIC/UDP instead of TCP, which stops a lost packet on one stream from stalling every other stream) are the modern upgrades to HTTP — QUIC's streams still share the same connection's congestion control and QPACK header state, so it's a real fix, not a guarantee every file is now fully independent. Neither is a direct Google ranking factor: Google states there's no ranking boost from crawling over HTTP/2, and Google's crawler documentation doesn't list HTTP/3 as a supported protocol. Googlebot crawl","href":"/technical-seo/web-performance/http2-http3/","slug":"http2-http3","meta":"Educational","aliases":["http2-http3","HTTP/2 and HTTP/3","HTTP/2","HTTP/3","QUIC","HTTP/2 vs HTTP/3","does HTTP/2 help SEO","caching","cdn-seo","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"http2 http3 quic web-performance technical-seo core-web-vitals googlebot cdn HTTP/2 (multiplexing + header compression over one TCP connection) and HTTP/3 (the same, but over QUIC/UDP instead of TCP, which stops a lost packet on one stream from stalling every other stream) are the modern upgrades to HTTP — QUIC's streams still share the same connection's congestion control and QPACK header state, so it's a real fix, not a guarantee every file is now fully independent. Neither is a direct Google ranking factor: Google states there's no ranking boost from crawling over HTTP/2, and Google's crawler documentation doesn't list HTTP/3 as a supported protocol. Googlebot crawls HTTP/1.1 by default and HTTP/2 when a site is eligible (HTTPS + h2 support), with a 421 status as the documented opt-out. The real SEO payoff is indirect — faster real-user page loads feed Core Web Vitals, which is the ranking-adjacent signal. For most sites this is a CDN toggle, but confirm the negotiated protocol afterward rather than assuming it worked end to end (UDP can be blocked, and a first visit often still starts on HTTP/2 until the browser learns HTTP/3 is available). Two myths to kill: switching protocols won't directly boost rankings, and HTTP/2 Server Push is dead in practice (Chrome disabled it by default from Chrome 106 on) — use 103 Early Hints or link rel=preload instead. What HTTP/2 and HTTP/3 are Do I need to do anything for SEO? The one thing people get wrong What each protocol actually changes Does this affect rankings? No — and here's the exact wording What Googlebot actually does today What Chrome's tools do and don't show Real world adoption in 2026 How to actually enable it What NOT to bother with: Server Push The security caveat one honest paragraph Where this sits in web performance AI summary Official documentation Quotes from the source Should I do anything about HTTP/2 or HTTP/3? HTTP/2 & HTTP/3 cheat sheet Mistakes and myths to avoid HTTP/2 & HTTP/3 checklist Resources worth your time Check the negotiated HTTP version Inspect the browser's resource protocols Test yourself: HTTP/2 and HTTP/3 HTTP/2 and HTTP/3 are the modern versions of the HTTP protocol. HTTP/2 multiplexes many requests over one TCP connection; HTTP/3 swaps TCP for QUIC (over UDP) so a dropped packet only stalls the one stream it belongs to, not every stream (streams still share the connection's","passages":["TL;DR — HTTP/2 and HTTP/3 are newer versions of the \"language\" your browser and a website's server use to talk.","They make pages load faster by fetching lots of files over one connection instead of many.","They won't directly boost your Google rankings — but a faster site can help indirectly.","For most sites, turning them on is a setting at your CDN, not a big project.","What HTTP/2 and HTTP/3 are Every time you open a web page, your browser and the site's server have a conversation using a protocol called HTTP .","For years that was HTTP/1.1, which had a real bottleneck: it fetched files mostly one at a time, so browsers had to open several parallel connections just to load a normal page.","It lets the browser and server send many requests and responses over a single connection at the same time — a trick called multiplexing — and it compresses the repetitive header information that gets sent with every request.","It keeps everything HTTP/2 does but changes the plumbing underneath."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/http2-http3/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/http2-http3/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Hybrid Search","desc":"How hybrid search combines keyword (BM25) and vector (semantic) retrieval, fuses the two rankings with Reciprocal Rank Fusion, and reranks the top results — the retrieval pattern behind modern search and AI answers.","snippetText":"Hybrid search runs two retrieval methods at once — keyword/lexical search (BM25 over an inverted index, which matches exact terms) and vector/semantic search (embedding similarity, which matches meaning) — then merges the two result lists into a single ranking. Because the two produce differently-scaled scores, the merge is usually done with Reciprocal Rank Fusion (RRF), which fuses by rank position rather than raw score using a constant and candidate depth that are configurable system parameters, not fixed values; many stacks then rerank the fused top-k with a cross-encoder. The reason it win","href":"/ai-search/how-search-works/hybrid-search/","slug":"hybrid-search","meta":"Educational","aliases":["hybrid-search","hybrid search","hybrid retrieval","keyword and vector search","BM25 and vector search","reciprocal rank fusion","RRF search","Hybrid Search","vector-search","semantic-search","embeddings"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"hybrid-search ai-search bm25 vector-search semantic-search rag reciprocal-rank-fusion Hybrid search runs two retrieval methods at once — keyword/lexical search (BM25 over an inverted index, which matches exact terms) and vector/semantic search (embedding similarity, which matches meaning) — then merges the two result lists into a single ranking. Because the two produce differently-scaled scores, the merge is usually done with Reciprocal Rank Fusion (RRF), which fuses by rank position rather than raw score using a constant and candidate depth that are configurable system parameters, not fixed values; many stacks then rerank the fused top-k with a cross-encoder. The reason it wins: each method catches recall the other misses — keyword nails exact strings (SKUs, error codes, proper nouns), vector catches synonyms and paraphrase — though the size of that gain is corpus- and query-dependent, not a guaranteed win on every benchmark. It's the standard production retrieval pattern (Microsoft, Google, Weaviate, and Elastic all ship it) and the retrieval layer inside modern RAG. For SEO there's no hybrid-search knob: keyword presence still matters for exact-match recall AND topically coherent, self-contained passages matter for semantic recall — you need both, which is exactly what hybrid retrieval rewards. What hybrid search is Why not just pick one? How the results get merged Why this matters for you Where hybrid search sits Why hybrid beats either method alone The merge problem: why you can't just add the scores Reciprocal Rank Fusion RRF Reranking: the precision pass Sparse, dense, and \"learned sparse\" How Google and Bing use it What hybrid search means for SEO AI summary Official documentation Quotes from the source Which retrieval should you reach for? The mental models Hybrid search — cheat sheet Resources worth your time Test yourself: Hybrid Search Hybrid search runs keyword (lexical/BM25) search and vector (semantic) search together, then merges the two result lists into one ranking — commonly with Reciprocal Rank Fusion — so it catches both exact-term matches and meaning-based matches that either method alone would miss. TL;DR — Hybrid search runs two kinds of search at the same time and blends the results: old school keyword search match the exact words and modern vector search match the meaning . Keyword search is great at exact things like product codes ","passages":["TL;DR — Hybrid search runs two kinds of search at the same time and blends the results: old school keyword search match the exact words and modern vector search match the meaning .","Keyword search is great at exact things like product codes and brand names; vector search is great at understanding what you meant even when you used different words.","Doing both and merging the answers usually beats doing either one alone — which is why nearly every serious search system, and the AI answers built on top of them, works this way.","How well it wins depends on your content and your searchers' queries — there's no single number that holds for every site.","What hybrid search is Hybrid search combines lexical and vector retrieval signals, often merging or reranking their result sets.","Fusion method and weights are system choices, not universal constants.","The old way is keyword search : the engine looks for pages that contain the words you typed.","It's precise about exact terms — if you search a specific error code or a part number, it finds pages with that exact string."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/how-search-works/hybrid-search/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/hybrid-search/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Indexing at Scale","desc":"Getting large or programmatic URL sets — thousands to millions of pages — reliably crawled and indexed. Crawl budget as the binding constraint, sitemap segmentation as a monitoring tool, log files as ground truth, and the quality gate that decides whether templated pages get kept.","snippetText":"Indexing at scale is getting thousands-to-millions of URLs reliably crawled and indexed, instead of fixing indexing one page at a time. The pipeline is discovery → crawl → index, and the crux is that crawled is not the same as indexed. 'Discovered - currently not indexed' is mostly a crawl-capacity/priority problem; 'Crawled - currently not indexed' is mostly a quality/duplication verdict — and they need different fixes. Crawl budget is the binding constraint but it's necessary-not-sufficient: a page still has to earn its place. Segment your sitemaps by section/template/status and submit them ","href":"/programmatic-seo/indexing-at-scale/","slug":"indexing-at-scale","meta":"Educational","aliases":["indexing-at-scale","indexing at scale","index large sites","get programmatic pages indexed","large-site indexing","indexing programmatic pages","Indexing at Scale","crawl-budget","indexing","index-bloat"],"pillar":"programmatic-seo","taxonomy":["programmatic-seo"],"text":"programmatic-seo indexing crawl-budget sitemaps technical-seo enterprise-seo Indexing at scale is getting thousands-to-millions of URLs reliably crawled and indexed, instead of fixing indexing one page at a time. The pipeline is discovery → crawl → index, and the crux is that crawled is not the same as indexed. 'Discovered - currently not indexed' is mostly a crawl-capacity/priority problem; 'Crawled - currently not indexed' is mostly a quality/duplication verdict — and they need different fixes. Crawl budget is the binding constraint but it's necessary-not-sufficient: a page still has to earn its place. Segment your sitemaps by section/template/status and submit them via a sitemap index so you can filter the Page Indexing report per segment and see which URL pattern is failing. Use log files as ground truth for the crawl side. The failure mode that separates scale from small sites: one thin template can drag down crawl demand and indexing willingness for the whole domain — Google's stated primary lever is quality. Don't chase a benchmark indexing rate; chase the trend after you fix something. What \"indexing at scale\" means The one distinction that explains everything The three things that actually move the needle The thing most people get wrong Why \"at scale\" is a different problem Crawled vs. indexed — the distinction everything depends on Crawl budget is the binding constraint — but it's not sufficient What wastes crawl budget on programmatic sites Sitemap segmentation as a monitoring strategy, not just a size fix Log files: the ground truth GSC can't give you The quality gate — why \"just get it crawled\" isn't enough A practical workflow for indexing at scale Don't invent an indexing rate benchmark IndexNow and push based indexing — a supplement, not a strategy Common myths about indexing at scale Where this sits AI summary Official documentation Quotes from the source Which path should I take? The mental models Indexing at scale checklist Indexing at scale cheat sheet Indexing mistakes that multiply at scale Indexing at scale is the set of practices — sitemap segmentation, crawl-budget management, log-file and Page Indexing monitoring, and quality gating — used to get large or programmatic URL sets (thousands to millions of pages) reliably crawled and indexed, instead of managing indexing page by page. TL;DR — Indexing at scale is about getting a huge nu","passages":["TL;DR — Indexing at scale is about getting a huge number of pages into Google — think thousands to millions, usually made from a template product pages, location pages, listings .","At scale it doesn't, and the reason is almost always one of two things: Google never got around to crawling the page, or it crawled it and decided the page wasn't worth keeping.","What \"indexing at scale\" means When you have a few hundred pages, indexing is barely a topic.","You publish, Google finds the pages through your links and sitemap, crawls them, and indexes them.","When you have a few hundred thousand pages — all generated from the same template with different data plugged in — that easy path breaks.","You'll publish a big new section, watch Google Search Console, and see the indexed count creep up to a fraction of what you published and then just… stop.","The one distinction that explains everything There are two different words that people mush together, and keeping them apart solves half your confusion: Crawled means Googlebot came and downloaded the page.","Indexed means Google processed it into the index, making it eligible to show in search."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/programmatic-seo/indexing-at-scale/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/programmatic-seo/indexing-at-scale/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Infinite Scroll SEO","desc":"How to implement infinite scroll without losing your indexing — why Googlebot doesn't scroll, the tall-viewport render trick that flattens two pages into one, the paginated-URL + History API fix, and the ecommerce category-page case.","snippetText":"Infinite scroll loads more content as you scroll, instead of via numbered pages — and Googlebot never scrolls or clicks, so anything gated behind that action is invisible by default. Google renders in a very tall viewport (about 411×12,140px mobile, 1024×9,307px desktop) as a workaround, but that same tall viewport can trigger the scroll loader during rendering and fold two logical pages into one indexed URL — a failure mode where a 'not indexed' page is actually indexed as part of another. The fix is architectural: give every chunk a real, persistent, absolute URL (like ?page=2), link them wi","href":"/technical-seo/javascript-seo/infinite-scroll/","slug":"infinite-scroll","meta":"Educational","aliases":["infinite-scroll","infinite scroll","infinite scroll SEO","infinite scrolling","SEO-friendly infinite scroll","infinite scroll pagination","Infinite Scroll","javascript-seo","pagination","lazy-loading"],"pillar":"technical-seo","taxonomy":["technical-seo","javascript-seo"],"text":"infinite-scroll javascript-seo technical-seo googlebot pagination ecommerce-seo Infinite scroll loads more content as you scroll, instead of via numbered pages — and Googlebot never scrolls or clicks, so anything gated behind that action is invisible by default. Google renders in a very tall viewport (about 411×12,140px mobile, 1024×9,307px desktop) as a workaround, but that same tall viewport can trigger the scroll loader during rendering and fold two logical pages into one indexed URL — a failure mode where a 'not indexed' page is actually indexed as part of another. The fix is architectural: give every chunk a real, persistent, absolute URL (like ?page=2), link them with crawlable anchors, and update the address bar with the History API as the user scrolls. rel=next/prev is legacy (Google dropped it in 2019; Bing still supports it). On ecommerce category pages, back it all with sitemaps or a Merchant Center feed and verify in the URL Inspection Tool's rendered HTML. A production build also needs a real popstate/back-forward contract, distinct loading/error/end states, and deliberate accessibility — none of that comes for free just because the indexing fix is in place. What infinite scroll is Why it's risky for SEO The one rule that keeps it safe What most people get wrong First, a disambiguation The core constraint: Google doesn't interact with your page Google's workaround: a very tall viewport The failure mode nobody explains: two pages indexed as one How to diagnose it The fix: paginated URLs + the History API Navigation state: back, forward, refresh, and share have to reconstruct the same view Loading, error, and end of results states Accessibility and performance: two things infinite scroll doesn't give you for free The historical context: rel=next/prev is legacy Ecommerce category pages: the highest stakes case Infinite scroll vs. pagination vs. load more AI summary Official documentation Quotes from the source Which pagination pattern should you use? Search friendly infinite scroll checklist What breaks infinite scroll for SEO Infinite scroll SEO — cheat sheet What good and bad implementations look like Infinite scroll is a loading pattern where content appears automatically as a user scrolls, instead of via numbered pages. Because Googlebot doesn't scroll or click, indexable infinite scroll needs real per-chunk URLs (paginated loading) that update","passages":["TL;DR — Infinite scroll loads more content as you scroll down, instead of making you click to page 2, page 3, and so on.","So if your products or articles only appear once a visitor scrolls, Google may never see them.","The fix is to give every \"page\" of content a real URL of its own, so search engines have something to crawl even though they never touch your scroll.","What infinite scroll is You've used it a hundred times without naming it.","On a social feed, a shopping category, or a long article, you keep scrolling and more stuff keeps appearing — no \"Next page\" button, no page numbers.","That's infinite scroll : JavaScript watches how far you've scrolled and, as you near the bottom, quietly fetches and adds the next batch of content.","Why it's risky for SEO Google finds and reads your pages with an automated program called Googlebot .","Googlebot loads your page, but it does not behave like a human visitor: It doesn't scroll down the page."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/javascript-seo/infinite-scroll/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/javascript-seo/infinite-scroll/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Internal Linking Strategy: A Planning Framework","desc":"A step-by-step process for planning and building a site's internal-link structure from scratch — topic mapping, hub/spoke assignment, a link matrix, prioritization, phased rollout, and measurement.","snippetText":"An internal linking strategy is a plan you build before you link, not an audit of a site you already have. The process is six steps: map your topics and keywords into content groups, decide which pages are hubs and which are spokes, draw up a link matrix (source page → target page → anchor text → priority), prioritize link placement toward your highest-value pages, phase the rollout on large or existing sites instead of relinking everything at once, then measure with the GSC Links report, click-depth reduction, and Crawl Stats. The one piece competitors skip is phasing — and John Mueller's own","href":"/technical-seo/website-structure/internal-links/internal-linking-strategy/","slug":"internal-linking-strategy","meta":"Educational","aliases":["internal-linking-strategy","internal linking strategy","internal link planning","link matrix","Internal Linking Strategy","internal-links","site-architecture","anchor-text","website-structure"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure","internal-links"],"text":"internal-links internal-linking site-architecture planning An internal linking strategy is a plan you build before you link, not an audit of a site you already have. The process is six steps: map your topics and keywords into content groups, decide which pages are hubs and which are spokes, draw up a link matrix (source page → target page → anchor text → priority), prioritize link placement toward your highest-value pages, phase the rollout on large or existing sites instead of relinking everything at once, then measure with the GSC Links report, click-depth reduction, and Crawl Stats. The one piece competitors skip is phasing — and John Mueller's own advice on big site changes ('split it time-wise… keep things controllable & trackable') is why staging it is the right call, not just a scaling compromise. There is no official 'internal link matrix' from Google; it's industry process built on Google's general link principles. What an internal linking strategy is The six steps, in plain terms The thing beginners get wrong Strategy vs. audit — the frame for this whole page Step 1 — Map your topics and keywords into content groups Step 2 — Identify your hub/pillar pages and cluster/spoke pages Step 3 — Build the internal link matrix Step 4 — Prioritize link placement toward your highest value pages Step 5 — Phase the rollout especially on large or existing sites Step 6 — Measure whether it worked Common mistakes to avoid Where this sits in the cluster AI summary Official documentation Quotes from the source Which page should you link first? The mental models Internal link matrix — starter template Internal linking strategy checklist What not to do Prompt: draft an evidence based link matrix Prompt: phase a large internal link rollout Measure whether the strategy became a working link graph Resources worth your time An internal linking strategy is the deliberate, planned process of deciding which pages on a site should link to which others — with what anchor text and in what priority order — before or while you build, rather than adding links ad hoc as you publish. TL;DR — An internal linking strategy is a plan for which pages link to which — made before you build, not fixed after the fact. Group your content by topic, pick a main \"hub\" page for each group, decide which pages should link to which and with what link text , and start with your most important pages. ","passages":["TL;DR — An internal linking strategy is a plan for which pages link to which — made before you build, not fixed after the fact.","Group your content by topic, pick a main \"hub\" page for each group, decide which pages should link to which and with what link text , and start with your most important pages.","What an internal linking strategy is Google uses links to discover pages and recommends crawlable HTML links with descriptive anchor text.","A linking strategy is therefore an editorial and information architecture practice, not a documented formula for distributing a fixed amount of ranking value.","An internal linking strategy is a plan for how the pages on your site will link to each other — decided on purpose, before or while you build, instead of adding links wherever they happen to fit as you write.","If you've read the internal links article, you already know why internal links matter they help search engines find your pages and tell them which ones are important and, from the site architecture article, which shape to aim for a pyramid of hubs and spokes .","This page is the part those two don't cover: the actual step by step process for planning and building that structure.","An audit looks at a site you already have and fixes what's broken — orphan pages, dead links, pages buried too deep."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/website-structure/internal-links/internal-linking-strategy/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/internal-links/internal-linking-strategy/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Japan SEO","desc":"Japan isn't a non-Google market — Google leads and Yahoo! Japan has run on Google's search technology since 2010. The real work is Japanese keyword research across kanji, hiragana, katakana, and romaji, plus genuine localization over translation.","snippetText":"Japan is not a non-Google market. Google leads Japanese organic search, and Yahoo! Japan has run on Google's search and ad technology since a July 27, 2010 deal — reconfirmed operative through October 2022 by a 2024 Japan Fair Trade Commission filing, and under a commercial contract LINE Yahoo extended through at least March 2027 after abandoning a considered switch to Naver's search technology — so most of what people call 'Yahoo! Japan SEO' is just SEO. The distinctive work is Japanese keyword research across four scripts (kanji, hiragana, katakana, romaji), whose variants can carry differen","href":"/international-seo/market-specific-seo/japan-seo/","slug":"japan-seo","meta":"Educational","aliases":["japan-seo","Japan SEO","SEO in Japan","Japanese SEO","Yahoo! Japan SEO","Japanese keyword research","market-specific-seo","translation-vs-localization","naver-seo"],"pillar":"international-seo","taxonomy":["international-seo","market-specific-seo"],"text":"japan-seo international-seo market-specific-seo yahoo-japan localization Japan is not a non-Google market. Google leads Japanese organic search, and Yahoo! Japan has run on Google's search and ad technology since a July 27, 2010 deal — reconfirmed operative through October 2022 by a 2024 Japan Fair Trade Commission filing, and under a commercial contract LINE Yahoo extended through at least March 2027 after abandoning a considered switch to Naver's search technology — so most of what people call 'Yahoo! Japan SEO' is just SEO. The distinctive work is Japanese keyword research across four scripts (kanji, hiragana, katakana, romaji), whose variants can carry different search volumes and even different intent, and real localization (payment methods, the Tokushoho legal-disclosure page, page-design conventions) rather than machine translation. A separate, similarly-named topic — the 'Japanese keyword hack' — is a site-compromise spam attack, not a keyword strategy. This guide maps the landscape, the keyword-research workflow, and where Japan does and doesn't differ from a Google program. Japan isn't a \"non Google\" market So what is different about Japan? One thing to not get confused by Japan's search landscape: Google, Yahoo Japan, and the deal that ties them Current market share dated — and Bing is the surprise Japanese keyword research: kanji, hiragana, katakana, romaji Why the same concept has different volumes by script The practical workflow Localization vs. translation for Japan Japanese search behavior Aside: the \"Japanese keyword hack\" — a spam attack, not a strategy AI summary Official documentation Quotes from the source How should you approach SEO for Japan? SOP: Japanese multi script keyword research Japan SEO myths and mistakes to avoid Incident playbook: the \"Japanese keyword hack\" Multi script keyword examples AI prompts for Japan SEO Japan SEO setup checklist Resources worth your time Test yourself: Japan SEO Japan SEO is the practice of optimizing sites to rank in Japan — a market where Google leads and Yahoo! Japan has run on Google's search technology since 2010. The distinctive work is Japanese-language keyword research across kanji, hiragana, katakana, and romaji, plus genuine localization rather than translation. TL;DR — Search engine usage and partnerships in Japan can change, so verify current market data before prioritizing platforms. T","passages":["TL;DR — Search engine usage and partnerships in Japan can change, so verify current market data before prioritizing platforms.","The durable difference is the language: the same word can be written in several scripts kanji, hiragana, katakana, or the Latin alphabet , and each version can be a separate keyword.","Japan isn't a \"non Google\" market If you've read our market specific SEO /international seo/market specific seo/ hub, you know that some countries run on their own engines — China on Baidu, Russia on Yandex, South Korea on Naver.","It's natural to assume Japan belongs on that list because of Yahoo Japan .","Here's the key fact: Yahoo Japan's organic search results are generated by Google's technology , and have been since a 2010 agreement.","Yahoo Japan is a huge, popular portal — news, shopping, auctions, a Q&A service — but its actual web search results come from Google under the hood.","So when someone tells you \"you need to do Yahoo Japan SEO separately,\" that advice is out of date.","If you rank on Google in Japan, you generally rank on Yahoo Japan too."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/international-seo/market-specific-seo/japan-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/market-specific-seo/japan-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Mega Menu SEO","desc":"How to build a mega menu that stays crawlable and doesn't dilute your topical structure — the real-href requirement, the JS-flyout failure mode, hidden-until-hover content, link-budget guidance, mobile parity, and a good-vs-bad markup example.","snippetText":"A mega menu is just internal links wearing a bigger UI, so it lives or dies by the same rules: every link must be a real <a href>. The single most common failure is a JS click/hover flyout that never renders real anchors — it looks linked to a user but silently orphans the pages. Content hidden until hover isn't automatically discounted for being hidden, as long as it's in the initial HTML and not fetched only on interaction — Google says it's taken into account, though identical ranking weight to always-visible content isn't documented. There's no hard link-count ceiling; the real lever is or","href":"/technical-seo/website-structure/mega-menu-seo/","slug":"mega-menu-seo","meta":"Educational","aliases":["mega-menu-seo","mega menu","mega menus","mega navigation","Mega Menu","internal-links","site-architecture","website-structure","crawlability"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"navigation mega-menu crawlability website-structure A mega menu is just internal links wearing a bigger UI, so it lives or dies by the same rules: every link must be a real <a href>. The single most common failure is a JS click/hover flyout that never renders real anchors — it looks linked to a user but silently orphans the pages. Content hidden until hover isn't automatically discounted for being hidden, as long as it's in the initial HTML and not fetched only on interaction — Google says it's taken into account, though identical ranking weight to always-visible content isn't documented. There's no hard link-count ceiling; the real lever is organization — group by category with descriptive anchor text. And your mobile hamburger/accordion needs the same crawlable links (and its own keyboard-tested disclosure), not a trimmed-down version. What a mega menu is The one rule that matters most How to check yours Don't forget mobile Start here: a mega menu is just internal links The single most common failure: JS handlers instead of real links How to verify a mega menu is actually crawlable Is hidden until hover content discounted? Link budget: group it, don't dump it Mobile equivalents need the same links, not a smaller UI One more myth: structured data isn't a crawlability fix What these checks do — and don't — guarantee Should your site even have a mega menu? AI summary Official documentation Quotes from the source Should you have a mega menu — and is yours safe? Mega menu SEO checklist Mega menu SEO — cheat sheet Good vs. bad mega menu markup Bad: a JS only flyout Good: server rendered links, progressively enhanced Better still: grouped, not a wall Mega menu anti patterns A mega menu is a large, categorized navigation panel — usually opened by hover or click on a top-level nav item — that surfaces many links at once, grouped into columns instead of the single list a standard dropdown shows. TL;DR — A mega menu is a big navigation dropdown that shows lots of links at once, grouped into columns. For SEO it's just internal links, so the rules are the same: every link should be a real so Google can reliably follow it. The most common mistake is building the flyout with JavaScript click handlers instead of real links — it looks fine to a person, but search engines can't crawl it. On mobile the hamburger menu , make sure you kept the same links. What a mega menu is A","passages":["TL;DR — A mega menu is a big navigation dropdown that shows lots of links at once, grouped into columns.","For SEO it's just internal links, so the rules are the same: every link should be a real so Google can reliably follow it.","The most common mistake is building the flyout with JavaScript click handlers instead of real links — it looks fine to a person, but search engines can't crawl it.","On mobile the hamburger menu , make sure you kept the same links.","What a mega menu is A mega menu is a disclosed navigation panel — hidden until you hover or click a top level menu item — that opens to show a lot of links at once, arranged in columns by category so they're easy to scan.","A mega menu gives you \"Shoes\" opening into Men's, Women's, and Kids' columns, each with its own subcategories.","Big online stores use them because they let a shopper jump to a deep category page from anywhere on the site in one click.","The important thing to understand: a mega menu is just a pile of internal links in a fancy container."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/website-structure/mega-menu-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/mega-menu-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Merchant Center Product & Account Disapprovals","desc":"Why products and accounts get disapproved in Merchant Center, how to diagnose it in the Needs attention tab, and how the appeal and review process actually works.","snippetText":"Disapprovals in Merchant Center operate on two axes: scope (a single item vs. the whole account) and cause (a data-quality/spec violation vs. a policy violation). Item-level data-quality issues — bad GTINs, undersized images, price/availability mismatches — are the routine, fixable kind: correct the feed, Google recrawls, done. Policy violations follow a warning-first flow (a 7- or 28-day courtesy-review window, depending on the issue) UNLESS they're classed egregious, like misrepresentation, which suspends the whole account immediately with no warning; Google warns that a new account for the ","href":"/ecommerce-seo/merchant-center/merchant-center-disapprovals/","slug":"merchant-center-disapprovals","meta":"Educational","aliases":["merchant-center-disapprovals","merchant center disapproval","merchant center disapprovals","product disapproved","account suspended merchant center","merchant center misrepresentation","Merchant Center Disapproval","google-merchant-center","merchant-center-feed-optimization","ecommerce-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","merchant-center"],"text":"Disapprovals in Merchant Center operate on two axes: scope (a single item vs. the whole account) and cause (a data-quality/spec violation vs. a policy violation). Item-level data-quality issues — bad GTINs, undersized images, price/availability mismatches — are the routine, fixable kind: correct the feed, Google recrawls, done. Policy violations follow a warning-first flow (a 7- or 28-day courtesy-review window, depending on the issue) UNLESS they're classed egregious, like misrepresentation, which suspends the whole account immediately with no warning; Google warns that a new account for the same business will likely be flagged again, so spinning up a fresh account won't save you. Preemptive item disapproval (PID) is a predictive mechanism that disapproves products it thinks are likely to have a price/availability mismatch. Diagnose everything in the Needs attention tab (the old 'Diagnostics'), then use 'I fixed the issue' or, sparingly, 'I disagree with the issue' — you may only get one chance to disagree, and failed reviews trigger escalating cool-downs. Bing's model is different: three enforcement tiers, three strikes per policy category, and product disapprovals don't count as strikes. 2026 brings new triggers: a 500×500px image floor and an AI-content disclosure requirement. What \"disapproved\" actually means The two kinds of problems Where to look How you fix it The mental model: two axes, four quadrants Why items get disapproved data quality violations Preemptive item disapproval PID — the predictive one 2026 spec changes that will cause new disapprovals Why accounts get suspended policy violations The standard warning first flow Misrepresentation: the egregious, no warning exception Diagnosing: the Needs attention tab formerly Diagnostics The review and appeal process Bing / Microsoft Merchant Center: a different model A note on rep statements Where to go next AI summary Official documentation Quotes from the source My product/account got flagged — what do I do? Runbook: recovering from a misrepresentation account suspension Mistakes that keep merchants stuck Merchant Center disapproval symptoms and fixes One product is disapproved for price or availability mismatch A Merchant Center disapproval is Google (or Microsoft) refusing to show a product — or, in severe cases, an entire account — across Shopping ads and free listings because the submitted da","passages":["TL;DR — A \"disapproval\" means Google or Bing has stopped showing one of your products — or, in the worst case, your whole store.","It happens when your product data breaks a rule, doesn't match your own website, or violates a Shopping policy.","A whole account suspension is the scary one, and it usually needs you to fix the problem and ask Google to re review.","What \"disapproved\" actually means When you sell through Google Merchant Center /ecommerce seo/merchant center/google merchant center/ , Google checks every product you submit.","Depending on how serious it is, that issue can: Warn you — the product still shows, but its performance may be limited.","Disapprove the product — it stops showing across Google entirely.","Suspend your account — every product stops showing, not just one.","So there are really two questions to ask about any disapproval: how big is the blast radius one product, or the whole account?"],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/merchant-center/merchant-center-disapprovals/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/merchant-center-disapprovals/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Merchant Center Next: What Changed (and What's New Since)","desc":"Merchant Center Next is Google's 2023–2024 UI rebuild, not a new data system — what moved, what's new since (Business Agent, AI insights), and why it matters for SEO.","snippetText":"Merchant Center Next is Google's 2023–2024 rebuild of the Merchant Center interface and setup flow — announced at Google Marketing Live in May 2023 and rolled out to all retailers by September 2024, fully replacing classic Merchant Center. The critical framing: Google positions it as a UI and workflow change, not a data migration merchants had to perform — your feed structure and product data weren't something you had to move or re-upload yourself. What actually changed: terminology (Feeds → Data Sources, Destinations → Marketing Methods, Diagnostics → Needs attention), automatic website crawl","href":"/ecommerce-seo/merchant-center/merchant-center-next/","slug":"merchant-center-next","meta":"Educational","aliases":["merchant-center-next","Merchant Center Next","Google Merchant Center Next","MC Next","GMC Next","Merchant Center Next vs classic","google-merchant-center","merchant-center-feed-optimization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","merchant-center"],"text":"Merchant Center Next is Google's 2023–2024 rebuild of the Merchant Center interface and setup flow — announced at Google Marketing Live in May 2023 and rolled out to all retailers by September 2024, fully replacing classic Merchant Center. The critical framing: Google positions it as a UI and workflow change, not a data migration merchants had to perform — your feed structure and product data weren't something you had to move or re-upload yourself. What actually changed: terminology (Feeds → Data Sources, Destinations → Marketing Methods, Diagnostics → Needs attention), automatic website crawling that builds a starter feed by default, unified international and online+local product management, and Programs reorganized under Growth/Add-ons. Genuinely new vs. classic: Business identity attributes (US-only badges), Product Studio (AI imagery), and — layered on since — Business Agent, AI performance insights for AI Mode/AI Overviews/Gemini, conversational attributes, and Merchant Center for Agencies. The old 2024 pain point (missing feed rules and supplemental feeds) was fixed via an add-on, so it's resolved history now. It's directly SEO-relevant because auto-crawl ties organic product-grid eligibility to your site's crawlability, and by 2026 Google mostly just calls it 'Google Merchant Center' again — 'Next' was transitional branding. What Merchant Center Next is The most important thing to understand What got renamed What's genuinely new The \"Next\" name is fading What Merchant Center Next actually is What changed vs. classic Merchant Center The terminology remap Automatic website crawling on by default Unified international and omnichannel management Programs reorganized under Growth / Add ons New in Next that didn't exist in classic Business identity attributes Product Studio Business Agent Gemini powered chat AI performance insights 2026 AI powered growth and insights, and conversational attributes Merchant Center for Agencies 2026 The 2024 pain point that's now resolved Why this matters for SEO, not just Shopping ads Migration notes for anyone still on \"classic\" mental models A note on Bing / Microsoft Where this sits in the cluster AI summary Merchant Center Next is Google's 2023–2024 rebuild of the Merchant Center interface and setup flow (not the underlying feed system) — auto-crawled starter feeds, a unified Programs/Business-identity setup, renamed ter","passages":["TL;DR — Merchant Center Next is the redesigned look and setup flow of Google Merchant Center that fully replaced the old \"classic\" version by September 2024.","It's a new interface, not a new system — your product data and feeds didn't change, so there was nothing you had to move or re upload yourself.","By 2026, people and Google mostly just call it \"Google Merchant Center\" again.","What Merchant Center Next is Merchant Center Next is Google's redesigned Merchant Center experience for managing how products appear across Google.","Google can automatically add products found on a verified website, but merchants remain responsible for reviewing product data and destinations.","Google Merchant Center is where online stores send Google their product data — titles, prices, images, availability — so products can appear in Google Shopping and in free listings across Search, Images, and more.","If that's new to you, start with the Google Merchant Center /ecommerce seo/merchant center/google merchant center/ hub in this same cluster.","Merchant Center Next is the name Google gave the rebuilt version of that tool."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/merchant-center/merchant-center-next/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/merchant-center-next/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Merchant Listings Report (Google Search Console)","desc":"What the Merchant listings report in Google Search Console means, how it differs from Product snippets and Merchant Center diagnostics, which structured data it validates, and how to fix common issues.","snippetText":"The Merchant listings report (Google Search Console → Shopping) validates the Product/Offer structured data on your own pages for free merchant listing experiences — Popular Products, Shopping Knowledge Panels, and shopping surfaces in Google Images and Lens. It groups items as valid or invalid based on whether a critical issue is present, and separately flags non-critical issues as enhancement opportunities. Three things trip people up: it validates on-page markup, not your Merchant Center feed; since September 2022 you don't need a Merchant Center account to be eligible; and it's a different","href":"/technical-seo/tools/search-engine-tools/google-search-console/merchant-listings-report/","slug":"merchant-listings-report","meta":"Educational","aliases":["merchant-listings-report","Merchant listings report","merchant listings in Search Console","GSC Shopping report","Merchant Listings Report","google-merchant-center","product-schema","rich-results"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"google-search-console merchant-listings structured-data product-schema ecommerce technical-seo The Merchant listings report (Google Search Console → Shopping) validates the Product/Offer structured data on your own pages for free merchant listing experiences — Popular Products, Shopping Knowledge Panels, and shopping surfaces in Google Images and Lens. It groups items as valid or invalid based on whether a critical issue is present, and separately flags non-critical issues as enhancement opportunities. Three things trip people up: it validates on-page markup, not your Merchant Center feed; since September 2022 you don't need a Merchant Center account to be eligible; and it's a different report from both Product snippets (broader, accepts AggregateOffer) and Merchant opportunities (feed-driven, unlocked by association). Eligibility requires the shopper to complete a purchase on your site — affiliate/redirect sites are explicitly excluded. A page can carry more than one structured-data item, and one item can carry more than one issue, so item, page, and issue counts aren't interchangeable. Required fields are minimal (name, image, offers.price > 0, priceCurrency); the recommended ones are where most non-critical issues come from. None of this — valid markup, a clean report, or a passed validation — guarantees the listing is actually displayed, ranked, or drives traffic. What this report is Valid, invalid, and the issues inside each The confusing part: this is not Merchant Center Who qualifies What it is, and where it lives How items, pages, and issues are classified — and counted It validates your markup, not your feed You don't need a Merchant Center account Merchant listings vs. Product snippets vs. Merchant opportunities Eligibility: who counts as an \"online merchant\" Required vs. recommended structured data Reading the report — the trend chart and the \"dropped valid items\" trap Fixing common issues — the triage workflow The Merchant Center association a different report A note on the naming Bing's equivalent there isn't a direct one AI summary Official documentation Quotes from the source Which report should I be looking at? Merchant listings — the fast reference Merchant listings triage checklist The mental models Prove a merchant listing markup fix took effect The Merchant listings report is a Google Search Console report (under Shopping) that validates ","passages":["TL;DR — The Merchant listings report in Google Search Console checks the product data the structured data on your own pages and tells you whether Google can use it for the free shopping features in Search — things like Popular Products and the shopping box in Google Images.","It groups items into valid and invalid , and separately flags smaller non critical issues on otherwise valid items.","It is not the same as Google Merchant Center's own reports, and you don't need a Merchant Center account for it to work.","Being eligible isn't a guarantee your listing is actually shown.","What this report is Open Google Search Console, look in the Shopping section of the left menu, and you'll find Merchant listings .","It does one job: it reads the product markup Google found on your pages and reports whether that markup is good enough to make your products eligible for the free, enhanced shopping results in Google Search.","Those enhanced results are called merchant listing experiences .","They include Popular Products carousels, the Shopping Knowledge Panel, and the shopping overlays you see in Google Images and Google Lens."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/merchant-listings-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/merchant-listings-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Microsoft Shopping & Bing Merchant Center","desc":"What Microsoft Merchant Center (formerly Bing Merchant Center) is, how free Product Listings and paid Shopping Campaigns work, and how its feed spec differs from Google's.","snippetText":"Microsoft Merchant Center (MMC) — the platform formerly called Bing Merchant Center — is the free hub inside Microsoft Advertising where you create a store and submit a product feed. One feed drives both free Product Listings on the Bing Shopping tab and paid Microsoft Shopping Campaigns, exactly like Google Merchant Center on the Bing/Copilot side. The naming is a mess (Bing → Microsoft on both the tool and the surface), and the feed spec is close to Google's but not identical: Microsoft's API lists ~13-14 required-for-insert fields with real country-conditional rules (mandatory shipping for ","href":"/ecommerce-seo/merchant-center/microsoft-shopping/","slug":"microsoft-shopping","meta":"Educational","aliases":["microsoft-shopping","Microsoft Merchant Center","Bing Merchant Center","Microsoft Shopping","Bing Shopping","Bing free product listings","Microsoft Shopping Campaigns","google-merchant-center","merchant-center-feed-optimization","bing-webmaster-tools"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","merchant-center"],"text":"Microsoft Merchant Center (MMC) — the platform formerly called Bing Merchant Center — is the free hub inside Microsoft Advertising where you create a store and submit a product feed. One feed drives both free Product Listings on the Bing Shopping tab and paid Microsoft Shopping Campaigns, exactly like Google Merchant Center on the Bing/Copilot side. The naming is a mess (Bing → Microsoft on both the tool and the surface), and the feed spec is close to Google's but not identical: Microsoft's API lists ~13-14 required-for-insert fields with real country-conditional rules (mandatory shipping for Germany, mandatory apparel sizing for FR/DE/UK/US), an identifierExists flag, and a schema that's a deliberate superset — it accepts a raw Google feed and silently ignores Google-only fields, which is why the Google-import tool 'just works.' Paid Shopping Campaigns span 90+ countries (far more than the free-listings rollout footprint, a common myth). In 2026 Microsoft made store name/domain edits self-serve, shipped Product Explorer, and made MMC feeds UCP-ready — repositioning MMC as the product-data foundation for Copilot's agentic shopping and checkout, whether or not you run paid ads. Its Shopping Campaign reports (product dimension, partition, and search-query performance) cover paid delivery only — they don't measure free-listing visibility — and conversion tracking runs on the same UET/goals/attribution-window model as the rest of Microsoft Advertising, so expect some discrepancy against Google Analytics or Google Ads by design, not by bug. What Microsoft Merchant Center is The naming is genuinely confusing Why bother with Bing at all? How you set it up the short version What MMC is, and how it relates to Shopping Campaigns The naming history, once Free Product Listings vs. paid Product Ads Setting up an MMC store The MMC feed spec — and how it differs from Google Core required fields Country conditional requirements the highest value, least covered facts The identifierExists flag Fields Microsoft keeps but ignores why a Google feed \"just works\" Regional inventory an MMC feature with no 1:1 Google name \"Is Bing Shopping available in my country?\" — kill the myth What's new in 2026 MMC and agentic/AI commerce Copilot Checkout, UCP Shopping Campaign reports and conversion tracking Where this sits in the cluster AI summary Official documentation Quotes from the sourc","passages":["TL;DR — Microsoft Merchant Center you may know it as \"Bing Merchant Center\" is a free tool where you create a store and upload a product feed.","That one feed can support eligible Microsoft product surfaces and lets you run paid Microsoft Shopping ads .","It's broadly analogous to Google Merchant Center for Bing and Copilot.","If you already run Google Shopping, you can import your Google feed and be most of the way there.","What Microsoft Merchant Center is When you search on Bing and see a row of products with prices and images, that data came from a product feed a retailer submitted to Microsoft Merchant Center MMC .","It's a free platform inside Microsoft Advertising, and it's the Microsoft equivalent of Google Merchant Center /ecommerce seo/merchant center/google merchant center/ .","Free Product Listings — organic, unpaid placements on the Bing Shopping tab.","Paid Product Ads — if you want more visibility, you can run Microsoft Shopping Campaigns off the same feed."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/merchant-center/microsoft-shopping/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/microsoft-shopping/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Minification","desc":"What minification actually is — stripping whitespace, comments, and redundant characters from CSS, JS, and HTML — how it differs from compression and bundling, the PageSpeed Insights audit it drives, and why modern bundlers already do it for you. The web-performance deep dive on shrinking source code.","snippetText":"Minification strips characters a file doesn't need to run — whitespace, line breaks, comments, and (for CSS/JS) long identifiers and redundant syntax — from CSS, JavaScript, and HTML source, without changing how the browser parses or executes it. Google's Lighthouse docs define it as removing whitespace and any code that isn't necessary to create a smaller but perfectly valid file, and audit it as unminified-css and unminified-javascript. The single biggest confusion to clear up first: minification is NOT compression. Minification removes redundant source characters; compression (Gzip/Brotli) ","href":"/technical-seo/web-performance/critical-rendering-path/minification/","slug":"minification","meta":"Educational","aliases":["minification","minify","minify css","minify javascript","minify js","minify html","minify code","Minification","compression","critical-rendering-path","render-blocking-resources"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","critical-rendering-path"],"text":"minification web-performance technical-seo css javascript html lighthouse core-web-vitals Minification strips characters a file doesn't need to run — whitespace, line breaks, comments, and (for CSS/JS) long identifiers and redundant syntax — from CSS, JavaScript, and HTML source, without changing how the browser parses or executes it. Google's Lighthouse docs define it as removing whitespace and any code that isn't necessary to create a smaller but perfectly valid file, and audit it as unminified-css and unminified-javascript. The single biggest confusion to clear up first: minification is NOT compression. Minification removes redundant source characters; compression (Gzip/Brotli) is a transport-layer encoding applied on top — the two are complementary, minify first then compress. It's also not concatenation/bundling (combining files to cut HTTP requests) or tree-shaking/dead-code elimination (proving code unreachable). CSS/JS minifiers can be aggressive; HTML minification is shallower and riskier. There's no universal savings percentage — it depends entirely on your own source files, so measure them rather than trusting a quoted range — and a smaller file doesn't by itself prove less execution or a Core Web Vitals/Search improvement; it's a supporting optimization, not a silver bullet, and not a direct ranking factor. Most modern bundlers (Webpack, Vite, Next.js, esbuild) minify production output by default, so the audit usually only fires for legacy sites, inline code, or third-party/plugin assets. This deep dive sits under the critical rendering path hub, next to compression. What minification is Where you'll run into it The one thing people get wrong Do you even need to do this yourself? What minification actually is Minification vs. compression vs. concatenation How it works, per file type How much does it actually save? The PageSpeed Insights / Lighthouse audit Do you even need to do this manually? How to minify and the tools Google names Platform specific implementation Risks and testing Does minification affect SEO? Where it fits in the performance stack Related topics — where to go next AI summary Official documentation Quotes from the source Minification audit — checklist The mental models Minification cheat sheet Tools for minifying and diagnosing Common mistakes and myths Minification is the process of removing unnecessary characters — whitespace","passages":["TL;DR — Minification means stripping the stuff your code doesn't need to run — spaces, line breaks, and comments — out of your CSS, JavaScript, and HTML.","The file still works exactly the same; it's just smaller, so it downloads a little faster.","If PageSpeed Insights ever told you to \"Minify CSS\" or \"Minify JavaScript,\" this is the fix.","What minification is Developers write code to be readable — indented nicely, spaced out, with comments explaining what each bit does.","All the whitespace and comments that make a file pleasant for a human to read are pure dead weight to a browser.","Minification is the automated process of removing that dead weight.","A minifier takes your source file and strips out: spaces, tabs, and line breaks comments for CSS and JavaScript, it can go further — shortening long variable names and collapsing redundant syntax What comes out is a file that does exactly the same thing, just smaller.","Fewer bytes to download means the page loads a touch faster."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/minification/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/minification/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Mixed Content","desc":"What mixed content is, why active mixed content gets blocked while passive gets warned about, and how to detect and fix insecure sub-resources at scale — the browser console, CSP reporting, upgrade-insecure-requests, block-all-mixed-content, and how CMSes and ad tech reintroduce it.","snippetText":"Mixed content is an HTTPS page loading a sub-resource over HTTP. Browsers' current taxonomy is upgradable versus blockable; the older active/passive split still tracks that for most types, with exceptions (CORS-enabled images, srcset/picture, and IP-host requests are blockable, not upgradable). Active mixed content — scripts, stylesheets, iframes, XMLHttpRequest/fetch — is blocked outright because a tampered script can rewrite the whole page, so it's what actually breaks a site after an HTTP→HTTPS migration; fix it first. Passive mixed content — images, audio, video — historically loaded with ","href":"/technical-seo/https/mixed-content/","slug":"mixed-content","meta":"Educational","aliases":["mixed-content","mixed content","active mixed content","passive mixed content","upgrade-insecure-requests","insecure resources on HTTPS","fix mixed content","Mixed Content","https"],"pillar":"technical-seo","taxonomy":["technical-seo","https"],"text":"mixed-content https technical-seo csp content-security-policy hsts Mixed content is an HTTPS page loading a sub-resource over HTTP. Browsers' current taxonomy is upgradable versus blockable; the older active/passive split still tracks that for most types, with exceptions (CORS-enabled images, srcset/picture, and IP-host requests are blockable, not upgradable). Active mixed content — scripts, stylesheets, iframes, XMLHttpRequest/fetch — is blocked outright because a tampered script can rewrite the whole page, so it's what actually breaks a site after an HTTP→HTTPS migration; fix it first. Passive mixed content — images, audio, video — historically loaded with a downgraded padlock and is now increasingly auto-upgraded or blocked too. Anchor links and other top-level HTTP navigation are not mixed content, and neither are insecure downloads (a related, separate boundary). Find it across fetched source, rendered/runtime state, and real-user sessions: crawl the HTTPS site, watch the Chrome DevTools console (exact wording is browser/version specific), or collect Content-Security-Policy-Report-Only violations; fix it by first confirming the HTTPS equivalent actually works, then pointing every sub-resource at https:// (relative/protocol-relative paths only after verifying ownership and base-URL behavior). The Content-Security-Policy: upgrade-insecure-requests header rewrites in-scope http:// sub-resource requests — including cross-origin ones — to https:// before they're sent and before mixed-content/CSP checks run; it has no HTTP fallback if the upgrade fails, it's a safety net rather than a substitute for cleaning the source, it does NOT upgrade top-level navigation to third-party origins (so it isn't a replacement for HSTS), and setting the directive itself in report-only mode is a no-op — monitor with a separate report-only policy instead. CMS databases (back up and dry-run replacements — naive string-replace can corrupt serialized data), plugins/themes, service workers/caches, and ad/analytics tags are the usual re-offenders; audit at scale with a crawler and CSP reporting rather than page by page. What mixed content is The two kinds, and what browsers do about them How to fix it What counts as mixed content — and what doesn't Active vs. passive: the distinction that sets your priorities Exceptions the active/passive split doesn't capture Detecting mixed content","passages":["TL;DR — Mixed content is when a secure page loads something — an image, a script, a stylesheet — over insecure .","That mixes a secure page with insecure pieces, which defeats the point of HTTPS.","Browsers block the dangerous kinds scripts, styles, iframes and warn about the milder kinds images, media .","It's the most common thing that breaks a site right after you switch to HTTPS, and the fix is simple: make every resource load over too.","What mixed content is When you move a site to HTTPS, the page itself loads securely.","But a page is never just the HTML — it pulls in images, scripts, stylesheets, fonts, videos, and sometimes embedded frames from other places.","If any of those pieces are still requested over plain , you have mixed content : a secure page carrying insecure cargo.","As Google's own explainer puts it, \"A page has mixed content when its initial HTML is loaded over a secure HTTPS connection, but other resources such as images, videos, stylesheets, and scripts are loaded over an insecure HTTP connection.\" That matters because the insecure pieces reopen exactly the hole HTTPS closed."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/https/mixed-content/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/https/mixed-content/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Multimodal Search","desc":"How search works across text, images, video, and audio — Google Lens, Circle to Search, multimodal AI Mode, and MUM — and what search engines have actually confirmed about optimizing for it.","snippetText":"Multimodal search means querying and retrieving across more than one modality — text, images, video, and audio together — instead of typing words and getting links. It's the shift behind Google Lens (point your camera), Circle to Search (circle something on screen), voice search, and multimodal AI Mode, where a photo plus a follow-up question becomes one query. The technical enabler is shared embeddings: images, text, and audio get mapped into the same vector space so they can be matched by meaning, the same mechanism that powers semantic search extended past text. Google's MUM (2021) was the ","href":"/ai-search/how-search-works/multimodal-search/","slug":"multimodal-search","meta":"Educational","aliases":["multimodal-search","multimodal search","multimodal AI search","visual search","Google Lens","Circle to Search","search with an image","voice search","MUM","Multimodal Search","semantic-search","embeddings","rag","grounding"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"multimodal-search ai-search google-lens circle-to-search mum ai-mode Multimodal search means querying and retrieving across more than one modality — text, images, video, and audio together — instead of typing words and getting links. It's the shift behind Google Lens (point your camera), Circle to Search (circle something on screen), voice search, and multimodal AI Mode, where a photo plus a follow-up question becomes one query. The technical enabler is shared embeddings: images, text, and audio get mapped into the same vector space so they can be matched by meaning, the same mechanism that powers semantic search extended past text. Google's MUM (2021) was the public marker for this; Gemini-era AI Mode pushes it further. What's officially confirmed is mostly about understanding the query across modalities — sweeping 'optimize for multimodal ranking' claims are industry theory, not confirmed mechanism. The durable playbook is unglamorous: descriptive alt text and filenames, real transcripts and captions, clean structured data, and content that answers the question a visual or spoken query implies. What multimodal search is Why it works: matching by meaning What it means for you What \"multimodal\" actually means The technical enabler: one shared space Google's public arc Where it can fail before retrieval even starts What's confirmed vs. what's theory What this means for SEO AI summary Official documentation Quotes from the source Which multimodal surface am I actually optimizing for? The mental models Multimodal search — cheat sheet Multimodal readiness checklist Inventory image context in the browser Find images that require interaction to acquire a URL Verify image assets and context after publishing Verify structured image associations Test yourself: Multimodal Search Resources worth your time Videos Multimodal search lets you query and get results across more than one modality — text, images, video, and audio together. Instead of typing words, you can point your camera, circle something on screen, or combine an image with a question, and the system understands them jointly. TL;DR — Multimodal search means you don't have to type to search. You can point your camera at something Google Lens , circle a thing on your screen Circle to Search , or speak a question — and combine those with words. The engine understands the picture, the voice, and the text togethe","passages":["TL;DR — Multimodal search means you don't have to type to search.","You can point your camera at something Google Lens , circle a thing on your screen Circle to Search , or speak a question — and combine those with words.","The engine understands the picture, the voice, and the text together , then answers.","It's the same \"match by meaning\" idea as modern search, just no longer limited to written words.","What multimodal search is Multimodal systems process or relate more than one modality, such as text and images.","Product capabilities vary, so image, video, audio, and text support should be verified per system.","For most of search's history there was one way in: you typed words, and you got a list of links.","A modality is just a type of input or output — text, an image, video, audio."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/how-search-works/multimodal-search/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/multimodal-search/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Naver Search Advisor","desc":"What Naver Search Advisor is, how to verify a site and request crawling in South Korea's dominant search engine, and why an international SEO who's fluent in Google Search Console still needs it — with the operational limits, verification failure modes, Naver's own IndexNow endpoint, and the portal-ecosystem catch spelled out from Naver's own documentation.","snippetText":"Naver Search Advisor is Naver's official webmaster portal for verifying a site, requesting crawling, submitting sitemaps/RSS, pushing instant updates via its own IndexNow-compatible endpoint, and reviewing diagnostics. Naver's own documentation says registration isn't required for a site to appear in Naver search — it unlocks reporting, not inclusion. It complements rather than replaces tools for other search engines, and no submission method guarantees crawling, indexing, or exposure.","href":"/technical-seo/tools/search-engine-tools/naver-search-advisor/","slug":"naver-search-advisor","meta":"Educational","aliases":["naver-search-advisor","Naver Search Advisor","Naver Webmaster Tools","네이버 서치어드바이저","Naver Search Advisor verification","bing-webmaster-tools","international-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools"],"text":"naver-search-advisor naver korea international-seo technical-seo search-engine-tools Naver Search Advisor is Naver's official webmaster portal for verifying a site, requesting crawling, submitting sitemaps/RSS, pushing instant updates via its own IndexNow-compatible endpoint, and reviewing diagnostics. Naver's own documentation says registration isn't required for a site to appear in Naver search — it unlocks reporting, not inclusion. It complements rather than replaces tools for other search engines, and no submission method guarantees crawling, indexing, or exposure. What Naver Search Advisor is What you do with it The catch nobody tells you up front What to remember What it is, and the framing I use Setup: registering and verifying your site Requesting web page collection indexing requests The partner crawl request API for larger, ongoing integrations Submitting sitemaps Submitting RSS feeds robots.txt: what Naver's crawler Yeti actually does with it Diagnostics: reading Naver's health reports The portal effect — why external sites are on a tilted field Naver vs. Google in Korea: do you still need this? Where Search Advisor fits in an international SEO stack Myths worth killing AI summary Official documentation Quotes from the source Do you need Naver Search Advisor — and what should you do first? Naver Search Advisor setup checklist The mental models Naver Search Advisor cheat sheet Playbook: \"My pages aren't showing up in Naver\" Naver Search Advisor (searchadvisor.naver.com) is Naver's free webmaster tool — the Korean-market equivalent of Google Search Console — for verifying site ownership, requesting that Naver crawl and index URLs, submitting sitemaps and RSS feeds, and diagnosing why pages aren't showing in Naver search. TL;DR — Naver Search Advisor is a free tool from Naver — think Google Search Console, but for Naver, South Korea's biggest search engine. Naver's own documentation actually says you don't have to register a site for it to appear in Naver search — its crawler picks up sites on its own. What Search Advisor gets you is proof of ownership plus reports on what Naver's crawled, indexed, and shown, and tools to speed discovery crawl requests, sitemaps, an IndexNow style instant ping . It won't magically get you ranked — and there's a catch: Naver includes result types from Naver's own services as well as external websites. What Naver Searc","passages":["TL;DR — Naver Search Advisor is a free tool from Naver — think Google Search Console, but for Naver, South Korea's biggest search engine.","Naver's own documentation actually says you don't have to register a site for it to appear in Naver search — its crawler picks up sites on its own.","What Search Advisor gets you is proof of ownership plus reports on what Naver's crawled, indexed, and shown, and tools to speed discovery crawl requests, sitemaps, an IndexNow style instant ping .","It won't magically get you ranked — and there's a catch: Naver includes result types from Naver's own services as well as external websites.","What Naver Search Advisor is If you're expanding into South Korea, you've probably been told \"you need to submit to Naver.\" That's not quite right — Naver's own registration FAQ says there's no search registration step; its crawler discovers and indexes sites on its own, the same way Google's does.","What registering with Naver Search Advisor at searchadvisor.naver.com actually gets you is visibility : once you verify ownership, Naver's free webmaster tool — the same idea as Google Search Console or Bing Webmaster Tools — starts showing you reports on what it's crawled, indexed, and exposed for your site, plus lets you nudge it toward specific pages.","For most of the last twenty years it's been the search engine in Korea, the way Google is almost everywhere else.","So if Korea is a market for you, ignoring Naver means ignoring where a huge share of Korean searches actually happen."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/naver-search-advisor/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/naver-search-advisor/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Naver SEO","desc":"Naver is South Korea's dominant portal-style search engine — a walled garden that favors its own Blog, Cafe, and Knowledge iN properties and ranks them with C-Rank and D.I.A. rather than a link graph. How Naver actually ranks content, why external pages struggle, where Google fits in 2026, and how to run a dual Naver + Google strategy.","snippetText":"Naver SEO means making a site accessible and understandable to Naver Search and evaluating the live result types shown to a Korean audience. Naver mixes open-web results with portal-specific services, so avoid fixed placement or market-share assumptions. Use Naver Search Advisor for verification, crawl and indexing diagnostics, sitemap submission, and current official guidance.","href":"/international-seo/market-specific-seo/naver-seo/","slug":"naver-seo","meta":"Educational","aliases":["naver-seo","Naver SEO","Naver ranking factors","C-Rank","D.I.A.","SEO for South Korea","Naver vs Google Korea","네이버 SEO","naver-search-advisor","market-specific-seo","international-seo"],"pillar":"international-seo","taxonomy":["international-seo","market-specific-seo"],"text":"international-seo market-specific-seo naver-seo korea-seo c-rank dia Naver SEO means making a site accessible and understandable to Naver Search and evaluating the live result types shown to a Korean audience. Naver mixes open-web results with portal-specific services, so avoid fixed placement or market-share assumptions. Use Naver Search Advisor for verification, crawl and indexing diagnostics, sitemap submission, and current official guidance. What Naver is Why your website might not rank on Naver Is Naver still worth it if Google is winning in Korea? Naver is a portal, not just a search engine How Naver ranks: C Rank and D.I.A. as a two layer system Why external web pages struggle Naver vs. Google in Korea: the market share is genuinely contested Naver's AI turn — and why it matters for share The Korean brand search quirk The practical play: dual Naver + Google How this fits the cluster AI summary Official documentation Quotes from the source Should you invest in Naver — and how? Naver SEO myths and mistakes to avoid Real, dated examples Dual Naver + Google execution checklist Search engine market share range Naver brand result coverage Qualified actions by engine and surface Resources worth your time Stats worth citing Test yourself: Naver SEO Naver SEO is optimizing for Naver, South Korea's dominant portal-style search engine. Naver favors content published on its own properties (Naver Blog, Cafe, Knowledge iN) and ranks it with its own C-Rank and D.I.A. systems, so the work is as much about getting inside the ecosystem as it is about a standalone website. TL;DR — Naver SEO means making a site accessible and understandable to Naver Search and using Naver Search Advisor for verification and diagnostics. Naver's search experience includes Naver services as well as the open web, so evaluate the actual result types for your audience instead of relying on a fixed market share or placement rule. What Naver is Naver 네이버 is South Korea's dominant web portal and search engine, run by NAVER Corporation. Think of Google's clean \"just a search box\" and then imagine almost the opposite: Naver's homepage and results pages are packed with news, shopping, blogs, community posts, and Q&A — a lot of it published on Naver's own platforms. That's the key thing to understand. Naver didn't just build a crawler that reads the open web. Back in the early 2000s there wasn't eno","passages":["TL;DR — Naver SEO means making a site accessible and understandable to Naver Search and using Naver Search Advisor for verification and diagnostics.","Naver's search experience includes Naver services as well as the open web, so evaluate the actual result types for your audience instead of relying on a fixed market share or placement rule.","What Naver is Naver 네이버 is South Korea's dominant web portal and search engine, run by NAVER Corporation.","Think of Google's clean \"just a search box\" and then imagine almost the opposite: Naver's homepage and results pages are packed with news, shopping, blogs, community posts, and Q&A — a lot of it published on Naver's own platforms.","Back in the early 2000s there wasn't enough Korean language content online to fill a good search results page, so Naver built the content itself: Naver Blog — Naver's own blogging platform.","Naver Knowledge iN — a crowdsourced question and answer service launched 2002 .","Plus Naver News, Naver Shopping, and Naver Place local/maps .","When you search on Naver, the results page shows blocks of this owned content prominently."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/international-seo/market-specific-seo/naver-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/market-specific-seo/naver-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"News Sitemaps","desc":"What a news sitemap is, the exact news: namespace tags and nesting, the two-day freshness window, the 1,000-URL cap, dead tags to stop copying, and how to submit one.","snippetText":"A news sitemap is a regular XML sitemap extended with Google's news: namespace so you can tell Google about your recent articles — it only lists articles created in the last two days (roughly 48 hours), and you either drop older URLs or strip their <news:news> block. It's capped at 1,000 <news:news> tags per file (much stricter than the 50,000-URL general limit), and past that you split with a sitemap index. It speeds discovery of breaking content but it is not a ranking factor and does not grant Google News eligibility. The old news:keywords and news:stock_tickers tags were dropped in 2018 an","href":"/technical-seo/how-search-works/discovery/sitemaps/news-sitemaps/","slug":"news-sitemaps","meta":"Educational","aliases":["news-sitemaps","news sitemap","news sitemaps","News sitemap","sitemaps","xml-sitemaps","google-news-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery","sitemaps"],"text":"news-sitemap sitemaps news-seo technical-seo google-news A news sitemap is a regular XML sitemap extended with Google's news: namespace so you can tell Google about your recent articles — it only lists articles created in the last two days (roughly 48 hours), and you either drop older URLs or strip their <news:news> block. It's capped at 1,000 <news:news> tags per file (much stricter than the 50,000-URL general limit), and past that you split with a sitemap index. It speeds discovery of breaking content but it is not a ranking factor and does not grant Google News eligibility. The old news:keywords and news:stock_tickers tags were dropped in 2018 and aren't in the current schema. You don't need Google Publisher Center for it to work, and Bing has no equivalent — it uses PubHub/RSS submission and IndexNow instead. Put it in its own file or a section of an existing sitemap, reference it in robots.txt, and submit it in Search Console like any sitemap. What a news sitemap is The one rule that surprises people What it does — and doesn't — do Your two options A news sitemap is not a normal sitemap The exact tag structure The required tags, one by one The freshness rule: last two days ≈48 hours The 1,000 URL cap stricter than you expect Tags you'll see in old tutorials but shouldn't use Do you need Google Publisher Center? No. Submitting and maintaining it Bing has no equivalent Where this sits in the sitemap family AI summary Official documentation Quotes from the source News sitemap checklist News sitemap — cheat sheet Should you use a news sitemap — and how? Common mistakes A minimal valid news sitemap Validate the XML before you submit Extract every article URL and its publish date A news sitemap is a sitemap (a standalone file or a section of an existing sitemap) that uses Google's news: XML namespace to tell Google about your recent articles — only those published in the last two days. It speeds discovery of breaking content; it isn't a ranking factor and isn't required for Google News eligibility. TL;DR — A news sitemap is a regular XML sitemap with a few extra \"news\" tags added, so you can point Google at your recent articles. The catch that makes it special: it should only list articles from the last two days — old ones get removed. It helps Google find breaking stories faster. It does not help you rank, and it isn't what gets you into Google News. You can","passages":["TL;DR — A news sitemap is a regular XML sitemap with a few extra \"news\" tags added, so you can point Google at your recent articles.","The catch that makes it special: it should only list articles from the last two days — old ones get removed.","It does not help you rank, and it isn't what gets you into Google News.","You can make it its own file or add the news tags to a sitemap you already have.","What a news sitemap is If you already know what an XML sitemap is — a file listing your URLs that you hand to search engines — a news sitemap is that same idea with a twist.","You add a small set of \"news\" tags to each entry, and instead of listing every page on your site, you list only your recent news articles .","News is time sensitive, so Google offers this format to help it discover breaking articles quickly.","Google's own words: \"If you are a news publisher, use news sitemaps to tell Google about your news articles and additional information about them.\" The one rule that surprises people A normal sitemap lists everything and never really expires an entry."],"updated":"2026-07-13T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/news-sitemaps/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/news-sitemaps/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Paywalls and SEO","desc":"How to keep paywalled and registration-gated content indexable without cloaking — flexible sampling, isAccessibleForFree/cssSelector markup, the JavaScript-paywall trap, and metering strategy.","snippetText":"A paywall doesn't inherently hurt SEO — Google has no bias against gated content, and the biggest paywalled publishers rank fine. What hurts is Google not being able to see enough content to understand the page. The supported fix is flexible sampling: let Googlebot crawl the full article, then declare the gated part with structured data (isAccessibleForFree plus a cssSelector). That's an explicit, sanctioned exception to cloaking — cloaking is about intent to deceive; this is a declared mechanism. Use metering (start around 6–10 free articles/month) or lead-in, gate server-side (not with JavaS","href":"/technical-seo/news-seo/paywalls-seo/","slug":"paywalls-seo","meta":"Educational","aliases":["paywalls-seo","paywall SEO","paywalls and SEO","flexible sampling","paywalled content SEO","isAccessibleForFree","Paywalls (in SEO)","news-seo","structured-data","cloaking"],"pillar":"technical-seo","taxonomy":["technical-seo","news-seo"],"text":"paywall news-seo flexible-sampling structured-data cloaking publishers A paywall doesn't inherently hurt SEO — Google has no bias against gated content, and the biggest paywalled publishers rank fine. What hurts is Google not being able to see enough content to understand the page. The supported fix is flexible sampling: let Googlebot crawl the full article, then declare the gated part with structured data (isAccessibleForFree plus a cssSelector). That's an explicit, sanctioned exception to cloaking — cloaking is about intent to deceive; this is a declared mechanism. Use metering (start around 6–10 free articles/month) or lead-in, gate server-side (not with JavaScript that just hides content in the DOM), give login pages unique copy, and never use robots.txt to hide private URLs. Do paywalls hurt SEO? The supported way to do it: flexible sampling Isn't showing Google the full article cheating? The one mistake to avoid What actually causes ranking problems it isn't the gate Flexible sampling: metering and lead in Why this isn't cloaking — the reasoning, not just the rule Implementing the structured data The JavaScript paywall trap Login pages and registration gates: the quieter pitfalls Testing and the \"leaky\" worry Bing's approach First Click Free — history, not policy Where this sits in news SEO AI summary Official documentation Quotes from the source Which paywall setup do I need? What not to do with paywalls Snippets for checking a paywall setup 1. Does the full article ship in the HTML? the JS trap test 2. Extract and sanity check the paywall structured data 3. Bookmarklet: is this page marked as gated? 4. Confirm the cached copy isn't leaking noarchive check A paywall restricts some or all of a page behind payment, subscription, or registration. Google's supported way to keep that content indexable is flexible sampling: mark the gated part with structured data (isAccessibleForFree, cssSelector) so Googlebot can still read it — which is why it doesn't count as cloaking. TL;DR — A paywall subscription, one time payment, or just a registration/login gate doesn't automatically hurt your SEO. Google has a supported way to handle it called flexible sampling : you let Googlebot read the whole article, then use a bit of structured data to tell Google which part is gated. Done that way, showing Google the full article while readers see a truncated version is not","passages":["TL;DR — A paywall subscription, one time payment, or just a registration/login gate doesn't automatically hurt your SEO.","Google has a supported way to handle it called flexible sampling : you let Googlebot read the whole article, then use a bit of structured data to tell Google which part is gated.","Done that way, showing Google the full article while readers see a truncated version is not cloaking — it's an approved exception.","Google supports paywalled content when crawlers can access it and the implementation uses the documented paywall structured data pattern.","Google's flexible sampling guidance describes metering and lead in approaches, not a ranking guarantee.","This is the first thing to get straight, because half the guides out there frame paywalls as an SEO problem to be minimized.","Google has no bias against paywalled content — the New York Times, the Wall Street Journal, the Financial Times, and the Washington Post all sit behind paywalls and rank prominently for exactly the stories they gate.","What does hurt rankings is Google not being able to see enough of your content to understand what the page is about."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/news-seo/paywalls-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/news-seo/paywalls-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Product Selection & Sort Order for Category Pages","desc":"Which products a category page shows, and in what order, is a merchandising decision most stores never brief their SEO on. This is how default sort order shapes crawling and internal links, how to handle out-of-stock products within a listing, and how to keep sort-order URLs from becoming duplicate content.","snippetText":"A category page makes two decisions every time it renders: which products appear (selection) and in what order (sort). Selection affects content-quality signals and how far your internal links reach; sort order affects duplicate content (via ?sort= URL variants) and which products get crawled most reliably. The accuracy spine: Google explicitly names sort order (?order=price) as a duplicate-content case — canonicalize sort variants to the base view or block them, since pure sort has essentially zero standalone keyword demand. Pick one default sort as the canonical, indexed view; a diversity-ba","href":"/ecommerce-seo/categories-and-merchandising/plp-product-selection/","slug":"plp-product-selection","meta":"Educational","aliases":["plp-product-selection","product sort order SEO","default sort order ecommerce","category page product order","sort by price duplicate content","product selection SEO","Product Selection & Sort Order","category-page-seo","faceted-navigation","ecommerce-seo","canonicalization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","categories-and-merchandising"],"text":"ecommerce-seo category-page-seo sort-order product-selection faceted-navigation crawl-budget duplicate-content A category page makes two decisions every time it renders: which products appear (selection) and in what order (sort). Selection affects content-quality signals and how far your internal links reach; sort order affects duplicate content (via ?sort= URL variants) and which products get crawled most reliably. The accuracy spine: Google explicitly names sort order (?order=price) as a duplicate-content case — canonicalize sort variants to the base view or block them, since pure sort has essentially zero standalone keyword demand. Pick one default sort as the canonical, indexed view; a diversity-based Featured/Relevance default (Baymard's research) usually serves both conversion and crawl goals. Out-of-stock products shouldn't lead the default sort — Mueller says stock isn't a normal-search ranking factor, but an OOS-heavy listing reads as low-value and wastes crawl/link equity. itemListOrder schema is descriptive only, with no ranking effect. Two decisions hiding in one page Why the order matters for search The two things that go wrong The simple checklist Two levers, two different SEO mechanics Why sort order is an SEO issue at all Choosing a default sort: merchandising vs. SEO they mostly align Out of stock products within the listing Managing sort order URLs technically Schema and sort order: what can and can't do Where this sits AI summary Official documentation Quotes from the source Which sort URL treatment should this get? Where should out of stock products go in the listing? The mental models Product selection & sort order audit Product selection & sort order — cheat sheet Common mistakes Tools for auditing selection & sort order Diagnosing product selection and sort problems Page Indexing fills with sort URLs Googlebot spends heavily on sort permutations Product selection and sort order are the two decisions a category page makes every time it renders — which products appear (in-stock filter, curated subset, out-of-stock inclusion), and in what sequence they appear (the default sort plus alternate sort options) — and both carry SEO consequences for crawling, internal linking, and duplicate content. TL;DR — Every category page makes two quiet decisions: which products it shows, and in what order . Merchandising usually picks the order to sell mo","passages":["TL;DR — Every category page makes two quiet decisions: which products it shows, and in what order .","Merchandising usually picks the order to sell more — but that same choice decides which products Google crawls most reliably and links to most.","Two things to get right: don't let out of stock products crowd the top of the page, and don't let the \"sort by\" buttons create thousands of near duplicate web addresses.","Two decisions hiding in one page Product selection determines which items belong on a category page; ordering determines their default sequence.","Search engines can only crawl products exposed through discoverable links, while faceted URLs require deliberate crawl controls.","When you look at a category page — \"running shoes,\" \"laptops under $500\" — it feels like a fixed grid of products.","The default sort what a shopper sees before touching anything — usually called \"Featured,\" \"Best Selling,\" \"Newest,\" or \"Price\" , plus the alternate sort options they can switch to.","Almost every store sets these for one reason: selling more ."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/plp-product-selection/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/plp-product-selection/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Product Feeds for AI","desc":"How to build and audit a product feed AI shopping agents can read and transact against — the three formats (Merchant Center, OpenAI ACP, schema.org), real-time accuracy, and the feed-quality failures that break agentic checkout.","snippetText":"A product feed for AI is the structured data file — identifiers, price, availability, policies — that AI shopping agents read directly. There's no single universal 'AI feed': OpenAI's docs describe the feed as the way you supply ChatGPT commerce data with no stated crawling fallback, while Google's docs describe combining crawling, on-page structured data, and your Merchant Center feed together. Serious merchants reconcile three parallel formats: the Google Merchant Center feed (which now has six optional AI-facing Conversational Attributes), OpenAI's ACP feed spec (Parquet/JSONL by SFTP, a da","href":"/ecommerce-seo/ai-commerce/product-feeds-for-ai/","slug":"product-feeds-for-ai","meta":"Educational","aliases":["product-feeds-for-ai","product feeds for AI","AI product feed","product feed for AI agents","AI shopping feed","Product Feeds for AI","agentic-commerce-protocol","merchant-center-feed-optimization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","ai-commerce"],"text":"A product feed for AI is the structured data file — identifiers, price, availability, policies — that AI shopping agents read directly. There's no single universal 'AI feed': OpenAI's docs describe the feed as the way you supply ChatGPT commerce data with no stated crawling fallback, while Google's docs describe combining crawling, on-page structured data, and your Merchant Center feed together. Serious merchants reconcile three parallel formats: the Google Merchant Center feed (which now has six optional AI-facing Conversational Attributes), OpenAI's ACP feed spec (Parquet/JSONL by SFTP, a daily full snapshot plus an intraday API for price/stock/promos), and schema.org Product/Offer markup as a cross-verification channel. Identifiers (GTIN, or brand + MPN) are the backbone across all three — never fabricate one. The thing that's genuinely different from Shopping-ads feed work is tolerance for staleness: a human double-checks a price on the page before buying, but an agent commits programmatically, so a feed/checkout price mismatch or phantom stock is a real risk to the transaction. One myth to drop: OpenAI's docs don't state a '15-minute update' rule — the documented model is a daily snapshot plus an intraday API. Instant Checkout in ChatGPT is currently partner-approved, not open to everyone. And feed quality gets you discovered and eligible; it doesn't guarantee conversion. What a product feed for AI actually is Why this is a little different from a normal Shopping feed The three files you'll hear about The one thing not to do There's no one universal \"AI feed\" — providers differ Three formats, not one The OpenAI ACP feed spec, field by field The \"15 minute update\" myth — what OpenAI actually documents Why real time accuracy is non negotiable for agents Google's Conversational Attributes — the concrete \"new for AI\" layer schema.org Product/Offer as the agent facing markup layer Feed quality failures that break agentic discovery and checkout What feed quality does and doesn't guarantee Where this fits AI summary Official documentation Quotes from the source Cross format AI feed audit checklist AI product feed — cheat sheet Which identifier do I put in my feed? What not to do with an AI feed Quick checks for feed/markup consistency Daily AI product feed operations SOP Common AI product feed issues A product feed for AI is a structured, machine-readable expo","passages":["TL;DR — A product feed for AI is a structured file — a list of your products with their prices, stock, identifiers, and policies — that supported AI shopping tools can use alongside other merchant data.","Accurate, complete feeds can make products eligible for commerce experiences; stale data can disrupt them.","Getting the identifiers right the barcode style GTIN, or brand + part number and keeping price and stock current is most of the job.","What a product feed for AI actually is When a person shops, they open your web page, read it, and decide.","When an AI shopping agent shops on someone's behalf, it mostly works from a feed instead — a structured file with a row for every product and columns describing it: title, price, availability, image, brand, an ID number, and your policies.","For ChatGPT's commerce flows, OpenAI's own docs describe the feed as the way merchants supply product data — there's no documented fallback to crawling your page.","Google is different: its own docs say Google combines crawling, on page structured data, and your Merchant Center feed, so the feed doesn't replace your HTML there — it's one of three channels Google cross checks against each other.","Either way, the practical takeaway holds: the thing most likely to decide whether your products get recommended isn't your page copy on its own — it's the data in that file."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/ai-commerce/product-feeds-for-ai/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/product-feeds-for-ai/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Product Identifiers: GTIN, MPN & Brand for Shopping Feeds","desc":"How GTIN, MPN, and brand identify products in Google and Bing shopping feeds — when each is required, the identifier_exists exemption, and the mismatches that trigger warnings.","snippetText":"Product identifiers — GTIN, MPN, and brand — are how shopping feeds match your listing to the right product in Google's Shopping Graph and Bing's catalog. A correct GTIN alone is usually enough; without one, brand + MPN is the fallback; products with genuinely none of these declare it with identifier_exists: false. Google is emphatic across four separate docs: never make up, guess, or reuse a GTIN — a valid-checksum number that belongs to a different product is the single most common cause of an 'Incorrect GTIN' disapproval. The enforcement history matters: 2019 made missing identifiers a prio","href":"/ecommerce-seo/merchant-center/product-identifiers/","slug":"product-identifiers","meta":"Educational","aliases":["product-identifiers","product identifiers","GTIN","MPN","identifier_exists","unique product identifiers","GTIN vs MPN","Product Identifiers","google-merchant-center","merchant-center-feed-optimization","ecommerce-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","merchant-center"],"text":"Product identifiers — GTIN, MPN, and brand — are how shopping feeds match your listing to the right product in Google's Shopping Graph and Bing's catalog. A correct GTIN alone is usually enough; without one, brand + MPN is the fallback; products with genuinely none of these declare it with identifier_exists: false. Google is emphatic across four separate docs: never make up, guess, or reuse a GTIN — a valid-checksum number that belongs to a different product is the single most common cause of an 'Incorrect GTIN' disapproval. The enforcement history matters: 2019 made missing identifiers a priority/visibility penalty rather than an automatic disapproval, 2021 extended enforcement to free listings and started disapproving duplicate GTINs, and December 2023 downgraded identifier_exists mismatches from disapproval to a warning. Bing works the same way, just enforced more mechanically at the API insert level. The bar for correctness went up; the penalty for a single mistake went down. What GTIN, MPN, and brand actually are The one rule that matters most What if my product doesn't have a GTIN? The thing most people get wrong The core mental model When each identifier is actually required The exemption — and its trap How to find or verify the correct GTIN Common mismatches that trigger warnings and disapprovals A short history of enforcement — why the advice you find online conflicts Bing / Microsoft Merchant Center: same model, one difference Quick reference: what to submit AI summary Official documentation Quotes from the source Which identifiers should I submit for this product? Mistakes that get products flagged Product identifiers — cheat sheet “Incorrect GTIN” even though the number passes a checksum Missing GTIN warning on a product that has a barcode warning Duplicate GTIN disapproval across separate products SKU rejected as a product identifier GTIN ownership check Product identifiers are the standardized values — GTIN (Global Trade Item Number), MPN (Manufacturer Part Number), and brand — that shopping feeds like Google Merchant Center and Microsoft Merchant Center use to match a product listing to the correct item in their catalog. A GTIN alone is usually enough; without one, brand + MPN is the fallback; products with none declare that with the identifier_exists attribute. TL;DR — Product identifiers are three standard values a shopping feed uses to figu","passages":["TL;DR — Product identifiers are three standard values a shopping feed uses to figure out exactly which product you're selling: the GTIN the number in the barcode , the MPN the manufacturer's part number , and the brand .","If your product has a GTIN, use it — that alone is usually enough.","And if it genuinely has none of them custom, handmade, vintage , you tell Google that on purpose with an attribute called .","What GTIN, MPN, and brand actually are When you list products through Google Merchant Center /ecommerce seo/merchant center/google merchant center/ or Microsoft/Bing's equivalent, the engine needs to know which specific product each row in your feed is.","It does that with three identifiers: GTIN — the Global Trade Item Number.","You'll also hear it called a UPC the 12 digit version common in North America or an EAN the 13 digit version common in Europe — those are just regional flavors of the same thing.","This is the code the manufacturer uses to identify one specific product among everything they make.","The one rule that matters most Here's the whole thing in one sentence: if your product has a GTIN, submit it — and never, ever make one up."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/merchant-center/product-identifiers/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/product-identifiers/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Product-Led SEO","desc":"The SaaS SEO tactic where a free tool, calculator, or template is itself the ranking asset — choosing an idea people search for, building in the SEO signals that make it spread, designing a signup funnel that doesn't kill the ranking, and avoiding the doorway-page trap.","snippetText":"Product-led SEO is building a free tool, calculator, template, or generator that is itself a usable product — not just an article about a topic — so it ranks on its own, earns links because people cite the tool itself, and feeds the paid product's signup funnel. It's the highest-leverage SaaS tactic because one asset does three jobs at once (ranking, link acquisition, product activation) that ordinary content can't. The work is in four steps: pick a tool idea people actually search for (validate with keyword data), build in the in-product SEO signals that make it rank and spread (public result","href":"/saas-seo/product-led-seo/","slug":"product-led-seo","meta":"Educational","aliases":["product-led-seo","product-led SEO","product-led search","free tool SEO","free tools as marketing","Product-Led SEO","saas-seo","saas-seo-checklist"],"pillar":"saas-seo","taxonomy":["saas-seo"],"text":"saas-seo product-led-seo free-tools doorway-pages programmatic-seo Product-led SEO is building a free tool, calculator, template, or generator that is itself a usable product — not just an article about a topic — so it ranks on its own, earns links because people cite the tool itself, and feeds the paid product's signup funnel. It's the highest-leverage SaaS tactic because one asset does three jobs at once (ranking, link acquisition, product activation) that ordinary content can't. The work is in four steps: pick a tool idea people actually search for (validate with keyword data), build in the in-product SEO signals that make it rank and spread (public result pages, a tool directory, embeddability, schema), design a signup funnel that gates the deeper layer without hiding the core tool, and don't mass-produce thin find-replace template variants — that's Google's doorway-abuse and scaled-content-abuse territory. What product led SEO actually is Why software companies love this The four things to get right What it means — and the scope I'm using Why it's the pillar's highest leverage tactic Step 1: Choose a tool idea people actually search for Step 2: Build in the in product SEO signals Step 3: Design the signup funnel without killing the SEO value Step 4: The doorway page trap — scaling tool variants without becoming a mill The standard disclaimer Where this fits in the SaaS pillar AI summary Official documentation Quotes from the source Should you build this free tool — and how should you gate it? A. Is this idea worth building? B. Where do you place the signup gate? C. Are you about to scale into a doorway mill? The product led SEO playbook What goes wrong — and the fix Reference examples Product led SEO launch checklist Tools for planning and auditing a product led SEO program Prompts for product led SEO planning and QA Product-led SEO is building a free tool, calculator, template, or generator that is itself a usable product — not just an article about a topic — so it ranks in search on its own merit, earns links and shares because people reference the tool itself, and feeds the paid product's signup funnel. The test versus ordinary content marketing: is the page the thing people came for, or an article that talks about the thing? TL;DR — Product led SEO is giving away a free tool — a calculator, a template, a generator — instead of just writing an articl","passages":["TL;DR — Product led SEO is giving away a free tool — a calculator, a template, a generator — instead of just writing an article about the topic.","The tool can become an indexable acquisition asset when it is useful, crawlable, and connected to the product.","It may attract links or signups, but those outcomes must be measured rather than assumed.","What product led SEO actually is Most SEO content is an article : it explains a topic.","Product led SEO builds an artifact : a working thing the visitor uses.","Picture someone searching \"burn rate calculator.\" A blog post titled \"How to calculate your burn rate\" is content marketing — it explains the formula and hopes you do the math yourself.","A working calculator that takes your numbers and spits out the answer, right there on the page, is product led — the page is the thing they came for, not an article about it.","That difference matters because a tool can do things an article can't: It ranks for the exact thing people searched for."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/saas-seo/product-led-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/saas-seo/product-led-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Product Review Feeds for Google & Microsoft Shopping","desc":"How to submit a product review feed to Google and Microsoft Merchant Center to earn star ratings in Shopping — the XML schema, eligibility, and sync gotchas.","snippetText":"A product review feed is a separate XML file — distinct from your main product feed and from Review/AggregateRating schema — that you submit to Google Merchant Center (and separately to Microsoft Merchant Center) to earn the 1–5 star ratings shown on Shopping ads and free listings. Google follows a defined XML schema (v2.4 at time of writing), needs a minimum of 50 reviews and an Interest Form signup to qualify, and always expects a full feed: any review not in your latest upload gets deleted. Reviews attach to products by matching GTIN, or Brand+MPN, or product URL — mismatches are the #1 rea","href":"/ecommerce-seo/merchant-center/product-review-feeds/","slug":"product-review-feeds","meta":"Educational","aliases":["product-review-feeds","product review feed","product review feeds","product reviews XML feed","Google product review feed","Bing product review feed","product ratings feed","Product Review Feed","google-merchant-center","merchant-center-feed-optimization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","merchant-center"],"text":"A product review feed is a separate XML file — distinct from your main product feed and from Review/AggregateRating schema — that you submit to Google Merchant Center (and separately to Microsoft Merchant Center) to earn the 1–5 star ratings shown on Shopping ads and free listings. Google follows a defined XML schema (v2.4 at time of writing), needs a minimum of 50 reviews and an Interest Form signup to qualify, and always expects a full feed: any review not in your latest upload gets deleted. Reviews attach to products by matching GTIN, or Brand+MPN, or product URL — mismatches are the #1 reason stars don't show. Microsoft reuses Google's XML format but layers on its own file-naming (ProductReviews prefix) and FTP/SFTP rules, and auto-surfaces ratings for BazaarVoice-integrated stores. Cherry-picking only positive reviews is against policy, incentivized reviews must be disclosed and sentiment-independent, and AI-generated reviews must be flagged as spam. What a product review feed is The other thing people confuse it with How you actually get the stars The honesty rules First: three different things all called \"reviews\" Why the feed matters Google product review feeds Eligibility Direct feed vs. approved aggregator XML schema essentials Submission methods and file limits The \"full feed replaces everything\" gotcha Content policy Microsoft Bing product review feeds Merchant Ratings vs. Product Ratings The BazaarVoice auto integration path Direct feed submission The 1 Bing failure mode Keeping product and review feeds in sync Where this sits in the cluster AI summary Official documentation Quotes from the source Which path should you take? A product review feed is a structured XML file (following a Google-defined schema) that merchants or approved aggregators submit to Google Merchant Center — and separately to Microsoft Merchant Center — to populate the 1–5 star ratings and review counts shown on Shopping ads and free product listings. It is a different file from the main product feed, and different from Review/AggregateRating schema markup. TL;DR — A product review feed is a separate file you send to Google and separately to Microsoft/Bing so that little star ratings show up next to your products in Shopping. It's not the same file as your regular product feed, and it's not the review star code you might have on your website. To qualify on Google you general","passages":["TL;DR — A product review feed is a separate file you send to Google and separately to Microsoft/Bing so that little star ratings show up next to your products in Shopping.","It's not the same file as your regular product feed, and it's not the review star code you might have on your website.","To qualify on Google you generally need at least 50 reviews and to sign up first.","What a product review feed is When you shop on Google and see a product with a row of gold stars and a number like \" 214 \" underneath it, that data usually traces back to a product review feed — a file the merchant or a reviews company acting on their behalf sent to Google.","That's covered in the Merchant Center feed optimization piece in this same cluster.","The product review feed — the actual customer reviews and their star ratings.","Google and Bing then match reviews to products using a shared ID — usually the GTIN the barcode number , or the Brand + MPN , or the product's URL.","If those IDs don't line up between your two feeds, Google may not match the review to the intended product."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/merchant-center/product-review-feeds/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/product-review-feeds/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Product Reviews & User-Generated Content SEO","desc":"Customer reviews and UGC are two SEO wins in one — unique, continuously-refreshing content on thin product pages, plus review-rich-result markup. But 'reviews' means three different things people constantly conflate, and fake reviews are now a Google manual-action risk AND a federal FTC violation. Here's what's actually documented versus SEO folklore.","snippetText":"'Reviews' means three different things people constantly mix up: (1) customer reviews/UGC on your own product page — a freshness and unique-content signal that can also power star-rating structured data; (2) Google's algorithmic reviews system (the old Product Reviews Update), which ranks first-party editorial review articles and explicitly does NOT evaluate the customer reviews in your PDP's review section; and (3) Review/AggregateRating schema markup, which is separate from both. The accuracy spine for 2026: the 2019 self-serving-reviews rule kills star snippets only for LocalBusiness/Organi","href":"/ecommerce-seo/product-pages/product-reviews-ugc/","slug":"product-reviews-ugc","meta":"Educational","aliases":["product-reviews-ugc","product reviews SEO","user-generated content SEO","UGC SEO","customer reviews SEO","product reviews and UGC","Product Reviews & User-Generated Content (UGC)","review-schema","aggregaterating-schema","product-review-feeds","rel-sponsored-ugc","ecommerce-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","product-pages"],"text":"product-reviews-ugc ecommerce-seo user-generated-content review-schema structured-data fake-reviews 'Reviews' means three different things people constantly mix up: (1) customer reviews/UGC on your own product page — a freshness and unique-content signal that can also power star-rating structured data; (2) Google's algorithmic reviews system (the old Product Reviews Update), which ranks first-party editorial review articles and explicitly does NOT evaluate the customer reviews in your PDP's review section; and (3) Review/AggregateRating schema markup, which is separate from both. The accuracy spine for 2026: the 2019 self-serving-reviews rule kills star snippets only for LocalBusiness/Organization — not Product, so your genuine customer reviews are fine. Fake reviews carry two independent risks: a Google structured-data manual action ('reviews not by actual users may result in manual action') and, since October 21, 2024, real FTC civil penalties (up to $53,088 per violation, the inflation-adjusted maximum in effect since January 2025 — not legal advice; verify the current figure before citing it in anything binding). Don't aggregate reviews scraped from other sites into your markup — Google forbids it. And that '4.2–4.7 star sweet spot' stat everyone repeats is unsourced folklore, not a ranking factor. Three different things called \"reviews\" Why customer reviews actually help The one myth worth killing early The line you can't cross: fake reviews Start by disambiguating: three concepts, one word Why UGC is worth investing in the real SEO argument Google's reviews system, explained — and what it does NOT touch Its checklist is written for editorial reviewers — but you can steal from it Brief history Review / AggregateRating structured data — the short version The self serving reviews rule — and why it probably doesn't apply to you The fake review problem — two separate risk regimes Risk 1 — Google: a structured data manual action Risk 2 — the FTC: federal civil penalties Bing / Microsoft — an honest, thin section A cautionary tale from the editorial side What's documented vs. what's SEO folklore AI summary Official documentation Quotes from the source Reviews & UGC program checklist The mental models Product reviews & UGC — cheat sheet Reviews & UGC anti patterns Product reviews and UGC are customer-submitted ratings, reviews, Q&A, and media on ecommerce page","passages":["TL;DR — Customer reviews on your product pages help SEO in a simple way: they add fresh, unique words to pages that would otherwise be manufacturer boilerplate, and marked up correctly they can put star ratings in your search result.","But \"reviews\" means three different things people mix up — your customers' reviews, Google's system for ranking review articles by bloggers, and the schema markup that draws the stars.","And fake reviews are now both a Google problem and illegal in the US.","Three different things called \"reviews\" Before anything else, untangle this, because almost every guide online blends them into one fuzzy \"reviews help SEO\" story: 1.","Customer reviews and UGC on your own product page — the star ratings, written reviews, Q&A, and photos your buyers leave.","Google's \"reviews system\" it used to be called the Product Reviews Update .","This ranks articles written about products — a blogger reviewing a blender after testing it.","Google says outright it does not look at the customer reviews sitting in your product page's review section."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/product-pages/product-reviews-ugc/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/product-reviews-ugc/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Promotions & Deal Pages SEO","desc":"How to build and optimize your store's own sale, deals, and coupon pages so they rank for high-intent bargain queries — the durable-URL rule, keeping pages live between promotions, why coupon rich results are gone and discounts belong in Product schema, and how to avoid the thin-coupon and doorway traps.","snippetText":"A promotions or deal page (a /sale/, /deals/, or /coupons/ page) is a specialized category page whose classification is 'currently discounted' — it should rank for high-intent bargain queries and route crawlers to the discounted products. Classify it first: recurring event, permanent hub, or genuinely one-time campaign — each has a different lifecycle. The core accuracy spine: for a recurring event or ongoing hub, the biggest mistake is spinning up a new URL for every occurrence and deleting it after — use one durable, recurring URL (Google: /sale/black-friday, not /sale/2020/black-friday) and","href":"/ecommerce-seo/categories-and-merchandising/promotions-deal-pages/","slug":"promotions-deal-pages","meta":"Educational","aliases":["promotions-deal-pages","promotions and deal pages","deal pages SEO","sale page SEO","coupon page SEO","promotions SEO","Promotions & Deal Pages SEO","category-page-seo","ecommerce-seo","ecommerce-seo-seasonality","product-page-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","categories-and-merchandising"],"text":"promotions-deal-pages ecommerce-seo sale-pages structured-data url-structure crawl-budget A promotions or deal page (a /sale/, /deals/, or /coupons/ page) is a specialized category page whose classification is 'currently discounted' — it should rank for high-intent bargain queries and route crawlers to the discounted products. Classify it first: recurring event, permanent hub, or genuinely one-time campaign — each has a different lifecycle. The core accuracy spine: for a recurring event or ongoing hub, the biggest mistake is spinning up a new URL for every occurrence and deleting it after — use one durable, recurring URL (Google: /sale/black-friday, not /sale/2020/black-friday) and keep it live at a 200 between events, rather than 404ing it, which loses the page's accrued links and indexing history (Google doesn't promise a ranking boost from reuse alone). A true one-time promotion gets evaluated on its own — redirect, retain, or retire — not defaulted to keep-live-forever. Discounts belong in Product structured data, not special coupon markup: Google deprecated its dedicated offer/coupon rich results, and it computes price-drop badges itself by watching prices over time — so schema makes you eligible for merchant-listing enhancements, it does not make you rank; Merchant Center's sale-price feed dates and its separate Promotions program (country-limited, reviewed) are additional layers that don't auto-sync with on-page schema. And a coupon page that exists only to capture '[brand] coupon' searches with no real value drifts into thin, doorway territory that Google devalues. What a promotions or deal page is The one rule that saves you the most pain The coupon badge myth The simple checklist Why deal pages are just category pages wearing a costume The core decision: durable URL, kept live Structured data: discounts live in Product, not coupon markup The thin coupon and doorway trap Internal linking — the on ramp job Titles, meta, H1 Monitoring Where this sits AI summary Official documentation Quotes from the source Promotions & deal pages checklist The mental models Promotions & deal pages — cheat sheet Anti patterns — what quietly kills deal page SEO Tools for promotions & deal pages What should happen when a promotion ends? Common promotion page problems An expired deal page still shows in search A recurring sale page loses visibility each year Promotions an","passages":["TL;DR — A promotions or deal page is a page on your own store that gathers your discounts — a \"Sale\" page, a Black Friday landing page, a \"Deals\" or \"Coupons\" page.","First, use one permanent web address per event , keep it live all year even when there's no sale, and just update it — don't build a brand new page every time and delete the old one.","Second, your discounts belong in your normal product data; there's no special \"coupon\" tag that puts a badge in Google anymore, and a coupon page that only exists to grab \" your brand coupon\" searches — with nothing actually useful on it — is the kind of thin page Google looks down on.","What a promotions or deal page is When your store runs a sale, you usually make a page for it.","That page can take a few shapes: A sale hub — — listing everything currently discounted.","A clearance or outlet page — the permanent \"always something on sale here\" section.","A normal category page groups products by what they are \"running shoes\" .","A deal page groups them by the fact that they're discounted right now ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/promotions-deal-pages/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/promotions-deal-pages/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"PWA SEO","desc":"Progressive Web App SEO — why \"going PWA\" doesn't improve rankings, why the manifest.json is SEO-irrelevant, how a misconfigured service worker can serve Googlebot a stale cache, and where Core Web Vitals and HTTPS actually (and don't) overlap with SEO.","snippetText":"A PWA is a website enhanced with a manifest and a service worker — it's still a normal (usually JavaScript/SPA) site to Google, with no inherent ranking advantage. The manifest.json is SEO-irrelevant (it controls installability, not indexing). The one real PWA-specific risk is the service worker: Google's renderer doesn't run service workers when indexing, so a cache-first HTML strategy can hand Googlebot a stale or offline page. Fix that with network-first for HTML, and the rest is ordinary JS/SPA SEO.","href":"/technical-seo/mobile-seo/pwa-seo/","slug":"pwa-seo","meta":"Educational","aliases":["pwa-seo","PWA SEO","progressive web app SEO","PWA search","progressive web app ranking","spa-seo","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"A PWA is a website enhanced with a manifest and a service worker — it's still a normal (usually JavaScript/SPA) site to Google, with no inherent ranking advantage. The manifest.json is SEO-irrelevant (it controls installability, not indexing). The one real PWA-specific risk is the service worker: Google's renderer doesn't run service workers when indexing, so a cache-first HTML strategy can hand Googlebot a stale or offline page. Fix that with network-first for HTML, and the rest is ordinary JS/SPA SEO. What a PWA actually is The big myth to bust The one thing that can actually hurt What to actually do A PWA is a website first The core myth: \"going PWA\" does not improve rankings Manifest.json: installability ≠ indexability Service workers: the one real PWA specific SEO risk HTTPS: a service worker requirement, and separately a tiny ranking signal Core Web Vitals: the one legitimate overlap App like features are UX, not ranking factors Ecommerce PWA storefronts: a short callout Bing and PWAs The bottom line AI summary Official documentation Quotes from the source Should I go PWA — and what will it do for SEO? PWA SEO checklist PWA SEO — cheat sheet Incident playbook: search traffic dropped after a PWA release Treating the manifest as an SEO file Caching HTML forever Returning the offline shell as a successful page PWA SEO is making sure a Progressive Web App's content is server-rendered or prerendered, its service worker never traps Googlebot in a stale cache, and its URLs are real, unique, and crawlable — since the manifest and offline features that make it a 'PWA' carry no ranking weight of their own. TL;DR — A PWA Progressive Web App is a normal website with two extras bolted on: a manifest that lets people install it to their home screen, and a service worker that can make it work offline. To Google it's still just a website — going PWA does not boost your rankings. The one thing that can actually hurt you is a badly set up service worker that shows Google an old, cached page instead of your live one. What a PWA actually is A Progressive Web App is a website that's been enhanced to feel more like a native app. Two pieces make it a PWA: A web app manifest — a small file that tells the browser your app's name, icons, and colors, so a visitor can tap \"Add to Home Screen\" and get an app style icon and splash screen. A service worker — a bit of JavaScript that","passages":["TL;DR — A PWA Progressive Web App is a normal website with two extras bolted on: a manifest that lets people install it to their home screen, and a service worker that can make it work offline.","To Google it's still just a website — going PWA does not boost your rankings.","The one thing that can actually hurt you is a badly set up service worker that shows Google an old, cached page instead of your live one.","What a PWA actually is A Progressive Web App is a website that's been enhanced to feel more like a native app.","Two pieces make it a PWA: A web app manifest — a small file that tells the browser your app's name, icons, and colors, so a visitor can tap \"Add to Home Screen\" and get an app style icon and splash screen.","A service worker — a bit of JavaScript that runs in the background and can cache files so the site loads fast on repeat visits and even works offline.","Underneath, a PWA is almost always a regular JavaScript website React, Vue, Angular, and so on .","The big myth to bust The most common thing people believe is: \"If we turn our site into a PWA, we'll rank better.\" Google has said plainly that this isn't true."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/mobile-seo/pwa-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/pwa-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Query Fan-Out","desc":"How query fan-out works — the technique behind Google AI Overviews and AI Mode that decomposes one question into multiple concurrent sub-queries, retrieves across them, and synthesizes a single answer — and what it means for getting cited.","snippetText":"Query fan-out is the retrieval technique behind Google AI Overviews and AI Mode: instead of running one search, the model decomposes a single question into multiple related sub-queries, runs them concurrently across the core Search index, and synthesizes the retrieved passages into one answer. Google confirms both AI Overviews and AI Mode 'may use a query fan-out technique — issuing multiple related searches across subtopics and data sources.' It's the retrieval step inside RAG/grounding — there's no separate AI index and no separate AI ranking system. The SEO consequence is concrete: your con","href":"/ai-search/how-search-works/query-fan-out/","slug":"query-fan-out","meta":"Educational","aliases":["query-fan-out","query fan-out","query fanout","fan-out","fan out","query fan-out technique","AI Mode fan-out","Query Fan-Out","rag","grounding","ai-overviews-optimization"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"query-fan-out ai-search ai-overviews ai-mode rag grounding Query fan-out is the retrieval technique behind Google AI Overviews and AI Mode: instead of running one search, the model decomposes a single question into multiple related sub-queries, runs them concurrently across the core Search index, and synthesizes the retrieved passages into one answer. Google confirms both AI Overviews and AI Mode 'may use a query fan-out technique — issuing multiple related searches across subtopics and data sources.' It's the retrieval step inside RAG/grounding — there's no separate AI index and no separate AI ranking system. The SEO consequence is concrete: your content has to be retrievable for the implied sub-questions a query spawns, not just the head query someone typed. Google's own explanation for why direct top-10 sourcing has fallen (roughly 76% of AI Overview citations in mid-2025 to about 38% in early 2026) is that fan-out matured. The popular '8–12 sub-queries' figure is industry estimation, not an official Google number. What query fan out is Why it matters to you Where fan out sits in the pipeline What Google has actually confirmed and what it hasn't Grounding queries — the closest thing to seeing fan out Why this is reshaping citations What fan out means for your content AI summary Official documentation Quotes from the source The mental models Query fan out — cheat sheet Fan out readiness checklist Fan out, worked through Simulating fan out for research Tools for working with fan out Model a query fan out without inventing demand Test whether one page covers a fan out coherently Resources worth your time Stats worth citing Test yourself: Query Fan Out Query fan-out is the technique where an AI search system breaks a single user question into multiple related sub-queries, runs those searches concurrently, and synthesizes the retrieved results into one answer. Google confirms AI Overviews and AI Mode 'may use a query fan-out technique' issuing multiple related searches across subtopics. TL;DR — Query fan out is how AI search turns one question into several searches. Instead of running a single search, the system breaks your question into a handful of related sub questions, searches all of them at once, and stitches the results into one answer. It's why a Google AI Overview can cover a topic from several angles — and why your content needs to answer more than j","passages":["TL;DR — Query fan out is how AI search turns one question into several searches.","Instead of running a single search, the system breaks your question into a handful of related sub questions, searches all of them at once, and stitches the results into one answer.","It's why a Google AI Overview can cover a topic from several angles — and why your content needs to answer more than just the exact words someone typed.","What query fan out is Google describes query fan out in AI Mode as issuing multiple related searches across subtopics and data sources.","That documented product behavior should not be generalized to every model or search system.","When you type a question into a regular search box, the engine runs that query and shows you a list of pages.","Behind the scenes, it takes your one question and fans it out into multiple related searches — one for each angle or sub topic your question implies — runs them all, and then writes a single answer from everything it pulled back.","Google confirms this happens in its own documentation: both AI Overviews and AI Mode \"may use a 'query fan out' technique — issuing multiple related searches across subtopics and data sources — to develop a response.\" A quick example."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/how-search-works/query-fan-out/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/query-fan-out/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Related Products & Internal Linking","desc":"Related-product modules — 'You May Also Like,' 'Frequently Bought Together,' 'Customers Also Viewed' — aren't just merchandising. Every item is an internal link, which makes them a crawl-path and anchor-text asset. How to implement them so they help SEO: real <a href> links, descriptive anchors, relevance over volume, and reconciling cross-sell with orphan-page rescue — without scrambling your category hierarchy.","snippetText":"Related-product modules ('You May Also Like,' 'Frequently Bought Together,' 'Customers Also Viewed') are internal links, not just merchandising widgets — so they open crawl paths into deep catalog pages and pass relevance and PageRank. The accuracy spine: they only help SEO if they're real crawlable <a href> links (Google can't reliably extract URLs from <a> elements without an href), use descriptive anchor text (the product name, not 'View' or 'Learn more'), and point to genuinely relevant products. Two purposes fight inside one widget — a rules engine optimizes for order value, not for rescu","href":"/ecommerce-seo/architecture-and-crawl-control/related-products-internal-links/","slug":"related-products-internal-links","meta":"Educational","aliases":["related-products-internal-links","related products SEO","related products internal linking","product recommendation links","cross-sell SEO","Related Products & Internal Linking","internal-links","anchor-text","product-page-seo","category-page-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"related-products-internal-links ecommerce-seo internal-linking anchor-text crawl-budget cross-sell Related-product modules ('You May Also Like,' 'Frequently Bought Together,' 'Customers Also Viewed') are internal links, not just merchandising widgets — so they open crawl paths into deep catalog pages and pass relevance and PageRank. The accuracy spine: they only help SEO if they're real crawlable <a href> links (Google can't reliably extract URLs from <a> elements without an href), use descriptive anchor text (the product name, not 'View' or 'Learn more'), and point to genuinely relevant products. Two purposes fight inside one widget — a rules engine optimizes for order value, not for rescuing orphaned or thin-authority pages — so deliberately steer some links toward deep, high-margin, and best-selling products. Dense cross-linking on ecommerce sites is not inherently a problem (Mueller); the real risk is letting cross-links replace a recognizable category hierarchy. A sitemap gets pages indexed, not well-contextualized — it's not a substitute for on-page links. What these modules actually are Why that matters for SEO The two things to get right The simple version The two purposes hiding in one widget The crawl path case: category pages and sitemaps aren't enough Getting the technical implementation right Anchor text for recommendation widgets Relevance beats volume — the thin/irrelevant link block How many related product links is too many? Reconciling cross sell commerce and SEO driven linking Maintenance: stale links, out of stock swaps, redirects Measuring whether it worked Where this sits AI summary Official documentation Quotes from the source Related products SEO checklist The mental models Related products & internal linking — cheat sheet What goes wrong Real world module names and how to read them A steering example commerce vs. SEO Resources worth your time Related-product modules — 'You May Also Like,' 'Frequently Bought Together,' 'Customers Also Viewed' — are on-page widgets that link one product or category page to others in the catalog. Each item is an internal link, so the same modules merchandisers build for cross-sell double as an SEO channel: they open crawl paths into deep catalog pages and pass relevance and PageRank between related products. TL;DR — Those \"You May Also Like\" and \"Frequently Bought Together\" boxes on product pages aren't","passages":["TL;DR — Those \"You May Also Like\" and \"Frequently Bought Together\" boxes on product pages aren't just there to sell more stuff.","Each product in the box is a link — and links are how Google finds and connects your pages.","So the same widget your store built to boost sales is quietly doing SEO work too.","Here's the part most people miss: each of those recommended products is a link.","So a \"related products\" box is doing two jobs at once — nudging shoppers and connecting your catalog together for search engines.","Why that matters for SEO Google finds your products by following links.","Your main menu and category pages link to a lot of them — but not always all of them.","Big catalogs have products buried deep, or ones that fall off the end of a long category listing."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/related-products-internal-links/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/related-products-internal-links/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Reranking","desc":"Reranking is the second stage of a retrieval pipeline — how bi-encoders and cross-encoders reorder retrieved results by relevance before they're served or handed to an LLM, and what that means for AI search visibility.","snippetText":"Reranking is the second stage of a retrieval pipeline: a cheap, broad first pass retrieves a candidate set of documents or passages, then a slower, more precise model re-scores and reorders that shortlist before results are served or fed to an LLM. The core mechanic is bi-encoder vs cross-encoder — a bi-encoder encodes the query and document separately into vectors and compares them (fast, scalable, less precise), while a cross-encoder encodes them together and scores the pair directly (slower, more accurate). You can't score a whole billion-page corpus with the expensive model, so you retriev","href":"/ai-search/how-search-works/reranking/","slug":"reranking","meta":"Educational","aliases":["reranking","re-ranking","reranker","cross-encoder","bi-encoder","cross-encoder vs bi-encoder","Reranking","embeddings","vector-search","rag"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"reranking ai-search cross-encoder bi-encoder rag bert passage-ranking Reranking is the second stage of a retrieval pipeline: a cheap, broad first pass retrieves a candidate set of documents or passages, then a slower, more precise model re-scores and reorders that shortlist before results are served or fed to an LLM. The core mechanic is bi-encoder vs cross-encoder — a bi-encoder encodes the query and document separately into vectors and compares them (fast, scalable, less precise), while a cross-encoder encodes them together and scores the pair directly (slower, more accurate). You can't score a whole billion-page corpus with the expensive model, so you retrieve broadly and rerank the shortlist. Google doesn't use the word 'reranking' publicly, but its named BERT and passage-ranking systems do the job, and Microsoft documents an explicit Bing-derived reranker in Azure AI Search. Reranking is not the same as Reciprocal Rank Fusion. The SEO upshot: because rerankers score query-passage pairs jointly, self-contained, unambiguous passages that read as a direct answer score better. What reranking is Why do it in two steps? Why it matters for you The retrieve then rerank pattern Bi encoders vs cross encoders: the core mechanic Why not just use the accurate model on everything? How Google does this How Bing/Microsoft does this Reranking in RAG and AI search Reranking vs. Reciprocal Rank Fusion RRF A brief history: BM25 → RankBrain → BERT → LLM rerankers What this means for content and SEO AI summary Official documentation Quotes from the source The mental models Reranking — cheat sheet My page isn't showing up — is it retrieval or reranking? Reranking anti patterns Test yourself: Reranking Resources worth your time Reranking is the second stage of a retrieval pipeline: after a cheap, broad first pass pulls a candidate set of documents or passages, a slower, more precise model re-scores and reorders that shortlist by true relevance before the results are served or handed to an LLM. TL;DR — Reranking is a second look . A search or AI system first grabs a big pile of maybe relevant pages quickly and roughly, then a slower, smarter model re scores that shortlist and puts the best ones on top — before you see the results or before an AI writes its answer. Being pulled into the shortlist isn't enough; you also have to survive the reorder. What reranking is Reranking app","passages":["A search or AI system first grabs a big pile of maybe relevant pages quickly and roughly, then a slower, smarter model re scores that shortlist and puts the best ones on top — before you see the results or before an AI writes its answer.","Being pulled into the shortlist isn't enough; you also have to survive the reorder.","What reranking is Reranking applies a second scoring stage to candidates produced by an initial retriever.","Cross encoders are one approach, not the definition of every reranker.","So you do a fast skim first, pull out the 20 that look promising, and then read those 20 closely to rank them.","That two step process is exactly how modern search and AI systems find relevant content.","The system does a fast, cheap pass over a huge index and pulls back a candidate set of pages or passages that look relevant.","A second, slower, more careful model looks at just that shortlist and re scores each candidate for how well it actually answers the query, then reorders them."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/how-search-works/reranking/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/reranking/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Rich Results Report (Google Search Console)","desc":"What the Rich Results Report in Google Search Console shows, how it differs from the Rich Results Test, how to read Valid vs Invalid items, and how to fix and validate structured data issues.","snippetText":"The Rich Results Report is Google Search Console's site-wide, over-time health check on your structured data. It gives each supported rich result type its own report (under Enhancements, or Shopping for Product/Merchant listings) with a Valid-vs-Invalid chart and two issue tables: 'Why items are invalid' (critical, blocks eligibility) and 'Improve item appearance' (non-critical warnings). Get three things right and most confusion disappears: it's the Report (post-deployment monitoring), not the Rich Results Test (pre-publish single-URL check); it counts items sampled, not pages, so the numbers","href":"/technical-seo/tools/search-engine-tools/google-search-console/rich-results-report/","slug":"rich-results-report","meta":"Educational","aliases":["rich-results-report","Rich Results Report","rich result status report","rich results report in Search Console","Enhancements report","rich-results","structured-data","google-search-console"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"google-search-console rich-results structured-data schema-markup technical-seo The Rich Results Report is Google Search Console's site-wide, over-time health check on your structured data. It gives each supported rich result type its own report (under Enhancements, or Shopping for Product/Merchant listings) with a Valid-vs-Invalid chart and two issue tables: 'Why items are invalid' (critical, blocks eligibility) and 'Improve item appearance' (non-critical warnings). Get three things right and most confusion disappears: it's the Report (post-deployment monitoring), not the Rich Results Test (pre-publish single-URL check); it counts items sampled, not pages, so the numbers rarely tie out; and Valid only means eligible, never guaranteed to show. Most Invalid items trace to a missing required property, fixed at the template level then confirmed with Validate fix (allow ~two weeks). Not every schema.org type gets a report — only Google's supported feature types do — and FAQ stopped appearing in Search on May 7, 2026, with Google's own changelog stating a plan to drop the dedicated report and Rich Results Test support too. What this report is Report vs. Test — don't mix them up What the states mean The one thing everyone gets wrong Where it lives and when it appears Report vs. Rich Results Test — the distinction Google itself draws Which types get their own report Reading the chart and the two issue tables Why the numbers never quite add up Common causes of Invalid items Fixing and validating issues Valid doesn't mean it will show Don't panic at a sudden spike — the report has been wrong before What just changed — FAQ rich results being wound down 2026 Rich Results Report vs. Bing's markup validation AI summary Official documentation Quotes from the source Which path should I take? Rich Results Report — cheat sheet Working the Rich Results Report — checklist The mental models Tools for working the report Prove a structured data fix reached Google The Rich Results Report is Google Search Console's site-wide, over-time health check on structured data: a separate per-type report (under Enhancements, or Shopping for Product/Merchant listings) showing how many items are Valid, Valid with warnings, or Invalid, and why. It only tracks markup that's eligible for a supported rich result, and it can't fix anything for you. TL;DR — Search Console's rich result status reports","passages":["TL;DR — Search Console's rich result status reports tell you whether structured data for a supported feature is eligible for a rich result — those enhanced listings like star ratings, recipe images, and breadcrumbs.","It gives each type of rich result its own report showing how many items are Valid good to go , Valid with warnings fine, but missing some recommended details , or Invalid has an error that blocks it .","What this report is If you've added structured data schema markup to your site — for products, recipes, articles, breadcrumbs, reviews, and so on — the Rich Results Report is where you check whether Google can actually use it.","Open Google Search Console, look under Enhancements in the left menu, and you'll see a report for each rich result type Google found on your site.","Each report does one job: it takes the structured data items Google found, sorts them into Valid or Invalid, tracks that over time on a chart, and lists the issues holding back the invalid ones.","Test — don't mix them up This is the single most common confusion, so let's kill it up front.","There are two Google tools with almost the same name: The Rich Results Test is a one off checker.","You paste in one URL, hit test, and it tells you what rich results that page is eligible for right now."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/rich-results-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/rich-results-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SaaS SEO Audit","desc":"How to actually run a SaaS SEO audit — cadence, scoping the crawl across marketing site/docs/app, checking indexation for bloat, Core Web Vitals on a JS-heavy stack, competitive gap analysis against comparison and integration pages, and prioritizing findings instead of printing a 200-page report.","snippetText":"A SaaS SEO audit isn't a longer checklist — it's the recurring process of running the review: crawling the marketing site (while confirming the app and docs are handled deliberately, not by accident), checking indexation for bloat by reconciling submitted vs. crawled vs. indexed counts, testing Core Web Vitals with field data (not one lab run) on a JavaScript-heavy stack, running a content gap analysis against competitors' comparison and integration pages, and then prioritizing findings by impact and effort instead of reporting everything you found. Cadence is continuous light monitoring plus ","href":"/saas-seo/saas-seo-audit/","slug":"saas-seo-audit","meta":"Educational","aliases":["saas-seo-audit","SaaS SEO audit","SaaS technical SEO audit","audit a SaaS site","SaaS SEO review","SaaS SEO Audit","saas-seo","saas-seo-checklist"],"pillar":"saas-seo","taxonomy":["saas-seo"],"text":"saas-seo seo-audit technical-seo core-web-vitals indexation javascript-seo A SaaS SEO audit isn't a longer checklist — it's the recurring process of running the review: crawling the marketing site (while confirming the app and docs are handled deliberately, not by accident), checking indexation for bloat by reconciling submitted vs. crawled vs. indexed counts, testing Core Web Vitals with field data (not one lab run) on a JavaScript-heavy stack, running a content gap analysis against competitors' comparison and integration pages, and then prioritizing findings by impact and effort instead of reporting everything you found. Cadence is continuous light monitoring plus a full pass quarterly-to-semiannually. The failure mode is a 200-page audit nobody reads. What a SaaS SEO audit actually is An audit is a process, not a longer checklist Cadence: continuous monitoring + a full periodic pass Scoping the crawl: marketing site, docs, and confirming the app is excluded Checking indexation for bloat Core Web Vitals on a JavaScript rendered stack JavaScript rendering checks as an audit step Content and competitive gap analysis: start from comparison and integration pages Prioritizing findings Putting it together: a repeatable audit cadence AI summary Official documentation Quotes from the source Which audit should you run right now? A. Full audit, or a light monitoring check? B. You've got a pile of findings — how do you rank them? The mental models The audit process checklist SaaS SEO audit — cheat sheet Tools for running the audit Snippets for the audit Confirm nav/cross links are real links DevTools console Spot app/dashboard paths in the rendered page's own links Compare rendered content vs. raw HTML is content JS injected? A SaaS SEO audit is the recurring process of reviewing a software company's marketing site — plus, deliberately, its docs and app surfaces — to find what's blocking crawling and indexing, wasting index budget, hurting Core Web Vitals on a JavaScript-heavy stack, and losing ground to competitors' comparison and integration pages, then prioritizing the findings by business impact rather than by raw issue count. TL;DR — A SaaS SEO audit is the process of reviewing your software site to find and fix what's hurting your search performance — on a schedule, with a way to decide what to fix first. It's different from a checklist: a checklist is the list","passages":["TL;DR — A SaaS SEO audit is the process of reviewing your software site to find and fix what's hurting your search performance — on a schedule, with a way to decide what to fix first.","It's different from a checklist: a checklist is the list of things to look at; the audit is you actually looking, on a cadence, and then ranking what you found.","The SaaS specific part is that you're auditing three things at once — a marketing site, help docs, and an app — and making sure the app and signup pages aren't accidentally in Google.","What a SaaS SEO audit actually is A lot of people think an \"audit\" means running a crawler and handing over everything it flags.","A crawler prints a list; an audit is a person deciding which items on that list actually matter for your site and fixing those first.","The sibling SaaS SEO checklist covers what to check — free tools, pricing pages, comparison pages, integration pages, docs, JavaScript rendering, which funnel pages to keep out of Google.","This page is about how you run the review using that list: 1.","Light, automatic monitoring all the time crawl errors, Core Web Vitals, indexing changes , plus a bigger, thorough audit every few months."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/saas-seo/saas-seo-audit/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/saas-seo/saas-seo-audit/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SaaS SEO Mistakes","desc":"The recurring, SaaS-specific SEO failure modes — JS-rendered content Google can't see, trial/app pages indexed by accident, near-duplicate free-tool pages that cannibalize each other, neglected bottom-funnel pages, chasing traffic over signups, and docs no one owns. Six failure modes, why they happen, and how to fix them.","snippetText":"SaaS SEO mistakes are architecture and ownership problems, not keyword problems. Six recur: (1) blocking or mishandling JS-rendered content so Google can't see it; (2) letting trial/app/account pages get indexed — or accidentally stuck un-indexed via the noindex/JS interaction; (3) keyword cannibalization across near-duplicate free-tool and template pages; (4) ignoring bottom-funnel comparison and 'alternative' pages; (5) optimizing for vanity traffic instead of trials and signups; and (6) treating docs as separate from SEO strategy. There's no SaaS algorithm — these are failure modes of how S","href":"/saas-seo/saas-seo-mistakes/","slug":"saas-seo-mistakes","meta":"Educational","aliases":["saas-seo-mistakes","SaaS SEO mistakes","SaaS SEO errors","common SaaS SEO mistakes","SaaS SEO failures","SaaS SEO Mistakes","saas-seo","saas-seo-checklist"],"pillar":"saas-seo","taxonomy":["saas-seo"],"text":"saas-seo javascript-seo noindex keyword-cannibalization product-led-seo technical-seo SaaS SEO mistakes are architecture and ownership problems, not keyword problems. Six recur: (1) blocking or mishandling JS-rendered content so Google can't see it; (2) letting trial/app/account pages get indexed — or accidentally stuck un-indexed via the noindex/JS interaction; (3) keyword cannibalization across near-duplicate free-tool and template pages; (4) ignoring bottom-funnel comparison and 'alternative' pages; (5) optimizing for vanity traffic instead of trials and signups; and (6) treating docs as separate from SEO strategy. There's no SaaS algorithm — these are failure modes of how SaaS sites are built and organized, and the checklist covers exactly what to check for each. Why SaaS sites fail in their own way The mistakes are structural, not accidental Mistake 1 — Blocking or mishandling JS rendered content Click gated content Google never sees App shell pages that look identical before rendering Blocked JS/CSS resources The blocks JS execution trap Mistake 2 — Letting trial/app/account pages get indexed The + robots.txt conflict How the /JS trap makes template logic unreliable Mistake 3 — Keyword cannibalization across free tool and template pages Mistake 4 — Ignoring bottom funnel comparison and \"alternative\" pages Mistake 5 — Optimizing for vanity traffic instead of trials and signups Mistake 6 — Treating docs as separate from SEO strategy How to audit for all six AI summary Official documentation Quotes from the source Which SaaS SEO mistake am I making? A. \"Why isn't this page ranking / showing up in Google?\" B. \"Should I build this page — or is it going to cannibalize?\" The SaaS SEO anti patterns Audit for the six SaaS SEO mistakes Audit indexation controls across SaaS URL cohorts SaaS SEO mistakes are the recurring, SaaS-specific failure modes on software company sites — JS-rendered content Google can't see, trial/app pages that leak into (or fall out of) the index, near-duplicate free-tool pages that cannibalize each other, neglected bottom-funnel pages, chasing traffic instead of signups, and treating docs as nobody's SEO job. TL;DR — The most common SaaS SEO mistakes aren't bad titles or broken links — they're specific to how software companies build and run their sites: content Google can't see because it's built in JavaScript, trial and app pages leaki","passages":["TL;DR — The most common SaaS SEO mistakes aren't bad titles or broken links — they're specific to how software companies build and run their sites: content Google can't see because it's built in JavaScript, trial and app pages leaking into search, dozens of near identical free tool pages competing with each other, no \"us vs.","them\" comparison pages, chasing visits instead of signups, and documentation nobody treats as part of SEO.","Why SaaS sites fail in their own way Google ranks a software company's site with the exact same rules as anyone else's — there's no special \"SaaS algorithm.\" So why do SaaS sites keep making the same handful of SEO mistakes?","The marketing site is usually built by the engineering team in a JavaScript framework, the site has to hide trial and app pages, product led growth spins up lots of free tools and templates, and the docs sit on a different team's plate entirely.","Google can't see your content because it's rendered by JavaScript the wrong way.","Trial, app, and account pages get indexed or, weirdly, pages you want indexed get stuck out of Google .","Free tool and template pages compete with each other — you build a dozen near identical calculators and Google can't tell which one should rank.","No comparison or \"alternative to\" pages — you're missing the searches people do right before they buy."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/saas-seo/saas-seo-mistakes/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/saas-seo/saas-seo-mistakes/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SaaS Technical SEO","desc":"The technical-SEO patterns specific to software companies — JavaScript app-shell marketing sites and what needs server rendering, docs on a subdomain vs subfolder, crawl-budget waste from freemium URL explosion, noindex vs robots.txt conflicts, and why hreflang doesn't solve multi-currency pricing.","snippetText":"SaaS technical SEO is ordinary crawl → render → index → rank work aimed at an unusual technical surface: JavaScript app-shell marketing sites (which risk being clustered as duplicates, not just going invisible), docs on a subdomain vs subfolder (a real crawl/authority tradeoff, not a penalty), freemium products that mint huge numbers of low-value dashboard/trial/user URLs (crawl-budget waste dressed up as content), noindex-vs-robots.txt conflicts (the classic SaaS mistake), and multi-region pricing (where hreflang targets language/region, never currency). Google and Bing run a SaaS site throug","href":"/saas-seo/saas-technical-seo/","slug":"saas-technical-seo","meta":"Educational","aliases":["saas-technical-seo","SaaS technical SEO","technical SEO for SaaS","technical SaaS SEO","SaaS site technical SEO","SaaS Technical SEO","saas-seo","javascript-seo","crawl-budget"],"pillar":"saas-seo","taxonomy":["saas-seo"],"text":"saas-seo technical-seo javascript-seo crawl-budget rendering noindex hreflang SaaS technical SEO is ordinary crawl → render → index → rank work aimed at an unusual technical surface: JavaScript app-shell marketing sites (which risk being clustered as duplicates, not just going invisible), docs on a subdomain vs subfolder (a real crawl/authority tradeoff, not a penalty), freemium products that mint huge numbers of low-value dashboard/trial/user URLs (crawl-budget waste dressed up as content), noindex-vs-robots.txt conflicts (the classic SaaS mistake), and multi-region pricing (where hreflang targets language/region, never currency). Google and Bing run a SaaS site through the same pipeline as any other site, so what's SaaS-specific is the surface, not the algorithm. The fix for almost all of it is architectural intent decided early, not remediation after the URLs exist. Why SaaS sites need their own technical checklist 1. The marketing site is built like an app 2. The docs live somewhere else 3. A free/trial product makes a lot of URLs 4. Different countries need care Start here: the surface, not the algorithm The app shell problem: when your marketing site is a single page app What needs server rendering vs what can stay client rendered The Google/Bing split on dynamic rendering Docs: subdomain or subfolder, and why it's a real tradeoff Crawl budget and the freemium URL problem This is architecture, not cleanup Noindex vs robots.txt: the classic SaaS conflict JS injected noindex is doubly fragile on an app shell Multi region SaaS: canonical and hreflang aren't a pricing solution The technical throughline AI summary Official documentation Quotes from the source Three SaaS technical decisions, as flowcharts A. Does this page need server side rendering? B. Should our docs go on a subdomain or a subfolder? C. How do we keep app / trial / dashboard URLs out of Google? The mental models SaaS technical SEO is the application of ordinary technical-SEO discipline — crawlability, rendering, indexing, canonicalization, internationalization — to the architecture problems that recur across software companies: JavaScript app-shell marketing sites, docs on a subdomain, freemium products that mint huge numbers of low-value URLs, and multi-region pricing. There's no separate SaaS algorithm; what's SaaS-specific is the shape of the technical surface the crawl → render → index","passages":["TL;DR — SaaS technical SEO is regular technical SEO — crawling, rendering, indexing — applied to the handful of technical setups that show up over and over on software companies' sites.","There's no special \"SaaS algorithm.\" What's different is the shape of the site: a marketing site built like an app, help docs on a separate address, a free/trial product that spits out endless URLs, and if you sell in multiple countries pricing pages that need careful handling.","Why SaaS sites need their own technical checklist A SaaS site gets crawled, rendered, indexed, and ranked with the exact same pipeline as a recipe blog — there's no separate ranking system for software companies.","Because a SaaS product is software, its marketing site tends to be built like software, its docs live on their own address, and its free tier quietly generates thousands of pages nobody should be indexing.","Those structural facts create the same handful of technical problems on SaaS site after SaaS site.","The marketing site is built like an app SaaS marketing sites are often built by the product engineering team using tools like React, Vue, or Next.js — not in a website CMS.","When that's done wrong, the page arrives at Google almost empty, and all the real content headlines, prices, copy gets loaded in afterward by JavaScript.","If Google doesn't run that JavaScript successfully, it indexes a blank page."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/saas-seo/saas-technical-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/saas-seo/saas-technical-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"How to Build a Silo Structure: A Practical Guide","desc":"A step-by-step build guide for a topic silo — define boundaries with keyword research, wire the hub-and-spoke internal link matrix, cross-link sensibly, and audit that link concentration actually landed where you meant it to.","snippetText":"Building a silo structure isn't a URL-folder trick — it's a build process. Define silo boundaries with real keyword data (distinct search demand per subtopic, not an arbitrary page quota). Mirror the silo in folders for CMS sanity if you want, but the internal link graph is the actual architecture. Wire the matrix: hub links to every spoke, spokes link back to the hub and to relevant siblings. Cross-link to other topics when a reader would genuinely follow the link — and never nofollow a cross-silo link (PageRank sculpting has been dead since 2009; the equity just evaporates). Then audit with ","href":"/technical-seo/website-structure/siloing/","slug":"siloing","meta":"Educational","aliases":["siloing","silo structure","content silo","Silo Structure","internal-links","site-architecture","topic-clusters","anchor-text"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"siloing site-architecture internal-links topic-clusters Building a silo structure isn't a URL-folder trick — it's a build process. Define silo boundaries with real keyword data (distinct search demand per subtopic, not an arbitrary page quota). Mirror the silo in folders for CMS sanity if you want, but the internal link graph is the actual architecture. Wire the matrix: hub links to every spoke, spokes link back to the hub and to relevant siblings. Cross-link to other topics when a reader would genuinely follow the link — and never nofollow a cross-silo link (PageRank sculpting has been dead since 2009; the equity just evaporates). Then audit with a crawl (Screaming Frog visualisations, Ahrefs Site Audit orphan/link reports, or a spreadsheet link-matrix) to confirm the links you planned actually exist. What \"building a silo\" actually means The part everyone gets wrong How to know if a subtopic deserves its own page The quick version of building one First, the debate this article is not having Step 1 — Draw silo boundaries with keyword research Ignore the \"minimum pages per silo\" numbers Watch for cannibalization at the boundary Step 2 — URL structure is organization, not architecture Step 3 — Build the internal link matrix The link matrix spreadsheet Step 4 — Reasonable cross linking rules of thumb Never nofollow a cross silo link Step 5 — Common implementation mistakes Step 6 — Audit that the link concentration actually happened Screaming Frog crawl visualisations Ahrefs Site Audit The manual link matrix audit When to re run it FAQs AI summary Official documentation Quotes from the source Standard operating procedure: build a topic silo A silo structure is a site organized by grouping related content into topic areas and concentrating internal links within each topic so a hub page and its supporting pages reinforce each other. Modern practice keeps the topical concentration and drops the old rule against cross-linking between topics. TL;DR — A silo structure means grouping your pages by topic and linking them up so each topic reinforces itself: one main \"hub\" page links to all the detailed pages under it, and those pages link back. To build one, figure out which subtopics people actually search for, create a page for each, and link them together. You can put them in a matching folder — but the links are what matter, not the folder. And don't be afraid to li","passages":["TL;DR — A silo structure means grouping your pages by topic and linking them up so each topic reinforces itself: one main \"hub\" page links to all the detailed pages under it, and those pages link back.","To build one, figure out which subtopics people actually search for, create a page for each, and link them together.","You can put them in a matching folder — but the links are what matter, not the folder.","And don't be afraid to link out to related topics elsewhere on your site.","What \"building a silo\" actually means A silo is just a group of pages about the same topic, wired together with internal links.","Picture a guide about \"email marketing.\" The hub is the broad overview page.","The spokes are the detailed pages under it — \"email subject lines,\" \"welcome sequences,\" \"list segmentation,\" and so on.","Deciding which subtopics get their own page based on what people search for ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/website-structure/siloing/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/siloing/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SPA SEO","desc":"How to make single-page applications (React Router, Vue Router, Angular Router) crawlable and indexable — the app-shell and soft-404 problems, History API vs hash routing, per-route HTML via SSR/prerendering, per-route canonicals and titles, and sitemap generation for client-side routes.","snippetText":"A single-page application loads one document and swaps views with JavaScript instead of requesting a new page from the server. Many SPAs implement that with an 'app shell' — the server returns one URL's worth of real HTML, a near-empty shell, until JS renders each route — but that's a common implementation choice, not a rule every SPA follows; check what a direct request to each route actually returns before assuming it. The fix, where a bare app-shell setup is the problem, has two independent halves: addressability (History API, not hash/#! fragments, so each view has a real URL — a browser s","href":"/technical-seo/javascript-seo/spa-seo/","slug":"spa-seo","meta":"Educational","aliases":["spa-seo","SPA SEO","single-page application SEO","single page app SEO","client-side routing SEO","React Router SEO","Vue Router SEO","javascript-seo","rendering"],"pillar":"technical-seo","taxonomy":["technical-seo","javascript-seo"],"text":"spa-seo javascript-seo technical-seo ssr prerendering history-api A single-page application loads one document and swaps views with JavaScript instead of requesting a new page from the server. Many SPAs implement that with an 'app shell' — the server returns one URL's worth of real HTML, a near-empty shell, until JS renders each route — but that's a common implementation choice, not a rule every SPA follows; check what a direct request to each route actually returns before assuming it. The fix, where a bare app-shell setup is the problem, has two independent halves: addressability (History API, not hash/#! fragments, so each view has a real URL — a browser soft navigation via the History API changes the URL and UI but doesn't itself create a new server response) and content availability (SSR, prerendering, or a meta-framework so each of those URLs can return unique HTML on request). On top of that, verify each route's title, canonical, and robots state both on direct entry and after rendering, handle soft 404s (routers tend to keep a 200 status for 'not found' views — redirect to a URL that itself 404s, or add a rendered noindex, though an initial noindex can cause rendering to be skipped), and make sure every route in your sitemap actually resolves to real, indexable HTML — there's no special SPA sitemap format. What an SPA is Why that hurts SEO How to fix it the short version What SPA SEO actually is Why bare client side routed SPAs fail at SEO One URL, one HTML response — the app shell problem The server never sees which \"page\" was requested why hash routing fails Soft 404s — client side routers keep a for everything Shared shell duplicates — a possible cause, not an automatic diagnosis The fix: get real HTML per route Server side rendering SSR Static prerendering / SSG Or: don't hand roll it — use a meta framework Dynamic rendering as a stopgap, not a destination History API vs. hash routing Five states, not two What the History API gives you Why fragment/hash URLs are invisible to the server — and to Google The 2015 deprecation, briefly Making each route independently indexable Per route canonical tags — and the \"most restrictive directive\" trap Per route titles and meta descriptions via JavaScript Real links between routes Sitemap generation for SPA routes SPA SEO is the practice of making a client-side-routed single-page application — one that loads a","passages":["TL;DR — A single page application SPA loads one page from the server and then uses JavaScript to switch \"pages\" without a full reload.","The catch: many SPAs send the same near empty starting page no matter which URL a search engine asks for — that's a common risk of how SPAs are usually built, not a guarantee of every SPA.","To fix it, make sure every route has its own real URL and its own real HTML — usually by rendering pages on the server or pre building them.","What an SPA is A single page application commonly updates client side views and routes without a full document navigation.","Google can render JavaScript SPAs, but crawlable URLs, links, status handling, and rendered content remain necessary.","A single page application is a website built as one HTML page.","When you click around — from the products page to the about page — JavaScript swaps out what's on screen instead of asking the server for a whole new page.","React with React Router , Vue with Vue Router , and Angular all work this way by default."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/javascript-seo/spa-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/javascript-seo/spa-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Speculation Rules API","desc":"What the Speculation Rules API (prefetch and prerender) actually is, whether it affects SEO, crawling, or rankings, and how to implement it without inflating your analytics.","snippetText":"The Speculation Rules API is a Chromium browser feature (Chrome/Edge 109+) that lets a site tell the browser to prefetch (download the HTML document) or prerender (fully load and render in an invisible tab) same-site pages before a visitor clicks — so the next navigation feels near-instant. Prefetch pays down TTFB; prerender additionally pays down FCP and LCP. It is not a crawling, indexing, or ranking mechanism — Googlebot doesn't need resource hints like this and Google publishes no Search documentation on it. Google Search itself uses the API to prefetch its top results, and Ray-Ban reporte","href":"/technical-seo/web-performance/speculation-rules/","slug":"speculation-rules","meta":"Educational","aliases":["speculation-rules","speculation rules","speculation rules API","prerender","prefetch","speculative loading","prerender pages","Speculation Rules API","resource-hints","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"speculation-rules technical-seo web-performance core-web-vitals prefetch prerender The Speculation Rules API is a Chromium browser feature (Chrome/Edge 109+) that lets a site tell the browser to prefetch (download the HTML document) or prerender (fully load and render in an invisible tab) same-site pages before a visitor clicks — so the next navigation feels near-instant. Prefetch pays down TTFB; prerender additionally pays down FCP and LCP. It is not a crawling, indexing, or ranking mechanism — Googlebot doesn't need resource hints like this and Google publishes no Search documentation on it. Google Search itself uses the API to prefetch its top results, and Ray-Ban reported large conversion and LCP gains from prerendering, so the real value is Core Web Vitals and UX for actual visitors. The big risk to manage is analytics: a speculated page that fires a pageview before the user sees it will inflate GA4 unless the tracking checks document.prerendering. WordPress 6.8 ships a conservative, prefetch-only version on by default for logged-out users. What it is Does it help SEO? The one thing to watch out for What the Speculation Rules API actually is Eagerness: when to speculate, separate from which URLs Chrome's own guardrails Cross origin rules, and what actually happens inside a prerendered page Does the Speculation Rules API affect SEO, crawling, or rankings? What it does NOT do What it CAN do Real world results How to implement it safely What NOT to prefetch or prerender Fixing the analytics problem Browser support reality check Speculation Rules in WordPress 6.8+ Myths, debunked Where this sits AI summary Official documentation Quotes from the source Speculation Rules cheat sheet What not to do Worked examples The Speculation Rules API is a Chromium browser API (Chrome/Edge 109+) that lets a site tell the browser which same-site pages to prefetch (download the HTML document) or prerender (fully load and render in an invisible tab) before a visitor clicks — so the next navigation can be near-instant. It's a browser-side performance feature for real users, not a crawling, indexing, or ranking signal. TL;DR — The Speculation Rules API lets your site tell Chrome or Edge to load the next page a visitor is likely to click — quietly, in the background — before they click it. When they do click, the page can appear almost instantly. It's a speed feature for real p","passages":["TL;DR — The Speculation Rules API lets your site tell Chrome or Edge to load the next page a visitor is likely to click — quietly, in the background — before they click it.","It's a speed feature for real people using Chromium browsers.","It does not help Google crawl or rank your site, but it can make pages feel faster, which is good for users and, indirectly, for Core Web Vitals .","What it is Normally, when you click a link, the browser starts fetching that page from scratch — and you wait.","The Speculation Rules API lets a site get a head start: it tells the browser \"the visitor will probably go here next, so start getting it ready now.\" When the click finally happens, the browser swaps in the page it already prepared instead of starting over.","There are two versions of \"getting it ready,\" and the difference matters: Prefetch — the browser quietly downloads the next page's HTML in the background.","Prerender — the browser fully loads and renders the next page in an invisible tab, running its JavaScript and everything.","You can list exact URLs, or tell the browser \"prepare any link the visitor hovers over.\" Does it help SEO?"],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/speculation-rules/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/speculation-rules/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SSL/TLS Certificates","desc":"DV vs OV vs EV, wildcard vs SAN, Let's Encrypt and free automated issuance, certificate chain failures, expiration and auto-renewal, and what breaks for users vs crawlers when a certificate is invalid — the certificate-level deep dive under the HTTPS hub.","snippetText":"Google doesn't document a ranking difference between DV, OV, and EV certificates, or between free Let's Encrypt certs and paid ones — as long as the HTTPS is valid, they all get treated the same; a pricier certificate buys human/organizational trust, not ranking. Validation depth (DV/OV/IV/EV) and coverage scope (single-domain, wildcard, SAN) are separate decisions, and neither is a documented ranking factor. Where certificates actually affect SEO is failure: an expired, self-signed, hostname-mismatched, or chain-broken cert throws browser warnings that drive users away, can flip Google's norm","href":"/technical-seo/https/ssl-tls-certificates/","slug":"ssl-tls-certificates","meta":"Educational","aliases":["ssl-tls-certificates","SSL certificate","TLS certificate","SSL/TLS certificates","DV vs OV vs EV","wildcard certificate","SAN certificate","Let's Encrypt","certificate chain","certificate expiration","SSL/TLS Certificates","https"],"pillar":"technical-seo","taxonomy":["technical-seo","https"],"text":"ssl tls certificates https technical-seo lets-encrypt certificate-chain Google doesn't document a ranking difference between DV, OV, and EV certificates, or between free Let's Encrypt certs and paid ones — as long as the HTTPS is valid, they all get treated the same; a pricier certificate buys human/organizational trust, not ranking. Validation depth (DV/OV/IV/EV) and coverage scope (single-domain, wildcard, SAN) are separate decisions, and neither is a documented ranking factor. Where certificates actually affect SEO is failure: an expired, self-signed, hostname-mismatched, or chain-broken cert throws browser warnings that drive users away, can flip Google's normal HTTPS-over-HTTP canonical preference back to HTTP (HSTS can't override that), and — if HTTPS errors pile up — can prompt Google to stop crawling your HTTPS pages entirely. With certificate lifetimes shrinking toward a 47-day maximum by 2029, automated renewal is now mandatory, not optional. What an SSL certificate actually is Does a more expensive certificate help SEO? What certificates come in The part that actually matters for SEO \"SSL certificate\" is really a TLS certificate Validation depth: DV vs OV vs IV vs EV Coverage scope: single domain vs wildcard vs SAN Let's Encrypt and free automated issuance The certificate lifetime shift 2026–2029 — automate now Certificate chain / intermediate certificate failures What happens when a certificate is invalid, expired, or self signed Expiration monitoring and auto renewal Mixed cert setups across subdomains Common myths AI summary Official documentation Quotes from the source Which certificate should I get? Certificate health checklist The mental models SSL/TLS certificates — cheat sheet Inspect a certificate and its full chain Chrome DevTools Console — flag insecure sub resource URLs Certificate anti patterns An SSL/TLS certificate is the file a server presents during the TLS handshake to prove who controls the domain (to a level that depends on the validation type) and to supply the public key that encrypts the connection. It's what makes https:// possible — but Google's ranking signal only checks the URL scheme, not which certificate issued it. TL;DR — An SSL/TLS certificate is the file on your server that makes the padlock and possible. There are cheap and expensive versions, but for SEO they're all the same — Google only checks that your URL sta","passages":["TL;DR — An SSL/TLS certificate is the file on your server that makes the padlock and possible.","There are cheap and expensive versions, but for SEO they're all the same — Google only checks that your URL starts with , not which certificate you bought.","A free certificate from Let's Encrypt ranks exactly like a pricey one.","The thing that actually hurts you is a broken certificate: if it expires or is misconfigured, browsers throw a scary warning and visitors leave.","What an SSL certificate actually is Modern HTTPS uses TLS certificates to authenticate a domain and establish encrypted connections.","Google recommends HTTPS and uses it as one canonicalization signal, but certificate price or validation tier is not a documented ranking boost.","When you load a secure site, your browser and the server do a quick handshake to set up encryption.","The certificate is what the server hands over during that handshake."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/https/ssl-tls-certificates/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/https/ssl-tls-certificates/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SvelteKit Deployment SEO: Adapters, Prerendering, and Edge Rendering","desc":"SvelteKit's adapter and per-route prerender settings decide where and when your pages render — and that drives TTFB, LCP, and crawl budget. A deployment-focused deep dive: choosing adapter-static/node/vercel/cloudflare/netlify, prerender = true/false/'auto', edge-runtime constraints, and building sitemap.xml and robots.txt.","snippetText":"SvelteKit's adapter and per-route prerender setting decide where and when a page renders — static HTML at build time, SSR on a server, or SSR at the edge — and that decision drives TTFB, which feeds LCP and crawl capacity. Pick adapter-static for pure content sites, a node/vercel/cloudflare adapter with per-route prerender for mixed content-plus-app sites, and an edge adapter when global TTFB matters (accepting cold starts and no Node fs). prerender = 'auto' is the mixed-site tool. Edge runtimes can't read the filesystem. And SvelteKit generates no sitemap.xml or robots.txt — you build those a","href":"/technical-seo/platform-seo/js-frameworks/sveltekit-seo/","slug":"sveltekit-seo","meta":"Educational","aliases":["sveltekit-seo","SvelteKit deployment","SvelteKit adapters","SvelteKit prerendering","SvelteKit adapter-static","SvelteKit edge rendering","SvelteKit Deployment SEO","svelte-seo","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"sveltekit-seo sveltekit-deployment adapters prerendering edge-rendering technical-seo SvelteKit's adapter and per-route prerender setting decide where and when a page renders — static HTML at build time, SSR on a server, or SSR at the edge — and that decision drives TTFB, which feeds LCP and crawl capacity. Pick adapter-static for pure content sites, a node/vercel/cloudflare adapter with per-route prerender for mixed content-plus-app sites, and an edge adapter when global TTFB matters (accepting cold starts and no Node fs). prerender = 'auto' is the mixed-site tool. Edge runtimes can't read the filesystem. And SvelteKit generates no sitemap.xml or robots.txt — you build those as +server.js endpoints, with the strategy depending on your adapter. What an adapter is in plain terms Why this is an SEO decision, not just a tech one The simple version of the decision Don't forget the two files SvelteKit won't make for you The one idea that makes all of this click Why deployment choices are SEO choices Choosing an adapter for SEO outcomes — the zero config default, and its ceiling — full SSG, for content first sites — a server you control — serverless, edge, and ISR — Workers/Pages, global edge — functions or Edge Functions Deno The decision, in one line each Prerendering strategy for mixed sites What / / actually do Dynamic routes need an function The pattern in the wild Edge runtime constraints that affect SEO is per route on Vercel No , no arbitrary Node APIs Cold starts and TTFB — when edge helps and when it doesn't Generating sitemap.xml and robots.txt SvelteKit won't The endpoint pattern SvelteKit deployment SEO is the set of build- and deploy-time decisions — which adapter converts the build for a hosting target, which routes are prerendered vs. server-rendered vs. edge-rendered, and how sitemap.xml and robots.txt are generated — that decide whether a crawler gets fast, complete HTML. TL;DR — SvelteKit already renders your pages on the server — that part is handled. This page is about the next decision: how your site gets built and deployed. An adapter packages your SvelteKit app for a host a static file host, a Node server, or a service like Vercel or Cloudflare , and a per page prerender setting decides whether a page is turned into a plain HTML file ahead of time or rendered fresh on every visit. Those two choices decide how fast crawlers get your HTML — a","passages":["TL;DR — SvelteKit already renders your pages on the server — that part is handled.","This page is about the next decision: how your site gets built and deployed.","An adapter packages your SvelteKit app for a host a static file host, a Node server, or a service like Vercel or Cloudflare , and a per page prerender setting decides whether a page is turned into a plain HTML file ahead of time or rendered fresh on every visit.","Those two choices decide how fast crawlers get your HTML — and SvelteKit won't make your sitemap or robots.txt, so you have to add those yourself.","What an adapter is in plain terms If you've already built a SvelteKit site, you know it sends real HTML to the browser — the content is there before any JavaScript runs.","That's the hard SEO problem already solved and if it isn't solved for you yet, the SvelteKit fundamentals article in this same section covers the rendering modes and the \"empty shell\" trap you want to avoid first .","An adapter is the small plugin that takes your finished SvelteKit build and turns it into something a specific host can run.","Same site, different package: turns every page into a plain HTML file, built once."],"updated":"2026-07-13T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/sveltekit-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/sveltekit-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Syndicated Content and SEO","desc":"When the same article runs on multiple sites, you pick one of three: cross-domain canonical, noindex the reprint, or risk a partner outranking you.","snippetText":"When the same article runs on multiple sites on purpose — wire pickups, partner reprints, cross-posting — you have to pick one of three things: (a) a cross-domain rel=canonical on the reprint pointing back to your original, (b) a noindex on the reprint, or (c) nothing, and let Google choose which copy to show. Google changed its guidance around May 2023: it no longer recommends canonical for syndication and now calls noindex 'the most effective solution,' because syndicated pages are 'often very different' and Google may not honor the canonical. Bing still prefers canonical where the partnersh","href":"/technical-seo/news-seo/syndicated-content/","slug":"syndicated-content","meta":"Educational","aliases":["syndicated-content","syndicated content","content syndication","article syndication","syndication SEO","syndicate content","Syndicated Content","canonical-tag","duplicate-content","noindex"],"pillar":"technical-seo","taxonomy":["technical-seo","news-seo"],"text":"syndicated-content syndication news-seo canonicalization indexing technical-seo When the same article runs on multiple sites on purpose — wire pickups, partner reprints, cross-posting — you have to pick one of three things: (a) a cross-domain rel=canonical on the reprint pointing back to your original, (b) a noindex on the reprint, or (c) nothing, and let Google choose which copy to show. Google changed its guidance around May 2023: it no longer recommends canonical for syndication and now calls noindex 'the most effective solution,' because syndicated pages are 'often very different' and Google may not honor the canonical. Bing still prefers canonical where the partnership allows, plus syndicating excerpts not full text. Do nothing and a bigger partner can outrank you for your own story — whichever URL Google treats as canonical is the one that gets ranked. This is a policy decision, not a bug fix, and it's distinct from accidental duplicate content. What syndicated content is The one decision you have to make What Google recommends now Syndication is not duplicate content — it's a policy decision The core decision: three paths, one choice a Cross domain rel=canonical on the reprint b noindex on the reprint c Do nothing Why canonical often fails for syndicated pages Google reversed its guidance around May 2023 Google's guidance, in detail Bing's guidance don't conflate the two engines When syndication crosses into a link scheme noindex doesn't kill the backlink the way nofollow does Publish first, syndicate second How to monitor and recover AI summary Which path: canonical, noindex, or nothing? Official documentation Quotes from the source Runbook: a partner is outranking you for your own story SOP: setting up a new syndication deal do this every time Common mistakes and what to do instead Real scenarios, before and after Syndicated content is the deliberate, usually licensed republishing of the same article on other sites — wire pickups, partner reprints, or cross-posting. Because both parties know it's a copy, the SEO job is deciding which URL search engines should show, not eliminating a duplicate. TL;DR — Syndicated content is when the same article runs on more than one site on purpose — a wire service, a partner reprint, or you cross posting your own post to Medium. When that happens you have to tell search engines which copy is the \"real\" one. You get","passages":["TL;DR — Syndicated content is when the same article runs on more than one site on purpose — a wire service, a partner reprint, or you cross posting your own post to Medium.","When that happens you have to tell search engines which copy is the \"real\" one.","You get three choices: put a canonical on the reprint pointing back to your original, the reprint, or do nothing.","Do nothing and a bigger partner can end up outranking you for your own story.","What syndicated content is Syndication republishes content on another URL; Google may cluster duplicates and select a representative canonical.","Canonical declarations are signals rather than guaranteed controls over selection.","Syndication is when you deliberately let the same article appear on other websites.","Think of a newspaper story picked up by the Associated Press and run by dozens of member sites, a publisher licensing its articles to Yahoo or MSN, or a company reposting its own blog to Medium and LinkedIn for extra reach."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/news-seo/syndicated-content/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/news-seo/syndicated-content/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Time to Interactive (TTI)","desc":"What Time to Interactive measured, why Lighthouse removed it in version 10, why it was never a Core Web Vital or a ranking factor, and why its ghost still lives inside Total Blocking Time — from a technical SEO.","snippetText":"Time to Interactive (TTI) is a retired Lighthouse lab metric that marked when a page's main sub-resources had loaded and it could reliably respond to input. It was removed from the Lighthouse Performance score in Lighthouse 10 (2023) for being too sensitive to outlier network requests and long tasks; its 10% weight moved to CLS (now 25%). It was NEVER a Core Web Vital and never a ranking factor. The raw value still computes in Lighthouse's JSON output at weight 0, so legacy CI scripts don't break — and its 'quiet window' logic still defines the end of the Total Blocking Time window. Bing has n","href":"/technical-seo/web-performance/web-vitals/time-to-interactive/","slug":"time-to-interactive","meta":"Educational","aliases":["time-to-interactive","time to interactive","tti","tti metric","Time to Interactive (TTI)","tbt","lighthouse","fcp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals"],"text":"time-to-interactive tti core-web-vitals web-performance technical-seo lighthouse tbt Time to Interactive (TTI) is a retired Lighthouse lab metric that marked when a page's main sub-resources had loaded and it could reliably respond to input. It was removed from the Lighthouse Performance score in Lighthouse 10 (2023) for being too sensitive to outlier network requests and long tasks; its 10% weight moved to CLS (now 25%). It was NEVER a Core Web Vital and never a ranking factor. The raw value still computes in Lighthouse's JSON output at weight 0, so legacy CI scripts don't break — and its 'quiet window' logic still defines the end of the Total Blocking Time window. Bing has no TTI guidance at all. My take: don't chase a deprecated, unscored metric — use TBT in the lab and INP in the field. What Time to Interactive was Why you might still be seeing it The two things people get wrong What TTI actually measured How TTI was calculated the \"quiet window\" Is TTI a Core Web Vital? No — it never was Is TTI still in Lighthouse / PageSpeed Insights? No — removed in Lighthouse 10 What replaced TTI TTI vs. TBT — the relationship that survives TTI vs. INP Does TTI affect SEO rankings? No Does Bing use Time to Interactive? No Legacy TTI thresholds historical reference only Should you still care about TTI? AI summary Official documentation Quotes from the source Reading an old audit that mentions TTI — checklist TTI cheat sheet Mistakes to avoid with Time to Interactive Calling TTI a Core Web Vital Chasing a retired Lighthouse score Treating the raw JSON value as an active recommendation Comparing TTI and INP as if they measured the same event Time to Interactive — a retired Lighthouse lab metric marking the point a page's main sub-resources have loaded and it can reliably respond to input. It was removed from the Lighthouse Performance score in Lighthouse 10 (2023) for being too volatile, was never a Core Web Vital, and still defines the end of the Total Blocking Time measurement window. TL;DR — Time to Interactive TTI measured how long it took a page to become reliably clickable — not just painted on screen, but actually able to respond when you tap or click. It used to be part of your Lighthouse score. It isn't anymore: Google removed it from Lighthouse in 2023 because the number bounced around too much. It was never a Core Web Vital, and it never affected your Google ","passages":["TL;DR — Time to Interactive TTI measured how long it took a page to become reliably clickable — not just painted on screen, but actually able to respond when you tap or click.","It isn't anymore: Google removed it from Lighthouse in 2023 because the number bounced around too much.","It was never a Core Web Vital, and it never affected your Google rankings.","What Time to Interactive was A page can look finished before it actually is.","The text is there, the buttons are visible — but if the JavaScript hasn't finished loading and running yet, tapping a button does nothing, or lags for a second before anything happens.","That gap between \"looks ready\" and \"is ready\" is exactly what TTI was built to catch.","TTI marked the moment a page had loaded its main sub resources and could reliably respond to your input.","Before that point, the page might be frozen even though it looked done."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/time-to-interactive/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/time-to-interactive/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Tokens and Context Windows","desc":"What tokens and context windows are, why LLMs have them, and why the context-window limit is the mechanical reason AI search chunks and retrieves your content instead of reading whole pages.","snippetText":"A token is the smallest unit of text an LLM processes — roughly 4 characters, or about ¾ of an English word (100 tokens ≈ 60–80 words per Google). Tokenization splits text (and images, audio, video) into these units. A context window is the maximum number of tokens a model can hold at once — input plus output combined — like short-term memory; Google's Gemini can accept up to 1 million tokens. Content outside the window is invisible, not gradually forgotten. This matters for AI search because no full page or site fits in one window, so retrieval systems select and chunk your content before an ","href":"/ai-search/how-search-works/tokens-and-context-windows/","slug":"tokens-and-context-windows","meta":"Educational","aliases":["tokens-and-context-windows","tokens","token","context window","context windows","tokenization","tokens and context windows","Tokens and Context Windows","chunking","llm","knowledge-cutoff"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"tokens context-window ai-search tokenization llm chunking A token is the smallest unit of text an LLM processes — roughly 4 characters, or about ¾ of an English word (100 tokens ≈ 60–80 words per Google). Tokenization splits text (and images, audio, video) into these units. A context window is the maximum number of tokens a model can hold at once — input plus output combined — like short-term memory; Google's Gemini can accept up to 1 million tokens. Content outside the window is invisible, not gradually forgotten. This matters for AI search because no full page or site fits in one window, so retrieval systems select and chunk your content before an LLM ever sees it — which is the mechanical reason chunking, passage-level retrieval, and 'keep it clear and self-contained' advice exist. A bigger context window does not mean an AI reads your whole site, and Google says there's no ideal page length and no requirement to fragment content for AI. What a token is What a context window is Why this matters for search The thing people get wrong What a token actually is What a context window is How big context windows are — and how fast that changed What a million tokens actually looks like Why tokens and context windows matter for AI search \"Lost in the Middle\" — even what's in the window isn't used evenly The economics: why AI systems are selective on purpose Common myths, debunked What this means for content and SEO AI summary Official documentation Quotes from the source Tokens and context windows — cheat sheet The mental models Context window mistakes Treating words and tokens as interchangeable Filling the entire advertised context window Splitting content at a fixed character count Measure page sections before chunking Find likely semantic boundaries in plain text A token is the smallest unit of text (or image/audio/video) an LLM processes — roughly 4 characters, or about ¾ of an English word. A context window is the maximum number of tokens (input plus output) a model can hold at once, like its short-term memory. TL;DR — A token is the little piece of text an AI reads — usually a chunk of a word, roughly ¾ of an English word. A context window is how much text an AI can hold in its head at once its short term memory . Both matter for search because search systems do not routinely hand a model every page or an entire website. They usually grab only the relevant p","passages":["TL;DR — A token is the little piece of text an AI reads — usually a chunk of a word, roughly ¾ of an English word.","A context window is how much text an AI can hold in its head at once its short term memory .","Both matter for search because search systems do not routinely hand a model every page or an entire website.","They usually grab only the relevant parts before they answer.","What a token is Language models process text as tokens, which may be whole words or smaller character sequences depending on the tokenizer.","A context window is a model specific limit on the tokens available to a request and response, and published limits can change by model version.","Large language models — the tech behind ChatGPT, Gemini, and AI Overviews — don't read text the way you do, word by word.","They break it into tokens : small units that are often part of a word rather than a whole one."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ai-search/how-search-works/tokens-and-context-windows/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/tokens-and-context-windows/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Trailing Slash","desc":"Does a trailing slash matter for SEO? The root-domain exception, the file-vs-directory history, the REST API gotcha, and copy-pasteable Apache, Nginx, and IIS rules to enforce one format — plus when not to bother changing it.","snippetText":"A trailing slash is the / at the end of a URL. example.com and example.com/ are identical — that root-domain case is the one universal rule. Everywhere else, example.com/page and example.com/page/ are different URLs, so if both are live and neither consolidates you get duplicate URLs. It doesn't matter which format you pick; it matters that you pick one and enforce it with 301 redirects (the strong signal), backed by canonical tags, consistent internal links, and sitemap entries. Watch the file-path gotcha (page.html/ won't load), the REST API quirk (many frameworks treat /resource and /resour","href":"/technical-seo/website-structure/url-structure/trailing-slash/","slug":"trailing-slash","meta":"Educational","aliases":["trailing-slash","trailing slash","trailing slashes","Trailing Slash","url-structure","canonicalization","301-redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure","url-structure"],"text":"url-structure trailing-slash canonicalization redirects A trailing slash is the / at the end of a URL. example.com and example.com/ are identical — that root-domain case is the one universal rule. Everywhere else, example.com/page and example.com/page/ are different URLs, so if both are live and neither consolidates you get duplicate URLs. It doesn't matter which format you pick; it matters that you pick one and enforce it with 301 redirects (the strong signal), backed by canonical tags, consistent internal links, and sitemap entries. Watch the file-path gotcha (page.html/ won't load), the REST API quirk (many frameworks treat /resource and /resource/ as distinct routes), double slashes, and redirect chains stacking with HTTPS/www. And per my usual advice: unless your setup is causing issues, I wouldn't force a change to your URLs. What a trailing slash is The one exception: your homepage Everywhere else, it's a different URL What to actually do What a trailing slash is and where it came from The one universal rule: the root domain exception Everywhere else, it's genuinely a different URL The gotcha that survived: don't slash a real file REST APIs are a different story Pick a format and enforce it — redirect first, canonical as backup Enforcing it in server config CMS and platform defaults Common pitfalls A few myths worth killing Should you change your existing URLs? Usually not. AI summary Official documentation Quotes from the source Trailing slash audit — checklist Trailing slash — cheat sheet Enforce a trailing slash rule — server config Apache , Nginx / IIS URL Rewrite module, A trailing slash is the forward slash (/) at the end of a URL — example.com/page/ versus example.com/page. Except at the bare root domain, the two versions are different URLs to search engines, so you pick one format and enforce it. TL;DR — A trailing slash is the at the end of a URL — versus . On your homepage it makes no difference at all = . Everywhere else the two are different URLs to Google, so pick one format, redirect the other version to it, and link to it consistently. There's no \"right\" choice — consistency is the whole game. What a trailing slash is A trailing slash is a forward slash at the very end of a web address: That's it. One character. But that one character can turn a single page into two different URLs in the eyes of a search engine. The one exception: your ","passages":["TL;DR — A trailing slash is the at the end of a URL — versus .","Everywhere else the two are different URLs to Google, so pick one format, redirect the other version to it, and link to it consistently.","What a trailing slash is A trailing slash is a forward slash at the very end of a web address: That's it.","But that one character can turn a single page into two different URLs in the eyes of a search engine.","The one exception: your homepage There's exactly one place the trailing slash truly doesn't matter — the bare root domain .","There's a technical reason for that, covered in the Advanced tab, but the practical takeaway is: don't worry about the slash on your homepage.","Everywhere else, it's a different URL Once there's a path after the domain, the slash matters.","If both load the same page and you haven't told search engines which one you prefer, you can end up with duplicate URLs — the same content in two places, splitting its strength instead of pooling it on one address."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/website-structure/url-structure/trailing-slash/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/url-structure/trailing-slash/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"URL Case Sensitivity","desc":"Why /Apple and /apple are two different URLs to Google — the Linux vs Windows/IIS filesystem mechanism behind it, the robots.txt case trap, server-level fixes for Apache, Nginx, and IIS, and how to find case duplicates in the wild.","snippetText":"URL paths, filenames, and query parameters are case-sensitive to Google (the hostname isn't) — so /Apple and /apple are two different URLs that can spawn duplicate content, and a robots.txt Disallow for /Private/ won't block /private/. The mechanism is your filesystem: Linux/Unix (and Apache/Nginx on it) treat paths as case-sensitive byte strings; Windows/IIS is case-insensitive by default, so the same request can 404 on one host and 200 on another. The fix is picking one case (lowercase is the convention) and enforcing it with a server-level redirect, or rel=canonical as a fallback.","href":"/technical-seo/website-structure/url-structure/url-case-sensitivity/","slug":"url-case-sensitivity","meta":"Educational","aliases":["url-case-sensitivity","url case sensitivity","case-sensitive urls","URL Case Sensitivity","url-structure","canonicalization","trailing-slash","301-redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure","url-structure"],"text":"url-structure case-sensitivity canonicalization duplicate-content URL paths, filenames, and query parameters are case-sensitive to Google (the hostname isn't) — so /Apple and /apple are two different URLs that can spawn duplicate content, and a robots.txt Disallow for /Private/ won't block /private/. The mechanism is your filesystem: Linux/Unix (and Apache/Nginx on it) treat paths as case-sensitive byte strings; Windows/IIS is case-insensitive by default, so the same request can 404 on one host and 200 on another. The fix is picking one case (lowercase is the convention) and enforcing it with a server-level redirect, or rel=canonical as a fallback. Are URLs case sensitive? Why this causes problems How to fix it The thing most people get wrong What is and isn't case sensitive Why this happens: it's your filesystem How Google actually treats case different URLs How Bing treats case different URLs The robots.txt case trap Fixing case duplicate URLs 1. Prevent variants at the source 2. Server level lowercase redirect the definitive fix 3. rel=canonical as a fallback 4. Keep internal links and sitemaps consistent How to find case duplicate URLs on your site Where this sits AI summary Official documentation Quotes from the source URL case sensitivity checklist URL case sensitivity — cheat sheet Enforce lowercase URLs — server config Apache / vhost — the native approach Nginx — no native lowercasing be honest about this URL case sensitivity is the rule that uppercase and lowercase letters in the path, filename, and query string are treated as different characters — so /Apple and /apple are two distinct URLs — while the hostname is not case-sensitive. TL;DR — and are distinct URL strings, even when a server returns the same page for both. Hostnames are case insensitive, while path and query handling depends on the server and application. Mixed variants can create duplicate crawl paths and mismatched rules, so choose a casing convention and enforce it consistently. Are URLs case sensitive? Yes — the part after your domain is. Google says it plainly in its own documentation: \"Be aware that URLs are case sensitive.\" So these two addresses are treated as two separate URLs: Even if both load the exact same page, a search engine sees two different URLs with their own content. That's the whole issue in one sentence. The one exception is your domain name the hostname . and ","passages":["TL;DR — and are distinct URL strings, even when a server returns the same page for both.","Hostnames are case insensitive, while path and query handling depends on the server and application.","Mixed variants can create duplicate crawl paths and mismatched rules, so choose a casing convention and enforce it consistently.","Google says it plainly in its own documentation: \"Be aware that URLs are case sensitive.\" So these two addresses are treated as two separate URLs: Even if both load the exact same page, a search engine sees two different URLs with their own content.","and are the same site — capitals in the domain never matter.","It's only the path , the filename , and the query string — everything after the domain — where case matters.","If people or your own site link to both and , you've got the same page living at two addresses.","Google may sort that out on its own — but it also may not, and now your rankings and links are split across two versions instead of pooled into one."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/website-structure/url-structure/url-case-sensitivity/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/url-structure/url-case-sensitivity/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Walmart SEO","desc":"Optimizing product listings inside Walmart Marketplace — a separate ranking system from Google, Amazon, Etsy, and eBay (and from paid Walmart Connect ads). Item setup, product type and attributes, the Listing Quality score, Search Insights, and how it differs from ranking your own store in Google.","snippetText":"Walmart SEO is optimizing listings inside Walmart Marketplace so they rank in Walmart.com's own organic search — a distinct system (Walmart's relevance engine, informally called Polaris) that is NOT Google, Amazon's A9/A10, Etsy's, or eBay's Cassini, and NOT Walmart Connect's paid Sponsored Search. Walmart officially documents seller-facing diagnostics — the Listing Quality score (content & discoverability, offer, ratings & reviews, post-purchase quality) and the Search Insights report — but does not publish a complete organic ranking formula; the widely-held practitioner model is that the sam","href":"/ecommerce-seo/marketplace-seo/walmart-seo/","slug":"walmart-seo","meta":"Educational","aliases":["walmart-seo","Walmart SEO","Walmart Marketplace SEO","rank on Walmart","Walmart listing optimization","marketplace-seo","ecommerce-seo","category-page-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","marketplace-seo"],"text":"walmart-seo marketplace-seo ecommerce-seo listing-quality walmart-marketplace Walmart SEO is optimizing listings inside Walmart Marketplace so they rank in Walmart.com's own organic search — a distinct system (Walmart's relevance engine, informally called Polaris) that is NOT Google, Amazon's A9/A10, Etsy's, or eBay's Cassini, and NOT Walmart Connect's paid Sponsored Search. Walmart officially documents seller-facing diagnostics — the Listing Quality score (content & discoverability, offer, ratings & reviews, post-purchase quality) and the Search Insights report — but does not publish a complete organic ranking formula; the widely-held practitioner model is that the same content, offer, and post-purchase components those dashboards score also function as ranking inputs. Before content tactics: get the item correctly set up (feed/API submission, processing status, the right product type and its required attributes) and clear of prohibited-content and prohibited-product policy, since none of that is optional. This is separate from ranking your own store in Google, though public Walmart listing URLs also get crawled by Google. What Walmart SEO is Before any of that: the item has to actually be listed What Walmart's search actually rewards The two tools Walmart gives you The thing most people get wrong A separate ranking system — say it plainly Before content: get the item set up right What Walmart actually ranks on 1. Content & discoverability the keyword/relevance layer 2. Offer the merchandising layer 3. Ratings, reviews & post purchase performance Why conversion signals rank you and why that's different from Google The two dashboards that make this measurable Organic Marketplace search vs. Walmart Connect sponsored Walmart listings in Google — the secondary channel Where this sits AI summary Official documentation Quotes from the source Which ranking system am I actually optimizing for? Walmart listing optimization — checklist The mental models Walmart SEO cheat sheet What not to do Walmart SEO is the practice of optimizing product listings — item setup, product type/attributes, content, offer, and reviews — inside Walmart Marketplace so they rank higher in Walmart.com's own organic search results, a distinct system (Walmart's relevance engine, often called Polaris) that is not Google's web-ranking algorithm and not Walmart Connect's paid Sponsored Search. T","passages":["TL;DR — Walmart SEO is getting your products to rank in Walmart.com's own search box , for free — not Google, and not the paid \"Sponsored\" listings you also see there.","Walmart runs its own ranking system, and sellers who've studied it report that it cares about more than keywords: your price , shipping speed , in stock rate , and reviews all seem to push a listing up or down, because Walmart wants to show the item most likely to sell and make the customer happy.","So the job is part writing a clear, keyword rich title and complete product details , part merchandising competitive price, fast shipping, good ratings — and, before any of that, making sure the item itself is set up correctly and allowed to sell in the first place.","What Walmart SEO is When you sell on Walmart Marketplace , your listing competes in Walmart's own search results.","Someone types \"stainless water bottle\" into the search bar on Walmart.com, and Walmart decides which sellers' listings show up first.","Walmart SEO is the work of being one of the ones that shows up first.","The important thing to understand up front: this is not Google.","Ranking on Walmart and ranking your own website in Google are two different games with two different rulebooks."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/ecommerce-seo/marketplace-seo/walmart-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/marketplace-seo/walmart-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"WebPageTest","desc":"WebPageTest is the free, open-source, lab-based performance tool technical SEOs reach for when PageSpeed Insights tells you a page is slow but not why — the history, how to read the waterfall and filmstrip, the CLS-hunting recipe, and where it fits alongside Lighthouse, PSI, and CrUX.","snippetText":"WebPageTest is a free, open-source lab (synthetic) performance testing tool — created by Patrick Meenan in 2008 as an internal AOL tool and acquired by Catchpoint in 2020. You give it a URL, a real test location, a browser, and a network profile, and it runs the page on a real device and returns deep diagnostics no single score can: a waterfall chart (render-blocking flags, request sequencing), a filmstrip/video view (frame-by-frame, with a Highlight Layout Shifts option for CLS), a connection view (DNS/TCP/TLS/TTFB), and Core Web Vitals frame by frame. The single most important thing to keep ","href":"/technical-seo/web-performance/web-performance-tools/webpagetest/","slug":"webpagetest","meta":"Educational","aliases":["webpagetest","webpagetest.org","web page test","webpagetest waterfall","WebPageTest","core-web-vitals","lighthouse"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-performance-tools"],"text":"webpagetest web-performance core-web-vitals technical-seo lab-data waterfall filmstrip catchpoint WebPageTest is a free, open-source lab (synthetic) performance testing tool — created by Patrick Meenan in 2008 as an internal AOL tool and acquired by Catchpoint in 2020. You give it a URL, a real test location, a browser, and a network profile, and it runs the page on a real device and returns deep diagnostics no single score can: a waterfall chart (render-blocking flags, request sequencing), a filmstrip/video view (frame-by-frame, with a Highlight Layout Shifts option for CLS), a connection view (DNS/TCP/TLS/TTFB), and Core Web Vitals frame by frame. The single most important thing to keep straight: WebPageTest produces lab data, not field data — it does NOT feed Google's Core Web Vitals ranking signal (that's real-user CrUX). It's for diagnosis, not the score Google sees. It's not a Lighthouse competitor either — you can run Lighthouse from inside it. Reach for it when PageSpeed Insights tells you a page is slow but not why or where in the load. What WebPageTest is Why you'd use it instead of PageSpeed Insights The two views most people start with What it actually is A brief history — and a genuinely odd footnote Lab vs. field — the distinction that matters most How to run a basic test Reading the results The waterfall chart The connection view The filmstrip / video view — and my CLS hunting recipe Core Web Vitals, frame by frame Advanced features Using WebPageTest for technical SEO Pricing and access Honest limitations A note on Bing Where this sits AI summary Official documentation Quotes from the source WebPageTest cheat sheet A WebPageTest run — checklist Tools that pair with WebPageTest WebPageTest is a free, open-source, lab-based website performance testing tool — created by Patrick Meenan in 2008 and acquired by Catchpoint in 2020 — that runs pages on real browsers from distributed locations and produces deep diagnostics (waterfalls, filmstrips, connection views, Core Web Vitals). It's a diagnostic tool, not a Google ranking input. TL;DR — WebPageTest is a free tool that loads your page on a real browser in a real location and shows you exactly what happened as it loaded — every file it downloaded, in what order, and a frame by frame video of the page appearing. It's the tool you use when PageSpeed Insights says a page is slow but you want to see why","passages":["TL;DR — WebPageTest is a free tool that loads your page on a real browser in a real location and shows you exactly what happened as it loaded — every file it downloaded, in what order, and a frame by frame video of the page appearing.","It's the tool you use when PageSpeed Insights says a page is slow but you want to see why .","It's not a Google product, and its scores don't affect your rankings — it's a diagnosis tool.","WebPageTest gives you a story — a detailed, step by step picture of how your page loaded.","You go to webpagetest.org https://www.webpagetest.org/ , type in a URL, pick where in the world to test from and on what kind of device and connection, and hit start.","A real browser on a real machine loads your page, and WebPageTest records everything: every image, script, and font it fetched, how long each took, and a filmstrip — an actual frame by frame set of screenshots of the page appearing on screen.","It was built by a developer named Patrick Meenan back in 2008, and a company called Catchpoint bought it in 2020 https://www.webpagetest.org/about — but the free public version at webpagetest.org is still there for anyone to use.","Why you'd use it instead of PageSpeed Insights PageSpeed Insights Google's tool is great at telling you that a page is slow and giving you a score."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/webpagetest/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/webpagetest/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"WWW vs. Non-WWW","desc":"Whether to serve your site from www.example.com or example.com — why it's a canonicalization choice and not a ranking factor, what replaced GSC's Preferred Domain setting, and the DNS and certificate mechanics that actually decide it.","snippetText":"www is a subdomain; non-www is the bare/apex/root domain. Google has said since 2005 there's no ranking difference — it's a canonicalization and consistency choice. The old GSC 'Preferred domain' setting was removed in June 2019; the replacement is consistent signals (rel=canonical + sitemap + a 301 from the version you didn't pick). The real reason sites default to www is DNS: a CNAME can't sit at the apex, so bare domains need A/ALIAS/ANAME records. Whatever you redirect from still needs a valid TLS cert. Pick one, 301 the other, keep everything consistent.","href":"/technical-seo/website-structure/url-structure/www-vs-non-www/","slug":"www-vs-non-www","meta":"Educational","aliases":["www-vs-non-www","www vs non-www","www subdomain","preferred domain","WWW vs. Non-WWW","canonicalization","url-structure","301-redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure","url-structure"],"text":"url-structure canonicalization www redirects www is a subdomain; non-www is the bare/apex/root domain. Google has said since 2005 there's no ranking difference — it's a canonicalization and consistency choice. The old GSC 'Preferred domain' setting was removed in June 2019; the replacement is consistent signals (rel=canonical + sitemap + a 301 from the version you didn't pick). The real reason sites default to www is DNS: a CNAME can't sit at the apex, so bare domains need A/ALIAS/ANAME records. Whatever you redirect from still needs a valid TLS cert. Pick one, 301 the other, keep everything consistent. What www and non www actually are Does it affect your rankings? How to do it right The thing most people get wrong www is a subdomain; non www is the apex Does www vs non www affect rankings? No. The history: GSC's Preferred Domain setting Why \"hint, not rule\" means consistency wins So why do so many sites default to www? DNS. Cookies are scoped to the hostname you choose The obsolete cookie free domain argument The HSTS and certificate trap Bing has no Preferred Domain equivalent How to actually pick one and make it stick AI summary Official documentation Quotes from the source Which one should you pick — and how? www/non www consolidation checklist www vs non www — cheat sheet Redirect one version to the other Verify the redirect and both certs What not to do Common hostname canonicalization failures WWW vs. non-WWW is the choice between serving a site from www.example.com (the www subdomain) or example.com (the bare/apex/root domain). Both point to the same content, so it's a canonicalization and consistency decision, not a ranking factor. TL;DR — and are distinct hostnames commonly configured to serve the same site. Neither format has an inherent SEO advantage, so neither one is \"better\" for SEO. The only real job is to pick one, redirect the other to it, and be consistent everywhere. Which one you pick usually comes down to how your hosting and DNS are set up, not SEO. What www and non www actually are The in a web address is a subdomain — the same kind of thing as or . It's just a very old convention that came to mean \"this is the website.\" The version without it — — is called the bare domain , the apex domain , or the root domain . Different names, same thing. Both usually point to the exact same pages. So the question \"www or not?\" isn't really about ","passages":["TL;DR — and are distinct hostnames commonly configured to serve the same site.","Neither format has an inherent SEO advantage, so neither one is \"better\" for SEO.","The only real job is to pick one, redirect the other to it, and be consistent everywhere.","Which one you pick usually comes down to how your hosting and DNS are set up, not SEO.","What www and non www actually are The in a web address is a subdomain — the same kind of thing as or .","It's just a very old convention that came to mean \"this is the website.\" The version without it — — is called the bare domain , the apex domain , or the root domain .","So the question \"www or not?\" isn't really about which one is a better website — it's about which one you want search engines and browsers to treat as the address.","Google has said the same thing for two decades: it has no preference between www and non www, and switching from one to the other — done properly — doesn't move your rankings."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/website-structure/url-structure/www-vs-non-www/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/url-structure/www-vs-non-www/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Yandex SEO","desc":"How ranking in Yandex — Russia's dominant search engine — differs from Google: heavier behavioral factors, an explicit commercial-query classifier, direct regional targeting, what the 2023 source-code leak actually showed, and whether Yandex.Direct spend touches organic.","snippetText":"Yandex SEO means optimizing and monitoring a site for Yandex Search with Yandex's own live webmaster guidance. Use Yandex Webmaster for verification, indexing, query data, diagnostics, and supported regional settings; keep paid Yandex.Direct campaigns separate from organic work. Historical leaks and market-share estimates are context, not current operational guarantees.","href":"/international-seo/market-specific-seo/yandex-seo/","slug":"yandex-seo","meta":"Educational","aliases":["yandex-seo","yandex seo","seo for russia","yandex ranking factors","yandex algorithm","Яндекс SEO","Yandex SEO","yandex-webmaster-tools","yandexbot","market-specific-seo"],"pillar":"international-seo","taxonomy":["international-seo","market-specific-seo"],"text":"yandex-seo international-seo market-specific-seo yandex behavioral-factors Yandex SEO means optimizing and monitoring a site for Yandex Search with Yandex's own live webmaster guidance. Use Yandex Webmaster for verification, indexing, query data, diagnostics, and supported regional settings; keep paid Yandex.Direct campaigns separate from organic work. Historical leaks and market-share estimates are context, not current operational guarantees. What Yandex is Why Yandex SEO is different from Google SEO The 2023 leak, in one paragraph The honest bottom line Yandex's market position: small globally, dominant locally Yandex vs. Yandex.Direct: organic and paid are separate How Yandex ranking actually works Behavioral factors — the headline difference Commercial vs. informational queries Regionality — a direct lever, not an inference Links and text relevance — the familiar parts What Yandex's own docs say The 2023 source code leak: what it actually showed The factor count is three different numbers — don't merge them Specific named factors worth knowing What the leak does NOT tell you: it's not Google's algorithm A working checklist for Yandex Should you invest in Yandex SEO in 2026? AI summary Official documentation Quotes from the source Should you invest in Yandex SEO? Yandex SEO myths and mistakes to avoid Yandex SEO setup checklist Yandex SEO is the practice of optimizing sites to rank in Yandex — Russia's dominant search engine. Its algorithm weights behavioral factors, commercial-query classification, and explicit regional targeting more heavily and more openly than Google does. TL;DR — Yandex SEO means optimizing and monitoring a site for Yandex Search, using Yandex's own webmaster guidance rather than assuming every Google specific tool or behavior transfers. Whether you should care comes down to one question: do you have an audience or business in Russia or the CIS? If yes, Yandex SEO is real work. If no, you can skip it. What Yandex is Yandex is to Russia roughly what Google is to most of the rest of the world — the default search engine, plus maps, mail, a marketplace, and more. It also leads in several nearby markets Belarus, Kazakhstan, and other former Soviet countries . It's part of a small club of search engines that beat Google on their home turf, alongside Baidu in China and Naver in South Korea. If you're weighing whether any of those markets a","passages":["TL;DR — Yandex SEO means optimizing and monitoring a site for Yandex Search, using Yandex's own webmaster guidance rather than assuming every Google specific tool or behavior transfers.","Whether you should care comes down to one question: do you have an audience or business in Russia or the CIS?","What Yandex is Yandex is to Russia roughly what Google is to most of the rest of the world — the default search engine, plus maps, mail, a marketplace, and more.","It also leads in several nearby markets Belarus, Kazakhstan, and other former Soviet countries .","It's part of a small club of search engines that beat Google on their home turf, alongside Baidu in China and Naver in South Korea.","If you're weighing whether any of those markets are worth the effort, the market specific SEO /international seo/market specific seo/ hub is the overview; this page is the Yandex deep dive.","Why Yandex SEO is different from Google SEO Three things stand out for anyone used to Google: It watches behavior closely.","Yandex leans harder on behavioral signals — whether people click your result, how long they stay, and whether they bounce straight back to the search results to try something else."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/international-seo/market-specific-seo/yandex-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/market-specific-seo/yandex-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Yandex Webmaster","desc":"What Yandex Webmaster is, why a Google-first SEO should care about it for the Russian and CIS market, and how it actually differs from Search Console — verification, the Reindex pages tool, IKS, site region, IndexNow, and why Turbo pages are gone.","snippetText":"Yandex Webmaster (webmaster.yandex.com) is Yandex's free Search Console equivalent — verification, indexing reports, query data, the Reindex pages tool, diagnostics, and site region — and it's not optional if you target Russia or the CIS, where Yandex holds roughly 71% of search. Signing up needs a phone-verified Yandex ID, and separately, whether your organization should operate in this market at all is a sanctions/compliance question for anyone outside Russia or the CIS — check that before you invest setup time. Most of the tool maps 1:1 to GSC and Bing Webmaster Tools, but the mechanics dif","href":"/technical-seo/tools/search-engine-tools/yandex-webmaster-tools/","slug":"yandex-webmaster-tools","meta":"Educational","aliases":["yandex-webmaster-tools","Yandex Webmaster","Yandex Webmaster Tools","webmaster.yandex.com","Яндекс.Вебмастер","bing-webmaster-tools","yandex-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools"],"text":"yandex-webmaster-tools yandex indexnow international-seo search-engine-tools Yandex Webmaster (webmaster.yandex.com) is Yandex's free Search Console equivalent — verification, indexing reports, query data, the Reindex pages tool, diagnostics, and site region — and it's not optional if you target Russia or the CIS, where Yandex holds roughly 71% of search. Signing up needs a phone-verified Yandex ID, and separately, whether your organization should operate in this market at all is a sanctions/compliance question for anyone outside Russia or the CIS — check that before you invest setup time. Most of the tool maps 1:1 to GSC and Bing Webmaster Tools, but the mechanics differ: verification requires the request to end at 200 OK (a redirect that lands there is fine), a daily reindex quota you can check via API, a human-moderated site region that can take weeks, and IKS, Yandex's Site Quality Index (successor to TIC since 2018) that staff call a consequence, not a cause. IndexNow is the one indexing bridge it shares with Bing (Google doesn't participate). Turbo pages, Yandex's AMP-like tech, were discontinued in 2025 — any guide still treating them as live is stale. What Yandex Webmaster is Setting it up What you'll actually use it for Two things worth knowing What it is, and why I'd still open it Setup and verification — and where it bites Indexing and the Reindex pages tool IndexNow — the Bing/Yandex bridge Site diagnostics IKS — the Site Quality Index Site region regional targeting Turbo pages are gone Yandex Webmaster vs. GSC vs. Bing Webmaster Tools Myths worth killing AI summary Official documentation Quotes from the source Do I actually need Yandex Webmaster? Yandex Webmaster mistakes to avoid Yandex Webmaster setup checklist Mental models for Yandex Webmaster Market first, console second Discovery, processing, and indexing are separate Three submission scales Yandex Webmaster (webmaster.yandex.com) is Yandex's free search console — the Yandex equivalent of Google Search Console — for verifying a site, monitoring indexing and queries, requesting reindexing, running diagnostics, and setting a site region. It's essential for any site targeting Russia and the wider CIS, where Yandex, not Google, is the dominant search engine. TL;DR — Yandex Webmaster is a free tool from Yandex — basically Google Search Console, but for Yandex, a search engine widely used in Rus","passages":["TL;DR — Yandex Webmaster is a free tool from Yandex — basically Google Search Console, but for Yandex, a search engine widely used in Russia and nearby markets.","You add your site, verify you own it, and then you can see which pages Yandex has indexed, what people searched to find you, and any problems Yandex ran into.","If you don't have any audience in Russia or the CIS, you probably don't need it — but if you do, it's the only place to see how Yandex treats your site.","What Yandex Webmaster is Yandex Webmaster webmaster.yandex.com is Yandex's free service for seeing and improving how your site does in Yandex search.","If you've used Google Search Console, you already know the shape of it: it shows the queries that found your pages, how many people clicked, which pages Yandex has indexed, and any technical or security issues it spotted.","The reason it exists as a separate thing at all is simple: in Russia, Kazakhstan, Belarus, and neighboring markets, Yandex — not Google — is the biggest search engine.","Search Console tells you nothing about Yandex, so if those markets matter to you, this is the tool you need.","Click Add site and type your site's URL exactly as it appears in search results."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/yandex-webmaster-tools/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/yandex-webmaster-tools/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"YandexBot","desc":"What YandexBot is, how to spot and verify it, the Yandex-only Clean-param directive, why Crawl-delay is dead, how it handles JavaScript, and how it compares to Googlebot and Bingbot.","snippetText":"YandexBot is Yandex's main web crawler — the bot that discovers and fetches pages for Yandex Search, the engine with ~70%+ share in Russia. Its robots.txt token is YandexBot (main indexing bot only) vs. Yandex (the broader bot family). It supports a Yandex-only directive, Clean-param, that consolidates URL parameters with no Google/Bing equivalent — and it stopped honoring Crawl-delay on February 22, 2018 (some SEO guides still wrongly claim otherwise). JavaScript rendering is beta and 'at the bot's discretion,' and the 2023 source-code leak suggested there's no separate JS rendering system th","href":"/technical-seo/how-search-works/crawling/crawler/yandexbot/","slug":"yandexbot","meta":"Educational","aliases":["yandexbot","yandex bot","yandex crawler","yandex spider","Яндекс бот","YandexBot","crawling","crawler","user-agent"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling","crawler"],"text":"yandexbot crawling technical-seo crawler international-seo yandex YandexBot is Yandex's main web crawler — the bot that discovers and fetches pages for Yandex Search, the engine with ~70%+ share in Russia. Its robots.txt token is YandexBot (main indexing bot only) vs. Yandex (the broader bot family). It supports a Yandex-only directive, Clean-param, that consolidates URL parameters with no Google/Bing equivalent — and it stopped honoring Crawl-delay on February 22, 2018 (some SEO guides still wrongly claim otherwise). JavaScript rendering is beta and 'at the bot's discretion,' and the 2023 source-code leak suggested there's no separate JS rendering system the way Google has one. Verify a real YandexBot by reverse-then-forward DNS to a yandex.ru/.net/.com host — the same technique Google and Bing use for their own bots — not by the user-agent string. What YandexBot is How to spot it Should you block it? What YandexBot actually is YandexBot vs. \"Yandex\" in robots.txt — they're not the same token Verifying it's really YandexBot Controlling YandexBot with robots.txt Disallow ≠ noindex — the same trap as Google Clean param — Yandex's unique parameter directive Crawl delay is dead since Feb 2018 How YandexBot handles JavaScript What the 2023 source code leak revealed about the crawler Why YandexBot still matters — and how common it is in robots.txt AI summary Official documentation Quotes from the source Should I block, allow, or throttle YandexBot? YandexBot myths and mistakes to avoid YandexBot — cheat sheet Verify a bot is really YandexBot Extract verified vs spoofed YandexBot hits from a log file Regex to match the YandexBot token in a user agent A robots.txt starting point for Yandex YandexBot readiness checklist YandexBot is the main web crawler operated by Yandex, Russia's dominant search engine. It discovers and fetches pages for Yandex Search, is one of a family of Yandex robots, and supports a Yandex-only robots.txt directive (Clean-param) that Google and Bing don't have. TL;DR — YandexBot is the crawler for Yandex Search — the same job Googlebot does for Google and Bingbot does for Bing. It visits your pages, downloads them, and adds them to Yandex's index. Whether you should care about it comes down to one question: do you have any audience or business in markets where Yandex is relevant? If yes, it matters. If no, it's mostly just traffic in your logs","passages":["TL;DR — YandexBot is the crawler for Yandex Search — the same job Googlebot does for Google and Bingbot does for Bing.","It visits your pages, downloads them, and adds them to Yandex's index.","Whether you should care about it comes down to one question: do you have any audience or business in markets where Yandex is relevant?","What YandexBot is When you see in your server logs, that's the crawler for Yandex — the search engine that dominates search in Russia the way Google dominates most of the rest of the world.","Just like Googlebot and Bingbot, YandexBot follows links, reads sitemaps, downloads your pages, and hands them off to be added to Yandex's search index.","The reason it gets its own article — instead of \"just block all the non Google bots\" — is geography.","Yandex is a rounding error worldwide, but in Russia it holds roughly 71% of the search market versus Google's 27% StatCounter, June 2026 .","So if you sell to or serve people in Russia and historically some nearby markets , YandexBot is your gateway to most of that search traffic."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-03","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/yandexbot/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/yandexbot/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"301 Redirect","desc":"What a 301 permanent redirect is, why Google says it doesn't cause a loss in PageRank, how long to keep one in place, how to implement it on Apache, nginx, WordPress, and Cloudflare, and the \"fake 301\" mistakes that quietly cost you signal.","snippetText":"A 301 redirect is the HTTP status code for a permanent move (301 Moved Permanently). It's the strongest, simplest way to send users and bots from an old URL to a new one and consolidate ranking signals onto the destination. Google is explicit that permanent redirects don't cause a loss in PageRank — so ignore the old '10–15% loss per hop' folklore, and don't quote a precise percentage of link equity passed, because Google doesn't publish one. Use a real server-side 301 (not a JavaScript or delayed meta-refresh workaround), redirect old URLs to their relevant equivalent 1:1 (not everything to t","href":"/technical-seo/http-status-codes/redirects/301-redirect/","slug":"301-redirect","meta":"Educational","aliases":["301-redirect","301 redirect","permanent redirect","301 status code","302 redirect","Redirect chain"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"redirects http-status-codes technical-seo A 301 redirect is the HTTP status code for a permanent move (301 Moved Permanently). It's the strongest, simplest way to send users and bots from an old URL to a new one and consolidate ranking signals onto the destination. Google is explicit that permanent redirects don't cause a loss in PageRank — so ignore the old '10–15% loss per hop' folklore, and don't quote a precise percentage of link equity passed, because Google doesn't publish one. Use a real server-side 301 (not a JavaScript or delayed meta-refresh workaround), redirect old URLs to their relevant equivalent 1:1 (not everything to the homepage — that risks a soft 404), keep chains short (under ~5 hops), and keep the redirect live for generally at least a year so all signals transfer. Server-side it's instant; index consolidation takes weeks to roughly a year. What a 301 redirect is When you'd use one The one number you should ignore Three things to get right What about a 302? What a 301 actually is How Google processes a 301 canonicalization + indexing The PageRank myth — get this exactly right Timing — three different clocks Implementing a 301 Apache nginx WordPress Cloudflare Application code PHP example \"Fake\" 301s — the failure mode nobody checks Common 301 mistakes Bing Where this sits AI summary Official documentation Quotes from the source 301 redirect implementation checklist Detecting and testing 301s A 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank. TL;DR — A 301 redirect permanently sends anyone or any bot who visits an old URL to a new one. It's the right tool when a page moves for good — a new domain, a new URL, HTTP to HTTPS, or merging two pages into one. Set it up on your server, point each old URL to its real replacement not just your homepage , and leave it in place. Google says a 301 doesn't cost you ranking value, so there's nothing to be afraid of. What a 301 redirect is When a browser or a search engine asks for a page, your server answers with a three digit HTTP status code . means \"here's the page.\" means \"not found.\" A 301 means \"Moved Permanently\" — this URL has a new home, go there instead. So a 301 redir","passages":["TL;DR — A 301 redirect permanently sends anyone or any bot who visits an old URL to a new one.","It's the right tool when a page moves for good — a new domain, a new URL, HTTP to HTTPS, or merging two pages into one.","Set it up on your server, point each old URL to its real replacement not just your homepage , and leave it in place.","Google says a 301 doesn't cost you ranking value, so there's nothing to be afraid of.","What a 301 redirect is When a browser or a search engine asks for a page, your server answers with a three digit HTTP status code .","means \"here's the page.\" means \"not found.\" A 301 means \"Moved Permanently\" — this URL has a new home, go there instead.","So a 301 redirect is your server telling everyone: the thing you asked for lives at a different address now, and that's permanent.","Visitors get sent to the new page automatically, and search engines update their records to point at the new URL."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/301-redirect/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/301-redirect/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"301 vs. 302 Redirect","desc":"301 (permanent) vs. 302 (temporary) redirects — why the old \"301 passes 95%, 302 passes 0%\" rule is wrong, what Google actually says today, and a real decision rule for which to use.","snippetText":"The difference between a 301 and a 302 is intent, not a fixed percentage of value that survives. A 301 says the move is permanent and is a strong signal that the destination should become canonical; a 302 says it's temporary and, by default, tells Google to keep showing the original URL. The single most important thing to unlearn: the old '301 passes ~95% of link equity, 302 passes 0%' rule is wrong — redirects aren't a leaky pipe with a fixed percentage. But that doesn't mean everything is guaranteed to survive untouched either: redirect type is one canonicalization signal (among internal lin","href":"/technical-seo/http-status-codes/redirects/301-vs-302/","slug":"301-vs-302","meta":"Educational","aliases":["301 vs. 302 Redirect","301 vs 302","301 vs 302 redirect","permanent vs temporary redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"redirects http-status-codes technical-seo The difference between a 301 and a 302 is intent, not a fixed percentage of value that survives. A 301 says the move is permanent and is a strong signal that the destination should become canonical; a 302 says it's temporary and, by default, tells Google to keep showing the original URL. The single most important thing to unlearn: the old '301 passes ~95% of link equity, 302 passes 0%' rule is wrong — redirects aren't a leaky pipe with a fixed percentage. But that doesn't mean everything is guaranteed to survive untouched either: redirect type is one canonicalization signal (among internal links, external links, sitemaps, and more) that helps decide which URL, source or destination, Google treats as canonical — your actual traffic, rankings, and links still depend on those other signals lining up, too. A 302 left in place long enough — especially to an established destination — can get treated like a 301, with no fixed cutoff (Mueller), though how fast that happens is a practitioner observation, not documented policy. Still use a 301 for permanent moves (it's unambiguous to browsers, CDNs, and search engines) and a 302 for genuinely temporary situations — Google explicitly tells you to use 302, not 301, for A/B tests. Keep permanent redirects in place at least a year. What a 301 and a 302 actually mean The one thing everybody gets wrong So which one do I use? The semantic difference comes first The myth: \"301 passes 95% of link equity, 302 passes 0%\" Does redirect type affect rankings, then? There's no fixed timer for a 302 becoming a \"301\" Real world evidence: my own experiment And it can go the other way rarely When 302 is still the technically correct choice When 301 is the correct choice A protocol detail worth knowing: method and caching A caveat that outranks redirect type: relevance Common mistakes How to check how Google is actually treating your redirect Where this sits AI summary Official documentation Quotes from the source Which redirect should I use: 301 or 302? Redirect choices that fight your own intent Leave a 302 on a permanent move Put a 301 on a temporary experiment Remove a permanent redirect too early {/ tool rule claim: redirects.chain resolution/article contract /} TL;DR — A 301 redirect means \"this page moved permanently .\" A 302 means \"this page moved temporarily .\" Both send visitors to the ","passages":["{/ tool rule claim: redirects.chain resolution/article contract /} TL;DR — A 301 redirect means \"this page moved permanently .\" A 302 means \"this page moved temporarily .\" Both send visitors to the new URL; the difference is what you're telling search engines about which URL should be the real one going forward.","Forget the old rule that \"301s pass value and 302s don't\" — that's outdated, but it doesn't mean everything automatically survives either way; the redirect type is one signal among several that decides which URL ends up with the credit.","Use a 301 when the change is permanent, a 302 when it's genuinely temporary.","What a 301 and a 302 actually mean Both a 301 and a 302 are redirects: type in one URL, land on a different one.","The number is the HTTP status code the server sends, and it carries a message for browsers and search engines.","301 — \"Moved Permanently.\" You're telling everyone the old address is gone for good and the new one is the real home now.","You're saying \"send people over here for now, but the old address is still the one that counts — I'll be back.\" John Mueller from Google has a nice analogy for this.","A 301 is like filing a permanent change of address so your mail gets forwarded to your new home for good."],"updated":"2026-07-21T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/301-vs-302/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/301-vs-302/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"301 vs. 308 Redirect","desc":"301 and 308 are both permanent redirects — the core difference is that 308 guarantees the HTTP method (and the body riding with it) survive the hop. Why 308 exists, why Google and Bing process it the same way they process a 301, and when to actually reach for it.","snippetText":"A 301 and a 308 are both permanent redirects, and Google and Bing both treat 308 the same way they treat 301 for crawling, indexing, and signal purposes — Google's own docs call 308 'equivalent to 301,' Gary Illyes says 'we just merge that with 301,' and Bing's Fabrice Canel confirms Bing treats them the same. At the protocol level, the core difference is mechanical: a 308 guarantees the client repeats the same request method (a POST stays a POST, and the body rides along) against the new URL, while a 301 — an HTTP/1.0-era code — is ambiguous specifically about POST turning into GET (the RFC d","href":"/technical-seo/http-status-codes/redirects/301-vs-308/","slug":"301-vs-308","meta":"Educational","aliases":["301 vs 308","301 vs 308 redirect","permanent redirect method preservation"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"redirects http-status-codes technical-seo A 301 and a 308 are both permanent redirects, and Google and Bing both treat 308 the same way they treat 301 for crawling, indexing, and signal purposes — Google's own docs call 308 'equivalent to 301,' Gary Illyes says 'we just merge that with 301,' and Bing's Fabrice Canel confirms Bing treats them the same. At the protocol level, the core difference is mechanical: a 308 guarantees the client repeats the same request method (a POST stays a POST, and the body rides along) against the new URL, while a 301 — an HTTP/1.0-era code — is ambiguous specifically about POST turning into GET (the RFC doesn't address PUT/DELETE either way). So for a normal page-to-page or site migration, 301 stays the pragmatic default (older, more broadly recognized, better tooling/CDN/plugin support). Reach for 308 only when you must preserve a non-GET method: API endpoints, webhook URLs, form action targets, auth POST flows — and even then, the status code alone doesn't guarantee credentials, cookies, or idempotency, so test the real client. There's no SEO advantage to either — anyone telling you to mass-migrate your 301s to 308s for a rankings bump is selling a myth the search engines have explicitly debunked. What these two codes mean Does it matter for SEO? No. So which do I use? The semantic difference comes first Why 308 exists at all: the missing \"permanent 307\" What \"method and body preserved\" means in practice Does Google treat 301 and 308 differently for SEO? No. Does Bing treat 301 and 308 differently? Also no. The myth to bust: \"308 is better for SEO / migrate all your 301s\" When 308 is the technically correct choice When 301 remains the pragmatic default How to implement each A lever that outranks the 301 vs 308 choice: chain length Where this sits AI summary Official documentation Quotes from the source Which permanent redirect should I use: 301 or 308? The permanence × method grid 301 vs. 308 at a glance Tools for verifying the permanent redirect Patrick's free tools Verify method preservation when it matters Test yourself: 301 vs. 308 TL;DR — A 301 and a 308 are both permanent redirects, and Google and Bing both treat a 308 the same way they treat a 301. The core technical difference is the method guarantee: a 308 promises the browser will re send the request the same way it came in so a form submission stays a form submissio","passages":["TL;DR — A 301 and a 308 are both permanent redirects, and Google and Bing both treat a 308 the same way they treat a 301.","The core technical difference is the method guarantee: a 308 promises the browser will re send the request the same way it came in so a form submission stays a form submission , while a 301 doesn't strictly promise that for a POST.","Use a 308 when you're redirecting something that isn't a plain page — like an API or a form — and you need the original request method to arrive intact though the status code alone doesn't guarantee things like cookies or credentials survive too — test the real client .","What these two codes mean When a server sends you from one URL to another, it stamps the response with a status code.","Two of them mean \"this moved permanently\": 301 — \"Moved Permanently.\" The original, oldest permanent redirect code.","308 — \"Permanent Redirect.\" A newer code added in 2015 that does the same job plus one extra guarantee.","Think about what happens when you submit a form: your browser sends a POST request carrying your data.","With an old style 301, the browser is allowed to quietly turn that POST into a plain GET when it follows the redirect — dropping your data along the way."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/301-vs-308/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/301-vs-308/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"302 Redirect","desc":"What a 302 temporary redirect is, why Google calls it a \"weak\" target-processing signal (not the zero-equity dead end of SEO folklore), the legitimate use cases Google actually recommends it for, and the one mistake that costs you rankings.","snippetText":"A 302 redirect (HTTP status 302, 'Found') is a temporary redirect: it forwards users to a new URL while signaling that the original URL should stay in search results. The nuance most guides get wrong: Google's crawling infrastructure calls a 302 a weak signal that the target should be processed, versus the strong signal a 301 sends — but that's separate from Search's indexing pipeline, which says it doesn't treat a temporary redirect as a signal the target should be canonical (weak isn't zero, and processed isn't canonical). Google (Mueller, Illyes) has said 302s still pass link signals, and i","href":"/technical-seo/http-status-codes/redirects/302-redirect/","slug":"302-redirect","meta":"Educational","aliases":["302-redirect","302 redirect","temporary redirect","302 status code","Found","301 redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"redirects http-status-codes technical-seo A 302 redirect (HTTP status 302, 'Found') is a temporary redirect: it forwards users to a new URL while signaling that the original URL should stay in search results. The nuance most guides get wrong: Google's crawling infrastructure calls a 302 a weak signal that the target should be processed, versus the strong signal a 301 sends — but that's separate from Search's indexing pipeline, which says it doesn't treat a temporary redirect as a signal the target should be canonical (weak isn't zero, and processed isn't canonical). Google (Mueller, Illyes) has said 302s still pass link signals, and if a 302 stays up long enough, Google can start treating it like a 301 — a practitioner-observed pattern with no published timeline. It's the correct choice for genuinely temporary situations — Google explicitly recommends 302 over 301 for A/B tests, plus geo/device routing and maintenance pages. The one real mistake is using a 302 for a permanent move, which can leave the old URL ranking instead of the new one for an unpredictable stretch of time. What a 302 redirect is When you'd actually use one The thing most people get wrong \"Moved Temporarily\" → \"Found\" — a quick history Weak signal vs. strong signal — Google's precise words Two mechanisms, not one What happens if a 302 stays up too long — the \"flip\" How Bing treats a 302 — it watches behavior, not just the header When a 302 is the right call The one real mistake Implementing a 302 AI summary Official documentation Quotes from the source 301 or 302? — a pre flight checklist Legitimate 302 use cases, annotated Two mechanisms, not one Tools for checking temporary redirects Patrick's free tools Check canonical behavior and duration Prove a temporary redirect stayed temporary Test 1 — The experiment emits a real 302 Test 2 — The original remains the canonical URL Test 3 — The temporary rule is removed when the test ends A 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. TL;DR — A 302 redirect sends visitors from one URL to another temporarily . It tells search engines \"this move isn't permanent — keep the original URL in your results.\" Use it when you genuinely mean temporary an A/B test, a sale page, a m","passages":["TL;DR — A 302 redirect sends visitors from one URL to another temporarily .","It tells search engines \"this move isn't permanent — keep the original URL in your results.\" Use it when you genuinely mean temporary an A/B test, a sale page, a maintenance notice .","What a 302 redirect is A redirect is an instruction that sends anyone who requests one URL to a different one.","When a server responds to a request, it includes an HTTP status code — a three digit number that says what happened.","Its official name is \"302 Found,\" and its whole personality is one word: temporary .","A 302 says: this page has moved for now, but the original URL is coming back.","So search engines are supposed to keep the original URL in their results and treat the destination as a stand in, not a replacement.","Compare that to its permanent sibling, the 301 redirect , which says \"this move is forever — index the new URL instead.\" Same visitor experience both send you to the new page , opposite message to search engines."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/302-redirect/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/302-redirect/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"302 vs. 307 Redirect","desc":"302 and 307 are both temporary redirects — the difference is that 307 guarantees the HTTP method isn't changed. Why Google treats them the same, when 307 is the right choice, and the HSTS \"phantom 307.\"","snippetText":"302 and 307 are both temporary redirects, and Google processes them the same way — its docs call 307 'equivalent to 302,' and Mueller has said 'for SEO, it doesn't really matter' between the temporary and permanent pairs; neither code is a signal that the destination should become canonical, though Google hasn't published a PageRank/link-value formula for either. The real difference is method preservation: an automatic 307 follow must keep the same request method (a POST stays a POST), while a 302 lets a client convert POST to GET — the body and credentials still depend on the specific client,","href":"/technical-seo/http-status-codes/redirects/302-vs-307/","slug":"302-vs-307","meta":"Educational","aliases":["302 vs 307","302 vs 307 redirect","temporary redirect method preservation"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"redirects http-status-codes technical-seo 302 and 307 are both temporary redirects, and Google processes them the same way — its docs call 307 'equivalent to 302,' and Mueller has said 'for SEO, it doesn't really matter' between the temporary and permanent pairs; neither code is a signal that the destination should become canonical, though Google hasn't published a PageRank/link-value formula for either. The real difference is method preservation: an automatic 307 follow must keep the same request method (a POST stays a POST), while a 302 lets a client convert POST to GET — the body and credentials still depend on the specific client, so verify rather than assume. Use 307 when losing the method matters — APIs, forms, POST/webhook/checkout flows — but watch for non-idempotent replay (a payment or order call can resubmit on redirect); use a plain 302 for ordinary GET redirects (geo/language, Google's own recommended choice for A/B tests, mobile↔desktop) and treat maintenance redirects as resource-dependent rather than automatic. Two gotchas: a 307 in your browser's Network tab is often the HSTS 'phantom 307' your server never sent (a Chrome UI label, not a protocol guarantee), and Bing has issued no distinct 302-vs-307 guidance. My own preferred order for temporary redirects is 307 / 302 / 303 over meta/HTTP refresh — though defaulting to 307 isn't free of tradeoffs, so check cache headers, legacy-client support, and idempotency before doing it everywhere. What a 302 and a 307 actually mean Does it matter for SEO? So when do I use each? One thing that trips people up Both are temporary — that's the starting point The one real difference: method and body preservation Does Google treat 302 and 307 differently for SEO? Does Bing treat 302 and 307 differently? When 307 is the technically correct choice When 302 is the pragmatic default The HSTS \"phantom 307\" — a 307 your server never sent Common myths My recommendation Where this sits AI summary Official documentation Quotes from the source Which temporary redirect: 302 or 307? Temporary redirect mistakes to avoid Choose 302 because 307 supposedly passes less value Assume 302 is always safer because it is older Treat every DevTools 307 as a server rule Claim every 302 converts POST to GET Replace every 302 with 307 for an SEO gain TL;DR — A 302 and a 307 are both \"temporary\" redirects — they send visitors somewher","passages":["TL;DR — A 302 and a 307 are both \"temporary\" redirects — they send visitors somewhere else for now while keeping the original URL as the one that counts.","Google processes them the same way, so there's no meaningful SEO difference.","The one real difference is technical: a 307 has to keep your request the same type so a form submission stays a form submission instead of turning into a plain page fetch , while a 302 historically let that get swapped.","Use a plain 302 for normal redirects; use a 307 when you're redirecting something like a form or an API that sends data — and don't assume \"defaulting to 307 everywhere\" is automatically free.","What a 302 and a 307 actually mean Both a 302 and a 307 are redirects: you request one URL and land on a different one.","The number is the HTTP status code the server sends back, and it carries a message for browsers and search engines.","It says \"go here for now, but the old address is still the real one — I'll be back.\" 307 — \"Temporary Redirect.\" Same message — temporary, old URL still counts — but with one extra promise attached: the browser has to repeat your exact request, including whether it was a GET just fetching a page or a POST sending data like a form .","A useful way to say it: a 307 is a 302 that also guarantees the browser won't quietly swap your form submission for a plain page request."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/302-vs-307/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/302-vs-307/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"303 Redirect (See Other)","desc":"What a 303 See Other redirect is, the Post/Redirect/Get pattern it powers, why it switches the request to GET or HEAD (unlike 307), how it differs from 302, and why Google and Bing publish almost no 303-specific SEO guidance.","snippetText":"A 303 See Other is a temporary HTTP redirect that tells the client to fetch a different URL with a GET or HEAD request, no matter what method the original request used. It's the mechanism behind the Post/Redirect/Get (PRG) pattern: submit a form with POST, get a 303 to a GET-able result page, so refreshing doesn't resend the original POST. Unlike a 307 (which always preserves the method), a 303 changes it to GET or HEAD; unlike a 302, its method-handling is unambiguous. For SEO it barely matters — it's a web-application pattern, not a URL-migration tool. Google documents it only as part of the","href":"/technical-seo/http-status-codes/redirects/303-see-other/","slug":"303-see-other","meta":"Educational","aliases":["303-see-other","303 redirect","See Other","303 status code","post-redirect-get","303 See Other","302 redirect","307 redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"A 303 See Other is a temporary HTTP redirect that tells the client to fetch a different URL with a GET or HEAD request, no matter what method the original request used. It's the mechanism behind the Post/Redirect/Get (PRG) pattern: submit a form with POST, get a 303 to a GET-able result page, so refreshing doesn't resend the original POST. Unlike a 307 (which always preserves the method), a 303 changes it to GET or HEAD; unlike a 302, its method-handling is unambiguous. For SEO it barely matters — it's a web-application pattern, not a URL-migration tool. Google documents it only as part of the generic 'temporary' 3xx bucket with 302 and 307 and says the redirect itself isn't a signal the target should be canonical (though other signals can still get the target indexed), and neither Google nor Bing publishes dedicated 303 guidance. You won't typically see it used for SEO redirects, and if you do, it's treated like a 302/307. What a 303 redirect is The one thing 303s are actually for Why this rarely matters for SEO Don't confuse it with a broken or moved page What a 303 actually is 303 vs 302 vs 307: the method question The Post/Redirect/Get pattern, precisely How Google treats 303 and why there's so little to treat How Bing treats 303 Does 303 matter for SEO? Rarely. 303 vs 201, 202, and 204: picking the right status for a write Common myths Where this sits Validating a 303 flow safely AI summary Official documentation Quotes from the source Misusing 303 See Other Treat 303 as a generic \"page moved\" code Use 303 when the original method must survive Describe 303 as a strong permanent SEO signal Assume Google or Bing publishes detailed 303 rules Call 302 and 303 technically identical Assert universal client, credential, or cross origin behavior A 303 See Other is a temporary HTTP redirect that tells the client to fetch a different URL with a GET or HEAD request, no matter what method the original request used. It's the mechanism behind the Post/Redirect/Get pattern, and search engines treat it as a weak signal like a 302 or 307. TL;DR — A 303 See Other is a redirect that sends the browser to a different page and fetches it with a GET or HEAD request. Its main job is a web dev trick: after you submit a form, the server bounces you to a results page so that refreshing the page re fetches that results page instead of resending the original form submission. It's a","passages":["TL;DR — A 303 See Other is a redirect that sends the browser to a different page and fetches it with a GET or HEAD request.","Its main job is a web dev trick: after you submit a form, the server bounces you to a results page so that refreshing the page re fetches that results page instead of resending the original form submission.","It's almost never something you'd set up on purpose for SEO — it's a forms and apps thing, not a \"this page moved\" thing.","And here's the honest part: Google and Bing don't publish any special SEO advice about 303s, because there's barely anything to say.","What a 303 redirect is When a browser asks for a page, your server answers with a three digit HTTP status code .","means \"here's the page.\" means \"not found.\" A 303 means \"See Other\" — don't render what you asked for directly; instead, go grab a different URL, and retrieve it with a GET or HEAD request.","That GET or HEAD switch is the whole point of a 303, and it's what makes it different from its siblings.","The one thing 303s are actually for Picture submitting a form — an order, a comment, a payment."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/303-see-other/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/303-see-other/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Agile SEO","desc":"How to apply agile methodology to SEO — sprint-based work, writing SEO tickets engineers accept, running ceremonies, and prioritizing enterprise backlogs at scale.","snippetText":"Agile SEO is running your SEO program the way engineering runs its work: short time-boxed sprints or Kanban-style continuous flow, off a continuously prioritized backlog of tickets, with iterative delivery — instead of one long quarterly roadmap. It is borrowed wholesale from software Scrum/Kanban; there is no Google- or Bing-defined agile SEO framework, so don't cite one. The practical core is three things. First, participate in the ceremonies engineering already runs — sprint planning, standups (not the place to introduce new work), backlog refinement, retros. Second, write tickets engineers","href":"/enterprise-seo/strategy-and-operations/agile-seo/","slug":"agile-seo","meta":"Educational","aliases":["agile-seo","Agile SEO","agile SEO methodology","sprint-based SEO","SEO tickets","SEO backlog prioritization","enterprise-seo","b2b-seo","seo-okrs"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","strategy-and-operations"],"text":"agile-seo enterprise-seo seo-tickets backlog prioritization scrum Agile SEO is running your SEO program the way engineering runs its work: short time-boxed sprints or Kanban-style continuous flow, off a continuously prioritized backlog of tickets, with iterative delivery — instead of one long quarterly roadmap. It is borrowed wholesale from software Scrum/Kanban; there is no Google- or Bing-defined agile SEO framework, so don't cite one. The practical core is three things. First, participate in the ceremonies engineering already runs — sprint planning, standups (not the place to introduce new work), backlog refinement, retros. Second, write tickets engineers will actually accept: one problem per ticket, concrete technical specificity (name the exact resource, not 'improve page speed'), quantifiable acceptance criteria ('this ticket is complete when…'), and expected impact/KPIs. Third, prioritize a large backlog with RICE or ICE scoring adapted for SEO — and keep it in the same system (Jira) engineering already works in, not a separate spreadsheet. At enterprise scale the backlog runs into the hundreds or thousands of tickets, so group into epics and favor template/architecture-level fixes that resolve many tickets at once. What agile SEO is Why teams work this way The one thing beginners get wrong Agile SEO vs. the quarterly roadmap This is borrowed, not blessed Agile ceremonies from an SEO's seat Scrum vs. Kanban: pick the flow that fits Writing SEO tickets engineers will actually accept Prioritizing a large SEO backlog: RICE, ICE, and beyond Dependency mapping with engineering Managing SEO backlogs at enterprise scale AI summary Official documentation Quotes from the source SOP: standing up an agile SEO workflow Playbook: getting SEO work prioritized against engineering's queue Agile SEO anti patterns A good ticket vs. a vague one SEO ticket checklist Backlog health checklist The mental models Agile SEO cheat sheet Tools for agile SEO Draft a ticket engineering can accept Agile SEO is the practice of running an SEO program with agile project-management methods borrowed from software development — short time-boxed sprints, a continuously prioritized backlog of tickets, and iterative delivery — instead of one long, static roadmap. TL;DR — Agile SEO means running your SEO work the same way software teams run theirs: in short cycles called sprints usually one ","passages":["TL;DR — Agile SEO means running your SEO work the same way software teams run theirs: in short cycles called sprints usually one to four weeks , off a prioritized to do list called a backlog , with each piece of work written up as a ticket .","Instead of one big yearly plan, you ship small changes constantly and adjust as you go.","It's borrowed from software development — Google never invented or endorsed it — it is an optional operating model teams can adapt to their workflow.","What agile SEO is Most SEO advice imagines you can just do the thing — add the schema, fix the canonical, rewrite the title.","The change lives in code someone else owns, and that someone is an engineer with their own queue of work.","Agile SEO is a way of working with that queue instead of fighting it.","Engineering teams long ago stopped trying to plan a whole year up front and ship it all at the end that's the old \"waterfall\" style .","Instead they work in short bursts: Sprints — a fixed short window, often two weeks, where the team commits to a small batch of work and finishes it."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/enterprise-seo/strategy-and-operations/agile-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/strategy-and-operations/agile-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Caching for SEO","desc":"How browser and server caching with Cache-Control, ETags, and CDNs improves performance and Core Web Vitals, and the caching pitfalls that affect crawling.","snippetText":"Caching stores a copy of a page or resource — in the browser, on a CDN edge, or in a crawler's own cache — so it doesn't have to be regenerated or re-downloaded. It's not a direct ranking factor, but it feeds two things that matter: page speed / Core Web Vitals (via TTFB and LCP) and crawl efficiency. Google's crawler only honors ETag and Last-Modified (plus max-age as a recrawl hint) — it prefers ETag, and 'other HTTP caching directives aren't supported.' The riskiest caching mistakes aren't slow cache durations; they're CDN misconfigurations and stale caches that block or mislead bots.","href":"/technical-seo/web-performance/caching/","slug":"caching","meta":"Educational","aliases":["caching","HTTP caching","cache-control","browser caching","caching for SEO","Caching for SEO","core-web-vitals","ttfb","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"caching web-performance technical-seo cache-control etag cdn core-web-vitals crawl-budget Caching stores a copy of a page or resource — in the browser, on a CDN edge, or in a crawler's own cache — so it doesn't have to be regenerated or re-downloaded. It's not a direct ranking factor, but it feeds two things that matter: page speed / Core Web Vitals (via TTFB and LCP) and crawl efficiency. Google's crawler only honors ETag and Last-Modified (plus max-age as a recrawl hint) — it prefers ETag, and 'other HTTP caching directives aren't supported.' The riskiest caching mistakes aren't slow cache durations; they're CDN misconfigurations and stale caches that block or mislead bots. What caching is Why it matters for SEO The one thing to get straight What to actually do The three layers of caching Why caching feeds Core Web Vitals Cache Control, in the directives that matter Cache busting with versioned filenames The bfcache trap — where quietly hurts CWV How a cache decides \"fresh enough\" How Googlebot uses caching the crawl efficiency angle ETag vs. Last Modified — which Google prefers The nuance almost everyone misses CDNs and crawling CDN misconfiguration is a crawling risk Caching pitfalls that hurt crawling and indexing Is caching a ranking factor? AI summary Official documentation Quotes from the source Caching for SEO — cheat sheet Caching myths and mistakes Caching setups, before and after HTTP caching setup checklist Caching stores a copy of a page or resource — in a browser, a CDN edge node, or a search crawler's own cache — so it can be served again without regenerating or re-downloading it. It isn't a direct ranking factor, but it feeds page speed and crawl efficiency. TL;DR — Caching means saving a copy of a page or file so it doesn't have to be built and sent again from scratch. It makes your site faster for people and for search bots, and it lets bots skip re downloading pages that haven't changed. Caching won't rank you higher on its own — but the speed it buys you, and the crawl efficiency it enables, both help indirectly. What caching is Every time someone opens a page, the server has to do work: build the HTML, send the images, ship the CSS and JavaScript. Caching stores a ready made copy of those things so the next visit can reuse it instead of doing all that work again. There are three places a copy can live that matter for SEO: 1. The browser","passages":["TL;DR — Caching means saving a copy of a page or file so it doesn't have to be built and sent again from scratch.","It makes your site faster for people and for search bots, and it lets bots skip re downloading pages that haven't changed.","Caching won't rank you higher on its own — but the speed it buys you, and the crawl efficiency it enables, both help indirectly.","What caching is Every time someone opens a page, the server has to do work: build the HTML, send the images, ship the CSS and JavaScript.","Caching stores a ready made copy of those things so the next visit can reuse it instead of doing all that work again.","There are three places a copy can live that matter for SEO: 1.","The browser cache — files saved on the visitor's own device, so a second page view or a return visit loads almost instantly.","The CDN edge cache — copies stored on servers spread around the world, so a file is served from somewhere physically close to the user or the bot instead of your one origin server."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/web-performance/caching/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/caching/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Carousel Rich Results (Schema)","desc":"How Google's carousel rich result actually works — an ItemList wrapping multiple same-type items with position values. Which types qualify, the classic vs. beta split, and why valid ItemList isn't a visible carousel.","snippetText":"A carousel rich result (Google calls it a \"host carousel\") is a horizontally scrollable row of cards from one site, built by wrapping two or more same-type items in an ItemList, each carrying a 1-based position that sets the display order. The single most useful thing to know: valid ItemList does not equal a visible carousel — ItemList only becomes carousel-eligible when combined with a supported type. And there are two separate carousel systems right now: the mature, generally available Carousel (ItemList) feature (Course list, Movie, Recipe, Restaurant — with Restaurant gated behind a limite","href":"/technical-seo/on-page/structured-data/carousel-schema/","slug":"carousel-schema","meta":"Educational","aliases":["carousel-schema","carousel schema","carousel rich result","host carousel","ItemList carousel","structured data","creative works schema","itemlist-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"carousel-schema structured-data itemlist rich-results host-carousel on-page-seo schema json-ld A carousel rich result (Google calls it a \"host carousel\") is a horizontally scrollable row of cards from one site, built by wrapping two or more same-type items in an ItemList, each carrying a 1-based position that sets the display order. The single most useful thing to know: valid ItemList does not equal a visible carousel — ItemList only becomes carousel-eligible when combined with a supported type. And there are two separate carousel systems right now: the mature, generally available Carousel (ItemList) feature (Course list, Movie, Recipe, Restaurant — with Restaurant gated behind a limited-access form) and a newer Structured data carousels (beta) / host carousel for LocalBusiness subtypes, Product, and Event, available only in the EEA, Turkey, and South Africa. They differ on minimum items (2 vs 3), same-type-only vs mixed-types-allowed, and page-structure options. Almost no competing guide separates them cleanly, and several still list Article as a carousel type — it isn't. Like every rich result, it's eligibility, not entitlement, and it's not a ranking factor. What a carousel rich result is The one thing to get right first A few plain rules What a carousel rich result actually is Valid is not a visible carousel There are two carousel systems right now 1. The classic Carousel ItemList — generally available 2. Structured data carousels beta — EEA, Turkey, South Africa only Side by side Which types are eligible for the classic carousel 2026 Which types are eligible for the beta host carousel How builds the display order Eligibility requirements and the honest caveats Where this sits AI summary Official documentation Quotes from the source Which carousel — if any — can I get? Carousel rich results — cheat sheet Tools for validating carousel markup Broken vs. clean classic carousel markup Broken: mixed types, duplicate positions, and only one eligible item Clean: two same type items with 1 based positions Prove a carousel implementation is eligible A carousel rich result (Google calls it a \"host carousel\") is a horizontally scrollable row of cards, all from one site, built by wrapping two or more same-type items in an ItemList with position values. Only a short, shifting list of schema.org types qualifies — and a second, geographically limited beta carousel syst","passages":["TL;DR — A carousel rich result is that swipeable row of cards you sometimes see in Google, all coming from one website.","You build it by wrapping several items of the same kind — say, several recipes — in a bit of code called an , giving each one a number so they show up in order.","The catch: only a short, specific list of content types can become a carousel, and a valid on its own does not guarantee you'll get one.","What a carousel rich result is When you search Google and see a row of cards you can scroll sideways through — a strip of recipes, a strip of movies — that's a carousel rich result .","Google's own name for it is a host carousel , because every card comes from the same host the same website .","Google describes it as \"a list like rich result that people can swipe through on mobile devices.\" You create one with a piece of structured data called an — think of it as a container that holds a list.","Inside it you put each item as a , and each gets a number 1, 2, 3… that tells Google what order to show them in.","If you've read the structured data /technical seo/on page/structured data/ basics, this is just one specific rich result you can earn with that markup."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/carousel-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/carousel-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"ccTLD vs. Subdomain vs. Subdirectory for International SEO","desc":"The three URL structures for targeting different countries — ccTLD (example.de), subdomain (de.example.com), subdirectory (example.com/de/). Google has no ranking preference, but only ccTLDs carry an automatic geo-signal. Here's how to choose.","snippetText":"For serving different countries or languages you have three URL structures: a ccTLD (example.de), a subdomain on a gTLD (de.example.com), or a subdirectory on a gTLD (example.com/de/). Google has said it has no ranking preference among them — but the choice is not neutral. A ccTLD carries an automatic, unambiguous country signal (no manual geotargeting needed), which the other two don't get for free. The tradeoff: ccTLDs split your domain authority and backlink equity across separate domains and cost more to run. Subdirectories consolidate everything on one domain and are the easiest to operat","href":"/international-seo/architecture-and-targeting/cctld-subdomain-subdirectory/","slug":"cctld-subdomain-subdirectory","meta":"Educational","aliases":["geotargeting","ccTLD vs subdomain","ccTLD vs subdirectory","subdomain vs subdirectory international","international URL structure","geotargeting URL structure","country domain structure","ccTLD","Geotargeting","Hreflang"],"pillar":"international-seo","taxonomy":["international-seo","architecture-and-targeting"],"text":"international-seo cctld subdomain subdirectory geotargeting url-structure hreflang For serving different countries or languages you have three URL structures: a ccTLD (example.de), a subdomain on a gTLD (de.example.com), or a subdirectory on a gTLD (example.com/de/). Google has said it has no ranking preference among them — but the choice is not neutral. A ccTLD carries an automatic, unambiguous country signal (no manual geotargeting needed), which the other two don't get for free. The tradeoff: ccTLDs split your domain authority and backlink equity across separate domains and cost more to run. Subdirectories consolidate everything on one domain and are the easiest to operate, but since Google removed the International Targeting report in Search Console (September 2022) there's no way to explicitly declare a subfolder's country anymore — you're left with hreflang. Subdomains sit in the middle. My advice: default to subdirectories unless you have a strong reason (an existing ccTLD, legal/trust requirements, or genuine infrastructure separation) to do otherwise. The three options Does one rank better? So which should you pick? The thing most people get wrong The three structures, precisely What Google actually says The key differentiator: automatic vs. manual geo signal The change most articles miss: International Targeting is gone The cost of a ccTLD: fragmentation Subdomains: the middle ground What about the correlation studies? Where the general non international tradeoffs live Ownership, governance, and cost belong in the decision too Migration risk My recommendation Where this fits AI summary Which structure should you use? Official documentation Quotes from the source Common mistakes and what to do instead Choosing an international URL structure — checklist The mental models Test yourself: ccTLD vs. Subdomain vs. Subdirectory Country-code top-level domain like .de or .co.uk — a strong geotargeting signal. Configuring a site or URL to target users in a specific country. TL;DR — If you want to serve different versions of your site to different countries, you have three URL shapes to choose from: a country domain like , a subdomain like , or a folder like . Google documents all three as usable structures. One important difference: a country domain , , strongly signals to search engines and users which country it's for automatically. The folder version is th","passages":["TL;DR — If you want to serve different versions of your site to different countries, you have three URL shapes to choose from: a country domain like , a subdomain like , or a folder like .","One important difference: a country domain , , strongly signals to search engines and users which country it's for automatically.","The folder version is the easiest to run, so it's the sensible default for most sites.","The three options Say you're a US company expanding into Germany.","The is Germany's own domain ending, the way is France's and is the UK's.","Same domain, everything sits in one place, just organized into folders.","Its guidance presents different pros, cons, and locale signals, so the decision should fit the audience and operating model rather than assume a guaranteed ranking outcome.","Here's the one difference that actually matters for a beginner to understand: A ccTLD announces its country automatically."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/international-seo/architecture-and-targeting/cctld-subdomain-subdirectory/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/architecture-and-targeting/cctld-subdomain-subdirectory/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"CDN and SEO","desc":"How a CDN affects SEO — faster TTFB, better Core Web Vitals, edge caching, and geo-distributed delivery — and what to watch for (cache headers, URL canonicalization, HTTPS configuration).","snippetText":"A CDN (content delivery network) caches and serves your content from edge servers close to each visitor and crawler. It isn't a ranking factor on its own, but it moves the levers Google and Bing do use — faster TTFB and Core Web Vitals, better uptime, HTTPS delivery, and crawl efficiency (Google even raises crawl-rate ceilings for CDN-backed sites). The catches are all misconfiguration: a 'cold' cache still makes your origin serve every new URL at least once; a CDN's WAF or bot-verification interstitials can silently block Googlebot/Bingbot (the biggest real-world failure mode); and canonical ","href":"/technical-seo/web-performance/cdn-seo/","slug":"cdn-seo","meta":"Educational","aliases":["cdn-seo","CDN and SEO","CDN SEO","content delivery network SEO","does a CDN help SEO","core-web-vitals","ttfb","https","crawl-budget","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"cdn technical-seo web-performance core-web-vitals crawl-budget googlebot A CDN (content delivery network) caches and serves your content from edge servers close to each visitor and crawler. It isn't a ranking factor on its own, but it moves the levers Google and Bing do use — faster TTFB and Core Web Vitals, better uptime, HTTPS delivery, and crawl efficiency (Google even raises crawl-rate ceilings for CDN-backed sites). The catches are all misconfiguration: a 'cold' cache still makes your origin serve every new URL at least once; a CDN's WAF or bot-verification interstitials can silently block Googlebot/Bingbot (the biggest real-world failure mode); and canonical tags, HTTPS settings, and cache headers have to survive the edge layer. Google's December 2024 'Crawling December' post is the authoritative source, including its within-a-week reversal on hostname-sharding critical JS/CSS to a CDN subdomain. What a CDN is Does a CDN help SEO? The main way a CDN can hurt SEO What a CDN actually does Does a CDN help SEO? The honest answer Faster TTFB and Core Web Vitals Higher crawl rate thresholds for CDN backed sites Reliability, uptime, and flood protection The crawl budget catch: cold caches on new URLs Should static assets live on a CDN subdomain? When CDNs hurt SEO: bot blocking the biggest real risk Hard blocks — and which status code you return matters enormously Soft blocks — bot verification interstitials How to debug it Cache headers and canonicalization through a CDN HTTPS/TLS through a CDN Shared IPs, and what doesn't matter Bing's side Where this fits AI summary Official documentation Quotes from the source CDN and SEO audit — checklist The mental models A CDN (content delivery network) is a geographically distributed network of edge servers that caches and serves your content from a location close to each visitor and crawler. It isn't a ranking factor itself, but it affects things Google and Bing do use — page speed and Core Web Vitals, crawl efficiency, uptime, and HTTPS delivery — and, if misconfigured, can block crawlers or muddle canonicalization. TL;DR — A CDN content delivery network is a network of servers spread around the world that keep copies of your pages and serve them from a location close to each visitor. That makes your site faster and more reliable. A CDN won't directly boost your rankings, but a faster, more reliable site helps the t","passages":["TL;DR — A CDN content delivery network is a network of servers spread around the world that keep copies of your pages and serve them from a location close to each visitor.","A CDN won't directly boost your rankings, but a faster, more reliable site helps the things Google does measure — so it's usually a win.","The main way a CDN hurts SEO is by accidentally blocking search engine bots, which is fixable.","What a CDN is Normally, every visitor to your site connects to one server — your origin — wherever it physically lives.","Someone on the other side of the world waits longer for every request, because the data has farther to travel.","A CDN fixes that by putting copies of your content on lots of servers called edge servers in different locations.","When someone visits, they're served from the nearest one instead of your origin.","That's faster for them, and it takes load off your own server."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/web-performance/cdn-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/cdn-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Content Freshness","desc":"How Google's Query Deserves Freshness (QDF) algorithm works, what triggers freshness-sensitive rankings, how to signal recency through dates and updates, and how AI search engines weight fresh vs. authoritative content.","snippetText":"Content freshness is conditional, not universal. Google's Query Deserves Freshness (QDF) systems only weight recency higher for query types that benefit from it — breaking news, recurring events, trending topics — while evergreen queries barely move on freshness at all. Changing a date without a substantive content change is, in Google's own words, 'just noise & useless.' The signal that matters is real revision: updated facts, new sections, current data — reflected consistently across your displayed date, dateModified, and sitemap lastmod. AI search inherits freshness from the same ranked ind","href":"/ai-search/how-search-works/content-freshness/","slug":"content-freshness","meta":"Educational","aliases":["content-freshness","content freshness","fresh content","query deserves freshness","QDF","updating old content","Content Freshness","crawling","indexing"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"content-freshness ai-search qdf query-deserves-freshness content-audit datemodified ranking-factors Content freshness is conditional, not universal. Google's Query Deserves Freshness (QDF) systems only weight recency higher for query types that benefit from it — breaking news, recurring events, trending topics — while evergreen queries barely move on freshness at all. Changing a date without a substantive content change is, in Google's own words, 'just noise & useless.' The signal that matters is real revision: updated facts, new sections, current data — reflected consistently across your displayed date, dateModified, and sitemap lastmod. AI search inherits freshness from the same ranked index via RAG/grounding, then each platform applies its own recency preference — so ChatGPT and Perplexity skew newer while Google's AI Overviews actually skew slightly older. Refresh by decline signals in GSC and stale facts, not by a blind calendar. What content freshness means Does being fresh help you rank? The thing most people get wrong Freshness is conditional, not universal What actually signals freshness — and what doesn't Substantive updates vs. cosmetic date changes and structured data What the 2024 API leak suggested industry analysis, not confirmed Bing and content freshness Content freshness in AI search How RAG and grounding use freshness What the data shows by platform How to actually keep content fresh — a framework, not a calendar Signals that a page actually needs a refresh What \"substantive\" means in practice Keep your date signals consistent Common myths Related topics AI summary Official documentation Quotes from the source Should I update this page and its date ? Content freshness checklist The mental models Content freshness is how recent or up-to-date a page is — by its original publish date, its last substantive revision, or the currency of the facts inside it. It only helps rankings when the query itself benefits from recent results (Query Deserves Freshness), and cosmetic date changes with no real update don't count. TL;DR — Content freshness is how up to date a page is. It only helps your rankings when the search itself wants recent results — things like news, trending topics, or events that happen every year. For most evergreen topics, being fresh barely matters. And just changing the date on a page without actually updating it doesn't do anythi","passages":["It only helps your rankings when the search itself wants recent results — things like news, trending topics, or events that happen every year.","And just changing the date on a page without actually updating it doesn't do anything — Google has said so directly.","What content freshness means Google documents freshness systems for queries where newer content is expected; it does not say every query rewards newer dates.","Google also advises using visible, accurate publication and update dates rather than artificially freshening pages.","\"Fresh\" can mean three different things, and it's worth keeping them apart: 1.","When it was published — how recently the page first went live.","When it was last really updated — not a typo fix, an actual revision.","How current the information is — are the facts, stats, screenshots, and prices still accurate, or is the page quietly out of date?"],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/ai-search/how-search-works/content-freshness/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/content-freshness/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Cross-Language Duplicate Content","desc":"Translated content is not duplicate content to Google — that myth is backwards. The real risk is near-identical same-language pages across country variants. From Patrick Stox.","snippetText":"Google does not treat translations as duplicate content — a German page and its English original are different content to Google's systems, and that's the whole premise hreflang is built on. Google's docs are explicit: localized versions are only duplicates if the main content stays untranslated. The real risk is the mirror image: near-identical same-language pages across country variants (en-US, en-GB, en-AU) with no real localization of currency, spelling, or regulation. Google may cluster those and pick one canonical version, which can undermine your geotargeting even with correct hreflang.","href":"/international-seo/localization-and-content/cross-language-duplicate-content/","slug":"cross-language-duplicate-content","meta":"Educational","aliases":["cross-language-duplicate-content","cross-language duplicate content","multilingual duplicate content","is translated content duplicate content","hreflang duplicate content","same language different country duplicate","Cross-Language Duplicate Content","Duplicate Content","Hreflang","Canonicalization"],"pillar":"international-seo","taxonomy":["international-seo","localization-and-content"],"text":"international-seo hreflang duplicate-content multilingual-seo canonicalization Google does not treat translations as duplicate content — a German page and its English original are different content to Google's systems, and that's the whole premise hreflang is built on. Google's docs are explicit: localized versions are only duplicates if the main content stays untranslated. The real risk is the mirror image: near-identical same-language pages across country variants (en-US, en-GB, en-AU) with no real localization of currency, spelling, or regulation. Google may cluster those and pick one canonical version, which can undermine your geotargeting even with correct hreflang. hreflang doesn't stop the clustering — it can help Google swap in the right URL within a cluster, but it's a hint, not a directive, and in my study of 374,756 hreflang-using domains, 67% had at least one hreflang issue. The fix for genuine same-language duplication is real localization or consolidation, not more tags. Watch for the Search Console trap where a regional page 'disappears' from canonical reporting while still being served correctly. The myth in one line What's actually at risk So what fixes it? Where hreflang fits Troubleshooting duplicate content symptoms across locales A translated page is reported as a duplicate A regional page disappears from canonical reporting Hreflang is correct but the wrong regional URL appears Localized URLs canonicalize to the source language page The myth, and why it's backwards The one nuance: boilerplate only translation The real risk: same language, different country near duplicates How the clustering actually works The Search Console reporting trap Is there a penalty? No. What the data says: hreflang breaks a lot How to actually fix it How this connects to the rest of the cluster AI summary Official documentation Quotes from the source Is this actually a duplicate content problem — or a legitimate translation? Common myths and mistakes Worked examples The mostly-mythical idea that translating content into different languages creates duplicate content. It doesn't — translations are different content to Google. The real risk is the mirror image: near-identical same-language pages across country variants (en-US/en-GB/en-AU), which Google may cluster and consolidate. TL;DR — Translating a page into another language does not create duplicate content i","passages":["TL;DR — Translating a page into another language does not create duplicate content in Google's eyes — a German page and its English version are different content, full stop.","The thing people call \"cross language duplicate content\" is mostly a myth.","The real risk is the opposite: same language pages for different countries a US, UK, and Australia version that are nearly identical, with no real differences.","The myth in one line You'll hear that if you translate your content into Spanish, French, and German, Google will flag all those versions as duplicate content.","Google's own documentation says translated pages are only considered duplicates if the main content stays untranslated .","Once you actually translate the words, they're different content.","Google determines the language from the visible content, not from hreflang, the HTML attribute, or the URL.","That makes sense if you think about it: a search engine that treated translations as duplicates would be punishing every multilingual site on the web — and hreflang, the whole system Google built for multilingual sites, would make no sense."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/international-seo/localization-and-content/cross-language-duplicate-content/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/localization-and-content/cross-language-duplicate-content/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Dynamic Serving","desc":"What dynamic serving is, the two jobs of the Vary User-Agent header, why it's a legacy pattern, and how it differs from responsive design and dynamic rendering.","snippetText":"Dynamic serving means one URL returns different HTML/CSS depending on the requesting user-agent — desktop gets one page, mobile gets another — and the server must send the Vary: User-Agent header so caches and crawlers don't serve the wrong version. It's one of three mobile configurations (responsive, dynamic serving, separate m-dot URLs), and Google recommends responsive design instead because dynamic serving depends on error-prone user-agent detection and correct Vary headers. Don't confuse it with dynamic rendering (pre-rendering JS for bots) — different concept, different doc. In 2026 it's","href":"/technical-seo/mobile-seo/dynamic-serving/","slug":"dynamic-serving","meta":"Educational","aliases":["dynamic-serving","dynamic serving","dynamic serving SEO","Vary User-Agent","Vary: User-Agent header","Dynamic Serving","Mobile-First Indexing","responsive-design"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"dynamic-serving mobile-seo technical-seo vary-header user-agent responsive-design Dynamic serving means one URL returns different HTML/CSS depending on the requesting user-agent — desktop gets one page, mobile gets another — and the server must send the Vary: User-Agent header so caches and crawlers don't serve the wrong version. It's one of three mobile configurations (responsive, dynamic serving, separate m-dot URLs), and Google recommends responsive design instead because dynamic serving depends on error-prone user-agent detection and correct Vary headers. Don't confuse it with dynamic rendering (pre-rendering JS for bots) — different concept, different doc. In 2026 it's mostly a legacy pattern you audit an older or enterprise site off of, not something to build fresh: mobile-first indexing raised the stakes of getting device serving wrong, and Vary: User-Agent fragments CDN caches. What dynamic serving is The header Why Google recommends against it The thing people get wrong What dynamic serving is, precisely How it works: user agent detection + the header The cost most guides skip: CDN cache fragmentation Is dynamic serving cloaking? Dynamic serving vs. dynamic rendering — don't confuse these User agent detection is genuinely error prone Why responsive design is now the default How to check if a site uses dynamic serving AI summary Official documentation Quotes from the source Which mobile configuration should I use? Dynamic serving audit checklist Dynamic serving — cheat sheet Detect dynamic serving on any URL Tools for auditing device dependent responses Dynamic serving anti patterns Common dynamic serving failures Mobile users intermittently receive the desktop page Googlebot Smartphone sees less content A mobile configuration where the server returns different HTML/CSS from the same URL depending on the requesting user-agent (desktop vs. mobile), signaled with the Vary: User-Agent header. TL;DR — Dynamic serving is when a website uses one web address but sends a different page to phones than it does to desktops — the server looks at what device you're on and returns different HTML. It works, but Google would rather you use responsive design one page that just re flows to fit the screen , because dynamic serving is easy to get wrong. If you do use it, the server has to send a special header so caches don't hand the wrong version to the wrong person. ","passages":["TL;DR — Dynamic serving is when a website uses one web address but sends a different page to phones than it does to desktops — the server looks at what device you're on and returns different HTML.","It works, but Google would rather you use responsive design one page that just re flows to fit the screen , because dynamic serving is easy to get wrong.","If you do use it, the server has to send a special header so caches don't hand the wrong version to the wrong person.","What dynamic serving is There are three ways a site can handle mobile visitors: 1.","Responsive design — one page, one set of HTML, and the layout re flows to fit whatever screen you're on.","Dynamic serving — one web address, but the server sends different HTML to phones and desktops.","Separate URLs — a whole separate mobile site on its own address, like .","When your browser asks for a page, it tells the server what it is — a phone, a tablet, a desktop — in something called the user agent ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/mobile-seo/dynamic-serving/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/dynamic-serving/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ecwid SEO","desc":"How SEO works on Ecwid (now Ecwid by Lightspeed) — why the embeddable JavaScript widget behaves so differently from Shopify or BigCommerce, how URL format, static rendering, sitemaps, and hreflang are all scoped to Instant Site / WordPress / Wix, and what a merchant on a custom embed has to fix by hand.","snippetText":"Ecwid (now Ecwid by Lightspeed) is an embeddable ecommerce widget, not a hosted site by default — you drop a JavaScript storefront into an existing WordPress, Wix, Squarespace, or custom page. That one fact drives every SEO nuance: clean URLs, crawlable static HTML, auto sitemaps, and auto robots.txt are all scoped to three integrations (Instant Site, the WordPress plugin, the Wix app). Everywhere else the default is hashbang URLs (/#!/product-name/p/123456), a client-rendered widget with no server-side fallback, and a DIY sitemap. Structured data is automatic but not editable; hreflang betwee","href":"/technical-seo/platform-seo/ecommerce-platforms/ecwid-seo/","slug":"ecwid-seo","meta":"Educational","aliases":["ecwid-seo","Ecwid SEO","Ecwid","Ecwid by Lightspeed","Ecwid store","Instant Site","javascript-seo","canonicalization","hreflang"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"ecwid ecommerce-seo javascript-seo hashbang hreflang instant-site structured-data indexing Ecwid (now Ecwid by Lightspeed) is an embeddable ecommerce widget, not a hosted site by default — you drop a JavaScript storefront into an existing WordPress, Wix, Squarespace, or custom page. That one fact drives every SEO nuance: clean URLs, crawlable static HTML, auto sitemaps, and auto robots.txt are all scoped to three integrations (Instant Site, the WordPress plugin, the Wix app). Everywhere else the default is hashbang URLs (/#!/product-name/p/123456), a client-rendered widget with no server-side fallback, and a DIY sitemap. Structured data is automatic but not editable; hreflang between Instant Site language versions is not automatic; free-plan merchants can't edit meta tags at all; and there's no native blog. Google can crawl hashbang URLs today but recommends against them — which is exactly why Ecwid's own Clean Store URLs feature exists. What \"Ecwid SEO\" means The one thing that shapes everything What you can and can't control The thing most people get wrong The frame: widget vs. site decides everything Why Ecwid has an SEO reputation problem URL structure — the most nuanced fact here Crawlability and rendering — static store pages Sitemap and robots.txt Canonical tags and duplicate content Structured data Meta tags, alt text, and plan gating Multilingual and international SEO What Ecwid doesn't do Ecwid vs. the other platforms AI summary Official documentation Quotes from the source Ecwid SEO checklist The storefront ownership framework Ecwid SEO cheat sheet Compare Ecwid URL variants Tools for Ecwid SEO Resources worth your time Ecwid SEO is the technical, on-page, and content work you do on a store built with Ecwid (now Ecwid by Lightspeed) — an embeddable ecommerce widget that drops into an existing website. Because Ecwid is a JavaScript storefront by default rather than a hosted site, its SEO behavior (URL format, crawlable static HTML, auto sitemap and robots.txt) is scoped to a handful of integrations (Instant Site, the WordPress plugin, and the Wix app) and left to you everywhere else. TL;DR — Ecwid now \"Ecwid by Lightspeed\" isn't a full store platform the way Shopify or BigCommerce is — it's a little store widget you drop into a website you already have. Because that widget is built in JavaScript, most of Ecwid's SEO friendly features only kick in o","passages":["TL;DR — Ecwid now \"Ecwid by Lightspeed\" isn't a full store platform the way Shopify or BigCommerce is — it's a little store widget you drop into a website you already have.","Because that widget is built in JavaScript, most of Ecwid's SEO friendly features only kick in on three setups: Ecwid's own Instant Site, the official WordPress plugin, and the official Wix app.","On anything else, you'll have to do more of the SEO work yourself.","What \"Ecwid SEO\" means Ecwid is short for \" E c ommerce wid get,\" and that name tells you almost everything.","Instead of hosting your whole store the way Shopify does, Ecwid gives you a snippet you paste into an existing page — a WordPress blog, a Wix site, a Squarespace page, even a hand built HTML site — and it draws a full catalog, cart, and checkout right inside that page.","Ecwid also has its own website builder called Instant Site , so you can run Ecwid as your entire website too.","That's the split you have to keep in mind the whole way through: Ecwid can be \"just a widget on someone else's site\" or \"the whole site.\" It behaves very differently for SEO depending on which one you're doing.","\"Ecwid SEO\" is just the normal work of getting your products and category pages found, crawled, indexed, and ranked — applied to a store that runs on Ecwid."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/ecwid-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/ecwid-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Favicon SEO","desc":"What a favicon is, Google's and Bing's real requirements for showing one in search results (including the dead \"multiple of 48px\" myth), how to implement one correctly, and how to fix a favicon that isn't showing.","snippetText":"A favicon is the small square site icon shown in browser tabs, bookmarks, and — when the requirements are met — next to your listing in Google and Bing search results. It's declared with <link rel=\"icon\"> in the <head> (plus apple-touch-icon for iOS and manifest icons for PWAs). The single most important thing to get right: Google's old 'must be a multiple of 48x48px' rule is DEAD as of the October 2024 docs update — the current requirement is only square and at least 8x8px, with larger-than-48px a recommendation, not a rule. To appear in Google, the favicon file and the homepage must both be ","href":"/technical-seo/on-page/meta-tags/favicon/","slug":"favicon","meta":"Educational","aliases":["favicon","favicon SEO","favicon in search results","site icon","Favicon","Meta tags","Title tag"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"favicon apple touch icon web manifest technical seo serp A favicon is the small square site icon shown in browser tabs, bookmarks, and — when the requirements are met — next to your listing in Google and Bing search results. It's declared with <link rel=\"icon\"> in the <head> (plus apple-touch-icon for iOS and manifest icons for PWAs). The single most important thing to get right: Google's old 'must be a multiple of 48x48px' rule is DEAD as of the October 2024 docs update — the current requirement is only square and at least 8x8px, with larger-than-48px a recommendation, not a rule. To appear in Google, the favicon file and the homepage must both be crawlable (not blocked in robots.txt), the image must be square in a supported format (SVG, ICO, PNG, GIF), and it must live on a stable URL Google can refetch. A favicon is NOT a ranking factor — it's a search-appearance and brand-recognition detail, not a documented click-through lever. Also worth knowing: a favicon rendering correctly in your browser tab isn't proof Google accepted it — browser selection and Google's search eligibility are separate checks. When one disappears, it's a technical or policy issue, never a core update. This deep dive sits in the meta-tags cluster alongside the title tag and meta description. What a favicon is Why it matters and why it doesn't The size rule everyone gets wrong Why isn't my favicon showing? Is a favicon a ranking factor? No. Google's favicon requirements 2026 Size and shape — the \"multiple of 48px\" myth, corrected Supported formats Crawlability — two gates, both must pass Stable URL and why a CDN is fine Scope — one favicon per hostname Content policy No guarantee Bing's favicon requirements How to implement a favicon correctly Why your favicon isn't showing in search results Does a favicon actually affect SEO? Where this sits AI summary Official documentation Quotes from the source My favicon isn't showing — what do I check? Favicon implementation checklist Favicon cheat sheet A favicon (\"favorite icon\") is the small square image that represents a website — shown in browser tabs, bookmarks, and history, and (when the requirements are met) next to a site's listing in Google and Bing search results. It's declared with an HTML <link rel=\"icon\"> tag in the <head>. It is not a ranking factor, but it affects brand recognition and click-through rate. TL;DR — A favicon is th","passages":["TL;DR — A favicon is the tiny square image that represents your site — you see it in the browser tab, in your bookmarks, and sometimes next to your listing in Google and Bing results.","It Google's documentation treats it as a search appearance feature, not a promised ranking boost or a documented click through lever.","The size rule most articles give you a \"multiple of 48px\" is out of date — the real rule is just: square, and at least 8×8px.","And an icon showing correctly in your own browser tab isn't proof Google picked it up — they're two separate checks.","What a favicon is \"Favicon\" is short for \"favorite icon.\" It's the little square image that stands in for your whole website.","Look at your browser tabs right now — each of those small icons is a favicon.","They also show up in bookmarks, in your history, and, when the requirements are met, next to your site's name in Google and Bing search results.","You add one with a single line of HTML in the of your pages: That's the core of it."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/favicon/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/favicon/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Font Loading","desc":"How web font loading affects Core Web Vitals like CLS and LCP, font-display strategies, preloading fonts, and reducing layout shift from font swaps.","snippetText":"Custom web fonts are external files that have to download before text can render in them, so the browser needs a plan for what to show in the meantime. That plan — set mainly by the CSS font-display property — moves two Core Web Vitals: LCP (when a render-blocking font delays your largest text) and CLS (when swapping the fallback for the web font shifts the layout). The two default behaviors, FOIT and FOUT, each have a failure mode. The reliable fixes: preload critical fonts, use font-display: optional or swap deliberately, match your fallback font's metrics, or skip custom fonts entirely. It'","href":"/technical-seo/web-performance/font-loading/","slug":"font-loading","meta":"Educational","aliases":["font-loading","font loading","web font loading","font-display","font display","FOIT","FOUT","Font Loading","core-web-vitals","resource-hints"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"font-loading technical-seo web-performance cls lcp font-display core-web-vitals Custom web fonts are external files that have to download before text can render in them, so the browser needs a plan for what to show in the meantime. That plan — set mainly by the CSS font-display property — moves two Core Web Vitals: LCP (when a render-blocking font delays your largest text) and CLS (when swapping the fallback for the web font shifts the layout). The two default behaviors, FOIT and FOUT, each have a failure mode. The reliable fixes: preload critical fonts, use font-display: optional or swap deliberately, match your fallback font's metrics, or skip custom fonts entirely. It's not a direct ranking factor — it feeds CLS/LCP, which are page experience signals. What font loading is Why it matters for SEO The simple fixes Why fonts are a special case How fonts affect LCP How fonts affect CLS The property Preloading fonts Fixing the shift itself: fallback metric matching Google Fonts vs. self hosting Variable fonts Reducing the file in the first place Is this a ranking factor? My own take AI summary Official documentation Quotes from the source Font loading checklist The mental models Font loading — cheat sheet Font loading myths and mistakes Find the fonts loading on a page Watch for font driven layout shifts Check that a font file is WOFF2 and reasonably sized Font loading is how a browser fetches, applies, and renders custom web fonts — and specifically what it shows while the font file downloads. Those choices, controlled mainly by the CSS font-display property, directly affect two Core Web Vitals: LCP and CLS. TL;DR — A custom web font is a file the browser has to download before it can show your text in it. While it waits, it either hides the text or shows a backup font and swaps later — and either choice can slow down or visually jump your page. You control that behavior with one CSS line , and you can speed the font up by preloading it. If you don't need a custom font, a system font has nothing to load and nothing to shift. What font loading is When you use a custom font — a brand font, a Google Font, anything that isn't already on the visitor's device — the browser has to go fetch that font file before it can paint your text in it. That download takes time, and the browser has to decide what to show in the meantime . It has two basic options, and both have a","passages":["TL;DR — A custom web font is a file the browser has to download before it can show your text in it.","While it waits, it either hides the text or shows a backup font and swaps later — and either choice can slow down or visually jump your page.","You control that behavior with one CSS line , and you can speed the font up by preloading it.","If you don't need a custom font, a system font has nothing to load and nothing to shift.","What font loading is When you use a custom font — a brand font, a Google Font, anything that isn't already on the visitor's device — the browser has to go fetch that font file before it can paint your text in it.","That download takes time, and the browser has to decide what to show in the meantime .","It has two basic options, and both have annoying names: FOIT Flash of Invisible Text : hide the text until the custom font arrives.","The page looks blank where the text should be, then it pops in."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/web-performance/font-loading/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/font-loading/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Geo-Redirects for International SEO","desc":"Why automatic geo-redirects break international crawling and can sabotage hreflang — Googlebot mostly crawls from the US, the discovery problem, the narrow homepage-only 302 exception, and what to do instead. From Patrick Stox.","snippetText":"A geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP, Accept-Language, or a cookie. My take after studying 374,756 domains: automated redirects based on cookies, IP, or browser language are generally a bad idea. The failure mode most guides miss is a discovery problem, not just an indexing one — Googlebot mostly crawls from US IPs and doesn't send Accept-Language, so a redirect on your entry point (usually the homepage) can trap the crawler on the default version and stop it from ever reaching the alternate-locale URLs your hreflang tags point at. Ge","href":"/international-seo/architecture-and-targeting/geo-redirects/","slug":"geo-redirects","meta":"Educational","aliases":["geo-redirects","geo redirect","geo-IP redirect","geolocation redirect","IP-based redirect","Geo-Redirect","Hreflang","Geotargeting","302 Redirect","ccTLD"],"pillar":"international-seo","taxonomy":["international-seo","architecture-and-targeting"],"text":"geo-redirects international-seo hreflang geotargeting crawling A geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP, Accept-Language, or a cookie. My take after studying 374,756 domains: automated redirects based on cookies, IP, or browser language are generally a bad idea. The failure mode most guides miss is a discovery problem, not just an indexing one — Googlebot mostly crawls from US IPs and doesn't send Accept-Language, so a redirect on your entry point (usually the homepage) can trap the crawler on the default version and stop it from ever reaching the alternate-locale URLs your hreflang tags point at. Geo-redirects are a serving mechanism; hreflang is the separate discovery signal — they don't replace each other, and a bad redirect actively sabotages hreflang. Google's own prescription isn't 'redirect better,' it's 'suggest, don't force': a banner or link list plus correct hreflang. The one narrow exception is a homepage-only 302 for dynamic locale suggestion — but 16.9% of the domains I studied had hreflang pointing at redirected or broken pages, which means that exception goes wrong constantly. What a geo redirect is Why this is risky for SEO The thing people get backwards What to do instead Troubleshooting geo redirect failures Alternate locales are absent from the crawl Hreflang targets return redirects Users cannot switch back after a redirect Bots and equivalent users receive different content Test geo routing behavior yourself Compare the default request with language preferences Check that declared locale targets resolve directly Validate a geo redirect change Direct locale access Request header matrix Hreflang target response Equivalent request parity Two mechanisms, two different layers The core mechanical failure: discovery, not just indexing Geo redirects vs. cloaking: two separate risks What Google officially recommends: suggest, don't force What Bing recommends — and why it's arguably higher stakes there The data: how often this actually breaks The one narrow exception: a homepage only 302 A geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang. TL;DR — A geo redirect automatically sends a visitor to a different version of your site — a page, a German ","passages":["TL;DR — A geo redirect automatically sends a visitor to a different version of your site — a page, a German domain, a subdomain — based on a guess about where they are or what language they speak usually their IP address or browser language .","It feels helpful, but it's one of the most common ways international sites accidentally hide their own pages from Google.","The safer move is to suggest the local version with a banner or a link, not to force it.","What a geo redirect is Say you have an English site and a German site.","A geo redirect is a rule that says: \"if this visitor looks like they're in Germany or their browser is set to German , send them to the German version automatically.\" The visitor never asks for it — the server or a script decides for them, based on: their IP address which roughly maps to a country , their browser's setting, or a cookie that remembers a previous choice.","Why this is risky for SEO Google's crawler, Googlebot , is the thing that finds and reads your pages so they can show up in search.","And here's the catch that trips up so many international sites: Googlebot mostly crawls from IP addresses in the United States, and it doesn't send a language preference.","So if your homepage automatically redirects \"US looking\" visitors to the English version, Googlebot — which looks like it's in the US — gets sent to the English version too, every time."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/international-seo/architecture-and-targeting/geo-redirects/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/architecture-and-targeting/geo-redirects/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ranking in Google Images","desc":"A deep dive on ranking and visibility in Google Images and visual search (Google Lens) — indexing prerequisites, image sitemaps, ImageObject and Product structured data, the Licensable badge, mobile-first indexing, and why rel=canonical doesn't apply to images.","snippetText":"Ranking in Google Images is downstream of general image SEO: it's about the image-search system itself, not another optimization checklist. Get the indexing prerequisites right first — not blocked by robots.txt, a supported format (BMP/GIF/JPEG/PNG/WebP/SVG/AVIF), and extracted from an <img> src (never a CSS background) — then the ranking signals (alt text, surrounding text, filename, uniqueness) covered in the alt text and filename deep dives can do their work. Mobile-friendliness isn't a separate Images rule; it's a consequence of mobile-first indexing, so your mobile page has to carry the s","href":"/technical-seo/on-page/image-seo/google-images-seo/","slug":"google-images-seo","meta":"Educational","aliases":["google-images-seo","ranking in Google Images","Google Images SEO","Google Lens SEO","rank in Google Images","visual search SEO","image search ranking","image-seo","alt-text","image-file-names","image-sitemaps","imageobject-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","image-seo"],"text":"google-images-seo google-images google-lens visual-search image-sitemaps structured-data licensable-badge image-seo html-seo technical-seo on-page Ranking in Google Images is downstream of general image SEO: it's about the image-search system itself, not another optimization checklist. Get the indexing prerequisites right first — not blocked by robots.txt, a supported format (BMP/GIF/JPEG/PNG/WebP/SVG/AVIF), and extracted from an <img> src (never a CSS background) — then the ranking signals (alt text, surrounding text, filename, uniqueness) covered in the alt text and filename deep dives can do their work. Mobile-friendliness isn't a separate Images rule; it's a consequence of mobile-first indexing, so your mobile page has to carry the same images and alt text. Image sitemaps are a discovery aid, not a ranking lever. Structured data unlocks rich treatment: ImageObject with a license property gates the Licensable badge, and Product structured data feeds Google Lens/Shopping Graph. rel=canonical does not apply to images — Google matches visually similar versions automatically. Google Lens now runs ~20 billion visual searches a month (20% shopping-related), and C2PA content credentials can label AI images via About this image. What \"ranking in Google Images\" means Get the basics in place first The one thing most people miss What actually helps an image rank Where this fits: one indexed corpus, several surfaces The indexing prerequisites before ranking even applies The ranking signals briefly — the mechanics live in the deep dives Mobile first indexing and image visibility Image sitemaps: what they do and don't do Structured data and rich treatment in Google Images The Licensable badge — the exact gating detail Product structured data → Google Images + Google Lens Preferred thumbnail: schema.org and No canonical tags for images Individual image landing pages Google Lens and visual search AI image labeling: C2PA and \"About this image\" Bing image search brief Where to go next AI summary Official documentation Quotes from the source \"Why isn't my image ranking in Google Images?\" — a decision tree Ranking in Google Images — cheat sheet Google Images SEO is the set of practices that get an image indexed and surfaced in Google Images and Google Lens / Circle to Search. It sits downstream of general image SEO and covers the image-search system itself: crawlability requ","passages":["TL;DR — Ranking in Google Images is about getting your pictures to show up in Google's image search and in Google Lens the camera/visual search .","Before an image can rank, it has to be found and indexed: it can't be blocked in your , it has to be in a normal image format, and it has to be a real on the page — not a CSS background.","After that, the things that help it rank good alt text, a descriptive filename, the words around it are the same basics I cover in the alt text and filename guides.","What \"ranking in Google Images\" means Google Images is Google's picture search tab, and Google Lens and Circle to Search is the camera version — point your phone at something and Google finds it.","\"Ranking in Google Images\" just means getting your images into that pile and then surfaced when someone searches.","This is a companion to my general image SEO guide /technical seo/on page/image seo/ — that one is the full optimization checklist formats, compression, lazy loading .","This one is narrower: it's about the image search system — what gets an image indexed, what gets it shown, and what earns it a special badge.","Get the basics in place first An image can't rank if Google can't index it."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/image-seo/google-images-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/google-images-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"How to Audit Hreflang at Scale","desc":"A repeatable, tool-driven process for auditing hreflang across a large site — pulling every annotation from all three implementation methods, reading cluster graphs and reciprocal matrices, and prioritizing fixes by damage, not frequency.","snippetText":"Auditing hreflang at scale is a graph-validation problem, not a tag-validation problem: you check whether every page in a cluster points back to every other page, not whether one page has a tag. Pull every annotation from all three implementation locations (HTML head, HTTP headers, XML sitemap) with a crawler — Google gives you no validator and GSC's International Targeting report was removed Sept 22, 2022 — then build the reciprocal-tag matrix. Spot-check a cluster visually with my free returntag - hreflang checker graph and matrix, or use Ahrefs Site Audit and Screaming Frog for full-site co","href":"/international-seo/hreflang/hreflang-audit/","slug":"hreflang-audit","meta":"Educational","aliases":["reciprocal-hreflang","hreflang audit","audit hreflang at scale","hreflang cluster graph","reciprocal tag matrix","missing return tags","Reciprocal hreflang","Hreflang"],"pillar":"international-seo","taxonomy":["international-seo","hreflang"],"text":"hreflang international-seo hreflang-audit technical-seo screaming-frog ahrefs Auditing hreflang at scale is a graph-validation problem, not a tag-validation problem: you check whether every page in a cluster points back to every other page, not whether one page has a tag. Pull every annotation from all three implementation locations (HTML head, HTTP headers, XML sitemap) with a crawler — Google gives you no validator and GSC's International Targeting report was removed Sept 22, 2022 — then build the reciprocal-tag matrix. Spot-check a cluster visually with my free returntag - hreflang checker graph and matrix, or use Ahrefs Site Audit and Screaming Frog for full-site coverage. Triage by damage: missing return tags first (they break the whole pair), then wrong language/region codes and non-canonical targets, then missing x-default last (most common at 56.3%, least harmful). In my Brighton SEO 2023 study of 374,756 domains, over 67% using hreflang had at least one error. Why \"one page at a time\" doesn't work What you actually need The one thing to remember Validate hreflang fixes Reciprocal cluster retest Target integrity Delivery method consistency Code and scope validation The core reframe: this is a graph problem Step 1 — Pull every hreflang annotation site wide The three places hreflang lives Configuring the crawler for your structure Why GSC can't do this for you Step 2 — Build the reciprocal tag matrix Normalize what you pulled What the matrix represents Reading it as a graph: my returntag hreflang checker cluster validator Reading it as a spreadsheet: the Screaming Frog filters Step 3 — Classify what you find into four error patterns 1. Missing return tags — the pair breaker 2. Wrong language/region codes — the quietly forgiving one 3. Non canonical URLs in hreflang — the invisible one 4. Mixed absolute/relative URLs — the templating bug Step 4 — Prioritize: return tags first, codes next, x default last If page A lists page B as an alternate, B must list A back — or Google ignores the pair. {/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — Auditing hreflang \"at scale\" means checking your whole site's hreflang as one connected network instead of looking at pages one at a time. The trick is that hreflang works in matched pairs — if page A points to page B, B has to point back to A, or Google throws the whole pair out. A single page ","passages":["{/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — Auditing hreflang \"at scale\" means checking your whole site's hreflang as one connected network instead of looking at pages one at a time.","The trick is that hreflang works in matched pairs — if page A points to page B, B has to point back to A, or Google throws the whole pair out.","A single page check can never catch a missing return link, so you need a crawler that reads every page and maps who points to whom.","Fix the missing return links first; the missing x default that every tool complains about can wait.","Why \"one page at a time\" doesn't work If you view source on your German page and see a tidy block of hreflang tags, it looks fine.","But hreflang only works if the pages it references point back .","Your German page can be perfect and still be broken, because the English page it names forgot to name it in return.","You can't see that from the German page alone — you'd have to open the English page too, and the French page, and every other version, and cross check them all by hand."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/international-seo/hreflang/hreflang-audit/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/hreflang/hreflang-audit/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"How to Implement Hreflang (Step by Step)","desc":"Working code for all three hreflang methods — HTML head tags, HTTP Link headers, and XML sitemap annotations — plus the syntax rules, at-scale CMS automation, and the validation workflow to confirm it actually shipped correctly.","snippetText":"There are exactly three ways to add hreflang — HTML link tags in the head, HTTP Link response headers (for non-HTML files like PDFs), or xhtml:link entries in an XML sitemap (best at scale). Pick one; Google treats all three as equivalent and there's no benefit to combining them. Every method obeys the same two non-negotiable rules: self-reference (each page lists itself) and reciprocity (if A points to B, B must point back to A, or Google ignores the pair). Codes are ISO 639-1 language plus optional ISO 3166-1 alpha-2 region; x-default is the fallback. Generate it all from a single source of ","href":"/international-seo/hreflang/hreflang-implementation/","slug":"hreflang-implementation","meta":"Educational","aliases":["hreflang implementation","implement hreflang","how to add hreflang","hreflang code","hreflang xml sitemap","hreflang http header","ISO 3166-1 alpha-2","Hreflang","Geotargeting","ISO 639-1"],"pillar":"international-seo","taxonomy":["international-seo","hreflang"],"text":"hreflang international-seo technical-seo hreflang-implementation There are exactly three ways to add hreflang — HTML link tags in the head, HTTP Link response headers (for non-HTML files like PDFs), or xhtml:link entries in an XML sitemap (best at scale). Pick one; Google treats all three as equivalent and there's no benefit to combining them. Every method obeys the same two non-negotiable rules: self-reference (each page lists itself) and reciprocity (if A points to B, B must point back to A, or Google ignores the pair). Codes are ISO 639-1 language plus optional ISO 3166-1 alpha-2 region; x-default is the fallback. Generate it all from a single source of truth, then validate the rendered head, not just view-source — in my study of 374,756 domains, over 67% of hreflang setups had at least one issue. Start here: you've already decided you need hreflang The three ways to add it pick one What the HTML version looks like The two rules, in plain terms Use real, complete web addresses Get the codes right Then check that it worked Before you write a line of code: three decisions Method 1 — HTML tags in the Method 2 — HTTP headers Method 3 — XML sitemap annotations The rules that apply no matter which method you pick Getting the codes right Implementing at scale — CMS and platform approaches Implementation mistakes that break the cluster Validating your implementation after launch Myths worth retiring Where to go next AI summary Official documentation Quotes from the source Which implementation method should I use? Do I need ? Should I auto redirect users by location? Two-letter country codes used in hreflang region targeting (us, gb, au). Two-letter language codes used in hreflang (en, es, de). {/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — There are three ways to add hreflang: small tags in your page's , a header your server sends, or entries in your XML sitemap. You only pick one . Whichever you pick, two rules never change: every page lists itself , and every page you link to has to link back — or Google ignores the whole set. Then you check that the tags actually show up in the page the way you meant them to. Start here: you've already decided you need hreflang This is the how to. If you're still not sure whether you need hreflang or what it does, read the hreflang overview first — this page assumes you know you have multiple language","passages":["{/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — There are three ways to add hreflang: small tags in your page's , a header your server sends, or entries in your XML sitemap.","Whichever you pick, two rules never change: every page lists itself , and every page you link to has to link back — or Google ignores the whole set.","Then you check that the tags actually show up in the page the way you meant them to.","Start here: you've already decided you need hreflang This is the how to.","If you're still not sure whether you need hreflang or what it does, read the hreflang overview first — this page assumes you know you have multiple language or country versions of a page and you just want to build the thing correctly.","Easiest to understand, easiest to see, good for smaller sites.","The same information, sent by your server in the response instead of in the HTML.","This is the only option for files that aren't HTML — like a PDF, which has no to put tags in."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/international-seo/hreflang/hreflang-implementation/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/hreflang/hreflang-implementation/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"The HTML lang Attribute","desc":"What the HTML lang attribute does, why Google ignores it for language detection but Bing uses it, how it differs from hreflang, and why it still matters for accessibility and the browser auto-translate prompt.","snippetText":"The HTML lang attribute — set on the root as <html lang=\"en\"> (or a region variant like en-US) — declares the natural language of THIS document's content using a BCP 47 tag. It is not the same as hreflang: lang describes the page it's on; hreflang declares alternate-language URLs for other pages. Google is blunt that it ignores lang for language detection ('we don't use that at all… almost always wrong' — Mueller); it uses content algorithms instead. Bing is the opposite: its 2011 Webmaster Blog names <html lang> as a fallback document-location signal, behind the content-language meta tag. Reg","href":"/technical-seo/on-page/html-seo/html-lang-attribute/","slug":"html-lang-attribute","meta":"Educational","aliases":["html-lang-attribute","HTML lang attribute","lang attribute","html lang","lang vs hreflang","document language attribute","HTML lang Attribute","hreflang","semantic-html","html-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","html-seo"],"text":"html-lang-attribute html-seo on-page technical-seo accessibility international-seo The HTML lang attribute — set on the root as <html lang=\"en\"> (or a region variant like en-US) — declares the natural language of THIS document's content using a BCP 47 tag. It is not the same as hreflang: lang describes the page it's on; hreflang declares alternate-language URLs for other pages. Google is blunt that it ignores lang for language detection ('we don't use that at all… almost always wrong' — Mueller); it uses content algorithms instead. Bing is the opposite: its 2011 Webmaster Blog names <html lang> as a fallback document-location signal, behind the content-language meta tag. Regardless of search weight, lang is a required accessibility attribute (WCAG 3.1.1) — it drives screen-reader pronunciation and the browser's auto-translate prompt, and 'missing document language' is still a top-six WebAIM Million failure. The one Google carve-out: labeling machine-translated blocks with lang=\"es-x-mtfrom-en\". Set a valid value, keep it consistent with hreflang, and don't leave a boilerplate lang=\"en\" on non-English content. What the lang attribute is lang is not hreflang What value should you use? What the lang attribute actually declares lang vs. hreflang: the confusion, resolved Is the lang attribute a Google ranking factor? The one exception: machine translated content Does Bing use the lang attribute? Why the lang attribute matters anyway: accessibility Browser behavior: the auto translate prompt How to set it correctly Common myths Where this fits AI summary Official documentation Quotes from the source Which language tag do I actually need? lang attribute cheat sheet HTML lang mistakes A screen reader uses the wrong pronunciation Every localized page says and hreflang disagree Browser translation prompts are wrong Tools for language declarations The HTML lang attribute is a global attribute — most importantly set on the <html> element (<html lang=\"en\">) — that declares the natural language of THIS document's content using a BCP 47 language tag (en, es, en-US, pt-BR). It's distinct from hreflang, which points to alternate-language URLs. Google ignores lang for language detection; Bing uses it as a fallback targeting signal; and it drives accessibility (screen-reader pronunciation) and the browser auto-translate prompt. TL;DR — The HTML attribute — the on your page's o","passages":["TL;DR — The HTML attribute — the on your page's opening tag — tells browsers and screen readers what language your page's content is written in.","It's easy to mix up with hreflang, but they're different: describes this page; hreflang points to your other language versions.","Google doesn't use to detect a page's language, while the attribute still matters for accessibility and for whether your browser offers to translate a page.","What the lang attribute is Near the very top of most web pages is a tag that looks like this: That is the HTML lang attribute .","Its one job is to declare the language the page's content is written in — for English, for Spanish, for German.","You can get more specific with a region: for American English, for British English, for Brazilian Portuguese.","It's a small thing, but a few different systems read it: Screen readers use it to pronounce your words correctly — an English voice reading French text sounds like nonsense.","Browsers use it along with the actual text to decide whether to pop up \"Translate this page?\" Google mostly ignores it more on why in the Advanced tab ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/html-seo/html-lang-attribute/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/html-seo/html-lang-attribute/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HTML SEO","desc":"How HTML structure, elements, and semantics affect SEO — how Google parses and renders your markup, which elements it reads directly, the malformed-head mistake that silently drops tags, and why valid/semantic HTML helps understanding without being a direct ranking factor.","snippetText":"HTML SEO is writing and structuring your markup so search engines can crawl, render, parse, and understand a page. The single most freeing fact: Google says 'the web in general is not valid HTML,' so it rarely leans on strict semantic correctness — it runs everything through an HTML lexer/normalizer, parses the raw HTML for links and content, then renders with a headless Chromium (the Web Rendering Service) and indexes the rendered DOM. Specific elements are read directly — title, headings, a href, img alt, and og:title feed things like the title link in the SERP. The under-covered failure mod","href":"/technical-seo/on-page/html-seo/","slug":"html-seo","meta":"Educational","aliases":["html-seo","HTML SEO","SEO HTML tags","HTML tags for SEO","how Google reads HTML","HTML structure SEO","semantic-html","header-tags","meta-tags"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page"],"text":"html-seo technical-seo on-page semantic-html rendering HTML SEO is writing and structuring your markup so search engines can crawl, render, parse, and understand a page. The single most freeing fact: Google says 'the web in general is not valid HTML,' so it rarely leans on strict semantic correctness — it runs everything through an HTML lexer/normalizer, parses the raw HTML for links and content, then renders with a headless Chromium (the Web Rendering Service) and indexes the rendered DOM. Specific elements are read directly — title, headings, a href, img alt, and og:title feed things like the title link in the SERP. The under-covered failure mode: one invalid element inside the head causes Google to ignore everything after it, silently dropping a title, canonical, or hreflang. Valid HTML isn't a ranking factor and semantic HTML isn't a 'magical multiplier' (Mueller: not a quality signal, but it 'helps us to better understand pages') — the goal is avoiding the parsing failures validity would have caught, not chasing a green validator. This hub points to the semantic-html deep dive for element-by-element depth. What HTML SEO is The elements that actually matter The good news: Google is forgiving The one mistake worth knowing What HTML SEO actually is How Google actually parses and renders your HTML The HTML lexer — why Google tolerates messy markup \"The web in general is not valid HTML\" Which HTML elements Google reads directly The one mistake that silently breaks everything: a malformed HTML vs. semantic HTML: helps understanding, not a ranking signal Does valid HTML matter for SEO? How Bing reads HTML differently Common HTML SEO mistakes Where this hub fits AI summary Official documentation Quotes from the source HTML SEO checklist Running a broad HTML SEO audit The mental models HTML SEO cheat sheet HTML SEO mistakes worth naming directly Malformed HTML SEO is the practice of writing and structuring a page's HTML so search engines can efficiently crawl, render, parse, and understand its content — the elements they read directly, how they handle imperfect markup, and where the right element for the job helps machine understanding. TL;DR — HTML SEO is writing your page's HTML so search engines can find, read, and understand it. The good news: Google is very forgiving of messy markup — it literally says \"the web in general is not valid HTML\" and works with i","passages":["TL;DR — HTML SEO is writing your page's HTML so search engines can find, read, and understand it.","The good news: Google is very forgiving of messy markup — it literally says \"the web in general is not valid HTML\" and works with it anyway.","You do need the important elements title, headings, links, alt text, and the tags in your present and not accidentally broken.","What HTML SEO is Every web page is built from HTML — the tags that mark up what's a heading, what's a link, what's an image, what's a paragraph.","HTML SEO is just the practice of writing that markup so a search engine can crawl it, read it, and understand what the page is about.","But search engines still read your raw HTML to figure out the basics: what's the title, where are the links to follow, what do the images show, which URL is the canonical one.","Get the HTML wrong and you can hide those things from Google without realizing it.","The elements that actually matter A handful of HTML elements do most of the SEO work: — the page's title, in the ."],"updated":"2026-07-20T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/html-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/html-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"How to Name Images for SEO","desc":"Why descriptive image file names matter for image search, how to name image files with keywords and hyphens, and — the part most guides skip — why you shouldn't bulk-rename images that are already indexed.","snippetText":"Image file names are a real but light signal for image search — Google reads the filename alongside alt text, surrounding text, and the image itself. Best practice: short, descriptive, hyphenated, lowercase names on new images (my-new-black-kitten.jpg beats IMG00023.JPG). The part most guides skip: don't bulk-rename images that are already indexed and ranking. Mueller warned it takes months for Google to re-see them and the payoff is 'minimal, maybe no visible effect at all' if your alt text and context are already good — and renaming changes the URL, so you inherit redirects, 404s, and cache ","href":"/technical-seo/on-page/image-seo/image-file-names/","slug":"image-file-names","meta":"Educational","aliases":["image file names","image filenames","name images for SEO","image file name SEO","rename images SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","image-seo"],"text":"image-file-names image-seo image-optimization google-images alt-text on-page-seo Image file names are a real but light signal for image search — Google reads the filename alongside alt text, surrounding text, and the image itself. Best practice: short, descriptive, hyphenated, lowercase names on new images (my-new-black-kitten.jpg beats IMG00023.JPG). The part most guides skip: don't bulk-rename images that are already indexed and ranking. Mueller warned it takes months for Google to re-see them and the payoff is 'minimal, maybe no visible effect at all' if your alt text and context are already good — and renaming changes the URL, so you inherit redirects, 404s, and cache churn for an unmeasurable gain. Filenames complement alt text; they don't replace it. And the extension isn't proof of format — Content-Type and the decoded bytes are what actually matter for a conversion or migration. What an image file name is and why it matters a little The naming rules The thing most people get wrong What \"image file name SEO\" actually means The core naming rules Descriptive over generic Hyphens vs. underscores Lowercase and short Keyword use without stuffing Localize file names on translated sites The extension isn't proof of the actual format Should you rename images that are already indexed? What Mueller and Sassman said Redirects, 404s, and cache implications When a rename is actually worth it Treat every rename as a URL migration, and audit it like one You probably can't measure it How file names relate to alt text Before / after examples Common mistakes to avoid FAQs AI summary Official documentation Quotes from the source TL;DR — Name your image files something that describes what's in the picture, using real words separated by hyphens: , not . Do this for new images. Don't go back and rename all your old ones — that causes more headaches than it's worth, for a benefit you'll never notice. What an image file name is and why it matters a little Every image on your site has a file name — the bit at the end of its URL, like or . A search engine can't \"see\" your photo the way you do, so it looks for clues about what the image shows. The file name is one of those clues. It's a small clue. Google leans much more on your alt text and the words around the image than on the file name. But a descriptive name is free to get right on new images, and it mostly helps you show ","passages":["TL;DR — Name your image files something that describes what's in the picture, using real words separated by hyphens: , not .","Don't go back and rename all your old ones — that causes more headaches than it's worth, for a benefit you'll never notice.","What an image file name is and why it matters a little Every image on your site has a file name — the bit at the end of its URL, like or .","A search engine can't \"see\" your photo the way you do, so it looks for clues about what the image shows.","Google leans much more on your alt text and the words around the image than on the file name.","But a descriptive name is free to get right on new images, and it mostly helps you show up in image search Google Images, Google Lens rather than regular web results.","tells Google and anyone who sees the URL what the picture is.","Google treats a hyphen as a space between words; an underscore glues the words together."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/image-seo/image-file-names/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/image-file-names/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Image Formats for SEO: JPEG vs. PNG vs. WebP vs. AVIF","desc":"The format-comparison deep dive for image SEO — compression, transparency, animation, and 2026 browser support for JPEG, PNG, WebP, AVIF, SVG, and GIF, plus the myth-bust: format is no ranking boost, only a speed one.","snippetText":"Image format choice (JPEG, PNG, WebP, AVIF, SVG, GIF) carries no direct ranking weight — Google's John Mueller has confirmed there's no SEO boost for WebP or AVIF over JPEG/PNG. The win is entirely indirect: the right format cuts file size, smaller files load faster, faster loads improve Largest Contentful Paint and Core Web Vitals, and those are what ranking systems actually use. So format matters entirely through the speed chain, not by itself. Pick by content type: WebP is the safe modern default for photos (~96% support, ~25–35% smaller than JPEG); AVIF compresses further (~50% smaller tha","href":"/technical-seo/on-page/image-seo/image-formats/","slug":"image-formats","meta":"Educational","aliases":["image-formats","image formats","image format","JPEG vs PNG vs WebP vs AVIF","best image format for SEO","WebP vs AVIF","Image Format","Image SEO","Image Optimization","Responsive Images","Core Web Vitals","lcp"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","image-seo"],"text":"image-formats image-seo webp avif jpeg png svg gif core-web-vitals on-page-seo Image format choice (JPEG, PNG, WebP, AVIF, SVG, GIF) carries no direct ranking weight — Google's John Mueller has confirmed there's no SEO boost for WebP or AVIF over JPEG/PNG. The win is entirely indirect: the right format cuts file size, smaller files load faster, faster loads improve Largest Contentful Paint and Core Web Vitals, and those are what ranking systems actually use. So format matters entirely through the speed chain, not by itself. Pick by content type: WebP is the safe modern default for photos (~96% support, ~25–35% smaller than JPEG); AVIF compresses further (~50% smaller than JPEG, ~94% support in 2026) but costs more to encode and has no progressive rendering; PNG for transparency and sharp-edged graphics; SVG for logos and icons; GIF only as the universal animation fallback. Serve modern formats with a <picture> fallback — that fallback src is the URL Google indexes. This is the format deep dive; the implementation how-to lives in Image Optimization. What an image format is The formats, in plain terms The thing most people get wrong Does image format actually affect SEO? The real chain: format → file size → speed → Core Web Vitals The six formats compared JPEG — the universal photographic fallback PNG — lossless, transparency, graphics and screenshots WebP — the modern safe default AVIF — best compression, real trade offs SVG — vector graphics, icons, logos, diagrams GIF — legacy animation, when it's still the right call Which format should you actually use? Implementing modern formats safely — the fallback What Google and Bing officially support Google's supported formats list and the August 2024 AVIF milestone Bing's limited public guidance Common myths about image formats and SEO Where this fits AI summary Official documentation Quotes from the source Which format should I use? The mental models The file encoding used to store an image (JPEG, PNG, WebP, AVIF, SVG, GIF) — it drives file size and Core Web Vitals, but carries no direct ranking weight. TL;DR — An image format is the type of file you save a picture as — JPEG, PNG, WebP, AVIF, and a few others. Switching to a \"modern\" format like WebP or AVIF won't boost your rankings — Google has said so directly. What it does do is make the file smaller, which makes your page load faster, and speed is what actu","passages":["TL;DR — An image format is the type of file you save a picture as — JPEG, PNG, WebP, AVIF, and a few others.","Switching to a \"modern\" format like WebP or AVIF won't boost your rankings — Google has said so directly.","What it does do is make the file smaller, which makes your page load faster, and speed is what actually helps.","So pick the format that fits the picture: WebP for most photos, PNG for logos and screenshots that need sharp edges or transparency, SVG for icons.","What an image format is When you save a picture, you save it as something — a , a , a .","Each one stores the image a little differently, and the choice changes three things you care about: How big the file is a smaller file loads faster .","Whether it can have a transparent background a logo that sits on any color .","Search engines can read all the common formats, so you're not picking one to \"please Google.\" You're picking the one that keeps the file small without making the picture look worse."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/image-seo/image-formats/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/image-formats/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Image Optimization","desc":"How to optimize images for SEO and performance — modern formats like WebP and AVIF, compression, correct dimensions, and lazy loading — to improve Core Web Vitals and LCP.","snippetText":"Image optimization is a speed discipline, not a ranking lever. Formats (WebP, AVIF), compression, and correct sizing exist to shrink bytes and improve LCP — there's no direct ranking boost for the format itself (Mueller confirmed this three separate times). The single highest-value rule: never lazy-load your LCP image (usually the hero) — it delays the exact metric you're trying to fix. That one gets loading=\"eager\" plus fetchpriority=\"high\". Native loading=\"lazy\" is for images outside the initial viewport, not a fixed 'below the fold' line. Compression has no universal \"right\" quality — test ","href":"/technical-seo/on-page/image-seo/image-optimization/","slug":"image-optimization","meta":"Educational","aliases":["image optimization","optimize images","image compression","next-gen image formats","lazy load images"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","image-seo"],"text":"image-optimization image-seo webp avif lazy-loading lcp core-web-vitals on-page-seo Image optimization is a speed discipline, not a ranking lever. Formats (WebP, AVIF), compression, and correct sizing exist to shrink bytes and improve LCP — there's no direct ranking boost for the format itself (Mueller confirmed this three separate times). The single highest-value rule: never lazy-load your LCP image (usually the hero) — it delays the exact metric you're trying to fix. That one gets loading=\"eager\" plus fetchpriority=\"high\". Native loading=\"lazy\" is for images outside the initial viewport, not a fixed 'below the fold' line. Compression has no universal \"right\" quality — test per image. Correct size = rendered container size × device pixel ratio, and that container size itself moves with responsive layout, which is why you deliver a srcset range. None of this guarantees a passing Core Web Vitals score, a ranking change, or more traffic — measure LCP and CLS before and after. This is the how-to companion to the Image SEO hub, which owns the what/why. What image optimization actually does The handful of things that matter The thing most people get wrong What image optimization optimizes for set the myth up front Lead with the rule everyone breaks: never lazy load your LCP image on the LCP image Native — free, simple, and correct below the fold Modern formats: WebP vs. AVIF vs. JPEG/PNG Does format affect rankings? No — and Mueller has said so three ways Compression and quality: there's no universal \"right\" setting Correct dimensions: container size × device pixel ratio Why this all ties back to Core Web Vitals Common implementation pitfalls Quick recipe AI summary Official documentation Quotes from the source Image optimization checklist Image optimization cheat sheet The mistake that costs you your LCP score Trusting one blanket compression setting Sizing images off the file you have, not the container Hiding real content images behind CSS Skipping / to \"save markup\" TL;DR — Image optimization means making your pictures smaller so pages load fast, without making them look bad. Use a modern format like WebP, compress the file, and don't serve a picture that's way bigger than it shows on screen. The one rule people break most: the big image at the very top of your page should load right away — never \"lazy load\" that one. Doing this well doesn't magically boost y","passages":["TL;DR — Image optimization means making your pictures smaller so pages load fast, without making them look bad.","Use a modern format like WebP, compress the file, and don't serve a picture that's way bigger than it shows on screen.","The one rule people break most: the big image at the very top of your page should load right away — never \"lazy load\" that one.","Doing this well doesn't magically boost your rankings, and it doesn't guarantee a passing speed score either — it just makes your pages fast, and speed is what counts, so check your actual results before and after.","What image optimization actually does Images are almost always the heaviest thing on a web page.","Google's own docs say images are \"often the largest contributor to overall page size, which can make pages slow and expensive to load.\" So optimizing them is really about one thing: cutting the bytes your visitor has to download, so your page shows up quickly.","The part that surprises people: the format itself is not a ranking boost.","Switching your JPEGs to WebP won't lift your positions on its own."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/image-seo/image-optimization/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/image-optimization/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"ImageObject Schema","desc":"ImageObject is the schema.org type that describes an image as structured data — used standalone for photo-licensing metadata (the Licensable badge) or, more often, nested inside Product, Article, Recipe, and Organization schema. Here's when a plain URL is enough and when you need the full object.","snippetText":"ImageObject is the schema.org type for describing an image as structured data — but it's rarely a destination on its own. Its main job is as the value of an image or logo property nested inside another type: Product.image, Article.image, Recipe.image, Organization.logo, WebPage.primaryImageOfPage. When a property just wants a picture, a plain URL string works; you upgrade to a full ImageObject when you want to attach metadata (owner, license, caption, dimensions). The one visible feature it directly unlocks is Google's Licensable badge, and the trigger is specifically the license property — co","href":"/technical-seo/on-page/structured-data/creative-works/imageobject-schema/","slug":"imageobject-schema","meta":"Educational","aliases":["imageobject-schema","imageobject schema","imageobject","image schema markup","image structured data","licensable badge","ImageObject schema","structured data","creative works schema","image SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","creative-works"],"text":"imageobject-schema structured-data image-seo licensable-badge schema-org on-page-seo schema json-ld rich results validator ImageObject is the schema.org type for describing an image as structured data — but it's rarely a destination on its own. Its main job is as the value of an image or logo property nested inside another type: Product.image, Article.image, Recipe.image, Organization.logo, WebPage.primaryImageOfPage. When a property just wants a picture, a plain URL string works; you upgrade to a full ImageObject when you want to attach metadata (owner, license, caption, dimensions). The one visible feature it directly unlocks is Google's Licensable badge, and the trigger is specifically the license property — contentUrl plus creator/creditText/copyrightNotice alone won't do it. Use contentUrl over url (Google says it's more precise). Two facts most guides miss: Recipe's image is required for the recipe rich result but has no impact on your normal text-result thumbnail (Google clarified this June 2025), and Product's image is not in Google's formal required/recommended lists at all. None of it is a ranking factor — it earns eligibility, not rank. And every uncited X% traffic-lift stat you'll see attached to image schema traces to no source; ignore them. What ImageObject is When you actually need the full version The thing most people get wrong Where ImageObject sits, and how it's actually used The core properties vs — use contentUrl and — the Licensable pair , , — the attribution trio , , / , Getting the Licensable badge ImageObject inside specific types Recipe — required, and the June 2025 clarification Product — not formally required the myth bust Article and Organization Controlling your Search / Discover thumbnail C2PA / \"About this image\" — adjacent, not ImageObject Is ImageObject a ranking factor? Common mistakes Where this fits AI summary Official documentation Quotes from the source Plain URL or full ImageObject? And which feature am I even after? ImageObject — cheat sheet ImageObject is the schema.org type that describes an image as structured data. It's rarely used alone — its main job is as the value of an image or logo property nested inside another type (Product.image, Article.image, Recipe.image, Organization.logo). You upgrade a plain image URL to a full ImageObject when you want to attach metadata: who owns the image, how it can be licensed,","passages":["TL;DR — ImageObject is a way to describe an image to search engines with more than just its web address — who owns it, how it can be licensed, its caption.","Most of the time you don't need it: when a piece of schema asks for an image, a plain URL is enough.","You reach for the full ImageObject when you want to attach that extra information — most commonly to earn the \"Licensable\" badge in Google Images.","What ImageObject is When you add structured data /technical seo/on page/structured data/ to a page, you're labeling your content so search engines understand it.","ImageObject is the schema.org type that labels an image — not the words on the page, but a picture, described as data a machine can read.","Here's the part almost every guide skips: ImageObject is rarely used on its own.","Its real job is to be the value of another type's image property.","When you mark up a product, an article, or a recipe, each of those has a spot for an image."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/imageobject-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/imageobject-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Information Gain","desc":"What information gain means in SEO and AI search — how Google's Information Gain Score patent works, why original research and unique data outperform regurgitated content, and how to measure it.","snippetText":"Information gain is how much *new* information your page adds beyond what a searcher has already seen in the results for a topic — novelty relative to the existing corpus, not general content quality. The term comes from a real Google patent ('Contextual estimation of link information gain,' filed 2018, granted 2022) that scores documents 0.00–1.00 for novelty and ranks partly on that score — but Google has never confirmed using it in live ranking, and the patent's framing is about what to show *next* after a user has seen some results, not the first page. There's no visible score in Search Co","href":"/ai-search/optimization/information-gain/","slug":"information-gain","meta":"Educational","aliases":["information-gain","information gain","information gain score","information gain in SEO","information gain patent","Information Gain","entity-seo","generative-engine-optimization","answer-engine-optimization","helpful-content-update"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"information-gain ai-search content-strategy original-research helpful-content geo Information gain is how much *new* information your page adds beyond what a searcher has already seen in the results for a topic — novelty relative to the existing corpus, not general content quality. The term comes from a real Google patent ('Contextual estimation of link information gain,' filed 2018, granted 2022) that scores documents 0.00–1.00 for novelty and ranks partly on that score — but Google has never confirmed using it in live ranking, and the patent's framing is about what to show *next* after a user has seen some results, not the first page. There's no visible score in Search Console, no API, and no public formula: any 'information gain score' in a tool is an approximation. What's real and official is Google's helpful-content guidance asking whether content offers 'original information, reporting, research, or analysis.' It matters more now because AI Overviews and AI Mode can already synthesize consensus content — only genuinely new information (proprietary data, original research, first-hand expertise) is what AI has to cite instead of absorb. What information gain means Where the term comes from Why it matters more now What to do about it What information gain actually is and isn't The Google patent behind the term What it says What it doesn't say Google's official guidance that echoes the idea Does Bing use information gain? Why information gain matters more in an AI answer heavy SERP What actually produces information gain How to evaluate your own content for information gain The bottom line AI summary Official documentation Quotes from the source Playbook: adding real information gain Anti patterns: how \"information gain\" goes wrong Prompts for information gain reviews Frameworks for creating real information gain The corpus–claim–evidence framework The novelty ladder Information gain cheat sheet Information gain is how much new information a page adds beyond what a searcher has already seen in prior results on the same topic — novelty relative to the existing corpus, not general content quality. The term comes from a granted Google patent that Google has never confirmed using in live ranking. TL;DR — Information gain is how much new information your page adds that a searcher hasn't already seen in the other results for that topic. It's not the same as \"goo","passages":["TL;DR — Information gain is how much new information your page adds that a searcher hasn't already seen in the other results for that topic.","It's not the same as \"good content\" or \"long content\" — a page can be thorough and still add nothing new.","The name comes from a Google patent, but Google has never said it actually uses it to rank pages.","What it does say, in plain guidance, is: don't just rewrite what's already out there — add something original.","What information gain means Information gain is an information theory and patent concept often used by SEOs; Google does not document a public ranking factor with a universal score under this name.","Google's helpful content guidance does ask whether content adds original information, reporting, research, or analysis.","If the second page repeats everything the first one said — just worded differently — they learned nothing new from it.","If it gives them a fresh data point, a first hand story, or a different angle, they gained information ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/ai-search/optimization/information-gain/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/information-gain/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"International SEO Checklist","desc":"A build-and-launch international SEO checklist — URL structure, hreflang, geotargeting after the GSC deprecation, crawlable switchers, and duplicate-content handling.","snippetText":"This is the build/launch checklist for a site that targets more than one country and/or language — the sequence to work through when setting one up, as opposed to auditing one that's already live. Decide your URL structure once and apply it consistently (ccTLD vs. subdomain vs. subdirectory; Google marks URL-parameter language switching 'Not recommended'). Implement hreflang with self-references, return tags, and x-default in whichever delivery method fits your stack — HTML head, HTTP header, and XML sitemap are equivalent to Google. Localize, don't machine-translate. Know that the GSC Interna","href":"/international-seo/international-seo-checklist/","slug":"international-seo-checklist","meta":"Educational","aliases":["international SEO checklist","international SEO setup","hreflang checklist","multi-regional SEO"],"pillar":"international-seo","taxonomy":["international-seo"],"text":"This is the build/launch checklist for a site that targets more than one country and/or language — the sequence to work through when setting one up, as opposed to auditing one that's already live. Decide your URL structure once and apply it consistently (ccTLD vs. subdomain vs. subdirectory; Google marks URL-parameter language switching 'Not recommended'). Implement hreflang with self-references, return tags, and x-default in whichever delivery method fits your stack — HTML head, HTTP header, and XML sitemap are equivalent to Google. Localize, don't machine-translate. Know that the GSC International Targeting report was fully removed in September 2022, so country targeting is now inferred from ccTLD + hreflang + on-page + link signals with no manual override. Make language/currency switchers real crawlable links, never JS-only dropdowns, and never auto-redirect by IP. Near-identical regional variants need canonical AND hreflang together, not canonical alone. Bing weights the content-language meta tag over hreflang and appears to have removed its own Geo Targeting feature. What this checklist is for 1. Pick one URL structure — and be consistent 2. Set up hreflang correctly 3. Localize — don't just translate 4. Don't look for a \"country target\" setting in Google Search Console 5. Make your language switcher a real link 6. Watch out for duplicate content Validate an international launch Locale URL integrity Hreflang reciprocity Crawlable locale switching Market specific rendering How this differs from the audit Step 1 — Choose your URL structure Step 2 — Implement hreflang correctly Step 3 — Localize, don't just translate Step 4 — Geotargeting: what GSC can and can't do anymore Step 5 — Make switchers crawlable Step 6 — Handle near duplicate content across variants Step 7 — Validate before and after launch Bing specific notes AI summary Official documentation Quotes from the source TL;DR — If your site targets more than one country or language, there's a short list of things to get right when you build it: pick one URL structure and stick with it, set up hreflang so each version points at the others and back at itself , actually localize your content instead of running it through a translator, and make your language switcher a real clickable link — not a JavaScript dropdown. Don't try to \"set your country\" in Google Search Console; that setting was removed in 2","passages":["TL;DR — If your site targets more than one country or language, there's a short list of things to get right when you build it: pick one URL structure and stick with it, set up hreflang so each version points at the others and back at itself , actually localize your content instead of running it through a translator, and make your language switcher a real clickable link — not a JavaScript dropdown.","Don't try to \"set your country\" in Google Search Console; that setting was removed in 2022.","What this checklist is for This is the checklist you work through when you're setting up a site for more than one country or language — a build list, not a diagnosis.","If your international site is already live and something's off, the international SEO audit /international seo/international seo audit/ is the companion piece that walks you through finding what's broken.","For the why behind all of this, the international SEO /international seo/ hub is the concept grounding.","Pick one URL structure — and be consistent You have to decide how the different country or different language versions of your site are separated by URL.","The strongest signal to Google about which country you're targeting, but you buy and manage a separate domain per country, and each one can only target one country.","Easy to set up on the same site, but users can't always tell it's a German site from the URL alone."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/international-seo/international-seo-checklist/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/international-seo-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"ItemList Schema","desc":"ItemList is schema.org's generic ordered-list container — the mechanism Google's Carousel rich result is built on, and the parent type BreadcrumbList inherits from. What it does, what it doesn't, and how the pieces fit.","snippetText":"ItemList is schema.org's generic 'this is an ordered list of things' container — two properties (itemListElement and a 1-based position) do almost all the work. The single biggest misconception: ItemList by itself is not a rich result and doesn't get you a carousel. Google's Carousel rich result is built on top of ItemList, and only fires when you pair it with a supported companion type (Course list, Movie, Recipe, Restaurant for the classic carousel; LocalBusiness/Product/Event for a newer geo-gated beta limited to the EEA, Turkey, and South Africa). BreadcrumbList is formally a subtype of It","href":"/technical-seo/on-page/structured-data/itemlist-schema/","slug":"itemlist-schema","meta":"Educational","aliases":["itemlist-schema","ItemList schema","ItemList structured data","itemListElement","carousel schema markup","ItemList Schema","structured-data","breadcrumblist-schema","carousel-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"itemlist-schema structured-data schema-markup carousel breadcrumblist json-ld rich-results schema google-serp validator ItemList is schema.org's generic 'this is an ordered list of things' container — two properties (itemListElement and a 1-based position) do almost all the work. The single biggest misconception: ItemList by itself is not a rich result and doesn't get you a carousel. Google's Carousel rich result is built on top of ItemList, and only fires when you pair it with a supported companion type (Course list, Movie, Recipe, Restaurant for the classic carousel; LocalBusiness/Product/Event for a newer geo-gated beta limited to the EEA, Turkey, and South Africa). BreadcrumbList is formally a subtype of ItemList — same itemListElement/position mechanics — which is the detail that trips up even experienced implementers. Items must all be the same type on the classic carousel (the beta allows mixing), you need 2+ items (3+ for the beta), and the markup must match visible content. And like all structured data, ItemList is not a ranking factor; its value is rich-result eligibility, not position — and Google is explicit that meeting the requirements never guarantees the feature actually displays. What ItemList schema is The one thing everyone gets wrong Why it matters and what it doesn't do What ItemList actually is The two implementation patterns Summary page and multiple detail pages All in one summary page ItemList is not the Carousel — this is the core distinction Classic Carousel — the supported types Carousels Beta — the newer, geo gated program How BreadcrumbList and a few others relate to ItemList Implementation requirements and common validation failures Does ItemList schema affect rankings? No. ItemList vs. CollectionPage — a quick disambiguation Where this fits AI summary Official documentation Quotes from the source ItemList — cheat sheet Do I need ItemList — and will it get me a carousel? Common ItemList/carousel problems and how to fix them The markup validates clean, but no carousel ever appears The list validates but Google flags a same type or count error The carousel doesn't render even though item count and type are correct ItemList is a schema.org type — a generic container for an ordered or unordered list of items ('a list of items of any sort'). Two properties do most of the work: itemListElement (the array of entries, usually ListItem ","passages":["TL;DR — ItemList is a bit of schema.org code that says \"this page is a list of things, in this order.\" The two important parts are the list of entries and a rank number on each one .","By itself it does not get you a fancy search result — Google's swipeable Carousel is built on top of ItemList, and only shows up when you pair it with one of a few specific content types recipes, movies, courses, restaurants .","What ItemList schema is When you build a \"Top 10\" page, or a recipe roundup, or a list of courses, you can see it's a list.","Two properties do almost all the work: — the list of entries.","— a number starting at 1 that says where each entry ranks in the list.","The one thing everyone gets wrong Adding ItemList by itself does not get you a special search result.","This is the top misconception, so it's worth stating plainly.","ItemList is the mechanism ; the visible payoff — a swipeable set of cards in Google's results — is a separate feature called a Carousel ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/itemlist-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/itemlist-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Knowledge Graph SEO","desc":"How Google's Knowledge Graph works, how entities and their relationships are stored, what the Knowledge Panel is and how to influence it, and why Knowledge Graph optimization matters for AI search.","snippetText":"The Knowledge Graph is Google's own database of entities (people, places, organizations, things) and the facts connecting them — separate from your site's structured data, which is just one of many possible inputs. A Knowledge Panel is the visible UI Google generates from the graph once it's confident enough about an entity; the graph can know about you without ever showing a panel, and nothing guarantees one. You can claim an existing panel and suggest edits, but you can't summon a panel into existence, and not all panels are even claimable. Realistic influence comes from consistent, well-cor","href":"/ai-search/optimization/knowledge-graph-seo/","slug":"knowledge-graph-seo","meta":"Educational","aliases":["knowledge-graph-seo","Knowledge Graph","Google Knowledge Graph","Knowledge Panel","knowledge graph optimization","entity-seo","entities","structured-data"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"knowledge-graph ai-search entities knowledge-panel structured-data The Knowledge Graph is Google's own database of entities (people, places, organizations, things) and the facts connecting them — separate from your site's structured data, which is just one of many possible inputs. A Knowledge Panel is the visible UI Google generates from the graph once it's confident enough about an entity; the graph can know about you without ever showing a panel, and nothing guarantees one. You can claim an existing panel and suggest edits, but you can't summon a panel into existence, and not all panels are even claimable. Realistic influence comes from consistent, well-corroborated entity signals across the web — Wikipedia/Wikidata presence, Google Business Profile for local, structured data as one contributing signal — not from any single lever. And the graph is increasingly discussed as part of how Google grounds and verifies entities in AI answers — Google hasn't published a confirmed mechanism for this, so treat it as a reasonable industry inference, not a documented rule. What the Knowledge Graph is The one thing people get wrong What a Knowledge Panel is and how to get one What the Knowledge Graph actually is Knowledge Graph vs. Knowledge Panel vs. your structured data What triggers a Knowledge Panel Confidence thresholds and multi source corroboration Why \"being in the graph\" doesn't guarantee a panel How to claim and edit your Knowledge Panel The claim flow Suggesting edits after claiming What to do if there's no panel yet, or it isn't claimable Realistic ways to influence Knowledge Graph presence Bing's entity graph, briefly Why the Knowledge Graph matters for AI search Common myths FAQs AI summary Official documentation Quotes from the source \"Should I worry about a Knowledge Panel?\" — a decision tree Knowledge entity checklist The mental models Knowledge Graph — cheat sheet The Knowledge Graph is Google's database of entities — people, places, organizations, and things — and the factual relationships between them. It's separate from any single website's structured data: your schema markup is one of many possible inputs to the graph, not the graph itself. TL;DR — The Knowledge Graph is Google's giant database of things — people, companies, places — and the facts about them. It's not the same as the schema markup on your website; your markup is just one thing tha","passages":["TL;DR — The Knowledge Graph is Google's giant database of things — people, companies, places — and the facts about them.","It's not the same as the schema markup on your website; your markup is just one thing that might feed it.","The box that pops up on the right of search results with a photo and quick facts is a Knowledge Panel — the visible part of that database.","You can sometimes claim and correct a panel, but you can't force one to exist, and nothing guarantees you get one.","What the Knowledge Graph is Google describes the Knowledge Graph as a system for understanding facts about people, places, and things and their relationships.","A Knowledge Panel is a search result presentation generated from multiple sources, not a feature guaranteed by adding schema.","When you search for a well known person, company, or place, Google often shows a box with a photo, a short description, and quick facts — birthday, founder, headquarters, and so on.","It comes from Google's own database of entities and the facts connecting them."],"updated":"2026-07-21T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/ai-search/optimization/knowledge-graph-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/knowledge-graph-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Language Targeting vs. Country Targeting","desc":"Language targeting and country targeting are two independent axes in international SEO. Which one you need — and which hreflang codes to use — depends on whether your content actually differs by country. From Patrick Stox.","snippetText":"Language targeting serves people by what language they read; country targeting serves people by where they are — currency, pricing, shipping, and legal text that differs per country. They're two independent axes, not one spectrum. Make the content decision first (does this page's actual content differ by country, or only by language?), then the technical decision (which hreflang codes to annotate the URL with). hreflang always needs a language code (ISO 639-1, like en); the region code (ISO 3166-1 alpha-2, like GB) is optional and secondary — a region-only code with no language is invalid. Gar","href":"/international-seo/architecture-and-targeting/language-vs-country-targeting/","slug":"language-vs-country-targeting","meta":"Educational","aliases":["language vs country targeting","language targeting","country targeting","multilingual vs multi-regional","hreflang language or country"],"pillar":"international-seo","taxonomy":["international-seo","architecture-and-targeting"],"text":"international-seo hreflang multilingual-seo geotargeting language-targeting country-targeting Language targeting serves people by what language they read; country targeting serves people by where they are — currency, pricing, shipping, and legal text that differs per country. They're two independent axes, not one spectrum. Make the content decision first (does this page's actual content differ by country, or only by language?), then the technical decision (which hreflang codes to annotate the URL with). hreflang always needs a language code (ISO 639-1, like en); the region code (ISO 3166-1 alpha-2, like GB) is optional and secondary — a region-only code with no language is invalid. Gary Illyes: the language is absolutely not a tell for what country you are targeting. In my 374,756-domain hreflang study, 67% of domains using hreflang had at least one issue, and using a country code where a language code belongs was one of them. Don't over-split into per-country variants when the content is identical in a language — every extra variant is more surface area to break. Two different questions Make the content decision first Then pick the tag The thing most people get wrong Framework: choose the minimum viable targeting model Framework: content first, annotation second Two axes, not one spectrum The content decision vs. the technical decision How hreflang expresses the difference The Belgium example — one country, three languages Real world scenarios that make it concrete Why language can't tell you the country Choosing your approach How this interacts with URL structure hreflang is a hint, not enforcement How Bing differs Implementation traps that undo a correct decision Where this sits AI summary Official documentation Quotes from the source Which should I target — language, country, or both? Common mistakes Worked examples TL;DR — Language targeting serves people by the language they read. Country targeting serves people by the country they're in — where price, currency, shipping, and legal text actually change. They're two separate questions, not one. First decide whether your page's content really differs by country or just by language; only then pick your hreflang codes. And remember: hreflang always needs a language code first — you can't target a country by itself. Two different questions When you start expanding a site to more than one market, the very fi","passages":["TL;DR — Language targeting serves people by the language they read.","Country targeting serves people by the country they're in — where price, currency, shipping, and legal text actually change.","First decide whether your page's content really differs by country or just by language; only then pick your hreflang codes.","And remember: hreflang always needs a language code first — you can't target a country by itself.","Two different questions When you start expanding a site to more than one market, the very first fork in the road trips almost everyone up.","This is a multilingual site: the same content offered in more than one language.","Country targeting is about where someone is and what's different for them locally — the price, the currency, the shipping options, the legal fine print.","This is a multi regional site: content aimed at users in specific countries."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/international-seo/architecture-and-targeting/language-vs-country-targeting/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/architecture-and-targeting/language-vs-country-targeting/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Lazy Loading","desc":"How lazy loading images and iframes improves Core Web Vitals, the loading attribute, the SEO risks of lazy-loading above-the-fold content, and how Googlebot renders deferred content.","snippetText":"Lazy loading defers off-screen images and iframes until they're about to scroll into view, cutting initial page weight and helping Core Web Vitals. The native way is the loading=\"lazy\" attribute on <img> and <iframe> — no JavaScript needed. The big mistake is lazy-loading your hero/LCP image, which delays Largest Contentful Paint. Googlebot doesn't scroll or click, so anything gated behind a scroll or click event can go unseen. It's not a direct ranking factor — the effect runs through Core Web Vitals and crawlability. Verify what actually renders in Search Console's URL Inspection Tool: the i","href":"/technical-seo/web-performance/lazy-loading/","slug":"lazy-loading","meta":"Educational","aliases":["lazy-loading","lazy loading","lazy load","loading lazy","loading attribute","lazy load images","lazy load iframes","Lazy Loading","core-web-vitals","lcp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"lazy-loading technical-seo core-web-vitals javascript-seo images page-speed Lazy loading defers off-screen images and iframes until they're about to scroll into view, cutting initial page weight and helping Core Web Vitals. The native way is the loading=\"lazy\" attribute on <img> and <iframe> — no JavaScript needed. The big mistake is lazy-loading your hero/LCP image, which delays Largest Contentful Paint. Googlebot doesn't scroll or click, so anything gated behind a scroll or click event can go unseen. It's not a direct ranking factor — the effect runs through Core Web Vitals and crawlability. Verify what actually renders in Search Console's URL Inspection Tool: the image URLs should sit in the src attribute of the rendered HTML. What lazy loading is The easy way: the attribute The one mistake to avoid Does it hurt SEO? What lazy loading actually does Native vs. JavaScript driven lazy loading The attribute's values The 1 mistake: lazy loading the LCP / above the fold image How Googlebot renders lazy loaded content Infinite scroll is a different problem How to test it Ranking signal honesty Where this fits AI summary Official documentation Quotes from the source Lazy loading checklist Lazy loading anti patterns myths and mistakes Lazy loading cheat sheet Before / after Find images that should or shouldn't be lazy loaded Grep your source for risky lazy load patterns Hero image starts later after enabling lazy loading Lazy image appears but shifts the page Lazy loading defers loading of off-screen or non-critical resources — usually images and iframes — until they're about to enter the viewport. The native way to do it is the loading=\"lazy\" HTML attribute, which needs no JavaScript. TL;DR — Lazy loading tells the browser to hold off downloading images and embeds until you're about to scroll to them, so the page loads faster up front. The easy, no code way is to add to an or . The one rule to remember: don't lazy load the big image at the top of the page — that makes the page feel slower , not faster. What lazy loading is Normally, when a browser opens a page, it tries to download everything on it — every image, every embedded map or video — right away. On a long page with lots of images, that's a lot of downloading for stuff you might never scroll down to see. Lazy loading fixes that. It defers loading the off screen images and embeds until you're about to scro","passages":["TL;DR — Lazy loading tells the browser to hold off downloading images and embeds until you're about to scroll to them, so the page loads faster up front.","The one rule to remember: don't lazy load the big image at the top of the page — that makes the page feel slower , not faster.","What lazy loading is Normally, when a browser opens a page, it tries to download everything on it — every image, every embedded map or video — right away.","On a long page with lots of images, that's a lot of downloading for stuff you might never scroll down to see.","It defers loading the off screen images and embeds until you're about to scroll them into view.","The page shows you what's at the top quickly, and the rest loads as you go.","Less data up front means a faster first impression, plus savings on bandwidth and battery — which matters most on phones.","The easy way: the attribute You used to need a JavaScript library to do this."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/web-performance/lazy-loading/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/lazy-loading/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Machine Translation and SEO","desc":"Is machine translation safe for SEO? Google's scaled content abuse policy targets bulk unreviewed MT for ranking manipulation — not translation itself. Here's the current policy, the Reddit case, the MTPE workflow, and the hreflang layer MT content still needs.","snippetText":"Machine translation isn't banned for SEO. What Google's scaled content abuse policy targets is publishing raw, unreviewed, bulk machine-translated pages at scale to manipulate rankings — the trigger is low value at scale, not the translation method. Google said as much in 2025 (AI-translated content is not 'strictly defined... as spam'), removed its old advice to block auto-translated pages with robots.txt, and took no action against Reddit's tens of millions of AI-translated URLs. The standard workflow at scale is MTPE — machine translation plus human post-editing — because 100% human transla","href":"/international-seo/localization-and-content/machine-translation-seo/","slug":"machine-translation-seo","meta":"Educational","aliases":["machine-translation-seo","machine translation SEO","machine translation and SEO","auto-translated content","is machine translation bad for SEO","MTPE","Machine Translation (for SEO)","localization","hreflang","duplicate-content"],"pillar":"international-seo","taxonomy":["international-seo","localization-and-content"],"text":"machine-translation international-seo mtpe scaled-content-abuse hreflang Machine translation isn't banned for SEO. What Google's scaled content abuse policy targets is publishing raw, unreviewed, bulk machine-translated pages at scale to manipulate rankings — the trigger is low value at scale, not the translation method. Google said as much in 2025 (AI-translated content is not 'strictly defined... as spam'), removed its old advice to block auto-translated pages with robots.txt, and took no action against Reddit's tens of millions of AI-translated URLs. The standard workflow at scale is MTPE — machine translation plus human post-editing — because 100% human translation of every page usually isn't practical. Raw unreviewed MT dumps are the actual risk. And translation quality is only half the job: my study of 374,756 hreflang-using domains found over 67% had some hreflang issue, so MT content frequently mis-targets its audience regardless of how good the translation is. What \"machine translation and SEO\" means The rule, in one sentence What Google actually said recently The catch beginners miss Validate machine translated pages before scaling Source language residue Human post edit sample Technical locale mapping Post launch value check Does Google penalize machine translated content? Google's 2025 statement — the clearest current line What changed in 2024–2025 MT then human review vs. raw bulk MT dumps The Reddit case: proof it's applied by value, not method The technical layer MT content still needs What happens if you don't translate at all Bing's approach The bottom line AI summary Official documentation Quotes from the source Which translation method should this page get? Machine translation myths that cost rankings SOP: MTPE quality control pass before publishing translated pages Machine translation (MT) is using automated systems — Google Translate, DeepL, Microsoft Translator, or an LLM — to translate a site's content into other languages. It isn't banned for SEO; publishing raw, unreviewed MT in bulk purely to rank is what Google's scaled content abuse policy targets. MT reviewed and edited by a human (MTPE) is standard practice at scale. TL;DR — Machine translation — using a tool like Google Translate, DeepL, or an AI model to translate your pages — is not banned for SEO. What gets sites in trouble is publishing loads of raw, unchecked machine trans","passages":["TL;DR — Machine translation — using a tool like Google Translate, DeepL, or an AI model to translate your pages — is not banned for SEO.","What gets sites in trouble is publishing loads of raw, unchecked machine translations just to rank in more languages.","If a human reviews and cleans up the translation before you publish, you're doing what most big international sites already do.","What \"machine translation and SEO\" means Machine translation MT is when software translates your content instead of a person — Google Translate, DeepL, Microsoft Translator, or an AI chatbot.","The SEO question people actually ask is some version of: \"If I use this to translate my site, will Google penalize me?\" The short answer: no, not for using machine translation.","The rule, in one sentence Google's guidelines target bulk, unreviewed, low value pages published mainly to game rankings — and machine translation is just one way to churn those out.","It sits in the same list as scraping and shuffling words around.","to users\" at scale, not the fact that a machine did the translating."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/international-seo/localization-and-content/machine-translation-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/localization-and-content/machine-translation-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"MerchantReturnPolicy Schema","desc":"MerchantReturnPolicy is the schema.org type that marks up your return policy for Google — nested under Organization or Offer, never on its own. Here are the required properties, the applicableCountry vs. returnPolicyCountry confusion, and the four-way precedence hierarchy that decides which policy actually shows.","snippetText":"MerchantReturnPolicy is the schema.org type that describes your return policy — window, fees, methods, refund type — in machine-readable form. The single most important thing to get right: it's a nested, property-level type, never a standalone markup. You attach it via hasMerchantReturnPolicy under Organization (one site-wide policy) or Offer (a per-product override). Once you use it, Google requires one of two options — applicableCountry + returnPolicyCategory, or just merchantReturnLink — and if the category is MerchantReturnFiniteReturnWindow, merchantReturnDays is required too. It is NOT r","href":"/technical-seo/on-page/structured-data/commerce/merchantreturnpolicy-schema/","slug":"merchantreturnpolicy-schema","meta":"Educational","aliases":["merchantreturnpolicy-schema","merchantreturnpolicy schema","return policy schema","return policy structured data","hasMerchantReturnPolicy","MerchantReturnPolicy Schema","commerce-schema","product-schema","structured-data","schema-markup","rich-results","shipping-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","commerce"],"text":"merchantreturnpolicy-schema structured-data return-policy-schema product-schema offer-schema rich-results on-page-seo MerchantReturnPolicy is the schema.org type that describes your return policy — window, fees, methods, refund type — in machine-readable form. The single most important thing to get right: it's a nested, property-level type, never a standalone markup. You attach it via hasMerchantReturnPolicy under Organization (one site-wide policy) or Offer (a per-product override). Once you use it, Google requires one of two options — applicableCountry + returnPolicyCategory, or just merchantReturnLink — and if the category is MerchantReturnFiniteReturnWindow, merchantReturnDays is required too. It is NOT required for baseline Product rich results; it's a recommended enhancement that gates only the returns display. Watch two traps: applicableCountry (where the policy applies) is not returnPolicyCountry (where the item ships back to), and a return policy can be set in four places — Content API, Merchant Center/Search Console settings, product-level markup, organization-level markup — that follow a strict precedence order, with Search Console settings overriding your on-page markup entirely. What it is The one thing to understand first What you have to include What most people get wrong What it actually is — a nested type, not a listing type Required properties: a two option choice The three returnPolicyCategory values When merchantReturnDays becomes required applicableCountry vs. returnPolicyCountry — the property everyone confuses Recommended enrichment properties Seasonal overrides for holiday windows Organization level vs. Offer level: which to use Is MerchantReturnPolicy required for Product rich results? The precedence hierarchy — the real differentiator Do you even need markup? Merchant Center and Search Console alternatives Recent changes: the 2024–2025 timeline How Bing handles this — spoiler, it doesn't specifically Common mistakes and Search Console warnings Where this fits AI summary Official documentation Quotes from the source Where should I define my return policy? MerchantReturnPolicy — cheat sheet MerchantReturnPolicy (schema.org/MerchantReturnPolicy) is the structured-data type that describes a return policy — window, fees, methods, refund type, and conditions — nested under Organization (site-wide default) or Offer (per-product override) v","passages":["TL;DR — MerchantReturnPolicy is a bit of code that tells Google your return policy — how many days customers have to return something, who pays return shipping, and what refund they get.","You don't put it on a page by itself; you attach it to your business or to a specific product using a property called .","It can make your return details show up right in search results, but it isn't required to get a product listing, and it won't make you rank higher.","What it is When shoppers are deciding whether to buy, the return policy is one of the first things they check.","MerchantReturnPolicy is structured data — a small block of machine readable code — that spells out your return policy so Google can read it: the return window, the fees, how customers return things, and what refund they get.","When Google can read it clearly, it can show that information right in the product's search listing and in knowledge panels, so people don't have to click through to a policy page to find out.","It's part of the broader structured data family the schema.org vocabulary, usually written in a format called JSON LD .","If you've read about or schema for ecommerce pages, this is the piece that describes returns ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/merchantreturnpolicy-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/merchantreturnpolicy-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"The Meta Charset Tag","desc":"What <meta charset=\"utf-8\"> does, why the HTML spec wants it in the first 1024 bytes, how a wrong encoding causes mojibake, and why it's a rendering-correctness issue rather than a ranking factor.","snippetText":"The meta charset tag — <meta charset=\"utf-8\"> — declares your page's character encoding so browsers and crawlers turn raw bytes into the right characters. The HTML spec requires it within the first 1024 bytes of the document, and best practice is the literal first child of <head>. Get it wrong (missing, late, or a mismatched encoding) and you get mojibake: accented letters, curly quotes, em dashes, non-Latin scripts, and emoji render as garbage — which can corrupt what's displayed and indexed. It is NOT a direct ranking factor; Google's only guidance is to 'use Unicode/UTF-8 where possible.' U","href":"/technical-seo/on-page/meta-tags/meta-charset/","slug":"meta-charset","meta":"Educational","aliases":["meta charset","meta charset tag","charset utf-8","character encoding tag","meta charset=utf-8"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"meta-charset technical-seo on-page character-encoding utf-8 mojibake The meta charset tag — <meta charset=\"utf-8\"> — declares your page's character encoding so browsers and crawlers turn raw bytes into the right characters. The HTML spec requires it within the first 1024 bytes of the document, and best practice is the literal first child of <head>. Get it wrong (missing, late, or a mismatched encoding) and you get mojibake: accented letters, curly quotes, em dashes, non-Latin scripts, and emoji render as garbage — which can corrupt what's displayed and indexed. It is NOT a direct ranking factor; Google's only guidance is to 'use Unicode/UTF-8 where possible.' UTF-8 is the near-universal, spec-required encoding for HTML5 today. A server-sent Content-Type header charset overrides the in-page tag, which is a common source of migration bugs. This is one of the browser-facing tags in the meta-tags cluster. What the tag does What goes wrong without it Where to put it Does it affect SEO? Check the declared encoding from the command line Inspect the response before debugging the markup Validate a charset fix What the tag is The spec requirements you actually need to know BOM, HTTP header, meta tag — the precedence order Is meta charset an SEO ranking factor? How to check and fix it Where this sits AI summary Official documentation Quotes from the source Meta charset audit — checklist Meta charset cheat sheet Test yourself: The Meta Charset Tag TL;DR — The meta charset tag is one line of HTML — — that tells the browser how to read your page's text. Get it wrong or leave it out and special characters accents, curly quotes, emoji can turn into garbled nonsense. It doesn't help you rank, but broken looking text is bad for everyone, including Google. Put it first in your and use . Done. What the tag does Every web page is stored as raw bytes. Those bytes only become the letters you read once something decides which character each byte or group of bytes represents. The meta charset tag is how your page tells the browser — and search engine crawlers — which system to use: is the encoding you want in almost every case. It can represent essentially every character and script in use today, plus emoji, all in one system. What goes wrong without it If you don't declare an encoding, the browser has to guess . When it guesses wrong, you get mojibake — garbled text where a curly a","passages":["TL;DR — The meta charset tag is one line of HTML — — that tells the browser how to read your page's text.","Get it wrong or leave it out and special characters accents, curly quotes, emoji can turn into garbled nonsense.","It doesn't help you rank, but broken looking text is bad for everyone, including Google.","Those bytes only become the letters you read once something decides which character each byte or group of bytes represents.","The meta charset tag is how your page tells the browser — and search engine crawlers — which system to use: is the encoding you want in almost every case.","It can represent essentially every character and script in use today, plus emoji, all in one system.","What goes wrong without it If you don't declare an encoding, the browser has to guess .","When it guesses wrong, you get mojibake — garbled text where a curly apostrophe becomes something like , or shows up as ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-charset/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-charset/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"The Meta Keywords Tag (Deprecated)","desc":"The meta keywords tag has been dead for Google ranking since 2009, and Bing has never used it as a ranking booster either. Here's the citation trail, the Bing spam-signal nuance, and why you should still remove a populated one.","snippetText":"The meta keywords tag — <meta name=\"keywords\" content=\"...\"> — is a mid-1990s HTML head element that let a page declare its own topic keywords. It's been dead as a Google ranking signal since a public 2009 confirmation (Matt Cutts), and Google's current docs still list it under 'Unsupported tags and attributes' with 'no effect on indexing and ranking at all.' Bing never used it as a positive ranking booster either — by 2014 it called the tag 'dead in terms of SEO value' — but Bing has historically treated an obviously stuffed keywords tag as a spam signal, not a ranking factor. The tag died be","href":"/technical-seo/on-page/meta-tags/meta-keywords/","slug":"meta-keywords","meta":"Educational","aliases":["Meta Keywords","meta-keywords","meta keywords","meta keywords tag","meta name keywords","keywords meta tag","does Google use meta keywords","Meta keywords tag","Meta tags","Meta description","Keyword stuffing"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"meta-keywords technical-seo on-page meta-tags keyword-stuffing deprecated The meta keywords tag — <meta name=\"keywords\" content=\"...\"> — is a mid-1990s HTML head element that let a page declare its own topic keywords. It's been dead as a Google ranking signal since a public 2009 confirmation (Matt Cutts), and Google's current docs still list it under 'Unsupported tags and attributes' with 'no effect on indexing and ranking at all.' Bing never used it as a positive ranking booster either — by 2014 it called the tag 'dead in terms of SEO value' — but Bing has historically treated an obviously stuffed keywords tag as a spam signal, not a ranking factor. The tag died because it was invisible to visitors and became a magnet for keyword stuffing. Yandex and Baidu guidance has been less absolute, so the accurate claim is 'not used by Google or Bing for ranking,' not 'unused by all search everywhere.' The real 2026 reason to remove a populated tag isn't ranking — it's that a stuffed one is plainly visible via view-source and hands competitors and scraping/AI tools a free readout of your target keywords. WordPress plugins moved on years ago: Yoast removed the feature in v6.3; Rank Math excludes it by default. What the meta keywords tag is Does it still do anything? No. Should you remove one you already have? The thing people get wrong What it is, and where it came from Does Google use the meta keywords tag? No — and its own current docs say so Why did Google stop using it? Keyword stuffing Does Bing use the meta keywords tag? What about other search engines? Yandex, Baidu Should you remove the meta keywords tag in 2026? Myths worth naming Where this sits in the meta tags cluster AI summary Official documentation Quotes from the source Should I do anything about the meta keywords tag? Anti patterns to avoid Test yourself: The Meta Keywords Tag Deprecated Resources worth your time The meta keywords tag — <meta name=\"keywords\" content=\"...\"> — is a mid-1990s HTML head element meant to let a page declare its own topic keywords to search engines. Google has publicly ignored it for ranking since 2009, and no major search engine uses it as a ranking signal today. It's dead as SEO, and a populated one only leaks your target keywords to anyone who views your source. TL;DR — The meta keywords tag is a line of HTML where you list keywords for a page — . It's dead . Google ignor","passages":["TL;DR — The meta keywords tag is a line of HTML where you list keywords for a page — .","Google ignores it completely and has since 2009, and Bing has never used it as a ranking booster either.","If you find one on your site, you can just delete it — and honestly you probably should, because it broadcasts your keyword list to anyone who peeks at your page source.","What the meta keywords tag is The meta keywords tag lives in the of a page, where visitors never see it, and it looks like this: The idea, back in the mid 1990s, was simple: you'd tell the search engine what your page was about by listing your keywords directly, and it would use that to decide when to show your page.","Here's the whole story in one sentence: Google stopped using the meta keywords tag as a ranking signal, and said so publicly in 2009.","It's not a \"use it in moderation\" situation — Google's own documentation today says the tag has \"no effect on indexing and ranking at all.\" Bing doesn't use it to rank you either.","So if a tutorial, an old audit, or an agency from years ago told you to \"fill in your meta keywords,\" you can stop.","Removing it won't change your rankings on Google one way or the other — but it can only help."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-keywords/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-keywords/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Mobile Usability","desc":"What mobile usability means for SEO — legible text, tap targets, viewport fit, no intrusive interstitials — why Google retired its report, and how to test it today.","snippetText":"Mobile usability is whether a page is easy to use on a phone: text you can read without zooming, tap targets big and spaced enough to hit reliably, content that fits the viewport with no horizontal scroll, and no intrusive interstitials. Google retired its dedicated Search Console Mobile Usability report, Mobile-Friendly Test tool, and API on December 1, 2023 — not because the signals stopped mattering, but because Lighthouse and other tooling matured and mobile-first indexing was effectively complete. Any guide still telling you to open that report or that tool is stale. Check mobile usabilit","href":"/technical-seo/mobile-seo/mobile-usability/","slug":"mobile-usability","meta":"Educational","aliases":["mobile-usability","mobile usability","mobile-friendly","mobile friendliness","mobile usability report","mobile-friendly test","Mobile Usability","mobile-seo","mobile-first-indexing","interstitials","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"mobile-usability mobile-seo technical-seo tap-targets viewport page-experience Mobile usability is whether a page is easy to use on a phone: text you can read without zooming, tap targets big and spaced enough to hit reliably, content that fits the viewport with no horizontal scroll, and no intrusive interstitials. Google retired its dedicated Search Console Mobile Usability report, Mobile-Friendly Test tool, and API on December 1, 2023 — not because the signals stopped mattering, but because Lighthouse and other tooling matured and mobile-first indexing was effectively complete. Any guide still telling you to open that report or that tool is stale. Check mobile usability today with Lighthouse, PageSpeed Insights, Chrome DevTools device emulation, Bing's still-live Mobile Friendliness Test, and third-party crawlers. It's distinct from mobile-first indexing (which version Google indexes) and Core Web Vitals (loading/interactivity/stability). What mobile usability is Why it matters \"Wait, where did the Mobile Usability report go?\" How to check it now Don't confuse it with two similar things The definition, precisely Signal 1: legible text Signal 2: tap targets Signal 3: content sized to the viewport Signal 4: no intrusive interstitials What happened to the Mobile Usability report? How to check mobile usability today Mobile usability vs. mobile first indexing vs. Core Web Vitals Does mobile usability affect rankings? Where this sits in the mobile seo cluster AI summary Official documentation Quotes from the source The report's gone — how do I check mobile usability now? Mobile usability checklist The mental models Mobile usability — cheat sheet SOP: audit a page's mobile usability post report era Mobile usability anti patterns Whether a page is easy to use on a mobile/touch device — legible text without zooming, tap targets sized and spaced to avoid mis-taps, content that fits the viewport with no horizontal scrolling, and no intrusive interstitials. Distinct from mobile-first indexing and Core Web Vitals. TL;DR — Mobile usability is whether your page is easy to use on a phone : text you can read without pinching to zoom, buttons big enough to tap without hitting the wrong one, content that fits the screen with no sideways scrolling, and no full screen popups blocking the content. Google used to have a report that flagged these problems for you — it retired it ","passages":["TL;DR — Mobile usability is whether your page is easy to use on a phone : text you can read without pinching to zoom, buttons big enough to tap without hitting the wrong one, content that fits the screen with no sideways scrolling, and no full screen popups blocking the content.","Google used to have a report that flagged these problems for you — it retired it in December 2023 — but the things it checked still matter.","What mobile usability is Mobile usability is exactly what it sounds like: how usable your page is when someone opens it on a phone.","Not how fast it loads, not whether Google indexes it — just whether a real person on a small touchscreen can read it, tap it, and get where they're going without fighting the layout.","If someone has to zoom in to read your paragraphs, the text is too small.","No horizontal scrolling — the page should fit the width of the phone.","A full screen ad or newsletter overlay that covers the page the moment you arrive is a usability problem and can hurt you in search .","Why it matters Most people search on their phones, so a page that's frustrating on mobile is frustrating for most of your visitors."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/mobile-seo/mobile-usability/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/mobile-usability/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Model Context Protocol (MCP)","desc":"What MCP is, how AI agents use it to retrieve and interact with content at runtime, why it matters for SEO as agentic AI becomes a content distribution channel, and how to expose your content via MCP.","snippetText":"MCP (Model Context Protocol) is an open standard Anthropic created and open-sourced in November 2024 for connecting AI applications to external tools and data at runtime. It runs on a host–client–server architecture with three server primitives — tools, resources, and prompts — and it's the plumbing behind 'agentic' AI. Don't confuse it with llms.txt (a static, one-way file that points to pages) or with plain function calling (a model capability): MCP is the cross-vendor protocol that standardizes how tools and data get discovered and called across many apps and servers. OpenAI adopted it in M","href":"/ai-search/optimization/model-context-protocol/","slug":"model-context-protocol","meta":"Educational","aliases":["model-context-protocol","model context protocol","MCP","MCP server","MCP for SEO","MCP vs llms.txt","Model Context Protocol (MCP)","llms-txt","agentic-search"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"model-context-protocol mcp ai-search agentic-seo ai-agents anthropic MCP (Model Context Protocol) is an open standard Anthropic created and open-sourced in November 2024 for connecting AI applications to external tools and data at runtime. It runs on a host–client–server architecture with three server primitives — tools, resources, and prompts — and it's the plumbing behind 'agentic' AI. Don't confuse it with llms.txt (a static, one-way file that points to pages) or with plain function calling (a model capability): MCP is the cross-vendor protocol that standardizes how tools and data get discovered and called across many apps and servers. OpenAI adopted it in March 2025, and Anthropic donated it to the Linux Foundation's Agentic AI Foundation in December 2025. There is no Google or Bing 'MCP for SEO' guidance — exposing an MCP server makes your data usable by agents doing tasks, which is different from search or AI-answer visibility. It also carries real, unresolved prompt-injection and tool-poisoning risks. What MCP is, in one sentence Why it matters right now The part people get confused about The problem MCP solves The architecture: host, client, server The three server primitives MCP vs llms.txt vs function calling vs WebMCP A brief timeline Is MCP a Google or Bing ranking factor? How MCP shows up in SEO and marketing workflows Security: real, unresolved risks Common myths Where this sits in the AI search picture AI summary Official documentation Quotes from the source MCP server review checklist MCP at a glance — cheat sheet The mental models MCP mistakes to avoid Calling MCP a ranking factor Giving a server broad credentials by default Trusting tool descriptions as safe instructions Hiding consequential writes behind vague tool names MCP is an open protocol, created and open-sourced by Anthropic in November 2024, that standardizes how AI applications connect to external tools and data at runtime. It runs on a host–client–server architecture and lets agents call functions, read data, and take actions — the opposite of a static file like llms.txt. TL;DR — MCP Model Context Protocol is a standard way for AI apps like Claude or ChatGPT to plug into outside tools and data — your files, a database, a search API — so an AI agent can actually use them. Its creators call it \"a USB C port for AI applications.\" It's not the same as llms.txt a static file that jus","passages":["TL;DR — MCP Model Context Protocol is a standard way for AI apps like Claude or ChatGPT to plug into outside tools and data — your files, a database, a search API — so an AI agent can actually use them.","Its creators call it \"a USB C port for AI applications.\" It's not the same as llms.txt a static file that just lists pages , and it isn't a Google ranking factor.","What MCP is, in one sentence Model Context Protocol is an open protocol for connecting AI applications to external data sources and tools.","Its architecture defines hosts, clients, and servers plus server primitives including resources, prompts, and tools.","The Model Context Protocol is an open standard that lets AI applications connect to external tools and data sources through one common plug, instead of a custom integration for every combination.","Anthropic — the company behind Claude — created it and released it as open source in November 2024.","The analogy everyone uses including Anthropic is a USB C port for AI .","MCP is trying to be the one connector that any AI app and any tool or data source can agree on."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/ai-search/optimization/model-context-protocol/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/model-context-protocol/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Multiple H1 Tags: Does It Hurt SEO?","desc":"Does having more than one H1 tag hurt your SEO? Google's John Mueller says no — and the HTML spec allows multiple sibling h1s. The catch is what the 2022 spec change actually changed, and why accessibility, not ranking, is the real reason to keep one clear H1.","snippetText":"Multiple H1 tags don't hurt your Google rankings — John Mueller has said so directly and repeatedly since 2019, calling it 'not a critical issue,' and no Google statement through 2026 has walked that back. HTML5 (2014) made multiple sibling <h1> elements explicitly conforming, ending the HTML4/XHTML-strict 'exactly one H1' rule. The one modern non-conforming case is *nesting* h1s inside nested sectioning elements — the old outline-algorithm pattern — which was removed from the WHATWG spec in July 2022 because no browser ever implemented it. 'Harmless for Google' isn't 'zero downside,' though: ","href":"/technical-seo/on-page/header-tags/multiple-h1/","slug":"multiple-h1","meta":"Educational","aliases":["multiple-h1","multiple H1 tags","multiple H1s","more than one H1","two H1 tags","duplicate H1","Multiple H1 Tags","h1","header-tags","title-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","header-tags"],"text":"multiple-h1 h1 header-tags heading-tags on-page-seo html accessibility Multiple H1 tags don't hurt your Google rankings — John Mueller has said so directly and repeatedly since 2019, calling it 'not a critical issue,' and no Google statement through 2026 has walked that back. HTML5 (2014) made multiple sibling <h1> elements explicitly conforming, ending the HTML4/XHTML-strict 'exactly one H1' rule. The one modern non-conforming case is *nesting* h1s inside nested sectioning elements — the old outline-algorithm pattern — which was removed from the WHATWG spec in July 2022 because no browser ever implemented it. 'Harmless for Google' isn't 'zero downside,' though: Bing's (dated) position is that extra H1s 'diminish the value' of the tag, and screen readers announce every H1 as top-level, so several can genuinely confuse heading-based navigation. Roughly half of all sites (51.3% in my million-domain study) have multiple H1s somewhere — this is a common, largely benign template pattern, not a catastrophe. Fix it for accessibility and tidiness, not because Google penalizes the count. What \"multiple H1 tags\" means The short answer: no So why does my tool flag it? The one real reason to still care Inventory every H1 and its context What we're actually asking Does Google penalize multiple H1 tags? Is this still true in 2026? Did HTML5 actually change the rule, or is that an urban legend? Act 1 — the HTML4/XHTML strict era: \"one H1\" was a convention, not really a hard rule Act 2 — HTML5 2014 : multiple sibling H1s become explicitly conforming Act 3 — July 2022: the outline algorithm is removed because no browser ever built it What that leaves you with today What about Bing? If it doesn't hurt rankings, why do accessibility experts still say to avoid it? So should you fix a page with multiple H1s? How common is this, really? The bottom line AI summary Official documentation Quotes from the source Should I fix my multiple H1 tags? Multiple H1 anti patterns Multiple H1s — cheat sheet When a single web page contains more than one <h1> element. The HTML standard permits non-nested sibling h1s, and Google treats multiple h1s as a low-priority ranking concern — but nested h1 patterns are non-conforming, and one clear h1 is still the accessibility default. TL;DR — Having more than one tag on a page does not hurt your Google rankings. Google has said this plainly and repeated","passages":["TL;DR — Having more than one tag on a page does not hurt your Google rankings.","The one thing worth knowing: multiple H1s can make a page slightly harder for screen reader users to navigate, so one clear main heading is still a good default — just not for the reason most people think.","What \"multiple H1 tags\" means An is the HTML tag for the main heading of a page.","\"Multiple H1 tags\" just means a page has more than one of them.","The classic example: a website template wraps the logo in the header in an , and then also wraps the article's actual title in a second .","Now you've got two — usually without anyone deciding that on purpose.","If you want the basics of what an H1 is and how it fits under H2s and H3s, the H1 tag article covers that.","This page is about one specific question people panic over: does having two or more H1s hurt my SEO?"],"updated":"2026-07-13T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/header-tags/multiple-h1/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/header-tags/multiple-h1/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Nesting Schema Markup (@id and @graph)","desc":"The deep-dive on connecting JSON-LD entities with @id and @graph — stable identifiers, the two canonical node patterns (WebSite→Article→Author, Product→Offer→Organization), the three mistakes that break the graph, and the honest limits of what Google's docs confirm.","snippetText":"Nesting connects your JSON-LD entities instead of dumping them as disconnected blocks. @id is a stable, unique URI (usually a canonical URL plus a #fragment) that names an entity so other entities can reference it — an Article's author pointing at a Person node, a Product's Offer pointing at an Organization/seller — rather than re-declaring the full entity everywhere. @graph is a keyword that bundles those connected entities into one script block. Google's docs confirm both nesting and individual items work, and that @id is how you tell Google two items are linked, but they never confirm wheth","href":"/technical-seo/on-page/structured-data/nested-schema/","slug":"nested-schema","meta":"Educational","aliases":["nested-schema","nested schema","nesting schema markup","schema @id","json-ld @graph","@id vs url schema","Nested Schema Markup (@id and @graph)","schema-markup","structured-data","json-ld"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"structured-data schema-markup json-ld nested-schema at-id at-graph entities Nesting connects your JSON-LD entities instead of dumping them as disconnected blocks. @id is a stable, unique URI (usually a canonical URL plus a #fragment) that names an entity so other entities can reference it — an Article's author pointing at a Person node, a Product's Offer pointing at an Organization/seller — rather than re-declaring the full entity everywhere. @graph is a keyword that bundles those connected entities into one script block. Google's docs confirm both nesting and individual items work, and that @id is how you tell Google two items are linked, but they never confirm whether @id resolves across pages — so the safe default is consistent @id values plus the complete entity graph on every page that needs it. Two patterns to learn: WebSite → WebPage → Article → Author for publishing, Product → Offer → Organization for ecommerce. Three ways it breaks or costs you: inconsistent/non-unique @id values, orphaned references (an @id cited but never declared — a semantic gap, not invalid JSON-LD), and duplicating a full entity's declaration everywhere instead of referencing it (a maintenance trap; same-entity repeats merge rather than literally break, but a genuinely conflicting reused @id is a real break). It's an entity-understanding tool, not a ranking or rich-result lever by itself. The problem nesting solves — a name you give an entity — putting connected entities together The thing to get right Audit a JSON LD graph without inventing entities Find orphaned and duplicate IDs in rendered JSON LD Scope: this is the deep dive, not the intro — a stable identifier, not a fetchable URL — bundling connected entities into one block Why nest at all — and what Google actually says Pattern 1 — WebSite → WebPage → Article → Author Pattern 2 — Product → Offer → Organization seller The three mistakes that break the graph 1. Inconsistent or non unique values 2. Orphaned references 3. Duplicate full declarations of the same entity The unresolved question: does resolve across pages? How to validate nested schema Myths worth killing Where this sits AI summary Official documentation Quotes from the source Nested schema — cheat sheet Nesting schema markup with @id and @graph is the practice of connecting multiple JSON-LD entities into one linked graph instead of declaring each in isolation","passages":["TL;DR — Nesting is how you connect your schema markup instead of leaving it as a pile of disconnected blocks.","is a unique name usually your page URL plus a you give an entity — your organization, an author — so other entities can point at it instead of repeating all its details.","The payoff: declare your organization once, reference it everywhere, and don't copy paste the same block onto every page.","The problem nesting solves Say your site has an — a name, a logo, links to your social profiles.","Without nesting, you end up writing out your full organization details — name, logo, every social link — inside every single post's markup.","Change your logo, and now you have to update it in forty places.","You declare the organization once , give it a stable name, and everywhere else you just reference that name.","This assumes you already know what schema markup and JSON LD are — if you don't, start with the structured data hub /technical seo/on page/structured data/ first, then come back here."],"updated":"2026-07-21T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/nested-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/nested-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Noarchive","desc":"Google's current documentation lists noarchive under historical and unused rules — it's ignored on Search. Bing still uses it to control Chat/Copilot answer inclusion and AI-training opt-out. Syntax, the 2024 Google timeline, and when it still matters.","snippetText":"Noarchive is a robots meta directive (`<meta name=\"robots\" content=\"noarchive\">`) that once removed Google's 'Cached' link. Google's current documentation lists `noarchive` under 'historical and other unused rules' and says it's ignored, because the cached-link feature no longer exists (retired Feb 2024; the `cache:` operator followed by Sept 2024). Google's Search Liaison said in 2024 the rule would still be respected, but Google's own current docs say otherwise — treat it as inert on Google today, not a quietly-honored control. It's not access control either, and can't stop scraping, browser","href":"/technical-seo/on-page/meta-tags/noarchive/","slug":"noarchive","meta":"Educational","aliases":["Noarchive","noarchive","noarchive tag","noarchive meta tag","noarchive directive","meta-robots","nosnippet-data-nosnippet","noindex","x-robots-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"noarchive technical-seo meta-tags robots-meta-tag x-robots-tag bing Noarchive is a robots meta directive (`<meta name=\"robots\" content=\"noarchive\">`) that once removed Google's 'Cached' link. Google's current documentation lists `noarchive` under 'historical and other unused rules' and says it's ignored, because the cached-link feature no longer exists (retired Feb 2024; the `cache:` operator followed by Sept 2024). Google's Search Liaison said in 2024 the rule would still be respected, but Google's own current docs say otherwise — treat it as inert on Google today, not a quietly-honored control. It's not access control either, and can't stop scraping, browser/CDN caching, screenshots, or third-party archiving. The real reason to still add it is Bing: since September 2023, `noarchive` opts your content out of Bing Chat/Copilot answers and Microsoft's AI training, while `nocache` is a lighter-touch variant. It's distinct from `noindex` (removes the page from results) and `nosnippet` (hides the preview snippet). Use the `X-Robots-Tag: noarchive` header for non-HTML files. What noarchive does The big change: Google removed cached pages Why you might still want it What it is not Misuses and stale assumptions Pick the directive that matches the outcome What noarchive is — a serving directive, not an index control The X Robots Tag header — for PDFs and other non HTML files Why noarchive does nothing on Google anymore What Sullivan said in 2024 — and what Google's current docs say now noarchive vs noindex vs nosnippet vs max snippet Where noarchive still earns its keep: Bing and AI When to still use noarchive in 2026 Myths worth clearing up Where noarchive fits with everything else AI summary Official documentation Quotes from the source Test yourself: Noarchive Noarchive is a robots meta directive that tells search engines not to keep a cached copy of a page. Google's current documentation lists it under historical and unused rules and says it's ignored, because the cached-link feature it once controlled no longer exists — but on Bing it still controls whether content is used in Bing Chat/Copilot answers and AI training. It is not an access-control measure. TL;DR — is a small tag you can add to a page that tells search engines not to keep a saved \"cached\" copy of it. Google used to show a Cached link next to results — it removed that feature in 2024, so on Google ","passages":["TL;DR — is a small tag you can add to a page that tells search engines not to keep a saved \"cached\" copy of it.","Google used to show a Cached link next to results — it removed that feature in 2024, so on Google the tag now does nothing you can see.","It still has a real job on Bing, though: it tells Bing not to use your content in its AI chat answers or to train its AI.","What noarchive does When you look at a search result, engines used to offer a cached copy — a saved snapshot of the page you could open if the live page was slow or down.","It's one of the \"robots\" directives — the same family as and that I cover across the meta tags hub.","The big change: Google removed cached pages Here's the thing most write ups get wrong.","In February 2024 , Google removed the \"Cached\" link from its search results entirely, and by September 2024 it also shut off the old search operator.","Because the cached feature itself is gone, no longer has anything to hide on Google — there's no cached link for it to remove anymore."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/noarchive/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/noarchive/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"OfferShippingDetails Schema","desc":"How to implement schema.org/OfferShippingDetails — shippingRate, shippingDestination, and deliveryTime — after Google's November 2025 restructure that made it the per-product override of an org-level ShippingService default. Includes the precedence stack, the silent-failure trap, and working JSON-LD.","snippetText":"OfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship (shippingRate, a MonetaryAmount), where it ships (shippingDestination, a DefinedRegion), and how long delivery takes (deliveryTime, which is handlingTime + transitTime). As of November 2025 it's one half of a two-tier system: Google now recommends declaring a catalog-wide default once at the organization level with ShippingService (Organization.hasShippingService), and using OfferShippingDetails under a specific Offer only as the per-product override —","href":"/technical-seo/on-page/structured-data/commerce/offershippingdetails-schema/","slug":"offershippingdetails-schema","meta":"Educational","aliases":["offershippingdetails-schema","OfferShippingDetails","OfferShippingDetails schema","shippingDetails schema","shipping structured data","ShippingService schema","OfferShippingDetails Schema","structured-data","schema-markup","product-schema","commerce-schema","google-merchant-center"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","commerce"],"text":"offershippingdetails-schema structured-data schema-org json-ld shipping ecommerce-seo OfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship (shippingRate, a MonetaryAmount), where it ships (shippingDestination, a DefinedRegion), and how long delivery takes (deliveryTime, which is handlingTime + transitTime). As of November 2025 it's one half of a two-tier system: Google now recommends declaring a catalog-wide default once at the organization level with ShippingService (Organization.hasShippingService), and using OfferShippingDetails under a specific Offer only as the per-product override — the same org-level/offer-level split it already used for MerchantReturnPolicy. Two things trip people up. First, 'author your default at the org level' and 'product-level markup outranks org-level markup in a conflict' are both true — they're different questions. Second, the silent-failure trap: markup can validate perfectly in the Rich Results Test while being fully overridden by a Merchant Center feed value or a Search Console shipping setting, with no error until an eventual listing rejection. shippingDetails is recommended, not required, for Product rich results, but shipping info of some form is required for free listings in ~30 countries. And like all structured data, it's eligibility, not a ranking factor. What OfferShippingDetails is The three things it describes The big change in late 2025 Two honest cautions What OfferShippingDetails actually is The November 2025 restructure: OfferShippingDetails vs. ShippingService The properties, one by one deliveryTime = handlingTime + transitTime Is it required? Multiple options and Google's tie break logic Precedence: what wins when sources conflict The silent failure trap Google vs. Bing Does it help rankings? \"Is schema dying?\" — a quick disambiguation Where this sits AI summary Official documentation Quotes from the source Which shipping type should I use? OfferShippingDetails — cheat sheet Working JSON LD Mistakes and myths Common shipping markup issues OfferShippingDetails (schema.org/OfferShippingDetails) is structured data nested inside an Offer that tells Google what a product costs to ship, where it ships to, and how long delivery takes. As of November 2025, Google positions it as the per-product override of an organization-wid","passages":["TL;DR — OfferShippingDetails is a small block of code you add to a product's markup that tells Google three things: what it costs to ship, where it ships to, and how long it takes.","Google can then show that shipping line right in the search result.","As of late 2025 there are two places to put shipping info — one at the store level a single default for your whole catalog and one at the product level this type, for products that differ — and OfferShippingDetails is the product level one.","What OfferShippingDetails is When someone looks at a product page, they can read the shipping cost and the \"arrives in 3–5 days\" line just by looking.","Google reads it and can show a shipping cost or delivery estimate line in your search listing, especially in Shopping style results.","The three things it describes OfferShippingDetails bundles three ideas: How much — the shipping cost .","Where to — the destination it applies to, like a country or a postal code range .","How long — the delivery time , which is really two numbers added together: how long your warehouse takes to send it out handling time plus how long the carrier takes to deliver it transit time ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/offershippingdetails-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/offershippingdetails-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"On-Page SEO Checklist","desc":"A prioritized on-page SEO checklist tying together the elements you control on a page — title tags, content, headings, internal links, meta descriptions, images, and structured data. What actually moves rankings, what's just eligibility or CTR, and which myths to ignore.","snippetText":"On-page SEO is the set of per-page elements you directly control — title tag, content, headings, internal links, meta description, images, and structured data — as opposed to technical infrastructure (crawling/indexing) or off-page signals (links/authority). This is the cluster-level checklist: it prioritizes those elements into tiers and hands off to the deep dives rather than re-explaining them. The single highest-leverage thing is genuinely helpful content that matches intent — Google says it influences your presence 'more than any of the other suggestions.' Sort the rest by what it actuall","href":"/technical-seo/on-page/on-page-seo-checklist/","slug":"on-page-seo-checklist","meta":"Educational","aliases":["on-page SEO","on-page SEO checklist","on-page optimization","on-page factors","page optimization","optimize a page","page seo","seo page checklist"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page"],"text":"on-page-seo technical-seo title-tags content internal-links structured-data On-page SEO is the set of per-page elements you directly control — title tag, content, headings, internal links, meta description, images, and structured data — as opposed to technical infrastructure (crawling/indexing) or off-page signals (links/authority). This is the cluster-level checklist: it prioritizes those elements into tiers and hands off to the deep dives rather than re-explaining them. The single highest-leverage thing is genuinely helpful content that matches intent — Google says it influences your presence 'more than any of the other suggestions.' Sort the rest by what it actually does: title tags and internal links are real ranking factors; meta descriptions move click-through, not rankings; structured data buys rich-result eligibility, not a ranking boost; H1 count and keyword density are myths to stop chasing. What on page SEO is How to use this checklist The things people get wrong What \"on page\" actually covers Tier 1 — foundational real ranking impact, do these everywhere Tier 2 — high value, but not mostly ranking factors Tier 3 — supporting signals Myths to stop chasing A note on Bing Where to go next AI summary Official documentation Quotes from the source The on page SEO checklist The intent → evidence → clarity framework On page SEO mistakes to avoid Test yourself: On Page SEO TL;DR — On page SEO is everything on the page itself that you control — the title, the content, the headings, the links, the images. The biggest win by far is writing genuinely helpful content that answers what the searcher wanted. After that, get a clear, descriptive title tag, one obvious main heading, and links to and from the page. Most of the rest is polish. Don't waste time on \"ideal keyword density\" or counting H1s — those aren't real. What on page SEO is On page SEO is the practice of optimizing the parts of a page you directly control: the title tag, the body content, the headings, internal links, images, the meta description, and structured data. It's one of three buckets: On page SEO — the page itself this checklist . Technical SEO — whether search engines can crawl, render, and index your site at all. Off page SEO — signals from outside your site, mostly backlinks. This article is the checklist that ties the on page pieces together and points you to a full deep dive for each","passages":["TL;DR — On page SEO is everything on the page itself that you control — the title, the content, the headings, the links, the images.","The biggest win by far is writing genuinely helpful content that answers what the searcher wanted.","After that, get a clear, descriptive title tag, one obvious main heading, and links to and from the page.","Don't waste time on \"ideal keyword density\" or counting H1s — those aren't real.","What on page SEO is On page SEO is the practice of optimizing the parts of a page you directly control: the title tag, the body content, the headings, internal links, images, the meta description, and structured data.","It's one of three buckets: On page SEO — the page itself this checklist .","Technical SEO — whether search engines can crawl, render, and index your site at all.","Off page SEO — signals from outside your site, mostly backlinks."],"updated":"2026-07-15T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/on-page-seo-checklist/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/on-page-seo-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Open Graph Tags: Not a Ranking Factor, Still an SEO Deliverable","desc":"What Open Graph tags are, why they're not a Google ranking factor, what Google actually does with og:title/og:image/og:site_name, documented per-platform og:image sizing, per-platform fallback and caching behavior, and how to force a re-scrape.","snippetText":"Open Graph (OG) tags are <meta> elements in your head, from the Open Graph protocol (ogp.me, built by Facebook), that describe your page as a shareable object. The four required properties are og:title, og:type, og:image, og:url; add og:description, og:site_name, og:locale, and og:image:alt. Their main job is the link preview card people see when your URL is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, and iMessage — so they're a CTR lever, not a ranking factor. But Google does read them: og:title is listed among the sources it can use for the SERP title link (added Aug 2024), og:im","href":"/technical-seo/on-page/meta-tags/open-graph/","slug":"open-graph","meta":"Educational","aliases":["open-graph","open graph","open graph tags","og tags","og:image","og:title","open graph protocol","Open Graph","meta-tags","title-tag","meta-description"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"open-graph technical-seo on-page meta-tags og-image social-sharing Open Graph (OG) tags are <meta> elements in your head, from the Open Graph protocol (ogp.me, built by Facebook), that describe your page as a shareable object. The four required properties are og:title, og:type, og:image, og:url; add og:description, og:site_name, og:locale, and og:image:alt. Their main job is the link preview card people see when your URL is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, and iMessage — so they're a CTR lever, not a ranking factor. But Google does read them: og:title is listed among the sources it can use for the SERP title link (added Aug 2024), og:image is one documented input to Google's automated image-thumbnail selection for Search and Discover, and og:site_name is a lower-priority input to the site name shown in results — none of this is a guarantee your value gets used as-is. Practical spine: og:image needs an absolute URL and a documented alt description; each platform publishes its own size guidance (LinkedIn: 1200×627 min, 1.91:1; Google Discover: at least 1200px wide, 16:9) rather than one universal figure, though 1200×630 (1.91:1) is the long-standing cross-platform convention; missing tags cause an uncontrolled (not blank) preview; every platform caches the scrape, so editing tags doesn't fix already-shared links — force a re-scrape with the Facebook Sharing Debugger or LinkedIn Post Inspector. Most social crawlers don't run JavaScript, so the tags must be in the server-rendered HTML. What Open Graph tags are Do they help you rank? The image size to remember The one thing everyone trips on What Open Graph tags actually are The core Open Graph tags, one by one Are Open Graph tags a ranking factor? No — but here's what Google does with them og:title as a title link source og:image as an image thumbnail source og:site name as a site name source How social platforms and chat apps use OG tags Recommended og:image size and format What happens when Open Graph tags are missing Why your updated OG tags aren't showing up — caching and re scraping Implementation gotchas: JavaScript, byte limits, absolute URLs Bing, Microsoft, and Open Graph Common Open Graph myths, debunked Where to go next AI summary Official documentation Quotes from the source \"My shared link looks wrong\" — a triage tree Open Graph cheat sheet Open Graph implementation checklist ","passages":["TL;DR — Open Graph OG tags are little bits of HTML in the head of your page that decide how your link looks when someone shares it — the title, blurb, and image in that preview card you see on Facebook, LinkedIn, Slack, Discord, WhatsApp, or in an iMessage.","But if you skip them, the platforms guess — and the guess is usually worse than what you'd have chosen.","What Open Graph tags are When you paste a link into a chat app or a social post and it turns into a neat little card — a headline, a short description, and a big image — that card is built from Open Graph tags .","They're tags that live in your page's , where visitors never see them but the apps that build the preview do.","The system comes from the Open Graph protocol , a spec Facebook created you can read it at ogp.me https://ogp.me/ .","The idea was to let any web page act like a rich \"object\" that social platforms could display consistently.","Here are the ones you actually set: og:title — the headline on the card.","og:image — the big thumbnail this is the one that makes the card eye catching ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/open-graph/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/open-graph/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"OpenCart SEO","desc":"How SEO works on OpenCart — the self-hosted, open-source ecommerce platform that ships with SEO mostly off by default. What core actually handles (canonical tags, a default robots.txt, meta fields), what needs a switch flipped (SEO URLs plus the .htaccess rename), what changed between OpenCart 3 and 4 (the sitemap regression), and what's missing entirely (structured data and hreflang).","snippetText":"OpenCart is a self-hosted, open-source PHP ecommerce platform, and unlike Shopify or BigCommerce it ships with SEO mostly off by default. Friendly URLs need two steps — a Use SEO URL toggle AND renaming .htaccess.txt to .htaccess — or you get 404s. Per-entity SEO keywords are manual, blank-by-default fields. Canonical tags ARE native (verified in source) and already handle the multi-category duplicate-product problem, which most guides get wrong. The XML sitemap is version-dependent: OpenCart 3 shipped one, OpenCart 4 removed it and needs an extension. Structured data and hreflang are absent f","href":"/technical-seo/platform-seo/ecommerce-platforms/opencart-seo/","slug":"opencart-seo","meta":"Educational","aliases":["opencart-seo","OpenCart SEO","OpenCart","OpenCart store","SEO URL","OpenCart 4","canonicalization","faceted-navigation","xml-sitemaps"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"opencart ecommerce-seo seo-urls canonicalization structured-data hreflang robots-txt sitemap http-status OpenCart is a self-hosted, open-source PHP ecommerce platform, and unlike Shopify or BigCommerce it ships with SEO mostly off by default. Friendly URLs need two steps — a Use SEO URL toggle AND renaming .htaccess.txt to .htaccess — or you get 404s. Per-entity SEO keywords are manual, blank-by-default fields. Canonical tags ARE native (verified in source) and already handle the multi-category duplicate-product problem, which most guides get wrong. The XML sitemap is version-dependent: OpenCart 3 shipped one, OpenCart 4 removed it and needs an extension. Structured data and hreflang are absent from core entirely — a bigger native gap than WooCommerce, Shopify, or BigCommerce. What \"OpenCart SEO\" means What OpenCart does — and doesn't — do for you The thing most people get wrong The frame: what's native, what's a switch, what's an extension Enabling SEO URLs — the two step gotcha SEO keywords — the manual, blank by default field Canonical tags — native, and the myth worth correcting XML sitemap — the OpenCart 3 to 4 regression nobody mentions robots.txt — a static default that needs a manual review Meta tags — store level fallback plus per entity fields Structured data — absent from core, full stop Multi language and hreflang — a switcher, not hreflang tags Headless and the API — flexibility, but SEO becomes your problem The native blog CMS → Articles OpenCart vs the hosted platforms — the honest version AI summary Official documentation Quotes from the source OpenCart specific SEO audit checklist The mental models OpenCart SEO cheat sheet Tools for OpenCart SEO Resources worth your time OpenCart SEO mistakes worth preventing OpenCart SEO is the technical and configuration work needed to make a store built on OpenCart — a free, open-source, self-hosted PHP ecommerce platform — visible in search. Unlike SaaS platforms, OpenCart ships with SEO mostly turned off: friendly URLs, sitemaps, and structured data all require you to flip switches, rename a file, install extensions, or fill in fields the platform leaves empty by default. TL;DR — OpenCart is a free store platform you install on your own hosting not a subscription service like Shopify . It's powerful, but it ships with most SEO features turned off . The two things that trip everyone up: friendly URLs nee","passages":["TL;DR — OpenCart is a free store platform you install on your own hosting not a subscription service like Shopify .","It's powerful, but it ships with most SEO features turned off .","The two things that trip everyone up: friendly URLs need you to change a setting and rename a file, and OpenCart 4 doesn't build an XML sitemap for you the way OpenCart 3 did.","The good news is canonical tags — the behind the scenes tags that stop duplicate pages from competing — are already switched on.","What \"OpenCart SEO\" means OpenCart is a self hosted, open source ecommerce platform .","You download it for free and install it on your own web hosting, and you're responsible for the server, updates, and security.","That's the opposite of Shopify or BigCommerce, where a company hosts everything for you and turns on clean URLs and sitemaps from day one.","\"OpenCart SEO\" is just regular SEO — getting your products and categories found, crawled, indexed, and ranked — applied to a store that runs on OpenCart."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/opencart-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/opencart-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Redirect Chains","desc":"What a redirect chain is (A → B → C instead of A → C), why they happen after stacked migrations, how many hops Google actually follows (10 ceiling, ~5 per crawl attempt, ≤3–5 recommended), how to find them with curl and crawl tools, and the one-line fix.","snippetText":"A redirect chain is when a URL doesn't go straight to its final destination but passes through one or more intermediate redirects first — A → B → C instead of A → C, ending at the first non-redirect response (not necessarily a 200). Each extra hop adds latency and can delay how quickly Google fully consolidates signals on the destination. The numbers people quote aren't contradictory: 10 hops is the technical ceiling Googlebot will follow, and no more than 3/fewer than 5 is Google's practical recommendation — both from Google's current docs. John Mueller separately described roughly five hops ","href":"/technical-seo/http-status-codes/redirects/redirect-chains/","slug":"redirect-chains","meta":"Educational","aliases":["redirect-chain","redirect chain","redirect chains","chained redirects","Redirect chain","301 redirect","redirect loop"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"A redirect chain is when a URL doesn't go straight to its final destination but passes through one or more intermediate redirects first — A → B → C instead of A → C, ending at the first non-redirect response (not necessarily a 200). Each extra hop adds latency and can delay how quickly Google fully consolidates signals on the destination. The numbers people quote aren't contradictory: 10 hops is the technical ceiling Googlebot will follow, and no more than 3/fewer than 5 is Google's practical recommendation — both from Google's current docs. John Mueller separately described roughly five hops per crawl in 2014 and per crawl attempt in 2020; in 2014 he also said a later crawl could continue the remainder. Those are dated representative statements, not a current scheduling guarantee. My observation that Google often resumes longer chains, and my roughly five-hop triage threshold, are independent practitioner evidence. Chains are almost always the residue of stacked migrations, not incompetence. The cost is crawl latency, not per-hop PageRank loss. The fix never changes: point every redirect directly at the final live destination and update internal links, canonicals, and sitemaps that still point into the chain. What a redirect chain is Why it happens Does it hurt? The fix What counts as a chain and what doesn't Why chains happen in practice How many hops does Google actually follow? Why chains matter — and the myth they don't When to fix a chain — and when not to bother How to find redirect chains How to fix them AI summary Official documentation Quotes from the source Auditing for redirect chains — checklist Trace a redirect chain from the command line Site wide detection crawlers Common redirect chain symptoms HTTP → HTTPS → www or the reverse on every request Old URLs pass through several historical paths The chain returns after a CMS or plugin change A specific redirect is swallowed by a wildcard Prompt: prioritize a batch of redirect traces The redirect hop numbers, reconciled A → B → C instead of A → C. Each hop loses link equity and adds latency. {/ tool rule claim: redirects.chain resolution/article contract /} TL;DR — A redirect chain is when one URL redirects to another URL that also redirects, instead of going straight to the final page — A → B → C instead of A → C. Each extra step is called a \"hop.\" Chains mostly build up after site moves, they sl","passages":["{/ tool rule claim: redirects.chain resolution/article contract /} TL;DR — A redirect chain is when one URL redirects to another URL that also redirects, instead of going straight to the final page — A → B → C instead of A → C.","Each extra step is called a \"hop.\" Chains mostly build up after site moves, they slow things down a little for users and search engines, and the fix is always the same: make every redirect point directly at the final page, not at another redirect.","What a redirect chain is A redirect chain is multiple consecutive redirect responses before a final resource.","Google recommends redirecting directly to the final destination and may stop following overly long chains.","When you visit an old URL that has moved, your server sends a redirect — an HTTP response that says \"the page you asked for lives somewhere else now, go there instead.\" Normally that's one clean step: you ask for page A, you land on page B.","You ask for page A, which redirects to page B, which redirects to page C, which is the real page.","Why it happens Almost always because a site has moved more than once over the years.","Then it gets redirected again when you move from HTTP to HTTPS."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/redirect-chains/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/redirect-chains/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Redirect Loops","desc":"What redirect loops are, why they take a site down for users and crawlers, common causes (HTTPS/SSL-mode mismatches, www vs non-www conflicts, plugin vs server rules, trailing-slash bugs), and how to diagnose and fix them by cause.","snippetText":"A redirect loop is a chain of redirects that circles back on itself — A → B → A, or a longer cycle — so no page ever returns a 200. Browsers surface it as ERR_TOO_MANY_REDIRECTS; in Google Search Console it's one of four documented causes of the 'Redirect error' status. It's a site-outage problem first (real visitors are locked out) and an SEO problem second (Google can't index what it can't reach), and Patrick's framing is that it harms three parties: users, crawlers, and your own server. A well-documented cause is an HTTPS/SSL-mode mismatch between a CDN and the origin (e.g. Cloudflare on 'F","href":"/technical-seo/http-status-codes/redirects/redirect-loops/","slug":"redirect-loops","meta":"Educational","aliases":["redirect-loop","redirect loop","redirect loops","too many redirects","ERR_TOO_MANY_REDIRECTS","Redirect loop","redirect-chain","redirect-error"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"redirect-loops redirects technical-seo http-status-codes cloudflare wordpress A redirect loop is a chain of redirects that circles back on itself — A → B → A, or a longer cycle — so no page ever returns a 200. Browsers surface it as ERR_TOO_MANY_REDIRECTS; in Google Search Console it's one of four documented causes of the 'Redirect error' status. It's a site-outage problem first (real visitors are locked out) and an SEO problem second (Google can't index what it can't reach), and Patrick's framing is that it harms three parties: users, crawlers, and your own server. A well-documented cause is an HTTPS/SSL-mode mismatch between a CDN and the origin (e.g. Cloudflare on 'Flexible' while the origin forces HTTPS); other common causes are www/non-www rules pointing at each other, a plugin rule fighting a server rule, and trailing-slash bugs — no single cause is the universal or most common one across every site. A loop is not a hop-count problem — raising the redirect limit never fixes it. The fix is always specific to the cause: break the cycle, get the final URL to return the correct non-redirect response, and update internal links. What a redirect loop is Why this is urgent The quick things to check first A loop is a cycle, not a long chain How a loop shows up Why loops matter — three parties get hurt Common causes HTTP/HTTPS conflict between a CDN and the origin www / non www rules that redirect into each other A plugin/CDN rule conflicting with a server/origin rule Trailing slash vs no trailing slash logic bugs Leftover, stacked rules from a past migration How to diagnose a loop How to fix a loop A note on hop limits the myth to avoid A note on Bing Related concepts AI summary Official documentation Quotes from the source What's causing my redirect loop? Which fix do I apply once I've found the loop? Runbook: \"The page loops — ERR TOO MANY REDIRECTS — what do I do?\" The cycle, owner, and invariant framework A redirect loop is a chain of redirects that circles back on itself instead of ever reaching a live page — URL A redirects to B and B redirects back to A (or a longer cycle). No page ever returns a 200, so browsers show ERR_TOO_MANY_REDIRECTS and crawlers can't index anything. TL;DR — A redirect loop is when your redirects run in a circle: page A sends you to page B, and page B sends you right back to A. Nothing ever loads, so the browser gives up and show","passages":["TL;DR — A redirect loop is when your redirects run in a circle: page A sends you to page B, and page B sends you right back to A.","Nothing ever loads, so the browser gives up and shows \"too many redirects.\" It means your site is down for real visitors — fix it before you worry about anything else.","What a redirect loop is A redirect loop is a cycle in which redirect targets eventually return to an earlier URL instead of reaching a final resource.","Google lists loops as a redirect error that prevents successful processing.","Seeing the same URL come back around is a strong sign of a loop, but it's not automatic proof — things like being logged in, a locale/consent choice, or a cookie can occasionally make the same URL resolve differently the next time you hit it.","If you're not sure, retest the exact same URL the exact same way same login state, same cookies, same locale before concluding it's a real loop.","A redirect is a rule that sends a visitor from one address to another.","Normally that's fine — you move a page and redirect the old URL to the new one."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/redirect-loops/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/redirect-loops/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HTTP Redirects","desc":"What an HTTP redirect really is (a 3xx status plus a Location header), the 301/302/303/307/308 landscape, how to implement them, and redirect vs. canonical — the hub for the redirects subcluster.","snippetText":"A redirect is an HTTP response with a 3xx status code and a Location header that sends browsers and crawlers from an old URL to a new one. Google sorts them into two buckets: permanent (301/308) pass a strong canonicalization signal so ranking signals move forward; temporary (302/303/307) pass only a weak one. Within each bucket the codes differ by whether the HTTP method is preserved — 307/308 keep it, 301/302 may not. Implement them server-side (.htaccess/nginx), at the CDN/edge, or via a CMS plugin; JS and meta-refresh redirects are weaker because they depend on rendering. A redirect is not","href":"/technical-seo/http-status-codes/redirects/","slug":"redirects","meta":"Educational","aliases":["redirect","http redirects","redirect types","url redirect","Redirect","301-redirect","302-redirect","redirect-chain"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes"],"text":"A redirect is an HTTP response with a 3xx status code and a Location header that sends browsers and crawlers from an old URL to a new one. Google sorts them into two buckets: permanent (301/308) pass a strong canonicalization signal so ranking signals move forward; temporary (302/303/307) pass only a weak one. Within each bucket the codes differ by whether the HTTP method is preserved — 307/308 keep it, 301/302 may not. Implement them server-side (.htaccess/nginx), at the CDN/edge, or via a CMS plugin; JS and meta-refresh redirects are weaker because they depend on rendering. A redirect is not a canonical tag: redirect when only one URL should exist going forward, canonicalize when several must stay live. This hub maps the whole landscape and points you to the deep dives. What a redirect is The two that matter most How you set one up The thing people get wrong What a redirect actually is, at the protocol level Why redirects matter for SEO The redirect landscape: 301, 302, 303, 307, 308 How redirects affect crawling, indexing, and link equity Redirect chains and redirect loops How to implement redirects Redirect vs. canonical tag A note on Bing Where to go next: the redirects subcluster AI summary Official documentation Quotes from the source Redirect implementation checklist The redirect types, side by side Resources worth your time Redirect or canonical? Use the survival test Redirect when the source URL should stop serving its own content Canonicalize when multiple URLs must remain accessible No relevant replacement exists Do not send conflicting instructions A redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. TL;DR — A redirect sends anyone who requests an old URL to a new one instead. The most common kind is a 301 \"moved permanently\" , which tells Google to move the old page's ranking signals to the new URL. A 302 is \"temporary.\" Get the permanent vs temporary choice right and pick real server level redirects over JavaScript ones, and you've covered 90% of what matters. What a redirect is HTTP redirects use 3xx responses an","passages":["TL;DR — A redirect sends anyone who requests an old URL to a new one instead.","The most common kind is a 301 \"moved permanently\" , which tells Google to move the old page's ranking signals to the new URL.","A 302 is \"temporary.\" Get the permanent vs temporary choice right and pick real server level redirects over JavaScript ones, and you've covered 90% of what matters.","What a redirect is HTTP redirects use 3xx responses and a Location field to direct a client to another URI.","Google treats permanent redirects as strong canonical signals but does not guarantee destination indexing.","When a page moves, you don't want visitors or Google to hit a dead end at the old address.","A redirect is the instruction that forwards them to the new one automatically.","Someone clicks the old link, and the server quietly hands them the new page instead."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"rel=\"alternate\": What It Does and When to Use It","desc":"rel=\"alternate\" is one HTML link relation with several unrelated SEO jobs — hreflang language variants, RSS/Atom feed discovery, and legacy mobile/AMP alternates. Which job you're doing decides which attributes belong next to it, and which of these still matter in 2026.","snippetText":"rel=\"alternate\" is a general-purpose HTML link relation with several unconnected SEO jobs, and the attribute next to it decides which job: hreflang for language/region variants (the one that matters most today), type=\"application/rss+xml\" for RSS/Atom feed autodiscovery, and media for a separate mobile URL (legacy). A close cousin, rel=\"amphtml\", points to an AMP page. Three of these four — hreflang, mobile-alternate, and AMP — need the relationship declared from both ends (reciprocal pairing); RSS/Atom feed autodiscovery is the exception and works one-way, no return link required. None of the","href":"/technical-seo/on-page/meta-tags/rel-alternate/","slug":"rel-alternate","meta":"Educational","aliases":["rel-alternate","rel=alternate","rel alternate","link rel alternate","rel=\"alternate\"","hreflang","meta-tags","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"rel-alternate meta-tags technical-seo on-page hreflang amp rel=\"alternate\" is a general-purpose HTML link relation with several unconnected SEO jobs, and the attribute next to it decides which job: hreflang for language/region variants (the one that matters most today), type=\"application/rss+xml\" for RSS/Atom feed autodiscovery, and media for a separate mobile URL (legacy). A close cousin, rel=\"amphtml\", points to an AMP page. Three of these four — hreflang, mobile-alternate, and AMP — need the relationship declared from both ends (reciprocal pairing); RSS/Atom feed autodiscovery is the exception and works one-way, no return link required. None of them is a ranking lever or a guarantee that a page gets crawled, indexed, or consolidated: hreflang routes the right variant to the right searcher, feed links aid discovery, and AMP lost its special treatment in 2021 (Google ended cache-served AMP pages in Search on July 1, 2026). Think of rel=\"alternate\" as a routing/consolidation hint that says \"these different URLs are intentional relatives, not accidental duplicates\" — not a directive search engines must follow. What is The one you'll actually use: hreflang The thing to understand What actually is The four SEO uses and one close cousin 1. Hreflang — language/region alternates current, most important 2. RSS/Atom feed autodiscovery current, niche 3. Mobile alternate separate mobile URLs — legacy 4. AMP's — a related but distinct tag Which of these still matter in 2026 The throughline: reciprocal pairing Common mistakes Bing and other engines Where this sits AI summary Official documentation Quotes from the source Which do I need — or do I need one at all? cheat sheet What not to do with Reciprocal pairing checklist Confirm your change actually took effect Hreflang reciprocity after adding tags Hreflang markup generation before you ship it rel=\"alternate\" is a value of the HTML link rel attribute that declares another version of the current document. Its exact meaning depends on the attribute paired with it: hreflang for a language/region variant, type for an RSS/Atom feed, or media for a separate mobile URL. It's a routing and consolidation signal, not a ranking lever. TL;DR — is a line of HTML that says \"here's another version of this page.\" It doesn't do just one thing — what it means depends on what's next to it. Next to , it points to a page in another langua","passages":["TL;DR — is a line of HTML that says \"here's another version of this page.\" It doesn't do just one thing — what it means depends on what's next to it.","None of these makes you rank higher — they just tell search engines these URLs are intentional relatives , not accidental duplicates.","What is If you've ever opened a page's source code or run an SEO audit and seen something like in the , you've met this tag.","It's a way of telling browsers and search engines: \"there is another version of this document somewhere.\" The confusing part — and the reason it trips people up — is that it doesn't have one meaning.","The same can mean completely different things depending on which other attribute sits next to it: Next to → \"here's the same page in another language or for another country.\" Next to → \"here's this page's RSS feed.\" Next to → \"here's a separate mobile version of this page\" an old pattern you'll mostly see on legacy sites .","The one you'll actually use: hreflang For most sites, the only version of that matters is the hreflang one — used to connect the English, Spanish, French, etc.","versions of a page so Google shows the right one to the right searcher.","That has its own full guide on this site it's a big topic with strict rules , so this article stays at the \"what is this tag and what are all its jobs\" level and points you there for the deep dive."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/rel-alternate/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/rel-alternate/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Resource Hints","desc":"How preload, preconnect, dns-prefetch, and prefetch resource hints speed up page loads and improve Core Web Vitals, and when to use each one.","snippetText":"Resource hints (dns-prefetch, preconnect, preload, prefetch) tell the browser to do network work — DNS lookups, connection setup, or fetching — earlier than it otherwise would. dns-prefetch is cheapest (DNS only); preconnect does the full DNS+TCP+TLS handshake; preload is a mandatory fetch for a late-discovered resource the current page needs (like an LCP image or a font in CSS) — but its default priority still depends on the resource type, not automatically \"high\" (fetchpriority is a separate hint for that); prefetch is a low-priority speculative fetch for a future page. The big failure mode ","href":"/technical-seo/web-performance/resource-hints/","slug":"resource-hints","meta":"Educational","aliases":["resource-hints","resource hints","preload","preconnect","dns-prefetch","prefetch","rel=preload","rel=preconnect","Resource Hints","core-web-vitals","lcp","render-blocking-resources"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"resource-hints technical-seo web-performance core-web-vitals preload preconnect Resource hints (dns-prefetch, preconnect, preload, prefetch) tell the browser to do network work — DNS lookups, connection setup, or fetching — earlier than it otherwise would. dns-prefetch is cheapest (DNS only); preconnect does the full DNS+TCP+TLS handshake; preload is a mandatory fetch for a late-discovered resource the current page needs (like an LCP image or a font in CSS) — but its default priority still depends on the resource type, not automatically \"high\" (fetchpriority is a separate hint for that); prefetch is a low-priority speculative fetch for a future page. The big failure mode is overuse — preload everything and you've prioritized nothing. And be honest about SEO: per Gary Illyes (Feb 2026), these hints don't help Googlebot crawl or index faster; their value is entirely on the real-user side, which flows into Core Web Vitals, one of several signals Google's ranking systems use — good scores don't guarantee top rankings. What resource hints are The golden rule: don't overdo it Do these help my Google rankings? A spectrum of browser \"cost\" dns prefetch preconnect preload modulepreload prefetch Preload vs. prefetch vs. preconnect vs. dns prefetch Resource hints and Core Web Vitals Do resource hints help Google crawl or index my site? Delivering hints over HTTP: the Link header and 103 Early Hints Common mistakes How to test and audit AI summary Official documentation Quotes from the source Resource hints — cheat sheet Resource hint myths and mistakes Before / after Audit a proposed resource hint Prioritize candidates from a waterfall Remove stale hints safely Resource hints are <link> elements (or equivalent HTTP Link headers) that tell the browser to do network work — DNS lookups, connection setup, or fetching a resource — earlier than it would discover the need on its own. The main ones are dns-prefetch, preconnect, preload, modulepreload, and prefetch. TL;DR — Resource hints tell the browser to start some network work early — before it would normally figure out it needs to. There are four: dns prefetch look up a domain's address early , preconnect open a connection early , preload fetch something the current page needs now, like your big hero image , and prefetch quietly grab something the next page will probably need . Used sparingly they speed up your page. Used","passages":["TL;DR — Resource hints tell the browser to start some network work early — before it would normally figure out it needs to.","There are four: dns prefetch look up a domain's address early , preconnect open a connection early , preload fetch something the current page needs now, like your big hero image , and prefetch quietly grab something the next page will probably need .","What resource hints are When a browser loads your page, it discovers what it needs as it goes.","It reads the HTML, finds a CSS file, downloads it, parses it, and only then realizes there's a font or a background image it has to fetch.","They're little instructions you put in the page or in the server's response that say: start this now, don't wait to discover it.","Four of them do most of the work: — \"look up this domain's address ahead of time.\" Cheapest, smallest head start.","— \"actually open the connection to this domain ahead of time\" address lookup plus the secure handshake .","Bigger head start, more work for the browser, so use it only for the connections that really matter."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/web-performance/resource-hints/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/resource-hints/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Responsive Web Design","desc":"What responsive design is, why Google recommends it over dynamic serving or separate mobile URLs, how the viewport meta tag makes it work, and the ranking myth.","snippetText":"Responsive web design serves the same HTML on the same URL to every device and uses CSS media queries to adapt the layout to the viewport. It's Google's recommended mobile configuration — not because it ranks better (it doesn't; Google has said so outright) but because there's one URL and one set of HTML to crawl and index, which makes it the easiest to implement and maintain. It requires a correct viewport meta tag to work at all — without it, phones fake a desktop-width viewport and your media queries never fire. It contrasts with dynamic serving (same URL, different HTML via a Vary header) ","href":"/technical-seo/mobile-seo/responsive-design/","slug":"responsive-design","meta":"Educational","aliases":["responsive-design","responsive design","responsive web design","RWD","responsive site","Responsive Web Design","mobile-seo","mobile-first-indexing","dynamic-serving","viewport-meta-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"responsive-design technical-seo mobile-seo viewport media-queries mobile-first-indexing Responsive web design serves the same HTML on the same URL to every device and uses CSS media queries to adapt the layout to the viewport. It's Google's recommended mobile configuration — not because it ranks better (it doesn't; Google has said so outright) but because there's one URL and one set of HTML to crawl and index, which makes it the easiest to implement and maintain. It requires a correct viewport meta tag to work at all — without it, phones fake a desktop-width viewport and your media queries never fire. It contrasts with dynamic serving (same URL, different HTML via a Vary header) and separate URLs (m-dot). Responsive isn't automatically fast: layout adaptation is not performance, so Core Web Vitals still need separate attention. What responsive design is Why it's the recommended way The one line that makes it work The thing people get wrong The definition, precisely Why Google recommends it — simplicity, not a ranking edge Does responsive design directly improve rankings? No. How it works: the viewport meta tag is a prerequisite, not a nicety How it works: CSS media queries Responsive vs. dynamic serving vs. separate URLs Bing's angle: criteria, not architecture Responsive design and mobile first indexing post July 2024 Responsive ≠ automatically fast A little history AI summary Official documentation Quotes from the source Which mobile configuration should I use? Responsive design — cheat sheet Responsive design QA checklist Responsive design anti patterns Check a page for responsive readiness Test yourself: Responsive Design Resources worth your time A mobile configuration that serves the same HTML on the same URL to every device and uses CSS media queries to adapt the layout to the viewport. It's Google's recommended setup and requires a correct viewport meta tag to work. TL;DR — Responsive design means one website that reshapes itself to fit whatever screen it's on — phone, tablet, or laptop — using the same page and the same address for everyone. It's the setup Google recommends because it's the simplest to build and keep working. It needs one small line of code the viewport meta tag to work, and it does not magically make you rank higher. What responsive design is A responsive website is a single website that adapts its layout to the size of the screen.","passages":["TL;DR — Responsive design means one website that reshapes itself to fit whatever screen it's on — phone, tablet, or laptop — using the same page and the same address for everyone.","It's the setup Google recommends because it's the simplest to build and keep working.","It needs one small line of code the viewport meta tag to work, and it does not magically make you rank higher.","What responsive design is A responsive website is a single website that adapts its layout to the size of the screen.","Same page, same web address, whether you open it on a phone, a tablet, or a big desktop monitor — the columns rearrange, the images resize, the menu collapses, so it always looks right.","The alternative, older approaches split your site in two: a separate mobile website on its own address like , or a server that quietly hands phones and desktops different pages from the same address.","Why it's the recommended way Google recommends responsive design, and its reason is refreshingly plain: it's the easiest to build and maintain .","Because there's only one page, you only have one thing to keep correct."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/mobile-seo/responsive-design/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/responsive-design/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Responsive Images (srcset)","desc":"How to serve responsive images with the srcset and sizes attributes and the picture element, when to use each, and how responsive images fix LCP and CLS without being a direct ranking signal.","snippetText":"Responsive images let the browser (via srcset + sizes) or the author (via <picture>) serve the right-sized image per device. srcset/sizes is resolution switching (same image, browser picks — a suggestion); <picture> is art direction or format switching (author-dictated crops/formats — a command). Most sites only need srcset/sizes. This is not a direct ranking signal and it doesn't change what Google indexes — Google indexes the src URL — but it's the concrete fix Lighthouse recommends for oversized images (its \"Properly size images\" audit fails at a 4KiB gap) and, paired with explicit width/he","href":"/technical-seo/on-page/image-seo/responsive-images/","slug":"responsive-images","meta":"Educational","aliases":["responsive images","srcset","sizes attribute","picture element","resolution switching"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","image-seo"],"text":"responsive-images srcset sizes picture-element core-web-vitals lcp cls image-seo on-page-seo Responsive images let the browser (via srcset + sizes) or the author (via <picture>) serve the right-sized image per device. srcset/sizes is resolution switching (same image, browser picks — a suggestion); <picture> is art direction or format switching (author-dictated crops/formats — a command). Most sites only need srcset/sizes. This is not a direct ranking signal and it doesn't change what Google indexes — Google indexes the src URL — but it's the concrete fix Lighthouse recommends for oversized images (its \"Properly size images\" audit fails at a 4KiB gap) and, paired with explicit width/height, it's how you prevent CLS. Keep alt text identical and image URLs stable across breakpoints for mobile-first indexing. I reuse the exact srcset + width/height pattern from my Ahrefs CLS article. Nests under the Image SEO hub. What responsive images are The basic version Why bother the honest answer Two different jobs, one syntax family srcset and sizes — resolution switching w descriptors vs. x descriptors Why sizes matters and what happens if you skip it Worked example my reusable pattern The picture element — art direction and format switching When you actually need it The syntax and the fallback rule Does srcset help SEO? Direct vs. indirect Responsive images and LCP Don't lazy load the LCP image Responsive images and CLS Mobile first indexing implications What about Bing? Common mistakes Where this sits AI summary Official documentation Quotes from the source Copy paste responsive image patterns Which one do you actually need: srcset/sizes or picture? TL;DR — Responsive images let a browser load a right sized version of a picture instead of one giant file — a small one on a phone, a big one on a desktop. You do it with the and attributes on your tag list the sizes you have; the browser picks . This doesn't directly boost your rankings, but it makes pages faster and stops them from \"jumping\" as images load, and speed is something Google measures. What responsive images are A \"responsive\" image adapts to the device looking at it. Instead of sending the same huge photo to a phone and a desktop, you give the browser a few versions at different sizes and let it grab the one that fits. Phones get a small file; big screens get a big one. Less wasted data, faster pages. There a","passages":["TL;DR — Responsive images let a browser load a right sized version of a picture instead of one giant file — a small one on a phone, a big one on a desktop.","You do it with the and attributes on your tag list the sizes you have; the browser picks .","This doesn't directly boost your rankings, but it makes pages faster and stops them from \"jumping\" as images load, and speed is something Google measures.","What responsive images are A \"responsive\" image adapts to the device looking at it.","Instead of sending the same huge photo to a phone and a desktop, you give the browser a few versions at different sizes and let it grab the one that fits.","There are two ways to do this, and it's worth knowing which is which: + on — the common one.","The element — for when you want a genuinely different image at different sizes say, a wide crop on desktop and a tall, tight crop on mobile , or a modern file format with a fallback.","This is called art direction , and most sites don't need it."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/image-seo/responsive-images/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/responsive-images/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SaaS SEO Checklist","desc":"An SEO checklist for SaaS — product-led/free-tool pages, pricing and comparison pages, integration pages, docs SEO, JS rendering, and which funnel pages to noindex.","snippetText":"A SaaS SEO checklist is worth writing only if it covers what's actually different about SaaS: product-led/free-tool pages, pricing pages, comparison and 'alternative' pages, integration/marketplace pages at scale, documentation SEO (subdomain vs subfolder), the JavaScript rendering issues that plague SaaS marketing sites, and the trial/signup funnel pages that usually belong out of the index. Everything else — crawlability, canonicals, links — is normal SEO. There's no SaaS algorithm; the value is in itemizing SaaS's unique page-type and technical surface area rather than relabeling a generic ","href":"/saas-seo/saas-seo-checklist/","slug":"saas-seo-checklist","meta":"Educational","aliases":["SaaS SEO checklist","SaaS SEO audit","SEO checklist for SaaS","SaaS technical SEO checklist"],"pillar":"saas-seo","taxonomy":["saas-seo"],"text":"saas-seo product-led-seo javascript-seo technical-seo comparison-pages noindex A SaaS SEO checklist is worth writing only if it covers what's actually different about SaaS: product-led/free-tool pages, pricing pages, comparison and 'alternative' pages, integration/marketplace pages at scale, documentation SEO (subdomain vs subfolder), the JavaScript rendering issues that plague SaaS marketing sites, and the trial/signup funnel pages that usually belong out of the index. Everything else — crawlability, canonicals, links — is normal SEO. There's no SaaS algorithm; the value is in itemizing SaaS's unique page-type and technical surface area rather than relabeling a generic TOFU/MOFU/BOFU checklist. What a SaaS SEO checklist is for What actually earns the \"SaaS\" label on this checklist 1. Product led growth / free tool pages 2. Pricing pages 3. Comparison and \"alternative\" pages 4. Integration and marketplace pages 5. Documentation SEO — subdomain vs subfolder 6. JavaScript rendering and app shell issues 7. Trial, signup, and account pages — what to noindex 8. Programmatic page quality control cross cutting Fast discovery: sitemaps and IndexNow The one line version AI summary Official documentation Quotes from the source Should this SaaS page be indexed — and where should docs live? A. Should this page be in Google's index? B. Docs on a subdomain or a subfolder? The SaaS SEO checklist SaaS SEO — page type cheat sheet Tools for a SaaS SEO audit Common SaaS SEO audit failures The pricing page is indexed without prices A thank you or app page remains in search despite TL;DR — A SaaS SEO checklist is a repeatable review of the page types and technical setups that are specific to software companies: free tools, pricing pages, \"us vs them\" comparison pages, integration pages, help docs, and the JavaScript heavy marketing site. Google ranks a SaaS site with the exact same rules as any other site — so a good SaaS checklist skips the generic advice and focuses on the handful of things that are genuinely different about SaaS. What a SaaS SEO checklist is for Most \"SaaS SEO checklist\" articles are just a normal SEO checklist with the word \"SaaS\" pasted on top — crawlability, title tags, links, all the usual stuff. Those things matter, but they're the same for a bakery's website as they are for Slack. The parts that are actually different about SaaS are the page types and o","passages":["TL;DR — A SaaS SEO checklist is a repeatable review of the page types and technical setups that are specific to software companies: free tools, pricing pages, \"us vs them\" comparison pages, integration pages, help docs, and the JavaScript heavy marketing site.","Google ranks a SaaS site with the exact same rules as any other site — so a good SaaS checklist skips the generic advice and focuses on the handful of things that are genuinely different about SaaS.","What a SaaS SEO checklist is for Most \"SaaS SEO checklist\" articles are just a normal SEO checklist with the word \"SaaS\" pasted on top — crawlability, title tags, links, all the usual stuff.","Those things matter, but they're the same for a bakery's website as they are for Slack.","The parts that are actually different about SaaS are the page types and one technical pattern : Free tools and templates.","Software companies give away small free tools, calculators, or template libraries.","Done right, these rank in Google, earn links, and pull in exactly the people who'd use the paid product.","A pricing page is a real, high value page people search for \" product pricing\" — it should be findable in Google, not hidden."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/saas-seo/saas-seo-checklist/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/saas-seo/saas-seo-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Salesforce Commerce Cloud SEO","desc":"How SEO works on Salesforce Commerce Cloud (B2C Commerce / SFCC, formerly Demandware) — the strong native building blocks (Business-Manager-editable robots.txt, scheduled auto-sitemaps, rule-based meta tags, canonical-by-design master/variation products) and the parts you still have to build by hand (hreflang, faceted-nav URLs, schema, and headless crawlability on PWA Kit or Salesforce's newer Storefront Next framework).","snippetText":"Salesforce Commerce Cloud (B2C Commerce, formerly Demandware — SFCC for short) gives you strong native SEO building blocks: an editable per-site robots.txt in Business Manager, auto-generated XML sitemaps as a scheduled job, rule-based Meta Tag Rules for catalog-wide titles and descriptions, and a canonical-by-design master/variation product model that maps almost exactly onto Google's ProductGroup schema. What it leaves you is the work that actually decides rankings at enterprise scale: hreflang (no dedicated B2C admin feature — sitemap alternate URLs or custom link tags), faceted/refinement ","href":"/technical-seo/platform-seo/ecommerce-platforms/salesforce-commerce-cloud-seo/","slug":"salesforce-commerce-cloud-seo","meta":"Educational","aliases":["salesforce-commerce-cloud-seo","Salesforce Commerce Cloud SEO","Salesforce Commerce Cloud","SFCC","B2C Commerce","Demandware","PWA Kit","Storefront Next","Business Manager","faceted-navigation","canonicalization","hreflang","product-variant-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"salesforce-commerce-cloud sfcc demandware ecommerce-seo hreflang faceted-navigation pwa-kit storefront-next canonicalization Salesforce Commerce Cloud (B2C Commerce, formerly Demandware — SFCC for short) gives you strong native SEO building blocks: an editable per-site robots.txt in Business Manager, auto-generated XML sitemaps as a scheduled job, rule-based Meta Tag Rules for catalog-wide titles and descriptions, and a canonical-by-design master/variation product model that maps almost exactly onto Google's ProductGroup schema. What it leaves you is the work that actually decides rankings at enterprise scale: hreflang (no dedicated B2C admin feature — sitemap alternate URLs or custom link tags), faceted/refinement URLs (custom development), structured data (a template/developer job, not a toggle), and headless crawlability on PWA Kit or Salesforce's newer Storefront Next framework (SSR is necessary but not sufficient — test with ?__server_only on PWA Kit; confirm the equivalent on Storefront Next). Nothing works well without deliberate configuration; the platform isn't the limitation, unfamiliarity with it is. What \"Salesforce Commerce Cloud SEO\" means What SFCC gives you built in What you still have to do yourself The thing most people get wrong The frame: strong native tools, steep platform literacy The architecture fork that shapes everything: sites vs. locales URL structure: URL Rules vs. Hostname Aliases XML sitemaps Robots.txt Canonical URLs and the master/variation product model — the differentiating section Meta Tag Rules Redirects Structured data / schema — name the gap honestly Hreflang and multi site/locale architecture Faceted navigation / refinement URLs Headless SEO with PWA Kit and its successor, Storefront Next SFCC vs. the other platforms — the honest version AI summary Official documentation Quotes from the source Salesforce Commerce Cloud SFCC SEO checklist The mental models Salesforce Commerce Cloud SEO cheat sheet Salesforce Commerce Cloud SEO mistakes to avoid Salesforce Commerce Cloud SEO is the technical, on-page, and international work you do on a storefront built on Salesforce B2C Commerce (formerly Demandware, commonly SFCC) — an enterprise SaaS platform that ships strong native SEO building blocks (Business-Manager-editable robots.txt, scheduled auto-generated sitemaps, rule-based meta tags, canonical-by-design master/variation p","passages":["TL;DR — Salesforce Commerce Cloud you'll also see it called B2C Commerce, SFCC, or the old name Demandware is an enterprise hosted store platform.","It comes with a lot of solid SEO tools built in — you can edit your , it builds your sitemap automatically, it can write your page titles from a template, and it handles product variations colors, sizes in a search friendly way.","The catch is that these tools still require site specific configuration and rendered output testing by someone who knows the platform.","What \"Salesforce Commerce Cloud SEO\" means Salesforce Commerce Cloud is a hosted SaaS ecommerce platform aimed at big brands and retailers.","Salesforce hosts it, so you don't install it on your own server the way you would WordPress and WooCommerce.","Its official name is B2C Commerce , its old name was Demandware , and most people in the industry just say SFCC .","It plays in the same space as Shopify and BigCommerce, but a tier up in size, price, and complexity.","Nearly everything you configure — SEO included — happens in an admin console called Business Manager ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/salesforce-commerce-cloud-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/salesforce-commerce-cloud-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Schema & Rich Result Deprecations: The Full Timeline","desc":"The single running reference table for every Google schema and rich-result deprecation from 2023 to 2026 — HowTo, FAQ, the June 2025 batch, sitelinks searchbox — with exact dates, primary sources, and which types stayed valid.","snippetText":"This is the single running reference table for every Google schema and rich-result deprecation from 2023 to 2026: FAQ restricted to gov/health sites (Aug 2023) then fully removed (May 7, 2026); HowTo removed on desktop and mobile (Sep 14, 2023); the sitelinks searchbox discontinued (Nov 2024); and the June 12, 2025 batch — Course Info, Claim Review, Estimated Salary, Learning Video, Special Announcement, and Vehicle Listing removed on Sep 9, 2025, with Book Actions announced alongside them but explicitly kept. Every deprecation moves through a milestone chain (announcement, display removal, do","href":"/technical-seo/on-page/structured-data/schema-deprecations/","slug":"schema-deprecations","meta":"Educational","aliases":["schema-deprecations","schema deprecations","rich result deprecations","structured data removed","deprecated schema types","rich results timeline","Schema & Rich Result Deprecations","structured-data","schema-markup","rich-results"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"structured-data schema-markup rich-results deprecation faq-schema howto-schema technical-seo This is the single running reference table for every Google schema and rich-result deprecation from 2023 to 2026: FAQ restricted to gov/health sites (Aug 2023) then fully removed (May 7, 2026); HowTo removed on desktop and mobile (Sep 14, 2023); the sitelinks searchbox discontinued (Nov 2024); and the June 12, 2025 batch — Course Info, Claim Review, Estimated Salary, Learning Video, Special Announcement, and Vehicle Listing removed on Sep 9, 2025, with Book Actions announced alongside them but explicitly kept. Every deprecation moves through a milestone chain (announcement, display removal, documentation removal, tooling removal, API removal) that different writers conflate into one date, and in every case the schema.org type stays valid — 'still valid' and 'still visible' are different things, and Google says these are display changes, not ranking changes (though a lost rich result can still move clicks or impressions). Bing has announced no parallel cycle, though that's read from an absence of announcements rather than a stated Bing policy. What \"deprecated\" actually means here The short version of the timeline The thing most people get wrong The quick reference table The milestone chain — clear this up first 2023 — FAQ and HowTo get narrowed, then HowTo dies entirely November 2024 — the sitelinks searchbox is discontinued 2025 — the year of the batch removal April 2025 — Special Announcement gets an early, separate notice June 12, 2025 — seven types announced September 9, 2025 — six of the seven actually removed The Book Actions exception — announced, then explicitly kept Late 2025 / early 2026 — Practice Problem and the Dataset clarification May–June 2026 — FAQ rich results fully removed What Google says this does — and doesn't — mean Does Bing follow the same pattern? No. What to actually do with deprecated markup Where to go deeper AI summary Official documentation Quotes from the source Should I remove deprecated schema markup? Schema deprecations — cheat sheet Common mistakes with deprecated schema The ongoing, piecemeal process by which Google (almost always Google, not Bing) stops showing a visual search-result enhancement for a schema.org-marked-up feature — even though the underlying schema.org type usually stays valid, parseable markup. A deprecation mov","passages":["TL;DR — Over the last few years Google has quietly stopped showing several of the \"fancy\" search listings that structured data used to unlock — FAQ drop downs, HowTo steps, and a batch of others.","The confusing part: the markup itself is usually still valid .","\"Still valid\" and \"still visible\" are two different things, and mixing them up is the single most common mistake I see people make here.","What \"deprecated\" actually means here When people say a schema type was \"deprecated,\" they usually picture the code becoming invalid — like Google will throw an error if you keep it.","What actually happens is that Google stops showing the visual enhancement — the star ratings, the FAQ accordion, the recipe card — in its search results.","The underlying schema.org https://schema.org/ code stays perfectly valid.","Google even says it keeps reading that code \"for understanding.\" It just doesn't paint anything special on the results page anymore.","So a deprecated rich result means: your markup is fine, but nobody sees a special listing for it in Google anymore."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/schema-deprecations/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/schema-deprecations/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Common Structured Data Errors (and How to Fix Them)","desc":"The structured data errors Google's Rich Results Test and Search Console surface most — missing required fields, wrong value types, content mismatch, malformed JSON-LD, and deprecated types — and exactly how to debug each one.","snippetText":"Structured data errors split into two kinds: parsing errors that break the markup entirely (malformed JSON-LD — trailing commas, unescaped quotes, a missing colon or brace) and eligibility errors that parse fine but fail a rich-result rule (missing required property, wrong value type, a colliding/duplicate @id, or markup describing content not visible on the page). A missing required property or unparsable JSON blocks the rich result outright; a missing recommended property is only a warning — the rich result usually still shows, less richly. Content mismatch is the one error class with real t","href":"/technical-seo/on-page/structured-data/schema-errors/","slug":"schema-errors","meta":"Educational","aliases":["schema-errors","structured data errors","schema errors","schema markup errors","rich results errors","fix structured data","Structured Data Errors","structured-data","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"structured-data schema-errors rich-results-test json-ld search-console schema-markup Structured data errors split into two kinds: parsing errors that break the markup entirely (malformed JSON-LD — trailing commas, unescaped quotes, a missing colon or brace) and eligibility errors that parse fine but fail a rich-result rule (missing required property, wrong value type, a colliding/duplicate @id, or markup describing content not visible on the page). A missing required property or unparsable JSON blocks the rich result outright; a missing recommended property is only a warning — the rich result usually still shows, less richly. Content mismatch is the one error class with real teeth: it's a policy violation that can trigger a manual action, not just silent ineligibility. A distinct failure mode isn't an error at all — a deprecated/unsupported type (FAQ, removed by May 2026) is valid markup that just no longer earns a visual. Debug with three different tools: the Rich Results Test (Google eligibility + SERP preview, single URL), the Schema Markup Validator (schema.org syntax/vocabulary, any type), and Search Console's Rich result report (site-wide, sampled, over time) — a pass in one answers only that tool's own question. Fixing errors restores rich-result eligibility — structured data isn't a ranking factor, so a fix wins back a SERP visual, not a ranking. What a structured data error is Errors vs. warnings — do I have to fix this today? Where you'll see these errors The thing most people get wrong Errors vs. warnings — what actually blocks a rich result Malformed JSON LD — the \"unparsable\" errors How to debug: strip to an empty object, rebuild piece by piece Missing required fields and wrong value types Required vs. recommended again, but at the property level Type mismatches — string where a number, URL, or date is expected Duplicate values and entity confusion Nested property errors a missing inside Content mismatch — the policy violation error class Consequences: manual actions vs. silent ineligibility Using a deprecated or unsupported type Case study: FAQ rich results deprecated 2026 Other retired types How to tell if a type is still \"live\" How to actually debug — three different tools Rich Results Test — Google eligibility + SERP preview Schema Markup Validator — schema.org syntax, any type Search Console's Rich result report — site wide, sampled, over t","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — A structured data error means the schema markup on your page has a problem.","Either it's written wrong and the search engine can't read it at all, or it reads fine but is missing something Google needs to show the fancy result star ratings, product prices, breadcrumbs .","Fixing errors wins back that fancy result — it does not move you up in the rankings, because structured data isn't a ranking factor.","What a structured data error is Structured data also called schema markup is extra code you add to a page that tells search engines what your content means — \"this is the price,\" \"this is the author,\" \"this is the rating.\" When that code has a problem, you get a structured data error , and the reward it was supposed to earn — a richer, more eye catching search listing called a rich result — doesn't show up.","A typo like an extra comma or an unclosed quote can make the whole block unreadable.","The search engine can't even tell what you were trying to describe.","You left out something Google requires like a product image , or you put text where Google expected a number, or you marked up something that isn't actually visible on the page.","This distinction saves a lot of panic: An error means a required piece is missing or broken."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/schema-errors/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/schema-errors/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Semantic HTML for SEO","desc":"How semantic HTML elements (article, section, nav, header, main, aside) help search engines identify a page's main content — why it's not a ranking factor, and how to use each element correctly.","snippetText":"Semantic HTML uses elements like <main>, <article>, <section>, <nav>, <header>, and <aside> to describe what content is, not just how it looks. It is not a ranking factor — John Mueller calls it 'not a magical multiplier' and says <article> has 'no particular effect' in Search. What it does is help Google separate main content from boilerplate more reliably (Google's centerpiece annotation does this via NLP regardless of your markup, but clean semantics reduce the guesswork), help assistive tech, and help AI crawlers that don't render JavaScript. Bing's Fabrice Canel frames it more strongly as","href":"/technical-seo/on-page/html-seo/semantic-html/","slug":"semantic-html","meta":"Educational","aliases":["semantic-html","semantic HTML","semantic markup","semantic HTML elements","semantic HTML for SEO","Semantic HTML","structured-data","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","html-seo"],"text":"semantic-html on-page technical-seo html accessibility Semantic HTML uses elements like <main>, <article>, <section>, <nav>, <header>, and <aside> to describe what content is, not just how it looks. It is not a ranking factor — John Mueller calls it 'not a magical multiplier' and says <article> has 'no particular effect' in Search. What it does is help Google separate main content from boilerplate more reliably (Google's centerpiece annotation does this via NLP regardless of your markup, but clean semantics reduce the guesswork), help assistive tech, and help AI crawlers that don't render JavaScript. Bing's Fabrice Canel frames it more strongly as 'an advantage in SEO.' The same idea extends past landmarks: use <a href> for navigation and <button> for actions, real <table>s for tabular data, purpose-based alt text on images, and <details>/<summary> for native disclosure widgets — and don't rely on the old, never-implemented 'document outline algorithm' to imply heading levels through <section> nesting. Correct usage beats presence: one <main> per page, <article> for self-contained content, <section> for a themed group with a heading — not a <div> replacement. Don't confuse it with Semantic SEO (topical/entity strategy). What semantic HTML is The elements you'll actually use The thing most people get wrong What semantic HTML actually is Does semantic HTML actually help SEO? What Google says How it fits Google finding your main content What Bing says and why it differs The core semantic elements and how to use them correctly and vs the one everyone gets wrong Getting the landmark roles right and the outline myth Links vs. buttons — the action versus navigation test Tables are for tabular data, not layout Alt text depends on what the image is for Native disclosure widgets: and Common myths about semantic HTML and SEO Semantic HTML vs. Semantic SEO — don't confuse them Semantic HTML and AI/LLM crawlers How to audit and retrofit existing pages How this fits into the HTML SEO hub FAQs AI summary Official documentation Semantic HTML is the practice of using elements like <main>, <article>, <section>, <nav>, <header>, and <aside> to describe what content is, not just how it looks. It helps search engines and assistive tech identify a page's main content more reliably, but it isn't a ranking factor on its own. TL;DR — Semantic HTML means using tags that describe what","passages":["TL;DR — Semantic HTML means using tags that describe what content is — , , , — instead of wrapping everything in plain s.","It helps search engines and screen readers understand your page, but it is not a ranking factor.","The same rule applies past landmarks too: for links, for actions, for tabular data, real alt text on images.","Use the right tag for the job and you're most of the way there.","What semantic HTML is Every part of a web page is built from HTML elements.","Semantic HTML just means picking the element that matches what the content actually is , instead of using a generic wrapper for everything.","Compare these two versions of the same page structure: Both can look identical on screen — CSS handles the styling.","The difference is that the second version tells a machine a search engine, a screen reader, an AI crawler which part is the navigation, which is the main content, and which is a sidebar."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/html-seo/semantic-html/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/html-seo/semantic-html/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Semantic Triples","desc":"What semantic triples (subject–predicate–object) are, how they underpin the Knowledge Graph and linked data, and how structured data and entity optimization map onto the RDF triple model.","snippetText":"A semantic triple is a subject–predicate–object statement — the atomic unit of the RDF data model, a W3C standard that predates the AI-search hype by two decades. Chain triples together and you get a graph, which is what a knowledge graph is. The one connection worth internalizing: schema.org markup is literally a serialization of RDF triples, so JSON-LD, Microdata, and RDFa are three syntaxes for the same underlying facts. But neither Google nor Bing uses the term 'semantic triples' publicly, and no engine has confirmed a triples-specific ranking or AI-citation signal. The widely quoted HubSp","href":"/ai-search/optimization/semantic-triples/","slug":"semantic-triples","meta":"Educational","aliases":["semantic-triples","semantic triples","semantic triple","RDF triple","subject predicate object","subject-predicate-object","Semantic Triple","entity-seo","knowledge-graph-seo","structured-data"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"semantic-triples ai-search entities knowledge-graph structured-data rdf schema-org A semantic triple is a subject–predicate–object statement — the atomic unit of the RDF data model, a W3C standard that predates the AI-search hype by two decades. Chain triples together and you get a graph, which is what a knowledge graph is. The one connection worth internalizing: schema.org markup is literally a serialization of RDF triples, so JSON-LD, Microdata, and RDFa are three syntaxes for the same underlying facts. But neither Google nor Bing uses the term 'semantic triples' publicly, and no engine has confirmed a triples-specific ranking or AI-citation signal. The widely quoted HubSpot 642% number is real but came from a bundle of changes their own strategist declined to attribute to triples alone. The legitimate takeaway is small and old: clear, declarative sentences are easier for machines to parse into facts than hedged marketing prose. What a semantic triple is Why anyone in SEO is talking about it What you should actually do Where the term actually comes from: RDF and the semantic web How triples become knowledge graphs The one that matters for SEO: schema.org is RDF triples The AI search angle — and why the evidence is thinner than the headlines What Google and Bing have — and haven't — said Where this fits in the bigger picture AI summary Official documentation Quotes from the source The mental models What goes wrong Triples in three forms — same fact, three layers Prompts for working with semantic triples Semantic triples cheat sheet Tools for inspecting triples and entity graphs Test yourself: Semantic Triples Resources worth your time A semantic triple (or RDF triple) is a subject–predicate–object statement — the atomic unit of the RDF data model that knowledge graphs are built from (for example, \"Ahrefs — foundedIn — 2010\"). Schema.org markup is one practical way of expressing triples on a web page. TL;DR — A semantic triple is a fact written in three parts: a subject , a predicate , and an object — \"Ahrefs — was founded in — 2010.\" It's the smallest building block of a knowledge graph. You've probably heard it come up in AI search advice lately, but the concept itself is a decades old data standard, not a new trick. Writing clear, direct sentences helps machines pull facts out of your content — that's the real, modest takeaway. What a semantic triple is R","passages":["TL;DR — A semantic triple is a fact written in three parts: a subject , a predicate , and an object — \"Ahrefs — was founded in — 2010.\" It's the smallest building block of a knowledge graph.","You've probably heard it come up in AI search advice lately, but the concept itself is a decades old data standard, not a new trick.","Writing clear, direct sentences helps machines pull facts out of your content — that's the real, modest takeaway.","What a semantic triple is RDF represents information as subject predicate object triples.","Schema.org vocabulary can be expressed through structured data syntaxes such as JSON LD, RDFa, and Microdata, but adding triples does not guarantee a search feature.","A semantic triple is a single fact broken into three pieces: 1.","It reads almost exactly like a plain declarative sentence, because that's essentially what it is — a fact stated so simply that a computer can pick it apart into \"what,\" \"how related,\" and \"to what.\" The reason people call it a triple is that it always has these three slots.","Wikipedia describes a semantic triple as a sequence of three entities that codifies a statement in the form subject–predicate–object, with examples as plain as \"Bob is 35\" or \"Bob knows John.\" No jargon required to understand the idea."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/ai-search/optimization/semantic-triples/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/semantic-triples/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO A/B Testing","desc":"How to run controlled SEO experiments — split testing title tags, meta descriptions, structured data, and on-page changes — using time-series or split-URL approaches to measure causal impact.","snippetText":"SEO A/B testing measures whether a change actually moved organic search — not whether you think it did. You can't test SEO the way you test a landing page for conversions, because there's only one Googlebot: search engines index one version of a URL and there's no way to split searches for a query 50/50. So you randomize at the page level instead. Two real methods: split-URL/holdout testing (randomly split a large group of similar templated pages into control and variant, compare organic traffic) and time-series/causal-impact testing (forecast what the variant pages would have done without the","href":"/enterprise-seo/strategy-and-operations/seo-ab-testing/","slug":"seo-ab-testing","meta":"Educational","aliases":["seo-ab-testing","SEO A/B testing","SEO split testing","SEO split test","SEO experiment","SEO A/B Testing","enterprise-seo","b2b-seo","canonicalization"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","strategy-and-operations"],"text":"seo-ab-testing split-testing enterprise-seo measurement causal-impact experimentation SEO A/B testing measures whether a change actually moved organic search — not whether you think it did. You can't test SEO the way you test a landing page for conversions, because there's only one Googlebot: search engines index one version of a URL and there's no way to split searches for a query 50/50. So you randomize at the page level instead. Two real methods: split-URL/holdout testing (randomly split a large group of similar templated pages into control and variant, compare organic traffic) and time-series/causal-impact testing (forecast what the variant pages would have done without the change, using a control group as the baseline). Title tags, meta descriptions, structured data, internal links, and content are testable; backlinks aren't. You need enough pages and traffic to beat the noise (SearchPilot's practical floor is hundreds of same-template pages and ~30k+ organic sessions/month), tests usually run 2–6 weeks, and you don't stop early on a good-looking trend. Stay compliant per Google: canonical the variant URLs, use 302 not 301 if redirecting, no cloaking, and shut the test down when it's done. What SEO A/B testing is Why you can't test SEO like a normal A/B test How it actually works What you can and can't test Why CRO style A/B testing doesn't work for organic search The two real methodologies 1. Split URL / page group holdout testing 2. Time series / causal impact testing Tools in this space How much traffic and how many pages you need How long to run a test Controlling for seasonality and algorithm updates What you can — and can't — reliably test Staying compliant while you test Where this fits AI summary Official documentation Quotes from the source Should you run an SEO A/B test — and which kind? Common ways SEO tests go wrong SEO A/B test setup checklist Tools for SEO A/B testing Frameworks for designing an SEO test The treatment control outcome frame SEO A/B testing (SEO split testing) measures the causal impact of an on-page or technical change on organic search by comparing a variant group of pages against a control group of similar pages — using a split-URL/holdout design or a time-series (before/after with control) model, because search engines can't show two versions of the same URL to the same query at once. TL;DR — SEO A/B testing is how you p","passages":["TL;DR — SEO A/B testing is how you prove an SEO change worked instead of guessing.","You can't test SEO the way marketers test a landing page — there's only one Google, and it sees one version of your page.","So instead of splitting people into two groups, you split pages : change some pages, leave similar ones alone, and compare how each group does in search.","It tells you whether the change caused the difference, or whether it was just seasonality or luck.","What SEO A/B testing is When you change a title tag or add some content to a page, traffic goes up or down — but why ?","Without a way to separate your change from everything else happening, you're guessing.","SEO A/B testing also called SEO split testing is how you stop guessing.","You make a change to some of your pages, keep a similar set of pages unchanged as a comparison, and measure the difference in organic search traffic between the two groups."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/enterprise-seo/strategy-and-operations/seo-ab-testing/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/strategy-and-operations/seo-ab-testing/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO and Accessibility","desc":"Where web accessibility and SEO genuinely overlap (alt text, headings, link text, speed) and where they diverge — plus why Google says accessibility isn't a ranking factor.","snippetText":"Accessibility and SEO overlap, but they're not the same thing. Google's John Mueller has said accessibility is not a direct ranking factor — Google has no way to quantify it across sites. The real overlap is a short, checkable list: descriptive alt text, meaningful headings, descriptive link text instead of 'click here', captions/transcripts, readable contrast, and fast, stable pages. But a large share of WCAG's 86 success criteria — keyboard focus order, ARIA live regions, form-label association — have zero SEO value because no crawler tabs through your page. Do that work anyway: it's a legal","href":"/technical-seo/how-search-works/seo-accessibility/","slug":"seo-accessibility","meta":"Educational","aliases":["accessibility","web accessibility","SEO and accessibility","WCAG","accessible website","Accessibility (Web Accessibility)","alt-text","semantic-html","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works"],"text":"accessibility wcag technical-seo alt-text seo-accessibility Accessibility and SEO overlap, but they're not the same thing. Google's John Mueller has said accessibility is not a direct ranking factor — Google has no way to quantify it across sites. The real overlap is a short, checkable list: descriptive alt text, meaningful headings, descriptive link text instead of 'click here', captions/transcripts, readable contrast, and fast, stable pages. But a large share of WCAG's 86 success criteria — keyboard focus order, ARIA live regions, form-label association — have zero SEO value because no crawler tabs through your page. Do that work anyway: it's a legal and ethical obligation, not an SEO play. And ignore overlay widgets — the FTC fined AccessiBe $1M over its compliance claims. What accessibility is Do the two help each other? The thing most people get wrong Two disciplines, one Venn diagram Is accessibility a ranking factor? No — here's Google's actual statement Where they genuinely overlap Where they diverge — WCAG criteria with zero SEO value The overlay widget myth How Bing frames the adjacent practices The practical takeaway AI summary Official documentation Quotes from the source Myths and anti patterns Test yourself: SEO and Accessibility Before and after: the four genuine overlap fixes Alt text Heading structure Link text Form labels The overlap first accessibility + SEO checklist The mental models Accessibility + SEO overlap — quick reference Tools for finding accessibility and overlap issues Web accessibility means designing sites so people with disabilities can use them, per the W3C's WCAG guidelines. It overlaps with SEO in specific, checkable ways — alt text, heading structure, descriptive link text, captions, and page speed all serve both audiences — but Google has said accessibility itself is not a ranking factor, and most WCAG success criteria (keyboard focus order, ARIA live regions, form labels) have no SEO effect at all. TL;DR — Accessibility means building your site so people with disabilities can use it. It's not the same as SEO — Google has said accessibility isn't a ranking factor — but the two overlap. A handful of fixes real alt text, clear headings, descriptive links, captions, fast pages help both your users and search engines. A lot of accessibility work, though, has nothing to do with SEO at all — and you should still do it. What a","passages":["TL;DR — Accessibility means building your site so people with disabilities can use it.","It's not the same as SEO — Google has said accessibility isn't a ranking factor — but the two overlap.","A handful of fixes real alt text, clear headings, descriptive links, captions, fast pages help both your users and search engines.","A lot of accessibility work, though, has nothing to do with SEO at all — and you should still do it.","What accessibility is Web accessibility is the practice of building websites so people with disabilities — blind or low vision, deaf or hard of hearing, motor impaired, cognitively impaired — can actually use them.","Most of it is codified in the Web Content Accessibility Guidelines WCAG , a standard from the W3C the group that stewards the web's core standards .","Accessibility is about being usable by everyone once they get there.","They're two separate disciplines that happen to share some of the same good habits."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/how-search-works/seo-accessibility/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/seo-accessibility/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO Automation","desc":"What to automate in SEO (monitoring, reporting, audits, content briefs) vs. what not to, the tools and approaches enterprise teams use, and how to build scalable SEO workflows.","snippetText":"SEO automation is a spectrum, not a switch. Full automation runs a job with no human in the loop (scheduled audits, auto-applied redirects, IndexNow pings); human-in-the-loop automation does the first-pass work and hands you the decision (drafted briefs, suggested redirects, flagged issues). Enterprise teams automate monitoring/alerting, technical crawls, reporting dashboards, log analysis, content-brief generation, internal-link and schema suggestions, and redirect mapping for migrations. What stays human: final content quality and E-E-A-T judgment, strategic prioritization, and anything that","href":"/enterprise-seo/strategy-and-operations/seo-automation/","slug":"seo-automation","meta":"Educational","aliases":["seo-automation","SEO automation","automate SEO","SEO automation tools","SEO workflow automation","automated SEO","SEO Automation","enterprise-seo","b2b-seo","log-file-analysis"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","strategy-and-operations"],"text":"seo-automation enterprise-seo apis python reporting technical-seo SEO automation is a spectrum, not a switch. Full automation runs a job with no human in the loop (scheduled audits, auto-applied redirects, IndexNow pings); human-in-the-loop automation does the first-pass work and hands you the decision (drafted briefs, suggested redirects, flagged issues). Enterprise teams automate monitoring/alerting, technical crawls, reporting dashboards, log analysis, content-brief generation, internal-link and schema suggestions, and redirect mapping for migrations. What stays human: final content quality and E-E-A-T judgment, strategic prioritization, and anything that publishes without review. Google's Scaled Content Abuse policy is method-agnostic — it penalizes low-value pages at scale 'no matter how it's created,' not automation itself. Real constraints matter: the GSC URL Inspection API caps at 2,000 queries/day per site, and Bing has no bulk page-metrics endpoint. What SEO automation is What people automate What you shouldn't fully automate Automation is a spectrum, not a switch What enterprise teams commonly automate What should stay human reviewed Scripting approaches: Python, Sheets, and APIs No code and low code approaches The Indexing API myth and other traps Building a scalable workflow Making automation safe to run unattended AI summary Official documentation Quotes from the source Should you automate this task? The mental models SEO automation setup checklist Playbook: standing up SEO automation from scratch What not to do Practical snippets Regex / XPath extraction Chrome DevTools Console snippets Bookmarklet Python — threshold based redirect flagging SEO automation is the use of scripts, APIs, scheduled jobs, and no-code tools to run repetitive or data-heavy SEO tasks — monitoring, crawling, reporting, alerting, and content prep — without a human repeating the steps by hand. It sits on a spectrum from fully hands-off jobs to human-in-the-loop work a person reviews before anything ships. TL;DR — SEO automation means letting scripts, tools, and scheduled jobs do the repetitive SEO work — checking rankings, crawling for errors, pulling reports — so you don't have to do it by hand every time. It works on a spectrum: some jobs run completely on their own, and some just do the first pass and hand the decision back to a person. You can't automate everything — ","passages":["TL;DR — SEO automation means letting scripts, tools, and scheduled jobs do the repetitive SEO work — checking rankings, crawling for errors, pulling reports — so you don't have to do it by hand every time.","It works on a spectrum: some jobs run completely on their own, and some just do the first pass and hand the decision back to a person.","You can't automate everything — Google penalizes low value pages churned out at scale — but you can and should automate the boring, repetitive parts.","What SEO automation is SEO involves a lot of repetitive, data heavy work: checking whether your rankings moved, crawling your site to find broken links, pulling the same report every Monday, watching for pages that suddenly drop out of Google.","SEO automation is using scripts, tools, and scheduled jobs to do that work for you instead of clicking through the same steps by hand each time.","The easiest way to picture it is a spectrum: Full automation — a job runs entirely on its own.","A tool that pings search engines the moment you publish a page.","Human in the loop automation — a tool does the first pass, then a person decides."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/enterprise-seo/strategy-and-operations/seo-automation/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/strategy-and-operations/seo-automation/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO Checklists & Audits","desc":"Every SEO checklist and audit on this site in one place, grouped by what you're actually doing — a general audit, a platform setup, a migration or redesign, or a specialized pillar like international, mobile, or enterprise.","snippetText":"This page is a directory, not a new checklist — it links to every checklist and audit article on the site so you can find the right one fast. Start broad (Technical SEO Checklist, SEO Audit Checklist) if you're not sure what you need. Use a platform checklist (WordPress, Shopify) when you're working inside that CMS specifically. Use Website Migration Checklist when the domain, platform, or URLs are changing, and Website Redesign SEO Checklist when only the template/design is changing on the same URLs — they're easy to confuse and solve different problems. Use a pillar checklist (International,","href":"/technical-seo/seo-checklists/","slug":"seo-checklists","meta":"Educational","aliases":["SEO checklists","SEO audit checklist","list of SEO checklists"],"pillar":"technical-seo","taxonomy":["technical-seo"],"text":"This page is a directory, not a new checklist — it links to every checklist and audit article on the site so you can find the right one fast. Start broad (Technical SEO Checklist, SEO Audit Checklist) if you're not sure what you need. Use a platform checklist (WordPress, Shopify) when you're working inside that CMS specifically. Use Website Migration Checklist when the domain, platform, or URLs are changing, and Website Redesign SEO Checklist when only the template/design is changing on the same URLs — they're easy to confuse and solve different problems. Use a pillar checklist (International, Mobile, SaaS, On-Page) when you're auditing that specific area in depth. Start here if you're not sure what you need Working inside a specific platform Moving or rebuilding a site Pillar specific checklists and audits Why this page exists Checklist vs. audit — the distinction that matters The full directory, by category How to use more than one Which checklist do I actually need? Test yourself: Picking the right SEO checklist TL;DR — This isn't a checklist itself — it's the map to every checklist and audit on the site. If you only remember one thing: migration means the domain, platform, or URLs are changing; redesign means only the look and template are changing on the same URLs. Pick the wrong one and you'll audit for the wrong risks. Start here if you're not sure what you need Technical SEO Checklist /technical seo/tools/technical seo checklist/ — the broadest one. Crawlability, indexability, site speed, structured data, security. Start here if you just want a general health check. SEO Audit Checklist /technical seo/tools/seo audit checklist/ — a step by step process for running a full audit, not just a list of things to check. Working inside a specific platform WordPress SEO Checklist /technical seo/platform seo/cms/wordpress seo checklist/ — permalinks, plugin setup Yoast/Rank Math/SEOPress , archive noindex decisions, images, caching, and a before you launch gate. Shopify SEO Checklist /technical seo/platform seo/ecommerce platforms/shopify seo checklist/ — the fixed URL structure, the collection/product duplicate URL fix, structured data, and . Moving or rebuilding a site These two get confused constantly, so pick carefully: Website Migration Checklist /technical seo/migrations/website migration checklist/ — the domain, platform, or URL structure is changing. Re","passages":["TL;DR — This isn't a checklist itself — it's the map to every checklist and audit on the site.","If you only remember one thing: migration means the domain, platform, or URLs are changing; redesign means only the look and template are changing on the same URLs.","Start here if you're not sure what you need Technical SEO Checklist /technical seo/tools/technical seo checklist/ — the broadest one.","Crawlability, indexability, site speed, structured data, security.","SEO Audit Checklist /technical seo/tools/seo audit checklist/ — a step by step process for running a full audit, not just a list of things to check.","Working inside a specific platform WordPress SEO Checklist /technical seo/platform seo/cms/wordpress seo checklist/ — permalinks, plugin setup Yoast/Rank Math/SEOPress , archive noindex decisions, images, caching, and a before you launch gate.","Shopify SEO Checklist /technical seo/platform seo/ecommerce platforms/shopify seo checklist/ — the fixed URL structure, the collection/product duplicate URL fix, structured data, and .","Moving or rebuilding a site These two get confused constantly, so pick carefully: Website Migration Checklist /technical seo/migrations/website migration checklist/ — the domain, platform, or URL structure is changing."],"updated":"2026-07-02T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/seo-checklists/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/seo-checklists/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SERP Features","desc":"What SERP features are (rich results, featured snippets, knowledge panels, image packs), which ones structured data actually unlocks vs. which are purely algorithmic, and how they affect CTR.","snippetText":"SERP features are everything on a results page beyond the ten blue links — featured snippets, People Also Ask, knowledge panels, sitelinks, image/video packs, AI Overviews, and structured-data-driven rich results. The distinction that matters most, and the one most articles blur: some features are unlocked by structured data (rich results — Product, Recipe, Event, Review), but most are purely algorithmic with no markup lever at all (featured snippets, PAA, knowledge panels, AI Overviews). Google is explicit that you 'can't request' a featured snippet. None of these are a ranking factor — Googl","href":"/technical-seo/on-page/structured-data/serp-features/","slug":"serp-features","meta":"Educational","aliases":["serp-features","SERP features","SERP feature","search result features","types of SERP features","SERP Features","rich-results","structured-data","featured-snippets","knowledge-panel"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"SERP features are everything on a results page beyond the ten blue links — featured snippets, People Also Ask, knowledge panels, sitelinks, image/video packs, AI Overviews, and structured-data-driven rich results. The distinction that matters most, and the one most articles blur: some features are unlocked by structured data (rich results — Product, Recipe, Event, Review), but most are purely algorithmic with no markup lever at all (featured snippets, PAA, knowledge panels, AI Overviews). Google is explicit that you 'can't request' a featured snippet. None of these are a ranking factor — Google's docs say rich-result eligibility 'doesn't affect how the page ranks.' Their real relevance is CTR, which they redistribute — often away from your organic listing. The structured-data side keeps shrinking (FAQ, HowTo, six types in June 2025) while the algorithmic side grows (AI Overviews). This nests under the Structured Data hub. What SERP features are The one distinction that matters Do SERP features help you rank? \"SERP feature\" isn't Google's term The spine: structured data driven vs. purely algorithmic Are SERP features a ranking factor? Documented for structured data, inferred for the rest How each major feature actually gets triggered CTR impact — the real reason to care How the SERP has shrunk and grown The zero click debate — both sides What you can actually do about it Where to go next AI summary Official documentation Quotes from the source SERP features — cheat sheet SERP feature mistakes worth retiring How to measure SERP feature impact CTR by query, in Search Console Performance CTR by page, in Search Console Performance Rich result eligibility and errors, in Search Console Enhancements Impressions share for feature eligible queries Test yourself: SERP Features SERP features are any element on a search results page beyond the classic ten blue links — featured snippets, People Also Ask, knowledge panels, sitelinks, image and video packs, AI Overviews, and structured-data-driven rich results. Google documents that losing rich-result eligibility doesn't affect ranking; their SEO relevance is CTR (they redistribute clicks). Some are unlocked by markup; most are purely algorithmic. TL;DR — SERP features are everything on a Google results page that isn't a plain blue link — featured snippets, the \"People also ask\" box, star ratings, image and video rows, know","passages":["TL;DR — SERP features are everything on a Google results page that isn't a plain blue link — featured snippets, the \"People also ask\" box, star ratings, image and video rows, knowledge panels, AI Overviews.","Some are unlocked by adding structured data to your page; most are chosen automatically by Google and you can't switch them on.","None of them make you rank higher — they just change how your result looks and who clicks what.","What SERP features are \"SERP feature\" is an industry umbrella term for search result presentations beyond a plain blue link; Google documents individual search galleries rather than one universal SERP feature taxonomy.","Structured data can make a page eligible for supported rich results but does not guarantee display.","Today almost any search shows extra stuff — a boxed answer at the top, a row of images, \"People also ask\" questions you can expand, a panel about a company or celebrity on the right, an AI written summary.","One naming note worth knowing: \"SERP feature\" is what the SEO industry and tools Ahrefs, Semrush call them.","Google's own help docs don't use that phrase — they say \"search result features\" or \"visual elements.\" Same thing, just the official name."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/serp-features/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/serp-features/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Shopify SEO Checklist","desc":"An ordered Shopify SEO checklist — fixed URL prefixes, the collection/product duplicate-URL fix, structured data, sitemap, robots.txt.liquid, app bloat, and pre-launch.","snippetText":"A working, top-to-bottom checklist for auditing or launching a Shopify store — the companion action list to the Shopify SEO explainer, which owns the concepts. Work it in the order you'd actually do the job: URL structure (the /products/, /collections/, /pages/, /blogs/ prefixes are fixed by the platform and only the handle is yours), then the single highest-priority fix — the collection/product duplicate-URL issue, where Shopify's canonical tag already points at the clean URL but theme internal links generated with | within: collection point at the long one, a competing signal Google's own do","href":"/technical-seo/platform-seo/ecommerce-platforms/shopify-seo-checklist/","slug":"shopify-seo-checklist","meta":"Educational","aliases":["Shopify SEO checklist","Shopify SEO audit","Shopify store SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"A working, top-to-bottom checklist for auditing or launching a Shopify store — the companion action list to the Shopify SEO explainer, which owns the concepts. Work it in the order you'd actually do the job: URL structure (the /products/, /collections/, /pages/, /blogs/ prefixes are fixed by the platform and only the handle is yours), then the single highest-priority fix — the collection/product duplicate-URL issue, where Shopify's canonical tag already points at the clean URL but theme internal links generated with | within: collection point at the long one, a competing signal Google's own docs say to eliminate. Then unique titles and meta descriptions (collection descriptions are blank by default), structured data (verify what the theme outputs and watch for ambiguous/duplicate schema from apps), the auto-generated non-editable sitemap.xml, robots.txt.liquid (editable since June 2021 but unsupported and risky), theme speed and app bloat, Bing plus IndexNow, and a folded-in pre-launch checklist most guides split into a separate article. What this checklist is and isn't 1. Your URL prefixes are fixed — only the handle is yours 2. Fix the collection/product duplicate URL the big one 3. Write unique titles and meta descriptions 4. Check your structured data 5. Verify the sitemap don't try to edit it 6. Leave robots.txt alone unless you know what you're doing 7. Watch app bloat Before you launch How to use this 1. URL structure — audit the handles, respect the prefixes 2. The collection/product duplicate URL — the highest priority fix 3. Titles and meta descriptions — mind the blank collection trap 4. Structured data — verify what's built in, close the gap, avoid duplicates 5. Sitemap.xml — verify and submit, never hand edit 6. robots.txt.liquid — editable, but unsupported and risky 7. Theme speed and app bloat 8. Bing — Webmaster Tools plus IndexNow 9. Pre launch checklist the part most guides split off What I deliberately left out AI summary Official documentation Quotes from the source The Shopify SEO checklist TL;DR — This is the do it in order checklist for a Shopify store, not an explainer — for the \"why\" behind each item especially the collection/product duplicate URL mechanism , lean on the main Shopify SEO article. Shopify handles a lot for you out of the box: canonical tags, an automatic sitemap, HTTPS, and a CDN. Themes and apps may add structured da","passages":["TL;DR — This is the do it in order checklist for a Shopify store, not an explainer — for the \"why\" behind each item especially the collection/product duplicate URL mechanism , lean on the main Shopify SEO article.","Shopify handles a lot for you out of the box: canonical tags, an automatic sitemap, HTTPS, and a CDN.","Themes and apps may add structured data, so verify their actual output.","The checklist covers the important choices Shopify still leaves to you.","The single most important item: make sure the internal links to your products match the clean URL, not the long collection version.","What this checklist is and isn't Shopify is genuinely good for SEO out of the box — it adds canonical tags, generates a sitemap, serves everything over HTTPS on a fast CDN, and ships basic product structured data on its own themes.","It's a list of the handful of things Shopify doesn't do for you, worked in the order you'd actually do them: structure first, then content, then the technical bits, then speed, then a pre launch pass.","When an item needs background, I link out — mostly to the main Shopify SEO article, and to the canonical tag, structured data, sitemaps, and robots.txt pages already on the site."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/shopify-seo-checklist/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/shopify-seo-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Shopware SEO","desc":"How SEO works on Shopware 6 — the native controls it ships (Twig-templated SEO URLs, canonical handling, XML sitemaps, hreflang via the Sales Channel/Domain model, and, in recent versions, native robots.txt and JSON-LD), the version gates that decide what you actually get, the traps (rebuild the index after a template change, variant duplicate content, seo_url table growth), and why headless (Composable Frontends) moves the whole SEO checklist into the Nuxt layer.","snippetText":"Shopware 6 ships an unusually large amount of native technical SEO for a self-hosted platform — Twig-templated SEO URLs per entity type, canonical handling, three-strategy XML sitemap generation, and hreflang derived from the Sales Channel/Domain model — but what's 'native' depends heavily on your version: per-domain robots.txt only arrived in 6.7.1.0 and JSON-LD structured data (replacing Microdata) in 6.7.9.0 behind a feature flag. The recurring traps are specific: you must rebuild the SEO index (dal:refresh:index) after changing a URL template, product variants each get their own URL and ca","href":"/technical-seo/platform-seo/ecommerce-platforms/shopware-seo/","slug":"shopware-seo","meta":"Educational","aliases":["shopware-seo","Shopware SEO","Shopware","Shopware 6","Shopware store","Composable Frontends","canonicalization","hreflang","faceted-navigation"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"shopware ecommerce-seo hreflang canonicalization structured-data headless Shopware 6 ships an unusually large amount of native technical SEO for a self-hosted platform — Twig-templated SEO URLs per entity type, canonical handling, three-strategy XML sitemap generation, and hreflang derived from the Sales Channel/Domain model — but what's 'native' depends heavily on your version: per-domain robots.txt only arrived in 6.7.1.0 and JSON-LD structured data (replacing Microdata) in 6.7.9.0 behind a feature flag. The recurring traps are specific: you must rebuild the SEO index (dal:refresh:index) after changing a URL template, product variants each get their own URL and can't be canonicalized straight to the parent without a template override, and the seo_url table grows roughly with variants times languages. Going headless with Composable Frontends (Vue + Nuxt) moves the entire SEO checklist — sitemap, canonical, meta tags, structured data — into the Nuxt rendering layer, where none of the admin SEO settings apply the same way. What \"Shopware SEO\" means What Shopware does for you What you still have to do yourself The thing most people get wrong The frame: native, version gated, and where you still do the work URL structure: SEO URL templates Canonical tags XML sitemap robots.txt — check your version first Structured data: the Microdata → JSON LD migration International SEO: hreflang via Sales Channel + Domain Headless: Composable Frontends Shopware Frontends Common pitfalls at scale When native tools are enough vs. when you need a plugin or dev work Shopware vs the hosted platforms — the honest version AI summary Official documentation Quotes from the source Shopware specific SEO audit checklist The mental models Shopware SEO cheat sheet Shopware SEO mistakes to avoid Editing an SEO URL template without rebuilding the index Assuming Variant for Canonical URL points to the parent Shopware SEO is the technical, on-page, and international work you do on a store built on Shopware 6 — a German-built, open-source-core ecommerce platform (Symfony/PHP + Vue.js storefront) that ships a large amount of native SEO out of the box (Twig-templated SEO URLs, canonical handling, XML sitemaps, hreflang via its Sales Channel/Domain model, and — in recent versions — native robots.txt and JSON-LD structured data), while still leaving bulk meta management, variant-canonical edge case","passages":["TL;DR — Shopware is an ecommerce platform built in Germany that comes with a lot of SEO built in: it can build your product URLs, write your sitemap, handle canonical tags, and set up hreflang for multiple languages.","The two things to know going in: which features you get depends on your Shopware version some arrived only recently , and a few tasks — like tidying up duplicate variant pages — still need a plugin or a developer.","What \"Shopware SEO\" means Shopware is an open source core ecommerce platform .","Unlike Shopify or BigCommerce — which host everything for you — Shopware is usually installed on your own hosting or Shopware's cloud , which means you get more control and more responsibility.","\"Shopware SEO\" is just the normal work of getting your products and category pages found, crawled, indexed, and ranked — applied to a store that runs on Shopware.","It's worth its own guide because Shopware makes a lot of SEO choices for you out of the box, and you need to know which boxes it already ticks, which it leaves empty, and which ones only appear if you're on a recent enough version.","Shopware builds \"SEO URLs\" for your products and categories using templates you can edit in the admin.","Shopware generates an XML sitemap of your products and categories and keeps it at ."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/shopware-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/shopware-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Sitemap Priority","desc":"What the sitemap priority tag is, why Google and Bing both ignore priority and changefreq entirely, and what actually signals a page's importance to search engines instead.","snippetText":"Sitemap priority is the optional <priority> tag (0.0–1.0, default 0.5) in the sitemaps.org protocol, meant to rank a URL's importance relative to other pages on the same site. Google ignores it — its own docs say 'Google ignores <priority> and <changefreq> values,' Gary Illyes called priority 'a bag of noise,' and John Mueller said it 'doesn't really play that much of a role.' Bing 'largely disregards these fields' too. Even the sitemaps.org spec said priority was 'not likely to influence' rankings. Neither company states why they stopped reading them; the common industry explanation is that t","href":"/technical-seo/how-search-works/discovery/sitemap-priority/","slug":"sitemap-priority","meta":"Educational","aliases":["sitemap-priority","sitemap priority","priority tag","changefreq","XML sitemap priority","Sitemap priority","sitemaps","xml-sitemaps","sitemap-index"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery"],"text":"sitemap-priority sitemaps changefreq technical-seo crawling Sitemap priority is the optional <priority> tag (0.0–1.0, default 0.5) in the sitemaps.org protocol, meant to rank a URL's importance relative to other pages on the same site. Google ignores it — its own docs say 'Google ignores <priority> and <changefreq> values,' Gary Illyes called priority 'a bag of noise,' and John Mueller said it 'doesn't really play that much of a role.' Bing 'largely disregards these fields' too. Even the sitemaps.org spec said priority was 'not likely to influence' rankings. Neither company states why they stopped reading them; the common industry explanation is that the values are self-reported and everyone set everything to 1.0/daily, making them statistically useless. What actually signals importance instead: internal link count and depth, inclusion in a clean sitemap with an accurate <lastmod>, observed crawl frequency in your logs, and navigation prominence. It's fine to leave both tags out of your sitemap entirely. What sitemap priority is The catch: it doesn't work Why do SEO plugins still show it? What actually tells Google a page is important What the tags were designed to do Google's position: \"ignores\" — and it's been consistent for a decade Does Bing treat it differently? No. Why these tags likely got ignored an explanation, not an official one What actually signals a page's importance instead Should you still include priority and changefreq? Where this sits Myths, quickly AI summary Official documentation Quotes from the source Mistakes people actually make with these tags Which engines actually use these tags Should I include priority and changefreq in my sitemap? The real signal audit: a 4 step framework for page importance Toolkit: finding and stripping priority/changefreq tags Test yourself: Sitemap Priority Resources worth your time Sitemap priority is the optional <priority> tag (0.0–1.0, default 0.5) in the sitemaps.org XML protocol meant to rank a URL's importance relative to others on the same site. Google ignores it entirely — as does Bing — and it was never a ranking factor even by the spec's own admission. TL;DR — Sitemap priority is a number from to you can put on each URL in your XML sitemap to say how important it is. Here's the short version: Google ignores it , and the protocol never defined it as an absolute ranking instruction. Don't waste tim","passages":["TL;DR — Sitemap priority is a number from to you can put on each URL in your XML sitemap to say how important it is.","Here's the short version: Google ignores it , and the protocol never defined it as an absolute ranking instruction.","Don't waste time tuning those sliders in your SEO plugin — spend it on internal links and clean site structure instead.","What sitemap priority is An XML sitemap is a list of your URLs you hand to search engines so they can find your pages.","The original sitemap format let you attach two optional extra tags to each URL: — a number from to the default is that's supposed to say how important that page is compared to your other pages .","— a word like , , or that's supposed to say how often the page changes.","The idea sounded reasonable: mark your homepage , mark an old archived page , tell Google your news section changes , and it would crawl and rank accordingly.","Google's own documentation says so in plain words: \"Google ignores and values.\" Bing does the same thing."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemap-priority/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemap-priority/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Social Sharing Images (og:image and twitter:image): Sizes, Limits, and Fallbacks","desc":"The image spec sheet for og:image and twitter:image — the safe 1200×630 (1.91:1) default, per-platform dimensions and file-size caps, the absolute-URL rule, Google's own 2026 thumbnail requirements, and why images fail vs. fall back.","snippetText":"og:image and twitter:image point at the image in your link-preview card — this is the deep dive on the image requirements, not the tag syntax (see the Open Graph and Twitter Cards siblings for that). The safe cross-platform default is an absolute HTTPS URL to a ~1200×630px (1.91:1) image, but that's a community-converged compromise, not a single official spec. Only Meta's numbers are primary-sourced: 200×200 minimum, 600×315 floor, ≥1200×630 recommended, 1.91:1, 8 MB cap. X's ~1200×628/675 and ~5 MB, Slack's ~32 KB early-HTML read, and WhatsApp's silent drop of large images are community conse","href":"/technical-seo/on-page/meta-tags/social-images/","slug":"social-images","meta":"Educational","aliases":["social-images","social sharing image","og:image size","twitter:image size","social image dimensions","og:image not showing","Social sharing image","open-graph","twitter-cards","meta-tags"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"social-images og-image twitter-image on-page meta-tags technical-seo social-sharing og:image and twitter:image point at the image in your link-preview card — this is the deep dive on the image requirements, not the tag syntax (see the Open Graph and Twitter Cards siblings for that). The safe cross-platform default is an absolute HTTPS URL to a ~1200×630px (1.91:1) image, but that's a community-converged compromise, not a single official spec. Only Meta's numbers are primary-sourced: 200×200 minimum, 600×315 floor, ≥1200×630 recommended, 1.91:1, 8 MB cap. X's ~1200×628/675 and ~5 MB, Slack's ~32 KB early-HTML read, and WhatsApp's silent drop of large images are community consensus, not freshly-verifiable first-party specs — say so. The absolute-URL rule is a real silent failure: social crawlers don't resolve relative paths. A missing tag falls back to a scraped body image; a present-but-broken image (404, oversized, auth-blocked) is less forgiving and often shows no image at all. As of March 2026 Google reads og:image for its own Search and Discover thumbnails (its own docs don't extend this to AI surfaces), but its spec is 16:9 / ≥1200px wide / ≥300K pixels / no logos / no text — a different shape than the 1.91:1 social crop. Caching means fixing an image doesn't fix already-shared links until you force a re-scrape. This is a deep dive under the Meta Tags for SEO hub. What the social image is The one size to remember Three rules that trip people up Why the image sometimes won't update What this article covers and what the siblings cover The safe default: 1200×630 1.91:1 — and why it's a compromise Per platform dimensions and file size Facebook / Meta primary sourced X / Twitter community consensus — treat with caution LinkedIn, Slack, WhatsApp, Discord, iMessage The absolute URL rule — a real, silent failure mode One image, two masters: Google's 2026 thumbnail spec Missing vs. broken — two different failure modes Format support Caching — the last mile Where this fits AI summary Official documentation Quotes from the source \"My image isn't showing\" — is it a size, URL, or cache problem? Social image cheat sheet Social image audit — checklist Worked examples Confirming a social image fix actually took effect The social sharing image is the picture that appears in the link-preview card when a URL is shared on Facebook, LinkedIn, Slack, Discord, WhatsApp, iMessa","passages":["TL;DR — The social sharing image is the picture in the preview card when you paste a link into Facebook, LinkedIn, Slack, or X.","Make it a full web address, sized about 1200×630 pixels , and keep the file small.","If it's the wrong size, a broken link, or too big, you don't get a nice card — you get whatever the platform grabs instead.","What the social image is When you share a link, most apps show a little preview card: a headline, a bit of text, and a picture.","You tell each platform which image to use with a tag in your page's head called .","X Twitter can use a separate tag, but if you don't set one, X just reuses your .","This page is about the image itself — how big it should be, how small the file should be, and what breaks.","The tags that point at the image are covered separately in the Open Graph and Twitter Cards topics; here we care about the picture."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/social-images/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/social-images/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Speakable Schema","desc":"Speakable schema marks the specific sentences on a page that a text-to-speech system should read aloud. In 2026 it's still a narrow, BETA-only Google Home feature — and, despite the hype, not an AI Overviews signal.","snippetText":"Speakable schema (schema.org's SpeakableSpecification, added via the speakable property on Article or WebPage) marks the 2–3 sentences on a page best suited to be read aloud by text-to-speech — not the whole article. You point at them with one locator method, cssSelector or xPath, never both. The single most important thing to know in 2026: it's still explicitly BETA (as it has been since July 2018), still limited to US, English, Google Home users, and Google has NOT connected it to AI Overviews or AI Mode despite dozens of SEO posts claiming it now signals citation-worthy passages. It wasn't ","href":"/technical-seo/on-page/structured-data/speakable-schema/","slug":"speakable-schema","meta":"Educational","aliases":["speakable-schema","speakable schema","speakable structured data","SpeakableSpecification","speakable property","Speakable schema","Structured data","Schema markup","Rich results"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"speakable-schema structured-data schema-markup json-ld voice-search google-assistant Speakable schema (schema.org's SpeakableSpecification, added via the speakable property on Article or WebPage) marks the 2–3 sentences on a page best suited to be read aloud by text-to-speech — not the whole article. You point at them with one locator method, cssSelector or xPath, never both. The single most important thing to know in 2026: it's still explicitly BETA (as it has been since July 2018), still limited to US, English, Google Home users, and Google has NOT connected it to AI Overviews or AI Mode despite dozens of SEO posts claiming it now signals citation-worthy passages. It wasn't deprecated in Google's January 2026 cleanup and wasn't mentioned at I/O 2026 — but the Google Assistant it was built to feed is being replaced by Gemini for Home, and nobody, Google included, has said whether Gemini for Home still reads Speakable markup. Treat it as dormant and news-publisher-narrow, not dead — and not an AI-search lever. What Speakable schema is Who can actually use it The thing most people get wrong What Speakable actually is Locating the speakable content: cssSelector vs xPath Content guidelines that still hold up Who can actually use it — still narrow in 2026 Is it dead? No — but read the signals carefully The elephant in the room: Assistant → Gemini for Home Does Speakable help with AI Overviews or AI Mode? Not a documented lever. Should you implement it in 2026? Where this sits AI summary Official documentation Quotes from the source Should I implement Speakable schema? Speakable mistakes to avoid Speakable JSON LD examples Speakable schema — cheat sheet Resources worth your time Test yourself: Speakable Schema Speakable schema is structured data (schema.org's SpeakableSpecification, added via the speakable property on Article or WebPage) that marks the specific 2–3 sentences on a page best suited to be read aloud by text-to-speech — not the whole article. In 2026 it remains a real but narrow, still-BETA Google feature limited to US, English, Google Home users, and Google has not connected it to AI Overviews despite widespread claims that it does. TL;DR — Speakable schema is a bit of code that points at the specific sentences on a page — not the whole article — that a machine should read aloud, like a smart speaker answering a news question. In 2026 it's still a s","passages":["TL;DR — Speakable schema is a bit of code that points at the specific sentences on a page — not the whole article — that a machine should read aloud, like a smart speaker answering a news question.","In 2026 it's still a small, test only Google feature: it only works for people in the U.S.","And despite what a lot of SEO articles claim, it does not help you show up in Google's AI Overviews.","What Speakable schema is Most structured data labels what a thing is — \"this is the price,\" \"this is the author.\" Speakable does something different: it points at the parts of a page that are best to read out loud .","Imagine asking a smart speaker for the news — it can't read a whole article to you, so Speakable schema tells it which two or three sentences to speak.","You add it as a small piece of code usually JSON LD that names the sentences by their location on the page — either by a CSS class or by an XPath.","Google recommends marking up about 20–30 seconds of audio , or roughly two to three sentences — a concise headline and summary that make sense on their own.","Who can actually use it This is the part most articles skip."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/speakable-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/speakable-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Squarespace Commerce SEO","desc":"How SEO works on a Squarespace online store specifically — the per-product SEO fields, the category-page ceiling (no custom SEO settings), the single-URL variant model that sidesteps duplicate content, the 200-vs-10,000 product limit, sold-out handling, the auto Product schema and its gaps, and the US-only, physical-goods-only Google Shopping integration.","snippetText":"Squarespace Commerce SEO is the store-specific layer on top of general Squarespace SEO. Products get their own SEO title/description fields (Squarespace suggests 50–300 characters, 400 max) and auto-generated Product schema with price and availability. The genuine structural win: variants live as dropdowns on one product URL, so there's no per-variant duplicate-content problem to canonicalize the way there is on Shopify or Magento. The genuine ceilings: category/sub-category pages can't take custom SEO settings, the auto schema has gaps (return policy, review/rating markup), customer reviews d","href":"/technical-seo/platform-seo/ecommerce-platforms/squarespace-commerce-seo/","slug":"squarespace-commerce-seo","meta":"Educational","aliases":["squarespace-commerce-seo","Squarespace Commerce SEO","Squarespace store SEO","SEO for Squarespace stores","Squarespace ecommerce SEO","squarespace-seo","product-page-seo","category-page-seo","product-schema","out-of-stock-products"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"squarespace ecommerce-seo product-page-seo category-page-seo product-schema google-shopping variants Squarespace Commerce SEO is the store-specific layer on top of general Squarespace SEO. Products get their own SEO title/description fields (Squarespace suggests 50–300 characters, 400 max) and auto-generated Product schema with price and availability. The genuine structural win: variants live as dropdowns on one product URL, so there's no per-variant duplicate-content problem to canonicalize the way there is on Shopify or Magento. The genuine ceilings: category/sub-category pages can't take custom SEO settings, the auto schema has gaps (return policy, review/rating markup), customer reviews don't appear to feed AggregateRating, version 7.0 caps a store page at 200 products vs 10,000 on 7.1, and the native Google Shopping feed is US-only, English-US-only, physical-goods-only. Sold-out products stay live and indexed with a customizable label — which matches current out-of-stock best practice. What \"Squarespace Commerce SEO\" means What Squarespace handles for your store automatically What you still have to handle The thing most people get wrong The frame: scope this against general Squarespace SEO Product page SEO fields Category / store page SEO — the sharpest ceiling Product variants: the single URL model a genuine advantage Catalog size: the 200 vs 10,000 product limit Sold out and out of stock products Product structured data: what's automatic, what's missing Customer reviews — and the structured data gap Google Shopping: the native feed and its hard limits Subscriptions, digital, and membership products The practitioner workaround: custom collection code Squarespace vs Shopify for ecommerce SEO specifically AI summary Official documentation Quotes from the source Squarespace specific commerce SEO audit checklist The baseline plus commerce framework Layer 1: the Squarespace site baseline Layer 2: the commerce surface Squarespace Commerce SEO cheat sheet Squarespace Commerce SEO is the work of optimizing a Squarespace-hosted online store — product pages, category/store pages, variants, sold-out handling, and commerce structured data — for organic search. It sits on top of general Squarespace site SEO and adds its own mechanics: per-product SEO fields, auto-generated Product schema, category pages that can't take custom SEO settings, a single-URL variant mode","passages":["TL;DR — Squarespace Commerce SEO is SEO for a Squarespace store specifically — your product pages, category pages, and product listings — as opposed to your general Squarespace site.","Each product gets its own SEO title and description box, and Squarespace automatically adds the behind the scenes product data price, in stock/out of stock that can earn you a richer search result.","The Category page controls and the native Google Merchant connection have platform, product, and market constraints, so check the current Squarespace requirements.","What \"Squarespace Commerce SEO\" means If you sell products on Squarespace, you're running a store on top of a regular Squarespace site.","General Squarespace SEO /technical seo/platform seo/website builders/squarespace seo/ covers the site wide basics — the automatic sitemap, HTTPS, canonical tags, and the big gotcha that changing a URL doesn't create a redirect for you.","This guide is about the commerce parts that sit on top of that: your products, your product categories, and getting them found and shown in search.","What Squarespace handles for your store automatically Product SEO fields.","Every product has its own SEO title and description box, separate from your site settings."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/squarespace-commerce-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/squarespace-commerce-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Twitter Card Tags (X Cards): The Current, Honest Guide","desc":"What twitter:card meta tags do, the four card types, the Open Graph fallback rule, and what X actually broke — the dead validator, the vanished Cards docs, and link-post reach effects (a separate system from card rendering). Not a ranking factor.","snippetText":"Twitter Card tags are <meta name=\"twitter:...\"> elements that tell X's link-unfurling system what preview to build for a shared URL. Four card types: summary, summary_large_image (the default for articles), app, and player — these are the last documented types; no current official X specification exists to reconfirm them against. Every twitter:* property falls back to its og:* counterpart if missing — except twitter:card itself, which has no fallback and must be set explicitly. Use name=, not property= (mixing them up gets the tag silently ignored) — long-standing, consistently practitioner-re","href":"/technical-seo/on-page/meta-tags/twitter-cards/","slug":"twitter-cards","meta":"Educational","aliases":["twitter-cards","twitter cards","twitter card tags","twitter:card meta tag","x cards","summary_large_image","Twitter Card tags","Open Graph","Meta tags"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"twitter-cards x-cards on-page meta-tags technical-seo open-graph social-sharing Twitter Card tags are <meta name=\"twitter:...\"> elements that tell X's link-unfurling system what preview to build for a shared URL. Four card types: summary, summary_large_image (the default for articles), app, and player — these are the last documented types; no current official X specification exists to reconfirm them against. Every twitter:* property falls back to its og:* counterpart if missing — except twitter:card itself, which has no fallback and must be set explicitly. Use name=, not property= (mixing them up gets the tag silently ignored) — long-standing, consistently practitioner-reported behavior. What's changed since the Musk-era rebrand and matters most in 2026: the official Card Validator was deprecated in 2022 and its URL now redirects to an X login page; developer.x.com's Cards docs now redirect to a generic page with no Cards content; twitter:site/twitter:creator attribution has degraded; and X applies confirmed reduced reach to some external-link posts — a separate system from whether the card itself renders, so don't use one to diagnose the other. Not a Google or Bing ranking factor: Google's supported-meta-tags reference never mentions twitter: or og: at all. Value is social CTR only. This is a deep dive under the Meta Tags for SEO hub. What Twitter Card tags are The one thing you actually have to set The part that surprises people What they are and the four card types How to implement them The Open Graph fallback rule — and the one tag that has no fallback The vs trap What's changed since the Musk era rebrand — the honest status in 2026 Are Twitter Card tags an SEO ranking factor? Do you even need Twitter tags if you have Open Graph? How to test your cards now that the official tool is gone Where this fits AI summary Official documentation Quotes from the source Which tags do I actually need? Twitter Card tags — cheat sheet Twitter Card implementation checklist Common Twitter Card mistakes Resources worth your time Test yourself: Twitter Card Tags Twitter Card tags (now often called \"X Cards\") are <meta name=\"twitter:...\"> tags in a page's <head> that tell X's link-unfurling system what rich preview to build for a shared URL — image, headline, description, and (for player cards) an embeddable frame. The four card types are summary, summary_large_image, app, ","passages":["TL;DR — Twitter Card tags now sometimes called \"X Cards\" are lines of HTML in your page's that tell X what preview to show when someone shares your link — the image, headline, and description.","You mostly get these \"for free\" from your Open Graph tags, with one exception: the tag has no fallback, so you have to set it.","Google does not document these tags as Search controls; their purpose is the social link preview.","What Twitter Card tags are When you paste a link into X formerly Twitter , it usually turns into a little preview box with an image, a headline, and a short description instead of a bare URL.","They live in the of your page, they start with , and X reads them to decide what the preview looks like.","There are four \"card\" styles: summary — a small square thumbnail next to the text.","A basic set of tags looks like this: The one thing you actually have to set Here's the shortcut nobody tells beginners: if you already have Open Graph tags the tags Facebook, LinkedIn, Slack, and everyone else use , X will borrow those for the title, description, and image if the versions are missing.","There's no Open Graph equivalent for it, so if you want a big image card you have to add explicitly."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/twitter-cards/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/twitter-cards/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Viewport Meta Tag","desc":"What the viewport meta tag does, why it makes responsive design work on mobile, the correct configuration, the attribute reference, and common mistakes.","snippetText":"The viewport meta tag — <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> — hints to the browser to size the layout viewport to the device's width in CSS pixels instead of a legacy ~980px fallback some mobile browsers use. Without it, phones can render the page at that wider fallback and shrink it, producing tiny text, horizontal scroll, and responsive breakpoints that may not apply as intended. It's not a ranking factor itself, but its presence is one of the things Google documents as indicating mobile-friendliness, and its absence is a classic mobile usability failure. Nev","href":"/technical-seo/mobile-seo/viewport-meta-tag/","slug":"viewport-meta-tag","meta":"Educational","aliases":["viewport-meta-tag","viewport meta tag","meta viewport","viewport not set","width=device-width","viewport meta tag SEO","Viewport Meta Tag","Mobile SEO","Mobile-First Indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"viewport-meta-tag mobile-seo technical-seo responsive-design mobile-usability meta-tags The viewport meta tag — <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> — hints to the browser to size the layout viewport to the device's width in CSS pixels instead of a legacy ~980px fallback some mobile browsers use. Without it, phones can render the page at that wider fallback and shrink it, producing tiny text, horizontal scroll, and responsive breakpoints that may not apply as intended. It's not a ranking factor itself, but its presence is one of the things Google documents as indicating mobile-friendliness, and its absence is a classic mobile usability failure. Never force user-scalable=no or a restrictive maximum-scale — it fails the W3C's accessibility conformance rule for zoom and can lock out low-vision users, though browsers can override it (iOS 10+ ignores it by default). Test it with Lighthouse or PageSpeed Insights: Search Console's Mobile Usability report and the Mobile-Friendly Test were retired December 1, 2023. What the viewport meta tag is Why it matters The mistake to avoid How this fits the rest of mobile SEO The problem it solves: the 980px virtual viewport Layout viewport vs. visual viewport under the hood The correct tag, and where it goes Attribute reference Never disable zoom: is an anti pattern Is it a ranking factor? How to test it — the tooling changed in 2023 Common mistakes AI summary Official documentation Quotes from the source Which viewport configuration should I use? Viewport tag checklist Viewport meta tag — cheat sheet Viewport anti patterns Check and audit your viewport tag Tools for checking the viewport tag The viewport tag is present but the page still looks desktop sized Mobile layout works at first and then jumps wider Pinch zoom is blocked An HTML head element — <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> — that hints mobile browsers to size the layout viewport to the device's width in CSS pixels instead of a legacy ~980px fallback, so responsive design works. TL;DR — The viewport meta tag is one line in your page's that tells phones and tablets to render your page at the screen's real width instead of pretending it's a desktop monitor. Without it, your page shows up tiny and you have to pinch and scroll sideways to read it. The line you want is . What the viewport meta tag is Whe","passages":["TL;DR — The viewport meta tag is one line in your page's that tells phones and tablets to render your page at the screen's real width instead of pretending it's a desktop monitor.","Without it, your page shows up tiny and you have to pinch and scroll sideways to read it.","What the viewport meta tag is When smartphones first got web browsers, most websites were built for desktop screens.","So many phone browsers cheated: without a viewport tag, they'd fall back to a fixed 980 pixel wide layout — desktop ish — lay the page out at that width, then shrink the whole thing down to fit the phone.","The result was a readable shaped page that was way too small to actually read, with text you had to pinch zoom and content that spilled off the sides.","It's a single line you put in the of your page: tells the browser \"lay this page out at this device's screen width, measured in CSS pixels\" not necessarily the same as its raw hardware pixel count on a high density screen , and says \"and don't zoom in or out when the page first loads.\" That's it.","Why it matters Two reasons: It makes your page readable on a phone.","With the tag, text is legible without zooming and content fits the screen."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/mobile-seo/viewport-meta-tag/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/viewport-meta-tag/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Website Migration Checklist","desc":"A phase-by-phase website migration checklist — pre-migration benchmarking, URL mapping and 301 redirects, staging QA, launch day, and the post-launch monitoring window.","snippetText":"This is the actionable, tick-box companion to the migrations hub — the same job, run as phases you can hand to a dev team: (1) pre-migration benchmark — full crawl of the old site as a baseline, a three-source URL inventory (sitemaps + server logs + analytics, not sitemaps alone), and snapshots of rankings, traffic, and indexed-page count; (2) map every old URL 1:1 to its closest new URL with a server-side 301/308, never bulk-to-homepage, no chains beyond 3–5 hops; (3) keep staging private with authentication or network access control, then crawl it with authorized tooling and diff canonicals,","href":"/technical-seo/migrations/website-migration-checklist/","slug":"website-migration-checklist","meta":"Educational","aliases":["website migration checklist","site migration checklist","SEO migration checklist","website migration SEO checklist","site move","website move","site migration","redesign launch","domain migration"],"pillar":"technical-seo","taxonomy":["technical-seo","migrations"],"text":"site-migrations redirects technical-seo change-of-address-tool sitemaps https This is the actionable, tick-box companion to the migrations hub — the same job, run as phases you can hand to a dev team: (1) pre-migration benchmark — full crawl of the old site as a baseline, a three-source URL inventory (sitemaps + server logs + analytics, not sitemaps alone), and snapshots of rankings, traffic, and indexed-page count; (2) map every old URL 1:1 to its closest new URL with a server-side 301/308, never bulk-to-homepage, no chains beyond 3–5 hops; (3) keep staging private with authentication or network access control, then crawl it with authorized tooling and diff canonicals, hreflang, schema, robots directives, internal links, and analytics/GTM tags against the baseline; (4) launch — remove staging-only controls, activate redirects, resubmit the current sitemap with new canonical URLs only, optionally submit a separate temporary old-URL sitemap for monitoring, and submit Change of Address for qualifying domain or subdomain moves; (5) post-launch, crawl the full old-URL list to confirm every redirect resolves with no chains or orphaned 404s; (6) monitor GSC coverage, performance, and rankings for 4–8 weeks. Keep redirects for at least 1 year for Google. What this checklist is and what it isn't 1. Before you change anything: write down where you stand 2. Map old URLs to new ones, then redirect 3. Test on a staging site Google can't see 4. Launch day 5. Right after launch: check the redirects actually work 6. Then watch for a month or two How to use this checklist Phase 1 — Pre migration benchmarking Phase 2 — URL mapping and redirect strategy Phase 3 — Staging and pre launch QA Phase 4 — Launch day Phase 5 — Post launch verification first 48 hours to 2 weeks Phase 6 — The monitoring window weeks 2–8+ Why the internal links step is non negotiable AI summary Official documentation Quotes from the source The website migration checklist Migration cheat sheet Tools for the redirect map phases Post launch migration proof Complete redirect map test New URL canonical and indexability test {/ tool rule claim: redirects.chain resolution/article contract /} TL;DR — A migration is any big change to your site — a new domain, a switch to HTTPS, a new platform, a folder reshuffle, a redesign. This is the step by step list to run so you don't lose your rankings. Before you touch a","passages":["{/ tool rule claim: redirects.chain resolution/article contract /} TL;DR — A migration is any big change to your site — a new domain, a switch to HTTPS, a new platform, a folder reshuffle, a redesign.","This is the step by step list to run so you don't lose your rankings.","Before you touch anything, write down where you stand today crawl the site, note your traffic and rankings .","Then map every old page to its new home and send it there with a 301 redirect.","Test it all on a staging site that Google can't see, launch, resubmit your sitemap, and then watch your traffic closely after launch.","A temporary dip can occur while search engines process the move; if it never recovers, something broke.","What this checklist is and what it isn't This is the do this in order version of a site migration.","If you want the background — the seven kinds of migration, why redirects carry rankings, how risky each type is — that lives in the full site migrations /technical seo/migrations/ guide."],"updated":"2026-07-15T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/migrations/website-migration-checklist/index.md","aiGenerated":true,"popular":6,"url":"https://patrickstox.com/technical-seo/migrations/website-migration-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Website Redesign SEO Checklist","desc":"A same-URL website redesign SEO checklist — what to preserve (titles, H1s, internal links, schema, alt text), how to crawl-diff staging vs. live, and how to plan a rollback.","snippetText":"A website redesign in this checklist's sense keeps the same domain and the same URLs — only the templates, visual design, CMS theme, and on-page presentation change. That makes it feel safer than a migration, but John Mueller has said you'll potentially see more fluctuation from a redesign than from a straight domain move, because new templates silently rewrite the on-page elements that were earning your rankings. So the checklist is: benchmark the current site with a full crawl, identify the pages you must not touch carelessly (Top pages + Best by links), preserve titles, meta descriptions, H","href":"/technical-seo/migrations/website-redesign-seo-checklist/","slug":"website-redesign-seo-checklist","meta":"Educational","aliases":["website-redesign-seo-checklist","website redesign SEO checklist","redesign without losing SEO","SEO checklist for website redesign","redesign a website without losing rankings","Website Redesign SEO Checklist","migrations","canonical-tag","alt-text","cls"],"pillar":"technical-seo","taxonomy":["technical-seo","migrations"],"text":"website-redesign technical-seo migrations core-web-vitals structured-data A website redesign in this checklist's sense keeps the same domain and the same URLs — only the templates, visual design, CMS theme, and on-page presentation change. That makes it feel safer than a migration, but John Mueller has said you'll potentially see more fluctuation from a redesign than from a straight domain move, because new templates silently rewrite the on-page elements that were earning your rankings. So the checklist is: benchmark the current site with a full crawl, identify the pages you must not touch carelessly (Top pages + Best by links), preserve titles, meta descriptions, H1s, internal links and anchor text, schema, canonical tags, and alt text through the template swap, crawl-diff staging vs. live before launch (and confirm schema/titles render server-side, not client-side only), keep the new theme's hero images and web fonts from wrecking Core Web Vitals, and have a rollback threshold and a backup ready before launch — not improvised after. If any URLs, the domain, or the platform's data structure also change, that's a migration, not a redesign. Redesign or migration? Pick the right checklist first Why a \"just a redesign\" can still hurt rankings The short version Redesign vs. migration — the scope line, drawn hard Why \"just a redesign\" is riskier than it sounds Phase 1 — Pre redesign benchmarking Phase 2 — What must be preserved the core checklist Phase 3 — Content parity Phase 4 — Core Web Vitals impact of the new design Phase 5 — Staging audit: crawl staging vs. live and diff Phase 6 — Launch day Phase 7 — Post launch monitoring and rollback AI summary Official documentation Quotes from the source The website redesign SEO checklist Redesign myths and mistakes to avoid Prove the redesign preserved search visible output Staging to baseline crawl diff Rendered metadata and structured data test Production parity and rollback tripwire test Test yourself: Website Redesign SEO Resources worth your time A website redesign SEO checklist is the step-by-step task list for refreshing a site's visual design, templates, or CMS theme while keeping the same URLs — without silently losing the on-page and technical SEO elements (titles, meta descriptions, headings, internal links, structured data, canonical tags, alt text) that were earning rankings under the old design. TL;DR — ","passages":["TL;DR — A \"redesign\" here means your URLs and domain stay exactly the same — only the look, the templates, and maybe the CMS theme change.","That sounds safe, but it's where SEO quietly breaks: new templates can drop your page titles, your headings, your internal links, and your image alt text without changing a single URL.","So before you launch, write down what your current pages look like, make sure the new design keeps all of it, and check the new theme didn't make your pages slow.","If any URLs are actually changing, that's a migration — use the migration checklist instead.","Pick the right checklist first These two words get used interchangeably, and it matters which one you're actually doing: A redesign this checklist keeps the same domain and the same URLs .","You're changing the visual design, the templates, or the CMS theme — how the pages look and how they're built — but a visitor's browser bar shows the same address before and after.","A migration changes the URLs, the domain, or the platform underneath.","If becomes , or you move to a new domain, or you replatform in a way that restructures URLs, that's a migration — and it needs the redirect heavy website migration checklist /technical seo/migrations/website migration checklist/ , not this one."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/migrations/website-redesign-seo-checklist/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/website-redesign-seo-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Wix eCommerce SEO","desc":"How SEO works on Wix Stores — the /product-page/ URL prefix and auto title/meta defaults, the auto-generated Product JSON-LD and its 7,000-character cap, the dedicated store-products-sitemap.xml, why product variants don't spawn duplicate URLs, the no-bulk-editing scaling limit, per-language currency you can't set, and when to go headless.","snippetText":"Wix eCommerce SEO is the commerce layer on top of general Wix SEO. Wix Stores auto-generates a lot — Product JSON-LD from your product fields, a dedicated store-products-sitemap.xml, canonical tags, and default titles/meta descriptions on every product and category page. Its default product URL is /product-page/{slug} (customizable, but that's a risky site-wide change). The genuinely Wix-specific wins: product options and modifiers stay on one URL, so you don't get the duplicate-variant-URL problem other platforms manage with canonicals. The genuinely Wix-specific pain: there's no bulk SEO edi","href":"/technical-seo/platform-seo/ecommerce-platforms/wix-ecommerce-seo/","slug":"wix-ecommerce-seo","meta":"Educational","aliases":["wix-ecommerce-seo","Wix eCommerce SEO","Wix Stores SEO","SEO for Wix Stores","Wix online store SEO","ecommerce-platforms","product-schema","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"wix wix-stores ecommerce-seo product-schema sitemap hreflang headless Wix eCommerce SEO is the commerce layer on top of general Wix SEO. Wix Stores auto-generates a lot — Product JSON-LD from your product fields, a dedicated store-products-sitemap.xml, canonical tags, and default titles/meta descriptions on every product and category page. Its default product URL is /product-page/{slug} (customizable, but that's a risky site-wide change). The genuinely Wix-specific wins: product options and modifiers stay on one URL, so you don't get the duplicate-variant-URL problem other platforms manage with canonicals. The genuinely Wix-specific pain: there's no bulk SEO editing for products or categories (main pages and blog only), no per-language slugs, and no per-language currency. When you outgrow those limits, Wix Headless hands URL and rendering control back to you. What \"Wix eCommerce SEO\" means What Wix Stores does for you automatically What you still have to do yourself The thing most people get wrong Scope: this is the Stores layer, not general Wix SEO Product page URL structure Product page defaults and what to override Structured data — auto generated, with a hard cap Category page SEO — and where Wix's docs go quiet Product options, modifiers, and \"page variants\" — a genuine advantage plus a naming trap Canonical tags on product pages — what's real vs. unverified Scaling limits: no bulk SEO editing, manual noindex The dedicated Stores sitemap Multilingual and multi currency stores Google Merchant Center — use both levers Google recommends When to go headless Wix Stores vs. the sibling platforms — the honest version AI summary Official documentation Quotes from the source Wix Stores SEO checklist The catalog → template → feed framework Wix Stores SEO cheat sheet Wix Stores SEO mistakes to avoid Wix eCommerce SEO is the technical, on-page, and content work you do on a store built on Wix Stores — the commerce layer that sits on top of general Wix SEO, adding a /product-page/ URL prefix, auto-generated Product JSON-LD, a dedicated store-products-sitemap.xml, and platform limits around bulk editing, product variants, and per-language currency that general Wix advice doesn't cover. TL;DR — Wix Stores is Wix's online shop feature, and it does a lot of SEO for you automatically: it writes a product URL, fills in a default title and description, adds product structur","passages":["TL;DR — Wix Stores is Wix's online shop feature, and it does a lot of SEO for you automatically: it writes a product URL, fills in a default title and description, adds product structured data, and builds a separate sitemap just for your products.","The parts you still handle yourself are editing those titles and descriptions, and knowing a few Wix limits — you can't bulk edit product SEO, and currency is one setting for the whole site.","What \"Wix eCommerce SEO\" means Wix eCommerce SEO is the regular SEO work — getting your products and category pages found, crawled, indexed, and ranked — applied to a store built with Wix Stores , Wix's built in shopping feature.","The first is general Wix SEO : the site wide stuff Wix handles for any page, like canonical tags, the sitemap, HTTPS, and server side rendering.","We cover that in the general Wix SEO article, and this page assumes it.","The second layer — the one this article is about — is everything Wix Stores adds on top for a shop: product pages, category pages, product structured data, and the store sitemap.","Every product gets a URL like — Wix builds the slug from the product name.","Wix fills your product page title with the product name plus your site name, and the meta description with the product's description."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/wix-ecommerce-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/wix-ecommerce-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"WordPress SEO Checklist","desc":"An ordered, plugin-neutral WordPress SEO checklist — permalinks, Yoast/Rank Math/SEOPress setup, sitemap, robots.txt, archive noindex, images, caching, redirects, schema, and a before-you-launch gate.","snippetText":"This is the ordered task list for setting up SEO on a WordPress site — the what-to-click layer, with the why living in the WordPress SEO deep dive it links to. Set permalinks to /%postname%/ before you publish. Run exactly one SEO plugin (Yoast, Rank Math, or SEOPress) and finish its wizard. Confirm the sitemap is live and submit it in Google Search Console and Bing Webmaster Tools. Edit robots.txt through the plugin — never Disallow pages you want deindexed, because Google can't read a noindex it isn't allowed to crawl. Noindex date and thin tag archives; treat category archives as a judgment","href":"/technical-seo/platform-seo/cms/wordpress-seo-checklist/","slug":"wordpress-seo-checklist","meta":"Educational","aliases":["WordPress SEO checklist","WordPress SEO plugin setup","WordPress permalink structure","WordPress site launch checklist"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","cms"],"text":"This is the ordered task list for setting up SEO on a WordPress site — the what-to-click layer, with the why living in the WordPress SEO deep dive it links to. Set permalinks to /%postname%/ before you publish. Run exactly one SEO plugin (Yoast, Rank Math, or SEOPress) and finish its wizard. Confirm the sitemap is live and submit it in Google Search Console and Bing Webmaster Tools. Edit robots.txt through the plugin — never Disallow pages you want deindexed, because Google can't read a noindex it isn't allowed to crawl. Noindex date and thin tag archives; treat category archives as a judgment call. Compress and alt-text images. Check whether your host already caches before stacking a caching plugin. Install a redirect manager before you need it. Validate schema in the Rich Results Test. Then walk the before-you-launch gate. How to use this list 1. Fix your permalinks first 2. Install one SEO plugin and run the wizard 3. Turn on the search engine visibility this is the big one 4. Make sure your sitemap is on — and submit it 5. Handle your images 6. Decide what to hide from search 7. Check caching and speed 8. Before you launch New build or existing site audit? 1. Permalinks and URL structure 2. SEO plugin setup Yoast / Rank Math / SEOPress 3. XML sitemap configuration 4. robots.txt configuration 5. Category, tag, and archive indexing decisions 6. Image alt text and compression 7. Caching and CDN setup 8. Broken links and redirects 9. Schema / structured data output 10. Before you launch — final gate A note on Bing and IndexNow AI summary Official documentation Quotes from the source TL;DR — This is the click by click list for setting up SEO on a WordPress site. Do these in order: set your permalinks to the post name style, install one SEO plugin Yoast, Rank Math, or SEOPress — never two , run its setup wizard, make sure your sitemap is on and submitted to Google and Bing, compress your images and give them alt text, and — the one that catches everyone — uncheck \"Discourage search engines\" before you go live. The full explanation of why each of these matters lives in my WordPress SEO guide; this page is just the to do list. How to use this list WordPress works fine for SEO out of the box — but its defaults leave a few things half done, and one setting can accidentally hide your whole site from Google. This checklist is the ordered set of things to fix or conf","passages":["TL;DR — This is the click by click list for setting up SEO on a WordPress site.","Do these in order: set your permalinks to the post name style, install one SEO plugin Yoast, Rank Math, or SEOPress — never two , run its setup wizard, make sure your sitemap is on and submitted to Google and Bing, compress your images and give them alt text, and — the one that catches everyone — uncheck \"Discourage search engines\" before you go live.","The full explanation of why each of these matters lives in my WordPress SEO guide; this page is just the to do list.","How to use this list WordPress works fine for SEO out of the box — but its defaults leave a few things half done, and one setting can accidentally hide your whole site from Google.","This checklist is the ordered set of things to fix or confirm.","I keep this to \"what to click.\" For the reasoning behind each item — why URLs are bad, why two SEO plugins fight each other — see the full WordPress SEO article.","Fix your permalinks first Go to Settings → Permalinks and choose Post name , so your URLs look like instead of .","Do this before you publish real content — changing it later means setting up redirects so old links don't break."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-07-02","markdown":"https://patrickstox.com/technical-seo/platform-seo/cms/wordpress-seo-checklist/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/wordpress-seo-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Article Schema","desc":"How to implement Article, NewsArticle, and BlogPosting schema markup — why it has no required properties, what it actually does for your search appearance (better titles, images, and dates — the documented \"Article rich result\"), why it isn't a Top Stories or Discover eligibility switch, and why Google's current guide has no AMP requirement.","snippetText":"Article schema (Article, NewsArticle, or BlogPosting — all three valid, Google covers them in one guide) is structured data that tells Google a written page's headline, author, publish and modify dates, and lead image. It has no required properties. Google's own docs label this the \"Article rich result\" — but don't picture a flashy new card like Recipe's: the payoff is a better-displayed version of your existing result (title text, image, date), not a distinct new snippet format. One correction worth being precise about: Article markup isn't required for Google News features like Top Stories, ","href":"/technical-seo/on-page/structured-data/creative-works/article-schema/","slug":"article-schema","meta":"Educational","aliases":["article-schema","article schema","Article structured data","NewsArticle schema","BlogPosting schema","Article markup","Article Schema","schema-markup","structured-data","rich-results","product-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","creative-works"],"text":"article-schema structured-data schema-org json-ld newsarticle blogposting schema rich-results Article schema (Article, NewsArticle, or BlogPosting — all three valid, Google covers them in one guide) is structured data that tells Google a written page's headline, author, publish and modify dates, and lead image. It has no required properties. Google's own docs label this the \"Article rich result\" — but don't picture a flashy new card like Recipe's: the payoff is a better-displayed version of your existing result (title text, image, date), not a distinct new snippet format. One correction worth being precise about: Article markup isn't required for Google News features like Top Stories, and Google's Discover guidance says no special tags or structured data are needed at all — so don't treat Article schema as an eligibility switch for either surface. Google's current Article guide also does not mention AMP anywhere, so the old \"Article schema requires AMP\" advice is stale. Add the recommended properties that apply (author, dateModified, datePublished, headline, image — with images at least 50,000 pixels across 16:9, 4:3, and 1:1 ratios), keep the author a real matching Person or Organization, and remember valid markup only makes you eligible — Google still decides whether to use it. What Article schema is Why it's worth doing The good news: nothing is required The myths to ignore What Article schema actually does and doesn't Article vs. NewsArticle vs. BlogPosting — do you have to pick correctly? No required properties — a feature, not a gap Common implementation mistakes How it connects to Top Stories, News, and Discover — without overpromising Structured data isn't a ranking factor Where Article sits in the wider structured data picture AI summary Official documentation Quotes from the source Article schema myths and mistakes to avoid Generic vs. well formed Article JSON LD A thin, generic snippet The same article, well formed Test yourself: Article Schema The standing KPIs for Article schema Top Stories / Discover search appearance impressions Valid structured data rate across article templates Displayed title, image, and date accuracy Tools for building and checking Article schema Article schema (Article, NewsArticle, or BlogPosting) is structured data marking up a written piece's headline, author, and dates — Google labels it the \"Article rich result,\" but","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Article schema is a small block of code you add to a blog post or news article that labels the basics for search engines — \"this is the headline,\" \"this is the author,\" \"this is when it was published,\" \"this is the main image.\" It helps Google show those details more nicely in search results.","Google's own docs call this the \"Article rich result,\" but it doesn't create a flashy new looking card the way Recipe or Video does — and it isn't a requirement for getting into Google News or Discover.","And — despite what you may have read — it does not require AMP.","What Article schema is When you read an article, you can tell the headline from the author byline from the date just by looking.","Article schema spells it out in code, using the shared schema.org https://schema.org/Article vocabulary, so Google knows exactly which part is the headline, who wrote it, when it was published, and which image is the main one.","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","All three are valid, and Google covers them in a single guide.","You don't have to agonize over the choice more on that in the Advanced tab ."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/article-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/article-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AudioObject Schema","desc":"What schema.org/AudioObject markup is actually for — the honest truth that it has no dedicated Google rich result, how it differs from PodcastSeries/PodcastEpisode and RSS feeds, the properties worth using (contentUrl, duration, name, encodingFormat), and how to decide whether it's worth adding at all.","snippetText":"AudioObject schema (schema.org/AudioObject) marks up audio content — podcast episodes, audio articles, sound clips — with properties like contentUrl, duration, name, and encodingFormat. The honest headline: it has no dedicated Google rich result today. It's absent from Google's official supported-structured-data-types list, and both plausible feature-guide URLs (/structured-data/podcast and /structured-data/media-clip) return 404. There is no audio card, badge, or carousel it unlocks. Its real value is narrower — embedding audio inside other marked-up content (like an Article's associatedMedia","href":"/technical-seo/on-page/structured-data/creative-works/audioobject-schema/","slug":"audioobject-schema","meta":"Educational","aliases":["audioobject-schema","AudioObject schema","schema.org/AudioObject","audio structured data","AudioObject markup","podcast schema","AudioObject Schema","schema-markup","structured-data","videoobject-schema","creative-works-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","creative-works"],"text":"audioobject-schema structured-data schema-org json-ld podcast-seo creative-works schema rich-results AudioObject schema (schema.org/AudioObject) marks up audio content — podcast episodes, audio articles, sound clips — with properties like contentUrl, duration, name, and encodingFormat. The honest headline: it has no dedicated Google rich result today. It's absent from Google's official supported-structured-data-types list, and both plausible feature-guide URLs (/structured-data/podcast and /structured-data/media-clip) return 404. There is no audio card, badge, or carousel it unlocks. Its real value is narrower — embedding audio inside other marked-up content (like an Article's associatedMedia), plus a plausible but unverified assist to AI/entity understanding — not a visible SERP feature. It's easy to confuse with PodcastSeries/PodcastEpisode (Google's separate podcast-management types, also without a rich result) and with RSS feeds (the actual mechanism that gets a podcast into Apple Podcasts or Spotify — unrelated to on-page schema). Treat it as one of the lower-priority types in this cluster: worth adding for completeness and a reasonable, not proven, AI-understanding assumption, not for a search feature that doesn't exist. What AudioObject schema is The honest part: what it does not do So why would you ever add it? Three things people mix up What AudioObject schema is — and the honest truth about what it doesn't do AudioObject vs. PodcastSeries/PodcastEpisode vs. RSS feeds Where it's still worth implementing Basic implementation — the properties worth using Should you bother? A prioritization framework AI summary Official documentation Quotes from the source AudioObject myths and mistakes to avoid Should I add AudioObject to this page? The mental models Tools for validating and generating AudioObject markup Test yourself: AudioObject Schema Resources worth your time AudioObject schema (schema.org/AudioObject) marks up audio content like podcast episodes and audio articles. It has no standalone Google rich result today — its value is entity/content understanding and embedding audio inside other marked-up content, not a visible search feature. TL;DR — AudioObject schema is code you add to a page to label a piece of audio — \"this is a podcast episode,\" \"this is how long it runs,\" \"this is where the file lives.\" It's honest and important to know up front: ad","passages":["TL;DR — AudioObject schema is code you add to a page to label a piece of audio — \"this is a podcast episode,\" \"this is how long it runs,\" \"this is where the file lives.\" It's honest and important to know up front: adding it does not get you a special audio result in Google.","Its value is mostly embedding that audio neatly inside other marked up content, plus a plausible — but unproven — assist to how search engines and AI tools understand the audio, not winning a visible search feature.","What AudioObject schema is When a page has an audio player on it — a podcast episode, a narrated version of an article, a sound clip — you can see and hear what it is.","A search engine sees mostly plain text and a media file it has to guess about.","AudioObject schema spells it out in code, using the shared schema.org https://schema.org/AudioObject vocabulary: it tags the audio's , where the file is , how long it runs , and its format .","Like most schema, it's written as JSON LD — a small block of code that sits in the page without changing how the page looks.","The honest part: what it does not do Here's the thing most guides won't tell you plainly.","Some schema types earn you a richer search listing — Recipe gets you the recipe card, VideoObject can get you a video thumbnail."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/audioobject-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/audioobject-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Book Schema","desc":"What schema.org/Book structured data does, how it differs from Google's registration-gated Book Actions feed program, the confusing June–November 2025 timeline (announced for removal, then quietly kept), and what Book markup is still genuinely good for.","snippetText":"Book schema (schema.org/Book) is structured data describing a book — name, author, isbn, datePublished, bookFormat — and it is not the same thing as Google's Book Actions feature. Book Actions is a registration-gated, feed-based 'buy or borrow' program for approved book providers and library systems, structurally closer to a Merchant Center feed than to on-page JSON-LD. The single biggest confusion I want to fix: Book Actions was announced for deprecation in June 2025 alongside six other types, but it was the one type NOT actually removed when Google pulled Search Console reporting in Septembe","href":"/technical-seo/on-page/structured-data/creative-works/book-schema/","slug":"book-schema","meta":"Educational","aliases":["book-schema","book schema","schema.org/Book","Book structured data","Book Actions","Book Schema","schema-markup","structured-data","review-schema","product-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","creative-works"],"text":"book-schema structured-data schema-org json-ld book-actions creative-works schema rich-results Book schema (schema.org/Book) is structured data describing a book — name, author, isbn, datePublished, bookFormat — and it is not the same thing as Google's Book Actions feature. Book Actions is a registration-gated, feed-based 'buy or borrow' program for approved book providers and library systems, structurally closer to a Merchant Center feed than to on-page JSON-LD. The single biggest confusion I want to fix: Book Actions was announced for deprecation in June 2025 alongside six other types, but it was the one type NOT actually removed when Google pulled Search Console reporting in September 2025, and Google removed the deprecation banner from the /book doc entirely by November 2025 — so 'Book schema was removed in 2025' is now itself a myth. Most sites can't earn a Book Actions rich result from markup alone anyway. What plain Book markup is still genuinely good for: it makes book-review pages eligible for the ungated Review snippet (Book is a listed reviewable entity type), and it feeds entity/Knowledge Graph understanding via sameAs. Valid markup only makes you eligible; it doesn't feed Google Books and it isn't a ranking factor. What Book schema is Book schema vs. \"Book Actions\" — not the same thing About that \"removed in 2025\" thing What Book markup is still good for — the vocabulary Book schema vs. Book Actions — the distinction the whole topic hinges on Work vs. Edition — how Book Actions models a book ISBN is the reconciliation key ISBN 13 only If you're actually onboarded: the provider checklist The confusing 2025 timeline, explained Should you bother with Book Actions specifically? What plain Book markup is still good for — no gatekeeping Example: plain entity clarity JSON LD Bing and other engines AI summary Official documentation Quotes from the source Book Actions, or just plain Book markup? Book schema myths and mistakes to avoid Prove your Book markup actually did what you intended Test 1 — Your book review page is Review snippet eligible Test 2 — Your ISBN is a valid, submission ready ISBN 13 Tools for building and checking Book markup Metrics for Book markup Book schema (schema.org/Book) is structured data describing a book's title, author, ISBN, and format. It can power Google's review-snippet rich result and — for approved feed providers — the ","passages":["TL;DR — Book schema is code you add to a page that labels a book's details for search engines — \"this is the title,\" \"this is the author,\" \"this is the ISBN.\" There's a lot of confusion online right now that \"Google removed Book schema in 2025.\" That's not what happened — Google announced it, then didn't actually pull it.","Adding markup still helps search engines understand your book, and it can make a book review page eligible for star rating snippets.","Just don't expect the fancy \"buy or borrow\" buttons from markup alone — those come from a separate, invite only Google program.","What Book schema is When you read a book's page, you can tell the title from the author from the price just by looking.","Book schema spells it out in code, using the shared schema.org https://schema.org/Book vocabulary — it tags each part of the page with what it actually is : the title , the , the , when it was published, how many pages, what format.","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","\"Book Actions\" — not the same thing Here's the first thing that trips people up.","There are really two separate ideas: Plain Book schema — the markup any site can add to describe a book."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/book-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/book-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Course Schema","desc":"How to implement schema.org/Course markup for Google's \"Course list\" carousel — the at-least-three-courses rule that trips most people up, the difference between Course and CourseInstance, what happened to the deprecated single-course \"Course Info\" feature, and why the carousel is English-gated rather than US-only.","snippetText":"Course schema (schema.org/Course) marks up educational courses so a listing page can qualify for Google's 'Course list' carousel. The rule almost everyone misses: the carousel requires at least three courses marked up together — a single Course is still valid schema.org markup, but it doesn't qualify for the carousel, and there is no single-course rich card. Google's own required/recommended property table lists name and description as required and provider as recommended, but its technical guideline separately says every course needs a valid provider too — treat provider as effectively requir","href":"/technical-seo/on-page/structured-data/creative-works/course-schema/","slug":"course-schema","meta":"Educational","aliases":["course-schema","course schema","schema.org/Course","course structured data","Course markup","Course list","Course Schema","schema-markup","structured-data","rich-results","product-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","creative-works"],"text":"course-schema structured-data schema-org json-ld rich-results education Course schema (schema.org/Course) marks up educational courses so a listing page can qualify for Google's 'Course list' carousel. The rule almost everyone misses: the carousel requires at least three courses marked up together — a single Course is still valid schema.org markup, but it doesn't qualify for the carousel, and there is no single-course rich card. Google's own required/recommended property table lists name and description as required and provider as recommended, but its technical guideline separately says every course needs a valid provider too — treat provider as effectively required until Google reconciles the two. Most older guides describe a richer single-course 'Course Info' feature (price, dates, instructor) — Google deprecated that in June 2025 and its documentation now redirects to a changelog confirming removal, so any guide built around it is describing a dead feature. The carousel is available in English wherever Google Search operates, which is a language restriction, not the 'US-only' geographic one you'll see repeated elsewhere. Course is the general class; CourseInstance is a separate nested type for a specific offering (mode, start date). Valid markup only makes you eligible — Google still decides whether to show the carousel. What Course schema is The one rule that trips everyone up What you actually need per course What most old guides get wrong What Course schema does today — the Course list carousel The three course minimum and other eligibility rules Course vs. CourseInstance What changed: the \"Course Info\" deprecation Implementation basics and common mistakes AI summary Official documentation Quotes from the source Course schema myths and mistakes to avoid Which Course markup should you use? Simplified three course list Course and a specific offering Tools for Course markup Prove a Course implementation Three course eligibility test Source HTML test CourseInstance relationship test Test yourself: Course Schema Resources worth your time Course schema (schema.org/Course) marks up educational courses for Google's 'Course list' carousel — which requires at least three courses marked up together, not a single-course card. A richer single-course 'Course Info' feature existed but was deprecated in June 2025. TL;DR — Course schema is code you add to a page that l","passages":["TL;DR — Course schema is code you add to a page that labels your courses for search engines — \"this is the course name,\" \"this is who teaches it,\" \"this is what it covers.\" Adding it correctly can make a listing page eligible for Google's \"Course list\" carousel , a row of courses shown above the normal results.","The catch almost everyone misses: that carousel needs at least three courses marked up together.","A single course is still valid Course markup — it's just not enough on its own to qualify for the carousel, and there's no single course card anymore.","What Course schema is When you look at a page listing your courses, you can tell the course title from the provider from the description just by reading.","Course schema spells it out in code, using the shared schema.org https://schema.org/Course vocabulary — it tags each course with what it actually is : the , a , and the the school or platform offering it .","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","The one rule that trips everyone up Google's Course rich result today is a carousel of courses , not a card for a single course.","To be eligible, you have to mark up three or more courses together on the same listing page."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/course-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/course-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Creative Works Schema","desc":"Creative Works schema is my catch-all for the schema.org CreativeWork subtypes used to mark up authored content — Article, AudioObject, Book, Course, Dataset, Movie, Recipe, and VideoObject. Here's which of the eight actually earn a visible Google rich result and which are entity-understanding markup only, with no dedicated search feature.","snippetText":"\"Creative Works schema\" is my practitioner label — not a Google feature category, though CreativeWork IS a real schema.org umbrella type — for eight of the schema.org subtypes that describe authored content: Article, AudioObject, Book, Course, Dataset, Movie, Recipe, and VideoObject (schema.org's own hierarchy has more; these eight aren't exhaustive). Google does directly recognize the base CreativeWork type in one narrow context — its paywalled-content structured-data profile — so it's not accurate to say Google never touches the type at all; it just doesn't group these eight into one feature","href":"/technical-seo/on-page/structured-data/creative-works/","slug":"creative-works","meta":"Educational","aliases":["creative-works-schema","creative works schema","creativework schema","content schema types","media schema","Creative Works Schema","article-schema","recipe-schema","videoobject-schema","dataset-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"creative-works-schema structured-data article-schema recipe-schema videoobject-schema rich-results on-page-seo schema json-ld \"Creative Works schema\" is my practitioner label — not a Google feature category, though CreativeWork IS a real schema.org umbrella type — for eight of the schema.org subtypes that describe authored content: Article, AudioObject, Book, Course, Dataset, Movie, Recipe, and VideoObject (schema.org's own hierarchy has more; these eight aren't exhaustive). Google does directly recognize the base CreativeWork type in one narrow context — its paywalled-content structured-data profile — so it's not accurate to say Google never touches the type at all; it just doesn't group these eight into one feature family. The single most useful thing this hub does is separate valid from visible: only Recipe and VideoObject earn a genuine mainstream visual rich result (verified 2026-07-16). Course is now a 3+-course carousel only (the single-course card was deprecated June 2025); Movie's carousel is mobile-only; Dataset feeds Google's separate Dataset Search tool, not the normal SERP; Article has no dedicated visual card (and does NOT require AMP); AudioObject and Book have no supported-types entry for a mainstream rich result at all — though AudioObject's absence from Google's gallery is negative evidence limited to that gallery, not proof no system anywhere consumes the markup. Valid schema for a CreativeWork subtype does not imply a visual result — it ranges from a full SERP card down to zero visual treatment, and conflating 'valid' with 'visible' is the most common mistake in this space. None of it is a ranking factor — it earns eligibility, not rank. What \"Creative Works schema\" means The thing most people get wrong One more thing it does not do First, an honest framing: this is my grouping, not Google's The tiered accuracy table: which of the eight actually get a visible result What changed recently: June 2025 was an inflection point The Book and AudioObject nuance — the two \"no visible result\" cases The Article correction: no AMP required, no dedicated card How to decide which type s apply to your content Shared ground rules across all eight Where to go next AI summary Official documentation Quotes from the source Creative Works schema at a glance Which creative works type applies — and will it get me a visible result? Anti patterns — the mistakes t","passages":["TL;DR — \"Creative Works schema\" is my shorthand for the schema.org types you use to mark up content you've created — articles, videos, podcasts, recipes, courses, datasets, movies, and books.","But here's the catch most guides hide: adding one of these does not guarantee a fancy search listing.","Some specific subtypes support documented Google features, while others do not.","The range runs from mainstream visual treatments to narrow features or nothing you can see at all — the markup just helps engines understand your page.","What \"Creative Works schema\" means When you look at a recipe page, you can tell the cook time from the calories from the star ratings just by reading.","Schema markup is code you add to spell it out — \"this is the cook time,\" \"this is a video,\" \"this is the author\" — using a shared vocabulary from a site called schema.org https://schema.org/ .","\"Creative Works schema\" is my umbrella for the schema.org types that describe a piece of authored content .","schema.org really does group these under one formal type called CreativeWork https://schema.org/CreativeWork — but Google does not treat them as one family, and I'll be honest about that in the Advanced tab."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Dataset Schema","desc":"How to implement schema.org/Dataset markup — the required description and name properties, why Dataset schema feeds Google's separate Dataset Search tool rather than a mainstream web-search rich snippet, who should actually use it, and the common mistakes Google flags.","snippetText":"Dataset schema (schema.org/Dataset) is structured data that marks up a data collection so it can surface in Google's dedicated Dataset Search tool at datasetsearch.research.google.com. Google clarified in a November 2025 documentation update that Dataset structured data is scoped to Dataset Search, not mainstream Google Search — it does not produce the kind of rich snippet you see on ordinary Google searches, and it feeds a separate destination Google built for researchers, data scientists, and similar audiences per its own stated purpose. Only two properties are required in Google's current D","href":"/technical-seo/on-page/structured-data/creative-works/dataset-schema/","slug":"dataset-schema","meta":"Educational","aliases":["dataset-schema","dataset schema","schema.org/Dataset","dataset structured data","Dataset markup","Google Dataset Search","Dataset Schema","schema-markup","structured-data","article-schema","book-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","creative-works"],"text":"dataset-schema structured-data schema-org json-ld dataset-search technical-seo schema rich-results Dataset schema (schema.org/Dataset) is structured data that marks up a data collection so it can surface in Google's dedicated Dataset Search tool at datasetsearch.research.google.com. Google clarified in a November 2025 documentation update that Dataset structured data is scoped to Dataset Search, not mainstream Google Search — it does not produce the kind of rich snippet you see on ordinary Google searches, and it feeds a separate destination Google built for researchers, data scientists, and similar audiences per its own stated purpose. Only two properties are required in Google's current Dataset Search profile — description (50 to 5000 characters, of which Dataset Search reads only the first 5000) and name — and license/isAccessibleForFree matter here because Dataset Search users are often weighing whether the data looks reusable, though the markup itself doesn't settle legal reuse rights. Google explicitly flags duplicate generic names (many Snow depth datasets undisambiguated) as a real problem. It's a niche play for research institutions, .gov/.edu open-data portals, ML dataset hosting, and journals with supplementary data — not a general SEO ranking or rich-result tactic. If your site has no literal dataset to publish, this markup is not for you. What Dataset schema is The one thing to understand before anything else What you actually need Who should bother What Dataset schema actually does — the Dataset Search distinction Required vs. recommended properties Common mistakes Google specifically flags License, access rights, and what the markup doesn't decide Who should actually implement this Where Dataset sits in the schema family The Dataset → distribution → version model AI summary Official documentation Quotes from the source Dataset schema myths and mistakes to avoid Dataset schema cheat sheet Should I use Dataset schema at all? Clean vs. broken Dataset JSON LD A clean, well formed Dataset snippet The same dataset, broken Where the payoff shows up Tools for writing, validating, and testing Dataset markup Proving your Dataset markup actually took effect Test 1: JSON LD structural validity Dataset schema (schema.org/Dataset) is structured data that marks up a data collection so it can surface in Google's dedicated Dataset Search tool — a separate dest","passages":["TL;DR — Dataset schema is code you add to a page that publishes a collection of data — research data, government/civic data, a machine learning training set — so a search engine understands what the dataset is .","But here's the catch most people miss: it does not get you the fancy listings you see on normal Google searches.","It feeds a separate tool called Google Dataset Search datasetsearch.research.google.com , a different site Google built for researchers and data scientists.","If you don't literally publish data, this markup isn't for you.","What Dataset schema is When you land on a page hosting a dataset — a CSV of rainfall readings, a public health data table, an ML training set — you can read the title, spot the license, see who created it.","Dataset schema spells it out in code, using the shared schema.org https://schema.org/Dataset vocabulary: this is the dataset's , this is a of what it contains, this is the , this is the , these are the download formats.","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","The one thing to understand before anything else Most schema types earn you a rich result in ordinary Google search — the star ratings, the FAQ dropdowns, the recipe cards."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/dataset-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/dataset-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"DiscussionForumPosting Schema","desc":"How to implement DiscussionForumPosting structured data for forum and community content — the required properties, why Google recommends Microdata over JSON-LD here, how it differs from QAPage and FAQPage, the digitalSourceType AI-disclosure property, and whether it's still worth doing given the 2025-2026 UGC visibility pullback.","snippetText":"DiscussionForumPosting schema (schema.org/DiscussionForumPosting) is the markup you add to genuinely user-generated forum and community posts so Google can identify online discussions and consider them for the Discussions and forums and Perspectives features. Google launched it on November 27, 2023 alongside ProfilePage. It requires author, author.name, datePublished, and at least one of text/image/video on both the post and every nested Comment. Two things make it unusual: Google recommends Microdata or RDFa over JSON-LD for this specific type (to avoid duplicating large text blocks) — the op","href":"/technical-seo/on-page/structured-data/social-community/discussionforum-schema/","slug":"discussionforum-schema","meta":"Educational","aliases":["discussionforum-schema","DiscussionForumPosting schema","discussion forum schema","forum schema markup","Discussions and forums","DiscussionForumPosting Schema","structured-data","faqpage-schema","qapage-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","social-community"],"text":"discussionforum-schema structured-data schema-org forum-seo ugc on-page-seo schema json-ld rich-results DiscussionForumPosting schema (schema.org/DiscussionForumPosting) is the markup you add to genuinely user-generated forum and community posts so Google can identify online discussions and consider them for the Discussions and forums and Perspectives features. Google launched it on November 27, 2023 alongside ProfilePage. It requires author, author.name, datePublished, and at least one of text/image/video on both the post and every nested Comment. Two things make it unusual: Google recommends Microdata or RDFa over JSON-LD for this specific type (to avoid duplicating large text blocks) — the opposite of its usual JSON-LD preference — and it's strictly for user-generated content, not site-authored articles or product reviews. If your forum is question-and-answer structured, Google says use Q&A markup instead. Markup only makes content considered for the features, never guaranteed. Bing has no dedicated guidance for this type. And the honest 2026 question is whether it's worth it at all, given the core-update UGC/forum visibility pullback — my answer is nuanced. What DiscussionForumPosting schema is What Google needs at minimum The thing most people get wrong What it is, and why Google built it Required properties Requirements by context Recommended properties that add real value Don't try to mark up the entire schema.org spec The property: disclosing AI vs. human content Threading and nesting: marking up replies correctly mainEntity vs. mainEntityOfPage: single post pages vs. list pages Why Google recommends Microdata/RDFa over JSON LD here Content eligibility: what counts as \"genuinely user generated\" Distinguishing it from QAPage and FAQPage Perspectives, Discussions and forums — and \"considered for,\" not guaranteed Measuring it: the Search Console filter Does Bing support this? Is it still worth doing in 2026? Where this sits AI summary Official documentation Quotes from the source Which schema does my community content need? Myths and mistakes DiscussionForumPosting schema (schema.org/DiscussionForumPosting) is structured data for genuinely user-generated forum and community posts, so Google can identify online discussions and consider them for the Discussions and forums and Perspectives features. It requires author, datePublished, and one of text/image/","passages":["TL;DR — DiscussionForumPosting schema is code you add to forum and community posts written by your users that labels who wrote each post, when, and what it says — so Google can tell it's an online discussion and maybe show it in the Discussions and forums section of search results.","It only works for genuinely user generated content — not your own articles, and not product reviews.","And if your forum is really a question with answers, Google wants you to use Q&A markup instead.","What DiscussionForumPosting schema is When people post and reply on a forum, you can read who said what and when just by looking at the page.","A search engine sees plain text and has to guess which part is the original post, which parts are replies, and who wrote each one.","DiscussionForumPosting schema spells that out in code, using the shared vocabulary from schema.org https://schema.org/DiscussionForumPosting , so Google can understand that a page is an online discussion.","Google added support for it in November 2023 to power a search feature you've probably seen — the \"Discussions and forums\" block that shows forum threads and community answers in results — and a related experience called Perspectives that highlights first hand takes from real people.","What Google needs at minimum For each post and each reply, marked up as a , you need: author — who wrote it, with their name ."],"updated":"2026-07-20T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/discussionforum-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/discussionforum-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Entity & Identity Schema","desc":"The schema types that declare who and what is behind a site — Organization, LocalBusiness, and Person — and how they connect that identity to Google's Knowledge Graph.","snippetText":"\"Entity & identity schema\" is my non-exhaustive label — not an official one — for three schema.org types that declare who or what is behind a site: Organization, LocalBusiness, and Person. Their job isn't rich results; it's disambiguation — telling Google which real-world entity a page belongs to, and connecting that claim to authoritative profiles through sameAs (examples like Wikipedia, Wikidata, verified social accounts — not requirements). LocalBusiness is a subtype of Organization, so use the most specific one that fits; Person is the individual counterpart. This is not a ranking factor a","href":"/technical-seo/on-page/structured-data/entities/","slug":"entities","meta":"Educational","aliases":["entities","entity schema","identity schema","entity and identity schema","Entity & Identity Schema","organization-schema","localbusiness-schema","person-schema","schema-markup"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"entity-schema identity-schema organization-schema localbusiness-schema person-schema sameas knowledge-graph structured-data on-page-seo entities wikidata schema \"Entity & identity schema\" is my non-exhaustive label — not an official one — for three schema.org types that declare who or what is behind a site: Organization, LocalBusiness, and Person. Their job isn't rich results; it's disambiguation — telling Google which real-world entity a page belongs to, and connecting that claim to authoritative profiles through sameAs (examples like Wikipedia, Wikidata, verified social accounts — not requirements). LocalBusiness is a subtype of Organization, so use the most specific one that fits; Person is the individual counterpart. This is not a ranking factor and it does not guarantee a Knowledge Panel — sameAs is an identity-resolution signal, not a magic trust lever, and a wrong sameAs value can actively misattribute your entity. Whether it affects AI-answer citation is a plausible but unproven hypothesis, not a documented mechanism. This hub explains the concept and routes you to the three deep dives. What \"entity schema\" means Why it matters The one property that ties it together: What Google means by \"entity\" Identity schema vs. content schema The three identity bearing types and identity resolution — connecting your nodes into one graph Why this matters for AI search / GEO Common mistakes Where to go next AI summary Official documentation Quotes from the source When to use Organization vs. LocalBusiness vs. Person Treating identity schema like a rich result task Reusing or misdirecting a value Marking up on every page site wide Assuming you need a Wikipedia page to be a recognized entity Expecting a Knowledge Panel as a guaranteed outcome Check what entities your page actually surfaces Confirm whether Google's Knowledge Graph already knows you Validate your Organization, LocalBusiness, or Person JSON LD Test yourself: Entity & Identity Schema \"Entity & identity schema\" is a practitioner label — not an official Google or schema.org category, and not exhaustive of identity-capable schema.org types — for the three main types that declare who or what is behind a site: Organization, LocalBusiness, and Person. TL;DR — Most schema markup describes what's on a page \"this is the price,\" \"this is a review\" . Entity & identity schema does a different job: it tells search e","passages":["TL;DR — Most schema markup describes what's on a page \"this is the price,\" \"this is a review\" .","Entity & identity schema does a different job: it tells search engines who or what is behind the site — a company, a local business, or a person.","The three main types are Organization , LocalBusiness , and Person not the only identity capable schema.org types, just the three that matter most here .","Their point is to help Google identify you as a distinct \"entity,\" not to earn star ratings.","It does not directly make you rank higher, and it does not guarantee you a Knowledge Panel.","What \"entity schema\" means Schema.org's Thing type and sameAs property provide vocabulary for identifying a thing and linking unambiguous identity references.","Google recommends structured data that accurately represents visible page content and uses stable identifiers consistently.","When you read a web page, you can tell that \"Apple\" the company is different from \"apple\" the fruit, and that the author \"John Smith\" is a specific real person and not just a name."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Event Schema","desc":"How to implement schema.org/Event markup for Google's event rich results — required properties (name, startDate, location), why virtual-only events aren't eligible, the four eventStatus values, and the one-event-one-URL rule.","snippetText":"Event schema (schema.org/Event) is structured data — usually JSON-LD — that tells search engines an event's name, date, location, and ticketing details so an individual event page can qualify for Google's event rich result. Google requires exactly three properties: name, startDate, and location. The single biggest myth to bust: as of Google's current (December 2025) docs, virtual-only events aren't eligible for the event rich result — 'Virtual experiences that have no real-world component aren't supported. Events must take place in a physical location.' That contradicts a lot of still-circulat","href":"/technical-seo/on-page/structured-data/social-community/event-schema/","slug":"event-schema","meta":"Educational","aliases":["event-schema","Event schema","schema.org/Event","event structured data","event rich results","event markup","Event Schema","structured-data","schema-markup","rich-results"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","social-community"],"text":"event-schema structured-data schema-org json-ld rich-results events Event schema (schema.org/Event) is structured data — usually JSON-LD — that tells search engines an event's name, date, location, and ticketing details so an individual event page can qualify for Google's event rich result. Google requires exactly three properties: name, startDate, and location. The single biggest myth to bust: as of Google's current (December 2025) docs, virtual-only events aren't eligible for the event rich result — 'Virtual experiences that have no real-world component aren't supported. Events must take place in a physical location.' That contradicts a lot of still-circulating 2020 pandemic-era advice that treats eventAttendanceMode=OnlineEventAttendanceMode and VirtualLocation as sufficient on their own; those properties are still valid schema.org but don't unlock the rich result for an online-only event. Other load-bearing rules: each event needs its own unique leaf-page URL (listing pages don't qualify), you must never strip startDate or location when updating eventStatus (EventScheduled, EventCancelled, EventPostponed, EventRescheduled), and marking up sales, coupons, or non-events has historically triggered manual actions. Valid markup only makes you eligible; Google still decides whether to show it. What Event schema is Why it's worth doing The three things you must have The thing most people get wrong What Event schema does — and what it doesn't Required properties: name, startDate, location Recommended properties that improve the result Virtual and hybrid events: what Google's current docs actually say Handling event status: EventScheduled, EventCancelled, EventPostponed, EventRescheduled One event, one URL — why listing pages don't qualify Multi day events vs. multiple performances Content policies — what gets events disapproved and manually actioned Date and time formatting Event subtypes: base Event vs. MusicEvent, BusinessEvent, etc. Bing and Event schema Validating and troubleshooting Where this sits AI summary Official documentation Quotes from the source Event schema cheat sheet Is my event eligible for Google's event rich result? Event schema myths and mistakes to avoid Tools for validating Event schema Event schema (schema.org/Event) is structured data that tells search engines an event's name, date, location, and ticket info so the page can appear in Goo","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Event schema is code you add to an event page that labels the event details for search engines — \"this is the event name,\" \"this is when it starts,\" \"this is where it's held,\" \"here's how to get tickets.\" Adding it correctly to an individual event page can make it eligible for Google's richer event listings.","The catch most guides get wrong: Google's event rich result needs a real, physical location — a purely online only event isn't eligible, no matter how you mark it up.","What Event schema is When you look at an event page, you can tell the event name from the date from the venue just by reading.","Event schema spells it out in code, using the shared schema.org https://schema.org/Event vocabulary — it tags each piece of the page with what it actually is : the of the event, the , the , ticket , who's performing, and who's organizing.","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","Why it's worth doing The payoff is the event rich result : the enhanced, visually rich listing and the dedicated event search experience Google shows for event related searches.","A page with clean Event markup can earn a more eye catching listing that shows the date, venue, and ticket info right in the results — which can help it stand out.","The same structured markup gives AI systems a cleaner, unambiguous read on the event's details too, though I don't have data showing that reliably translates into more AI sourced traffic or citations for any particular event page."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/event-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/event-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"FAQPage Schema","desc":"What FAQPage schema is, the exact timeline Google used to phase out the FAQ rich result (August 2023 → May 7, 2026), why the FAQPage type is still valid markup, how it differs from QAPage, and whether it's still worth implementing in 2026.","snippetText":"FAQPage schema (schema.org/FAQPage) marks up a page's frequently-asked-questions content — a mainEntity array of Question items, each with a name and an acceptedAnswer that has text. It used to earn an expandable FAQ rich result in Google Search, but Google restricted that to government and health sites on August 8, 2023, then fully removed it for everyone — including those gov/health sites — on May 7, 2026. Google's own FAQ tooling followed: the search-appearance filter, rich result report, and Rich Results Test support in June 2026, and Search Console API support in August 2026. The crucial ","href":"/technical-seo/on-page/structured-data/social-community/faqpage-schema/","slug":"faqpage-schema","meta":"Educational","aliases":["faqpage-schema","FAQPage schema","FAQ schema markup","schema.org/FAQPage","FAQ structured data","FAQPage structured data","FAQPage Schema","structured-data","qapage-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","social-community"],"text":"faqpage-schema structured-data schema-org schema json-ld rich-results faq FAQPage schema (schema.org/FAQPage) marks up a page's frequently-asked-questions content — a mainEntity array of Question items, each with a name and an acceptedAnswer that has text. It used to earn an expandable FAQ rich result in Google Search, but Google restricted that to government and health sites on August 8, 2023, then fully removed it for everyone — including those gov/health sites — on May 7, 2026. Google's own FAQ tooling followed: the search-appearance filter, rich result report, and Rich Results Test support in June 2026, and Search Console API support in August 2026. The crucial distinction: the rich result is gone, but the FAQPage type is not deprecated. It's still valid markup, Google says it still parses it to understand pages, and there's no penalty and no need to rip it out. Bing has announced no equivalent restriction or removal — an absence of an announcement, not independent confirmation it's currently displaying FAQ rich results. Don't confuse FAQPage with QAPage (community Q&A, multiple answers) — QAPage is a different type that's still supported, with a supported-properties update logged March 24, 2026. And the popular 'FAQ schema helps AI citations' claim is unproven — an Ahrefs test cited by SEJ (pooling multiple schema types, not FAQPage alone, across ~1,885 pages) found only a small +2.2% ChatGPT-citation change after adding schema, which the researchers called too small to separate from random variation. My advice: leave existing markup in place, don't chase the old rich result, and judge new FAQ content on its on-page and UX merits. What FAQPage schema is Why people added it — and what changed Should you remove your FAQ schema? Two quick things that trip people up The central question: is FAQ schema still worth doing? The full timeline — how FAQ rich results were phased out August 2023 — restricted to government and health sites May 7, 2026 — fully removed for everyone June–August 2026 — Google retires its own FAQ tooling What Google says now — the markup is not deprecated FAQPage structure and example JSON LD FAQPage vs. QAPage — don't confuse them Does FAQ schema still help with AI search or AI Overviews? Does Bing still use FAQ schema? What FAQPage schema is still good for AI summary Official documentation Quotes from the source FAQPage schema cheat sh","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — FAQPage schema is code you add to a page with a frequently asked questions section — it labels each question and its answer for search engines.","It used to make Google show an expandable list of your questions right in the search results the \"FAQ rich result\" .","The markup itself is still fine to keep — Google's policy is that it doesn't cause any problems and Google says it still reads it — but it no longer earns you that extra spot in search.","What FAQPage schema is If a page has a \"Frequently asked questions\" section, a human can tell the questions from the answers just by reading.","FAQPage schema spells it out in code, using the shared schema.org https://schema.org/FAQPage vocabulary: \"this is the page's FAQ,\" \"this is a question,\" \"this is its answer.\" It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","Why people added it — and what changed For years, valid FAQPage markup could earn a FAQ rich result : Google would show your questions as an expandable list directly under your search listing, taking up more space on the page.","Here's the part that matters most in 2026: that rich result is gone.","Google phased it out in stages — August 2023 — Google limited the FAQ rich result to well known government and health websites."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/faqpage-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/faqpage-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HowTo Schema","desc":"What HowTo schema markup is, the exact timeline Google used to remove HowTo rich results in 2023 (mobile first, then desktop — a full removal on both), the schema.org/HowTo properties, and whether the markup is still worth keeping in 2026.","snippetText":"HowTo schema (schema.org/HowTo) marks up step-by-step instructions — the steps, tools, supplies, and time to complete a task. It used to earn a Google rich result (expandable step cards in the SERP), but Google removed that result entirely in two stages: mobile first on August 8, 2023, then desktop too as of September 13, 2023. Google's own documentation changelog says the removal covers 'both desktop and mobile devices' — this is a full, global removal, not a desktop-only change, and there's no documented exception for Google Assistant or any region. Google then pulled the HowTo docs page its","href":"/technical-seo/on-page/structured-data/social-community/howto-schema/","slug":"howto-schema","meta":"Educational","aliases":["howto-schema","HowTo schema","HowTo schema markup","schema.org/HowTo","HowTo structured data","HowTo Schema","structured-data","schema-markup","rich-results"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","social-community"],"text":"howto-schema structured-data schema-org json-ld rich-results deprecated HowTo schema (schema.org/HowTo) marks up step-by-step instructions — the steps, tools, supplies, and time to complete a task. It used to earn a Google rich result (expandable step cards in the SERP), but Google removed that result entirely in two stages: mobile first on August 8, 2023, then desktop too as of September 13, 2023. Google's own documentation changelog says the removal covers 'both desktop and mobile devices' — this is a full, global removal, not a desktop-only change, and there's no documented exception for Google Assistant or any region. Google then pulled the HowTo docs page itself. The schema.org vocabulary is untouched and still valid, and Google says there's no need to strip old markup out — but it produces zero visible rich result now. Don't conflate HowTo with Recipe schema, which is a separate type that still earns real rich results. The one plausible remaining upside — that structured step data helps LLMs/AI Overviews parse instructional content — is speculative and unproven, not a confirmed benefit. What HowTo schema is The important part: the Google rich result is gone Do you need to remove old HowTo markup? Don't confuse it with Recipe schema What HowTo schema is Is HowTo schema still worth using in 2026? The removal timeline: mobile first, then desktop — a full removal Google removed its own documentation page Does it still show anywhere? Assistant, other regions HowTo schema properties and structure HowToStep vs. HowToSection Should you remove HowTo markup from your site? HowTo vs. Recipe vs. FAQPage Does HowTo schema still have value for AI Overviews / LLMs? Bing and other search engines AI summary Official documentation Quotes from the source HowTo schema cheat sheet HowTo schema myths and mistakes to avoid What HowTo markup looks like and what it earns you A valid HowTo block Grouping steps with HowToSection The visible content matters more than the markup HowTo schema (schema.org/HowTo) is structured data for step-by-step instructions. Google fully removed the HowTo rich result — on both desktop and mobile — in 2023, so it no longer produces any visible treatment in Search, though the schema.org vocabulary remains valid to use. {/ tool rule claim: schema.structured data validity/article contract /} TL;DR — HowTo schema is code you add to a page with step by","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — HowTo schema is code you add to a page with step by step instructions — it labels \"these are the steps,\" \"these are the tools you need,\" \"this is how long it takes.\" It used to get you a special listing in Google with the steps shown right in the search results.","That listing is gone — Google removed it completely in 2023, on both phones and desktop.","The code is still valid to use and won't hurt anything, but it no longer gets you anything extra in Google Search.","What HowTo schema is When you write a \"how to\" article — how to tie a knot, how to reset a router, how to assemble a shelf — a person reading it can tell the steps apart, spot which tools they'll need, and see roughly how long it'll take.","HowTo schema spells all of that out in code, using the shared schema.org https://schema.org/HowTo vocabulary, so the engine knows \"this is step 1,\" \"this is a tool,\" \"this is the total time.\" It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","The important part: the Google rich result is gone For years, marking up a how to page could earn you a rich result — an expandable set of step cards, sometimes with images, shown right in Google's search results.","It happened in two steps: first it disappeared from mobile August 8, 2023 , and then from desktop too as of September 13, 2023 .","So today, no matter what device someone is on, adding HowTo schema gets you no special listing in Google Search."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/howto-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/howto-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"LocalBusiness Schema","desc":"How to implement LocalBusiness schema, why Google supports far less than the full schema.org spec, choosing the right subtype, NAP consistency, and how it differs from a Google Business Profile.","snippetText":"LocalBusiness schema (schema.org/LocalBusiness) describes a physical business to search engines. It's a subtype of Organization and Place, so the full spec inherits dozens of properties — but Google requires only two (name, address) and consumes about a dozen recommended ones. The wins come from using the most specific subtype (Restaurant, LegalService, DaySpa — not generic LocalBusiness), keeping NAP consistent across markup, your Google Business Profile, and directory citations, and getting the fiddly details right: geo coordinates need at least 5 decimal places, priceRange must stay under 1","href":"/technical-seo/on-page/structured-data/entities/localbusiness-schema/","slug":"localbusiness-schema","meta":"Educational","aliases":["localbusiness-schema","localbusiness schema","local business schema","schema.org/localbusiness","LocalBusiness Schema","schema-markup","entities","organization-schema","person-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","entities"],"text":"localbusiness-schema structured-data schema-org local-seo json-ld nap entities schema rich-results google-serp LocalBusiness schema (schema.org/LocalBusiness) describes a physical business to search engines. It's a subtype of Organization and Place, so the full spec inherits dozens of properties — but Google requires only two (name, address) and consumes about a dozen recommended ones. The wins come from using the most specific subtype (Restaurant, LegalService, DaySpa — not generic LocalBusiness), keeping NAP consistent across markup, your Google Business Profile, and directory citations, and getting the fiddly details right: geo coordinates need at least 5 decimal places, priceRange must stay under 100 characters. The two biggest traps: marking up your own star rating with aggregateRating/review (that's for sites reviewing OTHER businesses — self-serving reviews break Google's guidelines), and treating schema as a substitute for a Google Business Profile. They're separate systems, reconciled separately, and valid markup only makes you eligible — Google never guarantees a rich result. What LocalBusiness schema is What Google actually needs The two things beginners get wrong Where it sits: a subtype of Organization and Place The full spec vs. what Google actually consumes Choosing the right subtype NAP consistency — schema, GBP, and citations The implementation details that trip people up Reviews and ratings: the self serving rating trap Multi location businesses: one page vs. many LocalBusiness schema vs. Google Business Profile What it does — and doesn't — guarantee Validate before you ship AI summary Official documentation Quotes from the source Properties cheat sheet Anti patterns: how LocalBusiness markup goes wrong Test yourself: LocalBusiness Schema Which LocalBusiness subtype should I use? One page per location, or nest under Organization? Worked examples: LocalBusiness JSON LD Example 1: minimum viable markup required properties only Example 2: a specific subtype with the recommended properties filled in LocalBusiness schema (schema.org/LocalBusiness) is structured data — usually JSON-LD — that describes a physical business to search engines: its name, address, phone, hours, geo-coordinates, and price range. Google requires only name and address, consumes about a dozen recommended properties, and treats it as a corroborating signal, not a substitute","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — LocalBusiness schema is code you add to a page that tells search engines the facts about a physical business — its name, address, phone number, and hours.","Google only requires two things name and address ; everything else is optional but makes the result richer.","It is not the same as setting up a Google Business Profile, and adding it doesn't guarantee you a fancy search result — it just makes you eligible for one.","What LocalBusiness schema is When a search engine reads your \"Contact\" page, it sees text.","It can't automatically tell your street address from your phone number from your opening hours the way you can.","LocalBusiness schema spells it out in code: this is the name, this is the address, this is the phone number, these are the hours.","It uses the shared vocabulary from schema.org https://schema.org/ — the same vocabulary behind all schema markup /technical seo/on page/structured data/schema markup/ — and you usually write it as JSON LD , a small block of code that sits in the page without changing how it looks.","schema.org defines dozens of properties you could add, but Google only requires two : — the name of the business."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/localbusiness-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/localbusiness-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Movie Schema","desc":"How to implement schema.org/Movie markup for Google's movie carousel — the required vs. recommended properties, the ItemList wrapper the carousel actually needs, why the carousel is mobile-only with no desktop equivalent, what happened to the separate Critic Review layer that was deprecated, and who should actually bother implementing it.","snippetText":"Movie schema (schema.org/Movie) is structured data that powers a real, live Google feature — the movie carousel — but that carousel is mobile-only, with no desktop equivalent. Google requires just image and name, and recommends aggregateRating, dateCreated, director, and review; the director and aggregateRating are what make a carousel entry look like a movie rather than a generic page. One catch most guides skip: a standalone Movie object isn't the carousel by itself — Google combines it with ItemList markup on a summary page or an all-in-one page to make the carousel eligible. The confusion ","href":"/technical-seo/on-page/structured-data/creative-works/movie-schema/","slug":"movie-schema","meta":"Educational","aliases":["movie-schema","movie schema","schema.org/Movie","movie structured data","movie carousel","Movie markup","Movie Schema","schema-markup","structured-data","book-schema","review-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","creative-works"],"text":"movie-schema structured-data schema-org json-ld rich-results creative-works Movie schema (schema.org/Movie) is structured data that powers a real, live Google feature — the movie carousel — but that carousel is mobile-only, with no desktop equivalent. Google requires just image and name, and recommends aggregateRating, dateCreated, director, and review; the director and aggregateRating are what make a carousel entry look like a movie rather than a generic page. One catch most guides skip: a standalone Movie object isn't the carousel by itself — Google combines it with ItemList markup on a summary page or an all-in-one page to make the carousel eligible. The confusion I most want to clear up: a separate 'Critic Review' ratings layer (shared with books, TV, and local businesses) was deprecated in 2025, but the movie carousel itself was not — and Google explicitly said the old Critic Review markup is harmless to leave in place, only the display was removed, no penalty. So Movie schema is not deprecated. It's just narrower and less prominent than Recipe or VideoObject, and worth it mainly for film review sites, streaming movie pages, and entertainment databases. What Movie schema is Why it's worth doing The two things you always need The thing most people get wrong What Movie schema does — the mobile only movie carousel Required and recommended properties What happened to Critic Review and why it doesn't touch the carousel The two ways to build the surrounding ItemList Who should implement this Basic JSON LD example AI summary Official documentation Quotes from the source Movie schema cheat sheet Should I implement Movie schema? Movie schema myths and mistakes to avoid Clean vs. thin Movie JSON LD A clean, carousel ready snippet The same page, too thin to earn much Wrapping Movie in an ItemList summary page pattern What not to include Reality check Test yourself: Movie Schema Resources worth your time Movie schema (schema.org/Movie) powers Google's mobile-only movie carousel — title, director, image, and ratings on mobile Search. There's no desktop equivalent, the markup needs an ItemList wrapper to become carousel-eligible, and the separate 'Critic Review' ratings layer was deprecated, though Google says leaving that markup in place is harmless. TL;DR — Movie schema is code you add to a page about a film that labels the movie details for search engines — \"this ","passages":["TL;DR — Movie schema is code you add to a page about a film that labels the movie details for search engines — \"this is the title,\" \"this is the director,\" \"this is the poster image,\" \"these are the ratings.\" Done right, it makes the page eligible for Google's movie carousel .","Two things to know up front: that carousel only shows on mobile there's no desktop version , and a separate, older \"Critic Review\" ratings feature was retired — but Movie schema itself is still live and still worth doing.","What Movie schema is When you look at a page about a film, you can tell the title from the director from the star rating just by reading.","Movie schema spells it out in code, using the shared schema.org https://schema.org/Movie vocabulary — it tags each piece of the page with what it actually is : the title , an the poster , the , when it came out , and any .","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","Why it's worth doing The payoff is Google's movie carousel : a browsable, swipeable row of movie cards title, director, poster, ratings that can appear on movie related searches.","The one thing to set your expectations on: it only appears on mobile.","If you check on a desktop and don't see it, that's not a bug — there is no desktop equivalent."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/movie-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/movie-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Organization Schema","desc":"How to implement Organization schema, what it actually does (disambiguation, not a guaranteed Knowledge Panel or a ranking factor), and the mistakes that quietly break it.","snippetText":"Organization schema (schema.org/Organization) is the JSON-LD block that tells search engines who your business is — name, logo, official URL, sameAs profiles, and identifiers. Google says it can help disambiguate your organization and that some properties can influence visual elements like a Knowledge Panel or attribution UI — it isn't a ranking factor and doesn't guarantee either. Google says there are no required properties (add what's relevant), and it recommends placing it once on your homepage or About page, not on every page. The logo needs to be at least 112x112px and crawlable. The big","href":"/technical-seo/on-page/structured-data/entities/organization-schema/","slug":"organization-schema","meta":"Educational","aliases":["organization-schema","organization schema","schema.org/organization","organization markup","Organization Schema","schema-markup","entities","localbusiness-schema","person-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","entities"],"text":"organization-schema structured-data schema-org json-ld entity-seo knowledge-panel Organization schema (schema.org/Organization) is the JSON-LD block that tells search engines who your business is — name, logo, official URL, sameAs profiles, and identifiers. Google says it can help disambiguate your organization and that some properties can influence visual elements like a Knowledge Panel or attribution UI — it isn't a ranking factor and doesn't guarantee either. Google says there are no required properties (add what's relevant), and it recommends placing it once on your homepage or About page, not on every page. The logo needs to be at least 112x112px and crawlable. The big myth to kill: markup does not guarantee a Knowledge Panel and isn't a ranking factor. Google's November 2023 update folded the old Logo docs into Organization and added administrative fields (address, legalName, duns, leiCode, naics, numberOfEmployees, foundingDate); the commerce-adjacent fields (return policy, shipping, loyalty/membership) came later in separate 2024–2025 updates, not the 2023 batch. What Organization schema is Why it's worth adding The things beginners get wrong What Organization schema actually does No required properties — add what's relevant Where to put it — and why not every page The full property list and the November 2023 expansion sameAs: what it's for, and what belongs there Logo requirements and common failures Example JSON LD Reusing the Organization node across your graph optional What Bing does Validate before you ship AI summary Official documentation Quotes from the source Organization schema property reference Common mistakes myths in practice Validation tests Test the published entity graph Test logo and identity references Test yourself: Organization Schema Organization schema (schema.org/Organization) is structured data that describes the business or entity itself — name, logo, official URL, social profiles, contact info, and identifiers — rather than a page's content. Google says it can help disambiguate your brand and some properties can influence visual elements like Knowledge Panel/attribution; it has no required properties and doesn't guarantee a Knowledge Panel. {/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Organization schema is a small block of code that tells search engines who your business is — your name, l","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Organization schema is a small block of code that tells search engines who your business is — your name, logo, official website, and social profiles.","Unlike most schema, it describes your company itself, not the content on a page.","It helps Google recognize and correctly identify your brand, and it may influence display elements like the info box a \"Knowledge Panel\" some brands get in search.","It does not guarantee that panel, and it does not make you rank higher.","What Organization schema is Most schema markup describes what's on a page — a product's price, a recipe's cook time, a review score.","It describes the business behind the whole site : your name, your logo, your official URL, your social accounts, sometimes your address and contact details.","It uses the shared schema.org https://schema.org/ vocabulary, written as a block of code JSON LD that sits in the page without changing how it looks.","When Google reads it, the message is essentially: \"This is who we are.\" Why it's worth adding Its main job is helping search engines identify your brand and tell it apart from other companies with similar names."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/organization-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/organization-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Person Schema","desc":"How to implement schema.org/Person for authors and profiles, which properties Google recommends, and why it disambiguates identity rather than boosting E-E-A-T or rankings.","snippetText":"Person schema (schema.org/Person) marks up an individual — most often an article's author, sometimes the subject of a ProfilePage. Its real job is entity disambiguation: helping Google, and increasingly AI crawlers, recognize that the byline here is the same person as your LinkedIn, personal site, and other bylines, via the sameAs property. It is not a ranking factor and it does not create E-E-A-T — Danny Sullivan has said E-E-A-T isn't a direct ranking factor and self-declaring an expert 'means nothing,' and John Mueller has said structured data won't make a page rank better. What Google actu","href":"/technical-seo/on-page/structured-data/entities/person-schema/","slug":"person-schema","meta":"Educational","aliases":["person-schema","person schema","author schema","schema.org/person","Person Schema","schema-markup","entities","organization-schema","localbusiness-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","entities"],"text":"person-schema structured-data schema-org author-markup entities e-e-a-t Person schema (schema.org/Person) marks up an individual — most often an article's author, sometimes the subject of a ProfilePage. Its real job is entity disambiguation: helping Google, and increasingly AI crawlers, recognize that the byline here is the same person as your LinkedIn, personal site, and other bylines, via the sameAs property. It is not a ranking factor and it does not create E-E-A-T — Danny Sullivan has said E-E-A-T isn't a direct ranking factor and self-declaring an expert 'means nothing,' and John Mueller has said structured data won't make a page rank better. What Google actually encourages is visible authorship — accurate bylines and background readers can see — not credentials buried in markup. Google's Article-author guidance formally recommends only name and url (or sameAs) — jobTitle shows up in Google's own example but isn't a listed recommended property; ProfilePage separately requires mainEntity and name, and recommends alternateName, sameAs, and description. Don't treat either as a jobTitle/worksFor checklist. My take: use Person schema to help engines identify you consistently, not as a shortcut to authority. What Person schema is Why it exists: telling people apart The thing most people get wrong Where Person schema is used Why it exists: disambiguation, not ranking The record: it's not a ranking factor, and it's not E E A T Core properties Article author Person vs. ProfilePage Person A minimal Article author example A fuller example with affiliation and sameAs Person schema and Knowledge Panels The AI search angle — set expectations The bottom line AI summary Official documentation Quotes from the source What not to do with Person schema Which Person markup do I need? Person schema implementation checklist Person schema quick reference Test yourself: Person Schema Person schema (schema.org/Person) is structured data that marks up an individual — most often an article's author, but also founders, staff, or the subject of a bio page. It helps search engines disambiguate which person an identity refers to and connect their content across the web; it is not a ranking factor and doesn't itself confer E-E-A-T. TL;DR — Person schema is a small block of code that tells search engines who a page is about — usually the author of an article. It uses the schema.org http","passages":["TL;DR — Person schema is a small block of code that tells search engines who a page is about — usually the author of an article.","It uses the schema.org https://schema.org/Person type to spell out a name, a link to a bio, a job title, and links to that person's other profiles.","Its main job is helping engines figure out that the \"Jane Smith\" here is the same Jane Smith elsewhere on the web.","It does not make you rank higher, and it does not hand you \"expertise points.\" What Person schema is When a person's name appears in a byline, you know who they are from context.","Person schema labels it in code: it tags a name as a person , and adds machine readable details like their bio URL, job title, employer, and links to their social profiles.","It uses the shared schema.org vocabulary — the same one behind product prices, review stars, and breadcrumbs.","The specific type is , and you most often attach it as the of an article.","You can also use it on an \"about me\" or bio page to say \"this whole page is about this person.\" Why it exists: telling people apart The real reason to add it is disambiguation ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/person-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/entities/person-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"QAPage Schema","desc":"How to implement QAPage schema for community Q&A pages, how it differs from FAQPage and DiscussionForumPosting, its required and recommended properties, and why — unlike FAQPage — it's still an active Google rich result in 2026.","snippetText":"QAPage schema (schema.org/QAPage) is structured data for a page built around a single question with community-submitted answers — a forum's solved thread, a Stack Overflow page, a product-support Q&A — so Google can show it as a Q&A rich result. The freshest thing worth knowing in 2026: unlike FAQPage (deprecated May 7, 2026) and HowTo (removed by 2024), QAPage's docs carry no deprecation notice and it remains an active, supported rich result. The load-bearing distinction is authorship: FAQPage is a site-owner-authored fixed list; QAPage is a single question with answers submitted by different","href":"/technical-seo/on-page/structured-data/social-community/qapage-schema/","slug":"qapage-schema","meta":"Educational","aliases":["qapage-schema","QAPage schema","Q&A schema markup","schema.org/QAPage","QAPage structured data","QAPage Schema","structured-data","faqpage-schema","discussionforum-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","social-community"],"text":"qapage-schema structured-data schema-org json-ld rich-results social-community QAPage schema (schema.org/QAPage) is structured data for a page built around a single question with community-submitted answers — a forum's solved thread, a Stack Overflow page, a product-support Q&A — so Google can show it as a Q&A rich result. The freshest thing worth knowing in 2026: unlike FAQPage (deprecated May 7, 2026) and HowTo (removed by 2024), QAPage's docs carry no deprecation notice and it remains an active, supported rich result. The load-bearing distinction is authorship: FAQPage is a site-owner-authored fixed list; QAPage is a single question with answers submitted by different community members. It's built as a QAPage whose mainEntity is one Question, requiring name, answerCount, and at least one of acceptedAnswer or suggestedAnswer, with each Answer needing text (upvoteCount and a strongly-recommended url are the fields most guides underweight). Google frames QAPage as a special case of a discussion forum — 'is your forum primarily Q&A?' is its own dividing line against DiscussionForumPosting. Don't blanket-apply the template across every thread, don't mark up FAQ pages as QAPage, and don't dress up self-answered content as community Q&A. Valid markup only makes a page eligible; Google still decides whether to show the result. What QAPage schema is Why it's worth doing QAPage vs. FAQPage — the one thing to get right The good news for 2026 The thing most people get wrong Why QAPage still matters in 2026 — the FAQPage deprecation didn't touch it QAPage vs. FAQPage: the real distinction is who answers QAPage vs. DiscussionForumPosting: Google's own dividing line Answer vs. Comment — a distinction Google actually draws Required and recommended properties Content policies and what gets a page disqualified How real platforms implement it QAPage and Education Q&A: not the same feature Validating and testing your markup A note on Bing Where this sits AI summary Official documentation Quotes from the source QAPage cheat sheet QAPage vs. FAQPage vs. DiscussionForumPosting — which one? QAPage myths and mistakes to avoid Clean vs. broken QAPage JSON LD A clean QAPage one question, an accepted answer, and a suggested answer QAPage schema (schema.org/QAPage) is structured data for a page built around a single question with community-submitted answers — like a forum's solved th","passages":["TL;DR — QAPage schema is code you add to a page that's built around one question that different people answer — a forum thread, a \"solved\" support page, a Stack Overflow style page.","It labels the question and each answer so Google can show a richer Q&A listing.","It is not for FAQ sections you wrote yourself that's FAQPage , and — good news for 2026 — unlike FAQPage, QAPage is still a supported Google feature.","What QAPage schema is Some pages are really about a single question that a community answers.","Somebody asks \"How do I fix X?\", and other people post answers — one gets accepted as the solution, others get upvotes.","So does a forum thread marked \"solved,\" or a product support page where users help each other.","QAPage schema is a small block of code — almost always JSON LD https://schema.org/QAPage — that spells out to a search engine what that page is: \"this is the question,\" \"these are the answers,\" \"this one was accepted,\" \"this one has 12 upvotes.\" A human reading the page can tell all that at a glance; a search engine needs it labeled.","Why it's worth doing The payoff is the Q&A rich result — a richer, more useful listing for community Q&A pages that can pull the question and top answer into the search result."],"updated":"2026-07-20T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/qapage-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/qapage-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Recipe Schema","desc":"How to implement schema.org/Recipe markup for Google's recipe rich result — the two required properties vs. the recommended set that builds the fuller card, why the carousel needs an ItemList summary or all-in-one page, the conditional nutrition/time/rating fields, the video property, and the content-policy rule that only real dishes qualify.","snippetText":"Recipe schema (schema.org/Recipe) is structured data that tells search engines a page's dish name, photo, cook time, ratings, ingredients, and nutrition, so the page can earn Google's recipe rich result — a visual card with a star rating and cook time that can appear as a carousel or grid and with recipe badges in Google Images. Only two properties are strictly required — image and name — but the fuller card is populated from the recommended set: aggregateRating, author, cookTime, prepTime, totalTime, recipeYield, recipeIngredient, recipeInstructions, recipeCategory, recipeCuisine, keywords, d","href":"/technical-seo/on-page/structured-data/creative-works/recipe-schema/","slug":"recipe-schema","meta":"Educational","aliases":["recipe-schema","recipe schema","schema.org/Recipe","recipe structured data","recipe markup","recipe rich result","Recipe Schema","schema-markup","structured-data","rich-results","videoobject-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","creative-works"],"text":"recipe-schema structured-data schema-org json-ld rich-results food-seo Recipe schema (schema.org/Recipe) is structured data that tells search engines a page's dish name, photo, cook time, ratings, ingredients, and nutrition, so the page can earn Google's recipe rich result — a visual card with a star rating and cook time that can appear as a carousel or grid and with recipe badges in Google Images. Only two properties are strictly required — image and name — but the fuller card is populated from the recommended set: aggregateRating, author, cookTime, prepTime, totalTime, recipeYield, recipeIngredient, recipeInstructions, recipeCategory, recipeCuisine, keywords, datePublished, nutrition.calories, and video. Two things trip people up: the multi-recipe carousel is a host-level feature that needs an ItemList page (either a summary page linking to separate recipe pages, or an all-in-one page linking to anchors on itself) — individual recipe markup alone earns at most a single card, not a carousel — and Recipe markup is only valid for actual dishes, with Google's own counterexamples being that 'facial scrub' and 'party ideas' are not valid recipe names. Along with VideoObject, this is one of the two structured-data types in the CreativeWork family that produces a genuine, visible rich result — Google doesn't publish ranking, CTR, or traffic numbers for it, but the visual upgrade is real when it shows. Valid markup only makes you eligible; Google still decides whether to show the result. What Recipe schema is Why it's worth doing The two things you must have The thing most people get wrong What the recipe rich result looks like — and how it's built Required vs. recommended — and why \"required\" undersells it Times use ISO 8601 durations, not free text The carousel needs an ItemList — individual markup doesn't The nutrition panel Video: where Recipe meets VideoObject Content policy: only real dishes, matching the visible page Why your valid recipe still shows no rich result AI summary Official documentation Quotes from the source Recipe schema cheat sheet Do I get a card, a carousel, or nothing? Recipe schema myths and mistakes to avoid Minimal vs. rich Recipe JSON LD The minimal valid recipe The same recipe, done richly The carousel needs an ItemList page — summary or all in one Common Rich Results Test failures → fixes Test yourself: Recipe Schema Recipe schema (sc","passages":["Unlike a lot of schema types, this one has a real, visible payoff.","It does not guarantee the card shows up, and a multi recipe carousel needs an extra piece an page on top of the per recipe markup.","What Recipe schema is When you look at a recipe page, you can tell the dish name from the cook time from the ingredient list just by reading.","A search engine sees plain text and has to guess where the recipe stops and the blog story begins.","Recipe schema spells it out in code, using the shared schema.org https://schema.org/Recipe vocabulary — it tags each piece of the page with what it actually is : the , an , the and , the list, the steps, and any star .","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","Why it's worth doing The payoff is the recipe rich result , and it's a good one.","On recipe searches Google shows enhanced cards with a photo, a star rating, the cook time, and sometimes a calorie count — and it groups them into a carousel or grid at the top of the page."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/recipe-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/recipe-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Social & Community Schema","desc":"Social & Community schema is my catch-all for the schema.org types built around user-generated, interactive, and instructional content — DiscussionForumPosting, QAPage, FAQPage, HowTo, Event, and SoftwareApplication. Half of them are alive; half of them lost their rich result. Here's which is which.","snippetText":"\"Social & Community schema\" is my practitioner label — not a Google or schema.org category — for six schema.org types built around user-generated, interactive, or instructional content: DiscussionForumPosting (forum threads), QAPage (single-question community Q&A), FAQPage (site-owner FAQs), HowTo (step-by-step instructions), Event, and SoftwareApplication. Google files them across three separate documentation families, and schema.org doesn't unify them either. What actually matters in 2026 is status, not taxonomy: DiscussionForumPosting, QAPage, Event, and SoftwareApplication are live, docume","href":"/technical-seo/on-page/structured-data/social-community/","slug":"social-community","meta":"Educational","aliases":["social-community-schema","social and community schema","social community schema","community schema markup","interactive content schema","Social & Community Schema","schema-markup","discussionforum-schema","qapage-schema","faqpage-schema","howto-schema","event-schema","softwareapplication-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"social-community-schema structured-data discussionforum-schema event-schema faqpage-schema howto-schema qapage-schema softwareapplication-schema rich-results on-page-seo \"Social & Community schema\" is my practitioner label — not a Google or schema.org category — for six schema.org types built around user-generated, interactive, or instructional content: DiscussionForumPosting (forum threads), QAPage (single-question community Q&A), FAQPage (site-owner FAQs), HowTo (step-by-step instructions), Event, and SoftwareApplication. Google files them across three separate documentation families, and schema.org doesn't unify them either. What actually matters in 2026 is status, not taxonomy: DiscussionForumPosting, QAPage, Event, and SoftwareApplication are live, documented rich results with no deprecation notice; FAQPage and HowTo are dead rich results (removed May 2026 and September 2023, respectively) whose schema.org types remain technically valid but produce nothing in the SERP for most sites. None of the six are a ranking factor — every one of them only buys eligibility, and Google decides the rest. What \"Social & Community\" schema means The single most important thing to know: half of these are dead rich results Why you'd bother: rich results when they still exist The thing most people get wrong First, an honest framing: this is my grouping, not Google's The six types at a glance The status split, restated plainly Shared ground rules across all six Does Social & Community schema help SEO? Where to go next AI summary Official documentation Quotes from the source Social & Community schema at a glance Which Social & Community schema type do I need? Test yourself: Social & Community Schema Resources worth your time \"Social & Community schema\" is a practitioner label — not an official Google or schema.org category — for six schema.org types built around user-generated, interactive, or instructional content: DiscussionForumPosting, QAPage, FAQPage, HowTo, Event, and SoftwareApplication. TL;DR — \"Social & Community schema\" is my shorthand for six schema.org types that mark up content people create, interact with, or follow instructions from — forum posts, Q&A threads, FAQs, how tos, events, and software/app pages. Add the right one and a page becomes eligible for a specialized search treatment. The twist: two of the six FAQPage and HowTo had their rich results removed","passages":["TL;DR — \"Social & Community schema\" is my shorthand for six schema.org types that mark up content people create, interact with, or follow instructions from — forum posts, Q&A threads, FAQs, how tos, events, and software/app pages.","Add the right one and a page becomes eligible for a specialized search treatment.","The twist: two of the six FAQPage and HowTo had their rich results removed by Google and now do nothing visible in search, while the other four DiscussionForumPosting , QAPage , Event , SoftwareApplication are still fully active.","Knowing which half you're dealing with changes whether the markup is worth your time.","What \"Social & Community\" schema means A forum thread, a support Q&A, a list of FAQs, a recipe's steps, a concert listing, and an app's download page don't look alike — but they share a job for search engines: each is a distinct unit of content that a person interacts with, not just reads.","Structured data usually JSON LD is code you add that spells out what that unit is — \"this is a question with three community answers,\" \"this event happens at this address on this date\" — using the shared vocabulary at schema.org https://schema.org/ .","\"Social & Community schema\" isn't an official Google or schema.org grouping.","It's my umbrella for six types that cover this territory: DiscussionForumPosting — a forum thread or community post."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SoftwareApplication Schema","desc":"How to implement SoftwareApplication schema (schema.org/SoftwareApplication) for Google's Software App rich result — the required name/offers/rating fields, the applicationCategory enum, choosing WebApplication vs MobileApplication, when to use it instead of Product schema, and the genuine-rating rules that keep you out of trouble.","snippetText":"SoftwareApplication schema (schema.org/SoftwareApplication) is structured data that tells search engines an app's name, category, operating system, price, and rating so the page can qualify for Google's Software App rich result — the star rating, review count, price, and OS shown in the snippet. Google's required fields are narrow: name, offers (with a price; set it to 0 for free apps), and at least one of aggregateRating or review; applicationCategory and operatingSystem are recommended. The two things most guides get wrong: they present the whole schema.org property list (downloadUrl, fileSi","href":"/technical-seo/on-page/structured-data/social-community/softwareapplication-schema/","slug":"softwareapplication-schema","meta":"Educational","aliases":["softwareapplication-schema","SoftwareApplication schema","schema.org/SoftwareApplication","software app schema","app structured data","Software App rich result","app schema markup","SoftwareApplication Schema","structured-data","product-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","social-community"],"text":"softwareapplication-schema structured-data schema-org json-ld rich-results saas-seo SoftwareApplication schema (schema.org/SoftwareApplication) is structured data that tells search engines an app's name, category, operating system, price, and rating so the page can qualify for Google's Software App rich result — the star rating, review count, price, and OS shown in the snippet. Google's required fields are narrow: name, offers (with a price; set it to 0 for free apps), and at least one of aggregateRating or review; applicationCategory and operatingSystem are recommended. The two things most guides get wrong: they present the whole schema.org property list (downloadUrl, fileSize, screenshot) as if it affects the rich result when it doesn't, and they blur SoftwareApplication with Product schema — but they're separate types with separate rich-result surfaces, so a paid SaaS or web app should generally use SoftwareApplication (or a WebApplication/MobileApplication subtype), not Product. And the ratings have to be genuine and user-sourced; fabricated or incentivized stars risk a manual action, not just a validation warning. What SoftwareApplication schema is Why it's worth doing The three things you almost always need The thing most people get wrong What SoftwareApplication schema unlocks Required and recommended properties Handling free apps vs. paid apps The enum — and the quiet mistake it causes Choose the most specific subtype SoftwareApplication vs. Product schema — the disambiguation that matters Reviews and ratings — the eligibility rules that actually matter Other schema.org properties worth knowing — but not required Bing and other engines Where this sits in the bigger picture AI summary Official documentation Quotes from the source SoftwareApplication schema cheat sheet SoftwareApplication vs. Product schema — which one for my app or SaaS page? SoftwareApplication schema myths and mistakes to avoid Clean vs. broken SoftwareApplication JSON LD A minimal free web app WebApplication subtype A paid SaaS app priceCurrency set, price greater than zero The same app, broken SoftwareApplication schema (schema.org/SoftwareApplication) is structured data that tells search engines an app's name, category, operating system, price, and rating so it can appear in Google's Software App rich result. It's a distinct type from Product schema, with its own required and rec","passages":["It's a different schema type from Product , and the ratings you mark up have to be real.","What SoftwareApplication schema is When you look at an app's page, you can read the name, the price, \"works on Windows,\" and the ⭐ ratings without thinking about it.","A search engine sees plain text and has to guess what each bit means.","SoftwareApplication schema spells it out in code, using the shared schema.org https://schema.org/SoftwareApplication vocabulary — it tags the , the category, the , the , and any user ratings so Google knows exactly what it's looking at.","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","Why it's worth doing The payoff is the Software App rich result : when a page qualifies, Google can show the star rating, the number of reviews, the price, and the operating system directly in the search snippet.","A listing that shows \"4.6 ★ · 8,864 reviews · Free · Android\" is more eye catching than a plain blue link, and that can earn more clicks.","The three things you almost always need To be eligible for the Software App rich result, Google asks for the app's name , an offer its price — use if it's free , and at least one of a review score or a single ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/softwareapplication-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/social-community/softwareapplication-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"VideoObject Schema","desc":"How to implement VideoObject schema for Google's video rich results across search, the Video tab, Images, and Discover — required vs. recommended properties, the two ways to add key moments (SeekToAction vs. Clip), and the BroadcastEvent LIVE badge.","snippetText":"VideoObject schema (schema.org/VideoObject) marks up a page's video so Google can show video rich results — thumbnail, duration, and key moments — across four surfaces, not one: the main search results page, the Video tab, Google Images, and Google Discover. That multi-surface reach is broader than most people assume and makes this one of the two highest-payoff rich-result types in the cluster (alongside Recipe). Only three properties are required — name, thumbnailUrl, and uploadDate — with contentUrl, description, duration, embedUrl, expires, interactionStatistic, and region eligibility all r","href":"/technical-seo/on-page/structured-data/creative-works/videoobject-schema/","slug":"videoobject-schema","meta":"Educational","aliases":["videoobject-schema","VideoObject schema","schema.org/VideoObject","video structured data","VideoObject markup","video key moments schema","VideoObject Schema","schema-markup","structured-data","rich-results","product-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","creative-works"],"text":"videoobject-schema structured-data schema-org json-ld rich-results video-seo VideoObject schema (schema.org/VideoObject) marks up a page's video so Google can show video rich results — thumbnail, duration, and key moments — across four surfaces, not one: the main search results page, the Video tab, Google Images, and Google Discover. That multi-surface reach is broader than most people assume and makes this one of the two highest-payoff rich-result types in the cluster (alongside Recipe). Only three properties are required — name, thumbnailUrl, and uploadDate — with contentUrl, description, duration, embedUrl, expires, interactionStatistic, and region eligibility all recommended. Two features cause most of the confusion. Key moments (the chapter timestamps) can be done two ways: automatically via SeekToAction/potentialAction if your video URLs already accept a timestamp parameter, or manually via Clip markup (name, startOffset, and url are required; endOffset is recommended) when you want publisher-specified labels and timestamps instead of Google's automatic picks. And the LIVE badge isn't a separate schema — it's BroadcastEvent (isLiveBroadcast, startDate, endDate — required once you're adding BroadcastEvent at all) documented on the same page and used alongside VideoObject. The most common miss is omitting uploadDate or writing it in an inconsistent date format. As always, valid markup only makes you eligible — Google, and the video being crawlable, still decide whether it shows. What VideoObject schema is Why it's worth doing The three things you always need Two features you'll hear about The thing most people get wrong What VideoObject schema does — one markup, four surfaces Required vs. recommended properties Key moments: SeekToAction vs. Clip LIVE badges with BroadcastEvent Common implementation mistakes Where this sits, and video SEO more broadly AI summary Official documentation Quotes from the source VideoObject schema cheat sheet Key moments: automatic SeekToAction or manual Clip? VideoObject mistakes to avoid Confirming a VideoObject change actually took effect Markup validates and shows as eligible Key moments mechanism resolves correctly Google actually indexed the video LIVE badge appears and clears on schedule Test yourself: VideoObject Schema VideoObject schema (schema.org/VideoObject) marks up video content for Google's video rich results —","passages":["TL;DR — VideoObject schema is code you add to a page with a video that labels the video's details for search engines — \"this is the title,\" \"this is the thumbnail,\" \"this is how long it is,\" \"it was uploaded on this date.\" Adding it correctly makes the video eligible for the richer listings you see on Google: a thumbnail and duration in the main results, in the Video tab, in Images , and in Discover .","It does not guarantee those extras show up, and Google still has to be able to find and index the video itself.","What VideoObject schema is When you look at a page with a video on it, you can tell the title from the runtime from the thumbnail just by looking.","A search engine sees a page of HTML and a video player and has to work out which video is the main one and what it's about.","VideoObject schema spells it out in code, using the shared schema.org https://schema.org/VideoObject vocabulary — it tags the video's title , its , the , and usually a , , and the URLs where the video file and its embed live.","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","Why it's worth doing The payoff is video rich results , and the surprising part is how many places they show up.","Google's own docs say videos can appear on the main search results page, in Video mode, in Google Images , and in Google Discover ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-07-01","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/videoobject-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/creative-works/videoobject-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"307 Temporary Redirect","desc":"What a 307 Temporary Redirect is, how it strictly preserves the HTTP method unlike a 302, where it shows up (HSTS, temporary moves), and how Google treats it for SEO.","snippetText":"A 307 Temporary Redirect means the same thing to Google as a 302 — a weak, temporary signal that doesn't hand the original URL's ranking over to the target — so there's no ranking reason to prefer one over the other. Its one real difference from a 302 is a spec guarantee: a 307 must not change the request method or body, so a POST stays a POST. That matters for forms, APIs, and modern frameworks (Next.js defaults to 307), and it's irrelevant for ordinary GET page redirects. The 307 that confuses most people isn't a redirect at all: it's the browser-only artifact HSTS produces when it upgrades ","href":"/technical-seo/http-status-codes/redirects/307-redirect/","slug":"307-redirect","meta":"Educational","aliases":["307-redirect","307 redirect","307 temporary redirect","307 status code","HTTP 307","302 redirect","303 See Other"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"A 307 Temporary Redirect means the same thing to Google as a 302 — a weak, temporary signal that doesn't hand the original URL's ranking over to the target — so there's no ranking reason to prefer one over the other. Its one real difference from a 302 is a spec guarantee: a 307 must not change the request method or body, so a POST stays a POST. That matters for forms, APIs, and modern frameworks (Next.js defaults to 307), and it's irrelevant for ordinary GET page redirects. The 307 that confuses most people isn't a redirect at all: it's the browser-only artifact HSTS produces when it upgrades http to https, with a 0-byte body the server never sent — a redirect checker or a plain curl request (not just a fresh incognito session, which can't override a preloaded HSTS domain) shows the real status code. What a 307 redirect is What makes a 307 different from a 302 Does a 307 hurt SEO? The \"307\" that isn't a redirect A 307 has two completely different cases Case 1: the real 307 — what the spec actually requires 302 vs. 303 vs. 307, in one table Case 1, continued: how Google treats a real 307 for SEO Case 1, continued: framework and CDN defaults Case 2: the HSTS \"phantom 307\" your server never sent What Googlebot actually sees for HSTS and how the story evolved How Bing treats a 307 When to deliberately choose a 307 AI summary Official documentation Quotes from the source Which 307 am I actually looking at? Myths and mistakes to avoid See the real status code not the HSTS artifact Chrome DevTools Console — spot a phantom 307 Bookmarklet — quick header peek for the current tab Returning a real 307 What a raw 307 response looks like What the HSTS \"phantom 307\" looks like browser only A 307 (\"Temporary Redirect\") is a temporary redirect that, unlike a 302, is guaranteed by the HTTP spec to preserve the original request method and body — so a POST stays a POST. For SEO, Google treats it as equivalent to a 302. Browsers/tools also sometimes represent an HSTS-driven internal scheme upgrade as a 307, though the server never actually sent it and RFC 6797 doesn't require that specific code. TL;DR — A 307 is a temporary redirect, just like a 302 — it sends people and search engines to a new URL for now, without telling Google to move the old URL's ranking to the new one. The one thing that makes it different from a 302: a 307 promises not to change the type of request. If s","passages":["TL;DR — A 307 is a temporary redirect, just like a 302 — it sends people and search engines to a new URL for now, without telling Google to move the old URL's ranking to the new one.","The one thing that makes it different from a 302: a 307 promises not to change the type of request.","For plain page to page links that's invisible; it only matters for forms and apps.","And the \"307\" you sometimes spot in your browser for an https upgrade isn't a real redirect at all.","What a 307 redirect is When a URL has moved somewhere else for now — not permanently — the server can answer with a 307 Temporary Redirect and point the browser to the new location.","That's the same basic idea as a 302 : it's temporary, so Google doesn't treat it as a signal to hand the original URL's ranking over to the new one, the way it does with a permanent redirect.","That's a weak, non canonicalizing signal, not a guarantee that the original URL keeps its rankings or stays indexed forever.","You'd use a temporary redirect for a page that's down for maintenance, a seasonal campaign, or anything you plan to switch back later."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/307-redirect/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/307-redirect/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"308 Permanent Redirect","desc":"What a 308 Permanent Redirect is, how it preserves the HTTP method while signaling permanence unlike a 301, and how Google passes ranking signals through it.","snippetText":"A 308 Permanent Redirect is a permanent move (same as a 301) with one strict extra guarantee: the client must not change the request method at the new URL — and because a compliant client repeats the same request rather than issuing a new one, the body travels along with it, so a POST stays a POST. For SEO it's identical to a 301: Google's docs call it 'Equivalent to 301,' Gary Illyes says Google merges it with 301, and Bing's Fabrice Canel confirms Bing treats them the same. So there's no ranking reason to pick one over the other. Reach for a 308 when you're redirecting a non-GET request that","href":"/technical-seo/http-status-codes/redirects/308-redirect/","slug":"308-redirect","meta":"Educational","aliases":["308-redirect","308 redirect","308 permanent redirect","308 status code","HTTP 308","308 Permanent Redirect","301 redirect","307 redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"redirects http-status-codes technical-seo A 308 Permanent Redirect is a permanent move (same as a 301) with one strict extra guarantee: the client must not change the request method at the new URL — and because a compliant client repeats the same request rather than issuing a new one, the body travels along with it, so a POST stays a POST. For SEO it's identical to a 301: Google's docs call it 'Equivalent to 301,' Gary Illyes says Google merges it with 301, and Bing's Fabrice Canel confirms Bing treats them the same. So there's no ranking reason to pick one over the other. Reach for a 308 when you're redirecting a non-GET request that has to arrive intact — an API endpoint, a webhook, a form or auth POST — because a 301 is allowed 'for historical reasons' to silently downgrade that POST to a GET and strand the body. For an ordinary page move, HTTPS switch, or domain change (all plain GETs), 301 stays the pragmatic default thanks to broader tooling, CDN, and plugin support. Browser support is high in 2026 — caniuse currently tracks it around 96.5%+, with gaps mostly in long-dead browsers — but the caveat worth checking is your own stack: some CMS plugins, edge-rule UIs, and legacy proxies still only expose 301/302/307. What a 308 actually is Does a 308 hurt SEO? So when should you use one? What 308 means, mechanically Why 308 exists — the spec history 301 vs 308 — the practical difference in one table Does Google treat 308 the same as 301 for SEO? Does Bing treat 308 the same as 301? When to actually use a 308 When 301 is still the pragmatic default Adoption and support caveats — what's actually a risk in 2026 A non standard footnote: \"308 Resume Incomplete\" Redirect chains and hops apply the same either way AI summary Official documentation Quotes from the source Should this redirect be a 308? Myths and mistakes about 308 Confirm and implement a 308 Check the status code with curl Trace a whole chain Check whether a 308 is cached before you roll it back Chrome DevTools Console — check a redirect from the browser Bookmarklet — one click \"what does this URL return?\" A 308 Permanent Redirect is the HTTP status code for a permanent move that strictly preserves the request method — a POST stays a POST — and, because a compliant client repeats the same request, the body normally travels with it. For SEO it's equivalent to a 301; the difference is the method guaran","passages":["TL;DR — A 308 Permanent Redirect says \"this moved for good\" — exactly like a 301 — but with one extra promise: the request method can't be changed at the new address, and because the browser repeats the same request rather than a new one, the rest of it including a form's data normally travels along too.","So a form submission stays a form submission instead of quietly turning into a plain page visit.","For search engines the two codes are identical, so for a normal \"this page moved\" redirect a 301 is fine.","Reach for a 308 when you're redirecting something that isn't just a page someone clicks — like an API or a form — and the original request has to arrive intact.","What a 308 actually is When a server sends your browser from one URL to another, it stamps the response with a number — a status code .","A couple of those numbers mean \"this page has permanently moved\": 301 — \"Moved Permanently.\" The original, oldest permanent redirect code.","308 — \"Permanent Redirect.\" A newer code added to the spec in 2015 that does the same job plus one guarantee the 301 never made.","Most of the time, when you visit a page, your browser sends a simple request called a GET — \"please give me this page.\" But when you submit a form or log in, your browser sends a POST — a request that carries data the stuff you typed ."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/308-redirect/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/308-redirect/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"401 Unauthorized","desc":"What an HTTP 401 Unauthorized response means, how it differs from 403 Forbidden, how Google treats authentication-gated pages, and the SEO implications.","snippetText":"401 Unauthorized means the request lacks valid authentication credentials — the server wants you to log in. It's distinct from 403 Forbidden (credentials given but access denied), but for indexing Google treats them the same: Googlebot never sends credentials, so a 401'd page's content effectively doesn't exist to Google, won't be indexed, and drops from the index over time if it was already there. A 401 isn't automatically bad — it's the correct way to gate staging sites and member areas — it's only a problem when it hits a page you want ranked. It has no effect on crawl rate, despite a commo","href":"/technical-seo/http-status-codes/http-errors/401-unauthorized/","slug":"401-unauthorized","meta":"Educational","aliases":["401-unauthorized","401 unauthorized","401 error","HTTP 401","401 status code","401 vs 403","401 Unauthorized","403-forbidden","http-status-codes","blocked-401"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"401 Unauthorized means the request lacks valid authentication credentials — the server wants you to log in. It's distinct from 403 Forbidden (credentials given but access denied), but for indexing Google treats them the same: Googlebot never sends credentials, so a 401'd page's content effectively doesn't exist to Google, won't be indexed, and drops from the index over time if it was already there. A 401 isn't automatically bad — it's the correct way to gate staging sites and member areas — it's only a problem when it hits a page you want ranked. It has no effect on crawl rate, despite a common myth to the contrary. What a 401 means Why it matters for SEO When a 401 is fine and when it's a problem 401 vs 403 — the quick version What 401 actually is 401 vs 403 Forbidden — the distinction that matters How Google treats 401 pages The crawl rate myth — 401 does NOT throttle crawling Is a 401 always a problem? No. SEO implications, and the \"it works for me\" trap What about paywalled or subscriber only content? How to fix an unwanted 401 Bing AI summary Official documentation Quotes from the source 401 vs 403 — which am I actually seeing, and do I need to fix it? Prompt: diagnose an unintended 401 Prompt: review an authentication exception Shell: inspect the anonymous challenge PowerShell: inspect the same anonymous response Shell: compare generic and claimed bot user agents Tools for finding the layer that returns 401 Test yourself: 401 Unauthorized 401 Unauthorized is a client-error HTTP status code meaning the request lacks valid authentication credentials — the server wants you to log in before it serves the page. For SEO it means the content is gated: Googlebot never sends credentials, so a 401'd page can't be seen and won't be indexed. TL;DR — A 401 Unauthorized means the server wants you to log in before it hands over the page — your credentials are missing, wrong, or expired. Search engines never log in, so if a page returns 401 to Googlebot, Google can't see it and won't put it in search results. That's exactly what you want for private pages staging, members only — and a problem only when it happens to a page you actually want people to find. What a 401 means When your browser or a search engine's crawler asks a server for a page, the server answers with a status code. 401 Unauthorized is the server's way of saying: \"I'm not going to show you this until ","passages":["TL;DR — A 401 Unauthorized means the server wants you to log in before it hands over the page — your credentials are missing, wrong, or expired.","Search engines never log in, so if a page returns 401 to Googlebot, Google can't see it and won't put it in search results.","That's exactly what you want for private pages staging, members only — and a problem only when it happens to a page you actually want people to find.","What a 401 means When your browser or a search engine's crawler asks a server for a page, the server answers with a status code.","401 Unauthorized is the server's way of saying: \"I'm not going to show you this until you prove who you are.\" The credentials you sent were missing, invalid, or expired — so you need to log in.","You've seen this in action any time a page pops up a username/password box, or kicks you to a login screen.","Why it matters for SEO Here's the catch: Googlebot and Bingbot never log in.","They don't have a username and password for your site, and they don't type into login boxes."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/401-unauthorized/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/401-unauthorized/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"500 Internal Server Error","desc":"What a 500 Internal Server Error is, how Googlebot treats server errors while crawling, why persistent 500s cause deindexing, and how to diagnose and fix them.","snippetText":"A 500 Internal Server Error is a generic, server-side failure code — RFC 9110 defines it as an unexpected condition that stopped the server from fulfilling the request, and nothing more; it doesn't say what failed, for how long, or whether a retry will work. An isolated 500 is typically retried by Google, but persistent, site-wide 500s get Google's documented response: slower crawling, and eventual removal from the index if the errors don't clear. John Mueller has offered a rough, personal rule of thumb — an error rate above roughly 1% is probably a real problem — but Google itself publishes n","href":"/technical-seo/http-status-codes/http-errors/500-internal-server-error/","slug":"500-internal-server-error","meta":"Educational","aliases":["500-internal-server-error","500 Internal Server Error","500 error","500 server error","internal server error","HTTP 500","http-status-codes","crawling","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"A 500 Internal Server Error is a generic, server-side failure code — RFC 9110 defines it as an unexpected condition that stopped the server from fulfilling the request, and nothing more; it doesn't say what failed, for how long, or whether a retry will work. An isolated 500 is typically retried by Google, but persistent, site-wide 500s get Google's documented response: slower crawling, and eventual removal from the index if the errors don't clear. John Mueller has offered a rough, personal rule of thumb — an error rate above roughly 1% is probably a real problem — but Google itself publishes no hard threshold. Diagnose from server logs first, then check GSC's Server error (5xx) report; causes like plugin conflicts and resource exhaustion are common on specific stacks (WordPress especially), not a universal list. What a 500 error is It's a server problem, not your problem usually Does a 500 error hurt SEO? How to start fixing it What a 500 actually is How Googlebot treats a 500 Why site wide 500s are worse than isolated ones How much is \"too much\"? 500 vs. 503: the distinction that matters How to diagnose a 500 How to fix it match the fix to the cause Preventing recurrence FAQ AI summary Official documentation Quotes from the source 500 error triage checklist Runbook: \"The site is throwing 500s — what do I check first?\" Which server code should I be returning? Prompt: correlate a 500 with logs and a deployment Prompt: turn a stack trace into a safe test plan Shell: sample a URL list for 5xx responses PowerShell: export the same status sample Shell: count 5xx statuses in an access log A 500 Internal Server Error is a generic HTTP status code — RFC 9110 defines it as an unexpected condition that stopped the server from fulfilling the request, and nothing more. The request may have been fine — something broke server-side while generating the response. For SEO, an isolated 500 is typically retried, but persistent, site-wide 500s get Google's documented response: slower crawling and, if the errors don't clear, eventual removal from the index. TL;DR — A 500 Internal Server Error means the server broke while trying to build the page — it's not a problem with your URL, your browser, or the search crawler. A one off 500 typically gets retried by Google, and there's no rule saying it costs you anything. The documented danger is when lots of your pages throw 500s for a ","passages":["TL;DR — A 500 Internal Server Error means the server broke while trying to build the page — it's not a problem with your URL, your browser, or the search crawler.","A one off 500 typically gets retried by Google, and there's no rule saying it costs you anything.","The documented danger is when lots of your pages throw 500s for a while — that's when Google slows down crawling and, eventually, can drop pages from search.","Start fixing it by looking at your server's error logs, not the browser.","What a 500 error is A 500 Internal Server Error is the web's version of \"something went wrong and I can't tell you exactly what.\" The server received your request, started to build the page, hit a problem, and gave up — returning a generic error instead of the page.","In the Ahrefs HTTP status codes guide I wrote it this way: the server \"encounters some kind of issue and doesn't have a better or more specific error code.\" That's the key thing to understand: a 500 is a catch all .","It's a server problem, not your problem usually 500 errors are in the 5xx family — server errors.","That's different from 4xx errors like the 404 page not found , which are about the request a bad or missing URL ."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/500-internal-server-error/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/500-internal-server-error/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"502 Bad Gateway","desc":"What a 502 Bad Gateway error is, its common upstream and proxy causes, how Googlebot handles it, and the impact on crawling and indexing.","snippetText":"A 502 Bad Gateway means a proxy or gateway in front of your site (a CDN, load balancer, or reverse proxy) got an invalid response from the origin server behind it. It's an infrastructure problem, not a Search Console one. Google's documentation groups 502 with 500 and 503 under one 5xx treatment: crawling slows in proportion to how many URLs error, content from 5xx responses is ignored, and pages get dropped from the index if the errors persist. Google doesn't publish a specific safe-duration threshold or an automatic-recovery guarantee, so a brief spike carries much less practical risk than o","href":"/technical-seo/http-status-codes/http-errors/502-bad-gateway/","slug":"502-bad-gateway","meta":"Educational","aliases":["502-bad-gateway","502 bad gateway","502 error","bad gateway error","502 status code","502 Bad Gateway","http-status-codes","crawling","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"A 502 Bad Gateway means a proxy or gateway in front of your site (a CDN, load balancer, or reverse proxy) got an invalid response from the origin server behind it. It's an infrastructure problem, not a Search Console one. Google's documentation groups 502 with 500 and 503 under one 5xx treatment: crawling slows in proportion to how many URLs error, content from 5xx responses is ignored, and pages get dropped from the index if the errors persist. Google doesn't publish a specific safe-duration threshold or an automatic-recovery guarantee, so a brief spike carries much less practical risk than one that keeps recurring — but it isn't officially risk-free. Diagnose it by layer (CDN, reverse proxy, origin), and correlate branding or error pages with headers, trace IDs, and logs rather than trusting the error page alone. What a 502 Bad Gateway is How it's different from its cousins Does a 502 hurt your SEO? What to do about it What a 502 actually signals How Googlebot handles a 502 Duration is the whole story Diagnosing a 502 by layer Fixing and preventing 502s AI summary Official documentation Quotes from the source 502 Bad Gateway response checklist Is my 502 a CDN, proxy, or origin problem? 502 myths and mistakes to avoid Incident playbook: the site is returning 502 Prompt: classify a batch of 502 failures by layer Reproduce the public 502 Compare the CDN route with the known origin Tools for narrowing a 502 Test yourself: 502 Bad Gateway Resources worth your time A 502 Bad Gateway is an HTTP server error a gateway or reverse proxy (a CDN, load balancer, or proxy like Nginx) returns when it gets an invalid or no response from the upstream origin server it was trying to reach. It signals a communication failure *between* servers, not necessarily that the origin itself is down. For SEO, Google treats 502 exactly like 500 and 503: crawling slows, and persistent errors eventually get pages dropped from the index. TL;DR — A 502 Bad Gateway means one server was asking another server for your page and got a bad answer back. Usually that \"front\" server is a CDN or a proxy, and the \"back\" server is your actual website the origin . The error lives in your hosting/infrastructure — not in Google Search Console — and a short lived 502 typically carries limited SEO risk in practice, though Google doesn't publish an exact \"safe\" duration. It's a bigger problem the longer it d","passages":["TL;DR — A 502 Bad Gateway means one server was asking another server for your page and got a bad answer back.","Usually that \"front\" server is a CDN or a proxy, and the \"back\" server is your actual website the origin .","The error lives in your hosting/infrastructure — not in Google Search Console — and a short lived 502 typically carries limited SEO risk in practice, though Google doesn't publish an exact \"safe\" duration.","What a 502 Bad Gateway is When you load a page, the request often doesn't go straight to your website.","It passes through a middleman — a CDN like Cloudflare , a load balancer , or a reverse proxy like Nginx .","That middleman forwards the request to your actual server, waits for a response, and passes it back to the visitor.","A 502 Bad Gateway is what the middleman shows when it asked your server for the page and got back something invalid — or nothing at all.","In plain terms: the front server couldn't get a good answer from the back server."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/502-bad-gateway/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/502-bad-gateway/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"503 Service Unavailable","desc":"Why 503 is the correct status for planned maintenance, how the Retry-After header guides Googlebot, how Google backs off crawling on 503s, and how to avoid accidental deindexing.","snippetText":"503 Service Unavailable is the correct status code for planned, temporary downtime — Google explicitly recommends it over a 404 or a 200 'coming soon' page. Pair it with a Retry-After header so Googlebot knows when to come back, keep robots.txt crawlable (never 503 it), and treat 1–2 days as the ceiling for a full-site 503. Beyond a few days Google starts reading the 503 as permanent, your indexed titles/descriptions freeze rather than refresh, and pages can drop from the index with no guaranteed 1:1 recovery. For longer closures, switch to an indexable 200 placeholder instead.","href":"/technical-seo/http-status-codes/http-errors/503-service-unavailable/","slug":"503-service-unavailable","meta":"Educational","aliases":["503 Service Unavailable","503-service-unavailable","503","503 error","Service Unavailable","maintenance mode","http-status-codes","500-internal-server-error","429-too-many-requests"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"503 Service Unavailable is the correct status code for planned, temporary downtime — Google explicitly recommends it over a 404 or a 200 'coming soon' page. Pair it with a Retry-After header so Googlebot knows when to come back, keep robots.txt crawlable (never 503 it), and treat 1–2 days as the ceiling for a full-site 503. Beyond a few days Google starts reading the 503 as permanent, your indexed titles/descriptions freeze rather than refresh, and pages can drop from the index with no guaranteed 1:1 recovery. For longer closures, switch to an indexable 200 placeholder instead. What a 503 actually means Why 503 is the right call for maintenance The Retry After header The three things not to get wrong What 503 is — and isn't What Google actually recommends in order The duration spectrum there's no single hard cutoff The metadata freeze side effect the risk nobody talks about Never return a 503 for robots.txt 503 vs 429 — Google treats them the same Recovery is likely — not guaranteed A few FAQs worth answering directly The single rule to remember AI summary Official documentation Quotes from the source Planned maintenance 503 checklist SOP: Put your site into planned maintenance mode correctly What not to do — and the myths behind it 503 for maintenance — cheat sheet Verify your 503 is actually a 503 Minimal 503 responses Tools for handling and checking a 503 Resources worth your time 503 Service Unavailable is the HTTP status code a server returns when it's temporarily unable to handle a request — usually because of overload or planned maintenance. It tells crawlers 'come back later' instead of 'this page is gone,' which is why Google recommends it (paired with a Retry-After header) for short, planned downtime. TL;DR — A 503 Service Unavailable response tells search engines \"the site is temporarily down — check back soon,\" instead of \"this page is gone.\" When you need to take your site offline for planned maintenance, a 503 is the right code to return. Add a header so Googlebot knows when to come back, keep your reachable, and don't leave the 503 up for more than a day or two. What a 503 actually means HTTP 503 means the server is temporarily unable to handle the request, and the standard permits a Retry After header. Google recommends 503 for brief downtime but warns that extended unavailability can affect indexing. A 503 is an HTTP status code in the famil","passages":["TL;DR — A 503 Service Unavailable response tells search engines \"the site is temporarily down — check back soon,\" instead of \"this page is gone.\" When you need to take your site offline for planned maintenance, a 503 is the right code to return.","Add a header so Googlebot knows when to come back, keep your reachable, and don't leave the 503 up for more than a day or two.","What a 503 actually means HTTP 503 means the server is temporarily unable to handle the request, and the standard permits a Retry After header.","Google recommends 503 for brief downtime but warns that extended unavailability can affect indexing.","A 503 is an HTTP status code in the family — the \"something's wrong on the server side\" group.","Specifically, it means the server is up enough to answer, but it can't serve the request right now , usually because it's overloaded or you've put it into maintenance mode.","That's what separates a 503 from the other codes you might reach for when a page isn't available: 200 OK says \"here's the content\" — even if that \"content\" is a \"we'll be right back\" message.","Search engines take that literally and can index the error page."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/503-service-unavailable/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/503-service-unavailable/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"504 Gateway Timeout","desc":"What a 504 Gateway Timeout means, how slow upstream servers trigger it, how Googlebot treats timeouts, and the crawl-budget and indexing consequences.","snippetText":"A 504 Gateway Timeout means a gateway or proxy (CDN, load balancer, reverse proxy) didn't get a timely response from the upstream server behind it. It's a timeout — different from a 502 (bad response) or a 503 (explicitly unavailable). It's not a Google penalty; it's an accessibility problem. Isolated 504s get retried, but sustained timeouts sit alongside 429/500/503 as the errors that make Googlebot back off and, if they persist, drop pages from the index. Identify which hop actually timed out before you fix anything — server response time (TTFB) is a strong preventive lever for slow origins,","href":"/technical-seo/http-status-codes/http-errors/504-gateway-timeout/","slug":"504-gateway-timeout","meta":"Educational","aliases":["504-gateway-timeout","504","504 gateway timeout","gateway timeout","504 error","504 Gateway Timeout","http-status-codes","crawling","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"A 504 Gateway Timeout means a gateway or proxy (CDN, load balancer, reverse proxy) didn't get a timely response from the upstream server behind it. It's a timeout — different from a 502 (bad response) or a 503 (explicitly unavailable). It's not a Google penalty; it's an accessibility problem. Isolated 504s get retried, but sustained timeouts sit alongside 429/500/503 as the errors that make Googlebot back off and, if they persist, drop pages from the index. Identify which hop actually timed out before you fix anything — server response time (TTFB) is a strong preventive lever for slow origins, but raising the timeout value isn't a fix either way. What a 504 actually means How it's different from its 5xx siblings Does a 504 hurt my SEO? What to do about it Where a 504 originates in the request chain What causes 504s 504s are often intermittent and load dependent How Googlebot and Bingbot handle timeouts The throttle then recover feedback loop Duration is what converts a blip into an indexing problem Why this matters more on large and ecommerce sites Server response time and TTFB are a strong preventive lever — for origin side causes Why \"just raise the timeout\" is the wrong instinct Diagnosing a 504 in practice Related codes AI summary Official documentation Quotes from the source Server response time / TTFB checklist 504 myths and mistakes to avoid Which layer is timing out? Prompt: classify a batch of 504 incidents Measure status and time to first byte Tools for reproducing and scoping 504s A 504 Gateway Timeout is an HTTP 5xx server error a gateway or proxy (a CDN, load balancer, or reverse proxy) returns when it doesn't get a timely response from the upstream server behind it. Unlike a 502 (a bad/garbled response) or a 503 (server explicitly unavailable), a 504 means no response arrived in time. For SEO, isolated 504s are retried and tolerated, but sustained 504s and timeouts make Googlebot slow its crawl and eventually drop pages from the index. TL;DR — A 504 Gateway Timeout means something in front of your website — a CDN, load balancer, or proxy — waited for your server to answer and gave up because the answer took too long. It's a timeout , not a broken response. A stray 504 here and there is fine; the problem is when they keep happening, because search engines will crawl you less and, eventually, drop pages. What a 504 actually means When you load a ","passages":["TL;DR — A 504 Gateway Timeout means something in front of your website — a CDN, load balancer, or proxy — waited for your server to answer and gave up because the answer took too long.","A stray 504 here and there is fine; the problem is when they keep happening, because search engines will crawl you less and, eventually, drop pages.","What a 504 actually means When you load a page, the request often doesn't hit your web server directly.","It usually passes through a gateway first — a CDN, a load balancer, or a reverse proxy.","That gateway forwards the request to the server behind it the upstream or origin , waits for a response, and passes it back to you.","A 504 Gateway Timeout is what the gateway returns when it waited for that upstream response and never got one in time.","The origin might be slowly grinding through a database query, waiting on a third party API, or just overloaded — but from the gateway's point of view, the clock ran out.","Nothing was necessarily \"broken.\" The response simply didn't arrive fast enough."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/504-gateway-timeout/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/504-gateway-timeout/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Commerce Schema","desc":"Commerce schema is my catch-all for the schema.org listing types — Product, ProductGroup, and JobPosting — that Google turns into Shopping-style and Jobs-style rich results. Here's how they relate and when to use which.","snippetText":"\"Commerce schema\" is my practitioner label — not a Google or schema.org category — for the schema.org listing types that power transactional rich results: Product (a single sellable item), ProductGroup (a parent that groups variants), and JobPosting (one open job). Google splits them across two doc families (Product/Variants under \"Shopping,\" Job posting in the general feature guides), and schema.org doesn't unify them either — Product/ProductGroup are parent/child, JobPosting sits in a totally different branch. What ties them together is purely the SEO use case: structured listings Google tur","href":"/technical-seo/on-page/structured-data/commerce/","slug":"commerce","meta":"Educational","aliases":["commerce-schema","commerce schema","ecommerce structured data","commercial listing schema","listing schema types","Commerce Schema","schema-markup","product-schema","productgroup-schema","jobposting-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"commerce-schema structured-data product-schema productgroup-schema jobposting-schema rich-results on-page-seo schema json-ld ecommerce-seo product-page \"Commerce schema\" is my practitioner label — not a Google or schema.org category — for the schema.org listing types that power transactional rich results: Product (a single sellable item), ProductGroup (a parent that groups variants), and JobPosting (one open job). Google splits them across two doc families (Product/Variants under \"Shopping,\" Job posting in the general feature guides), and schema.org doesn't unify them either — Product/ProductGroup are parent/child, JobPosting sits in a totally different branch. What ties them together is purely the SEO use case: structured listings Google turns into specialized SERP treatment (Merchant listings, Google for Jobs). None of it is a ranking factor — it earns eligibility, not rank, and it's not a CTR, display, or AI-citation guarantee either. Review stars run on their own separate eligibility profile (not every product page qualifies), and Organization-level return policy vs. Offer-level shipping exceptions are two separate records to keep current. The lifecycle stakes differ sharply too: a stale product mostly loses eligibility, but a stale, unremoved job posting can earn you a manual action. This hub routes; the property tables live in the type-specific deep dives. What \"commerce schema\" means Why you'd bother: rich results The thing most people get wrong First, an honest framing: this is my grouping, not Google's The three types at a glance Where they sit in the schema.org hierarchy Product vs. ProductGroup: when to use which JobPosting: the odd one out Shared ground rules across all three Where each connects beyond on page markup Risk and lifecycle differences Does commerce schema help SEO? Where to go next AI summary Official documentation Quotes from the source Commerce schema at a glance Which commerce schema type do I need? Mistakes I actually see with commerce schema Putting JobPosting markup on a page that lists several jobs Letting a closed job posting sit live without expiring it Treating ProductGroup as a substitute for marking up each variant Expecting commerce schema to move your rankings Letting on page markup, the Merchant Center feed, and checkout drift out of sync \"Commerce schema\" is a practitioner label — not an official Google or schema.org ","passages":["TL;DR — \"Commerce schema\" is my shorthand for the schema.org types you use to mark up things people can search for and act on — products to buy and jobs to apply for.","There are three: Product one item for sale , ProductGroup a group of variants, like a shirt in several sizes and colors , and JobPosting a single open job .","Add the right one and your page becomes eligible for a fancier search listing — Shopping style product results or a Google for Jobs card.","It doesn't make you rank higher, doesn't guarantee the result actually shows or earns more clicks, and it's not a way to get cited by AI either.","This hub routes you to the right type; the full property tables live in each type's own article.","What \"commerce schema\" means \"Commerce schema\" is a practical grouping, not a single Schema.org type or Google feature.","Google documents distinct product, merchant listing, and organization markup requirements and eligibility.","When you look at a page selling a jacket, you can tell the price from the color options from the \"in stock\" label just by reading."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Conditional Requests: ETag, If-Modified-Since & 304 Not Modified","desc":"How conditional requests — ETag, Last-Modified, If-Modified-Since/If-None-Match, and the 304 Not Modified response — let Googlebot skip re-downloading unchanged pages and preserve crawl budget on large sites.","snippetText":"Conditional requests are how Googlebot asks 'has this page changed since I last crawled it?' before re-downloading. It sends If-Modified-Since (checked against your Last-Modified header) and/or If-None-Match (checked against your ETag); if nothing changed, your server should return 304 Not Modified with no body and the crawler reuses its existing copy — roughly a kilobyte instead of the whole page. Google prefers ETag when both are present, doesn't send the headers on every crawl, and a 304 does not freeze indexing signals. The payoff is crawl efficiency on large sites with many rarely-changin","href":"/technical-seo/how-search-works/crawling/crawl-budget/conditional-requests/","slug":"conditional-requests","meta":"Educational","aliases":["conditional-requests","conditional requests","ETag","If-Modified-Since","If-None-Match","Last-Modified","304 Not Modified","304 status code","crawl efficiency","Conditional Requests","crawl-budget","caching"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling","crawl-budget"],"text":"Conditional requests are how Googlebot asks 'has this page changed since I last crawled it?' before re-downloading. It sends If-Modified-Since (checked against your Last-Modified header) and/or If-None-Match (checked against your ETag); if nothing changed, your server should return 304 Not Modified with no body and the crawler reuses its existing copy — roughly a kilobyte instead of the whole page. Google prefers ETag when both are present, doesn't send the headers on every crawl, and a 304 does not freeze indexing signals. The payoff is crawl efficiency on large sites with many rarely-changing URLs — it's not a ranking factor. Sites quietly break it three ways: always returning 200 with a full body, ETags that change on every request (timestamps, per-request tokens, per-node CDN variance), and a Last-Modified that doesn't reflect real content changes. What a conditional request is Why anyone cares The honest caveat The mechanism, precisely ETag vs. Last Modified — and why Google prefers ETag What a 304 does — and what it doesn't Google doesn't always ask — and that's normal Why this matters for crawl budget Common misconfigurations that defeat conditional requests 1. Always returning 200 with a full body 2. ETags that change on every single request 3. Per node CDN/cluster variance 4. A Last Modified that doesn't reflect real changes The Illyes edge case: when a 304 locks in a broken page How Bing handles it Does this affect rankings? How to verify it's working Conditional requests vs. rate vs. frequency vs. budget AI summary Official documentation Quotes from the source Should I bother implementing conditional requests? SOP: implement conditional requests correctly Myths and mistakes to avoid A conditional request lets a crawler (or browser) ask a server 'has this changed since I last fetched it?' — using If-Modified-Since (checked against your Last-Modified header) and/or If-None-Match (checked against your ETag). If nothing changed, the server replies 304 Not Modified with no body, so the crawler reuses its existing copy instead of re-downloading the page. TL;DR — A conditional request is Googlebot asking your server \"has this page changed since I last grabbed it?\" before downloading it again. If the answer is no, your server sends back a tiny reply with no page in it, and the crawler reuses the copy it already has. That saves work on both sides — but it ","passages":["TL;DR — A conditional request is Googlebot asking your server \"has this page changed since I last grabbed it?\" before downloading it again.","If the answer is no, your server sends back a tiny reply with no page in it, and the crawler reuses the copy it already has.","That saves work on both sides — but it only helps in a meaningful way on big sites, and it doesn't make you rank higher.","What a conditional request is Normally, when Googlebot wants a page, it just downloads the whole thing.","A conditional request is smarter: the crawler says \"only send me the page if it's actually different from the last time I visited.\" It does this with a little extra information it remembers from the previous crawl: A date — \"last time I got this page, you told me it was last modified on such and such date.","Anything newer?\" A fingerprint — \"last time, you gave this page an ID an .","Is that ID still the same?\" If nothing changed, your server replies .","That reply has no page attached — it's just a short message that means \"same as before.\" Googlebot then reuses the copy it saved last time instead of re downloading everything."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/conditional-requests/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/conditional-requests/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Technical SEO Glossary","desc":"An A–Z glossary of every technical SEO term covered here. Each entry has a one-line definition and links straight to the term's full guide.","snippetText":"Every technical SEO term covered on this site, A to Z. Each entry has a one-line definition and links to the term's full guide — straight to the Glossary tab where the page has one. Jump by letter from the index at the top.","href":"/technical-seo/glossary/","slug":"glossary","meta":"Educational","aliases":["Glossary","technical SEO glossary","SEO glossary","SEO terms"],"pillar":"technical-seo","taxonomy":["technical-seo"],"text":"technical-seo glossary definitions Every technical SEO term covered on this site, A to Z. Each entry has a one-line definition and links to the term's full guide — straight to the Glossary tab where the page has one. Jump by letter from the index at the top. Every technical SEO term on this site, A to Z. Each entry links to the term's full guide — straight to its Glossary tab where the page has one. Use the letter and number index to jump.","passages":["Each entry links to the term's full guide — straight to its Glossary tab where the page has one."],"updated":"2026-06-28T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/glossary/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/glossary/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Market-Specific SEO","desc":"Google isn't the top engine everywhere — China runs on Baidu, Russia on Yandex, South Korea on Naver. Optimizing for non-Google search means different crawlers, tools, hosting, and ranking signals. The hub for market-specific SEO.","snippetText":"Google isn't the default search engine everywhere. In mainland China it's Baidu, in Russia it's Yandex, and in South Korea Naver still leads a portal-style walled garden. Even in Google-dominant markets like Japan the work is real localization, not translation. Each of these engines has its own crawler, webmaster tools, hosting and compliance realities, and ranking emphases — so a market-specific strategy is a different engine, not a translated Google one. This hub maps the non-Google markets and links to the per-engine deep dives.","href":"/international-seo/market-specific-seo/","slug":"market-specific-seo","meta":"Educational","aliases":["Market-Specific SEO","market-specific SEO","non-Google search engines","SEO for other search engines"],"pillar":"international-seo","taxonomy":["international-seo","market-specific-seo"],"text":"international-seo baidu-seo yandex-seo naver-seo market-specific-seo Google isn't the default search engine everywhere. In mainland China it's Baidu, in Russia it's Yandex, and in South Korea Naver still leads a portal-style walled garden. Even in Google-dominant markets like Japan the work is real localization, not translation. Each of these engines has its own crawler, webmaster tools, hosting and compliance realities, and ranking emphases — so a market-specific strategy is a different engine, not a translated Google one. This hub maps the non-Google markets and links to the per-engine deep dives. When Google isn't the search engine Market specific SEO at a glance TL;DR — International search work may involve Baidu , Yandex , or Naver as well as Google. Check current market data before choosing priorities, then use each relevant engine's own webmaster tools and current documentation. When Google isn't the search engine Most SEO advice assumes Google. That is not a safe planning assumption for every market, and search share can change over time. For mainland China, Russia, and South Korea, include Baidu Search Resource Platform, Yandex Webmaster, and Naver Search Advisor respectively when those engines matter to the audience. Their first party tools are the right place to verify current crawling, indexing, and feature requirements. Whichever engines matter, publish coherent visible language content on distinct, crawlable locale URLs rather than relying on a browser only language swap. This hub covers each of those non Google markets. The broader strategy of going international — choosing markets, languages, and URL structures — lives in the International SEO /international seo/ pillar. Market specific SEO at a glance Market Main search reality Crawler Webmaster tool What changes most Mainland China Baidu leads Baidu Spider Baidu Search Resource Platform / Ziyuan Simplified Chinese, mainland accessibility/hosting and ICP compliance, strong on page focus Russia / parts of CIS Yandex leads locally YandexBot Yandex Webmaster Declared regionality, behavioral signals, commercial trust, Cyrillic research South Korea Naver portal ecosystem plus a growing Google presence Naver's web crawler/tooling Naver Search Advisor Naver Blog/Cafe/Knowledge iN presence, C Rank creator authority, D.I.A. document quality, dual engine strategy Japan Google dominates; Yahoo Japan us","passages":["TL;DR — International search work may involve Baidu , Yandex , or Naver as well as Google.","Check current market data before choosing priorities, then use each relevant engine's own webmaster tools and current documentation.","When Google isn't the search engine Most SEO advice assumes Google.","That is not a safe planning assumption for every market, and search share can change over time.","For mainland China, Russia, and South Korea, include Baidu Search Resource Platform, Yandex Webmaster, and Naver Search Advisor respectively when those engines matter to the audience.","Their first party tools are the right place to verify current crawling, indexing, and feature requirements.","Whichever engines matter, publish coherent visible language content on distinct, crawlable locale URLs rather than relying on a browser only language swap.","The broader strategy of going international — choosing markets, languages, and URL structures — lives in the International SEO /international seo/ pillar."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/international-seo/market-specific-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/market-specific-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Marketplace SEO","desc":"Optimizing listings inside marketplaces — Amazon, Etsy, eBay, Walmart — each with its own search algorithm driven by relevance, sales velocity, and reviews. Distinct from ranking your own store in Google. The hub for the Marketplace SEO cluster.","snippetText":"Marketplace SEO is optimizing product listings inside a marketplace's own search — Amazon, Etsy, eBay, Walmart — and each runs a different algorithm. Unlike Google, these systems lean heavily on sales velocity, conversion rate, and reviews alongside relevance, because the marketplace is optimizing for revenue per search. It's a separate discipline from ranking your own store in Google, though the two coexist. This hub covers the shared principles and the per-marketplace specifics.","href":"/ecommerce-seo/marketplace-seo/","slug":"marketplace-seo","meta":"Educational","aliases":["Marketplace SEO","marketplace SEO","SEO for marketplaces","marketplace listing optimization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","marketplace-seo"],"text":"marketplace-seo amazon-seo etsy-seo ebay-seo ecommerce-seo Marketplace SEO is optimizing product listings inside a marketplace's own search — Amazon, Etsy, eBay, Walmart — and each runs a different algorithm. Unlike Google, these systems lean heavily on sales velocity, conversion rate, and reviews alongside relevance, because the marketplace is optimizing for revenue per search. It's a separate discipline from ranking your own store in Google, though the two coexist. This hub covers the shared principles and the per-marketplace specifics. A different search engine on every marketplace A cross marketplace optimization framework The four layers every marketplace exposes Universal principle, platform specific implementation The funnel diagnosis Where to go next TL;DR — Marketplace SEO is ranking your products inside a marketplace's own search box — Amazon, Etsy, eBay, Walmart — not in Google. Each marketplace has its own rules, and they care a lot about sales and reviews , not just keywords. A different search engine on every marketplace When you sell on a marketplace, your listing competes in that platform's search results, and each platform ranks differently from Google. The big shift is what they reward. Google ranks pages mostly on relevance and authority. A marketplace is trying to maximize revenue per search, so it leans hard on conversion signals — how often a listing sells when shown, its sales velocity , price competitiveness, and reviews — alongside the keyword relevance of your title and description. Optimizing a listing is therefore part keyword work title, bullets, attributes and part merchandising images, price, ratings . This is separate from getting your own online store to rank in Google, though most brands do both. This hub focuses on the marketplaces. A cross marketplace optimization framework The four layers every marketplace exposes Use the shared layers to organize the work, then use the platform guide for the specific fields and reports. 1. Eligibility and match: Correct category, structured attributes, identifiers, and query language make the listing retrievable. 2. Click: Title, primary image, displayed price, shipping, and rating presentation earn attention in the result set. 3. Conversion: Complete product information, competitive offer, reviews, and availability turn the visit into a sale. 4. Fulfillment and trust: Delivery, returns,","passages":["TL;DR — Marketplace SEO is ranking your products inside a marketplace's own search box — Amazon, Etsy, eBay, Walmart — not in Google.","Each marketplace has its own rules, and they care a lot about sales and reviews , not just keywords.","A different search engine on every marketplace When you sell on a marketplace, your listing competes in that platform's search results, and each platform ranks differently from Google.","A marketplace is trying to maximize revenue per search, so it leans hard on conversion signals — how often a listing sells when shown, its sales velocity , price competitiveness, and reviews — alongside the keyword relevance of your title and description.","Optimizing a listing is therefore part keyword work title, bullets, attributes and part merchandising images, price, ratings .","This is separate from getting your own online store to rank in Google, though most brands do both.","A cross marketplace optimization framework The four layers every marketplace exposes Use the shared layers to organize the work, then use the platform guide for the specific fields and reports.","Eligibility and match: Correct category, structured attributes, identifiers, and query language make the listing retrievable."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/ecommerce-seo/marketplace-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/marketplace-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Meta Refresh Redirect","desc":"What a meta refresh redirect is, why it sits between server-side and JavaScript redirects in Google's order of preference, instant versus delayed refreshes, and why it is discouraged.","snippetText":"A meta refresh redirect is an HTML <meta http-equiv=\"refresh\"> tag (or the equivalent HTTP Refresh header) — not an HTTP status code. The server returns a normal 200 and the browser only acts on the redirect once the page is treated as loaded, per the HTML Standard, which is exactly why it's weaker than a server-side redirect. An instant one (content=\"0\") is read by Google as permanent, like a 301; a delayed one (content greater than 0) as temporary, and delay is the trait tied to old doorway-page spam. John Mueller says it 'should just work' but isn't recommended for two reasons: it keeps the","href":"/technical-seo/http-status-codes/redirects/meta-refresh/","slug":"meta-refresh","meta":"Educational","aliases":["meta-refresh","meta refresh","meta refresh redirect","meta http-equiv refresh","HTML refresh redirect","Meta refresh redirect","301 redirect","Redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","redirects"],"text":"A meta refresh redirect is an HTML <meta http-equiv=\"refresh\"> tag (or the equivalent HTTP Refresh header) — not an HTTP status code. The server returns a normal 200 and the browser only acts on the redirect once the page is treated as loaded, per the HTML Standard, which is exactly why it's weaker than a server-side redirect. An instant one (content=\"0\") is read by Google as permanent, like a 301; a delayed one (content greater than 0) as temporary, and delay is the trait tied to old doorway-page spam. John Mueller says it 'should just work' but isn't recommended for two reasons: it keeps the page in browser history 'afaik' (his words), and Google has to load and parse the page before it can even see the redirect. Use it only as a last resort when you genuinely have no server access, prefer the 0-second version, and swap in a real 301 the moment you can. What a meta refresh redirect is Instant vs. delayed Why people say to avoid it It's not a status code Instant vs. delayed — Google's split Where it sits in Google's order of preference Two different \"orders\" — don't conflate them Why it depends on the page loading — and why that makes it weaker What the HTML Standard actually specifies Why it's discouraged — the historical baggage Accessibility: the same instant vs delayed split When it's a legitimate last resort Detecting meta refresh on your site AI summary Official documentation Quotes from the source Which redirect should I use? Meta refresh myths and mistakes If you have to ship a meta refresh — checklist Auditing meta refresh across a site Meta refresh — cheat sheet Detecting and reading meta refresh tags Two orders, two different questions Test yourself: meta refresh redirects A meta refresh redirect is a client-side redirect written as an HTML <meta http-equiv=\"refresh\"> tag (or an equivalent HTTP Refresh header) — not an HTTP status code. The server returns a normal 200, then the browser navigates after the page loads. An instant (0-second) one is read by Google as permanent; a delayed one as temporary. TL;DR — A meta refresh redirect is a line of HTML — a tag — that tells the browser to jump to another URL after the page loads. It is not an HTTP status code like a 301. Your server returns a normal page first, then the browser does the redirect. It works, but it's slower and clumsier than a real server side redirect, so use it only when you have no","passages":["TL;DR — A meta refresh redirect is a line of HTML — a tag — that tells the browser to jump to another URL after the page loads.","Your server returns a normal page first, then the browser does the redirect.","It works, but it's slower and clumsier than a real server side redirect, so use it only when you have no other option.","What a meta refresh redirect is Most redirects happen on the server.","You ask for a URL, and before you get any page at all, the server answers \"that moved — go here instead\" that's a 301 or a 302 .","The server sends back a normal, working page a , and inside that page's HTML is an instruction telling the browser to go somewhere else: That tag lives in the of the page.","The number before the semicolon is how many seconds to wait; the part is where to send the visitor.","Because it's the browser — not the server — that acts on it, this is called a client side redirect."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/http-status-codes/redirects/meta-refresh/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/redirects/meta-refresh/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Metadata & Trust Schema","desc":"Metadata & Trust schema is my catch-all for the schema.org types — AggregateRating, BreadcrumbList, Review, and WebSite — that don't sell anything but attach trust signals, site identity, and navigational context to a page. Here's how they relate and when to use which.","snippetText":"\"Metadata & Trust schema\" is my practitioner label — not a Google or schema.org category — for the schema.org types that don't sell anything (Product/JobPosting) or name a real-world entity (Organization/Person), but instead attach trust and orientation to ordinary pages: Review and AggregateRating (star ratings / social proof), BreadcrumbList (site hierarchy and wayfinding), and WebSite (the identity of the site itself). Google and schema.org don't file these four together either, and their documentation status is uneven — Review/AggregateRating and BreadcrumbList each have a live feature gui","href":"/technical-seo/on-page/structured-data/metadata-trust/","slug":"metadata-trust","meta":"Educational","aliases":["metadata-trust","metadata and trust schema","trust signal schema","site identity schema","navigational schema types","Metadata & Trust Schema","schema-markup","commerce-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"metadata-trust-schema structured-data review-schema aggregaterating-schema breadcrumblist-schema website-schema rich-results on-page-seo \"Metadata & Trust schema\" is my practitioner label — not a Google or schema.org category — for the schema.org types that don't sell anything (Product/JobPosting) or name a real-world entity (Organization/Person), but instead attach trust and orientation to ordinary pages: Review and AggregateRating (star ratings / social proof), BreadcrumbList (site hierarchy and wayfinding), and WebSite (the identity of the site itself). Google and schema.org don't file these four together either, and their documentation status is uneven — Review/AggregateRating and BreadcrumbList each have a live feature guide, while WebSite is the odd one out with no single current guide and its most famous feature, the sitelinks searchbox, deprecated November 21, 2024 (though WebSite itself isn't deprecated — it still helps Google understand site names). None of the four is a ranking factor, and none is a documented E-E-A-T signal — they earn eligibility for a rich-result treatment, not rank or trust. The risk is mostly mild — a missing property or a self-serving review just costs eligibility — but deliberately misleading or fake markup can still draw a manual action under Google's general structured-data guidelines, the same risk any structured data carries. What \"metadata & trust schema\" means Why you'd bother The thing most people get wrong Trust markup that undermines trust First, an honest framing: this is my grouping, not Google's The four types at a glance Where they sit in the schema.org hierarchy Shared ground rules across all four What sets each apart Review / AggregateRating: the self serving reviews rule BreadcrumbList: the most \"just do it\" type — but display can change WebSite: the odd one out and the deprecated searchbox Does this schema help SEO? Where to go next AI summary Official documentation Quotes from the source Metadata & Trust schema at a glance Which metadata & trust schema type do I need? Test yourself: Metadata & Trust Schema Resources worth your time \"Metadata & Trust schema\" is a practitioner label — not an official Google or schema.org category — for the schema.org types that attach trust signals, site identity, and navigational context to a page rather than describing something for sale: AggregateRating, BreadcrumbList, R","passages":["TL;DR — \"Metadata & Trust schema\" is my shorthand for the schema.org types you add to a page not to sell something, but to build trust and help people and Google get their bearings.","There are four: Review and AggregateRating the star ratings , BreadcrumbList the little \"Home › Category › This page\" trail , and WebSite a note that says \"this is the site itself\" .","Add the right one and your page becomes eligible for a nicer looking search listing — stars, a breadcrumb trail.","What \"metadata & trust schema\" means \"Metadata and trust schema\" is an editorial grouping, not a Schema.org or Google feature name.","Structured data must describe visible page content and follow the requirements for any Google search feature being targeted.","When you look at a page, you can tell at a glance that it has 4.5 stars from 200 ratings, that it lives under \"Guides › Technical SEO,\" and which website you're even on.","Schema markup is code you add to spell it out — \"this is a rating,\" \"this is the page's place in the site,\" \"this is the site's name\" — using a shared vocabulary from a site called schema.org https://schema.org/ .","It's just my umbrella for the schema.org types that don't describe something for sale Product, JobPosting or a named real world thing Organization, Person , but instead answer three questions about an ordinary page: Is this credible?"],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO for News Websites","desc":"News & Discover SEO — Google News, Google Discover, news sitemaps, paywalled content (flexible sampling), and handling syndicated content without self-cannibalizing. The hub for news publishers.","snippetText":"News and publisher SEO has its own surfaces and rules on top of normal SEO: Google News and the Top Stories carousel, the Discover feed (which is not search at all — it's pushed, not pulled), news sitemaps for fast discovery of fresh articles, paywall handling that lets Google see gated content without it being cloaking, and noindex controls for syndicated copies that should not compete with the original. Eligibility on one surface never carries over to another, and each is measured separately in Search Console. This hub maps those publisher-specific concerns and links to a dedicated deep dive","href":"/technical-seo/news-seo/","slug":"news-seo","meta":"Educational","aliases":["News & Discover SEO","news SEO","SEO for news websites","news website SEO","publisher SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","news-seo"],"text":"news-seo google-news google-discover publishers paywall News and publisher SEO has its own surfaces and rules on top of normal SEO: Google News and the Top Stories carousel, the Discover feed (which is not search at all — it's pushed, not pulled), news sitemaps for fast discovery of fresh articles, paywall handling that lets Google see gated content without it being cloaking, and noindex controls for syndicated copies that should not compete with the original. Eligibility on one surface never carries over to another, and each is measured separately in Search Console. This hub maps those publisher-specific concerns and links to a dedicated deep dive on each one. What's different about news SEO Google News and Top Stories are automatic now Google Discover: a feed you can't target with keywords Paywalled content: flexible sampling without cloaking Syndication: control competing copies with noindex, not canonical alone News sitemaps and the freshness window Measure each surface separately Speakable schema is still a limited beta TL;DR — News sites have extra SEO surfaces beyond normal search: Google News and Top Stories , the Discover feed, and special handling for paywalls and syndicated reprinted articles. This hub gathers the parts that are specific to publishers. What's different about news SEO A news website still needs the same technical foundation as any site, but it plays on surfaces most sites never touch. Google News and Top Stories surface fresh, newsworthy articles — speed of discovery and trust matter. Google Discover is different again: it's a feed Google pushes to users based on interests, not a response to a query, so you can't \"rank\" for it the way you rank in search. Publishers also have two recurring technical problems: letting Google read paywalled articles without it counting as showing one thing to Google and another to readers, and deciding how to handle syndicated content when the same article runs on multiple sites. Eligibility on one surface never carries over to another — being in the News tab doesn't get you into Discover, and ranking in Search doesn't guarantee either. Each surface has its own eligibility rules, its own ranking factors, and mostly its own Search Console reporting, so treat them as separate systems that happen to share a site, not one score you're optimizing. This hub is a map, not a manual — the mechanics for each su","passages":["TL;DR — News sites have extra SEO surfaces beyond normal search: Google News and Top Stories , the Discover feed, and special handling for paywalls and syndicated reprinted articles.","What's different about news SEO A news website still needs the same technical foundation as any site, but it plays on surfaces most sites never touch.","Google News and Top Stories surface fresh, newsworthy articles — speed of discovery and trust matter.","Google Discover is different again: it's a feed Google pushes to users based on interests, not a response to a query, so you can't \"rank\" for it the way you rank in search.","Publishers also have two recurring technical problems: letting Google read paywalled articles without it counting as showing one thing to Google and another to readers, and deciding how to handle syndicated content when the same article runs on multiple sites.","Eligibility on one surface never carries over to another — being in the News tab doesn't get you into Discover, and ranking in Search doesn't guarantee either.","Each surface has its own eligibility rules, its own ranking factors, and mostly its own Search Console reporting, so treat them as separate systems that happen to share a site, not one score you're optimizing.","TL;DR — News SEO layers publisher specific surfaces on top of normal SEO, and two of them changed recently."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/news-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/news-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SaaS SEO","desc":"SEO for software companies — the same algorithm, but a playbook built on product-led tactics (free tools, comparison and integration pages), a long B2B buying cycle, and an app/marketing/docs/blog architecture. The hub for the SaaS SEO pillar.","snippetText":"SaaS SEO is regular SEO applied to a software business, but the winning playbook skews a specific way: product-led content (free tools, templates, calculators) that earns links and signups, bottom-funnel comparison/alternative/integration pages, programmatic pages at scale, and a technical setup that has to juggle a marketing site, a blog, docs, and the app itself. The metric that matters isn't traffic — it's trials and signups. This hub maps the discipline and points to the deep dives.","href":"/saas-seo/","slug":"saas-seo","meta":"Educational","aliases":["SaaS SEO","SEO for SaaS","software SEO","SaaS search optimization"],"pillar":"saas-seo","taxonomy":["saas-seo"],"text":"saas-seo product-led-seo b2b-seo technical-seo SaaS SEO is regular SEO applied to a software business, but the winning playbook skews a specific way: product-led content (free tools, templates, calculators) that earns links and signups, bottom-funnel comparison/alternative/integration pages, programmatic pages at scale, and a technical setup that has to juggle a marketing site, a blog, docs, and the app itself. The metric that matters isn't traffic — it's trials and signups. This hub maps the discipline and points to the deep dives. What makes SaaS SEO its own thing Why product led SEO outperforms generic content Subdomain vs subdirectory for blog, docs, and app Keeping the app and gated URLs out of the index Bottom funnel pages: where the intent concentrates What to measure: pipeline, not sessions SaaS SEO metrics that connect search to the product Organic trials and signups Assisted organic conversions New versus returning organic signups Organic signup quality TL;DR — SaaS SEO is normal SEO for software companies, but the tactics that work best are specific: free tools and helpful content that attract the right people, comparison and \"alternative to\" pages for buyers close to a decision, and content built for a long B2B sales cycle . Success is measured in signups, not just visits. What makes SaaS SEO its own thing A SaaS company ranks in Google with the same algorithm as everyone else, so the fundamentals don't change. What changes is the playbook. SaaS buyers research for weeks and rarely convert on the first visit, so content has to cover the whole journey — from \"what is X\" all the way to \"your product vs the competitor.\" The highest leverage SaaS tactic is product led SEO : giving away a free tool, template, or calculator that ranks, earns links, and pulls in exactly the people who'd use the paid product. And the technical side has to handle a site that's really several sites — a marketing site, a blog, documentation, and the app — often on different subdomains or paths. This hub gathers all of that. TL;DR — The SaaS playbook diverges from generic content SEO in four places that are mechanical, not stylistic: product led assets that earn links and activate users, an architecture that keeps a marketing site, a blog, docs, and a logged in app from stepping on each other, bottom funnel pages where a handful of URLs carry most of the revenue, and a measu","passages":["TL;DR — SaaS SEO is normal SEO for software companies, but the tactics that work best are specific: free tools and helpful content that attract the right people, comparison and \"alternative to\" pages for buyers close to a decision, and content built for a long B2B sales cycle .","What makes SaaS SEO its own thing A SaaS company ranks in Google with the same algorithm as everyone else, so the fundamentals don't change.","SaaS buyers research for weeks and rarely convert on the first visit, so content has to cover the whole journey — from \"what is X\" all the way to \"your product vs the competitor.\" The highest leverage SaaS tactic is product led SEO : giving away a free tool, template, or calculator that ranks, earns links, and pulls in exactly the people who'd use the paid product.","And the technical side has to handle a site that's really several sites — a marketing site, a blog, documentation, and the app — often on different subdomains or paths.","TL;DR — The SaaS playbook diverges from generic content SEO in four places that are mechanical, not stylistic: product led assets that earn links and activate users, an architecture that keeps a marketing site, a blog, docs, and a logged in app from stepping on each other, bottom funnel pages where a handful of URLs carry most of the revenue, and a measurement model tied to signups instead of sessions.","Why product led SEO outperforms generic content Product led SEO wins because a free tool, template, or calculator does three jobs a blog post can't do at once.","It ranks for a task level query, it earns links because people cite a tool they actually used, and it hands the visitor a taste of the product before they ever reach a pricing page.","The compounding part is the last one: the same asset that acquires the link also feeds activation, so the SEO channel and the product funnel share an input."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/saas-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/saas-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Video SEO","desc":"Getting video found in search — two surfaces at once. The video embedded on your own pages (video schema, video sitemaps, indexing, thumbnails) and YouTube as its own search engine. The hub for the Video SEO cluster.","snippetText":"Video SEO is really two jobs. The first is getting the video on your own pages eligible to surface as a video result — which needs a watchable video, a thumbnail, video structured data, and ideally a video sitemap, with Google's Video indexing report telling you whether it worked. The second is YouTube SEO: ranking inside the second-largest search engine, where titles, descriptions, engagement, and transcripts drive discovery. This hub maps both and points to the deep dives.","href":"/technical-seo/video-seo/","slug":"video-seo","meta":"Educational","aliases":["Video SEO","video SEO","SEO for video","video search optimization"],"pillar":"technical-seo","taxonomy":["technical-seo","video-seo"],"text":"video-seo youtube-seo technical-seo video-schema video-sitemaps Video SEO is really two jobs. The first is getting the video on your own pages eligible to surface as a video result — which needs a watchable video, a thumbnail, video structured data, and ideally a video sitemap, with Google's Video indexing report telling you whether it worked. The second is YouTube SEO: ranking inside the second-largest search engine, where titles, descriptions, engagement, and transcripts drive discovery. This hub maps both and points to the deep dives. The two halves of video SEO What makes a video eligible for a video result A worked VideoObject The Video indexing report: why videos get excluded YouTube is a separate ranking system TL;DR — Video SEO splits in two: helping search engines find and show the videos on your own website , and ranking videos on YouTube itself. They need different work, so this hub keeps them straight and links to the details. The two halves of video SEO When people say \"video SEO\" they usually mean one of two different things. The first is video on your own site — a video embedded on a page you control. Before markup or sitemaps come into it, Google has to be able to find the video at all: it needs a normal , , or element in the rendered HTML, not a player that only appears after a click or a video loaded purely from a URL fragment. Once discovery works, the goal is to make that video eligible to appear as a video result, which means having a real, watchable video, a representative thumbnail, and video structured data /technical seo/on page/structured data/ so search engines understand what the video is. A video sitemap helps with discovery too. If you embed a third party player — YouTube, Vimeo, and similar — Google may index both your own watch page and the hosting platform's equivalent page for the same video. Neither placement is guaranteed just because you embedded it; it's still worth adding structured data and including the page in your sitemap for your own watch page. The second is YouTube SEO — treating YouTube as the search engine it is and getting your videos found there through titles, descriptions, transcripts, and engagement. This hub covers both; the deep dives sit under it. TL;DR — On site video SEO is a technical eligibility problem: Google's actual indexing requirements are an indexed watch page, a visible embed, and a stable t","passages":["TL;DR — Video SEO splits in two: helping search engines find and show the videos on your own website , and ranking videos on YouTube itself.","They need different work, so this hub keeps them straight and links to the details.","The two halves of video SEO When people say \"video SEO\" they usually mean one of two different things.","The first is video on your own site — a video embedded on a page you control.","Before markup or sitemaps come into it, Google has to be able to find the video at all: it needs a normal , , or element in the rendered HTML, not a player that only appears after a click or a video loaded purely from a URL fragment.","Once discovery works, the goal is to make that video eligible to appear as a video result, which means having a real, watchable video, a representative thumbnail, and video structured data /technical seo/on page/structured data/ so search engines understand what the video is.","If you embed a third party player — YouTube, Vimeo, and similar — Google may index both your own watch page and the hosting platform's equivalent page for the same video.","Neither placement is guaranteed just because you embedded it; it's still worth adding structured data and including the page in your sitemap for your own watch page."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-28","markdown":"https://patrickstox.com/technical-seo/video-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/video-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"204 No Content","desc":"What HTTP 204 means, why Google treats 204 responses similarly to soft 404s, when 204 is legitimately used (APIs, beacons), and what to serve instead for web pages.","snippetText":"HTTP 204 No Content is a 2xx success code that intentionally returns an empty body — it's not an error, has nothing to do with whether a URL exists, and isn't limited by the spec to any fixed set of methods. It's the correct response for REST API DELETE/PUT calls and analytics beacons (sendBeacon, GA4's Measurement Protocol), though API designers disagree on how often to reach for it. The SEO catch is narrow: Google's own docs say a 204 gives it no content to process, so a page you want ranking won't get indexed from that response — and in practice these commonly show up as soft 404s in Search","href":"/technical-seo/http-status-codes/http-errors/204-no-content/","slug":"204-no-content","meta":"Educational","aliases":["204-no-content","204 no content","http 204","204 status code","204 no content seo","204 No Content","soft-404-errors","not-found-404"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"204-no-content http-status-codes soft-404 technical-seo googlebot indexing HTTP 204 No Content is a 2xx success code that intentionally returns an empty body — it's not an error, has nothing to do with whether a URL exists, and isn't limited by the spec to any fixed set of methods. It's the correct response for REST API DELETE/PUT calls and analytics beacons (sendBeacon, GA4's Measurement Protocol), though API designers disagree on how often to reach for it. The SEO catch is narrow: Google's own docs say a 204 gives it no content to process, so a page you want ranking won't get indexed from that response — and in practice these commonly show up as soft 404s in Search Console, though Google doesn't guarantee that exact label or a removal timetable. So 204 is right for API and beacon endpoints and wrong for anything meant to rank. If a page is genuinely gone, use 404 or 410; if it moved, use a 301; if it should have content, fix the server/CDN sending 204 instead of a 200 with a real body. What a 204 actually is Why that's a problem for a web page When a 204 is completely fine The one rule to remember What 204 means in the spec How Google treats a 204 204 vs. the codes it's confused with When 204 is exactly right not a bug Diagnosing and fixing an accidental page level 204 AI summary Official documentation Quotes from the source Legitimate 204s vs. accidental ones Diagnose an unexpected 204 A page is blank and the Network panel shows 204 Search Console reports a soft 404 for a 204 URL Your browser and crawler disagree about the status Classify a set of 204 URLs by intent Find accidental 204 responses Inspect one URL and request method Compare the default and Googlebot user agent response Report 204s from a URL list Tools for separating legitimate and accidental 204s Patrick's free tool HTTP 204 No Content is a 2xx success status meaning the server fulfilled the request but is intentionally sending back no message body. It's correct for APIs and beacons — but on a page meant to be indexed, Google treats it like a soft 404. TL;DR — A 204 No Content response means \"your request worked, and I'm deliberately sending back an empty page.\" It's a success code, not an error. That's perfectly fine for things like an app saving your work in the background or an analytics tracker — but it's wrong for a real web page you want in Google. An empty body gives Google nothing t","passages":["TL;DR — A 204 No Content response means \"your request worked, and I'm deliberately sending back an empty page.\" It's a success code, not an error.","That's perfectly fine for things like an app saving your work in the background or an analytics tracker — but it's wrong for a real web page you want in Google.","An empty body gives Google nothing to index, so it treats a 204 on a page like a soft 404.","What a 204 actually is Every response your server sends comes with a status code.","The codes mean \"success.\" — the one you want on your pages — means \"here's the page,\" body and all.","204 No Content also means success, but with a twist: the server is saying \"I did what you asked, and there's intentionally nothing to show you.\" The key word is intentionally .","A 204 isn't a page that failed to load or a URL that doesn't exist — it's a response that was designed to be empty.","Think of it as the server nodding \"done\" without handing anything back."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/204-no-content/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/204-no-content/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"403 Forbidden","desc":"What an HTTP 403 error is, how Google treats it (blocked — similar to a noindex), common causes (access controls, bot blocking, misconfigured permissions), and how to fix 403s for SEO.","snippetText":"A 403 Forbidden means the server understood the request but refused it — access was denied, and that refusal doesn't have to be about credentials at all (the server can even send a 404 instead to hide that a forbidden resource exists). It's not a 404 (\"nothing here\") and not a 401 (\"authenticate first\"); a 403 is an active \"you can't have this.\" For SEO, a 403 that stays on a page you want public keeps it out of Google's index — a similar end result to a noindex, but a different mechanism, since Google can't read content from a 4xx response at all. Because Googlebot never sends credentials, a ","href":"/technical-seo/http-status-codes/http-errors/403-forbidden/","slug":"403-forbidden","meta":"Educational","aliases":["403-forbidden","403 Forbidden","403 error","HTTP 403","access forbidden","blocked due to access forbidden","blocked-403","401-unauthorized","404-not-found","http-status-codes"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"A 403 Forbidden means the server understood the request but refused it — access was denied, and that refusal doesn't have to be about credentials at all (the server can even send a 404 instead to hide that a forbidden resource exists). It's not a 404 (\"nothing here\") and not a 401 (\"authenticate first\"); a 403 is an active \"you can't have this.\" For SEO, a 403 that stays on a page you want public keeps it out of Google's index — a similar end result to a noindex, but a different mechanism, since Google can't read content from a 4xx response at all. Because Googlebot never sends credentials, a 403 served to it is worth investigating rather than assuming intentional — common causes include a CDN/WAF bot filter, a server IP/user-agent block, a security plugin, or an .htaccess/permissions error, though there's no reliable data on which is most frequent. Never use 403 to throttle crawling (that's 429/503, for a short window only). And check intent first: some 403s (staging, admin, gated content) are correct and don't need fixing. Note the flip: a 403 on robots.txt itself is treated permissively, while a 403 on a page is a hard block. What a 403 actually means Why this matters for SEO What usually causes it The quick fix path 403 vs 401 vs 404 — get the mental model right first How Google treats a 403 outcome resembles noindex; the mechanism doesn't Why a 403 to Googlebot is worth investigating not always a mistake 403 has no effect on crawl rate — do not use it to throttle The robots.txt gotcha: a 403 on robots.txt is permissive , not restrictive How Bing treats 403 Common causes not ranked — I don't have prevalence data across sites Diagnosing a 403 — isolate which layer is issuing it Fixing it — allowlist bots the right way When a 403 is actually fine — don't \"fix\" these AI summary Official documentation Quotes from the source Diagnosing a 403 — decision tree Anti patterns — 403 mistakes I see constantly The intent, scope, and issuing layer framework Prompt: isolate a 403 by layer Prompt: review a WAF exception Tools for diagnosing 403 responses Test yourself: 403 Forbidden An HTTP 403 client-error status code meaning the server understood the request but refuses to fulfill it — access is denied, whether or not credentials are involved. For SEO, a 403 served to Googlebot on a page meant to be public and indexable usually points to a misconfigured rule; a persis","passages":["TL;DR — A 403 Forbidden means the server understood the request but is refusing it — whoever asked doesn't have permission.","It's different from a 404 \"nothing here\" and from a 401 \"log in first\" .","For SEO, a page that keeps returning a 403 to Googlebot won't get indexed, and if it was already indexed it drops out — so if it's a page you want found, a 403 is a problem to fix.","What a 403 actually means If you're a visitor who just hit a 403 on a site you don't run: it's a server side rule, not something in your browser.","Try a different network or device, make sure you're not on a VPN the site blocks, and clear cookies — but if it persists, the fix is on the site owner's end, and the rest of this article is written for them.","When you or a search engine bot request a page, the server sends back a status code.","means \"here it is.\" A 403 Forbidden means \"I understood what you asked for, and I'm refusing to give it to you.\" That refusal doesn't have to be about credentials — the server can refuse for other reasons too, and it's even allowed to send a 404 instead if it wants to hide that a forbidden resource exists at all.","The easiest way to keep the 4xx codes straight: 404 Not Found — \"There's nothing here.\" The page doesn't exist."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/403-forbidden/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/403-forbidden/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"404 Not Found","desc":"What a 404 error is, how Google handles 404 pages (de-indexes them over time), the difference between a hard 404 and a soft 404, and best practices for 404 pages in SEO.","snippetText":"A 404 Not Found is the client-error status code a server returns when a URL doesn't exist — a deleted page, a broken link, a typo. 404s are normal and expected: Google doesn't use their content, and the fact that some URLs on your site return a 404 doesn't drag down your other, successful pages — so you don't need to scramble to fix every one. Google de-indexes 404'd URLs over time (re-checking them less and less often), not instantly, and it doesn't promise to ever fully stop trying. The real distinction that matters is hard 404 (correct — actually returns 404) vs. soft 404 (a success code on","href":"/technical-seo/http-status-codes/http-errors/404-not-found/","slug":"404-not-found","meta":"Educational","aliases":["404 Not Found","404-not-found","404 not found","404 error","404 page","page not found","404 status code","soft-404-errors","410-gone","http-status-codes"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"A 404 Not Found is the client-error status code a server returns when a URL doesn't exist — a deleted page, a broken link, a typo. 404s are normal and expected: Google doesn't use their content, and the fact that some URLs on your site return a 404 doesn't drag down your other, successful pages — so you don't need to scramble to fix every one. Google de-indexes 404'd URLs over time (re-checking them less and less often), not instantly, and it doesn't promise to ever fully stop trying. The real distinction that matters is hard 404 (correct — actually returns 404) vs. soft 404 (a success code on a page that's really gone), which wastes crawl resources. Only 301-redirect a 404 when the page truly moved to a relevant target — don't blanket-redirect everything to the homepage. What a 404 error is Do 404s hurt my SEO? When to actually do something The one thing to avoid What a 404 actually is The fact that a URL 404s doesn't hurt your other pages How Google removes a 404'd URL from the index 404 vs. 410 Gone Hard 404 vs. soft 404 — the distinction that matters Where accidental soft 404s come from When to fix a 404 and when to leave it Custom 404 pages: UX lever, not an indexing lever How to find and audit 404s Bing, briefly AI summary Official documentation Quotes from the source What not to do with 404s Good vs. bad 404 handling 404 audit & handling checklist Tools for finding and handling 404s Resources worth your time Test yourself: 404 Not Found 404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often). TL;DR — A 404 means \"this page doesn't exist here.\" It happens when a URL was deleted, mistyped, or never existed. Here's the part that surprises people: 404s are normal, and an individual missing URL is not a sitewide ranking penalty. You don't need to panic when you see them in a report. Just make sure the URL actually returns a real 404 not a fake \"success\" page , and only redirect it somewhere if th","passages":["TL;DR — A 404 means \"this page doesn't exist here.\" It happens when a URL was deleted, mistyped, or never existed.","Here's the part that surprises people: 404s are normal, and an individual missing URL is not a sitewide ranking penalty.","Just make sure the URL actually returns a real 404 not a fake \"success\" page , and only redirect it somewhere if the page truly moved.","One quick scope note: this page is written for the person who owns the site — deciding what to do about 404s that show up in Search Console or an Ahrefs crawl.","If you're a visitor who just clicked a dead link, there's nothing for you to fix.","And if your server is misconfigured and won't return a 404 page at all, that's a hosting/server question, not an SEO one.","What a 404 error is When you visit a web page, your browser asks a server for a URL.","If the server can't find that URL, it returns a 404 Not Found — a code that means \"the thing you asked for isn't here.\" You've seen these."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/404-not-found/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/404-not-found/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"404 vs. 410","desc":"The difference between 404 (not found) and 410 (gone) for SEO — how quickly Google de-indexes each, when to use 410 for permanently deleted content, and whether the distinction still matters.","snippetText":"404 (Not Found) and 410 (Gone) both drop a page from Google's index over time, and Google's own docs group them as 'treated the same.' The only real difference is intent and a small margin: 410 says the page is permanently gone, and independent data (Reboot Online) found Google recrawls 404s about 49.6% more often than 410s. John Mueller says the processing difference is 'so minimal' he can't think of a reason to prefer one for SEO. Use 410 when you're certain content is gone for good and it's cheap to implement; use 404 when a page might return or 410 is a hassle; and if the URL has backlinks","href":"/technical-seo/http-status-codes/http-errors/404-vs-410/","slug":"404-vs-410","meta":"Educational","aliases":["404 vs. 410","404 vs 410","410 gone","410 vs 404","difference between 404 and 410"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"404 (Not Found) and 410 (Gone) both drop a page from Google's index over time, and Google's own docs group them as 'treated the same.' The only real difference is intent and a small margin: 410 says the page is permanently gone, and independent data (Reboot Online) found Google recrawls 404s about 49.6% more often than 410s. John Mueller says the processing difference is 'so minimal' he can't think of a reason to prefer one for SEO. Use 410 when you're certain content is gone for good and it's cheap to implement; use 404 when a page might return or 410 is a hassle; and if the URL has backlinks or ranking history, 301-redirect it instead of doing either. What each one means Does the difference matter for SEO? What to actually do What is a 404 Not Found ? What is a 410 Gone ? What Google actually says about 404 vs. 410 The official docs: \"treated the same\" Mueller's clarifications 2018 → 2024 The Matt Cutts 2014 \"24 hour\" line — and why it's outdated Source layers, at a glance What Bing says Is there really a speed difference? What the data shows When to use 410 vs. 404 — the framework Common myths Related distinctions AI summary Official documentation Quotes from the source 404 or 410 — which should I use? 404 vs. 410 — side by side When to use which Fast facts 404 versus 410 mistakes to avoid Redirecting every deleted URL to the homepage TL;DR — A 404 means \"not found\" — the page isn't here, but the server isn't saying whether that's permanent. A 410 means \"gone\" — this page was here and it's been removed on purpose, for good. For SEO they behave almost identically: both eventually drop the page from Google. 410 signals permanence a little more clearly and gets recrawled slightly less, but the difference is small. If the old page has links or traffic, redirect it instead. What each one means Both are error codes in the 4xx family — the group that means \"the client asked for something the server couldn't give it.\" 404 Not Found — the server can't find the page. It doesn't promise anything about the future. Maybe the URL is a typo, maybe the page moved, maybe it's gone forever. 404 stays deliberately vague. 410 Gone — the page was here, and it's been intentionally, permanently removed. You're telling everyone \"don't expect this to come back.\" Think of 404 as \"I can't find that\" and 410 as \"that's been taken down for good.\" Does the difference matter for SEO? B","passages":["TL;DR — A 404 means \"not found\" — the page isn't here, but the server isn't saying whether that's permanent.","A 410 means \"gone\" — this page was here and it's been removed on purpose, for good.","For SEO they behave almost identically: both eventually drop the page from Google.","410 signals permanence a little more clearly and gets recrawled slightly less, but the difference is small.","What each one means Both are error codes in the 4xx family — the group that means \"the client asked for something the server couldn't give it.\" 404 Not Found — the server can't find the page.","Maybe the URL is a typo, maybe the page moved, maybe it's gone forever.","410 Gone — the page was here, and it's been intentionally, permanently removed.","You're telling everyone \"don't expect this to come back.\" Think of 404 as \"I can't find that\" and 410 as \"that's been taken down for good.\" Does the difference matter for SEO?"],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/404-vs-410/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/404-vs-410/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"410 Gone","desc":"What an HTTP 410 Gone status is, how Google de-indexes 410 pages faster than 404s, when to use 410 vs. 404 for permanently deleted content, and how it affects crawl budget.","snippetText":"A 410 Gone status code tells search engines a page was intentionally and permanently removed — versus a 404, which just says 'not found' without saying why. Both drop the page from the index eventually; 410 signals permanence more strongly, so Google confirms and removes it a little faster and re-checks it a little less often. The difference is real but modest — not the dramatic '3x faster' figure that circulates online. For most one-off deletions a 404 is fine; 410 earns its keep at scale (mass deletions, migrations with no equivalent URL, spam cleanup). The bigger mistake than picking 404 vs","href":"/technical-seo/http-status-codes/http-errors/410-gone/","slug":"410-gone","meta":"Educational","aliases":["410 Gone","410-gone","410 gone","410 status code","HTTP 410","410 vs 404","410 response code","404 Not Found","Soft 404","301 redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"A 410 Gone status code tells search engines a page was intentionally and permanently removed — versus a 404, which just says 'not found' without saying why. Both drop the page from the index eventually; 410 signals permanence more strongly, so Google confirms and removes it a little faster and re-checks it a little less often. The difference is real but modest — not the dramatic '3x faster' figure that circulates online. For most one-off deletions a 404 is fine; 410 earns its keep at scale (mass deletions, migrations with no equivalent URL, spam cleanup). The bigger mistake than picking 404 vs. 410 is a soft 404, which wastes crawl budget forever. What a 410 means Why it matters for SEO The simple rule What 410 actually is Does Google de index 410s faster than 404s? The myth to drop When to use 410 vs. 404 vs. a redirect The soft 404 trap the mistake that actually costs you 410 during migrations and mass deletions How Bing handles it and how to speed it up How to verify a 410 is working AI summary Official documentation Quotes from the source Runbook: mass 410 a set of URLs deletion or migration When not to run this playbook Diagnosing an accidental 410 Should this URL return 410? Prompt: classify a deletion list Prompt: review a bulk 410 rule Shell: verify a list of retired URLs PowerShell: verify the same list DevTools Console: find links to a retired path Tools for implementing and checking 410s A 410 Gone status code tells search engines a page was intentionally and permanently removed, prompting slightly faster de-indexing than a standard 404. TL;DR — A 410 Gone status code is how you tell search engines \"this page used to be here, we deleted it on purpose, and it isn't coming back.\" It's like a 404 Not Found , but with intent: a 404 just says \"nothing here,\" while a 410 says \"gone, permanently, by design.\" Both eventually get the page dropped from Google — Google documents the two as equivalent for Search. What a 410 means When a browser or a search engine asks your server for a page, the server answers with a status code . means \"here it is.\" means \"I can't find anything at that URL.\" means \"there was something here, and it's gone — permanently.\" The difference between 404 and 410 is one of certainty . A 404 is ambiguous: maybe the page was deleted, maybe someone mistyped the URL, maybe there's a bug and it'll be back tomorrow. A 410 removes that ambi","passages":["TL;DR — A 410 Gone status code is how you tell search engines \"this page used to be here, we deleted it on purpose, and it isn't coming back.\" It's like a 404 Not Found , but with intent: a 404 just says \"nothing here,\" while a 410 says \"gone, permanently, by design.\" Both eventually get the page dropped from Google — Google documents the two as equivalent for Search.","What a 410 means When a browser or a search engine asks your server for a page, the server answers with a status code .","means \"here it is.\" means \"I can't find anything at that URL.\" means \"there was something here, and it's gone — permanently.\" The difference between 404 and 410 is one of certainty .","A 404 is ambiguous: maybe the page was deleted, maybe someone mistyped the URL, maybe there's a bug and it'll be back tomorrow.","A 410 removes that ambiguity — you're explicitly telling the world the page was removed on purpose and won't return.","Why it matters for SEO If you delete a page and it returns a 404 or a 410, Google will eventually drop it from search results.","The Google's published guidance treats the two codes the same for Search and promises no special removal timetable for 410.","Until it does, the page can still show in results sometimes with a cached snippet ."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/410-gone/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/410-gone/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"429 Too Many Requests","desc":"What an HTTP 429 status means, how Google treats rate limiting and backs off from crawling, how it affects crawl budget, and how to configure your server to send 429s without causing deindexing.","snippetText":"429 Too Many Requests is the one 4xx code Google doesn't treat like a client error. Once it sees enough of them, it reads that as a server-overload signal — the same bucket as 5xx — and throttles Googlebot's crawl rate across your whole hostname instead of dropping your content. That makes it the correct, Google-endorsed way to slow a crawler down (never 403 or 404). But it's a short-term tool: keep it to a couple of hours or 1–2 days, send a Retry-After header as best practice, and scope it to the right traffic. Sustained 429s on the same URLs for days can still get them dropped from the inde","href":"/technical-seo/http-status-codes/http-errors/429-too-many-requests/","slug":"429-too-many-requests","meta":"Educational","aliases":["429-too-many-requests","429","429 Too Many Requests","429 error","too many requests","rate limiting","http-status-codes","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"429 http-status-codes technical-seo rate-limiting crawl-budget googlebot 429 Too Many Requests is the one 4xx code Google doesn't treat like a client error. Once it sees enough of them, it reads that as a server-overload signal — the same bucket as 5xx — and throttles Googlebot's crawl rate across your whole hostname instead of dropping your content. That makes it the correct, Google-endorsed way to slow a crawler down (never 403 or 404). But it's a short-term tool: keep it to a couple of hours or 1–2 days, send a Retry-After header as best practice, and scope it to the right traffic. Sustained 429s on the same URLs for days can still get them dropped from the index. What a 429 actually says Why 429 is the \"nice\" error for SEO When 429 becomes a problem What you'd do about it What 429 is at the protocol level The one exception among 4xx codes Crawl rate impact is hostname wide — with a threshold The 1–2 day guidance — when 429 turns risky Crawl rate recovers automatically How Bing handles 429 When you'd deliberately send a 429 Unintentional 429s — the usual culprits The short version of the playbook AI summary Official documentation Quotes from the source Send a proper 429 — with Retry After nginx — rate limiting that returns 429 Apache — rate limiting with mod ratelimit / mod evasive Cloudflare / CDN — rate limit to 429 Client side: retrying after a 429 without a formula Verify a bot is really Googlebot before exempting it Common myths about 429 and SEO Frequently asked questions 429 Too Many Requests is an HTTP client-error status code that means a client sent too many requests in a given time window — a mechanism called rate limiting. Unlike other 4xx codes, Google treats 429 as a server-overload signal and slows crawling instead of removing content. TL;DR — A 429 Too Many Requests means your server told a visitor or bot \"you're asking for too many pages too fast — slow down.\" That's called rate limiting . The good news for SEO: 429 is the one error in its family that Google handles gently. Instead of dropping your pages, Googlebot just eases off and crawls you more slowly for a while. It only becomes a problem if your server keeps sending 429s for days on end. What a 429 actually says Every time a browser, script, or search engine crawler asks your server for a page, the server answers with a status code. means \"here's the page.\" A 429 means \"you've made","passages":["TL;DR — A 429 Too Many Requests means your server told a visitor or bot \"you're asking for too many pages too fast — slow down.\" That's called rate limiting .","The good news for SEO: 429 is the one error in its family that Google handles gently.","Instead of dropping your pages, Googlebot just eases off and crawls you more slowly for a while.","It only becomes a problem if your server keeps sending 429s for days on end.","What a 429 actually says Every time a browser, script, or search engine crawler asks your server for a page, the server answers with a status code.","means \"here's the page.\" A 429 means \"you've made too many requests in a short window, so I'm not answering this one — come back later.\" Servers use 429 on purpose to protect themselves.","If one visitor or one bot is hammering the site fast enough to slow it down for everyone else, returning 429 is how the server says knock it off for a bit .","A well behaved 429 response also includes a header — a note telling the client how many seconds to wait before trying again."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/429-too-many-requests/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/429-too-many-requests/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"451 Unavailable For Legal Reasons","desc":"What HTTP 451 means, how Google treats legally blocked content vs. geo-restricted content, how it appears in Search Console, and when to use 451 vs. other status codes for geoblocking.","snippetText":"A 451 Unavailable For Legal Reasons means a resource is being withheld because of a legal demand — a court order, government censorship, a DMCA takedown, sanctions, or a regulation — not because it's missing (404) or access-forbidden (403). It's the only HTTP code designed for legal transparency: RFC 7725 asks the server to explain who's demanding the block and under what authority, and to add a Link: rel=\"blocked-by\" header. For SEO, don't expect special treatment — Google doesn't document 451 among its \"top 20\" codes, and Search Console has no dedicated 451 label, so it lands in the catch-al","href":"/technical-seo/http-status-codes/http-errors/451-unavailable-legal/","slug":"451-unavailable-legal","meta":"Educational","aliases":["451-unavailable-legal","451 Unavailable For Legal Reasons","451 error","HTTP 451","unavailable for legal reasons","451 status code","403-forbidden","404-not-found","http-status-codes"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"A 451 Unavailable For Legal Reasons means a resource is being withheld because of a legal demand — a court order, government censorship, a DMCA takedown, sanctions, or a regulation — not because it's missing (404) or access-forbidden (403). It's the only HTTP code designed for legal transparency: RFC 7725 asks the server to explain who's demanding the block and under what authority, and to add a Link: rel=\"blocked-by\" header. For SEO, don't expect special treatment — Google doesn't document 451 among its \"top 20\" codes, and Search Console has no dedicated 451 label, so it lands in the catch-all \"URL blocked due to other 4xx issue\" and behaves like any generic 4xx: not indexed, or dropped from the index. Serving 451 globally by mistake deindexes just like an accidental 403/404. And using 451 for GDPR geo-blocking is genuinely contested, not settled fact. What a 451 actually means Where you'll actually see it Why this matters for SEO What 451 is — and why it exists at all 451 vs. 403 vs. 404 — what's actually different How Google treats 451 — no special handling, and you should assume the worst How 451 shows up in Search Console short answer: it doesn't, specifically The indexing consequence — and the \"don't do this by accident\" warning How Bing treats 451 Implementing 451 the right way — the RFC 7725 checklist most sites skip Is 451 the right code for GDPR geo blocking? it's contested Real world 451 in the wild AI summary Official documentation Quotes from the source 451 vs. 403 vs. geo redirect — which should I use for legally/geo restricted content? What a 451 looks like in practice A country scoped censorship block A post GDPR regional block A targeted takedown RFC 7725 implementation checklist Prove a geo scoped 451 is scoped correctly Compare affected and unaffected regions Inspect the transparency response An HTTP 451 client-error status code that tells a browser or crawler a resource can't be served because of a legal demand — a court order, government censorship, DMCA takedown, or regulatory requirement — rather than a technical failure (404) or an access-permissions problem (403). It's the only status code built specifically for legal transparency, and RFC 7725 asks servers to explain who is demanding the block and under what authority. TL;DR — A 451 Unavailable For Legal Reasons means the server is refusing to show a page because a legal demand forc","passages":["TL;DR — A 451 Unavailable For Legal Reasons means the server is refusing to show a page because a legal demand forces it to — a court order, government censorship, a DMCA takedown, or a regulation.","It's not a 404 \"nothing here\" or a 403 \"you don't have access\" ; it's \"a legal demand — not a technical fault or a permissions rule — is why you can't have this.\" RFC 7725 is careful not to say whether the resource exists or would otherwise be servable — that's deliberate.","What a 451 actually means When you or a search engine bot request a page, the server sends back a status code.","means \"here it is.\" A 451 Unavailable For Legal Reasons means \"access to this is being blocked because of a legal demand\" — a court order, censorship, a takedown, a regulation.","RFC 7725 is deliberate about one thing: the code doesn't confirm the resource exists, and it doesn't confirm it doesn't — so you can't read a 451 as proof the content is really there waiting to be served once the legal demand goes away.","The easiest way to keep it straight against its neighbors: 404 Not Found — \"There's nothing here.\" The page doesn't exist.","403 Forbidden — \"There's something here, but you don't have access.\" An access block.","451 Unavailable For Legal Reasons — \"A legal demand — not a technical fault or a permissions rule — is why you can't have this.\" Unlike 404 and 403, it deliberately doesn't say whether the resource exists or would otherwise be servable; RFC 7725 leaves that open on purpose."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/451-unavailable-legal/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/451-unavailable-legal/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AggregateRating Schema","desc":"How to implement AggregateRating schema markup for star ratings in search results, what schema.org/AggregateRating covers vs. what Google requires for review snippets, and eligibility and spam policies.","snippetText":"AggregateRating schema (schema.org/AggregateRating) marks up the average of many ratings or reviews of an item, as opposed to Review, which marks up one person's opinion. It's usually nested inside a parent type's aggregateRating property (Product, LocalBusiness, Recipe, and others), which is why it can skip itemReviewed — but Google also accepts a non-nested AggregateRating that names itemReviewed directly; either way the item being rated needs a name. Google's required properties for the star rich result are ratingValue, at least one of ratingCount or reviewCount, and itemReviewed (unless ne","href":"/technical-seo/on-page/structured-data/metadata-trust/aggregaterating-schema/","slug":"aggregaterating-schema","meta":"Educational","aliases":["aggregaterating-schema","aggregaterating schema","aggregate rating schema","schema.org/AggregateRating","aggregateRating property","AggregateRating Schema","review-schema","product-schema","productgroup-schema","organization-schema","schema-markup","structured-data"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","metadata-trust"],"text":"aggregaterating-schema structured-data schema-org json-ld rich-results review-snippet AggregateRating schema (schema.org/AggregateRating) marks up the average of many ratings or reviews of an item, as opposed to Review, which marks up one person's opinion. It's usually nested inside a parent type's aggregateRating property (Product, LocalBusiness, Recipe, and others), which is why it can skip itemReviewed — but Google also accepts a non-nested AggregateRating that names itemReviewed directly; either way the item being rated needs a name. Google's required properties for the star rich result are ratingValue, at least one of ratingCount or reviewCount, and itemReviewed (unless nested); bestRating and worstRating are recommended. The eligibility rule people get wrong: self-serving ratings are ineligible for the star feature specifically on LocalBusiness and Organization types — a business rating itself — but Product, Recipe, Movie, and most other supported types remain eligible for genuine ratings. ratingCount (all ratings, star-only included) and reviewCount (people who left a review, with or without a rating) are different numbers. Valid markup only earns star-rating eligibility, not ranking, and fake ratings can trigger a manual action. What AggregateRating schema is Why it's worth doing The thing most people get wrong AggregateRating vs. Review — the distinction everything hinges on Nested vs. non nested — two valid ways to attach it Required and recommended properties vs. — a real distinction / — include them off the default scale The self serving reviews rule — scoped precisely Genuine ratings only — the spam and manual action policy Where AggregateRating sits in the wider picture AI summary Official documentation Quotes from the source AggregateRating vs. Review — which do I need? AggregateRating myths and mistakes to avoid Clean vs. broken AggregateRating JSON LD A clean, nested aggregate rating The non nested form The same aggregate, broken Common Search Console / Rich Results Test errors → fixes Tools for building and checking AggregateRating markup Common AggregateRating problems and how to fix them The markup validates clean, but no stars ever show in search results AggregateRating schema (schema.org/AggregateRating) is structured data that represents the average of many ratings or reviews of an item, usually nested inside a parent type (or standalo","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — AggregateRating is code you add to a page that says \"the average rating of this thing is 4.6 stars, out of this many ratings.\" It's what powers the ⭐ star snippet you see under some search results.","Most of the time you nest it inside the markup for whatever's being rated a product, a recipe, a business — Google also allows a standalone version that names the rated item directly, but nesting is the common pattern.","And you can't just rate your own business and expect stars — Google blocks that.","What AggregateRating schema is When a page shows something like \"4.6 ★ 218 ratings \" , a human reads it at a glance.","A search engine sees plain text and has to guess what those numbers mean.","AggregateRating spells it out in code, using the shared schema.org https://schema.org/AggregateRating vocabulary: it labels the average score , how many ratings it's based on, and the scale .","The key word is aggregate — it's the average of many ratings.","That's different from Review schema , which marks up one person's written opinion."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/aggregaterating-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/aggregaterating-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AMP SEO","desc":"What AMP (Accelerated Mobile Pages) is, how it works, why it was never a ranking factor, why it stopped being required for Top Stories in June 2021, and how to decide whether to keep or remove it.","snippetText":"AMP (Accelerated Mobile Pages) is Google's 2015 framework for near-instant mobile pages — but it was never a ranking factor, and since June 2021 it's no longer required for Top Stories (Core Web Vitals replaced it, and the AMP badge was removed). It's optional and declining: don't build new AMP, and weigh the operational cost before keeping it.","href":"/technical-seo/mobile-seo/amp-seo/","slug":"amp-seo","meta":"Educational","aliases":["amp","AMP SEO","Accelerated Mobile Pages","AMP","AMP pages","core-web-vitals","mobile-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"AMP (Accelerated Mobile Pages) is Google's 2015 framework for near-instant mobile pages — but it was never a ranking factor, and since June 2021 it's no longer required for Top Stories (Core Web Vitals replaced it, and the AMP badge was removed). It's optional and declining: don't build new AMP, and weigh the operational cost before keeping it. What AMP is Why people used it What changed The thing most people get wrong Should you use it today? A bit of history How AMP works technically The Google AMP Cache What actually happened in Google Search The URL rewriting problem and Signed Exchange AMP canonical tagging AMP analytics challenges Other AMP surfaces so you don't conflate them Bing and AMP Should you still use AMP? How to remove AMP if you decide to Myths worth killing AI summary Official documentation Quotes from the source Keep AMP, remove it, or avoid it? AMP maintenance and removal checklist If AMP stays If AMP goes AMP (Accelerated Mobile Pages) is an open-source web framework Google launched in 2015 to make mobile pages load near-instantly via restricted HTML/CSS/JS and CDN caching. It was never a ranking factor and, since June 2021, is no longer required for Top Stories. TL;DR — AMP Accelerated Mobile Pages is a Google framework from 2015 for building super fast mobile pages. It was never a ranking factor, and since June 2021 you no longer need it to show up in Google's Top Stories carousel — Core Web Vitals took over that job. For a new site, don't bother with AMP. If you already have it, decide whether it's still worth the hassle. What AMP is AMP stands for Accelerated Mobile Pages . Google launched it in 2015 it showed up in Google Search that October as an open source way to make mobile pages load almost instantly. It works by putting your page on a strict diet. AMP only allows a limited set of HTML, your own JavaScript is mostly banned, CSS has to be inline and small, and you have to load a special AMP library. In exchange, Google can store a copy of your page on its own super fast network the Google AMP Cache and load it in the background before someone even taps your result — so it feels instant. Why people used it For years, AMP was basically the price of admission to the Top Stories carousel — the news box at the top of mobile search results. If you ran a news site and wanted to be in Top Stories, you needed AMP. Google also showed a lit","passages":["TL;DR — AMP Accelerated Mobile Pages is a Google framework from 2015 for building super fast mobile pages.","It was never a ranking factor, and since June 2021 you no longer need it to show up in Google's Top Stories carousel — Core Web Vitals took over that job.","If you already have it, decide whether it's still worth the hassle.","Google launched it in 2015 it showed up in Google Search that October as an open source way to make mobile pages load almost instantly.","AMP only allows a limited set of HTML, your own JavaScript is mostly banned, CSS has to be inline and small, and you have to load a special AMP library.","In exchange, Google can store a copy of your page on its own super fast network the Google AMP Cache and load it in the background before someone even taps your result — so it feels instant.","Why people used it For years, AMP was basically the price of admission to the Top Stories carousel — the news box at the top of mobile search results.","If you ran a news site and wanted to be in Top Stories, you needed AMP."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/mobile-seo/amp-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/amp-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"BreadcrumbList Schema","desc":"How to implement BreadcrumbList structured data to drive breadcrumb display in Google search results, the relationship between schema.org/BreadcrumbList and real HTML breadcrumb navigation, and how to test it.","snippetText":"BreadcrumbList is the schema.org type that marks up a page's breadcrumb trail (Home > Category > Page) as JSON-LD. It does two jobs: it can drive a readable breadcrumb path in Google's search snippet in place of the raw URL, and — per Google's own docs — it's a categorization signal Google reads from the page body, which is why the same page can surface under different breadcrumb paths for different queries. The required shape is a BreadcrumbList holding an ordered itemListElement array of ListItems, each with position, name, and item — item is optional only on the final (current-page) entry. ","href":"/technical-seo/on-page/structured-data/metadata-trust/breadcrumblist-schema/","slug":"breadcrumblist-schema","meta":"Educational","aliases":["breadcrumblist-schema","BreadcrumbList schema","BreadcrumbList structured data","breadcrumb schema","breadcrumb JSON-LD","BreadcrumbList markup","BreadcrumbList Schema","breadcrumbs","structured-data","schema-markup","rich-results"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","metadata-trust"],"text":"breadcrumblist-schema structured-data technical-seo on-page rich-results breadcrumbs schema json-ld BreadcrumbList is the schema.org type that marks up a page's breadcrumb trail (Home > Category > Page) as JSON-LD. It does two jobs: it can drive a readable breadcrumb path in Google's search snippet in place of the raw URL, and — per Google's own docs — it's a categorization signal Google reads from the page body, which is why the same page can surface under different breadcrumb paths for different queries. The required shape is a BreadcrumbList holding an ordered itemListElement array of ListItems, each with position, name, and item — item is optional only on the final (current-page) entry. Google explicitly recommends breadcrumbs reflect a typical user path, not necessarily your URL folder structure, and you can skip a ListItem for the homepage and the current page. It's not a ranking factor, valid markup never guarantees the rich display, and there's genuine, unsettled disagreement in 2026 about how consistently Google still shows breadcrumbs in the SERP — so implement it for the categorization value and low cost, and check your own results rather than trusting secondhand claims. What BreadcrumbList schema is Why it's worth doing The minimum you need Two things people get wrong What it is, precisely The two jobs breadcrumb markup does Required and optional properties User path vs. URL structure It is not a ranking factor Validating and rolling it out Why isn't my breadcrumb rich result showing? Does Google still show breadcrumbs in the SERP? an honest 2026 answer Bing and other engines The bottom line AI summary Official documentation Quotes from the source A broken BreadcrumbList — and why it fails The clean version BreadcrumbList mistakes and myths to avoid BreadcrumbList properties at a glance Tools for building and checking BreadcrumbList markup Common BreadcrumbList problems and how to fix them The Rich Results Test or Schema Markup Validator flags an error on my BreadcrumbList BreadcrumbList (schema.org/BreadcrumbList) is structured data — usually JSON-LD — that marks up a page's breadcrumb trail (Home > Category > Page) so search engines can read the page's position in the site hierarchy, drive a readable breadcrumb path in the search snippet, and use it to categorize the page. {/ tool rule claim: schema.structured data validity/article contract /} ","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — BreadcrumbList is a bit of code usually JSON LD that tells Google the trail showing where a page sits on your site — .","Google can use it to show that readable path in the search result instead of a messy URL, and it uses the trail to understand how the page is categorized.","You need at least a couple of steps in the trail, each with a , a , and a link — except the last step the current page , which doesn't need a link.","What BreadcrumbList schema is A breadcrumb is the little navigation trail near the top of a page that shows where you are: .","BreadcrumbList is the schema.org type you use to describe that trail in a machine readable way so search engines can read it directly instead of guessing.","Most people add it as JSON LD — a small block of code in the page's HTML.","Google also accepts Microdata and RDFa, but JSON LD is the format it recommends.","Google can show your breadcrumb trail in the search snippet in place of the raw URL, so people see instead of a long address."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/breadcrumblist-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/breadcrumblist-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Carrd SEO","desc":"A practical, current guide to Carrd SEO — what the platform handles automatically (HTTPS, Cloudflare CDN, auto-generated sitemap.xml, mobile-responsive, static HTML), what each Pro plan unlocks, and the hard limits of a single-page builder: one keyword focus per site, no native blog, no URL path structure, no hreflang, and no native structured data. Includes the full Free / Pro Lite / Pro Standard / Pro Plus SEO feature matrix and why Carrd on a custom domain beats Linktree.","snippetText":"Carrd does the technical baseline for you on every plan: HTTPS via Let's Encrypt, a Cloudflare CDN, an auto-generated sitemap.xml, mobile-responsive templates, and static pre-rendered HTML (so no JavaScript crawl issues for Google or AI crawlers). But the SEO levers that matter are plan-gated. The free plan and Pro Lite ($9/yr) don't give you meta tags or a custom domain — so Pro Standard ($19/yr) is the real minimum: custom domain, meta tags, analytics, and the code embed you need to add JSON-LD. Pro Plus ($49/yr) adds 301 redirects, canonical control, robots.txt, and update frequency. The bi","href":"/technical-seo/platform-seo/website-builders/carrd-seo/","slug":"carrd-seo","meta":"Educational","aliases":["carrd-seo","Carrd SEO","Carrd SEO guide","SEO on Carrd","is Carrd good for SEO","Carrd meta tags","platform-seo","canonicalization","structured-data","sitemaps"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"carrd-seo platform-seo website-builders single-page-seo structured-data canonicalization Carrd does the technical baseline for you on every plan: HTTPS via Let's Encrypt, a Cloudflare CDN, an auto-generated sitemap.xml, mobile-responsive templates, and static pre-rendered HTML (so no JavaScript crawl issues for Google or AI crawlers). But the SEO levers that matter are plan-gated. The free plan and Pro Lite ($9/yr) don't give you meta tags or a custom domain — so Pro Standard ($19/yr) is the real minimum: custom domain, meta tags, analytics, and the code embed you need to add JSON-LD. Pro Plus ($49/yr) adds 301 redirects, canonical control, robots.txt, and update frequency. The bigger constraint is architectural: a Carrd site is one URL — its 'pages' are scroll anchors, not separate indexable URLs — so you get one keyword focus per site, no native blog, no URL paths, and no hreflang. Used right (a focused single-topic page on your own domain), that's fine, and it beats Linktree, which builds authority on linktr.ee instead of your domain. The short answer: is Carrd good for SEO? What Carrd does for you automatically What you have to pay for and set up yourself The thing most people get wrong What Carrd handles automatically all plans, free included The plan ladder: what each tier actually unlocks The canonical and duplicate content gotcha The single page reality Adding structured data to Carrd Carrd vs. Linktree for SEO The honest verdict AI summary Official documentation Quotes from the source Carrd SEO quick start checklist Carrd SEO at a glance Tools for Carrd SEO Test yourself: Carrd SEO Resources worth your time Carrd SEO is the practice of optimizing a website built on Carrd — a minimal, primarily single-page website builder — for organic search. Carrd automatically provides HTTPS via Let's Encrypt, a Cloudflare-backed CDN, an auto-generated sitemap.xml, mobile-responsive templates, and static HTML (so there are no JavaScript crawl issues). The catch is plan-gating and architecture: meta tags and a custom domain require Pro Standard ($19/yr), canonical control, 301 redirects, and robots.txt require Pro Plus ($49/yr), and the whole site lives at one URL — sections are scroll anchors, not separate indexable pages — so you get one keyword focus per site. TL;DR — Carrd builds simple one page sites, and it does a surprising amount of SEO for you automaticall","passages":["TL;DR — Carrd builds simple one page sites, and it does a surprising amount of SEO for you automatically: a secure HTTPS connection, fast loading, a sitemap, and a mobile version — on every plan, including the free one.","The catch is that the settings that matter most your own domain name and custom meta tags only show up once you pay for Pro Standard, which is $19 a year.","A Carrd site can absolutely rank in Google, but it's built for one focused topic — there's no blog, and the whole thing lives at a single web address.","Carrd is built for simple, single page sites: a personal page, a portfolio, a \"link in bio\" page, or a landing page for one service.","Where it can't compete is breadth: you can't build a big content site or a blog with lots of pages on Carrd, because the whole site is one page.","So if you want one clean, focused page that ranks for one topic or your brand name, Carrd is a fine choice.","If you want to publish dozens of articles to win lots of different searches, it's the wrong tool.","What Carrd does for you automatically You don't set these up — they come with every plan, free included: HTTPS — the padlock in the address bar, so your site is secure."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/carrd-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/carrd-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Contentful SEO","desc":"Contentful renders no HTML — your frontend does, so SEO is a frontend job. Rendering mode, SEO content fields, sitemaps, Preview API protection, redirects, and JSON-LD.","snippetText":"Contentful is a headless CMS — it serves content over APIs and renders no HTML, so every SEO outcome is decided by the frontend that consumes it. Rendering is the #1 decision: SSG and SSR ship fully-built HTML and are safe everywhere; CSR is risky for Google and a failure for Bing and most AI crawlers. Contentful has no built-in SEO — meta tags, sitemaps, robots.txt, redirects, hreflang, and structured data all get built in the frontend, and you have to add explicit SEO fields to the content model. Keep Preview API drafts out of the index with host-level noindex, not robots.txt alone.","href":"/technical-seo/platform-seo/headless-cms/contentful-seo/","slug":"contentful-seo","meta":"Educational","aliases":["contentful-seo","Contentful SEO","Contentful search engine optimization","headless CMS SEO Contentful","headless-cms-seo","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","headless-cms"],"text":"contentful-seo headless-cms-seo technical-seo platform-seo rendering next-js canonicalization structured-data Contentful is a headless CMS — it serves content over APIs and renders no HTML, so every SEO outcome is decided by the frontend that consumes it. Rendering is the #1 decision: SSG and SSR ship fully-built HTML and are safe everywhere; CSR is risky for Google and a failure for Bing and most AI crawlers. Contentful has no built-in SEO — meta tags, sitemaps, robots.txt, redirects, hreflang, and structured data all get built in the frontend, and you have to add explicit SEO fields to the content model. Keep Preview API drafts out of the index with host-level noindex, not robots.txt alone. What Contentful actually is Contentful doesn't come with SEO built in The one decision that matters most: rendering What's actually left for you to do The architecture point that drives everything Rendering is the 1 Contentful SEO decision Dynamic rendering is deprecated Building a Contentful content model for SEO Metadata, sitemaps, robots.txt — rebuilding the plugin Protecting staging and the Preview API — the sharpest Contentful risk Redirects in a headless Contentful setup Structured data, hreflang, and performance Migrating to Contentful without tanking traffic AI summary Official documentation Quotes from the source Two checklists: Contentful SEO health + migration The mental models Contentful SEO — cheat sheet Compare published routes with their live output Tools for a Contentful frontend Resources worth your time Mistakes I keep seeing on Contentful builds Shipping a raw CSR shell as the default frontend Contentful SEO is the practice of making content delivered through the Contentful headless CMS crawlable, indexable, and rankable. Because Contentful serves content over APIs and renders no HTML itself, every SEO outcome is decided by the frontend that consumes it. TL;DR — Contentful is a place to store and structure content, not a place that builds web pages . It hands your content to a separate website built with something like Next.js or Astro over an API, and that website is what search engines actually see. So Contentful itself doesn't \"do SEO\" — there's no built in title tag, sitemap, or robots.txt. The big rule is the same as any headless setup: build your pages on a server or at build time so search engines get real HTML, and rebuild the SEO basics title","passages":["TL;DR — Contentful is a place to store and structure content, not a place that builds web pages .","It hands your content to a separate website built with something like Next.js or Astro over an API, and that website is what search engines actually see.","So Contentful itself doesn't \"do SEO\" — there's no built in title tag, sitemap, or robots.txt.","The big rule is the same as any headless setup: build your pages on a server or at build time so search engines get real HTML, and rebuild the SEO basics titles, descriptions, sitemap yourself.","What Contentful actually is A lot of confusion about Contentful SEO disappears once you understand one thing: Contentful is a content repository, not a website.","In a traditional CMS like WordPress, the place you write content and the place that turns it into a web page are the same system.","You model and write content in Contentful, and Contentful then delivers that content as raw data JSON through an API.","A completely separate website — built with a framework like Next.js, Astro, Gatsby, or Nuxt — fetches that data and builds the actual pages people and search engines see."],"updated":"2026-07-13T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/contentful-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/contentful-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawl Delay","desc":"The crawl-delay robots.txt directive — what it does, why Google stopped honoring it in 2019 and Yandex dropped it in 2018, how Bing still interprets the value, which other crawlers respect it, and what to use instead.","snippetText":"Crawl-delay is a non-standard robots.txt directive that asks bots to wait between fetches to ease server load. Google has ignored it since September 1, 2019; slow Googlebot with temporary 429/503 responses or by fixing server capacity. Bing's current Webmaster guidance documents values from 1–20 seconds. Yandex dropped support on February 22, 2018 and now uses a crawl-rate setting inside Yandex Webmaster. Check each crawler's own documentation before relying on this non-standard field.","href":"/technical-seo/how-search-works/crawling/crawl-delay/","slug":"crawl-delay","meta":"Educational","aliases":["crawl-delay","crawl delay","Crawl-delay directive","robots.txt crawl delay","Crawl Delay","crawl-rate","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"Crawl-delay is a non-standard robots.txt directive that asks bots to wait between fetches to ease server load. Google has ignored it since September 1, 2019; slow Googlebot with temporary 429/503 responses or by fixing server capacity. Bing's current Webmaster guidance documents values from 1–20 seconds. Yandex dropped support on February 22, 2018 and now uses a crawl-rate setting inside Yandex Webmaster. Check each crawler's own documentation before relying on this non-standard field. What crawl delay is The most important thing: Google ignores it If you're trying to slow Google down If you're trying to slow Bing down Why crawl delay exists Google retired it on September 1, 2019 What to use instead for Google Bing documents a 1–20 second range Yandex dropped it in 2018 Other crawlers: SEO tools and AI bots The use case that's left AI summary Official documentation Quotes from the source Crawl delay decision checklist Crawl delay cheat sheet How should you slow a crawler? Tools for crawl delay work Resources worth your time Test yourself: Crawl Delay Crawl-delay is a non-standard robots.txt directive that asks bots to wait between successive page fetches to ease server load. Google has ignored it since September 1, 2019 and Yandex dropped it on February 22, 2018; Bing and many other crawlers still honor it, but Bing interprets the value differently than the plain reading. TL;DR — is a line you can put in asking bots to slow down — wait a few seconds between page fetches. The big thing to know: Google ignores it and has since 2019 . Bing still honors it. If you're trying to stop Googlebot from hammering your server, won't help — use a different approach below . What crawl delay is is a line you add to your file that asks a crawler to wait a certain number of seconds between requests, so it doesn't fetch your pages so fast that it slows your server down. It looks like this: That's saying, roughly, \"every bot, please pause between page fetches.\" The most important thing: Google ignores it This is the part that trips people up. Google does not honor . It stopped processing the directive on September 1, 2019, and even before that it never officially supported it. So if you've put in your hoping to slow Googlebot down, it's doing nothing. Bing is different — Bing does honor . So do some other crawlers more on that in the Advanced tab . If you're trying to slow Goo","passages":["TL;DR — is a line you can put in asking bots to slow down — wait a few seconds between page fetches.","The big thing to know: Google ignores it and has since 2019 .","If you're trying to stop Googlebot from hammering your server, won't help — use a different approach below .","What crawl delay is is a line you add to your file that asks a crawler to wait a certain number of seconds between requests, so it doesn't fetch your pages so fast that it slows your server down.","It looks like this: That's saying, roughly, \"every bot, please pause between page fetches.\" The most important thing: Google ignores it This is the part that trips people up.","It stopped processing the directive on September 1, 2019, and even before that it never officially supported it.","So if you've put in your hoping to slow Googlebot down, it's doing nothing.","So do some other crawlers more on that in the Advanced tab ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-delay/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-delay/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawlability Issues: What Breaks Crawling and How to Fix It","desc":"Crawlability issues are the technical conditions that stop search engines from discovering, accessing, or fetching your pages. A triage-first guide to the four buckets — blocked access, broken links, failing servers, bloated URL inventory — how to find them, and how to fix them.","snippetText":"Crawlability is how well search engine crawlers can discover, access, and fetch your pages — and a crawlability issue is anything that breaks that. Almost every issue falls into one of four buckets: access is blocked (robots.txt, login walls, 403s, blocked JS/CSS), links are broken or uncrawlable (JS-only nav, orphan pages), the server is failing or throttling (5xx, DNS failures, slow/truncated fetches, redirect chains), or the URL inventory is bloated (spider traps, parameter duplicates, soft 404s). Crawlability is upstream of indexing and ranking — necessary but not a ranking factor, and dis","href":"/technical-seo/how-search-works/crawling/crawlability-issues/","slug":"crawlability-issues","meta":"Educational","aliases":["crawlability-issues","crawlability issues","crawlability","crawl issues","crawl problems","Crawlability","crawling","crawl-budget","indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"crawlability technical-seo googlebot crawling crawl-budget robots-txt Crawlability is how well search engine crawlers can discover, access, and fetch your pages — and a crawlability issue is anything that breaks that. Almost every issue falls into one of four buckets: access is blocked (robots.txt, login walls, 403s, blocked JS/CSS), links are broken or uncrawlable (JS-only nav, orphan pages), the server is failing or throttling (5xx, DNS failures, slow/truncated fetches, redirect chains), or the URL inventory is bloated (spider traps, parameter duplicates, soft 404s). Crawlability is upstream of indexing and ranking — necessary but not a ranking factor, and distinct from indexability. This hub triages the common, high-impact problems and points you to the deep dives. What crawlability is The four kinds of crawlability problems The thing most people get wrong What crawlability is and what it isn't The four buckets of crawlability issues 1. Access is blocked 2. Links are broken or uncrawlable 3. The server is failing or throttling 4. The URL inventory is bloated Crawl budget exhaustion large sites only How to find crawlability issues Crawlability vs. indexability: don't confuse them How Bing crawlability differs from Google Where to go next AI summary Official documentation Quotes from the source The crawlability triage checklist The mental models Crawlability issues — cheat sheet Tools for finding crawlability issues Test yourself: Crawlability issues Why can't the crawler reach the page? Incident playbook: an important section disappears from crawling Crawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index. {/ tool rule claim: robots.access policy/article contract /} TL;DR — Crawlability is whether search engines can find and reach your pages. A crawlability issue is anything that gets in the way — a page blocked in , a link bots can't follow, a server that keeps erroring, or a flood of junk URLs. If a page can't be crawled, it can't be indexed, and if it's not indexed, it can't show up in search. Fix the access problem first; everything else is downstream. What crawlability is Before a page can rank, a search engine has to crawl it — send out a bot Google","passages":["{/ tool rule claim: robots.access policy/article contract /} TL;DR — Crawlability is whether search engines can find and reach your pages.","A crawlability issue is anything that gets in the way — a page blocked in , a link bots can't follow, a server that keeps erroring, or a flood of junk URLs.","If a page can't be crawled, it can't be indexed, and if it's not indexed, it can't show up in search.","Fix the access problem first; everything else is downstream.","What crawlability is Before a page can rank, a search engine has to crawl it — send out a bot Googlebot for Google, Bingbot for Bing to discover the URL and download the page.","A crawlability issue is any technical thing that stops or slows it down.","Think of search as a pipeline: discover → crawl → render → index → serve .","That five step breakdown is my own practical way of organizing the work — Google's official model groups discovery and rendering inside a broader \"crawling\" stage rather than listing them separately."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawlability-issues/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawlability-issues/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Drupal SEO","desc":"How to make a Drupal site rank — what Drupal's core gets right, the contributed module stack that does the real work (Pathauto, Metatag, Simple XML Sitemap, Redirect), and the predictable failure modes (node/NID duplicates, Views parameters, taxonomy thin pages, access-control mismatches) and exactly how to fix each.","snippetText":"Drupal gives you one of the strongest technical SEO foundations of any CMS — clean URL routing since Drupal 7, semantic HTML, field-level image alt text, multilingual core, and built-in caching — but it is not SEO-complete out of the box. The real work happens in a handful of contributed modules: Pathauto + Token (URL aliases, otherwise you're stuck on /node/123), Metatag (titles, descriptions, canonical, robots), Schema.org Metatag (JSON-LD), Simple XML Sitemap (sitemaps), and Redirect (301s — Drupal core does not redirect old URLs automatically). The platform's flexibility creates predictabl","href":"/technical-seo/platform-seo/cms/drupal-seo/","slug":"drupal-seo","meta":"Educational","aliases":["drupal-seo","Drupal SEO","Drupal SEO modules","SEO for Drupal","Drupal CMS SEO","canonicalization","duplicate-content"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","cms"],"text":"drupal-seo technical-seo cms pathauto metatag duplicate-content Drupal gives you one of the strongest technical SEO foundations of any CMS — clean URL routing since Drupal 7, semantic HTML, field-level image alt text, multilingual core, and built-in caching — but it is not SEO-complete out of the box. The real work happens in a handful of contributed modules: Pathauto + Token (URL aliases, otherwise you're stuck on /node/123), Metatag (titles, descriptions, canonical, robots), Schema.org Metatag (JSON-LD), Simple XML Sitemap (sitemaps), and Redirect (301s — Drupal core does not redirect old URLs automatically). The platform's flexibility creates predictable failure modes: the same node living at both /node/NID and its alias, Views exposed filters spawning parameter URLs, taxonomy terms generating thin pages, and access-controlled content returning 403 to Googlebot while still sitting in the sitemap. The 2025 Drupal CMS distribution ships these tools pre-configured. What Drupal SEO is What core already does for you The modules you actually need The trap to avoid The honest assessment: strong floor, low out of the box ceiling What Drupal core gets right no modules needed The essential module stack Drupal's primary failure modes and the fix for each 1. The /node/NID + alias duplicate 2. Views exposed filters — the URL parameter trap 3. Taxonomy term thin pages 4. Internal search results 5. Access control vs. crawlability 6. Staging environments getting indexed On page configuration at scale Multilingual SEO Performance and Core Web Vitals Headless / decoupled Drupal Drupal CMS 2025 vs. a classic install AI summary Official documentation Quotes from the source Drupal SEO setup checklist The route → entity → output framework Drupal SEO is the set of technical, on-page, and structural practices applied to sites built on Drupal — an open-source PHP CMS. Drupal ships a strong technical foundation (clean URL routing, semantic HTML, multilingual core, granular caching) but unlocks most of its SEO through contributed modules like Pathauto, Metatag, Simple XML Sitemap, and Redirect. TL;DR — Drupal is a strong CMS for SEO, but it's not finished out of the box. Core gives you clean URLs and good, accessible HTML — but you still need to add a few free modules to get the basics every site needs: readable URLs Pathauto , page titles and descriptions Metatag , an XML sitemap ","passages":["TL;DR — Drupal is a strong CMS for SEO, but it's not finished out of the box.","Core gives you clean URLs and good, accessible HTML — but you still need to add a few free modules to get the basics every site needs: readable URLs Pathauto , page titles and descriptions Metatag , an XML sitemap Simple XML Sitemap , and redirects when URLs change Redirect .","Skip those and you'll have gaps a WordPress site with a single plugin wouldn't.","What Drupal SEO is Drupal is an open source CMS — like WordPress, but used more often by big enterprise, government, and university sites.","\"Drupal SEO\" just means optimizing a site built on Drupal so search engines can crawl it, understand it, and rank it.","The thing to know up front: Drupal has a strong technical foundation but it is not SEO complete the moment you install it .","People hear \"Drupal is SEO friendly\" and assume it's done for them.","It isn't — out of the box, a fresh Drupal site has readable, accessible HTML and clean URLs, but no automatic page friendly URLs, no sitemap, and no place to write meta titles and descriptions."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/cms/drupal-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/drupal-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Duda SEO","desc":"A technical SEO guide to Duda — the agency-focused website builder. What Duda handles automatically (HTTPS, CDN, SSR, sitemap, canonical tags, llms.txt, IndexNow, Blog/Product schema), what you configure manually (titles, redirects, robots.txt, Local Business and FAQ schema, custom JSON-LD), and the hard limits no setting changes: locked canonical tags, a 1,000-page / 1,500-blog-post cap, single-location schema, and no X-Robots-Tag header. Plus Dynamic Pages for programmatic SEO and the agency/white-label workflow.","snippetText":"Duda is a website builder for agencies and web pros, not DIY consumers — and that shows in its SEO controls. It handles the technical baseline automatically: HTTPS on an Amazon CloudFront CDN, server-side rendering, an auto-generated sitemap, self-referencing canonical tags, llms.txt on publish, IndexNow to Bing and Yandex, and automatic Blog and Product schema. Unlike most builders, it lets you edit robots.txt (via Site Configuration Files), manage 301/302 redirects in a built-in redirect manager with bulk CSV and wildcards, inject custom JSON-LD, and auto-generate hreflang for multilingual s","href":"/technical-seo/platform-seo/website-builders/duda-seo/","slug":"duda-seo","meta":"Educational","aliases":["duda-seo","Duda SEO","Duda SEO guide","SEO on Duda","is Duda good for SEO","platform-seo","canonicalization","structured-data","hreflang"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"duda-seo platform-seo website-builders structured-data canonicalization hreflang programmatic-seo Duda is a website builder for agencies and web pros, not DIY consumers — and that shows in its SEO controls. It handles the technical baseline automatically: HTTPS on an Amazon CloudFront CDN, server-side rendering, an auto-generated sitemap, self-referencing canonical tags, llms.txt on publish, IndexNow to Bing and Yandex, and automatic Blog and Product schema. Unlike most builders, it lets you edit robots.txt (via Site Configuration Files), manage 301/302 redirects in a built-in redirect manager with bulk CSV and wildcards, inject custom JSON-LD, and auto-generate hreflang for multilingual subdirectory sites. Its Dynamic Pages feature powers programmatic SEO for multi-location and franchise work. The hard limits: you can't override canonical tags, there's a 1,000-page and 1,500-blog-post cap per site, native LocalBusiness schema is single-location only, blog URL patterns are limited, and there's no X-Robots-Tag header (noindex goes through meta robots). The short answer: is Duda good for SEO? What Duda does for you automatically What you should set up yourself The thing most people get wrong Who Duda is actually for What Duda handles automatically zero config What you configure manually Duda's hard limits — what you cannot control Dynamic Pages: programmatic SEO on Duda The agency / white label workflow Duda vs. WordPress for SEO Duda and AEO Answer Engine Optimization AI summary Official documentation Quotes from the source Duda SEO quick start checklist The control surface framework Duda SEO at a glance Tools for Duda SEO Test yourself: Duda SEO Resources worth your time Duda SEO is the practice of optimizing a website built on Duda — a website builder aimed at agencies, SaaS companies, and web professionals rather than DIY consumers — for organic and AI search. Duda handles much of the technical baseline automatically (HTTPS on a CDN, server-side rendering, auto-generated sitemap, self-referencing canonical tags you can't override, llms.txt, and IndexNow), and unusually for a builder it lets you edit robots.txt, add custom HTTP-ish header HTML, manage redirects in a built-in manager, and generate hreflang for multilingual subdirectory sites. Hard limits: a 1,000-page / 1,500-blog-post cap, single-location LocalBusiness schema, no X-Robots-Tag header, and no","passages":["TL;DR — Duda is a website builder made for agencies and web professionals rather than DIY users, but the SEO basics work the same way.","Duda handles a lot for you automatically: HTTPS, a fast CDN, a sitemap, canonical tags, and even an file for AI search.","Unlike most builders, it actually lets you edit your and set up redirects yourself.","The things that move the needle — good page titles, descriptions, headings, and alt text — are still on you.","There are a few hard caps 1,000 pages, 1,500 blog posts , but most sites never hit them.","Duda gives you a clean technical foundation out of the box, and it actually exposes more SEO controls than most drag and drop builders do.","If an agency built your site on Duda, the platform isn't holding your rankings back — your content, your links, and your overall site experience matter far more than the builder.","One thing to know up front: Duda is built for web professionals, not consumers."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/duda-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/duda-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Technical Ecommerce SEO","desc":"The technical SEO problems unique to online stores — faceted navigation and URL parameters, pagination, product and variant pages, out-of-stock handling, product schema, and crawl budget on large catalogs. A technical-SEO view of the Ecommerce SEO pillar.","snippetText":"Ecommerce sites hit technical SEO problems that brochure sites never do: faceted navigation that spawns millions of parameter URLs, paginated category pages, near-duplicate product variants, products that go out of stock, and catalogs large enough that crawl budget and index bloat become real. This hub gathers those technical mechanics — they're native to the Ecommerce SEO pillar (and to other technical clusters like structured data and website structure) and cross-listed here so the implementation pieces sit in one place. Merchandising, category strategy, and platform choice live in the Ecomm","href":"/technical-seo/ecommerce/","slug":"ecommerce","meta":"Educational","aliases":["technical ecommerce SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","ecommerce"],"text":"ecommerce-seo faceted-navigation technical-seo crawl-budget product-schema pagination Ecommerce sites hit technical SEO problems that brochure sites never do: faceted navigation that spawns millions of parameter URLs, paginated category pages, near-duplicate product variants, products that go out of stock, and catalogs large enough that crawl budget and index bloat become real. This hub gathers those technical mechanics — they're native to the Ecommerce SEO pillar (and to other technical clusters like structured data and website structure) and cross-listed here so the implementation pieces sit in one place. Merchandising, category strategy, and platform choice live in the Ecommerce SEO section. What \"technical ecommerce SEO\" covers Crawl economics is the through line Faceted navigation: three levers Pagination after rel=prev/next Variant consolidation with canonicals Out of stock: the signal you send TL;DR — Online stores create technical SEO problems that small sites don't: filters that generate endless URLs, pages of products split across pagination, nearly identical product variants, and items that sell out. This hub collects the technical fixes in one place. The broader store strategy — categories, merchandising, platform choice — lives in the Ecommerce SEO /ecommerce seo/ section. What \"technical ecommerce SEO\" covers A catalog of thousands of products behaves very differently from a blog. The same SEO fundamentals apply, but a handful of issues show up almost only on stores: Faceted navigation — filters size, color, price that can multiply into millions of crawlable URLs if you don't control them. Pagination — category pages split across many pages. Product and variant pages — near duplicate pages for the same product in different colors or sizes. Out of stock products — what to do with a page when the item is gone. Crawl budget and index bloat — when the catalog is big enough that what Google crawls and indexes has to be managed deliberately. TL;DR — On a large catalog the through line is crawl economics: faceted navigation, pagination, and variant handling all reduce to controlling which URLs Google spends budget on and which it consolidates or drops. Get it wrong and you get index bloat millions of thin parameter pages or the opposite important pages never crawled . Below are the three levers for faceted navigation, plus how pagination, variants, an","passages":["TL;DR — Online stores create technical SEO problems that small sites don't: filters that generate endless URLs, pages of products split across pagination, nearly identical product variants, and items that sell out.","The broader store strategy — categories, merchandising, platform choice — lives in the Ecommerce SEO /ecommerce seo/ section.","What \"technical ecommerce SEO\" covers A catalog of thousands of products behaves very differently from a blog.","The same SEO fundamentals apply, but a handful of issues show up almost only on stores: Faceted navigation — filters size, color, price that can multiply into millions of crawlable URLs if you don't control them.","Product and variant pages — near duplicate pages for the same product in different colors or sizes.","Out of stock products — what to do with a page when the item is gone.","Crawl budget and index bloat — when the catalog is big enough that what Google crawls and indexes has to be managed deliberately.","TL;DR — On a large catalog the through line is crawl economics: faceted navigation, pagination, and variant handling all reduce to controlling which URLs Google spends budget on and which it consolidates or drops."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/ecommerce/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/ecommerce/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ecommerce Platform SEO","desc":"SEO for ecommerce platforms — Shopify, WooCommerce, Magento, BigCommerce, Salesforce Commerce Cloud, Shopware, OpenCart, Ecwid, Wix, Squarespace, and PrestaShop. What each platform handles for you automatically, what it locks down, and the platform-specific quirks that affect organic performance.","snippetText":"Every ecommerce platform makes SEO decisions that affect your store before you touch a single product. Shopify locks the URL structure but auto-handles canonicals and sitemaps. WooCommerce (on WordPress) gives you full control via plugins. Magento is flexible but requires developer work for most SEO configurations. BigCommerce sits between Shopify and Magento — more flexibility than Shopify, less developer overhead than Magento. None of that makes one platform inherently better for rankings: pick based on your store's product, category, variant, feed, localization, and operational requirements","href":"/technical-seo/platform-seo/ecommerce-platforms/","slug":"ecommerce-platforms","meta":"Educational","aliases":["ecommerce platform SEO","Shopify SEO","WooCommerce SEO","Magento SEO","best ecommerce platform for SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo"],"text":"ecommerce-platform-seo shopify-seo woocommerce-seo magento-seo bigcommerce-seo salesforce-commerce-cloud-seo shopware-seo opencart-seo ecwid-seo wix-ecommerce-seo squarespace-commerce-seo technical-seo platform-seo Every ecommerce platform makes SEO decisions that affect your store before you touch a single product. Shopify locks the URL structure but auto-handles canonicals and sitemaps. WooCommerce (on WordPress) gives you full control via plugins. Magento is flexible but requires developer work for most SEO configurations. BigCommerce sits between Shopify and Magento — more flexibility than Shopify, less developer overhead than Magento. None of that makes one platform inherently better for rankings: pick based on your store's product, category, variant, feed, localization, and operational requirements, then verify what the implementation actually outputs. All four add ecommerce-specific concerns: product schema, faceted navigation, duplicate URLs from variants and collections, and pagination. What makes ecommerce platform SEO different The ecommerce specific SEO concerns Platform selection method Platform comparison Variant architecture: one URL or many The collection/product duplicate URL problem Faceted navigation handling by platform Ecommerce platform SEO audit checklist All platforms Shopify specific WooCommerce specific Magento specific BigCommerce specific Tools for testing an ecommerce platform Platform deep dives Related reading Mistakes stores actually make on these platforms Linking internally to the collection prefixed product URL on Shopify Running two SEO plugins at once on WooCommerce Leaving faceted navigation fully crawlable and indexable Discontinuing a product without a redirect plan Assuming product schema is automatic Leaving Magento's layered navigation unconfigured TL;DR — Ecommerce platforms handle some SEO automatically — HTTPS, sitemaps, canonical tags — but each one has quirks that can hurt you if you don't know about them. The most common ones: duplicate URLs from products appearing in multiple collections Shopify , thin category pages all platforms , and faceted navigation creating millions of parameter URLs you don't want indexed. No platform here is inherently better for rankings — pick the one that matches your product, category, variant, and operational requirements, then verify what it actually outputs. What makes ecommer","passages":["TL;DR — Ecommerce platforms handle some SEO automatically — HTTPS, sitemaps, canonical tags — but each one has quirks that can hurt you if you don't know about them.","The most common ones: duplicate URLs from products appearing in multiple collections Shopify , thin category pages all platforms , and faceted navigation creating millions of parameter URLs you don't want indexed.","No platform here is inherently better for rankings — pick the one that matches your product, category, variant, and operational requirements, then verify what it actually outputs.","What makes ecommerce platform SEO different A general purpose website has pages.","An ecommerce store has pages and products, categories, variants, collections, filters, and pagination.","Each of these generates URLs — and not all of them should be indexed.","The ecommerce specific SEO concerns Regardless of platform, every ecommerce store faces these: Product structured data — Schema.org markup with price, availability, and reviews can make a page eligible for richer Google presentations — eligible, not guaranteed to display.","Some platforms inject this automatically; others need a plugin or theme, and you need to check the actual page output, not just the platform's marketing claim."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Framer SEO","desc":"How SEO works on Framer — the design-first builder that pre-renders static HTML at publish, so Googlebot gets complete pages without running JavaScript. Per-page metadata, automatic sitemaps and robots.txt, canonical tags, redirects, custom head code, and the real limitations (no schema UI, plan-gated robots.txt, non-editable hreflang).","snippetText":"Framer pre-renders static HTML at publish, so Googlebot gets complete pages without executing JavaScript — that's the most important SEO fact about the platform and the thing that separates it from client-rendered builders. Out of the box you get automatic sitemaps, a default robots.txt, self-referencing canonicals, automatic HTTPS, and per-page metadata (including on CMS items). The gaps are about depth and scale: no schema markup UI (JSON-LD goes in via custom <head> code), no alt-text binding from CMS fields, custom robots.txt needs a Pro plan or higher, and hreflang is generated automatica","href":"/technical-seo/platform-seo/website-builders/framer-seo/","slug":"framer-seo","meta":"Educational","aliases":["framer-seo","Framer SEO","Framer","SEO on Framer","Framer website builder","webflow-seo","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"framer-seo technical-seo website-builders platform-seo javascript-seo canonicalization Framer pre-renders static HTML at publish, so Googlebot gets complete pages without executing JavaScript — that's the most important SEO fact about the platform and the thing that separates it from client-rendered builders. Out of the box you get automatic sitemaps, a default robots.txt, self-referencing canonicals, automatic HTTPS, and per-page metadata (including on CMS items). The gaps are about depth and scale: no schema markup UI (JSON-LD goes in via custom <head> code), no alt-text binding from CMS fields, custom robots.txt needs a Pro plan or higher, and hreflang is generated automatically but not editable. The redirect manager (also Pro+) now supports wildcard folder redirects and capture groups, not just one-to-one mapping — it just can't redirect across domains. Framer vs Webflow is broadly comparable at the technical level — the difference is CMS maturity and workflow, not crawlability. What Framer is The one thing to understand What you get for free What you still have to do The fact that matters most: it's pre rendered What Framer gives you out of the box Per page and CMS metadata Custom code injection Redirects Canonical tags in detail \"Dynamic Optimization\": a Framer specific term Structured data: no UI, use custom code Localization and hreflang Known limitations, collected Framer vs Webflow vs WordPress Bottom line AI summary Official documentation Quotes from the source Framer SEO setup checklist Framer SEO at a glance — cheat sheet Tools for Framer SEO Test yourself: Framer SEO Resources worth your time Framer SEO is the set of built-in and configurable search optimization features in Framer, a design-first website builder. Framer publishes pre-rendered static HTML, so pages are crawlable without JavaScript execution, and it exposes per-page metadata, automatic sitemaps and robots.txt, redirects, canonical tags, and custom <head> code injection. TL;DR — Framer is a design first website builder, and the thing that matters most for SEO is that it publishes real, pre rendered HTML . When Google visits a Framer page, the content is already there — Google doesn't have to run any JavaScript to see it. That alone clears the bar that trips up a lot of \"build a site with code\" tools. You still have to do the actual SEO work, but the technical floor is solid. What ","passages":["TL;DR — Framer is a design first website builder, and the thing that matters most for SEO is that it publishes real, pre rendered HTML .","When Google visits a Framer page, the content is already there — Google doesn't have to run any JavaScript to see it.","That alone clears the bar that trips up a lot of \"build a site with code\" tools.","You still have to do the actual SEO work, but the technical floor is solid.","What Framer is Framer started life as a tool for designing and prototyping interfaces in React.","Over the last few years it turned into a full website builder — you design in a canvas, hit publish, and Framer hosts the site for you.","A lot of people still think of it as \"just a design tool,\" and that perception is out of date.","The one thing to understand When you publish a Framer site, Framer generates static HTML pages ahead of time ."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/framer-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/framer-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ghost SEO","desc":"How SEO works on Ghost CMS — the traditional-vs-headless fork, the SEO Ghost builds in automatically, what it leaves to you, gated-content limits, and Ghost Pro vs self-hosted.","snippetText":"Ghost SEO splits in two depending on how you run it. In traditional (Handlebars) mode, Ghost handles core technical SEO automatically — sitemap, canonical tags, meta tags, Open Graph, Twitter Cards, and Article JSON-LD — with zero plugins, and it's fast by default. Run Ghost headless (Content API only) and all of that disappears; the frontend has to rebuild every piece. Either way, Ghost has gaps it never fills (breadcrumb/FAQ schema, hreflang, per-post noindex toggle, IndexNow), and gated members-only content can't be indexed because it's blocked server-side. The single biggest mistake is tre","href":"/technical-seo/platform-seo/headless-cms/ghost-seo/","slug":"ghost-seo","meta":"Educational","aliases":["ghost-seo","Ghost SEO","Ghost CMS SEO","Ghost search engine optimization","headless-cms-seo","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","headless-cms"],"text":"ghost-seo headless-cms-seo technical-seo platform-seo ghost-cms newsletter-seo Ghost SEO splits in two depending on how you run it. In traditional (Handlebars) mode, Ghost handles core technical SEO automatically — sitemap, canonical tags, meta tags, Open Graph, Twitter Cards, and Article JSON-LD — with zero plugins, and it's fast by default. Run Ghost headless (Content API only) and all of that disappears; the frontend has to rebuild every piece. Either way, Ghost has gaps it never fills (breadcrumb/FAQ schema, hreflang, per-post noindex toggle, IndexNow), and gated members-only content can't be indexed because it's blocked server-side. The single biggest mistake is treating traditional and headless Ghost as the same SEO problem — they aren't. What Ghost is What Ghost does for you automatically normal mode What Ghost doesn't do The one thing people get wrong The fork in the road What traditional Ghost handles automatically What Ghost never does — in either mode Headless Ghost: the SEO you have to rebuild Gated content and what Google can see Ghost Pro vs self hosted Common pitfalls Ghost vs WordPress, briefly AI summary Official documentation Quotes from the source Two checklists: traditional Ghost + headless Ghost The mental models Ghost SEO — cheat sheet Sample Ghost posts from the sitemap Tools for Ghost SEO Ghost SEO mistakes to avoid Which Ghost SEO path applies to you? Ready to copy prompts for Ghost SEO tasks Test yourself: Ghost SEO Ghost SEO is the practice of optimizing a site built on Ghost CMS. The work splits in two: in traditional (Handlebars) mode Ghost handles core technical SEO automatically; run headless and you must rebuild all of it in the frontend. TL;DR — Ghost is a publishing platform that, in its normal mode , does most of your technical SEO for you automatically — sitemap, canonical tags, meta tags, social cards, structured data — with no plugin to install. It's also fast out of the box. The big catch: if you run Ghost \"headless\" just as a content source for a separate website , all of that built in SEO goes away and a developer has to rebuild it. And members only content can't show up in Google at all. What Ghost is Ghost is a content management system — like WordPress, but built specifically for blogs, newsletters, and paid memberships rather than for every kind of website. You write posts in Ghost, and Ghost publishes them. The t","passages":["TL;DR — Ghost is a publishing platform that, in its normal mode , does most of your technical SEO for you automatically — sitemap, canonical tags, meta tags, social cards, structured data — with no plugin to install.","The big catch: if you run Ghost \"headless\" just as a content source for a separate website , all of that built in SEO goes away and a developer has to rebuild it.","What Ghost is Ghost is a content management system — like WordPress, but built specifically for blogs, newsletters, and paid memberships rather than for every kind of website.","The thing that makes Ghost different for SEO is that it can run in two completely different ways: The normal way traditional mode .","Ghost runs your whole site — it stores your content and turns it into web pages.","A separate website built by a developer with something like Next.js or Astro pulls the content out and builds the pages itself.","This choice changes everything about Ghost's SEO, so keep it in the back of your mind.","What Ghost does for you automatically normal mode If you run Ghost the normal way, it quietly handles the technical SEO basics with no setup: A sitemap — an auto updating list of your pages at that you can hand to Google and Bing."],"updated":"2026-07-13T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/ghost-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/ghost-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"GSC BigQuery Export","desc":"How to use the Google Search Console BigQuery export to query unsampled daily click and impression data with no UI row cap (anonymized queries still excluded), the difference between the UI and the raw export, setup, cost mechanics, and the no-backfill gotcha.","snippetText":"The bulk data export (aka the GSC BigQuery export) schedules a daily, unsampled dump of your Search Console Performance data — minus anonymized queries, which stay hidden — into a Google Cloud BigQuery project, getting past the UI's ~1,000-row export cap and its ~16-month retention window. It lands three tables (site-level, URL-level, and an export log), and it does NOT backfill historical data. There's a real BigQuery free tier, but it needs an active billing account, a 14-day-minimum partition-expiration setting, and careless querying can run up bills. It's the third rung of a ladder — UI, t","href":"/technical-seo/tools/search-engine-tools/gsc-bigquery/","slug":"gsc-bigquery","meta":"Educational","aliases":["gsc-bigquery","GSC BigQuery export","bulk data export","Search Console BigQuery","GSC bulk export","GSC BigQuery Export","search-engine-tools","google-search-console","bing-webmaster-tools"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools"],"text":"The bulk data export (aka the GSC BigQuery export) schedules a daily, unsampled dump of your Search Console Performance data — minus anonymized queries, which stay hidden — into a Google Cloud BigQuery project, getting past the UI's ~1,000-row export cap and its ~16-month retention window. It lands three tables (site-level, URL-level, and an export log), and it does NOT backfill historical data. There's a real BigQuery free tier, but it needs an active billing account, a 14-day-minimum partition-expiration setting, and careless querying can run up bills. It's the third rung of a ladder — UI, then API, then bulk export — and Bing has no native bulk-export equivalent as of this writing. What it is Why anyone bothers The two things to know before you start Is it worth it for you? What it actually is What data you get: the three tables How to set it up The no backfill gotcha What it costs, and how not to get surprised Querying: the rules that keep you sane and cheap Managing and troubleshooting the export Where it sits: UI → API → bulk export What about Bing? AI summary Official documentation Quotes from the source Bulk export vs. API vs. UI vs. the Looker Studio connector — which should I use? Bulk data export setup checklist Mistakes and myths to avoid A framework for designing the export before it designs your bill Common GSC bulk export problems The test report fails during setup No tables or new rows appear Query totals look duplicated or inflated GSC BigQuery export (bulk data export) is a Google Search Console feature that schedules a daily, unsampled export of a property's Performance data into a Google Cloud BigQuery project — bypassing the UI's ~1,000-row export cap and its rolling ~16-month retention window. It doesn't backfill and still excludes anonymized queries at the query level. TL;DR — The GSC BigQuery export Google calls it the bulk data export automatically copies your Search Console data into a Google Cloud database called BigQuery , once a day, with no row limit. It's how you get far more of your click and impression data than the trimmed down view the Search Console UI shows — though anonymized hidden queries stay hidden here too. Two catches to know up front: it doesn't pull in your old data only data from the day you switch it on, going forward , and it needs a Google Cloud billing account even though there's a free usage tier. What it i","passages":["TL;DR — The GSC BigQuery export Google calls it the bulk data export automatically copies your Search Console data into a Google Cloud database called BigQuery , once a day, with no row limit.","It's how you get far more of your click and impression data than the trimmed down view the Search Console UI shows — though anonymized hidden queries stay hidden here too.","Two catches to know up front: it doesn't pull in your old data only data from the day you switch it on, going forward , and it needs a Google Cloud billing account even though there's a free usage tier.","What it is Search Console bulk data export can send daily performance data to BigQuery.","Google documents separate site impression, URL impression, and export log tables, with schema and aggregation limits that matter during analysis.","Open the Performance report in Google Search Console and try to export it.","You'll hit a wall fast: the UI caps most exports at around 1,000 rows , and it only shows you roughly the last 16 months of history.","For a big site with tens of thousands of pages and a huge variety of search queries, you're seeing a tiny slice of your real data."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/gsc-bigquery/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/gsc-bigquery/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Headless Ecommerce SEO","desc":"How headless ecommerce architecture affects SEO — rendering model choices (SSR, SSG, CSR), what the CMS no longer handles for you, and which frameworks (Next.js, React, Nuxt) are worth understanding for a headless store.","snippetText":"In a headless ecommerce setup, your store's SEO is determined almost entirely by how the frontend renders pages — not by which CMS or commerce engine sits behind it. SSR and SSG put content in the HTML Googlebot fetches; CSR leaves an empty shell until JavaScript runs. Everything a platform plugin handled automatically in a monolithic setup — metadata, canonical tags, sitemaps, structured data — you now build explicitly. The upside: no platform ceiling. The risk: every default you relied on is now your responsibility.","href":"/ecommerce-seo/headless-ecommerce/","slug":"headless-ecommerce","meta":"Educational","aliases":["headless-ecommerce","headless ecommerce SEO","headless commerce SEO","headless ecommerce","composable commerce SEO","Headless Ecommerce","headless-cms","javascript-seo","product-page-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","headless-ecommerce"],"text":"headless-ecommerce ecommerce-seo javascript-seo rendering next-js react headless-cms In a headless ecommerce setup, your store's SEO is determined almost entirely by how the frontend renders pages — not by which CMS or commerce engine sits behind it. SSR and SSG put content in the HTML Googlebot fetches; CSR leaves an empty shell until JavaScript runs. Everything a platform plugin handled automatically in a monolithic setup — metadata, canonical tags, sitemaps, structured data — you now build explicitly. The upside: no platform ceiling. The risk: every default you relied on is now your responsibility. What \"headless\" means for a store The one decision that determines SEO outcomes What you now own Rendering architecture for headless stores Structured data for headless product pages Google Merchant Center and headless Where to go next Headless Ecommerce SEO Checklist Rendering verification Structured data Technical SEO ownership Google Merchant Center Headless Ecommerce SEO: Decision Framework Framework choice by SEO risk When to choose SSG vs. SSR How should this headless route render? Common headless ecommerce SEO failures Product content appears in the browser but not in view source Search results show a generic title across many products Price or availability is stale for crawlers Product rich results are missing despite valid looking JSON LD Variant URLs compete or canonicalize unpredictably Products disappear after a headless migration Verify the headless rendering layer An ecommerce architecture where the commerce engine (Shopify, Commercetools, BigCommerce) is decoupled from the storefront frontend. A separate JavaScript framework (Next.js, Remix, Nuxt) renders pages and fetches product data via API — giving full UI control at the cost of owning all SEO basics yourself. TL;DR — Headless ecommerce means your storefront what shoppers see is built separately from your commerce engine Shopify, Commercetools, BigCommerce . For SEO, what matters is how your storefront renders pages. Build them on the server or at deploy time and Google gets finished HTML. Build them in the browser and Google has to wait for JavaScript — which it can do, but it's slower and riskier. What \"headless\" means for a store A traditional ecommerce platform WooCommerce, standard Shopify handles everything in one system: it stores your products, processes orders, and renders the HTML p","passages":["TL;DR — Headless ecommerce means your storefront what shoppers see is built separately from your commerce engine Shopify, Commercetools, BigCommerce .","Build them on the server or at deploy time and Google gets finished HTML.","Build them in the browser and Google has to wait for JavaScript — which it can do, but it's slower and riskier.","What \"headless\" means for a store A traditional ecommerce platform WooCommerce, standard Shopify handles everything in one system: it stores your products, processes orders, and renders the HTML pages shoppers and crawlers see.","A commerce engine manages products, inventory, and checkout.","A separate frontend framework — usually Next.js, Nuxt, or Astro — fetches that data and renders what visitors actually see.","The one decision that determines SEO outcomes How does your frontend build each page?","SSR server side rendering — the server builds the page for each request."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/ecommerce-seo/headless-ecommerce/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/headless-ecommerce/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HTTP Error Codes","desc":"How HTTP 4xx and 5xx error codes affect SEO — how Google handles errors, which ones cause deindexing, crawl waste, and ranking drops, and how to monitor and fix them.","snippetText":"HTTP error codes are the 4xx (client error) and 5xx (server error) responses a server returns instead of a successful 2xx. Google treats the two classes very differently: 4xx (except 429) means 'the content doesn't exist' — the page drops from the index, with zero effect on crawl rate; 5xx (and 429) means 'the server is failing' — Google throttles crawling site-wide first, and only drops the pages if the errors persist. 429 is numerically a 4xx but Google explicitly treats it as a server error. A soft 404 is the trap case — a 200 that reads as 'not found,' which Google flags as wasting crawl b","href":"/technical-seo/http-status-codes/http-errors/","slug":"http-errors","meta":"Educational","aliases":["http-errors","http error codes","http error code","4xx errors","5xx errors","4xx and 5xx","server errors seo","client errors seo","HTTP Error Code","404-not-found","410-gone","429-too-many-requests","500-internal-server-error","503-service-unavailable","Soft 404","http-status-codes"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes"],"text":"HTTP error codes are the 4xx (client error) and 5xx (server error) responses a server returns instead of a successful 2xx. Google treats the two classes very differently: 4xx (except 429) means 'the content doesn't exist' — the page drops from the index, with zero effect on crawl rate; 5xx (and 429) means 'the server is failing' — Google throttles crawling site-wide first, and only drops the pages if the errors persist. 429 is numerically a 4xx but Google explicitly treats it as a server error. A soft 404 is the trap case — a 200 that reads as 'not found,' which Google flags as wasting crawl budget (mainly a large-site concern) instead of cleanly dropping the page. 404s are not a quality or ranking signal (Mueller), so don't panic over an error count — an isolated error's real impact still depends on what the URL is (a special resource like robots.txt gets its own error handling, unlike an ordinary page) — prioritize the errored URLs that have links or traffic. For planned downtime use 503 + Retry-After (never 403/404/410), and never 503 your robots.txt. Monitor the whole family through Search Console's Page Indexing report. This hub maps and links to every individual code: 401, 403, 404, 404 vs 410, 410, 429, 451, 500, 502, 503, 504, and soft 404. What HTTP error codes are How Google reacts to each family The thing most people get wrong A quick tour of the codes The one distinction that runs the whole topic How Google treats 4xx errors How Google treats 5xx errors and 429 Why 429 lives in the server error bucket The error code family map Does an HTTP error hurt your SEO? Crawl waste vs deindexing — two different harms Doing planned downtime the right way How to monitor the whole family in Search Console How to fix and prioritize errors Bing: a similar pattern, not independently verified code for code Where to go next AI summary Official documentation Quotes from the source Which error do I deal with first? Deindexing or crawl waste — which harm am I actually facing? Error code → behavior → fix cheat sheet Resources worth your time The two harm model: disappearance vs. crawl throttling The 4xx (client error) and 5xx (server error) HTTP status codes a server returns instead of a successful 2xx — and how Google treats each class very differently. TL;DR — HTTP error codes are the \"something went wrong\" responses your server sends instead of a normal \"200 OK.\" T","passages":["TL;DR — HTTP error codes are the \"something went wrong\" responses your server sends instead of a normal \"200 OK.\" They come in two families: 4xx the page is missing or blocked — a client problem and 5xx the server itself is struggling .","Google treats them very differently: a 4xx just drops the page from search; a 5xx makes Google slow down crawling your whole site until the server recovers.","And despite the panic they cause, 404 errors are not a penalty — you only need to fix the ones that matter.","What HTTP error codes are HTTP status codes are standardized response metadata grouped into client error 4xx and server error 5xx classes.","Google documents distinct crawling and indexing handling for those response families.","Every time a browser or a search engine bot requests a page, your server answers with a three digit status code .","means \"here's the page, all good.\" The error codes are the ones in the s and s — they mean the request didn't succeed.","There are two families, and the difference between them is the single most important thing on this page: 4xx — client errors."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HTTP Status Codes","desc":"What HTTP status codes are, how they work (1xx–5xx), which ones matter most for SEO, and how Google interprets them — the hub for redirects, errors, and crawl behavior.","snippetText":"An HTTP status code is the three-digit number a server returns with every response, and for SEO the code matters as much as the content on the page. Five families: 1xx informational, 2xx success (eligible for indexing, but 200 doesn't guarantee it), 3xx redirects (301/308 pass a canonicalization signal, 302/307 don't), 4xx client errors (404/410 drop pages from the index over time; 404s generally don't hurt rankings), and 5xx server errors (which — with 429 — make crawlers slow down, not instantly deindex). The sneaky exception is the soft 404: a 200 status with 'this doesn't exist' content, w","href":"/technical-seo/http-status-codes/","slug":"http-status-codes","meta":"Educational","aliases":["http-status-codes","HTTP status codes","HTTP status code","status codes for SEO","server response codes","HTTP Status Code","crawling","canonicalization","indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes"],"text":"An HTTP status code is the three-digit number a server returns with every response, and for SEO the code matters as much as the content on the page. Five families: 1xx informational, 2xx success (eligible for indexing, but 200 doesn't guarantee it), 3xx redirects (301/308 pass a canonicalization signal, 302/307 don't), 4xx client errors (404/410 drop pages from the index over time; 404s generally don't hurt rankings), and 5xx server errors (which — with 429 — make crawlers slow down, not instantly deindex). The sneaky exception is the soft 404: a 200 status with 'this doesn't exist' content, which Google treats like a 404 and flags in Search Console. This hub maps the families, corrects the common myths, and links down to the deep dives on individual error codes. What an HTTP status code is Why the code matters for SEO The thing most people get wrong What a status code actually is The five families, through an SEO lens Crawl vs. index: the mental model that ties it together Soft 404s — the sneaky exception 404 vs. 410 — does it actually matter? Using status codes for downtime and migrations How to check a page's status code A note on Bing Where to go next: the HTTP error codes cluster AI summary Official documentation Quotes from the source Which status code should I return? HTTP status codes for SEO — full reference Resources worth your time Where these quotes come from Crawl first, index second Stage 1: can the crawler retrieve a usable response? Stage 2: should the retrieved content be indexed, and under which URL? The practical diagnostic Check the first response An HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index. TL;DR — An HTTP status code is a three digit number a server sends back with every page it serves, telling the browser or search engine what happened: success, a redirect, a \"not found,\" or a server error. For SEO the code matters as much as the page itself — it tells Google whether to index the page, follow a redirect, come back later, or drop the URL. The famous one, , generally doesn't hurt your rankings. What an HTTP status code is An HTTP st","passages":["TL;DR — An HTTP status code is a three digit number a server sends back with every page it serves, telling the browser or search engine what happened: success, a redirect, a \"not found,\" or a server error.","For SEO the code matters as much as the page itself — it tells Google whether to index the page, follow a redirect, come back later, or drop the URL.","What an HTTP status code is An HTTP status code is the server's standardized response classification for a request.","Search engines interpret these responses in their crawl and indexing pipelines, with behavior documented separately from the HTTP specification.","Every time your browser or Googlebot asks a server for a page, the server answers with a three digit number before it sends anything else.","That number is the HTTP status code , and it's the server's one line summary of what happened to the request.","You've seen when a page doesn't exist; is the quiet one that means \"here's your page, everything's fine.\" The codes come in five groups, sorted by their first digit: 1xx — Informational.","\" My fault — I couldn't serve it right now.\" Why the code matters for SEO Search engines read the status code first, and it decides how they treat the page: A 200 is what you want for a page you want in search — it's the green light."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HubSpot CMS SEO","desc":"A technical SEO practitioner's guide to HubSpot Content Hub (formerly CMS Hub) — what's actually built in, which SEO features are gated behind Pro/Enterprise, the one-level URL nesting limit, the BlogPosting-only schema reality, the blog subdomain trap, and how HubDB powers programmatic SEO.","snippetText":"HubSpot's Content Hub (renamed from CMS Hub in April 2024) packages most common SEO controls into one managed platform: an auto-updating sitemap, canonical tags in every page editor, auto-implemented hreflang, a robots.txt editor, native Search Console integration, and HubDB for programmatic pages. But the walls are real and underreported. The built-in SEO recommendations panel's full domain scan is gated behind Marketing Hub Pro/Enterprise or Content Hub Pro/Enterprise — Starter and Free don't get it. Only BlogPosting schema is auto-generated; FAQ, Product, Organization, and Breadcrumb all re","href":"/technical-seo/platform-seo/cms/hubspot-cms-seo/","slug":"hubspot-cms-seo","meta":"Educational","aliases":["hubspot-cms-seo","HubSpot CMS SEO","HubSpot SEO","Content Hub SEO","CMS Hub SEO","SEO on HubSpot","platform-seo","cms"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","cms"],"text":"hubspot-cms-seo cms platform-seo technical-seo content-hub hubdb schema HubSpot's Content Hub (renamed from CMS Hub in April 2024) packages most common SEO controls into one managed platform: an auto-updating sitemap, canonical tags in every page editor, auto-implemented hreflang, a robots.txt editor, native Search Console integration, and HubDB for programmatic pages. But the walls are real and underreported. The built-in SEO recommendations panel's full domain scan is gated behind Marketing Hub Pro/Enterprise or Content Hub Pro/Enterprise — Starter and Free don't get it. Only BlogPosting schema is auto-generated; FAQ, Product, Organization, and Breadcrumb all require manual HubL. Site-page URLs nest only one subfolder deep, so /category/subcategory/post/ isn't possible. The blog historically defaulted to blog.yourdomain.com, splitting link equity — Content Hub lets you use a /blog/ subfolder, which is SEO-preferable. And the topic cluster / pillar page framework is a content-planning tool, not something Google reads differently. Google has never said HubSpot ranks better or worse than any CMS. What HubSpot CMS SEO actually means What HubSpot handles for you The things that trip people up CMS Hub → Content Hub: the April 2024 rebrand The tier gate almost nobody mentions The auto sitemap, and what you can't do with it Schema markup is and almost nothing else URL structure: one level of nesting The blog subdomain trap HubDB: HubSpot's answer to programmatic SEO robots.txt, canonicals, hreflang — what's actually built in Topic clusters and pillar pages: strategy, not a ranking switch HubSpot vs WordPress, briefly AI summary Official documentation Quotes from the source HubSpot SEO setup checklist HubSpot SEO — cheat sheet Tools for HubSpot SEO HubSpot CMS SEO mistakes to avoid Assuming the SEO recommendations panel is scanning your whole site Leaving the blog on a subdomain out of inertia Assuming schema \"just works\" because HubSpot is an all in one platform Planning URL structure as if nesting is unlimited HubSpot CMS SEO is the practice of optimizing a site built on HubSpot's Content Hub (renamed from CMS Hub in April 2024) using its built-in SEO tooling — the recommendations panel, auto-generated sitemap, canonical and hreflang controls, robots.txt editor, and HubDB-driven pages — while working around the platform's gaps, like manual schema and one-level UR","passages":["TL;DR — HubSpot's CMS now called Content Hub , renamed from CMS Hub in April 2024 handles a lot of SEO basics for you out of the box — a sitemap, canonical tags, HTTPS, hreflang.","The catches: the best SEO tool the recommendations panel's full scan only comes with the higher priced plans, most schema markup has to be added by hand, and your blog should live on , not .","What HubSpot CMS SEO actually means HubSpot CMS SEO is just doing SEO on a site that happens to run on HubSpot's Content Hub.","The goal is the same as anywhere else: help search engines crawl /technical seo/how search works/crawling/ , index, and rank your pages.","What's different is that HubSpot is an all in one platform — instead of installing plugins like you would on WordPress /technical seo/platform seo/cms/wordpress seo/ , most SEO controls are already built into the editor.","One naming thing to get out of the way: CMS Hub was renamed to Content Hub in April 2024.","If you're searching for tutorials, you'll still see \"CMS Hub\" everywhere — that's fine, it's just the older name.","HubSpot builds and updates your XML sitemap as you publish pages, blog posts, and landing pages."],"updated":"2026-07-13T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/cms/hubspot-cms-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/hubspot-cms-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Technical International SEO","desc":"The technical side of running a multi-region or multi-language site — hreflang, regional URL structures (ccTLD vs subdirectory vs subdomain), and geotargeting. A technical-SEO view of the International SEO pillar.","snippetText":"International SEO has a strategy half (which markets, which languages, who translates) and a technical half (telling search engines which URL serves which language/region, and not creating duplicate-content or crawl problems while doing it). This hub gathers that technical half — hreflang and x-default, the ccTLD vs subdirectory vs subdomain decision, canonical plus hreflang for same-language regional duplicates, and geotargeting — for technical SEOs. None of it guarantees indexing, rankings, or traffic; it supports discovery and locale matching. The full strategy lives in the International SE","href":"/technical-seo/international/","slug":"international","meta":"Educational","aliases":["technical international SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","international"],"text":"international-seo hreflang technical-seo geotargeting ccTLD multilingual International SEO has a strategy half (which markets, which languages, who translates) and a technical half (telling search engines which URL serves which language/region, and not creating duplicate-content or crawl problems while doing it). This hub gathers that technical half — hreflang and x-default, the ccTLD vs subdirectory vs subdomain decision, canonical plus hreflang for same-language regional duplicates, and geotargeting — for technical SEOs. None of it guarantees indexing, rankings, or traffic; it supports discovery and locale matching. The full strategy lives in the International SEO pillar; these pages are cross-listed here because they're where international work breaks at the implementation level. What \"technical international SEO\" covers How hreflang works, and why it fails silently A worked hreflang set with x default Return tag reciprocity: the mismatch that voids a pair ccTLD vs subdirectory vs subdomain: where signals accrue TL;DR — Running a site in more than one language or country adds technical work: you have to help search engines connect each page to the intended audience and keep each version crawlable and canonicalized correctly. This hub collects the technical pieces — mainly hreflang and your regional URL structure — in one place. The bigger strategy which markets, how to translate lives in the International SEO /international seo/ section. What \"technical international SEO\" covers Going international splits into two jobs. One is strategy — picking markets, languages, and how content gets localized. The other is technical — making sure Google serves the Spanish page to Spanish searchers, the UK page to UK searchers, and doesn't treat your near identical regional pages as duplicates. This hub is the technical job. The main levers are hreflang the annotation that maps equivalent pages across languages and regions and your URL structure — whether each market lives on its own country domain, a subdirectory, or a subdomain. TL;DR — Technical international SEO has silent failure modes, not loud ones. hreflang is a bidirectional confirmation system: every alternate URL must point back at every other; missing return links can cause Google to ignore affected annotations. Near identical same language regional pages need canonical plus hreflang together, not hreflang a","passages":["TL;DR — Running a site in more than one language or country adds technical work: you have to help search engines connect each page to the intended audience and keep each version crawlable and canonicalized correctly.","This hub collects the technical pieces — mainly hreflang and your regional URL structure — in one place.","The bigger strategy which markets, how to translate lives in the International SEO /international seo/ section.","What \"technical international SEO\" covers Going international splits into two jobs.","One is strategy — picking markets, languages, and how content gets localized.","The other is technical — making sure Google serves the Spanish page to Spanish searchers, the UK page to UK searchers, and doesn't treat your near identical regional pages as duplicates.","The main levers are hreflang the annotation that maps equivalent pages across languages and regions and your URL structure — whether each market lives on its own country domain, a subdirectory, or a subdomain.","TL;DR — Technical international SEO has silent failure modes, not loud ones."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/international/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/international/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Interstitials","desc":"Google's mobile interstitial penalty explained — which popups get a page demoted, which are exempt (legal gates, login walls, small banners), why it's page-level not site-wide, the desktop expansion, and how to audit and fix.","snippetText":"An interstitial is a full-page popup or overlay that blocks a page's main content. Google's intrusive interstitials signal demotes a page when it shows a content-blocking overlay on the transition from a search click — announced August 2016, launched January 10, 2017 (mobile), expanded to desktop in February 2022. It's page-level, not site-wide, and a soft, algorithmic signal — not a manual action. Three types are penalized (immediate full-page popups, standalone interstitials you must dismiss, above-the-fold layouts that mimic an interstitial); three are exempt (legal gates like cookie/GDPR/a","href":"/technical-seo/mobile-seo/interstitials/","slug":"interstitials","meta":"Educational","aliases":["interstitials","interstitial penalty","mobile interstitial penalty","intrusive interstitials","Interstitials","core-web-vitals","mobile-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"An interstitial is a full-page popup or overlay that blocks a page's main content. Google's intrusive interstitials signal demotes a page when it shows a content-blocking overlay on the transition from a search click — announced August 2016, launched January 10, 2017 (mobile), expanded to desktop in February 2022. It's page-level, not site-wide, and a soft, algorithmic signal — not a manual action. Three types are penalized (immediate full-page popups, standalone interstitials you must dismiss, above-the-fold layouts that mimic an interstitial); three are exempt (legal gates like cookie/GDPR/age, login walls for non-public content, and small easily-dismissible banners). Popups shown after the user engages (exit-intent, timed, scroll) aren't penalized. The 2024 API leak confirmed a violatesMobileInterstitialPolicy boolean. Remove the interstitial and wait for a recrawl — that clears the signal, though Google doesn't guarantee rankings return to their exact prior position. What an interstitial is Which popups are a problem Which popups are fine The things most people get wrong What counts as an interstitial The timeline and the part most articles get wrong What actually triggers the signal What's explicitly allowed How severe is it, really It's page level, not site wide — and the API leak proves it Not a manual action The cloaking trap — don't Implementing legal gates correctly App install interstitials What about Bing How to audit for intrusive interstitials How to fix and recover Where this sits AI summary Official documentation Quotes from the source Is this interstitial safe to publish? Is my interstitial safe? — audit checklist Rankings dropped after an interstitial release In SEO, interstitials are full-page popups or overlays that block the main content of a page. Google demotes pages with intrusive interstitials shown on the transition from a search click — a page-level signal, with legal gates, login walls, and small dismissible banners exempted. TL;DR — An interstitial is a popup or overlay that covers a page's main content. Google can lower a page's ranking if it shows one of these right when a visitor arrives from search and they have to close it before reading anything. The fix is simple: don't block the content on arrival. Cookie banners, age checks, login walls for private content, and small easy to close banners are all fine. What an interstiti","passages":["TL;DR — An interstitial is a popup or overlay that covers a page's main content.","Google can lower a page's ranking if it shows one of these right when a visitor arrives from search and they have to close it before reading anything.","Cookie banners, age checks, login walls for private content, and small easy to close banners are all fine.","What an interstitial is Google's guidance discourages intrusive interstitials that obscure main content, especially on transition from search results.","It explicitly recognizes exceptions such as legal notices and appropriately sized banners.","When you click a result in Google and the page slaps a full screen popup over the content before you can read a word — \"Subscribe to our newsletter \", \"Get 10% off \", \"Download our app \" — that popup is an interstitial .","Google doesn't like this on mobile, because it's a frustrating experience: you tapped a result expecting an answer and got a wall instead.","So back in 2017 Google started slightly demoting pages that do it."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/mobile-seo/interstitials/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/interstitials/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"JavaScript Redirects","desc":"What a JavaScript redirect is, how Google's render pipeline treats it differently from a server-side 301, when it's an acceptable last resort, and how to implement and detect one — plus where meta refresh and the History API fit.","snippetText":"A JavaScript redirect sends users and crawlers to a new URL with client-side code (window.location.replace() or .href). It's the least reliable redirect type because Google only sees it after rendering — which can be delayed, or fail entirely, with no fixed timeline either way. Google's official order of preference is server-side (301/302/307/308) → meta refresh → JavaScript, and its docs say plainly: only use JS redirects if you can't do the other two. Once Google successfully interprets one, the target becomes a canonicalization signal — but that's not a proven guarantee of identical PageRan","href":"/technical-seo/how-search-works/crawling/javascript-redirect/","slug":"javascript-redirect","meta":"Educational","aliases":["javascript-redirect","JavaScript redirect","JS redirect","window.location redirect","meta refresh redirect","JavaScript Redirect","rendering","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"javascript-redirect redirects technical-seo javascript-seo rendering meta-refresh A JavaScript redirect sends users and crawlers to a new URL with client-side code (window.location.replace() or .href). It's the least reliable redirect type because Google only sees it after rendering — which can be delayed, or fail entirely, with no fixed timeline either way. Google's official order of preference is server-side (301/302/307/308) → meta refresh → JavaScript, and its docs say plainly: only use JS redirects if you can't do the other two. Once Google successfully interprets one, the target becomes a canonicalization signal — but that's not a proven guarantee of identical PageRank or ranking outcomes to a 301, so treat it as a last resort rather than a like-for-like swap. Use them on constrained platforms with no server access, for SPA error pages that point to a real 404, and little else. If you must use one, use window.location.replace() in the <head>, drop the source URL from your sitemap, and point internal links at the final destination. Meta refresh is a separate HTML-level redirect, and history.pushState()/replaceState() aren't redirects at all. What a JavaScript redirect is Why search engines treat them differently The simple rule What counts as a JavaScript redirect How Google processes a JavaScript redirect Google's official preference order Does link equity pass through? When a JavaScript redirect is the right tool Static site generators: the Hugo aliases trap Implementation best practices How to detect JavaScript redirects What I'd actually do AI summary Official documentation Quotes from the source Redirect types — cheat sheet Should I use a JavaScript redirect? — decision checklist If you're using a JavaScript redirect The recommended JavaScript redirect The 0 second meta refresh next best when you can't do server side What NOT to use as a redirect SPA error page → real 404 Google endorsed pattern Tools for finding and checking JavaScript redirects Mistakes to avoid with JavaScript redirects A JavaScript redirect is a client-side redirect that uses code like window.location.replace() to send a visitor (and crawler) to a different URL. Because it only fires after the page is downloaded and rendered, Google prefers server-side and meta refresh redirects above it. TL;DR — A JavaScript redirect uses code in the page to send you to a different URL after t","passages":["TL;DR — A JavaScript redirect uses code in the page to send you to a different URL after the page loads.","It works for people, but search engines handle it less reliably than a \"real\" server redirect a 301 .","Save JavaScript redirects for when you have no other option.","What a JavaScript redirect is A JavaScript redirect changes navigation through script execution rather than an HTTP 3xx response.","Google can process JavaScript redirects but recommends server side redirects when possible.","There are two broad ways to send someone from one URL to another.","Before the page even loads, the server says \"that page moved — go here instead\" using a status code like 301 permanent or 302 temporary .","The browser and the search engine both get that message immediately."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/javascript-redirect/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/javascript-redirect/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Jimdo SEO","desc":"A technical guide to Jimdo SEO — what the platform handles automatically (HTTPS, Cloudflare CDN, sitemap, canonical tags, 404s), what you configure manually, and the hard limits no setting changes: no robots.txt editing, no native schema, no hreflang, and no plugin ecosystem. Plus the core distinction most guides miss: Jimdo Creator (blog + custom HTML injection) vs the newer AI builder (no blog, no custom code) have meaningfully different SEO ceilings.","snippetText":"Jimdo handles the technical baseline for you — HTTPS via Cloudflare SSL, CDN delivery, an auto-generated sitemap.xml, canonical tags, mobile-responsive templates, and 404 pages — all with zero config. In return it locks down the rest: you can't edit robots.txt, add native schema markup, customize the sitemap, or implement hreflang on either product, and there's no plugin ecosystem. The distinction most guides miss is that Jimdo is two products with different SEO ceilings. Jimdo Creator (the older editor) has a blog, custom HTML/head injection (the only schema workaround), and robot meta tags o","href":"/technical-seo/platform-seo/website-builders/jimdo-seo/","slug":"jimdo-seo","meta":"Educational","aliases":["jimdo-seo","Jimdo SEO","Jimdo SEO guide","SEO on Jimdo","is Jimdo good for SEO","Jimdo Creator SEO","platform-seo","website-builders","structured-data","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"jimdo-seo platform-seo website-builders structured-data canonicalization hreflang Jimdo handles the technical baseline for you — HTTPS via Cloudflare SSL, CDN delivery, an auto-generated sitemap.xml, canonical tags, mobile-responsive templates, and 404 pages — all with zero config. In return it locks down the rest: you can't edit robots.txt, add native schema markup, customize the sitemap, or implement hreflang on either product, and there's no plugin ecosystem. The distinction most guides miss is that Jimdo is two products with different SEO ceilings. Jimdo Creator (the older editor) has a blog, custom HTML/head injection (the only schema workaround), and robot meta tags on paid plans. The newer Jimdo AI builder (formerly Dolphin) has none of those — no blog, no custom code, no per-page noindex — but does auto-create 301s when you change a URL, which Creator doesn't. Experte.com scored Jimdo 3/8 on SEO features. A ToolTester experiment found Jimdo ranked best numerically among builders tested, but concluded platform choice doesn't meaningfully affect rankings. Good enough for low-competition local and brochure sites; content-driven or competitive SEO hits the ceiling fast. The short answer: can you rank on Google with Jimdo? What Jimdo does for you automatically What you should set up yourself The thing most people get wrong Two products, two ceilings: Creator vs the AI builder What Jimdo handles automatically zero config What you configure manually The hard limits no plan changes these Structured data: the Creator only workaround Performance and Core Web Vitals Does the platform itself hold you back? The ToolTester experiment Jimdo Companion the AI assistant The honest verdict: when Jimdo is good enough AI summary Official documentation Quotes from the source Jimdo SEO checklist Jimdo SEO — cheat sheet Tools for Jimdo SEO Which Jimdo product should you use? Test yourself: Jimdo SEO Resources worth your time Jimdo SEO is the practice of optimizing a website built on Jimdo's hosted website-building platform to rank in organic search. Jimdo handles the technical baseline automatically — HTTPS, a Cloudflare CDN, an XML sitemap, canonical tags, mobile-responsive templates, and 404 pages — but its closed architecture imposes hard limits: no robots.txt editing, no native schema markup, no sitemap customization, and no hreflang. The platform exists as two products","passages":["TL;DR — Jimdo does a lot of SEO for you automatically — HTTPS, a fast CDN, a sitemap, canonical tags, a mobile version, and 404 pages, all with no setup.","The trade off is that you can't edit , you can't add schema markup, and there are no plugins.","The one thing to understand before anything else: Jimdo is really two products.","The older Jimdo Creator has a blog and lets you paste in custom code; the newer AI builder is simpler but has no blog and no custom code.","They're not the same, and you can't switch between them without rebuilding.","Jimdo gets the technical basics right out of the box, so a small local business or a simple brochure site can absolutely show up in Google.","What ranks a site — useful content, links, a good experience — matters far more than the builder you chose.","The honest caveat: Jimdo has a low ceiling for advanced SEO."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/jimdo-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/jimdo-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"JobPosting Schema","desc":"How to implement JobPosting structured data to appear in Google for Jobs — the five required properties, the recommended fields that actually drive clicks, remote-job markup, the content policies that get postings disapproved, and how to remove expired jobs correctly.","snippetText":"JobPosting schema is the schema.org/JSON-LD markup you put on a single job-listing page to become eligible for Google for Jobs. Five properties are required — title, description, datePosted, hiringOrganization, and jobLocation (with a fully-remote exception) — and the recommended ones (validThrough, employmentType, baseSalary) are where the click-through and filtering value lives. Content-schema parity is non-negotiable: everything in the JSON-LD must be visible on the page. The most common disapproval cause is putting the markup on a listing page instead of one job per page. Expired-job hygie","href":"/technical-seo/on-page/structured-data/commerce/jobposting-schema/","slug":"jobposting-schema","meta":"Educational","aliases":["jobposting-schema","jobposting schema","job posting schema","google for jobs","job posting structured data","JobPosting Schema","schema-markup","structured-data","product-page-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","commerce"],"text":"jobposting-schema structured-data schema-org json-ld google-for-jobs on-page-seo rich results schema google serp JobPosting schema is the schema.org/JSON-LD markup you put on a single job-listing page to become eligible for Google for Jobs. Five properties are required — title, description, datePosted, hiringOrganization, and jobLocation (with a fully-remote exception) — and the recommended ones (validThrough, employmentType, baseSalary) are where the click-through and filtering value lives. Content-schema parity is non-negotiable: everything in the JSON-LD must be visible on the page. The most common disapproval cause is putting the markup on a listing page instead of one job per page. Expired-job hygiene is an ongoing obligation, not a one-time setup — leave dead jobs live and you risk a manual action. And Google's Indexing API is scoped to JobPosting and BroadcastEvent only; misusing it as a general 'index faster' button can cost you access. Bing supports the same vocabulary but documents it far more lightly — lean Google. What JobPosting schema is What Google needs at minimum The details that get you clicked The thing most people get wrong The five required properties The recommended properties that actually move the needle Beta properties Remote and hybrid jobs: TELECOMMUTE done right Google for Jobs eligibility and regional availability Content policies that get postings disapproved Handling expiration and removal correctly Duplicate and syndicated postings The Indexing API is scoped — and now gated Troubleshooting in Search Console Bing and JobPosting Where this sits AI summary Official documentation Quotes from the source Interactive decision aids Runbook: my job posting got disapproved — what to check, in order Myths and mistakes SOP: expired job hygiene Prompts: content schema parity audit JobPosting schema is the schema.org/JSON-LD vocabulary you add to a single job-listing page so Google (and Bing) can read the role, employer, location, salary, and dates — making the page eligible for Google for Jobs. It requires title, description, datePosted, hiringOrganization, and jobLocation (or applicantLocationRequirements for fully remote roles). TL;DR — JobPosting schema is code you add to a job listing page that labels the role — \"this is the job title,\" \"this is the employer,\" \"this is the salary,\" \"this is where it's based\" — so Google can put it in G","passages":["TL;DR — JobPosting schema is code you add to a job listing page that labels the role — \"this is the job title,\" \"this is the employer,\" \"this is the salary,\" \"this is where it's based\" — so Google can put it in Google for Jobs , the job search box you see at the top of results.","You need five details at minimum: the job title, a description, the date you posted it, the employer's name, and the location.","Put it on a page with one job per page — never a page that lists lots of jobs at once.","What JobPosting schema is When you post a job on your careers page, a person can read the title, the company, the pay, and where it's based.","What Google needs at minimum To be eligible for Google for Jobs, five things are required: title — the job's title, like \"Barista\" or \"Software Engineer\" not the title of the web page .","There's one exception to the location rule: if the job is 100% remote , you flag it as remote instead of giving an office address more on that in Advanced .","The details that get you clicked The five required fields get you in .","A few optional ones get you noticed , because Google for Jobs lets people filter by them: salary — showing pay makes your listing stand out and salary disclosure laws are spreading, so check whether your jurisdiction requires it ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/jobposting-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/jobposting-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Joomla SEO","desc":"A technical SEO guide to Joomla — enabling SEF URLs (and the htaccess.txt rename that actually makes them work), fixing Joomla's default duplicate content, sitemaps and schema via extensions, and what changed across Joomla 4, 5, and 6.","snippetText":"Joomla 5 has strong built-in SEO — SEF URLs, per-article metadata, a native Schema plugin, and an excellent performance baseline — but the defaults bite you. Enabling SEF URLs only works after you rename htaccess.txt to .htaccess; even then the legacy ID-based URLs stay reachable and Joomla can emit multiple competing canonical tags, so duplicate content is a real out-of-the-box problem you fix with canonicals, redirects, or an extension. There's no native XML sitemap (use OSMap, Aimy Sitemap, Route66, or 4SEO), and sh404SEF — the old dominant extension — was never ported to Joomla 4/5, so Rou","href":"/technical-seo/platform-seo/cms/joomla-seo/","slug":"joomla-seo","meta":"Educational","aliases":["joomla-seo","Joomla SEO","Joomla SEF URLs","Joomla SEO settings","optimize Joomla for search","duplicate-content","canonical-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","cms"],"text":"joomla-seo technical-seo cms sef-urls duplicate-content schema hreflang canonical sitemap Joomla 5 has strong built-in SEO — SEF URLs, per-article metadata, a native Schema plugin, and an excellent performance baseline — but the defaults bite you. Enabling SEF URLs only works after you rename htaccess.txt to .htaccess; even then the legacy ID-based URLs stay reachable and Joomla can emit multiple competing canonical tags, so duplicate content is a real out-of-the-box problem you fix with canonicals, redirects, or an extension. There's no native XML sitemap (use OSMap, Aimy Sitemap, Route66, or 4SEO), and sh404SEF — the old dominant extension — was never ported to Joomla 4/5, so Route66 (free) and 4SEO (premium) are the current picks. Joomla 6 is now out (October 2025) and is getting active updates alongside a still-maintained Joomla 5.x line, so version-check any Joomla site before assuming which settings apply. I've worked with Joomla since at least 2012, when I spoke on technical SEO at Joomla Day Chicago. What Joomla SEO is The one step everyone misses The duplicate content trap A short starter checklist Where I'm coming from Global Configuration: the SEO settings that matter The rename — the single most missed step Joomla's duplicate content problem Per article and per category metadata and the UX trap XML sitemaps — no native solution robots.txt — full manual control Extensions: what to use and what to avoid Structured data Multilingual SEO and hreflang Performance: Joomla's quiet strength Joomla 3 vs. 4 vs. 5 vs. 6 for SEO AI summary Official documentation Quotes from the source Joomla SEO checklist Joomla SEO cheat sheet Tools for Joomla SEO Prove the fixes actually took SEF URLs are actually rewriting Joomla SEO is the practice of optimizing sites built on the Joomla CMS — enabling SEF URLs (which requires renaming htaccess.txt to .htaccess), fixing the duplicate content Joomla creates by default, and adding sitemaps and schema, mostly via extensions like Route66 or 4SEO. TL;DR — Joomla can rank perfectly well, but its defaults work against you. The single most important step is making your URLs readable — turn on Search Engine Friendly URLs and rename the file to , or the setting does nothing. After that, deal with duplicate content Joomla keeps the old ugly URLs alive , add a sitemap extension, and you're most of the way there. What Joomla SEO is J","passages":["TL;DR — Joomla can rank perfectly well, but its defaults work against you.","The single most important step is making your URLs readable — turn on Search Engine Friendly URLs and rename the file to , or the setting does nothing.","After that, deal with duplicate content Joomla keeps the old ugly URLs alive , add a sitemap extension, and you're most of the way there.","What Joomla SEO is Joomla is a free, open source content management system — the same job WordPress does, just less common it runs roughly 2% of the web .","I've worked with it for a long time; back in 2012 I gave a technical SEO talk at Joomla Day Chicago, so a lot of this comes from getting my hands dirty in the admin.","The catch: the important settings are scattered and a little hidden, and a few defaults create problems you have to clean up.","The one step everyone misses Joomla turns ugly URLs like into clean ones — but only if you do two things, not one: 1.","Go to System → Global Configuration → Site tab → SEO Settings and set Search Engine Friendly URLs to Yes and Use URL Rewriting to Yes ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/cms/joomla-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/joomla-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Mobile SEO","desc":"What mobile SEO is and how to get it right — mobile-first indexing, responsive design, mobile usability, Core Web Vitals on mobile, intrusive interstitials, and the current status of AMP. The hub for the whole mobile-seo cluster.","snippetText":"Mobile SEO is optimizing your site for both mobile users and mobile-first indexing — and since Google finished moving to mobile-first indexing in October 2023, the mobile version of your page is the primary version it indexes and ranks, so this is just baseline SEO now. Responsive design is Google's recommended setup; content parity (everything you want indexed has to be in the mobile HTML) is the rule that bites hardest. Add fast mobile Core Web Vitals, readable fonts and tappable targets, and no intrusive interstitials. The Mobile-Friendly Test and the Search Console Mobile Usability report ","href":"/technical-seo/mobile-seo/","slug":"mobile-seo","meta":"Educational","aliases":["mobile-seo","mobile SEO","mobile search optimization","mobile optimization","Mobile SEO","mobile-first-indexing","core-web-vitals","responsive-design"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"Mobile SEO is optimizing your site for both mobile users and mobile-first indexing — and since Google finished moving to mobile-first indexing in October 2023, the mobile version of your page is the primary version it indexes and ranks, so this is just baseline SEO now. Responsive design is Google's recommended setup; content parity (everything you want indexed has to be in the mobile HTML) is the rule that bites hardest. Add fast mobile Core Web Vitals, readable fonts and tappable targets, and no intrusive interstitials. The Mobile-Friendly Test and the Search Console Mobile Usability report were retired in December 2023 — use Lighthouse now. AMP is no longer recommended for new builds. This hub maps the cluster and points to each deep dive. What mobile SEO is Why it matters The handful of things that matter most The thing people get wrong What mobile SEO actually covers Mobile first indexing, in one paragraph Site configuration: three options, one recommendation Content parity is the rule that bites Mobile page speed and Core Web Vitals Mobile usability Intrusive interstitials What about AMP? The tool landscape changed — use Lighthouse now Where to go next: the mobile seo cluster AI summary Official documentation Quotes from the source Mobile SEO checklist Mobile SEO — cheat sheet Measure mobile SEO health Mobile Core Web Vitals pass rate Mobile content parity exceptions Mobile organic performance by template Test yourself: Mobile SEO Mobile SEO is the practice of optimizing a site so it ranks well when crawled and indexed by a mobile (smartphone) user agent and delivers a fast, usable experience on phones. Since Google completed mobile-first indexing, the mobile version is the primary version Google uses for indexing and ranking — so mobile SEO is effectively baseline SEO for every site. TL;DR — Mobile SEO means making your site work well for people on phones and for the way Google now reads the web — from the mobile version of your page. Most people search on a phone, and since 2023 Google uses your mobile version to decide how you rank everywhere. The two things to get right: make sure your mobile page has all your content on it, and make sure it's fast and easy to use on a small screen. What mobile SEO is Mobile SEO is optimizing your website so it does two jobs well: 1. It works for mobile users — loads fast, fits the screen, has text you can read wit","passages":["TL;DR — Mobile SEO means making your site work well for people on phones and for the way Google now reads the web — from the mobile version of your page.","Most people search on a phone, and since 2023 Google uses your mobile version to decide how you rank everywhere.","The two things to get right: make sure your mobile page has all your content on it, and make sure it's fast and easy to use on a small screen.","What mobile SEO is Mobile SEO is optimizing your website so it does two jobs well: 1.","It works for mobile users — loads fast, fits the screen, has text you can read without zooming and buttons big enough to tap.","It works for the way Google indexes the web — Google now mostly visits your site as a phone and uses that mobile version to figure out what your pages are about and how to rank them.","Google finished switching the whole web over to it in October 2023.","The practical upshot is simple — your mobile site isn't a stripped down afterthought anymore."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/mobile-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Mobile SEO Checklist","desc":"A practical mobile SEO checklist covering content parity, Core Web Vitals, mobile usability, and the tools that matter after Google retired the Mobile-Friendly Test in 2023.","snippetText":"A current mobile SEO checklist for a mobile-first world: confirm content parity between mobile and desktop, hit good Core Web Vitals on mobile (LCP, INP, CLS), get mobile usability right (viewport, touch targets, font size), and audit with the tools that actually still exist — Google retired the Mobile-Friendly Test and the GSC Mobile Usability report in December 2023, so it's Lighthouse, PageSpeed Insights, URL Inspection, and the Core Web Vitals report now.","href":"/technical-seo/mobile-seo/mobile-seo-checklist/","slug":"mobile-seo-checklist","meta":"Educational","aliases":["mobile SEO checklist","mobile optimization checklist","mobile SEO audit"],"pillar":"technical-seo","taxonomy":["technical-seo","mobile-seo"],"text":"A current mobile SEO checklist for a mobile-first world: confirm content parity between mobile and desktop, hit good Core Web Vitals on mobile (LCP, INP, CLS), get mobile usability right (viewport, touch targets, font size), and audit with the tools that actually still exist — Google retired the Mobile-Friendly Test and the GSC Mobile Usability report in December 2023, so it's Lighthouse, PageSpeed Insights, URL Inspection, and the Core Web Vitals report now. Why mobile SEO is the whole game now 1. Same content on mobile as desktop \"content parity\" 2. Speed and responsiveness on a phone Core Web Vitals 3. Easy to use with a thumb The tools you've heard of are gone The baseline: mobile first indexing is finished 1. Content parity — the 1 technical requirement 2. Structured data parity 3. Crawlability and robots 4. Core Web Vitals on mobile 5. Images and videos on mobile 6. Mobile usability 7. Interstitials and ads — and the exemptions 8. AMP: neutral, not dead, not required 9. Site configuration: responsive is the recommended path 10. Audit with current, non deprecated tools Bonus: Bing is different — desktop first AI summary Official documentation Quotes from the source The mobile SEO checklist Mobile SEO cheat sheet The mental models Monthly mobile SEO health check TL;DR — Mobile SEO is now just SEO. Google indexes and ranks your site using the mobile version of your pages, so the checklist comes down to three things: make sure your mobile pages have the same content as desktop, make sure they load fast and feel responsive on a phone, and make sure they're easy to use with a thumb. And ignore the old Mobile Friendly Test — Google killed it. Why mobile SEO is the whole game now For years \"mobile SEO\" was a side project — you optimized for desktop, then made sure the site didn't look broken on a phone. That's over. Since July 2024 Google uses only the mobile version of your page to decide how you rank, for everyone — including people searching on a desktop. If your phone version is worse than your desktop version, that worse version is the one Google judges you on. So the modern mobile SEO checklist is short to say and important to get right: 1. Same content on mobile as desktop \"content parity\" This is the big one. Whatever you want Google to see — your headings, your body text, your images and their alt text, your internal links, your structured data — has ","passages":["Google indexes and ranks your site using the mobile version of your pages, so the checklist comes down to three things: make sure your mobile pages have the same content as desktop, make sure they load fast and feel responsive on a phone, and make sure they're easy to use with a thumb.","Why mobile SEO is the whole game now For years \"mobile SEO\" was a side project — you optimized for desktop, then made sure the site didn't look broken on a phone.","Since July 2024 Google uses only the mobile version of your page to decide how you rank, for everyone — including people searching on a desktop.","If your phone version is worse than your desktop version, that worse version is the one Google judges you on.","So the modern mobile SEO checklist is short to say and important to get right: 1.","Same content on mobile as desktop \"content parity\" This is the big one.","Whatever you want Google to see — your headings, your body text, your images and their alt text, your internal links, your structured data — has to be present in the mobile version of the page.","If your mobile template quietly drops a section, hides a paragraph by removing it from the page not just collapsing it , or trims your internal links, Google may never see that content."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/mobile-seo/mobile-seo-checklist/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/mobile-seo/mobile-seo-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"OpenTelemetry for SEO","desc":"What OpenTelemetry actually is, why the observability discipline is relevant to technical SEO on large and JavaScript-heavy sites, and how to use tracing to find why Core Web Vitals or rendering are slow — an honest, emerging-practice explainer.","snippetText":"OpenTelemetry (OTel) is an open-source, vendor-neutral observability framework — a CNCF project that standardizes traces, metrics, and logs. It is not an SEO tool, not a ranking factor, and not something Google or Bing has ever recommended for SEO. What it is useful for: pointing an engineering-grade tracing tool at problems that overlap with technical SEO — diagnosing why Core Web Vitals or JavaScript rendering are slow by correlating frontend metrics with backend spans. It's an emerging, practitioner-territory idea for large or JS-heavy sites with existing engineering observability, not a ma","href":"/technical-seo/tools/search-engine-tools/opentelemetry-seo/","slug":"opentelemetry-seo","meta":"Educational","aliases":["opentelemetry-seo","opentelemetry","opentelemetry seo","observability for seo","distributed tracing seo","OpenTelemetry (for SEO)","core-web-vitals","log-file-analysis","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools"],"text":"OpenTelemetry (OTel) is an open-source, vendor-neutral observability framework — a CNCF project that standardizes traces, metrics, and logs. It is not an SEO tool, not a ranking factor, and not something Google or Bing has ever recommended for SEO. What it is useful for: pointing an engineering-grade tracing tool at problems that overlap with technical SEO — diagnosing why Core Web Vitals or JavaScript rendering are slow by correlating frontend metrics with backend spans. It's an emerging, practitioner-territory idea for large or JS-heavy sites with existing engineering observability, not a mainstream SEO practice. Server logs show what crawled and how the server responded; OTel traces show why a request was slow inside your app. What OpenTelemetry is Why an SEO would ever hear about it Is this something you need to do? The honest bottom line Let me set expectations first What OpenTelemetry actually is Traces and spans — the mental model that matters Metrics, logs, and the edge cases that trip people up The one real SEO adjacent use case: correlating Core Web Vitals with backend traces Where it fits for JavaScript heavy and headless sites How this differs from server log file analysis Who should actually do this Real, current platform support worth naming What this is not How to start, practically AI summary Official documentation Quotes from the source Should you even go near OpenTelemetry? Once you have a trace — where does the CWV problem live? The mental models Myths and mistakes to avoid OpenTelemetry for SEO — cheat sheet Correlate Core Web Vitals with a backend trace OpenTelemetry (OTel) is an open-source, vendor-neutral observability framework — a CNCF project — that standardizes how software generates and exports telemetry: traces, metrics, and logs. It isn't an SEO tool or a ranking factor; it's an engineering framework technical SEOs can point at overlapping problems like diagnosing why Core Web Vitals or JavaScript rendering are slow. TL;DR — OpenTelemetry is a tool software engineers use to see why a website is slow — it traces a request as it moves through your servers. It's not an SEO tool and it's not a ranking factor . But because slow pages bad Core Web Vitals can hurt rankings, it can help a technical team find the real cause of a speed problem. For most sites this is a \"your developers might already have this\" topic, not a weekend project","passages":["TL;DR — OpenTelemetry is a tool software engineers use to see why a website is slow — it traces a request as it moves through your servers.","But because slow pages bad Core Web Vitals can hurt rankings, it can help a technical team find the real cause of a speed problem.","For most sites this is a \"your developers might already have this\" topic, not a weekend project.","What OpenTelemetry is OpenTelemetry is a vendor neutral observability framework for producing and exporting telemetry such as traces, metrics, and logs.","Applying that telemetry to SEO diagnostics is an engineering methodology, not an OpenTelemetry defined SEO product.","OpenTelemetry people shorten it to OTel is an open source framework that software engineers use for observability — a fancy word for \"being able to see what your systems are actually doing.\" It collects three kinds of data: traces the story of one request , metrics numbers over time , and logs .","The important part for you: it is an engineering tool , not a search engine tool.","Nobody at Google or Bing invented it for SEO, and it has nothing to do with how a search engine ranks your pages."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/opentelemetry-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/opentelemetry-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"PageRank","desc":"PageRank is Google's original link-analysis algorithm — what it is, the random surfer model and the formula, the Reasonable Surfer update, its history from the Toolbar to the 2024 API leak, why it's still a core ranking system, and what it means for your links and internal architecture.","snippetText":"PageRank is the recursive link-graph model Larry Page and Sergey Brin published at Stanford: a page's score depends on the score of the pages linking to it, and in the published model each page splits its score across its outbound links (\"links are votes\" is the simplified way to say that). The public Toolbar score died in 2016, but Google's ranking systems guide still lists PageRank as one of its core ranking systems, evolved from the original. Leak-based reporting on Google's 2024 API leak described at least seven internal PageRank-related fields, though Google hasn't confirmed what each one","href":"/technical-seo/how-search-works/crawling/pagerank/","slug":"pagerank","meta":"Educational","aliases":["pagerank","PageRank","Google PageRank","link equity","link juice","crawling","canonicalization","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"PageRank is the recursive link-graph model Larry Page and Sergey Brin published at Stanford: a page's score depends on the score of the pages linking to it, and in the published model each page splits its score across its outbound links (\"links are votes\" is the simplified way to say that). The public Toolbar score died in 2016, but Google's ranking systems guide still lists PageRank as one of its core ranking systems, evolved from the original. Leak-based reporting on Google's 2024 API leak described at least seven internal PageRank-related fields, though Google hasn't confirmed what each one does; practitioners (including this author) believe it also factors into crawl budget and canonicalization, though Google hasn't documented that directly. The Reasonable Surfer patent describes a model where not all links are weighted equally, but that's a patent, not a confirmed current production weighting. Nofollow sculpting has been dead since 2009, and Google says 30x redirects no longer lose PageRank. There's no public score anymore; third-party metrics like Ahrefs' URL Rating are proxies, not PageRank itself. What PageRank is \"I thought Google got rid of PageRank?\" What this means for you What PageRank actually is Not all links are equal — the Reasonable Surfer A short history Does Google still use PageRank? Yes. Beyond ranking — PageRank's other jobs practitioner analysis \"Links are less important now\" — the nuance What this means for your SEO Where this fits AI summary Official documentation Quotes from the source Internal link equity audit The mental models PageRank cheat sheet PageRank myths, debunked Tools that approximate PageRank The standing KPI for internal link equity Orphan and under linked priority pages Click depth to priority pages Internal link equity proxy trend URL Rating Test yourself: PageRank PageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems. TL;DR — PageRank is Google's original way of scoring how important a page is, based on who links to it. Links are votes — and a vote from a popular page counts more than a vote from a nobody. Google killed the public Pa","passages":["TL;DR — PageRank is Google's original way of scoring how important a page is, based on who links to it.","Links are votes — and a vote from a popular page counts more than a vote from a nobody.","Google killed the public PageRank score in 2016, but it still uses the algorithm behind the scenes.","What PageRank is The original PageRank paper describes a link analysis method based on the web's link graph.","Google says link analysis systems, including PageRank, remain part of its core ranking systems alongside many other signals.","Back in the late 1990s, two Stanford students — Larry Page and Sergey Brin — had an idea: you could figure out which web pages are important by looking at the pattern of which pages link to them — a page linked to by important pages is itself important, and that importance flows recursively through the whole link graph.","They called it PageRank named after Larry Page, with a pun on web \"pages\" .","If lots of pages link to you, that's a sign your page is worth something."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/pagerank/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/pagerank/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Product Schema","desc":"How to implement schema.org/Product markup for Google's product snippet and merchant listing rich results — required vs. recommended properties, the availability enum, why Product schema isn't the same as a Merchant Center feed, and how to fix the common Search Console errors.","snippetText":"Product schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews, so the page can qualify for Shopping-style rich results. The minimum for a product snippet — the lighter of Google's two experiences — is name plus at least one of offers, review, or aggregateRating; a merchant listing needs offers outright, not as one option among three. Google splits this into two experiences with different strictness — product snippets (price/reviews on any product page; priceCurrency only recommended, price of 0 allowed) and merchant lis","href":"/technical-seo/on-page/structured-data/commerce/product-schema/","slug":"product-schema","meta":"Educational","aliases":["product-schema","product schema","schema.org/Product","product structured data","Product markup","Product Schema","schema-markup","structured-data","rich-results","productgroup-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","commerce"],"text":"product-schema structured-data schema-org json-ld rich-results ecommerce-seo Product schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews, so the page can qualify for Shopping-style rich results. The minimum for a product snippet — the lighter of Google's two experiences — is name plus at least one of offers, review, or aggregateRating; a merchant listing needs offers outright, not as one option among three. Google splits this into two experiences with different strictness — product snippets (price/reviews on any product page; priceCurrency only recommended, price of 0 allowed) and merchant listings (transactional pages; require image, offers, and a price greater than zero with priceCurrency). The single biggest confusion I see: Product schema markup and a Google Merchant Center feed are separate systems with separate validators — passing the Rich Results Test doesn't validate your feed, and price/availability must match across your markup, your feed, and your actual checkout or Google flags a mismatch. Valid markup only makes you eligible; Google still decides whether to show the result. What Product schema is Why it's worth doing The four things you almost always need The thing most people get wrong What Product schema does — two experiences, not one Required vs. recommended properties The property and its enum values Product schema vs. Google Merchant Center feeds — validated separately Keep price and availability consistent across markup, feed, and checkout Reviews and ratings — and the self serving review myth Identifiers and trust signals: sku, gtin, mpn, brand Return policy and shipping Why your valid markup still shows no rich result JSON LD and the AI shopping angle AI summary Official documentation Quotes from the source Product schema cheat sheet Do I need Product schema, a Merchant Center feed, or both? Product schema myths and mistakes to avoid Clean vs. broken Product JSON LD A clean merchant listing ready snippet The same snippet, broken Common Search Console errors → fixes Product schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. {/ tool rule claim: schema.str","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Product schema is code you add to a product page that labels the product details for search engines — \"this is the name,\" \"this is the price,\" \"this is in stock,\" \"these are the review stars.\" Adding it correctly makes the page eligible for the richer search listings you see on shopping results price, availability, star ratings .","It does not guarantee those extras show up, and it is not the same thing as uploading a product feed to Google Merchant Center.","What Product schema is When you look at a product page, you can tell the price from the product name from the \"In stock\" label just by reading.","Product schema spells it out in code, using the shared schema.org https://schema.org/Product vocabulary — it tags each piece of the page with what it actually is : the , an , the and currency, whether it's , and any review ratings.","It's almost always written as JSON LD — a small block of code that sits in the page without changing how the page looks.","Why it's worth doing The payoff is rich results : the enhanced search listings on product queries.","Two kinds: ⭐ Product snippets — star ratings and a price under a normal product page.","🛒 Merchant listings — the fuller, shopping style result price, availability, sometimes shipping and returns on pages where the item can be bought right there."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/product-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/product-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"ProductGroup Schema","desc":"How to use ProductGroup schema to group product variants (size, color, material) with hasVariant, variesBy, and productGroupID — plus the item_group_id difference and why Bing doesn't support it.","snippetText":"ProductGroup schema wraps a set of Product variants — a shirt's sizes and colors — under one parent so Google understands they're options of the same item, not separate products. It's additive: every variant is still a full Product with its own sku/gtin, price, and availability, and ProductGroup ties them together with hasVariant (nested, single-page sites), variesBy (which attributes differ), and productGroupID (the parent sku). The single most common mistake is writing variesBy as plain strings — it must use full schema.org URLs like https://schema.org/color; in my testing the JSON-LD still ","href":"/technical-seo/on-page/structured-data/commerce/productgroup-schema/","slug":"productgroup-schema","meta":"Educational","aliases":["productgroup-schema","ProductGroup schema","ProductGroup structured data","variesBy","hasVariant","productGroupID","ProductGroup Schema","schema-markup","product-variant-seo","structured-data"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","commerce"],"text":"productgroup-schema structured-data product-variants schema-org json-ld commerce ProductGroup schema wraps a set of Product variants — a shirt's sizes and colors — under one parent so Google understands they're options of the same item, not separate products. It's additive: every variant is still a full Product with its own sku/gtin, price, and availability, and ProductGroup ties them together with hasVariant (nested, single-page sites), variesBy (which attributes differ), and productGroupID (the parent sku). The single most common mistake is writing variesBy as plain strings — it must use full schema.org URLs like https://schema.org/color; in my testing the JSON-LD still validates but the grouping doesn't trigger (Google doesn't document that failure mode, so verify it yourself). Two more traps: productGroupID (on-page schema) is not Merchant Center's item_group_id (a product-feed attribute) — separate systems, nothing auto-syncs them, so use matching values deliberately; and Bing doesn't consume ProductGroup markup at all (per Microsoft's Fabrice Canel, Sept 2024, a reported statement, not a Microsoft doc). My rule with all schema holds here: implement it because it earns you a search feature, not because more markup is automatically better — it aids understanding and merchant-listing eligibility, it doesn't make a variant rank. What ProductGroup schema is The important part: it's additive, not a replacement What it does for you Two things to know before you go deeper Where this sits Why ProductGroup exists It's additive — this is the mental model that prevents most mistakes The three core properties and — full schema.org URLs, not plain strings — plain text, and not item group id Two implementation patterns: nested vs. flat Required vs. recommended vs. Merchant Center's — the reconciliation nobody explains Bing does not support ProductGroup A note on dynamic markup Validate before you ship AI summary Official documentation Quotes from the source A complete ProductGroup JSON LD example The multi page flat variant of the same setup Should you use ProductGroup, and which pattern? Common ProductGroup mistakes ProductGroup schema is structured data that groups product variants — like a shirt's sizes and colors — under one parent so Google understands they're options of the same item, not separate products. It wraps individual Product markup via hasVariant/vari","passages":["TL;DR — ProductGroup schema is code that tells Google \"all these variations — the small green shirt, the large blue one — are the same product in different options, not separate products.\" Each variation still gets its own product markup; ProductGroup just wraps them together.","It does not replace product markup, and it does not make a variant rank higher — it helps Google understand your catalog and can make your listings eligible to show variant info.","What ProductGroup schema is If you sell a coat in three colors and five sizes, that's one coat sold in 15 combinations.","To a search engine, 15 near identical product pages can look like 15 unrelated products unless you tell it otherwise.","ProductGroup schema is the structured data that does the telling.","It sits above your individual product listings and says \"these belong together — they're the same item in different options.\" Google added support for it in February 2024 .","Think of it as a parent folder: The parent is the — \"Wool winter coat.\" The children are the individual variants — each color/size combo, with its own price, photo, stock status, and unique ID.","The important part: it's additive, not a replacement This trips up almost everyone the first time."],"updated":"2026-07-20T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/productgroup-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/commerce/productgroup-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Review Schema","desc":"How to implement Review schema markup for single editorial reviews, what schema.org/Review covers vs. what Google uses for review snippets, eligibility rules, and how it relates to AggregateRating.","snippetText":"Review schema (schema.org/Review) marks up a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating with a ratingValue. Those three fields are the required core. It's distinct from AggregateRating, which summarizes many reviews into an average; Google bundles both on one docs page because they render the same stars, but the rules diverge. If a Review is nested inside the reviewed item via the review property, you omit itemReviewed and Google infers the parent. The single most-missed rule: the self-serving-reviews restriction (Google's Septem","href":"/technical-seo/on-page/structured-data/metadata-trust/review-schema/","slug":"review-schema","meta":"Educational","aliases":["review-schema","review schema","schema.org/Review","review structured data","review snippet","Review markup","Review Schema","aggregaterating-schema","product-schema","organization-schema","schema-markup","structured-data","rich-results"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","metadata-trust"],"text":"review-schema structured-data schema-org json-ld rich-results review-snippet Review schema (schema.org/Review) marks up a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating with a ratingValue. Those three fields are the required core. It's distinct from AggregateRating, which summarizes many reviews into an average; Google bundles both on one docs page because they render the same stars, but the rules diverge. If a Review is nested inside the reviewed item via the review property, you omit itemReviewed and Google infers the parent. The single most-missed rule: the self-serving-reviews restriction (Google's September 2019 policy) is scoped to LocalBusiness/Organization being reviewed on their own site — you can't get stars for testimonials about your own business — but reviews of Books, Movies, Products, Recipes, and Software Apps are not subject to that carve-out. Valid markup only earns rich-result eligibility (a critic review snippet), never a ranking boost, and self-serving or fabricated reviews can draw a manual action. What Review schema is The three things every Review needs The trap most people fall into Review vs. AggregateRating — get this straight first The required core: author, itemReviewed, reviewRating Where Review schema is supported Nested vs. standalone — when to omit itemReviewed The self serving reviews rule — the single most important restriction Eligibility, not ranking — and the manual action risk Testing and monitoring Bing and other engines AI summary Official documentation Quotes from the source Review schema myths and mistakes to avoid Clean vs. broken Review JSON LD A clean standalone critic review A clean nested review itemReviewed omitted The same standalone review, broken Where the markup can be valid but still ineligible Nested or standalone — where does itemReviewed go? Common issues: markup validates but stars don't show Symptom: Rich Results Test passes, but no stars appear in search results Symptom: Rich Results Test flags \"itemReviewed\" as missing or unexpected Review schema (schema.org/Review) is structured data for a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating — distinct from AggregateRating, which summarizes many reviews into an average. {/ tool rule claim: schema.structured data validity/article cont","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Review schema is code you add to a page that labels one person's review of one thing — who wrote it, what it's about, and the star rating they gave.","Adding it correctly makes the page eligible for the star snippet you sometimes see in search results.","It does not guarantee stars, it does not boost your ranking, and — the big one — you generally can't use it to put stars on your own business by reviewing yourself.","What Review schema is When a critic writes \"I give this restaurant 4 out of 5 stars,\" you can tell who's talking, what they're reviewing, and the score just by reading.","Review schema — the schema.org/Review https://schema.org/Review vocabulary — spells it out in code: this is the author , this is the thing being reviewed , and this is the rating they gave .","It's almost always written as JSON LD : a small block of code that sits in the page without changing how the page looks.","The key idea to hold onto: a is one critic, one write up, one item .","That's different from an aggregate rating — an average built from many reviews like \"4.6 stars from 218 reviews\" ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/review-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/review-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Sanity SEO","desc":"Sanity stores content as JSON and emits zero HTML — your frontend decides your SEO. Rendering modes, Portable Text, the SEO object, sitemaps, draft-mode noindex, JSON-LD, and plugins.","snippetText":"Sanity is a headless CMS that stores content as structured JSON in its Content Lake and produces no HTML — so your frontend framework (Next.js, Astro, Remix) decides everything about your SEO. The single biggest lever is rendering: SSG and SSR ship complete HTML and are safe; CSR is risky because LLM-crawler rendering contracts vary by provider. Portable Text is a JSON AST, not HTML, so the frontend must serialize it. Build a reusable SEO object in the content model, generate sitemaps and JSON-LD programmatically, keep drafts out of the index with an X-Robots-Tag: noindex header, and use sanit","href":"/technical-seo/platform-seo/headless-cms/sanity-seo/","slug":"sanity-seo","meta":"Educational","aliases":["sanity-seo","Sanity SEO","Sanity.io SEO","headless CMS SEO Sanity","Sanity search engine optimization","headless-cms-seo","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","headless-cms"],"text":"sanity-seo headless-cms-seo technical-seo platform-seo rendering groq Sanity is a headless CMS that stores content as structured JSON in its Content Lake and produces no HTML — so your frontend framework (Next.js, Astro, Remix) decides everything about your SEO. The single biggest lever is rendering: SSG and SSR ship complete HTML and are safe; CSR is risky because LLM-crawler rendering contracts vary by provider. Portable Text is a JSON AST, not HTML, so the frontend must serialize it. Build a reusable SEO object in the content model, generate sitemaps and JSON-LD programmatically, keep drafts out of the index with an X-Robots-Tag: noindex header, and use sanity-plugin-seo (not the deprecated Yoast pane). SEO success in Sanity comes from intentional structure, not plugins. What Sanity actually is The one decision that matters most: rendering The \"where did my SEO settings go?\" problem Two things that quietly go wrong Sanity is content storage, not a publisher Rendering mode is the foundation Portable Text — your body copy is a JSON AST Content modeling for SEO — the reusable SEO object Metadata, sitemaps, and canonicals — all built in the frontend Structured data — generate it, don't author it Keeping drafts out of Google — the real incident pitfall Robots, redirects, image SEO, and hreflang Plugins — helpful, not a substitute AI search and AEO The myths worth killing AI summary Official documentation Quotes from the source Sanity SEO checklist The mental models Sanity SEO — cheat sheet Draft or preview content appeared in Search Console Sanity SEO mistakes to avoid Expecting Sanity to emit SEO HTML Sanity SEO is the set of technical and content practices that make a website built on Sanity.io rank and get cited. Sanity stores content as structured JSON and produces zero HTML, so every SEO output — meta tags, sitemaps, canonicals, structured data — is built in the frontend that consumes Sanity's API. TL;DR — Sanity is a place to store content, not a place that publishes web pages. It hands your content out as data JSON , not as finished HTML — so a separate website built with something like Next.js or Astro has to turn that data into pages. That means none of the usual SEO stuff titles, sitemaps, canonical tags happens automatically the way it does on WordPress. The biggest rule: build your pages on a server or at build time, not entirely in the visitor's b","passages":["TL;DR — Sanity is a place to store content, not a place that publishes web pages.","It hands your content out as data JSON , not as finished HTML — so a separate website built with something like Next.js or Astro has to turn that data into pages.","That means none of the usual SEO stuff titles, sitemaps, canonical tags happens automatically the way it does on WordPress.","The biggest rule: build your pages on a server or at build time, not entirely in the visitor's browser, or search engines and AI tools may never see your content.","What Sanity actually is People sometimes assume Sanity is \"a CMS like WordPress,\" and that's where the confusion starts.","It does two things: it stores your content in something Sanity calls the Content Lake and it gives content editors a place to write Sanity Studio .","Your content comes out as structured data — JSON — through an API.","That means a separate website — built with a framework like Next.js, Astro, or Remix — has to fetch that JSON and build the actual pages people and search engines see."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/sanity-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/sanity-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO Audit Checklist","desc":"A full SEO audit checklist covering technical, on-page, content, and off-page factors — what to check, what tools to use, and how to prioritize findings into an action plan.","snippetText":"A full SEO audit reviews four things — technical health, on-page elements, content quality, and off-page authority — and turns them into a short, prioritized action plan, not a 100–200 item report. The core skill isn't checking more; it's checking what matters and ordering it by impact vs. effort. Start from the pain point, fix crawling/indexing gatekeepers first, then spend most of your time on content unless something technical is genuinely broken. Ship 5–10 findings people will actually implement. This is the broad, full-site version; for the technical-only deep dive, use the Technical SEO ","href":"/technical-seo/tools/seo-audit-checklist/","slug":"seo-audit-checklist","meta":"Educational","aliases":["seo-audit-checklist","SEO audit checklist","SEO audit","how to audit a website for SEO","full SEO audit","site audit checklist","SEO Audit Checklist","technical-seo-checklist","enterprise-seo-audit","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","tools"],"text":"seo-audit technical-seo on-page-seo content-audit backlinks prioritization A full SEO audit reviews four things — technical health, on-page elements, content quality, and off-page authority — and turns them into a short, prioritized action plan, not a 100–200 item report. The core skill isn't checking more; it's checking what matters and ordering it by impact vs. effort. Start from the pain point, fix crawling/indexing gatekeepers first, then spend most of your time on content unless something technical is genuinely broken. Ship 5–10 findings people will actually implement. This is the broad, full-site version; for the technical-only deep dive, use the Technical SEO Checklist. What an SEO audit is The one thing to get right A first pass checklist anyone can run What this audit is — and what it isn't The philosophy: prioritize, don't enumerate The audit process not just the checklist When to run an audit the triggers The checklist, by category Technical & crawlability/indexing On page Content Off page / authority AI / answer engine visibility forward looking Prioritization: the impact/effort framework Common myths this audit debunks Where to go next AI summary Official documentation Quotes from the source SOP: run a quarterly SEO audit Playbook: sudden traffic drop Audit anti patterns What audits actually find The mental models An SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory. TL;DR — An SEO audit is a health check for your website: you look at whether search engines can find and understand your pages, whether the on page basics are in place, whether your content is actually good, and whether other sites link to you. The trick is not to check everything. You find the biggest, most fixable problems and hand back a short list — not a giant report nobody reads. What an SEO audit is An SEO audit is a review of your website to find what's stopping it from showing up well in search — and to produce a short list of fixes worth doing. That's it. It covers four areas: 1. Technical — can search engines crawl and index your pages at all? 2. On page — do your titles, meta descriptions, headings, and images check out? 3. Content — is your content genuinely helpful, and are ","passages":["TL;DR — An SEO audit is a health check for your website: you look at whether search engines can find and understand your pages, whether the on page basics are in place, whether your content is actually good, and whether other sites link to you.","You find the biggest, most fixable problems and hand back a short list — not a giant report nobody reads.","What an SEO audit is An SEO audit is a review of your website to find what's stopping it from showing up well in search — and to produce a short list of fixes worth doing.","Technical — can search engines crawl and index your pages at all?","On page — do your titles, meta descriptions, headings, and images check out?","Content — is your content genuinely helpful, and are there gaps or stale pages?","Off page — do other sites link to you, and are any of your linked pages broken?","There's also a newer, fifth area a lot of people are starting to add: whether AI answer engines like AI Overviews or ChatGPT can find and cite you."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/tools/seo-audit-checklist/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/seo-audit-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Sitecore SEO","desc":"How to make a Sitecore site rank — the two platforms that change everything (XP vs XM Cloud), what SXA gives you out of the box and what it doesn't, and the platform-specific traps that catch enterprise teams: the default robots.txt that blocks every crawler, aliases that create duplicate content at HTTP 200, and metadata that silently fails to inherit because blank isn't NULL.","snippetText":"Sitecore is an enterprise DXP that ships with almost no SEO functionality out of the box — and the two product lines behave very differently. Sitecore XP is traditional server-rendered .NET; XM Cloud (renamed SitecoreAI in Sitecore's current docs) is headless SaaS where a Next.js front end (via JSS, now published as Content SDK) controls the HTML and you manage SEO with Next.js metadata APIs. SXA adds the basics (sitemap, robots.txt management, metadata fields) but everything still needs configuration. Three Sitecore-specific traps catch teams: the default robots.txt blocks every crawler if th","href":"/technical-seo/platform-seo/cms/sitecore-seo/","slug":"sitecore-seo","meta":"Educational","aliases":["sitecore-seo","Sitecore SEO","SEO for Sitecore","Sitecore XM Cloud SEO","Sitecore CMS SEO","canonicalization","duplicate-content"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","cms"],"text":"sitecore-seo technical-seo cms xm-cloud enterprise-seo duplicate-content Sitecore is an enterprise DXP that ships with almost no SEO functionality out of the box — and the two product lines behave very differently. Sitecore XP is traditional server-rendered .NET; XM Cloud (renamed SitecoreAI in Sitecore's current docs) is headless SaaS where a Next.js front end (via JSS, now published as Content SDK) controls the HTML and you manage SEO with Next.js metadata APIs. SXA adds the basics (sitemap, robots.txt management, metadata fields) but everything still needs configuration. Three Sitecore-specific traps catch teams: the default robots.txt blocks every crawler if the robots field is left blank (empty ≠ permissive); item aliases serve HTTP 200 on both URLs, creating true duplicate content that canonical doesn't fix automatically; and blank metadata fields don't fall back to Standard Values unless 'Reset Blank' is enabled, because blank isn't NULL. On the enterprise scale Sitecore lives at, governance — a base SEO template, validation rules, environment control — matters as much as any single setting. What Sitecore is The big thing to know Three traps to watch for Two platforms, two completely different SEO models Metadata — and the blank vs NULL trap URL management and the alias trap Sitemaps Robots.txt — the default that blocks everything Multilingual, hreflang, and multisite Headless rendering strategy XM Cloud Personalization — don't cloak Structured data Enterprise governance — where the real work is AI summary Official documentation Quotes from the source Sitecore SEO launch & audit checklist The Sitecore SEO governance framework Sitecore SEO cheat sheet Common Sitecore SEO failures The production site suddenly disappears behind a crawl block An alias and the canonical item both appear as indexable pages Published pages have blank titles or descriptions The SXA sitemap returns 404 Sitecore SEO is the set of technical, on-page, and governance practices applied to sites built on Sitecore — an enterprise Digital Experience Platform. Sitecore ships with very little SEO functionality by default; the work happens through SXA's SEO modules (on Sitecore XP) or the Next.js application layer (on XM Cloud headless), plus careful governance of templates, metadata inheritance, aliases, and robots.txt. TL;DR — Sitecore is a big enterprise CMS, and it does not handle SE","passages":["TL;DR — Sitecore is a big enterprise CMS, and it does not handle SEO for you.","The basics every site needs — page titles, descriptions, a sitemap, a sensible robots.txt — have to be set up, and Sitecore has a few traps that can quietly block your whole site or create duplicate pages.","What Sitecore is Sitecore is a Digital Experience Platform — a large, enterprise CMS that big companies use to run complex websites with personalization, multiple languages, and many sites in one install.","It comes in two main flavors, and the difference matters a lot for SEO: Sitecore XP Experience Platform — the traditional, older style.","It's built on .NET and renders pages on the server, so search engines generally see finished HTML.","Here Sitecore just stores the content, and a separate front end website usually built with Next.js /technical seo/javascript seo/ pulls that content in and builds the actual pages.","SEO is controlled in that front end app, not inside Sitecore.","The big thing to know Sitecore doesn't give you much SEO out of the box."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/cms/sitecore-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/sitecore-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Sitelinks","desc":"What Google sitelinks are, why they're 100% algorithmic, and how to influence (not control) them — plus the demote tool that's gone, the Sitelinks Searchbox deprecation, Bing Deep Links, and how paid sitelinks differ from organic.","snippetText":"Sitelinks are the extra links Google clusters under a result, mostly for branded and navigational queries. They're entirely algorithmic — there's no way to add, edit, or guarantee them, and the old Search Console demote tool is gone (removed 2016). You influence them the same way you influence rankings: clear site structure, descriptive titles, and strong internal linking. The only way to suppress a sitelink is noindex, which removes the page from search entirely. Don't confuse organic sitelinks with owner-controlled Google Ads sitelinks or the deprecated Sitelinks Searchbox; Bing's equivalent","href":"/technical-seo/how-search-works/sitelinks/","slug":"sitelinks","meta":"Educational","aliases":["sitelinks","Google sitelinks","SERP sitelinks","site links","Sitelinks","internal-links","duplicate-content"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works"],"text":"sitelinks technical-seo serp-features internal-links branded-search Sitelinks are the extra links Google clusters under a result, mostly for branded and navigational queries. They're entirely algorithmic — there's no way to add, edit, or guarantee them, and the old Search Console demote tool is gone (removed 2016). You influence them the same way you influence rankings: clear site structure, descriptive titles, and strong internal linking. The only way to suppress a sitelink is noindex, which removes the page from search entirely. Don't confuse organic sitelinks with owner-controlled Google Ads sitelinks or the deprecated Sitelinks Searchbox; Bing's equivalent, Deep Links, actually gives you more control. What sitelinks are When Google shows them The thing most people get wrong What sitelinks are and what they're not They are 100% algorithmic How to influence not control them Suppressing a sitelink: the nuclear option Three different things people lump together The Sitelinks Searchbox is gone and it was never the same thing Bing calls them Deep Links — and gives you more control Paid sitelinks are a separate world Why sitelinks are worth caring about The honest summary AI summary Official documentation Quotes from the source Sitelinks readiness checklist The mental models Sitelinks cheat sheet Tools for sitelinks Resources worth your time Test yourself: Sitelinks Sitelinks are extra links from the same domain that Google clusters together under a single search result, usually for branded or navigational queries. They're generated entirely algorithmically — there's no way to add, edit, or guarantee them. TL;DR — Sitelinks are the extra links Google shows underneath a result — the shortcuts to other pages on the same site. You mostly see them when you search a brand name. You can't add them or pick which pages show; Google does it automatically. The best thing you can do is keep a clear site structure with good internal links and descriptive page titles. What sitelinks are When you search for a brand — say \"ahrefs\" — Google often shows the main result and then a little block of extra links below it: pricing, blog, login, and so on. Those extra links are sitelinks . Google describes them simply: \"Sitelinks are links from the same domain that are clustered together under a text result.\" They're there to save people clicks. If Google thinks you're looking for a s","passages":["TL;DR — Sitelinks are the extra links Google shows underneath a result — the shortcuts to other pages on the same site.","You can't add them or pick which pages show; Google does it automatically.","The best thing you can do is keep a clear site structure with good internal links and descriptive page titles.","What sitelinks are When you search for a brand — say \"ahrefs\" — Google often shows the main result and then a little block of extra links below it: pricing, blog, login, and so on.","Google describes them simply: \"Sitelinks are links from the same domain that are clustered together under a text result.\" They're there to save people clicks.","If Google thinks you're looking for a specific section of a site, sitelinks let you jump straight there instead of landing on the homepage and hunting around.","When Google shows them Sitelinks show up mostly for branded and navigational searches — queries where someone is clearly looking for a specific site.","But brand recognition alone doesn't guarantee them: Google only shows sitelinks when it thinks they'll be useful, when your site's structure lets its algorithms find good candidates, and when the result is relevant to that specific query."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/how-search-works/sitelinks/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/sitelinks/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Soft 404 Errors","desc":"What soft 404 errors are, why Google flags pages that return 200 OK but have no content as soft 404s, how to find them in Search Console, and how to fix them.","snippetText":"A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a code your server sends — it's a label Google applies after comparing the response code against the rendered content, and it treats the page like a 404 for indexing. Common causes: deleted pages that don't 404, out-of-stock or discontinued products, empty internal search results, thin JavaScript-rendered pages, and irrelevant redirects. The fix is to make the code match the content: return a real 404/410 when a page is gone, 301 to something ","href":"/technical-seo/http-status-codes/http-errors/soft-404-errors/","slug":"soft-404-errors","meta":"Educational","aliases":["soft-404-errors","soft 404","soft 404 error","soft 404 errors","soft 404s","Soft 404","404-not-found","404-vs-410","http-status-codes"],"pillar":"technical-seo","taxonomy":["technical-seo","http-status-codes","http-errors"],"text":"A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a code your server sends — it's a label Google applies after comparing the response code against the rendered content, and it treats the page like a 404 for indexing. Common causes: deleted pages that don't 404, out-of-stock or discontinued products, empty internal search results, thin JavaScript-rendered pages, and irrelevant redirects. The fix is to make the code match the content: return a real 404/410 when a page is gone, 301 to something genuinely relevant, or add real content when the page should stay live. What a soft 404 is Why it matters What causes them How to fix one What a soft 404 actually is Why it still costs you even though it's not a penalty How Google detects them The four buckets of causes The fix decision tree Ecommerce: it's site size dependent Myths worth killing Where Google actually documents this now AI summary Official documentation Quotes from the source Finding and fixing soft 404s Concrete soft 404s — before and after What should this soft 404 URL do? Soft 404 fixes that are not fixes Return 200 for every route Add and leave the mismatch Redirect every removed URL to the homepage Treat the Search Console label as a penalty Assume the report is complete and immediate A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. TL;DR — A soft 404 is a page that tells your browser \"everything's fine\" a status code while the page itself is empty or says \"not found.\" Google spots the mismatch and treats the page like a 404 — it won't get indexed. \"Soft 404\" isn't a real error code your server sends; it's a label Google applies after looking at the page. The fix is to make the code match the content. What a soft 404 is A soft 404 is a Google classification, not an HTTP status code: the returned content looks like an error despite a success like response. Google recommends returning an accurate 404/410 for genuinely missing pages or useful content for valid pages. Every time a page loads, the server sends back a little st","passages":["TL;DR — A soft 404 is a page that tells your browser \"everything's fine\" a status code while the page itself is empty or says \"not found.\" Google spots the mismatch and treats the page like a 404 — it won't get indexed.","\"Soft 404\" isn't a real error code your server sends; it's a label Google applies after looking at the page.","What a soft 404 is A soft 404 is a Google classification, not an HTTP status code: the returned content looks like an error despite a success like response.","Google recommends returning an accurate 404/410 for genuinely missing pages or useful content for valid pages.","Every time a page loads, the server sends back a little status code behind the scenes.","means \"here's the page, everything worked.\" means \"that page doesn't exist.\" A soft 404 is when those two things disagree.","The server says — success — but the page is blank, has basically no content, or literally shows a \"Page not found\" message.","Google renders the page, sees that the content looks like an error while the status code says success, and decides not to trust the ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/soft-404-errors/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/http-status-codes/http-errors/soft-404-errors/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Squarespace SEO","desc":"A technical guide to Squarespace SEO — what the platform handles automatically (HTTPS, CDN, sitemap, canonical tags, six schema types), what you control manually (titles, slugs, URL Mappings, Code Injection), and the hard limits that no setting overrides: no robots.txt editing, no auto-redirects on URL changes, no code injection unique to a single blog post, and AMP deprecated in February 2025.","snippetText":"Squarespace handles a lot of the technical baseline for you — free HTTPS on a CDN, an auto-generated and auto-submitted sitemap.xml, canonical tags on every page, clean markup, and JSON-LD for six schema types (Blog post, Event, Local business, Organization, Product, Website). In return it locks down the things you'd normally control: you can't edit robots.txt, you can't customize the sitemap, you can't remove the auto-generated schema, blog posts have no noindex and no code injection unique to a single post (the blog-level field runs on every post in that blog), and headings are limited to H1","href":"/technical-seo/platform-seo/website-builders/squarespace-seo/","slug":"squarespace-seo","meta":"Educational","aliases":["squarespace-seo","Squarespace SEO","Squarespace SEO guide","SEO on Squarespace","is Squarespace good for SEO","platform-seo","website-builders"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"squarespace-seo platform-seo website-builders technical-seo structured-data canonicalization redirects Squarespace handles a lot of the technical baseline for you — free HTTPS on a CDN, an auto-generated and auto-submitted sitemap.xml, canonical tags on every page, clean markup, and JSON-LD for six schema types (Blog post, Event, Local business, Organization, Product, Website). In return it locks down the things you'd normally control: you can't edit robots.txt, you can't customize the sitemap, you can't remove the auto-generated schema, blog posts have no noindex and no code injection unique to a single post (the blog-level field runs on every post in that blog), and headings are limited to H1–H4. The single biggest gotcha: Squarespace does NOT auto-create a 301 when you change a URL — you have to add it yourself in URL Mappings first, or you break every link to that page. AMP was deprecated in February 2025. For small-business, local, and portfolio sites these limits rarely matter; large or technically demanding sites hit the ceiling faster. What Squarespace gives you for free What you still have to do yourself The thing most people get wrong What Squarespace handles automatically What you control manually URL Mappings the redirect manager Structured data on Squarespace The robots.txt limitation Page speed and Core Web Vitals Heading structure AMP: deprecated February 2025 Squarespace 7.0 vs 7.1 Squarespace vs. WordPress: the honest verdict AI summary Official documentation Quotes from the source Squarespace SEO checklist The automatic, manual, and hard limit framework Automatic — verify the output Manual — use the control consistently Hard limit — design around it or change platforms Squarespace SEO — cheat sheet Squarespace SEO mistakes to avoid Skipping H1 because its default style is too large Squarespace SEO is the practice of optimizing a Squarespace-hosted site to rank in organic search. Squarespace handles much of the technical baseline automatically — HTTPS, CDN delivery, an XML sitemap, canonical tags, and basic metadata — but its closed SaaS architecture creates hard limits: no robots.txt editing, no sitemap customization, a fixed set of auto-generated schema you can't remove, and no code injection on individual blog posts. TL;DR — Squarespace does a lot of SEO for you automatically — it builds and submits your sitemap, adds canonical tags, runs","passages":["TL;DR — Squarespace does a lot of SEO for you automatically — it builds and submits your sitemap, adds canonical tags, runs on HTTPS, and generates basic structured data.","The trade off is that you can't edit , you can't customize the sitemap, and blog posts share one code injection field across every post in the blog — there's no way to add different code to just one post.","The one rule that bites people most: Squarespace does not create a redirect for you when you change a page's URL — you have to set it up yourself first.","What Squarespace gives you for free When you build on Squarespace, the platform handles the technical fundamentals without you touching a setting: HTTPS — every Squarespace and connected third party domain gets a free SSL certificate.","Fast delivery — your images and files are served from a CDN.","An XML sitemap — Squarespace generates and links it automatically, so search engines can find your pages.","Canonical tags — every page gets one automatically, which keeps vs.","Basic structured data — Squarespace adds JSON LD markup for blog posts, products, events, your business info, and more."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/squarespace-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/squarespace-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Storyblok SEO","desc":"Storyblok is a visual headless CMS — it stores content but never renders your pages, so SEO lives in the frontend. Rendering, meta fields, preview noindex, sitemaps, images.","snippetText":"Storyblok is a visual headless CMS: it stores block-based content and serves it over REST/GraphQL, but it never renders your pages — your frontend framework does, so SEO outcomes are almost entirely a frontend decision. SSG and SSR are safe; CSR risks empty HTML and delayed indexing. The built-in SEO Fields App and AI SEO App only add fields; the frontend must still render meta tags, canonicals, sitemaps, robots.txt, and JSON-LD itself. The platform-specific trap is preview mode — block draft/preview environments with server-rendered noindex headers, never JavaScript. Use the /m/ image service","href":"/technical-seo/platform-seo/headless-cms/storyblok-seo/","slug":"storyblok-seo","meta":"Educational","aliases":["storyblok-seo","Storyblok SEO","Storyblok search engine optimization","headless CMS SEO Storyblok","headless-cms-seo","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","headless-cms"],"text":"storyblok-seo headless-cms-seo technical-seo platform-seo rendering visual-cms Storyblok is a visual headless CMS: it stores block-based content and serves it over REST/GraphQL, but it never renders your pages — your frontend framework does, so SEO outcomes are almost entirely a frontend decision. SSG and SSR are safe; CSR risks empty HTML and delayed indexing. The built-in SEO Fields App and AI SEO App only add fields; the frontend must still render meta tags, canonicals, sitemaps, robots.txt, and JSON-LD itself. The platform-specific trap is preview mode — block draft/preview environments with server-rendered noindex headers, never JavaScript. Use the /m/ image service for WebP and Core Web Vitals, and lean on Storyblok's structured content for AI search. What Storyblok actually is The one rule that matters most The stuff Storyblok won't do for you The thing that quietly breaks: preview pages The fundamental split: Storyblok stores, the frontend renders Rendering strategy: the most important SEO decision Built in Storyblok SEO features and their limits Canonical tags Preview mode and draft content: the defining Storyblok risk Sitemaps and robots.txt Structured data / JSON LD Images and Core Web Vitals Redirects, i18n, and hreflang GEO / AI search readiness The bottom line AI summary Official documentation Quotes from the source Storyblok SEO checklist The mental models Storyblok SEO — cheat sheet How should a Storyblok route render? Storyblok SEO mistakes Published Storyblok changes are missing on the site Storyblok SEO is the practice of making sites built on Storyblok — a visual, API-first headless CMS — discoverable in search and AI answers. Because Storyblok only stores content and the frontend framework renders it, SEO outcomes are decided almost entirely by how that frontend is built. TL;DR — Storyblok is a \"headless\" CMS — it's the place you write content, not the thing that shows it. A separate website built with Next.js, Nuxt, or Astro pulls your content and builds the actual pages. That means almost all of your SEO depends on how that website is built, not on Storyblok. The big rule: build your pages on a server or at build time, not entirely in the visitor's browser. And the meta tags, sitemap, and robots.txt you'd expect a CMS to handle? You have to set those up yourself. What Storyblok actually is Storyblok is a visual headless CMS . \"Headless","passages":["TL;DR — Storyblok is a \"headless\" CMS — it's the place you write content, not the thing that shows it.","A separate website built with Next.js, Nuxt, or Astro pulls your content and builds the actual pages.","That means almost all of your SEO depends on how that website is built, not on Storyblok.","The big rule: build your pages on a server or at build time, not entirely in the visitor's browser.","And the meta tags, sitemap, and robots.txt you'd expect a CMS to handle?","What Storyblok actually is Storyblok is a visual headless CMS .","\"Headless\" means it splits two jobs that a traditional CMS like WordPress keeps together: where you write content and where it gets shown .","Storyblok handles the writing side — it stores your content as reusable blocks and gives editors a drag and drop visual editor — and then hands that content to a separate website through an API."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/storyblok-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/storyblok-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Strapi SEO","desc":"Strapi is a headless CMS with no frontend, so your SEO is decided by how the frontend renders — plus content modeling, the SEO plugin, sitemaps, drafts, and preview hygiene.","snippetText":"Strapi is an open-source headless CMS with no rendering layer, so it's SEO-neutral — every outcome is decided by the frontend (Next.js, Nuxt, Astro) that consumes its API. Render in HTML at build or request time (SSG/SSR), not in the browser (CSR). Model SEO fields in your content types (use the community SEO plugin), keep drafts and preview/staging deployments out of the index, block the /admin panel and raw /api JSON, and build sitemap.xml and robots.txt at the frontend. Get rendering right and a Strapi site can beat a traditional CMS on Core Web Vitals.","href":"/technical-seo/platform-seo/headless-cms/strapi-seo/","slug":"strapi-seo","meta":"Educational","aliases":["strapi-seo","Strapi SEO","Strapi search engine optimization","headless CMS SEO Strapi","headless-cms-seo","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","headless-cms"],"text":"strapi-seo headless-cms-seo technical-seo platform-seo rendering Strapi is an open-source headless CMS with no rendering layer, so it's SEO-neutral — every outcome is decided by the frontend (Next.js, Nuxt, Astro) that consumes its API. Render in HTML at build or request time (SSG/SSR), not in the browser (CSR). Model SEO fields in your content types (use the community SEO plugin), keep drafts and preview/staging deployments out of the index, block the /admin panel and raw /api JSON, and build sitemap.xml and robots.txt at the frontend. Get rendering right and a Strapi site can beat a traditional CMS on Core Web Vitals. What Strapi actually is The one thing to understand The \"where did my SEO settings go?\" problem A few things that quietly break Strapi is not the SEO decision — the frontend is The four rendering modes the most critical decision Content modeling for SEO in Strapi The Strapi SEO plugin — what it does and doesn't do Drafts, preview, /admin, and /api — keeping the wrong things out of the index Sitemaps and robots.txt — built at the frontend Strapi Cloud vs. self hosted — the SEO implications Migrating to or from Strapi AI summary Official documentation Quotes from the source Two checklists: Strapi SEO health + migration The mental models Strapi SEO — cheat sheet How should a Strapi page render? Incident playbook: published Strapi pages disappear from search Strapi SEO mistakes Content is published in Strapi but the page stays stale SEO fields are filled but tags are absent Draft or preview content is indexable Strapi SEO is the practice of making content stored in Strapi — an open-source headless CMS — discoverable and rankable. Because Strapi has no built-in frontend, every SEO outcome is decided by the frontend framework that renders its API, not by Strapi itself. TL;DR — Strapi is a \"headless\" CMS — it stores your content and hands it out through an API, but it has no website attached. That means Strapi itself doesn't decide your SEO; the frontend that turns Strapi's content into pages does. The big rule is the same as for any headless setup: build your HTML on a server or at build time SSR or SSG , not entirely in the visitor's browser. And all the SEO stuff WordPress + Yoast did for you — titles, sitemaps, robots.txt — you now set up yourself. What Strapi actually is Strapi is an open source, Node.js based headless CMS . \"Headless\" means it","passages":["TL;DR — Strapi is a \"headless\" CMS — it stores your content and hands it out through an API, but it has no website attached.","That means Strapi itself doesn't decide your SEO; the frontend that turns Strapi's content into pages does.","The big rule is the same as for any headless setup: build your HTML on a server or at build time SSR or SSG , not entirely in the visitor's browser.","And all the SEO stuff WordPress + Yoast did for you — titles, sitemaps, robots.txt — you now set up yourself.","What Strapi actually is Strapi is an open source, Node.js based headless CMS .","\"Headless\" means it's just the back half of a website — the place you write and store content — with no front half no theme, no pages, no rendering .","You can run Strapi on your own server or use Strapi Cloud to have them host it.","Because there's no built in website, Strapi pairs with a separate frontend framework — Next.js, Nuxt, Astro, or Gatsby are the common ones — that fetches content from Strapi and builds the actual pages people and Googlebot see."],"updated":"2026-07-21T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/strapi-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/strapi-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Strikingly SEO","desc":"A technical guide to Strikingly SEO — what the platform handles automatically (HTTPS, CDN, auto-sitemap, per-page meta tags, image alt text, GSC integration), what you control manually, and the hard limits no setting changes: no robots.txt editing, no self-service 301 redirects (you must contact support), no canonical control, no per-page noindex, and no native structured data. Plus the core constraint — Strikingly's single-section model, where sections are scroll anchors rather than separate indexable URLs.","snippetText":"Strikingly covers the technical baseline for you — free HTTPS on custom domains, a CDN, an auto-generated sitemap.xml, per-page meta titles and descriptions on every plan, image alt text, and Google Search Console verification. In return it locks down nearly everything a technical SEO would want: you can't edit robots.txt, there's no self-service 301 redirect manager (redirects require contacting support), you can't touch the canonical tag, there's no per-page noindex, and there's no native structured data — custom JSON-LD only works through code injection on the Pro or VIP plan. The deeper co","href":"/technical-seo/platform-seo/website-builders/strikingly-seo/","slug":"strikingly-seo","meta":"Educational","aliases":["strikingly-seo","Strikingly SEO","Strikingly SEO guide","SEO on Strikingly","is Strikingly good for SEO","is Strikingly bad for SEO","platform-seo","canonicalization","structured-data","robots-txt"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"strikingly-seo platform-seo website-builders structured-data canonicalization robots-txt Strikingly covers the technical baseline for you — free HTTPS on custom domains, a CDN, an auto-generated sitemap.xml, per-page meta titles and descriptions on every plan, image alt text, and Google Search Console verification. In return it locks down nearly everything a technical SEO would want: you can't edit robots.txt, there's no self-service 301 redirect manager (redirects require contacting support), you can't touch the canonical tag, there's no per-page noindex, and there's no native structured data — custom JSON-LD only works through code injection on the Pro or VIP plan. The deeper constraint is architectural: Strikingly is built around single-section, single-URL sites where sections are scroll anchors, not separate indexable pages, so a Strikingly site realistically ranks for one primary topic. The blog does support per-post meta tags and slugs, which is more than Carrd offers. Jimdo beats Strikingly on technical controls; Wix and Squarespace are in a different class entirely. The short answer: is Strikingly good for SEO? What Strikingly does for you automatically What you should set up yourself The thing most people get wrong What Strikingly is — and who it's for What Strikingly handles automatically The hard limits the critical weaknesses The single section model is the real constraint Blog SEO on Strikingly Ecommerce SEO with Simple Store What Pro/VIP custom code injection can — and can't — fix Multilingual sites: the Language Switcher, not hreflang Strikingly vs. the alternatives So, is Strikingly good for SEO? AI summary Official documentation Quotes from the source Strikingly SEO quick start checklist Strikingly SEO at a glance Strikingly SEO mistakes A section will not rank as its own page An old URL still returns 404 after a change Custom schema does not appear A page should stay out of search Strikingly SEO is the practice of optimizing a site built on Strikingly — a drag-and-drop builder designed around single-page, single-section sites — for organic search. Strikingly covers the technical baseline automatically: HTTPS, a CDN, an auto-generated XML sitemap, per-page meta titles and descriptions, image alt text, and Google Search Console integration. But it locks down most technical SEO controls: no robots.txt editing, no self-service 301 redirects (yo","passages":["TL;DR — Strikingly does the easy SEO basics for you: a secure site HTTPS , a sitemap, page titles and descriptions you can edit, and alt text for images.","It connects to Google Search Console so you can see how you're doing.","But it holds back a lot of the more advanced controls — you can't edit robots.txt, you can't set up redirects yourself you have to ask Strikingly support , and you can't add schema markup without a paid plan.","The biggest thing to understand is that Strikingly was built for one page sites, where the \"sections\" you scroll through aren't separate pages to Google.","That means a Strikingly site usually ranks for one main topic, not many.","Strikingly was designed for simple, single page sites: a landing page, a personal page, a small startup showcase.","Your site will be secure, have a sitemap Google can read, and let you write your own page titles and descriptions.","If you want a content heavy site targeting lots of different keywords, or you need precise control over how search engines crawl and index your pages, Strikingly will hit a ceiling fairly quickly."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/strikingly-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/strikingly-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Technical SEO Checklist","desc":"A comprehensive technical SEO checklist covering crawlability, indexing, Core Web Vitals, structured data, sitemaps, robots.txt, canonicalization, HTTPS, and mobile SEO — organized by priority and site type.","snippetText":"A technical SEO checklist confirms the technical conditions a site must meet for search engines and AI answer engines to crawl, render, index, and serve its pages — Google's four load-bearing conditions are crawlable, indexable, understandable, renderable. It's the technical-only slice; the broader full-site version lives in the SEO Audit Checklist. Work it in priority order — crawlability, indexing, HTTPS, mobile parity, sitemaps, structured data, Core Web Vitals — and gate whole sections by site type: most small sites can skip crawl-budget engineering entirely, which Google confirms in its o","href":"/technical-seo/tools/technical-seo-checklist/","slug":"technical-seo-checklist","meta":"Educational","aliases":["technical-seo-checklist","technical SEO checklist","technical SEO audit checklist","technical SEO checks","technical checklist for SEO","Technical SEO Checklist","crawling","indexing","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","tools"],"text":"A technical SEO checklist confirms the technical conditions a site must meet for search engines and AI answer engines to crawl, render, index, and serve its pages — Google's four load-bearing conditions are crawlable, indexable, understandable, renderable. It's the technical-only slice; the broader full-site version lives in the SEO Audit Checklist. Work it in priority order — crawlability, indexing, HTTPS, mobile parity, sitemaps, structured data, Core Web Vitals — and gate whole sections by site type: most small sites can skip crawl-budget engineering entirely, which Google confirms in its own docs. Two myths to kill on sight: robots.txt does not deindex a page, and structured data is not a ranking factor. Meeting the checklist is necessary but not sufficient — Google says indexing still isn't guaranteed. What this checklist is and isn't The priority order The two myths to know Not everything applies to you The mental model: four conditions Before you start: which sections even apply to you? 1. Crawlability 2. Indexability 3. HTTPS 4. Mobile SEO 5. Sitemaps and discovery 6. Structured data 7. Core Web Vitals and page experience 8. Advanced additions large / ecommerce / JS heavy only 9. AI / LLM crawler access short, scoped 10. How to prioritize what you find Want the full site version? AI summary Official documentation Quotes from the source Which checklist should I actually run? The technical SEO checklist The mental models Technical SEO — quick reference A technical SEO checklist is a prioritized list of the technical conditions a site must satisfy — crawlable, indexable, understandable, renderable — so search engines and AI answer engines can access and serve its pages. It's the technical-only slice of a full SEO audit. TL;DR — A technical SEO checklist is the list of technical boxes your site has to tick so search engines can find, read, and show your pages. Google's short version: a page has to be crawlable, indexable, understandable, and renderable . Work the list in priority order, and skip the sections that don't apply to your size of site — a 20 page brochure site does not need to worry about the same things a 500,000 product store does. What this checklist is and isn't Technical SEO is the plumbing. Before your content can rank, search engines have to be able to reach your pages, download them, understand them, and file them away. A technical SEO","passages":["TL;DR — A technical SEO checklist is the list of technical boxes your site has to tick so search engines can find, read, and show your pages.","Google's short version: a page has to be crawlable, indexable, understandable, and renderable .","Work the list in priority order, and skip the sections that don't apply to your size of site — a 20 page brochure site does not need to worry about the same things a 500,000 product store does.","What this checklist is and isn't Technical SEO is the plumbing.","Before your content can rank, search engines have to be able to reach your pages, download them, understand them, and file them away.","A technical SEO checklist is just the ordered list of things that make that possible.","It doesn't cover writing good content, targeting the right keywords, or earning links.","If you want the everything at once version, that's a full SEO audit checklist , and it's a separate, broader thing."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/tools/technical-seo-checklist/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/technical-seo-checklist/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Umbraco SEO","desc":"How to make an Umbraco site rank — what the .NET CMS handles out of the box (clean URLs, automatic 301s on rename, HTTPS), what needs a package (meta fields, XML sitemaps, robots.txt, canonical tags, noindex), and what needs custom developer work (hreflang, structured data). The package stack — SeoToolkit, SEO Checker by Soeteman Software, URL Tracker — and why uMarketingSuite (now Umbraco Engage) is not an SEO tool.","snippetText":"Umbraco is a .NET-based open-source CMS, and its defining SEO trait is that it's developer-led by default: unlike WordPress, where a non-developer installs a plugin, almost every meaningful SEO feature in Umbraco needs a .NET developer or a package. Think of it in three tiers. Built-in: clean URLs from node names, automatic 301 redirects when you rename a node's URL, HTTPS enforcement, basic 404 handling. Needs a package: meta fields, XML sitemaps, robots.txt editing, noindex controls, canonical tags — via SeoToolkit (free, open-source, by patrickdemooij9) or SEO Checker (commercial, by Soetem","href":"/technical-seo/platform-seo/cms/umbraco-seo/","slug":"umbraco-seo","meta":"Educational","aliases":["umbraco-seo","Umbraco SEO","Umbraco SEO package","SEO for Umbraco","Umbraco CMS SEO","SeoToolkit Umbraco","canonicalization","duplicate-content"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","cms"],"text":"umbraco-seo technical-seo cms dotnet seotoolkit hreflang Umbraco is a .NET-based open-source CMS, and its defining SEO trait is that it's developer-led by default: unlike WordPress, where a non-developer installs a plugin, almost every meaningful SEO feature in Umbraco needs a .NET developer or a package. Think of it in three tiers. Built-in: clean URLs from node names, automatic 301 redirects when you rename a node's URL, HTTPS enforcement, basic 404 handling. Needs a package: meta fields, XML sitemaps, robots.txt editing, noindex controls, canonical tags — via SeoToolkit (free, open-source, by patrickdemooij9) or SEO Checker (commercial, by Soeteman Software — not Jumoo, who make uSync). Needs custom dev: hreflang for Language Variants, structured data, advanced canonical logic. uMarketingSuite rebranded to Umbraco Engage in November 2024 and is a CRO/personalization platform, not a technical SEO tool. As of mid-2026, Umbraco 17 (released November 2025) is the current LTS; Umbraco 13, the previous LTS, is in its Security phase and reaches end of life in December 2026 — plan an upgrade path before then. The smart play is building self-serve SEO controls into the backoffice before an SEO team ever touches the site. What Umbraco SEO is What you get for free What you have to add The thing most people get wrong What Umbraco is the 30 second version The three tiers of Umbraco SEO The auto 301 on rename — Umbraco's quiet win Metadata — the developer workflow The package stack and one to not confuse Multilingual SEO — Language Variants and hreflang Structured data Performance and Core Web Vitals Version landscape: LTS, STS, and the 13→14 backoffice rewrite The real craft: make the site SEO agency friendly Umbraco vs WordPress, briefly AI summary Official documentation Quotes from the source Umbraco SEO setup checklist Umbraco SEO — cheat sheet Umbraco SEO mistakes Duplicate titles or canonical tags appear A renamed page does not redirect correctly Sitemap includes hidden or noindex content Umbraco SEO is the set of technical, on-page, and structural practices applied to sites built on Umbraco — a .NET-based open-source CMS. Umbraco ships almost no SEO functionality out of the box (no meta fields, no XML sitemap, no robots.txt, no structured data), so nearly every meaningful optimization needs either a package like SeoToolkit or SEO Checker, or custom developer wor","passages":["TL;DR — Umbraco is a CMS built on Microsoft's .NET, popular with bigger and agency built sites.","On WordPress you can install Yoast yourself and manage SEO without a developer.","On Umbraco, almost every SEO feature — even meta titles and descriptions — needs either a developer or a package.","It does give you clean URLs and automatic redirects when you rename a page, which is genuinely handy.","What Umbraco SEO is Umbraco is an open source CMS, like WordPress, but built on Microsoft's .NET framework instead of PHP.","You'll find it behind a lot of enterprise sites, agency builds, and anywhere there's a .NET team.","\"Umbraco SEO\" just means optimizing a site built on Umbraco so search engines can crawl it, understand it, and rank it.","The thing to know before anything else: Umbraco ships with almost no SEO functionality out of the box."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/cms/umbraco-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/umbraco-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Webflow SEO","desc":"An honest, practitioner-to-practitioner guide to SEO on Webflow — why static HTML publishing is a real advantage, the native controls that replace plugins (robots.txt, sitemap, 301s, canonicals, CMS-bound meta), the limitations nobody markets (pagination, hreflang, schema at scale, CMS caps), and how it stacks up against WordPress.","snippetText":"Webflow publishes static HTML at publish time — every page and CMS item is pre-rendered, so crawlers (and AI crawlers, which read static HTML only) get your content without running JavaScript. That's a genuine technical-SEO advantage over CSR single-page apps. Webflow also ships the core controls natively — editable robots.txt, an auto-generated sitemap, a 301 redirect manager, automatic canonical tags, custom head code for schema, and CMS-bound meta tags — so you don't need a Yoast equivalent. The honest limits: pagination is stuck on ?page=N query params with no rel=next/prev, schema can't b","href":"/technical-seo/platform-seo/website-builders/webflow-seo/","slug":"webflow-seo","meta":"Educational","aliases":["webflow-seo","Webflow SEO","Webflow technical SEO","Webflow CMS SEO","is Webflow good for SEO","javascript-seo","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"webflow-seo platform-seo technical-seo cms-seo website-builders Webflow publishes static HTML at publish time — every page and CMS item is pre-rendered, so crawlers (and AI crawlers, which read static HTML only) get your content without running JavaScript. That's a genuine technical-SEO advantage over CSR single-page apps. Webflow also ships the core controls natively — editable robots.txt, an auto-generated sitemap, a 301 redirect manager, automatic canonical tags, custom head code for schema, and CMS-bound meta tags — so you don't need a Yoast equivalent. The honest limits: pagination is stuck on ?page=N query params with no rel=next/prev, schema can't bind to Reference fields, hreflang from Localization has quality issues, there's no server log access, and lower plans cap CMS items. Webflow beats WordPress on defaults and zero maintenance; WordPress beats it on plugins and content at scale. Why people ask \"is Webflow good for SEO?\" What Webflow gives you for free The thing people get wrong The architecture: static HTML, not client side rendering The native controls no plugins required Webflow CMS for SEO Core Web Vitals and speed The honest limitations Webflow vs. WordPress for SEO AI summary Official documentation Quotes from the source Webflow SEO launch checklist The collection → template → publish framework Webflow SEO — where everything lives Webflow SEO mistakes to avoid Common Webflow SEO issues A CMS item publishes with blank or repeated metadata The Webflow staging domain appears in search A redirect works but adds another hop Tools for Webflow SEO Validation tests Test a CMS template metadata change Test a redirect update Webflow SEO is the set of technical controls, on-page settings, and CMS features built into the Webflow visual platform that affect how Webflow-built sites are crawled, indexed, and ranked. Its core advantage is that Webflow publishes static HTML at publish time, so crawlers get fully-rendered content without running JavaScript. TL;DR — Webflow is genuinely good for SEO out of the box. When you hit publish, it turns your pages into plain HTML files, so Google sees your content without doing any extra work. It also has the SEO basics built in — editable , an automatic sitemap, a redirect tool, and per page titles and descriptions — so you don't need to install plugins. Webflow doesn't do your SEO for you, though: keywords, conte","passages":["When you hit publish, it turns your pages into plain HTML files, so Google sees your content without doing any extra work.","It also has the SEO basics built in — editable , an automatic sitemap, a redirect tool, and per page titles and descriptions — so you don't need to install plugins.","Webflow doesn't do your SEO for you, though: keywords, content, and internal links are still your job.","Why people ask \"is Webflow good for SEO?\" Webflow is a visual website builder — you design pages by dragging things around instead of writing code.","The natural worry is that a tool like that produces messy, JavaScript heavy pages that search engines struggle with.","Here's the key thing: when you publish a Webflow site, it generates a static HTML file for every page.","\"Static HTML\" just means the actual words, headings, and links are sitting right there in the page's code the moment Google asks for it — no extra steps required.","That's the format search engines prefer, and it's the only format most AI crawlers the bots behind ChatGPT, Perplexity, and friends can read at all."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/webflow-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/webflow-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Webnode SEO","desc":"A technical guide to Webnode SEO — what the builder handles automatically (HTTPS on every plan, a CDN, an auto-updating XML sitemap, responsive templates), what you configure manually (titles, meta descriptions, slugs, alt text, Open Graph), and the hard limits no setting changes: no robots.txt editing, a 301 'alternative URL' feature (not a bulk redirect manager) for pages, blog posts, and products, and schema markup that requires manual code injection on a Standard/Profi/Business plan. Plus Webnode's standout differentiator — multilingual SEO with a subdirectory URL structure at a low price — and the ecommerce exclusion that's confirmed for the legacy editor but unverified for the newer one.","snippetText":"Webnode covers the technical baseline for simple sites — HTTPS on every plan including free, a CDN, an XML sitemap that updates as you add content, and responsive templates. You configure the levers that matter by hand: per-page titles (it falls back to your H1 if you skip them), meta descriptions, URL slugs, alt text, and Open Graph tags. Its real differentiator is multilingual SEO — a subdirectory structure (/es/, /fr/) at a far lower price than Wix — though the documented ecommerce exclusion is confirmed only for the legacy editor, not the newer one. The hard limits are where it bites: no r","href":"/technical-seo/platform-seo/website-builders/webnode-seo/","slug":"webnode-seo","meta":"Educational","aliases":["webnode-seo","Webnode SEO","Webnode SEO guide","SEO on Webnode","is Webnode good for SEO","is Webnode bad for SEO","platform-seo","hreflang","canonicalization","structured-data"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"webnode-seo platform-seo website-builders hreflang canonicalization structured-data Webnode covers the technical baseline for simple sites — HTTPS on every plan including free, a CDN, an XML sitemap that updates as you add content, and responsive templates. You configure the levers that matter by hand: per-page titles (it falls back to your H1 if you skip them), meta descriptions, URL slugs, alt text, and Open Graph tags. Its real differentiator is multilingual SEO — a subdirectory structure (/es/, /fr/) at a far lower price than Wix — though the documented ecommerce exclusion is confirmed only for the legacy editor, not the newer one. The hard limits are where it bites: no robots.txt editing on any plan, a 301 'alternative URL' feature per page/post/product rather than a bulk redirect manager, and schema markup that requires manual code injection on a Standard/Profi/Business plan (with a project-date condition for per-page header code). The free plan's yoursite.webnode.com subdomain is the biggest SEO trap: that authority doesn't transfer when you move to a custom domain. Good for small, simple, multilingual-on-a-budget sites; weak for ecommerce SEO at scale or anything needing real technical control. The short answer: is Webnode good for SEO? What Webnode does for you automatically What you should set up yourself The thing most people get wrong What Webnode is What Webnode handles automatically What you configure manually The hard limits — what no setting changes Multilingual SEO — the actual differentiator Ecommerce SEO How Webnode compares, briefly Is Webnode right for your SEO needs? AI summary Official documentation Quotes from the source Webnode SEO quick start checklist The native control / hard limit framework Webnode SEO at a glance Common Webnode SEO issues A language page has the wrong title or search snippet A page remains discoverable after navigation removal A required server level control is unavailable Tools for Webnode SEO Validation tests Webnode SEO is the practice of optimizing a website built on Webnode — a Czech-founded, drag-and-drop website builder (45M+ sites, acquired by team.blue in 2020) — for organic search. Webnode auto-handles HTTPS on every plan, a CDN, a dynamically updated XML sitemap, and responsive templates, while leaving titles, meta descriptions, slugs, alt text, and Open Graph tags to you. It also offers a real 301 'a","passages":["TL;DR — Webnode does the basic SEO plumbing for you — HTTPS on every plan and a sitemap that updates itself.","You still have to write your own page titles, descriptions, and image alt text — and those are the things that actually matter.","Its best trick is multilingual sites a clean or structure for cheap; that's documented as unavailable for online stores on Webnode's original editor, but unverified on the newer one.","The big catch: a free Webnode site lives at , and that's a weak foundation for serious SEO.","It handles the technical basics so you don't have to think about them: every site gets HTTPS the padlock in the address bar , the templates work on phones, and Webnode builds and updates your sitemap — the list of pages you hand to search engines — automatically.","Webnode gives you a box for each page's title and description , but it won't fill them in well for you.","Those, plus alt text on your images, are the levers that move the needle, and they're on you.","What Webnode does for you automatically HTTPS — included on every plan, even the free one."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/webnode-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/webnode-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"WebSite Schema","desc":"How to implement WebSite schema markup for Sitelinks Searchbox (now deprecated by Google) and site-level entity definition, what schema.org/WebSite covers, and what it still does after the Searchbox removal.","snippetText":"WebSite schema (schema.org/WebSite) is structured data — usually JSON-LD on your homepage — that identifies your domain as a website entity via its name and URL. For over a decade a SearchAction on that type powered Google's Sitelinks Search Box, but Google discontinued that visual element on November 21, 2024, citing dropped usage. The single biggest myth to correct: the Sitelinks Search Box going away does NOT mean WebSite schema is dead. Google explicitly kept a variation of WebSite structured data alive for its Site Names feature (the bolded site name shown instead of a URL on homepage res","href":"/technical-seo/on-page/structured-data/metadata-trust/website-schema/","slug":"website-schema","meta":"Educational","aliases":["website-schema","WebSite schema","schema.org/WebSite","sitelinks search box","sitelinks searchbox schema","SearchAction markup","Site Names","WebSite structured data","WebSite Schema","schema-markup","structured-data","organization-schema","rich-results"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data","metadata-trust"],"text":"website-schema structured-data schema-org json-ld site-names sitelinks-search-box WebSite schema (schema.org/WebSite) is structured data — usually JSON-LD on your homepage — that identifies your domain as a website entity via its name and URL. For over a decade a SearchAction on that type powered Google's Sitelinks Search Box, but Google discontinued that visual element on November 21, 2024, citing dropped usage. The single biggest myth to correct: the Sitelinks Search Box going away does NOT mean WebSite schema is dead. Google explicitly kept a variation of WebSite structured data alive for its Site Names feature (the bolded site name shown instead of a URL on homepage results, mainly on mobile), which needs name and url, recommends alternateName, and goes on the homepage only. Old SearchAction markup doesn't need to be removed — it's just inert now, and Google says unsupported structured data won't cause Search Console errors. None of this touches rankings or ordinary sitelinks. What WebSite schema is The feature that went away What WebSite schema still does What WebSite schema is and isn't A brief history: the Sitelinks Search Box The Sitelinks Search Box deprecation the news hook Do you need to remove your old markup? No. What WebSite schema still does today: Site Names Required and recommended properties Placement: homepage / domain root only How Google picks a site name without markup Feature boundaries: what's connected to what WebSite vs. Organization schema Other WebSite / CreativeWork properties Bing and other engines Where this sits in the bigger picture AI summary Official documentation Quotes from the source Should I add — or keep — WebSite / SearchAction markup? WebSite schema cheat sheet WebSite JSON LD — current vs. historical Current: Site Names markup what to use today WebSite + Organization together the common homepage pattern WebSite schema (schema.org/WebSite) is structured data — usually JSON-LD on the homepage — that identifies your domain as a website entity via its name and URL. Today it mainly feeds Google's Site Names feature; the Sitelinks Search Box it used to enable was discontinued by Google in November 2024. TL;DR — WebSite schema is a small block of code you add to your homepage that tells search engines \"this domain is a website, and here's its name and address.\" It used to power a search box that showed under some brands in","passages":["TL;DR — WebSite schema is a small block of code you add to your homepage that tells search engines \"this domain is a website, and here's its name and address.\" It used to power a search box that showed under some brands in Google's results — but Google turned that feature off in November 2024.","The schema itself isn't dead, though: the name and URL part remains an input for Google's site name feature.","You don't need to delete the old search box code, but it no longer creates a Sitelinks Search Box in Google.","What WebSite schema is When you land on a homepage, you can tell it's \"a website\" with a name — say, Ahrefs — without thinking about it.","WebSite schema spells it out in code, using the shared schema.org https://schema.org/WebSite vocabulary: it tags your site's , an optional short like an acronym , and your homepage .","It's almost always written as JSON LD — a small script that sits in the page without changing how the page looks — and it belongs on your homepage only .","The feature that went away For about ten years, WebSite schema could carry an extra piece called a SearchAction .","That's what powered Google's Sitelinks Search Box — a little search field that sometimes appeared directly under a brand's result, letting people search within that site straight from Google."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/website-schema/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/metadata-trust/website-schema/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Weebly SEO","desc":"A current, honest guide to Weebly SEO — what the platform handles automatically (HTTPS, an auto-generated sitemap, responsive themes), what you have to configure by hand (titles, slugs, alt text, 301s, canonical tags, schema), and the hard limits no setting overrides: no robots.txt editing, a documented-manual redirect workflow, an H2-by-default Title element, a mandatory /store/ prefix, and a site name appended to every title. Plus the story competitors miss — Weebly is winding down in 67 countries by late 2026, and Square's successor product was just renamed from Square Online to Square Websites.","snippetText":"Weebly handles the technical baseline — free HTTPS, an auto-generated sitemap.xml, mobile-responsive themes — but pushes almost all on-page SEO onto you: titles, descriptions, slugs, alt text, redirects, canonical tags, structured data, and Open Graph tags are all manual or documented as manual (confirm redirect behavior with your own test). And a handful of things are hard limits no setting changes: you can't edit robots.txt (only a per-page GUI toggle), the default Title element outputs an H2 not an H1, ecommerce URLs carry a mandatory /store/ prefix, and your site name is appended to every ","href":"/technical-seo/platform-seo/website-builders/weebly-seo/","slug":"weebly-seo","meta":"Educational","aliases":["weebly-seo","Weebly SEO","Weebly SEO guide","SEO on Weebly","is Weebly good for SEO","is Weebly bad for SEO","platform-seo","canonicalization","structured-data","redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"weebly-seo platform-seo website-builders structured-data canonicalization redirects Weebly handles the technical baseline — free HTTPS, an auto-generated sitemap.xml, mobile-responsive themes — but pushes almost all on-page SEO onto you: titles, descriptions, slugs, alt text, redirects, canonical tags, structured data, and Open Graph tags are all manual or documented as manual (confirm redirect behavior with your own test). And a handful of things are hard limits no setting changes: you can't edit robots.txt (only a per-page GUI toggle), the default Title element outputs an H2 not an H1, ecommerce URLs carry a mandatory /store/ prefix, and your site name is appended to every page title. The biggest thing most guides get wrong in 2026: Weebly is NOT closed to new signups — I verified the signup flow is live — but Weebly's own support page (published June 2026) confirms it's winding down entirely in 67 named countries by December 2026, and Square just renamed its successor product from Square Online to Square Websites. If you're outside that list (the US, UK, Canada, Australia, and most of Western Europe aren't on it), Weebly keeps running in maintenance mode with no shutdown date announced. Platform choice still matters less than content — a 2019 ToolTester experiment ranked Weebly second of five builders — but I'd think hard before starting a new SEO project here. The short answer: is Weebly good for SEO? What Weebly does for you automatically What you have to do yourself The thing most people get wrong The thing every other Weebly guide gets wrong in 2026: it's not \"shut down,\" it's regionally winding down Is Weebly actually bad for SEO? What the data says What Weebly handles automatically What you have to configure manually How to inject code on Weebly The hard limits no setting overrides Page speed and Core Web Vitals Weebly vs. Square Websites for SEO Should you stay, test, or migrate away from Weebly? AI summary Official documentation Quotes from the source Weebly SEO checklist The preserve → verify → constrain framework Playbook: Weebly traffic drops after a site change Weebly SEO — cheat sheet Weebly SEO mistakes to avoid Common Weebly SEO issues Published metadata does not match the editor Old URLs break after page name changes Weebly SEO is the practice of optimizing a website built on Weebly's drag-and-drop builder for organic search. Weebly handle","passages":["TL;DR — Weebly does some SEO for you automatically — it gives you HTTPS, a sitemap, and a mobile friendly design.","But you have to do most of the on page work yourself: titles, descriptions, image alt text, and redirects.","A few things you simply can't change, like editing the file.","And the big one for 2026: Weebly is still accepting new signups I checked , but its own support page confirms it's shutting down entirely in 67 countries by the end of the year, and Square just renamed its other builder from Square Online to Square Websites .","If you're not in one of those 67 countries, Weebly keeps running — no shutdown date has been announced for it.","You can still rank a Weebly site, but read the maintenance mode section in Advanced before you invest heavily here.","Weebly covers the technical basics — your site loads over HTTPS, it builds a sitemap for you, and the design works on phones.","Those are the things a brand new site needs to be findable, and Weebly handles them without you touching a setting."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/weebly-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/weebly-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Wix SEO","desc":"Is Wix bad for SEO? Not anymore. A current, data-backed guide to Wix SEO — what the platform handles automatically (canonical tags, XML sitemap, SSR, HTTPS, 301s), what you configure manually, the hard limits no setting can change (image filenames, multilingual slugs, no raw logs), and when to reach for Velo. Includes Google's John Mueller calling Wix 'fine for SEO' and the 2024 Web Almanac's perfect Lighthouse SEO score of 100.","snippetText":"Wix used to be bad for SEO — in its Flash and hash-bang URL era, before 2016. That reputation outlived the problem. Today Wix auto-generates canonical tags, an XML sitemap, robots meta tags, and JSON-LD structured data, serves HTTPS on a CDN with server-side rendering, and creates 301s on most URL changes (Blog posts are the one exception — those need a manual redirect). Google's John Mueller calls it 'fine for SEO,' and the 2024 Web Almanac gave Wix a perfect Lighthouse SEO score of 100 on desktop and mobile. Real limits remain — auto-generated image filenames, multilingual slugs that mirror ","href":"/technical-seo/platform-seo/website-builders/wix-seo/","slug":"wix-seo","meta":"Educational","aliases":["wix-seo","Wix SEO","Wix SEO guide","SEO on Wix","is Wix bad for SEO","is Wix good for SEO","platform-seo","canonicalization","structured-data","hreflang"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","website-builders"],"text":"wix-seo platform-seo website-builders structured-data canonicalization hreflang Wix used to be bad for SEO — in its Flash and hash-bang URL era, before 2016. That reputation outlived the problem. Today Wix auto-generates canonical tags, an XML sitemap, robots meta tags, and JSON-LD structured data, serves HTTPS on a CDN with server-side rendering, and creates 301s on most URL changes (Blog posts are the one exception — those need a manual redirect). Google's John Mueller calls it 'fine for SEO,' and the 2024 Web Almanac gave Wix a perfect Lighthouse SEO score of 100 on desktop and mobile. Real limits remain — auto-generated image filenames, multilingual slugs that mirror across languages, and no raw server logs — and Velo (Wix's JS layer) is there when you need programmatic control, though its SEO setters overwrite rather than merge with existing tags. I competed in Wix's $50,000 SEO Hero contest on a Wix site back in 2016–2017, so I've poked at this platform from the inside. The short answer: is Wix good for SEO? What Wix does for you automatically What you should set up yourself The thing most people get wrong I competed in Wix's $50,000 SEO Hero contest Where the \"bad for SEO\" myth comes from What Google actually says The 2024 data: a perfect Lighthouse SEO score What Wix handles automatically zero config What you configure manually The hard limits you can't change Velo: programmatic SEO when you need it Wix vs. WordPress, briefly AI summary Official documentation Quotes from the source Wix SEO quick start checklist The default → pattern → exception framework Wix SEO at a glance Wix SEO mistakes to avoid Tools for Wix SEO Validation tests Test an SEO Pattern change Test a dynamic URL change Wix SEO is the practice of optimizing a website built on Wix's drag-and-drop platform for organic search. Wix was genuinely poor for SEO in its Flash and hash-bang URL era (pre-2016), and that reputation lingers — but the current platform auto-generates canonical tags, an XML sitemap, robots meta tags, and structured data, serves pages with server-side rendering, and earned a perfect Lighthouse SEO score of 100 in the 2024 Web Almanac. Real limits remain: image filenames can't be customized, multilingual slugs mirror across languages, and there's no raw server log access. TL;DR — Wix used to be bad for SEO. That was back when it ran on Flash and used weird URLs — befor","passages":["That was back when it ran on Flash and used weird URLs — before 2016.","The platform fixed that years ago, and now it does a lot of SEO for you automatically: canonical tags, a sitemap, HTTPS, and redirects when you change a URL.","Google's own John Mueller has said Wix is \"fine for SEO.\" You can absolutely rank a Wix site.","A few quirks remain — you can't rename image files, for instance — but the \"Wix is bad for SEO\" line is outdated.","The idea that \"Wix is bad for SEO\" comes from a real problem that no longer exists.","Years ago, Wix sites were hard for Google to crawl, and their URLs looked strange.","Wix overhauled all of that in 2016 and has kept investing since.","Google's John Mueller said publicly that Wix is \"fine for SEO.\" So if you're a small business owner deciding whether to build on Wix, the platform won't hold your SEO back."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/wix-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/wix-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"WordPress SEO","desc":"A technical SEO practitioner's guide to WordPress — the default settings that hurt you, how the core sitemap and canonical handling actually work, why you run exactly one SEO plugin, and the duplicate-content sources WordPress creates on its own.","snippetText":"WordPress is SEO-capable, not SEO-finished. It self-canonicalizes posts since version 2.9 and ships a native XML sitemap since 5.5 — but its defaults also leave ?p=123 permalinks, attachment pages, date/tag/author archives, feeds, and internal search results all indexable, and a single Settings → Reading checkbox can silently block the whole site. The fixes that actually matter: set /%postname%/ before publishing, run exactly one SEO plugin (Yoast, Rank Math, or AIOSEO — never two, the wp_head conflict produces duplicate metadata), noindex thin archives instead of disallowing them, and keep th","href":"/technical-seo/platform-seo/cms/wordpress-seo/","slug":"wordpress-seo","meta":"Educational","aliases":["wordpress-seo","WordPress SEO","WordPress SEO plugin","WordPress sitemap","WordPress duplicate content","how to do SEO on WordPress","cms","platform-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","cms"],"text":"wordpress-seo cms platform-seo technical-seo yoast rank-math woocommerce WordPress is SEO-capable, not SEO-finished. It self-canonicalizes posts since version 2.9 and ships a native XML sitemap since 5.5 — but its defaults also leave ?p=123 permalinks, attachment pages, date/tag/author archives, feeds, and internal search results all indexable, and a single Settings → Reading checkbox can silently block the whole site. The fixes that actually matter: set /%postname%/ before publishing, run exactly one SEO plugin (Yoast, Rank Math, or AIOSEO — never two, the wp_head conflict produces duplicate metadata), noindex thin archives instead of disallowing them, and keep the sitemap to canonical indexable URLs only. WordPress 6.4+ disables attachment pages on new installs by default — redirecting straight to the file, not the parent post — but existing sites keep them on and must migrate manually. Google has never said WordPress ranks better or worse than any other CMS — content and links decide that, not the platform. What WordPress SEO actually means Fix these first Do you need an SEO plugin? The thing most people get wrong WordPress is SEO capable, not SEO finished The defaults that hurt — and why Duplicate content WordPress creates on its own The XML sitemap: core vs. plugin Canonical handling: core, plugin, and the conflict trap One SEO plugin. Never two. Schema: what WordPress does and doesn't output WooCommerce, briefly robots.txt and Core Web Vitals — two quick notes AI summary Official documentation Quotes from the source WordPress SEO setup checklist The core → theme → plugin → content framework WordPress SEO cheat sheet Sample WordPress template output WordPress SEO mistakes to avoid Common WordPress SEO issues Pages contain duplicate canonicals or schema Search visibility disappears after launch WordPress SEO is the process of configuring, optimizing, and maintaining a WordPress site so search engines can efficiently crawl, index, and rank it. WordPress gives you a solid foundation, but its defaults — ?p=123 permalinks, attachment pages, thin archives — need cleanup before a site is actually well-optimized. TL;DR — WordPress gives you a good foundation for SEO, but it doesn't finish the job for you. Out of the box it uses ugly URLs, creates a bunch of thin pages you didn't ask for, and even has a checkbox that can hide your whole site from Google. Fix the","passages":["TL;DR — WordPress gives you a good foundation for SEO, but it doesn't finish the job for you.","Out of the box it uses ugly URLs, creates a bunch of thin pages you didn't ask for, and even has a checkbox that can hide your whole site from Google.","Fix the permalinks, install one SEO plugin not two , and clean up the thin pages — that's most of the battle.","What WordPress SEO actually means WordPress SEO is just doing SEO on a site that happens to run on WordPress.","The goal is the same as anywhere else: help search engines crawl, index, and rank your pages, and help people find them.","What's different is that WordPress has its own default settings and quirks — and a few of them quietly work against you until you change them.","WordPress runs something like 43% of the entire web, so these quirks are worth knowing.","Fix these first A handful of defaults cause most WordPress SEO problems: The \"Discourage search engines\" checkbox."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-27","markdown":"https://patrickstox.com/technical-seo/platform-seo/cms/wordpress-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/wordpress-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Agentic Commerce Protocol (ACP)","desc":"ACP is OpenAI and Stripe's open standard that lets AI shopping agents buy from your product feed — here's what it is and what ecommerce SEOs must do.","snippetText":"ACP is an open standard/protocol (Apache 2.0, current stable spec 2026-04-17) that lets AI shopping agents discover products, build carts, and complete purchases by reading a merchant's product feed and APIs instead of crawling the website. OpenAI is the first AI platform to implement it and Stripe the first compatible payment provider — not the only ones the spec allows. It has five protocol-level building blocks — Cart and Feed, Agentic Checkout, Delegate Payment (Stripe's implementation is Shared Payment Tokens), Delegate Authentication (OAuth 2.0), and Orders/Webhooks — and the merchant st","href":"/ecommerce-seo/ai-commerce/agentic-commerce-protocol/","slug":"agentic-commerce-protocol","meta":"Educational","aliases":["agentic-commerce-protocol","Agentic Commerce Protocol","ACP","AI shopping agents","agentic commerce","Agentic Commerce Protocol (ACP)","answer-engine-optimization","schema-markup-for-ai"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","ai-commerce"],"text":"ACP is an open standard/protocol (Apache 2.0, current stable spec 2026-04-17) that lets AI shopping agents discover products, build carts, and complete purchases by reading a merchant's product feed and APIs instead of crawling the website. OpenAI is the first AI platform to implement it and Stripe the first compatible payment provider — not the only ones the spec allows. It has five protocol-level building blocks — Cart and Feed, Agentic Checkout, Delegate Payment (Stripe's implementation is Shared Payment Tokens), Delegate Authentication (OAuth 2.0), and Orders/Webhooks — and the merchant stays merchant-of-record. Implementing ACP doesn't automatically get you listed in ChatGPT; that requires separate OpenAI merchant approval. ChatGPT's Instant Checkout was its first implementation; industry reporting (not yet an official OpenAI changelog) says OpenAI pivoted it in March 2026 from full in-chat purchase to discovery-plus-redirect, but the feed/discovery layer stays live either way. The SEO consequence: agents bypass your crawled pages, so feed quality, accurate real-time inventory and pricing, complete identifiers (GTIN/MPN/brand), and checkout reliability are the new optimization unit — though reliability as a formal ranking factor is practitioner-reported, not documented policy. ACP currently serves ChatGPT; Google/Shopify's UCP serves Google AI Mode and Gemini — plan to support both. What ACP is, in plain terms How a purchase actually happens The one big idea for store owners What ACP actually is The five building blocks The end to end flow The March 2026 pivot — read this carefully ACP and SEO: what's structurally different The protocol landscape: ACP, UCP, AP2, MCP The economics, briefly What to do now AI summary Official documentation Quotes from the source ACP readiness checklist for merchants The mental models ACP mistakes that derail implementation Treating Instant Checkout and ACP as the same thing Optimizing only the product page Enabling checkout before feed accuracy is stable Assuming ACP replaces UCP Measuring success only through GA4 sessions ACP implementation cheat sheet Data and reliability rules The Agentic Commerce Protocol (ACP) is an open standard/protocol whose first implementing AI platform is OpenAI and first compatible payment provider is Stripe, defining how AI shopping agents discover products, manage carts, and complete purchase","passages":["TL;DR — The Agentic Commerce Protocol ACP is an open standard from OpenAI and Stripe that lets supported AI commerce experiences shop for a person.","One integration path uses a product feed you publish — a machine readable list of your products, prices, and stock — and can build a cart and check out through it.","If your feed is accurate and complete, your products may be eligible to show; wrong or stale data can disrupt discovery or checkout.","What ACP is, in plain terms For years, getting found online meant getting a person to your website.","ACP changes the customer on the other end: it's a set of rules for how an AI shopping agent talks to a store's systems to find products and buy them on a shopper's behalf — without that shopper ever opening your site.","It's free and open source anyone can read the spec on GitHub , and its first real world use was ChatGPT's \"Instant Checkout\" feature.","You type something like \"find me a waterproof hiking jacket under $150\" into ChatGPT.","The agent looks at product feeds from merchants that have implemented ACP and been approved to appear in that platform — enabling ACP technically and getting listed are two separate steps."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/ecommerce-seo/ai-commerce/agentic-commerce-protocol/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/agentic-commerce-protocol/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Angular SEO","desc":"How to make Angular apps crawlable and indexable — @angular/ssr vs prerendering vs hybrid rendering, hydration, the Title/Meta services, History API routing, and testing what Googlebot actually renders.","snippetText":"Angular SEO is really one decision: serve real HTML instead of a client-rendered shell. Modern Angular (v17+) builds SSR into the CLI as @angular/ssr — prerender static routes, server-render dynamic ones, hydrate so the HTML isn't thrown away. Then do the basics: unique titles/descriptions via Angular's Title and Meta services, HTML5 History routing (never hash URLs), real <a href> links, and verify with URL Inspection. Dynamic rendering is a workaround, not a strategy — and AngularJS is a different framework.","href":"/technical-seo/platform-seo/js-frameworks/angular-seo/","slug":"angular-seo","meta":"Educational","aliases":["angular-seo","Angular SEO","SEO for Angular","Angular Universal SEO","Angular SSR SEO","javascript-seo","headless-cms-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"angular-seo javascript-seo rendering ssr technical-seo angular Angular SEO is really one decision: serve real HTML instead of a client-rendered shell. Modern Angular (v17+) builds SSR into the CLI as @angular/ssr — prerender static routes, server-render dynamic ones, hydrate so the HTML isn't thrown away. Then do the basics: unique titles/descriptions via Angular's Title and Meta services, HTML5 History routing (never hash URLs), real <a href> links, and verify with URL Inspection. Dynamic rendering is a workaround, not a strategy — and AngularJS is a different framework. The problem in one sentence The fix: send finished HTML The other basics The thing most people get wrong The default is the problem: client side rendering How Googlebot actually handles an Angular app @angular/ssr — what it is and the naming history Prerendering static generation / SSG Hybrid rendering — choose a mode per route Hydration — and the pitfall that wrecks CLS Titles and meta tags — Angular's built in services URL structure Structured data JSON LD Dynamic rendering — a legacy workaround, not a plan Common Angular SEO mistakes Testing Angular for SEO AI summary Official documentation Quotes from the source Angular SEO checklist The mental models Angular SEO — cheat sheet Check whether an Angular app is actually server rendered Confirm you aren't blocking Angular's JS/CSS in robots.txt Angular SEO is the practice of making Angular single-page apps crawlable, renderable, and indexable — chiefly by serving real HTML through server-side rendering (@angular/ssr) or prerendering instead of relying on client-side rendering, plus managing titles, meta tags, and clean URLs. TL;DR — Angular builds the page in the browser with JavaScript by default, so the raw HTML a search engine first sees is nearly empty. The fix is to send real, finished HTML instead — using Angular's built in server side rendering or prerendering. Then handle the basics: a unique title and description on every page, clean URLs no , and real links. The problem in one sentence A default Angular app sends the browser a tiny HTML shell — basically one empty — plus a big bundle of JavaScript. Your browser runs that JavaScript and then the page fills in with content. That's called client side rendering CSR . The trouble: when a search engine first downloads that URL, it sees the empty shell. Google can run the JavaScript to s","passages":["TL;DR — Angular builds the page in the browser with JavaScript by default, so the raw HTML a search engine first sees is nearly empty.","The fix is to send real, finished HTML instead — using Angular's built in server side rendering or prerendering.","Then handle the basics: a unique title and description on every page, clean URLs no , and real links.","The problem in one sentence A default Angular app sends the browser a tiny HTML shell — basically one empty — plus a big bundle of JavaScript.","Your browser runs that JavaScript and then the page fills in with content.","The trouble: when a search engine first downloads that URL, it sees the empty shell.","Google can run the JavaScript to see the real content, but it does that later, in a separate step, and not always reliably.","Other crawlers — Bing, and the bots behind social previews — often can't run the JavaScript at all."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/angular-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/angular-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Astro SEO","desc":"Astro is one of the strongest frameworks for SEO — pages prerender to static HTML by default and ship JS only where you ask for it, with strong Core Web Vitals. But defaults aren't guarantees, and it doesn't write your meta tags, sitemap, or canonicals for you. Here's how I run my own Astro site, and how to get the architecture right.","snippetText":"Astro is one of the strongest framework choices for SEO because it prerenders to static HTML by default — your content is in the raw HTML on first crawl, with no rendering queue to wait on for that route. Islands hydrate only the components you mark with a client directive, so most of the page ships without its own hydration JS (Astro can still add page scripts and router JS elsewhere) — none of this guarantees crawlability, indexing, or rankings on its own, so verify the deployed routes. Astro sites also post strong Core Web Vitals numbers. The catch: Astro generates clean HTML but doesn't wr","href":"/technical-seo/platform-seo/js-frameworks/astro-seo/","slug":"astro-seo","meta":"Educational","aliases":["astro-seo","Astro SEO","SEO for Astro","Astro.js SEO","Astro static site SEO","javascript-seo","headless-cms-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"astro-seo javascript-seo ssg technical-seo core-web-vitals islands-architecture Astro is one of the strongest framework choices for SEO because it prerenders to static HTML by default — your content is in the raw HTML on first crawl, with no rendering queue to wait on for that route. Islands hydrate only the components you mark with a client directive, so most of the page ships without its own hydration JS (Astro can still add page scripts and router JS elsewhere) — none of this guarantees crawlability, indexing, or rankings on its own, so verify the deployed routes. Astro sites also post strong Core Web Vitals numbers. The catch: Astro generates clean HTML but doesn't write your meta tags, canonicals, sitemap, or structured data — those are deliberate build steps, and sitemap discovery targets statically generated routes, so runtime-only URLs need explicit handling. Server Islands (which require an adapter) and View Transitions are SEO-safe when you understand what crawlers actually fetch. I run patrickstox.com on Astro, so this is the stack I actually live in. What \"Astro SEO\" means Why Astro is good for SEO What Astro does NOT do for you The simple starter checklist Why Astro sidesteps the JavaScript rendering problem entirely Islands architecture: JS only where you ask for it What Astro does NOT do automatically The sitemap: @astrojs/sitemap Meta tags and canonicals: the BaseLayout pattern Content Collections as an SEO safety net astro:assets: images done right with one trap Server Islands: what crawlers actually see Output modes: static vs server, and the per route override View Transitions: SEO safe, despite the SPA feel Common Astro SEO mistakes Where this fits in the cluster Astro SEO anti patterns Treating Astro as \"SEO optimized\" out of the box Forgetting in Leaving the sitemap out of Leaving the default on the hero image Putting indexable content inside a Server Island Assuming a fast Lighthouse score is the finish line Assuming \"static by default\" is true for every route Astro SEO is the practice of optimizing sites built with the Astro web framework for search. Astro prerenders to static HTML by default, so content is in the raw HTML on first crawl for that route — no rendering queue — which makes it a strong starting point for SEO, though the default can be overridden per route and doesn't guarantee crawlability or rankings on its own. TL;DR — ","passages":["By default it builds your pages into plain HTML files ahead of time, so when Google or any bot shows up, your content is already there — no waiting for JavaScript to run.","The one thing to know: Astro gives you clean HTML, but it does not automatically add your page titles, sitemap, or canonical tags.","What \"Astro SEO\" means Astro https://astro.build/ is a web framework for building websites.","Its big idea is \"less JavaScript.\" Where frameworks like React or Next.js often build the page in your browser using JavaScript, Astro builds your pages into plain HTML files at build time and ships almost no JavaScript unless a part of the page actually needs it.","That single difference is why Astro is so friendly to search engines.","When a search engine crawls a page, it wants to read your content.","With a JavaScript heavy site, the content sometimes isn't in the page yet — the bot has to run the JavaScript first, and that can be delayed.","With Astro, the content is already in the HTML the moment the page loads."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/astro-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/astro-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Breadcrumbs","desc":"What breadcrumbs are, why they matter for SEO, how to implement BreadcrumbList structured data, and what changed when Google removed them from mobile SERPs in 2025.","snippetText":"Breadcrumbs are a navigation trail (Home > Category > Page) that does two SEO jobs at once: the visible HTML links pass PageRank — Gary Illyes confirmed Google treats them as normal links — and BreadcrumbList JSON-LD can drive the readable path in Google's desktop search snippet. The structured data is not a substitute for real internal links (Mueller said so directly); you want both layers. In January 2025 Google dropped breadcrumbs from mobile SERPs, but desktop display, schema processing, crawling, and PageRank are all unchanged. Test with the Rich Results Test and monitor in Search Console","href":"/technical-seo/website-structure/breadcrumbs/","slug":"breadcrumbs","meta":"Educational","aliases":["breadcrumbs","breadcrumb navigation","breadcrumb structured data","BreadcrumbList","Breadcrumbs","internal-links","structured-data"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"breadcrumbs technical-seo structured-data internal-links website-structure Breadcrumbs are a navigation trail (Home > Category > Page) that does two SEO jobs at once: the visible HTML links pass PageRank — Gary Illyes confirmed Google treats them as normal links — and BreadcrumbList JSON-LD can drive the readable path in Google's desktop search snippet. The structured data is not a substitute for real internal links (Mueller said so directly); you want both layers. In January 2025 Google dropped breadcrumbs from mobile SERPs, but desktop display, schema processing, crawling, and PageRank are all unchanged. Test with the Rich Results Test and monitor in Search Console's Breadcrumbs report. What breadcrumbs are Why they help SEO Where you see breadcrumbs The thing most people get wrong What a breadcrumb actually is The two layer architecture Types of breadcrumbs How Google uses breadcrumbs in the SERP The January 2025 mobile change — what actually changed Implementing BreadcrumbList structured data Testing and monitoring Breadcrumbs and Bing Best practices When you don't need them AI summary Official documentation Quotes from the source Breadcrumb implementation checklist The mental models BreadcrumbList JSON LD — template Schema without visible breadcrumb links A trail based on the user's click history Inventing levels that are not real destinations Letting HTML and JSON LD disagree Breadcrumbs are a secondary navigation trail (Home > Category > Page) that shows where a page sits in a site's hierarchy. They create internal links that pass PageRank, and when marked up with BreadcrumbList structured data they can drive the path Google shows in desktop search results. TL;DR — Breadcrumbs are the little navigation trail near the top of a page — — that tells you where you are on a site. For SEO they do two things: every link in the trail is a real internal link that helps Google understand and pass value through your site, and special code behind them structured data can make Google show that readable path in desktop search results instead of a long URL. What breadcrumbs are Breadcrumbs are a secondary navigation element. They show your position in a site's hierarchy as a trail, usually near the top of the page: The name comes from Hansel and Gretel dropping breadcrumbs to find their way back. Each step before the current page is a clickable link, so you can jump ","passages":["TL;DR — Breadcrumbs are the little navigation trail near the top of a page — — that tells you where you are on a site.","For SEO they do two things: every link in the trail is a real internal link that helps Google understand and pass value through your site, and special code behind them structured data can make Google show that readable path in desktop search results instead of a long URL.","What breadcrumbs are Breadcrumbs are a secondary navigation element.","They show your position in a site's hierarchy as a trail, usually near the top of the page: The name comes from Hansel and Gretel dropping breadcrumbs to find their way back.","Each step before the current page is a clickable link, so you can jump \"up\" a level without hunting through the menu.","Why they help SEO There are two separate things going on, and it's worth keeping them apart: The visible links.","That means breadcrumbs are a form of internal linking — they connect your pages together and help Google find and understand them.","Google's Gary Illyes confirmed Google treats these like any other link."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/website-structure/breadcrumbs/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/breadcrumbs/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Client-Side JavaScript Frameworks","desc":"React, Vue, Angular, Svelte, and SolidJS share one SEO problem — client-side rendering ships an empty shell — and one fix pattern: head management plus a rendering strategy.","snippetText":"React, Vue, Angular, Svelte, and SolidJS are UI libraries that, by default, ship a near-empty HTML shell and build the page in the browser (client-side rendering). That means crawlers get a blank page until JavaScript runs — Google can render it, but on a delayed queue, and other crawlers (Bing, AI bots) are far less reliable. The fix is the same across all five: (1) a head-management package so meta tags exist for each route, and (2) a rendering strategy — prerendering, SSR, or moving to the matching meta-framework. This hub explains the shared problem and the shared fix, then points you to t","href":"/technical-seo/javascript-seo/client-side-frameworks/","slug":"client-side-frameworks","meta":"Educational","aliases":["client-side frameworks SEO","SPA SEO","client-side rendering SEO","JavaScript framework SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","javascript-seo"],"text":"javascript-seo react vue angular svelte solidjs client-side-rendering spa React, Vue, Angular, Svelte, and SolidJS are UI libraries that, by default, ship a near-empty HTML shell and build the page in the browser (client-side rendering). That means crawlers get a blank page until JavaScript runs — Google can render it, but on a delayed queue, and other crawlers (Bing, AI bots) are far less reliable. The fix is the same across all five: (1) a head-management package so meta tags exist for each route, and (2) a rendering strategy — prerendering, SSR, or moving to the matching meta-framework. This hub explains the shared problem and the shared fix, then points you to the per-framework deep dives. What client side frameworks are Why that's a problem for SEO The fix is the same for all five They're libraries, not full frameworks — and that's the root of it The shared problem: an empty shell The shared fix, part 1: head management The shared fix, part 2: a rendering strategy How Google handles these apps and why others don't The five frameworks at a glance Where to go next: the framework deep dives AI summary Official documentation Quotes from the source Client side framework SEO checklist Frameworks → fix, at a glance The two part fix memorize this Risk ladder lowest → highest SEO risk Crawler reality check Common client side framework SEO issues Search tools show an empty page or only the app shell Every route has the same title or canonical Links work for users but crawlers do not discover routes Console shows hydration errors or mismatched content A route changes state in the browser but the direct URL doesn't match TL;DR — React, Vue, Angular, Svelte, and SolidJS are tools developers use to build interactive sites. By default, they send the browser a nearly empty HTML page and then build the real content with JavaScript. That's great for users but risky for SEO — a search crawler can land on a blank page. The fix is the same for all of them: manage your and meta tags per page, and make sure your content exists in the HTML before JavaScript runs. What client side frameworks are Client side frameworks can render route content in the browser after an initial HTML response. Google can render JavaScript, but resource availability and rendering still affect what is processed. A client side framework is a JavaScript library that builds the page in your visitor's bro","passages":["TL;DR — React, Vue, Angular, Svelte, and SolidJS are tools developers use to build interactive sites.","By default, they send the browser a nearly empty HTML page and then build the real content with JavaScript.","That's great for users but risky for SEO — a search crawler can land on a blank page.","The fix is the same for all of them: manage your and meta tags per page, and make sure your content exists in the HTML before JavaScript runs.","What client side frameworks are Client side frameworks can render route content in the browser after an initial HTML response.","Google can render JavaScript, but resource availability and rendering still affect what is processed.","A client side framework is a JavaScript library that builds the page in your visitor's browser.","The five you'll run into most are React , Vue , Angular , Svelte , and SolidJS ."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/javascript-seo/client-side-frameworks/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/javascript-seo/client-side-frameworks/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"CMS SEO","desc":"SEO for traditional content management systems — WordPress, Drupal, Joomla, HubSpot CMS, Umbraco, and Sitecore. What each handles out of the box and what you need to configure.","snippetText":"Traditional CMS platforms give you the most control over technical SEO — you can configure every URL, edit robots.txt, inject arbitrary structured data, and choose your own metadata approach. WordPress has the richest SEO plugin ecosystem (Yoast, Rank Math); Drupal has strong built-in tools; Joomla, HubSpot CMS, Umbraco, and Sitecore each have their own SEO story. The trade-off vs hosted builders: more maintenance overhead, but fewer locked-down constraints.","href":"/technical-seo/platform-seo/cms/","slug":"cms","meta":"Educational","aliases":["cms","CMS SEO","best CMS for SEO","content management system SEO","WordPress SEO","Drupal SEO","CMS","javascript-seo","edge-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo"],"text":"cms-seo wordpress-seo drupal-seo joomla-seo technical-seo platform-seo Traditional CMS platforms give you the most control over technical SEO — you can configure every URL, edit robots.txt, inject arbitrary structured data, and choose your own metadata approach. WordPress has the richest SEO plugin ecosystem (Yoast, Rank Math); Drupal has strong built-in tools; Joomla, HubSpot CMS, Umbraco, and Sitecore each have their own SEO story. The trade-off vs hosted builders: more maintenance overhead, but fewer locked-down constraints. What makes a CMS different from a website builder The CMS platforms covered here CMS SEO comparison Common CMS SEO pitfalls CMS SEO setup checklist WordPress Drupal General CMS checklist Tools for comparing a CMS by its output CMS SEO mistakes to avoid Platform deep dives A content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. TL;DR — Traditional CMS platforms like WordPress and Drupal let you control every technical SEO setting — URLs, robots.txt, metadata, sitemaps, structured data. The trade off is that you have to configure or install a plugin for most of it yourself. Hosted builders do more automatically; CMS platforms do more when you set them up properly . What makes a CMS different from a website builder A traditional CMS runs on a server yours or a managed host . You control the server configuration, can install plugins and extensions freely, and can edit files directly if needed. This means: Full control — edit it directly or via a plugin Custom URL structure — set any permalink pattern you want Plugin driven SEO — WordPress's Yoast/Rank Math, Drupal's Metatag module, etc. Direct access to — inject any metadata, hreflang, or custom tags Log file access — useful for advanced crawl analysis The trade off: you're responsible for keeping the CMS, plugins, and server updated. And the out of the box SEO defaults vary — WordPress without an SEO plugin has weak metadata handling; with Yoast or Rank Math installed, it's excellent. The CMS platforms covered here WordPress SEO /technical seo/platform seo/cms/wordpress seo/ — the most popular CMS; rich plugin ecosystem makes it the most configurable platform for SEO Drupal SEO /technical seo/platform seo/cm","passages":["TL;DR — Traditional CMS platforms like WordPress and Drupal let you control every technical SEO setting — URLs, robots.txt, metadata, sitemaps, structured data.","The trade off is that you have to configure or install a plugin for most of it yourself.","Hosted builders do more automatically; CMS platforms do more when you set them up properly .","What makes a CMS different from a website builder A traditional CMS runs on a server yours or a managed host .","You control the server configuration, can install plugins and extensions freely, and can edit files directly if needed.","This means: Full control — edit it directly or via a plugin Custom URL structure — set any permalink pattern you want Plugin driven SEO — WordPress's Yoast/Rank Math, Drupal's Metatag module, etc.","Direct access to — inject any metadata, hreflang, or custom tags Log file access — useful for advanced crawl analysis The trade off: you're responsible for keeping the CMS, plugins, and server updated.","And the out of the box SEO defaults vary — WordPress without an SEO plugin has weak metadata handling; with Yoast or Rank Math installed, it's excellent."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/cms/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/cms/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Core Web Vitals","desc":"Google's three real-user UX metrics — LCP, INP, and CLS — their \"good\" thresholds, field vs lab data, how much they matter for ranking, and the tools that measure them.","snippetText":"Core Web Vitals are Google's three real-user UX metrics: LCP (loading, ≤2.5s good), INP (responsiveness, ≤200ms good), and CLS (visual stability, ≤0.1 good), each judged at the 75th percentile of field data over a 28-day window — Google expects all three to be good, not just one. INP replaced FID on March 12, 2024. Google says its ranking systems use Core Web Vitals, but there's no official weight or 'tiebreaker' percentage attached, and a good score doesn't guarantee better rankings — relevance can still win. Lab scores from Lighthouse/PSI are for debugging, not ranking. This hub explains all","href":"/technical-seo/web-performance/web-vitals/core-web-vitals/","slug":"core-web-vitals","meta":"Educational","aliases":["Core Web Vitals","core-web-vitals","core web vitals","core web vitals (cwv)","cwv","web vitals","page experience","lcp","inp","cls","crux","fetchpriority","LCP","Field data","CrUX","LoAF","INP","Long task"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals"],"text":"core-web-vitals technical-seo web-performance lcp inp cls page-experience Core Web Vitals are Google's three real-user UX metrics: LCP (loading, ≤2.5s good), INP (responsiveness, ≤200ms good), and CLS (visual stability, ≤0.1 good), each judged at the 75th percentile of field data over a 28-day window — Google expects all three to be good, not just one. INP replaced FID on March 12, 2024. Google says its ranking systems use Core Web Vitals, but there's no official weight or 'tiebreaker' percentage attached, and a good score doesn't guarantee better rankings — relevance can still win. Lab scores from Lighthouse/PSI are for debugging, not ranking. This hub explains all three, the field-vs-lab split, and points you to the deep dives. What Core Web Vitals are Where the scores come from Do they affect rankings? One thing people get wrong What counts as a Core Web Vital LCP — loading INP — responsiveness CLS — visual stability Field data vs lab data — measurement and diagnosis The p75 rule, and why it matters Page level vs origin level — don't get fooled How much do Core Web Vitals actually matter for ranking? The \"other Web Vitals\" — diagnostic, not Core A myth to retire How to measure — and which tool for what Where to go next: the web performance cluster AI summary Official documentation Quotes from the source Core Web Vitals checklist The mental models Core Web Vitals — cheat sheet Which Core Web Vital should I investigate first? Core Web Vitals regress after a release Google's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. HTML attribute that hints fetch priority; high on the LCP image is one of the quickest LCP wins. Performance metrics captured from real users, not lab tests. Long Animation Frames API — browser API for diagnosing the long tasks behind slow interactions. Any main-thread task over 50 ms — the primary cause of INP regressions. {/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Core Web Vitals are three scores Google uses to measure how a page feels to real users: how fast it loads LCP , how quickly it responds when you tap or click INP , and how much things jump around as it loads CLS . \"Good\" is LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1. They nudge rankin","passages":["{/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Core Web Vitals are three scores Google uses to measure how a page feels to real users: how fast it loads LCP , how quickly it responds when you tap or click INP , and how much things jump around as it loads CLS .","\"Good\" is LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1.","They nudge rankings a little — but good content matters far more.","What Core Web Vitals are Google wants to reward pages that are pleasant to use, so it boiled \"good page experience\" down to three measurable things.","Together these are the Core Web Vitals often shortened to CWV : Largest Contentful Paint LCP — loading.","How long until the biggest thing on screen usually a hero image or headline shows up.","When you tap a button or type, how long before the page reacts.","How much the page jumps around while it loads an ad pushes the text down right as you go to tap ."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Critical Rendering Path","desc":"The browser's step-by-step pipeline from bytes to visible pixels — DOM, CSSOM, render tree, layout, and paint — why CSS and JavaScript block rendering, the three optimization levers, and how it drives FCP, LCP, and Googlebot rendering. The hub for render-blocking resources.","snippetText":"The critical rendering path (CRP) is the dependency-ordered work a browser does before it can paint the first pixel: parse HTML into the DOM, parse CSS into the CSSOM, combine them into a render tree, run layout, then paint — a useful mental model, not a rigid one-shot schedule. Two things block it differently — CSS blocks painting when it applies (the browser won't render until the CSSOM is built), and synchronous JavaScript blocks DOM parsing (the parser stops dead at every script). Optimizing the CRP means minimizing three variables: the number of critical resources, the critical path lengt","href":"/technical-seo/web-performance/critical-rendering-path/","slug":"critical-rendering-path","meta":"Educational","aliases":["critical-rendering-path","critical rendering path","critical rendering path (crp)","crp","critical render path","Critical Rendering Path","render-blocking-resources","fcp","lcp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"critical-rendering-path technical-seo web-performance render-blocking fcp lcp The critical rendering path (CRP) is the dependency-ordered work a browser does before it can paint the first pixel: parse HTML into the DOM, parse CSS into the CSSOM, combine them into a render tree, run layout, then paint — a useful mental model, not a rigid one-shot schedule. Two things block it differently — CSS blocks painting when it applies (the browser won't render until the CSSOM is built), and synchronous JavaScript blocks DOM parsing (the parser stops dead at every script). Optimizing the CRP means minimizing three variables: the number of critical resources, the critical path length (network round trips), and the critical bytes. FCP tracks CRP completion (a milestone, not a full diagnosis), and a long CRP can delay LCP too — both are Core Web Vitals. It matters for Googlebot as well: the Web Rendering Service uses a stateless, cold-cache headless Chromium, so blocking resources slow its rendering similarly to a real browser's (exact equivalence and ranking impact aren't proven by that alone), and critical CSS/JS must not be blocked in robots.txt. This hub explains the pipeline and points down to render-blocking resources. What the critical rendering path is What \"render blocking\" means Why you should care The five step pipeline bytes to pixels Two kinds of blocking, two different mechanisms The three optimization levers The Core Web Vitals connection the SEO angle How Googlebot is affected One edge case: an early paint doesn't prove your content is there Where SEOs actually meet the CRP Related topics — where to go next AI summary Official documentation Quotes from the source Critical rendering path audit — checklist The mental models Critical rendering path — cheat sheet Tools for diagnosing the critical rendering path Resources worth your time Which critical path bottleneck should you fix first? Critical rendering path mistakes Deferring every script without checking dependencies Inlining an entire stylesheet Blocking CSS or JavaScript from Googlebot The critical rendering path (CRP) is the sequence of steps a browser must complete before it can paint the first pixel: parse HTML into the DOM, parse CSS into the CSSOM, combine them into a render tree, run layout, then paint. Optimizing it shortens time to first render and improves Core Web Vitals. TL;DR — The critical ","passages":["TL;DR — The critical rendering path is the list of steps a browser has to finish before it can show you anything on screen — read the HTML, read the CSS, figure out what goes where, and paint the pixels.","Some files stylesheets, scripts have to load before that can happen; those are \"render blocking.\" If you've ever seen \"Eliminate render blocking resources\" in PageSpeed Insights, this is what it's talking about.","What the critical rendering path is When you open a page, the browser doesn't just display the file it downloaded.","Read the HTML and turn it into a structure called the DOM a map of everything on the page .","Read the CSS and turn it into a structure called the CSSOM a map of how everything should look .","Combine those two into a render tree — only the stuff that's actually visible.","Layout — work out exactly where each thing goes and how big it is.","The critical rendering path is the subset of that work the browser must finish before it can paint the first pixel."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Chrome UX Report (CrUX)","desc":"Google's real-user field-data behind Core Web Vitals — eligible Chrome users, the 28-day p75 window, origin vs URL data, why some pages have no CrUX data, and how to access it.","snippetText":"CrUX (the Chrome User Experience Report) is Google's public dataset of real-world field performance, aggregated from eligible Chrome users — those who meet Google's opt-in, sync, and supported-platform criteria — and it's the official data behind the Core Web Vitals program and what Google actually uses to assess your CWV for Search. It's reported at the 75th percentile over a trailing 28-day aggregation window, at both origin and URL level. It only covers eligible Chrome users on supported platforms (no iOS Chrome, no Edge/Safari/Firefox) — never every Chrome user and never every visitor — an","href":"/technical-seo/web-performance/web-performance-tools/crux/","slug":"crux","meta":"Educational","aliases":["crux","chrome ux report","chrome user experience report","field data","CrUX","core-web-vitals","pagespeed-insights","lighthouse"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-performance-tools"],"text":"crux chrome-ux-report web-performance technical-seo core-web-vitals field-data CrUX (the Chrome User Experience Report) is Google's public dataset of real-world field performance, aggregated from eligible Chrome users — those who meet Google's opt-in, sync, and supported-platform criteria — and it's the official data behind the Core Web Vitals program and what Google actually uses to assess your CWV for Search. It's reported at the 75th percentile over a trailing 28-day aggregation window, at both origin and URL level. It only covers eligible Chrome users on supported platforms (no iOS Chrome, no Edge/Safari/Firefox) — never every Chrome user and never every visitor — and a page needs enough traffic to be included — many low-traffic pages have no CrUX data at all. This is why your local Lighthouse (lab) score can disagree with your real CWV assessment. What CrUX is Why it matters The thing most people get wrong CrUX is the field data layer of Core Web Vitals How CrUX collects data Why some pages have no CrUX data How CrUX aggregates: 28 days and p75 Origin level vs URL level Field vs lab: why your Lighthouse score doesn't match What's in CrUX and what isn't Six ways to access CrUX Does CrUX move rankings? Where this fits AI summary Official documentation Quotes from the source CrUX access surfaces — cheat sheet Tools for working with CrUX Which CrUX surface should I use? CrUX mistakes that lead to bad decisions Treating an origin fallback as page level evidence Expecting a launch day fix to rewrite a 28 day window Calling Lighthouse a CrUX measurement Assuming CrUX represents every user Chrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program. {/ tool rule claim: performance.core web vitals/article contract /} TL;DR — CrUX is Google's collection of real world speed data from actual Chrome users. It's the data Google uses to judge your Core Web Vitals — not the lab score a tool like Lighthouse generates on a single test machine. That's why your Lighthouse score can be green while Search Console says you need work: they measure different things. What CrUX is The Chrome User Experience Report — CrUX for short — is a free dataset Google publishes that shows how real people, on real devices and real networks, experience websites","passages":["{/ tool rule claim: performance.core web vitals/article contract /} TL;DR — CrUX is Google's collection of real world speed data from actual Chrome users.","It's the data Google uses to judge your Core Web Vitals — not the lab score a tool like Lighthouse generates on a single test machine.","That's why your Lighthouse score can be green while Search Console says you need work: they measure different things.","What CrUX is The Chrome User Experience Report — CrUX for short — is a free dataset Google publishes that shows how real people, on real devices and real networks, experience websites.","Instead of testing a page once in a lab, CrUX gathers measurements from large numbers of actual Chrome users and reports the result.","It's the opposite of lab data , which is what a tool like Lighthouse produces by loading your page once on a controlled test machine.","Both are useful, but only one of them is what Google looks at to assess your site.","Why it matters CrUX is the official dataset behind the Core Web Vitals program."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/crux/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/crux/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Cumulative Layout Shift (CLS)","desc":"What Cumulative Layout Shift measures, how the score is calculated (impact × distance), session windows, thresholds, the common causes, and how to fix and debug them.","snippetText":"Cumulative Layout Shift (CLS) is the Core Web Vital for visual stability — how much visible content unexpectedly moves while a page is in use. It's a unitless score (impact fraction × distance fraction per shift), and since June 2021 it's the largest session window of shifts, not the lifetime sum. Good is ≤ 0.1 at the 75th percentile of field data; 0.1–0.25 needs improvement; > 0.25 is poor. The usual culprits are unsized images/ads/iframes/embeds, web fonts, and content injected above the fold — fix them by reserving space (width/height or aspect-ratio), tuning font-display, and animating wit","href":"/technical-seo/web-performance/web-vitals/core-web-vitals/cumulative-layout-shift/","slug":"cumulative-layout-shift","meta":"Educational","aliases":["cls","cumulative layout shift","cls metric","layout shift","CLS","core-web-vitals","lcp","inp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals","core-web-vitals"],"text":"cls core-web-vitals web-performance technical-seo page-experience visual-stability Cumulative Layout Shift (CLS) is the Core Web Vital for visual stability — how much visible content unexpectedly moves while a page is in use. It's a unitless score (impact fraction × distance fraction per shift), and since June 2021 it's the largest session window of shifts, not the lifetime sum. Good is ≤ 0.1 at the 75th percentile of field data; 0.1–0.25 needs improvement; > 0.25 is poor. The usual culprits are unsized images/ads/iframes/embeds, web fonts, and content injected above the fold — fix them by reserving space (width/height or aspect-ratio), tuning font-display, and animating with transform. Lighthouse often reads near-0 because it doesn't interact with the page or run the full page lifecycle — field data (CrUX) is what Google actually ranks on. What CLS is How the score works roughly Why it happens and the fix What CLS measures The formula: impact × distance Session windows: the part everyone gets wrong What counts — and what doesn't Thresholds, and where the score comes from Lab vs. field: why the numbers disagree The common causes The fixes How CLS fits into rankings keep it in proportion AI summary Official documentation Quotes from the source CLS causes → fixes checklist CLS cheat sheet Tools for measuring and debugging CLS Which CLS fix should you make first? CLS mistakes that hide the real problem Treating a clean Lighthouse run as proof Fixing only the element DevTools says moved Reserving space with a guessed fixed height Animating layout properties Cumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good. {/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Cumulative Layout Shift CLS measures how much stuff on a page moves around on its own while you're trying to read or tap it — the image that loads late and shoves the text down, the button that jumps right as you go to click it. It's scored from 0 up, and 0.1 or less is good . Most of it comes from elements that didn't reserve their space before they loaded. What CLS is You've felt this even if you've never heard the term. You're reading an article, an ad or image finishes loading above where you're looking, and suddenly the whole page jumps down. Or you go to ta","passages":["{/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Cumulative Layout Shift CLS measures how much stuff on a page moves around on its own while you're trying to read or tap it — the image that loads late and shoves the text down, the button that jumps right as you go to click it.","Most of it comes from elements that didn't reserve their space before they loaded.","What CLS is You've felt this even if you've never heard the term.","You're reading an article, an ad or image finishes loading above where you're looking, and suddenly the whole page jumps down.","Or you go to tap \"Cancel\" and a banner pops in, so your tap lands on \"Confirm\" instead.","That unexpected movement is a layout shift , and Cumulative Layout Shift is Google's way of putting a number on how bad it is.","It's one of the three Core Web Vitals — the trio of page experience metrics Google tracks, alongside Largest Contentful Paint how fast the main content loads and Interaction to Next Paint how quickly the page responds when you tap .","CLS is the one about visual stability : does the page hold still?"],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/cumulative-layout-shift/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/cumulative-layout-shift/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Doorway Pages","desc":"What doorway pages are, how Google detects them, and why templated location pages are programmatic SEO's most common spam trap — from Patrick Stox.","snippetText":"Doorway pages are pages built to rank for specific queries that funnel users to a different destination instead of being useful themselves. In programmatic SEO the modern version is templated [service] in [city] page stacks where only the H1 changes and everything funnels to one contact form — that's doorway abuse by Google's own definition. The test isn't whether you target a city; it's intent and unique value. Google gave six diagnostic questions in 2015; use them as a self-audit. Enforcement is both manual and algorithmic, and it's an active policy, not a 2015 relic — Google added new spam ","href":"/programmatic-seo/risks/doorway-pages/","slug":"doorway-pages","meta":"Educational","aliases":["doorway-pages","doorway pages","doorway sites","gateway pages","bridge pages","Doorway Pages","programmatic-seo","thin-content"],"pillar":"programmatic-seo","taxonomy":["programmatic-seo","risks"],"text":"doorway-pages programmatic-seo spam-policies location-pages thin-content Doorway pages are pages built to rank for specific queries that funnel users to a different destination instead of being useful themselves. In programmatic SEO the modern version is templated [service] in [city] page stacks where only the H1 changes and everything funnels to one contact form — that's doorway abuse by Google's own definition. The test isn't whether you target a city; it's intent and unique value. Google gave six diagnostic questions in 2015; use them as a self-audit. Enforcement is both manual and algorithmic, and it's an active policy, not a 2015 relic — Google added new spam policies like scaled content abuse in its March 2024 core update that raise the bar for templated pages. Legitimate geo pages exist — they carry real, location-specific value and are reachable from the rest of the site. Mueller's advice on the 1,300-city-page plan: do 15–20 areas genuinely well instead. What a doorway page is The easiest example to picture Real location pages are NOT doorways Why this matters if you're doing pages at scale What Google actually says The funnel to one destination test Doorways are the most common modern programmatic trap Google's six questions — use them as a self audit The \"island\" red flag Doorways vs. scaled content vs. thin content Manual actions vs. algorithmic demotion Enforcement is live, not historical What a legitimate geo page looks like What Mueller said about city pages How to fix doorway pages AI summary Official documentation Quotes from the source Doorway self audit — Google's six questions The practical doorway gut check The mental models Doorway vs. legitimate location page — cheat sheet Doorway vs. neighboring policies Fast facts Doorway pages are pages or sites built to rank for specific search queries that then funnel users to a different destination instead of being useful in their own right. Google treats them as spam. TL;DR — Doorway pages are pages built to rank in search and then push you somewhere else, instead of being useful on their own. The classic modern example is a business with hundreds of near identical \" service in city \" pages that all dump you onto the same contact form. Google treats them as spam. Real location pages are fine — the difference is whether each page actually gives you something specific to that place. What a doorwa","passages":["TL;DR — Doorway pages are pages built to rank in search and then push you somewhere else, instead of being useful on their own.","The classic modern example is a business with hundreds of near identical \" service in city \" pages that all dump you onto the same contact form.","Real location pages are fine — the difference is whether each page actually gives you something specific to that place.","What a doorway page is Google's spam policies define doorway abuse as pages or sites created to rank for similar queries that funnel users to intermediate destinations.","A legitimate location page needs distinct, useful purpose; the policy label cannot be decided from a template alone.","A doorway page exists to grab a ranking for a search, not to help the person who clicks.","You land on it, realize there's nothing genuinely useful there, and the page's only real job is to shuffle you along to wherever the site actually wants you to go.","Google calls this \"doorway abuse\" and classifies it as spam."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/programmatic-seo/risks/doorway-pages/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/programmatic-seo/risks/doorway-pages/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ecommerce SEO Seasonality","desc":"Seasonal SEO for ecommerce: which URL to use (keep vs. 301), how Google's demand-driven crawl scheduling affects timing, when to publish before peak, and how to preserve a page's authority year-round.","snippetText":"Seasonal SEO is a year-round discipline, not a November sprint. Use one recurring URL per event (/sale/black-friday, never /sale/2020/black-friday) and keep it live with a 200 status year-round — deleting, 404ing, or noindexing a seasonal page throws away the authority it earned at peak. Publish and update content weeks-to-months before demand peaks, because Google's crawl scheduling is demand-driven (Gary Illyes: low search demand means a lower crawl limit), so you need internal links pointing at the page before peak to get it crawled in time. 301s pass authority but cost a recrawl lag; for a","href":"/ecommerce-seo/categories-and-merchandising/ecommerce-seo-seasonality/","slug":"ecommerce-seo-seasonality","meta":"Educational","aliases":["ecommerce-seo-seasonality","ecommerce SEO seasonality","seasonal SEO","seasonal pages SEO","Black Friday SEO","Ecommerce SEO Seasonality","ecommerce-seo","product-page-seo","crawl-frequency"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","categories-and-merchandising"],"text":"ecommerce-seo-seasonality ecommerce-seo seasonal-seo black-friday-seo url-structure crawl-budget Seasonal SEO is a year-round discipline, not a November sprint. Use one recurring URL per event (/sale/black-friday, never /sale/2020/black-friday) and keep it live with a 200 status year-round — deleting, 404ing, or noindexing a seasonal page throws away the authority it earned at peak. Publish and update content weeks-to-months before demand peaks, because Google's crawl scheduling is demand-driven (Gary Illyes: low search demand means a lower crawl limit), so you need internal links pointing at the page before peak to get it crawled in time. 301s pass authority but cost a recrawl lag; for a page that returns every year, keeping it alive almost always wins. What seasonal SEO is The two decisions that matter most Publish early, not at the last minute Why this matters for ecommerce specifically Diagnosing seasonal vs. non seasonal traffic The core decision: seasonal URL strategy How Google's crawl scheduling affects seasonal timing Internal linking for seasonal pages When to publish — lead time is non negotiable SERP behavior changes during peaks Out of stock and off season product handling Year round authority building Where this sits AI summary Official documentation Quotes from the source Seasonal SEO checklist The mental models Seasonal calendar & timing — cheat sheet What should happen to this seasonal URL? Seasonal SEO mistakes that erase momentum Minting a year specific URL every season Removing the page as soon as the promotion ends Waiting for demand to peak before publishing Ecommerce SEO seasonality is the practice of planning content, URLs, internal links, and crawl access around predictable rises and falls in search demand — capturing peak traffic before it arrives while preserving a seasonal page's authority year-round. TL;DR — Seasonal SEO is planning your store around predictable demand spikes — Black Friday, Christmas, back to school, summer, and so on. The two things to get right: use one permanent URL for each event , not and keep that page live all year instead of deleting it. Then publish and promote your seasonal content weeks before people start searching — not the week of. What seasonal SEO is Most ecommerce categories have a rhythm. Demand for grills climbs in May, fitness equipment spikes every January, and almost everything peaks around","passages":["TL;DR — Seasonal SEO is planning your store around predictable demand spikes — Black Friday, Christmas, back to school, summer, and so on.","The two things to get right: use one permanent URL for each event , not and keep that page live all year instead of deleting it.","Then publish and promote your seasonal content weeks before people start searching — not the week of.","What seasonal SEO is Most ecommerce categories have a rhythm.","Demand for grills climbs in May, fitness equipment spikes every January, and almost everything peaks around Black Friday and Christmas.","Seasonal SEO is the work of being ready for those spikes before they arrive — so your pages are already crawled, indexed, and ranking when the traffic shows up.","It comes in two flavors: Event based — Black Friday, Cyber Monday, Valentine's Day, Mother's Day, back to school, Easter, Halloween.","Climate or lifestyle based — summer grilling, winter coats, spring gardening, New Year fitness."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/ecommerce-seo-seasonality/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/ecommerce-seo-seasonality/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Edge SEO","desc":"Edge SEO (serverless SEO) is making technical SEO changes — redirects, tags, robots.txt — at the CDN worker layer, before the response reaches the crawler.","snippetText":"Edge SEO (serverless SEO) means making technical SEO changes — redirects, canonicals, hreflang, robots.txt, meta tags, structured data — at the CDN/edge worker layer (Cloudflare Workers, Akamai EdgeWorkers, Fastly, Lambda@Edge, Vercel/Netlify edge) before the response reaches the user or crawler, without a backend or CMS deploy. It's how you get past dev backlogs and locked-down platforms. The one hard rule is cloaking: serve the SAME content to Googlebot as to users — apply changes to everyone, never bot-specific. Watch your CDN's WAF and bot rules too, because they can silently block Googleb","href":"/technical-seo/edge-seo/","slug":"edge-seo","meta":"Educational","aliases":["edge-seo","edge SEO","serverless SEO","edge SEO tools","Cloudflare Workers SEO","SEO at the edge","Edge SEO","javascript-seo","dynamic-rendering","crawling","redirect","robots-txt","x-robots-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","edge-seo"],"text":"edge-seo serverless-seo cloudflare-workers cdn technical-seo Edge SEO (serverless SEO) means making technical SEO changes — redirects, canonicals, hreflang, robots.txt, meta tags, structured data — at the CDN/edge worker layer (Cloudflare Workers, Akamai EdgeWorkers, Fastly, Lambda@Edge, Vercel/Netlify edge) before the response reaches the user or crawler, without a backend or CMS deploy. It's how you get past dev backlogs and locked-down platforms. The one hard rule is cloaking: serve the SAME content to Googlebot as to users — apply changes to everyone, never bot-specific. Watch your CDN's WAF and bot rules too, because they can silently block Googlebot before a worker ever runs. And don't lean on edge pre-rendering for bots only — that's dynamic rendering, which Google has deprecated. What edge SEO is Why people use it The one rule that matters most A couple of other things to know What edge SEO actually is Why the dev queue problem is real How edge workers intercept requests and responses Platforms and tools Common use cases The big risk: cloaking Other risks, and the edge specific ones A couple of myths worth killing Where this fits AI summary Official documentation Quotes from the source Edge SEO rollout & safety checklist The mental models Edge SEO cheat sheet Resources worth your time Edge SEO (serverless SEO) is the practice of making technical SEO changes — redirects, meta tags, canonicals, hreflang, robots.txt, structured data — at the CDN/edge worker layer before the response reaches the user or crawler, instead of editing the origin server or CMS. TL;DR — Edge SEO means making technical SEO changes at your CDN — the network that sits in front of your website — instead of editing the website itself. A little script a \"worker\" on the CDN can add a redirect, fix a tag, or rewrite robots.txt before the page ever reaches a visitor or Google. It's how SEOs ship fixes fast on platforms they can't edit, or when they're stuck waiting on developers. The golden rule: whatever you change, change it for everyone — showing Google something different from real users is cloaking, and that's against the rules. What edge SEO is Most websites sit behind a CDN content delivery network — a global network of servers that caches your site and serves it to people quickly. Cloudflare is the best known one. Because the CDN is the last thing between your real server the \"","passages":["TL;DR — Edge SEO means making technical SEO changes at your CDN — the network that sits in front of your website — instead of editing the website itself.","A little script a \"worker\" on the CDN can add a redirect, fix a tag, or rewrite robots.txt before the page ever reaches a visitor or Google.","It's how SEOs ship fixes fast on platforms they can't edit, or when they're stuck waiting on developers.","The golden rule: whatever you change, change it for everyone — showing Google something different from real users is cloaking, and that's against the rules.","What edge SEO is Most websites sit behind a CDN content delivery network — a global network of servers that caches your site and serves it to people quickly.","Because the CDN is the last thing between your real server the \"origin\" and the outside world, it gets to see and change every response on the way out.","Instead of asking a developer to change your website's code, you put a tiny program — a worker — on the CDN, and it edits the page as it flies past.","It can add a redirect, inject a missing tag, swap a title, or replace your robots.txt file."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/edge-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/edge-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Eleventy SEO","desc":"Eleventy (11ty) ships zero client-side JavaScript by default, so your content is in the raw HTML on the first fetch. The catch — it generates no title tags, meta descriptions, canonicals, or sitemaps. Here's how to configure SEO on an Eleventy site, built around the data cascade.","snippetText":"Eleventy outputs plain HTML with zero client-side JavaScript by default, which is the safest possible starting point for indexability — content is in the first byte, nothing to render. The trade-off: Eleventy generates no SEO markup at all. Every title, meta description, canonical, sitemap, and bit of structured data is something you implement yourself. The data cascade (_data/site.js → directory data → front matter → eleventyComputed) is the architecture that makes that scalable: declare defaults once, derive canonicals automatically. Plugins like eleventy-plugin-seo and @11ty/eleventy-img ad","href":"/technical-seo/platform-seo/static-site-generators/eleventy-seo/","slug":"eleventy-seo","meta":"Educational","aliases":["eleventy-seo","Eleventy SEO","11ty SEO","SEO for Eleventy","Eleventy static site SEO","static-site-generator","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","static-site-generators"],"text":"javascript-seo ssg eleventy 11ty static-site-generators eleventy-seo Eleventy outputs plain HTML with zero client-side JavaScript by default, which is the safest possible starting point for indexability — content is in the first byte, nothing to render. The trade-off: Eleventy generates no SEO markup at all. Every title, meta description, canonical, sitemap, and bit of structured data is something you implement yourself. The data cascade (_data/site.js → directory data → front matter → eleventyComputed) is the architecture that makes that scalable: declare defaults once, derive canonicals automatically. Plugins like eleventy-plugin-seo and @11ty/eleventy-img add convenience, not capability. Pick any template language — it doesn't affect SEO. What Eleventy is Why that helps SEO The big catch: Eleventy does not do SEO for you The mental model: the data cascade Why Eleventy is a strong SEO baseline The data cascade: your SEO architecture foundation Meta tags in the base layout SEO plugins, compared robots.txt Sitemap generation Image optimization for Core Web Vitals Permalinks and clean URLs Pagination SEO Structured data / JSON LD Eleventy v2 vs v3 — what changed for SEO Verify the production artifact, not just the local build Common Eleventy SEO mistakes AI summary Official documentation Quotes from the source Eleventy SEO checklist The data → template → artifact framework Eleventy SEO — cheat sheet Scaffold an SEO ready Eleventy site Eleventy (11ty) is a JavaScript-based static site generator that outputs plain HTML with zero client-side JavaScript by default. Eleventy SEO is the practice of explicitly configuring that output — meta tags, canonicals, sitemaps, images, and structured data — because Eleventy generates none of it for you. TL;DR — Eleventy builds your site into plain HTML files ahead of time, and — unlike most JavaScript tools — it sends no JavaScript to the browser by default. That's about as friendly as it gets for Google. The catch: Eleventy won't write your title tags, meta descriptions, or sitemap for you. You have to add those yourself. What Eleventy is Eleventy you'll also see it written 11ty is a static site generator . You write your content in Markdown and your page templates in something like Nunjucks or Liquid, and Eleventy turns all of it into finished HTML files before anyone visits. You upload those files to a host, and when Googl","passages":["TL;DR — Eleventy builds your site into plain HTML files ahead of time, and — unlike most JavaScript tools — it sends no JavaScript to the browser by default.","The catch: Eleventy won't write your title tags, meta descriptions, or sitemap for you.","What Eleventy is Eleventy you'll also see it written 11ty is a static site generator .","You write your content in Markdown and your page templates in something like Nunjucks or Liquid, and Eleventy turns all of it into finished HTML files before anyone visits.","You upload those files to a host, and when Google or a reader requests a page, they get complete HTML straight away.","The thing that sets Eleventy apart from most JavaScript based tools is that it ships zero JavaScript to the browser by default .","The page a visitor gets is plain HTML — nothing has to run in the browser to build it.","For SEO that's ideal: there's no rendering step for Google to wait on, and pages load fast."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/eleventy-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/eleventy-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"First Contentful Paint (FCP)","desc":"What First Contentful Paint measures, what's a good FCP score, why it isn't a Core Web Vital, how it differs from First Paint and LCP, and how to fix a slow one.","snippetText":"First Contentful Paint (FCP) is the time from when a page starts loading to when any part of its content — text, image, SVG, or non-white canvas — first renders. Good is ≤1.8 s at the 75th percentile of real users. It is NOT a Core Web Vital: the ranking signals are LCP, INP, and CLS. FCP is a diagnostic metric (lab and field) that's a building block of LCP — it happens at or before LCP — so it's mainly useful for catching render-blocking resources and slow TTFB. In Lighthouse 10 it's 10% of the Performance score. Fix it by eliminating render-blocking CSS/JS, cutting TTFB, inlining critical CS","href":"/technical-seo/web-performance/web-vitals/first-contentful-paint/","slug":"first-contentful-paint","meta":"Educational","aliases":["fcp","first contentful paint","fcp metric","FCP","core-web-vitals","ttfb","lcp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals"],"text":"fcp web-performance core-web-vitals lcp ttfb lighthouse page-speed First Contentful Paint (FCP) is the time from when a page starts loading to when any part of its content — text, image, SVG, or non-white canvas — first renders. Good is ≤1.8 s at the 75th percentile of real users. It is NOT a Core Web Vital: the ranking signals are LCP, INP, and CLS. FCP is a diagnostic metric (lab and field) that's a building block of LCP — it happens at or before LCP — so it's mainly useful for catching render-blocking resources and slow TTFB. In Lighthouse 10 it's 10% of the Performance score. Fix it by eliminating render-blocking CSS/JS, cutting TTFB, inlining critical CSS, using font-display: swap, and preconnecting to required origins. What FCP actually is What counts as \"content\" What's a good score? Does FCP affect my Google rankings? The quick fixes What FCP measures precisely FCP is NOT a Core Web Vital FCP vs First Paint FP FCP vs LCP Thresholds — and why lab and field disagree Where FCP sits in the Lighthouse score What causes a slow FCP How to fix it The FCP → TTFB → LCP diagnostic chain AI summary Official documentation Quotes from the source Slow FCP triage checklist FCP cheat sheet Tools for measuring FCP FCP mistakes that hide the real bottleneck The blank screen budget Test yourself: First Contentful Paint Resources worth your time First Contentful Paint — the time from when a page starts loading to when any part of its content (text, image, SVG, or non-white canvas) first renders. Good is ≤1.8 s at the 75th percentile. It's a diagnostic metric, not a Core Web Vital. TL;DR — First Contentful Paint FCP is the moment a visitor sees the first bit of your page — any text, image, or graphic — instead of a blank white screen. Faster is better; under 1.8 seconds is the \"good\" mark. It's a useful speed check, but it is not one of the metrics Google uses for ranking. What FCP actually is When someone clicks a link to your page, there's a short stretch where they're staring at nothing — a blank screen — while the browser fetches and processes your page. First Contentful Paint is the instant that blank screen turns into something real : a headline, a logo, a photo, anything the visitor can actually see. That's the whole idea. FCP answers one simple question: \"How long until the user sees the page is alive and doing something?\" A page that paints content in half a seco","passages":["TL;DR — First Contentful Paint FCP is the moment a visitor sees the first bit of your page — any text, image, or graphic — instead of a blank white screen.","It's a useful speed check, but it is not one of the metrics Google uses for ranking.","What FCP actually is When someone clicks a link to your page, there's a short stretch where they're staring at nothing — a blank screen — while the browser fetches and processes your page.","First Contentful Paint is the instant that blank screen turns into something real : a headline, a logo, a photo, anything the visitor can actually see.","FCP answers one simple question: \"How long until the user sees the page is alive and doing something?\" A page that paints content in half a second feels fast.","A page that sits blank for three seconds feels broken — and people leave.","What counts as \"content\" FCP fires when the browser draws any of these onto the screen: Text a heading, a paragraph, a nav link Images , including background images graphics A non white element A plain background color by itself does not count — that's a different, earlier thing called First Paint.","Google's bands, measured across real visitors: FCP time Rating 1.8 seconds or less Good 1.8 – 3.0 seconds Needs improvement Over 3.0 seconds Poor You'll see your FCP in tools like PageSpeed Insights and Lighthouse — the same reports that show your Core Web Vitals."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/first-contentful-paint/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/first-contentful-paint/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Gatsby SEO","desc":"How to optimize a Gatsby site for search — Gatsby's four rendering paths (SSG, DSG, SSR, client-only) and what each means for crawlability, the modern Head API vs legacy react-helmet, sitemaps, canonicals, image SEO, the React-bundle CWV cost, and the Netlify-era maintenance risk.","snippetText":"Gatsby has four rendering options: SSG (the default — pages pre-rendered to static HTML at gatsby build), DSG (deferred static generation on first request), SSR (server-side rendering per request via Gatsby Functions), and client-only routes (rendered entirely in the browser). Most Gatsby sites lean on SSG, which gives crawlers fully rendered HTML on the first fetch with no rendering queue to wait on — a strong SEO baseline, far better than a pure client-side React app. But that baseline isn't universal: DSG and SSR pages generate HTML outside the build step and need their own production check","href":"/technical-seo/platform-seo/static-site-generators/gatsby-seo/","slug":"gatsby-seo","meta":"Educational","aliases":["gatsby-seo","Gatsby SEO","SEO for Gatsby","Gatsby static site SEO","GatsbyJS SEO","static-site-generator","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","static-site-generators"],"text":"javascript-seo gatsby ssg react static-site-generators gatsby-head-api Gatsby has four rendering options: SSG (the default — pages pre-rendered to static HTML at gatsby build), DSG (deferred static generation on first request), SSR (server-side rendering per request via Gatsby Functions), and client-only routes (rendered entirely in the browser). Most Gatsby sites lean on SSG, which gives crawlers fully rendered HTML on the first fetch with no rendering queue to wait on — a strong SEO baseline, far better than a pure client-side React app. But that baseline isn't universal: DSG and SSR pages generate HTML outside the build step and need their own production checks, and client-only routes shouldn't be assumed to expose route-specific content in the initial HTML at all. Whichever path serves a page, Gatsby still ships the full React runtime (~200KB+) and hydrates it client-side — a Core Web Vitals cost, not a crawlability one. The current way to manage metadata is the built-in Gatsby Head API (v4.19+), which works across all four rendering paths and replaces gatsby-plugin-react-helmet. The recurring pitfalls are double canonical tags, draft/orphan pages leaking into sitemaps, missing alt text, the production-only sitemap gotcha, DSG/SSR/client-only routes needing explicit sitemap and production-behavior checks, and a framework whose maintenance has slowed sharply since Netlify's 2023 acquisition. What Gatsby is Why people worry about Gatsby and SEO and why they mostly shouldn't What you still have to set up The one thing that surprises people Gatsby's four rendering options — and why they matter for SEO Gatsby Head API vs gatsby plugin react helmet Wiring up an SEO component the GraphQL data layer Sitemaps: gatsby plugin sitemap and its traps robots.txt: gatsby plugin robots txt Canonical URLs and the double canonical bug Image SEO: gatsby plugin image Structured data JSON LD The React bundle and Core Web Vitals Gatsby vs Astro for SEO The honest part: Gatsby's maintenance trajectory Production checklist: verify every rendering path Common Gatsby SEO mistakes AI summary Official documentation Quotes from the source Gatsby SEO checklist The mental models Gatsby SEO — cheat sheet Check Gatsby's production artifacts Gatsby SEO is the set of practices for getting a Gatsby site found and ranked. By default, Gatsby pre-renders HTML at build time (SSG), putting conte","passages":["TL;DR — By default, Gatsby builds your pages into finished HTML before anyone visits this mode is called SSG , so when Google shows up, your content is already in the page — no waiting for JavaScript.","Gatsby also has a few other rendering options for pages that need to generate later or use per request data — worth knowing if your site uses them.","The catch: it still sends a big React bundle to the browser, which can slow your page down, and you still have to set up meta tags, sitemaps, canonicals, and image alt text yourself.","What Gatsby is Gatsby is a website framework built on React .","Most React apps build the page in your browser after the JavaScript loads — which is a problem for SEO, because a search engine fetching the page first sees a near empty shell.","When you run , it turns most pages into a complete HTML file ahead of time .","So when Google, Bing, or a reader requests one of those pages, the content is right there in the HTML.","That default mode makes Gatsby a static site generator SSG , and it's why Gatsby is generally good for SEO out of the box — much better than a plain React app."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/gatsby-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/gatsby-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Google Merchant Center","desc":"What Google Merchant Center is, how free product listings work, and the SEO angle — Product schema vs. feeds, feed quality's role in eligibility and matching, and the srsltid parameter.","snippetText":"Google Merchant Center (GMC) is the platform for managing product data across Google's surfaces. It powers free (organic) product listings, not just paid Shopping ads — so it's an SEO tool, not only an ads console. Since September 2022, valid Product structured data alone can qualify a purchasable page for merchant listing experiences like Popular Products, though GMC is still required for some surfaces (the Shopping tab, in particular), and Google recommends using both. Feed quality (GTINs, complete attributes, title consistency, competitive pricing) affects eligibility and matching for organ","href":"/ecommerce-seo/merchant-center/google-merchant-center/","slug":"google-merchant-center","meta":"Educational","aliases":["google-merchant-center","Google Merchant Center","GMC","Google Shopping","free product listings","merchant center","ecommerce-seo","schema-markup-for-ai"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","merchant-center"],"text":"Google Merchant Center (GMC) is the platform for managing product data across Google's surfaces. It powers free (organic) product listings, not just paid Shopping ads — so it's an SEO tool, not only an ads console. Since September 2022, valid Product structured data alone can qualify a purchasable page for merchant listing experiences like Popular Products, though GMC is still required for some surfaces (the Shopping tab, in particular), and Google recommends using both. Feed quality (GTINs, complete attributes, title consistency, competitive pricing) affects eligibility and matching for organic product grids, and practitioner analysis ties it to where you place — Google hasn't published this as an official ranking-factor list. Watch the srsltid parameter Google has added to organic shopping URLs since August 2024, as reported by industry sources — it's linked to GA4 attribution and canonical confusion but, per John Mueller, doesn't affect crawling, indexing, or ranking. What Google Merchant Center is The big surprise: you might not even need a GMC account for some surfaces Why an SEO should care What GMC actually is, and the history that matters Where free listings show up The September 2022 shift most guides still get wrong Merchant Listings vs. Product Snippets — and the AggregateOffer trap Feed vs. structured data: complementary, not redundant Feed quality: eligibility, matching, and practitioner observed placement The srsltid parameter: the 2024 attribution and canonical problem Search Console and GA4 reporting 2026 and the AI frontier How GMC fits the ecommerce SEO stack AI summary Official documentation Quotes from the source GMC + free listings setup checklist SEO optimization checklist GMC as an SEO asset — the mental models Google Merchant Center — quick reference Which product data path should you use? How should you handle ? Merchant Center mistakes that block organic shopping Treating the feed as an ads only asset Google Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. TL;DR — Google Merchant Center GMC is a free Google tool where online stores upload their product data. Most people think it's only for paid Shopp","passages":["TL;DR — Google Merchant Center GMC is a free Google tool where online stores upload their product data.","Most people think it's only for paid Shopping ads — but it also powers free product listings that show up in normal Google searches, Images, and more.","What Google Merchant Center is Google Merchant Center is where retailers send Google their product information — titles, prices, images, availability, and so on.","Google then uses that data to show your products in lots of places: the Shopping tab, regular Google Search those product grids you see at the top of shopping searches , Google Images, Lens, and newer AI experiences.","For years GMC was thought of as \"the place you set up Google Shopping ads.\" It still does that.","But since 2020 it also powers free listings — your products can appear organically, for free, across those same surfaces.","The big surprise: you might not even need a GMC account for some surfaces Here's the thing that trips people up.","Since September 2022 , you don't strictly need a Google Merchant Center account to show up in some rich product results like Popular Products ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/ecommerce-seo/merchant-center/google-merchant-center/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/google-merchant-center/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Headless CMS SEO","desc":"SEO for headless and composable CMS platforms — Contentful, Strapi, Sanity, Storyblok, and Ghost. The CMS shapes content modeling, APIs, and workflow, but your frontend's rendering is what search engines actually see.","snippetText":"Headless means the CMS separates content management from presentation — it doesn't specify your frontend framework, rendering mode, hosting, caching, preview security, or publishing workflow; each of those is a separate decision that shapes SEO. Contentful, Strapi, Sanity, Storyblok, and Ghost all expose content via APIs; the biggest single lever is how your frontend fetches, renders, and serves that content to search engines. SSG and SSR deliver complete HTML and are the safer default; CSR depends on a separate rendering stage and needs verification. No headless setup has an inherent ranking ","href":"/technical-seo/platform-seo/headless-cms/","slug":"headless-cms","meta":"Educational","aliases":["headless-cms","headless CMS SEO","Contentful SEO","Strapi SEO","Sanity SEO","headless SEO","Headless CMS","javascript-seo","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo"],"text":"headless-cms-seo contentful-seo strapi-seo sanity-seo storyblok-seo ghost-seo technical-seo platform-seo Headless means the CMS separates content management from presentation — it doesn't specify your frontend framework, rendering mode, hosting, caching, preview security, or publishing workflow; each of those is a separate decision that shapes SEO. Contentful, Strapi, Sanity, Storyblok, and Ghost all expose content via APIs; the biggest single lever is how your frontend fetches, renders, and serves that content to search engines. SSG and SSR deliver complete HTML and are the safer default; CSR depends on a separate rendering stage and needs verification. No headless setup has an inherent ranking advantage over a coupled CMS — decoupling changes control, dependencies, and testing burden, not rankings by itself. All the SEO work a plugin did in WordPress (sitemaps, metadata, canonicals, structured data) you now build explicitly. What headless means for SEO The one thing that determines SEO outcomes What you have to build yourself CMS level SEO considerations Platform comparison Headless CMS SEO setup checklist CMS configuration Frontend applies to all headless setups ISR specific Tools for testing a headless stack Platform deep dives Related reading Test yourself: headless CMS SEO A content management system that separates the content repository from the presentation layer, delivering content via API to any front-end framework rather than rendering HTML server-side itself. It doesn't specify the rendering mode, hosting, cache, preview security, or publishing workflow — those are separate decisions. TL;DR — A headless CMS separates where you write content from where it gets displayed — it doesn't specify how that content gets rendered, hosted, cached, or previewed. For SEO, the biggest single lever is how your website renders that content — built at deploy time SSG , on the server for each request SSR , or in the visitor's browser CSR . SSG and SSR deliver complete HTML; CSR needs the rendered output verified, not assumed. What headless means for SEO Traditional CMS platforms WordPress, Drupal tightly couple content management and presentation. The CMS renders the HTML page that search engines see. In a headless setup, the CMS is just a content store accessible via an API. A separate frontend usually a JavaScript framework like Next.js or Nuxt fetches content f","passages":["TL;DR — A headless CMS separates where you write content from where it gets displayed — it doesn't specify how that content gets rendered, hosted, cached, or previewed.","For SEO, the biggest single lever is how your website renders that content — built at deploy time SSG , on the server for each request SSR , or in the visitor's browser CSR .","SSG and SSR deliver complete HTML; CSR needs the rendered output verified, not assumed.","What headless means for SEO Traditional CMS platforms WordPress, Drupal tightly couple content management and presentation.","In a headless setup, the CMS is just a content store accessible via an API.","A separate frontend usually a JavaScript framework like Next.js or Nuxt fetches content from that API and renders it.","\"Headless\" only describes that separation — it doesn't say which frontend framework, rendering mode, host, cache, preview security, or publishing workflow you're using.","Each of those is a separate decision, made by you, that actually affects SEO."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Helpful Content Update","desc":"What Google's Helpful Content Update (HCU) is, how its site-wide classifier works, why it hit programmatic sites hard, and why recovery is so slow — from Patrick Stox.","snippetText":"The Helpful Content Update (HCU) was a series of Google updates (Aug 2022 → Mar 2024) that added a site-wide, machine-learning classifier to demote content made primarily to rank instead of to help people. The part that catches everyone: it's a domain-level signal, so even your best pages can be suppressed if the site overall looks search-engine-first. It hit programmatic and templated sites hard, and in March 2024 it was folded into core ranking alongside the new scaled-content-abuse spam policy — so there are no standalone HCU updates anymore. Recovery is genuinely slow and often incomplete;","href":"/programmatic-seo/risks/helpful-content-update/","slug":"helpful-content-update","meta":"Educational","aliases":["helpful-content-update","helpful content update","HCU","helpful content system","people-first content","Helpful Content Update","programmatic-seo","indexing"],"pillar":"programmatic-seo","taxonomy":["programmatic-seo","risks"],"text":"helpful-content-update programmatic-seo google-updates scaled-content content-quality The Helpful Content Update (HCU) was a series of Google updates (Aug 2022 → Mar 2024) that added a site-wide, machine-learning classifier to demote content made primarily to rank instead of to help people. The part that catches everyone: it's a domain-level signal, so even your best pages can be suppressed if the site overall looks search-engine-first. It hit programmatic and templated sites hard, and in March 2024 it was folded into core ranking alongside the new scaled-content-abuse spam policy — so there are no standalone HCU updates anymore. Recovery is genuinely slow and often incomplete; community tracking shows most hit sites never came all the way back. The fix isn't a technical patch, it's a change in what the site is for. Production method (AI vs human) was never the issue; intent and value are. What the Helpful Content Update is The one thing most people get wrong Is it still a thing? Does it ban AI content? What it actually is How it differs from a core update The timeline How the classifier works Why programmatic SEO got hit hardest Google's self assessment questions Recovery: what Google says vs. what actually happened Common myths, quickly What about Bing? Bottom line AI summary Official documentation Quotes from the source The mental models HCU at a glance — cheat sheet People first content self assessment Prompts for a people first content audit Review one page without turning the output into a score Audit a site’s publishing pattern Test yourself: the Helpful Content Update The Helpful Content Update (HCU) was a series of Google updates starting in August 2022 that added a site-wide, machine-learning classifier to demote content made primarily to rank rather than to help people. In March 2024 it was folded into Google's core ranking system. TL;DR — The Helpful Content Update HCU was Google's way of demoting pages made mainly to rank in search instead of to help real people. The twist that surprised everyone: it judges your whole site , not just individual pages — so a pile of thin content can drag down even your good pages. It started in August 2022 and, since March 2024, it's baked into Google's normal ranking, so there's no standalone \"HCU\" anymore. What the Helpful Content Update is Google introduced the helpful content system to reward content made pri","passages":["TL;DR — The Helpful Content Update HCU was Google's way of demoting pages made mainly to rank in search instead of to help real people.","The twist that surprised everyone: it judges your whole site , not just individual pages — so a pile of thin content can drag down even your good pages.","It started in August 2022 and, since March 2024, it's baked into Google's normal ranking, so there's no standalone \"HCU\" anymore.","What the Helpful Content Update is Google introduced the helpful content system to reward content made primarily for people rather than content made mainly to attract search visits.","Google later incorporated that system's signals into its core ranking systems, so it is no longer a separately announced periodic update.","The Helpful Content Update — most people just say HCU — was a series of Google updates aimed at one idea: reward people first content and demote search engine first content .","People first content is made because you have an audience that will find it useful — it shows real, first hand knowledge and leaves the reader feeling like they actually learned something.","Search engine first content is made mainly to rank: chasing trending keywords, hitting a word count, mass producing pages on topics you don't really know, or summarizing what everyone else already said without adding anything."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/programmatic-seo/risks/helpful-content-update/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/programmatic-seo/risks/helpful-content-update/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Hexo SEO","desc":"How to do SEO on a Hexo site — the Node.js static site generator. Hexo outputs pure HTML so content is crawlable on the first fetch, but sitemaps, robots.txt, meta descriptions, canonicals, structured data, and stable permalinks all depend on plugins and config.","snippetText":"Hexo is a Node.js static site generator: hexo generate compiles Markdown into pure static HTML, so Googlebot reads your full content on the first fetch with no JavaScript rendering queue. That's the crawlability floor — but it's not finished SEO. Most default themes ship no sitemap, no robots.txt, no per-post meta description, no canonical, and no structured data; you add those with _config.yml settings, front matter fields, theme edits, and plugins (hexo-generator-sitemap, hexo-generator-robotstxt, hexo-generator-feed, hexo-abbrlink). The big traps are a wrong url: in _config.yml, the date-ba","href":"/technical-seo/platform-seo/static-site-generators/hexo-seo/","slug":"hexo-seo","meta":"Educational","aliases":["hexo-seo","Hexo SEO","SEO for Hexo","Hexo blog SEO","Hexo static site SEO","static-site-generators","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","static-site-generators"],"text":"javascript-seo ssg hexo static-site-generators sitemap permalinks baidu Hexo is a Node.js static site generator: hexo generate compiles Markdown into pure static HTML, so Googlebot reads your full content on the first fetch with no JavaScript rendering queue. That's the crawlability floor — but it's not finished SEO. Most default themes ship no sitemap, no robots.txt, no per-post meta description, no canonical, and no structured data; you add those with _config.yml settings, front matter fields, theme edits, and plugins (hexo-generator-sitemap, hexo-generator-robotstxt, hexo-generator-feed, hexo-abbrlink). The big traps are a wrong url: in _config.yml, the date-based default permalink that breaks links on rename, and auto-generated category/tag archives that create thin duplicate content. For Baidu-facing sites, the static output removes a real crawling obstacle — though that's not a guarantee of Baidu indexing or ranking. What Hexo is What Hexo does not do for you The two settings that matter most before you launch The thing most people get wrong Hexo's static output is the crawling advantage Configure first — is the big one Front matter SEO controls and what's missing Essential plugins Permalink stability — the abbrlink fix NexT theme SEO configuration Category and tag pages: the duplicate content trap Structured data / JSON LD Core Web Vitals Targeting Baidu Chinese audience sites Deploying to GitHub Pages — the SEO gotchas Hexo vs. Hugo vs. Jekyll vs. Astro, for SEO AI summary Official documentation Quotes from the source Hexo SEO checklist Hexo SEO — cheat sheet Build, serve, and verify a Hexo site Confirm content is in the raw HTML not JS rendered Tools for Hexo SEO Hexo SEO is the practice of optimizing sites built with Hexo, the Node.js static site generator. Hexo outputs pure static HTML at build time, so content is crawlable on the first fetch — but sitemaps, robots.txt, meta descriptions, canonicals, and structured data all depend on plugins and theme configuration. TL;DR — Hexo builds your blog into plain HTML files ahead of time, so Google sees your content the moment it fetches a page — no waiting on JavaScript. That's the easy part. The catch: Hexo doesn't add a sitemap, a , meta descriptions, or canonical tags on its own. You turn those on with a few plugins and config settings. What Hexo is Hexo is a free blogging framework built on Node.js.","passages":["TL;DR — Hexo builds your blog into plain HTML files ahead of time, so Google sees your content the moment it fetches a page — no waiting on JavaScript.","The catch: Hexo doesn't add a sitemap, a , meta descriptions, or canonical tags on its own.","What Hexo is Hexo is a free blogging framework built on Node.js.","You write posts in Markdown, run , and Hexo turns everything into finished HTML files.","You upload those files to a host GitHub Pages, Netlify, Cloudflare Pages, and so on .","When Google or a reader requests a page, they get the complete HTML right away — there's nothing left for the browser to build.","That's great for SEO: your text and links are in the page from the first byte, so Google doesn't have to run any JavaScript to find your content.","Hexo sits in the same family as Hugo and Jekyll — all of them pre build everything see Static Site Generators /technical seo/platform seo/static site generators/ ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/hexo-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/hexo-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HTTPS for SEO","desc":"How much HTTPS actually helps rankings, why it matters far more for trust and browser features, and how to migrate HTTP→HTTPS without losing traffic — redirects, mixed content, and HSTS.","snippetText":"Google's current page-experience guidance says aspects beyond Core Web Vitals 'don't directly help your website rank higher' — so don't promise a present-day ranking boost from HTTPS. Historically, Google called it a 'very lightweight signal' in 2014 (fewer than 1% of queries), and Gary Illyes characterized it as a tiebreaker in 2015 — dated commentary, not current mechanics. Separately, Google does actively prefer HTTPS pages as canonical today, but only conditionally: a bad certificate, insecure dependencies, or a downgrade redirect can flip that preference to HTTP, and HSTS can't override i","href":"/technical-seo/https/","slug":"https","meta":"Educational","aliases":["https","HTTPS","HTTPS for SEO","HTTPS ranking signal","HTTP to HTTPS migration","SSL certificate SEO","mixed content","HSTS","migrations","canonicalization","change-of-address-tool"],"pillar":"technical-seo","taxonomy":["technical-seo","https"],"text":"https tls ssl technical-seo mixed-content hsts http-to-https-migration Google's current page-experience guidance says aspects beyond Core Web Vitals 'don't directly help your website rank higher' — so don't promise a present-day ranking boost from HTTPS. Historically, Google called it a 'very lightweight signal' in 2014 (fewer than 1% of queries), and Gary Illyes characterized it as a tiebreaker in 2015 — dated commentary, not current mechanics. Separately, Google does actively prefer HTTPS pages as canonical today, but only conditionally: a bad certificate, insecure dependencies, or a downgrade redirect can flip that preference to HTTP, and HSTS can't override it. The bigger reasons to be on HTTPS: Chrome marks every HTTP page 'Not Secure,' HTTP/2 and modern browser features need it in practice, and an estimated ~89% of the web is already there, so the SEO risk is being the holdout, not the gain from switching. Migrating is a site migration: 301-redirect every URL (301s don't lose PageRank), fix mixed content, update canonicals/sitemaps/internal links, and re-verify in Search Console — no Change of Address tool needed for a protocol switch. What HTTPS is Does HTTPS help SEO? Will switching hurt my rankings? Does Google currently promise a ranking boost from HTTPS? The 2014 signal and the \"tiebreaker\" framing — historical, not current mechanics Google's HTTPS canonical preference — conditional, not scheme only Why HTTPS actually matters Migrating HTTP → HTTPS Mixed content HSTS and why it isn't a replacement for your 301s Common myths AI summary Official documentation Quotes from the source HTTP → HTTPS migration checklist The mental models HTTPS for SEO — cheat sheet Force HTTPS and set HSTS Find mixed content from the command line Resources worth your time Stats worth citing Test yourself: HTTPS for SEO HTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' TL;DR — HTTPS is the secure, encrypted version of HTTP — the lock icon in your browser. Google gives HTTPS pages a tiny ranking nudge, but the real reasons to switch are that Chrome labels plain HTTP sites \"Not Secure,\" and HTTPS is now just what the web expec","passages":["TL;DR — HTTPS is the secure, encrypted version of HTTP — the lock icon in your browser.","Google gives HTTPS pages a tiny ranking nudge, but the real reasons to switch are that Chrome labels plain HTTP sites \"Not Secure,\" and HTTPS is now just what the web expects.","Moving over is safe if you do it right: redirect every old URL to its version and don't break anything along the way.","What HTTPS is When you load a website, your browser talks to a server.","With plain HTTP , that conversation happens in the open — anyone on the network in between your ISP, the coffee shop Wi Fi, an attacker can read it or tamper with it.","The \"S\" stands for \"Secure.\" You get it by installing a TLS certificate people still call it an \"SSL certificate\" on your server.","You can see whether a page uses it in the address bar: a URL starting with and usually a padlock icon.","HTTPS only covers the connection itself — it doesn't vouch for what's on the page."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/https/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/https/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Hugo SEO","desc":"Hugo outputs static HTML at build time, so content is in the raw HTML on the first fetch — no rendering queue. That doesn't guarantee good Core Web Vitals or rankings on its own, and canonicals, taxonomy duplication, the aliases-vs-301 trap, and the baseURL preview-domain bug still need hands-on configuration. The full Hugo SEO guide.","snippetText":"Hugo is a Go-based static site generator that compiles Markdown into finished HTML at build time, so your content is in the raw HTML before a crawler ever asks for it — no JavaScript rendering queue, no Wave 2 delay. That's a real head start, and it's free — but it doesn't by itself guarantee good Core Web Vitals, correct canonicals, crawlability, indexing, or rankings; verify the deployed output. The work is everything 'static' doesn't do for you: a third-party SALT.agency survey (not independently re-verified here) found 53.50% of Hugo sites have no canonical tag and 90.96% lack hreflang, ta","href":"/technical-seo/platform-seo/static-site-generators/hugo-seo/","slug":"hugo-seo","meta":"Educational","aliases":["hugo-seo","Hugo SEO","SEO for Hugo","Hugo static site SEO","static-site-generator","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","static-site-generators"],"text":"javascript-seo ssg hugo static-site-generators hugo-seo canonical sitemap redirects schema hreflang Hugo is a Go-based static site generator that compiles Markdown into finished HTML at build time, so your content is in the raw HTML before a crawler ever asks for it — no JavaScript rendering queue, no Wave 2 delay. That's a real head start, and it's free — but it doesn't by itself guarantee good Core Web Vitals, correct canonicals, crawlability, indexing, or rankings; verify the deployed output. The work is everything 'static' doesn't do for you: a third-party SALT.agency survey (not independently re-verified here) found 53.50% of Hugo sites have no canonical tag and 90.96% lack hreflang, taxonomy pages auto-generate and need an explicit noindex/disable/invest decision, Hugo aliases are meta-refresh redirects not 301s (a real migration hazard — confirm the actual host response), the schema partial outputs microdata not JSON-LD, and the baseURL config can silently point every canonical at a deploy-preview domain (don't confuse this with canonifyURLs, a separate URL-rewriting setting). Get those right and Hugo is one of the lower-risk architectures you can ship. What Hugo is Why that's good for SEO The myth to drop right now The three things beginners trip on The thing to never forget Why Hugo starts ahead: no rendering queue What Hugo gives you vs. what you must build Canonical tags — the biggest ecosystem gap The bug that silently breaks every canonical Taxonomy pages — Hugo's biggest SEO gotcha The sitemap and robots.txt defaults Open Graph, Twitter Cards, and structured data URLs, aliases, and the migration hazard Multilingual and hreflang Pagination Images and performance Choosing a theme for SEO Where this fits AI summary Official documentation Quotes from the source Hugo SEO mistakes to avoid Trusting the theme to add a canonical tag Deploying with the auto detected build command on a preview URL platform Hugo SEO is the practice of optimizing sites built with Hugo, the Go-based static site generator. Hugo outputs finished HTML at build time, so content is in the raw HTML on the first fetch — but that alone doesn't guarantee good Core Web Vitals or rankings, and canonicals, taxonomy duplication, and aliases-vs-301s still need hands-on configuration. TL;DR — Hugo builds your whole site into plain HTML files before anyone visits. So when Google shows up, ","passages":["TL;DR — Hugo builds your whole site into plain HTML files before anyone visits.","So when Google shows up, your content is already there — no waiting for JavaScript.","But \"static\" doesn't mean \"automatically optimized\": you still have to add canonical tags, watch out for auto generated tag pages, and remember that Hugo's redirects aren't real 301s.","What Hugo is Hugo is a tool that turns your writing in Markdown and your templates into a folder of finished HTML pages.","It runs that build on your computer or a build server ahead of time , then you upload the plain HTML files.","When Google, Bing, or a reader requests a page, they get complete HTML on the first try.","Building and deploying are two separate steps — nothing you change content, data, templates, config is visible publicly until you rebuild and the new output actually gets deployed.","This page describes current Hugo v0.164.x documentation; re check specifics against the version you're running."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/hugo-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/hugo-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Interaction to Next Paint (INP)","desc":"What INP measures, the ≤200 ms threshold at p75, why it replaced FID in 2024, and how to actually fix a poor score — from a technical SEO.","snippetText":"Interaction to Next Paint (INP) is the Core Web Vital for responsiveness. It watches every click, tap, and keyboard interaction across a visit and reports the latency that (close to) all of them came in under — measured at the 75th percentile in the field. Good is ≤200 ms, poor is >500 ms. INP replaced First Input Delay on March 12, 2024, because FID only timed the first interaction's input delay; INP measures the full latency (input delay + processing + presentation) of all of them. You fix it by breaking up long tasks, yielding to the main thread, doing less in event handlers, shrinking the ","href":"/technical-seo/web-performance/web-vitals/core-web-vitals/interaction-to-next-paint/","slug":"interaction-to-next-paint","meta":"Educational","aliases":["inp","interaction to next paint","inp metric","INP","core-web-vitals","tbt","lcp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals","core-web-vitals"],"text":"inp interaction-to-next-paint core-web-vitals web-performance technical-seo page-experience Interaction to Next Paint (INP) is the Core Web Vital for responsiveness. It watches every click, tap, and keyboard interaction across a visit and reports the latency that (close to) all of them came in under — measured at the 75th percentile in the field. Good is ≤200 ms, poor is >500 ms. INP replaced First Input Delay on March 12, 2024, because FID only timed the first interaction's input delay; INP measures the full latency (input delay + processing + presentation) of all of them. You fix it by breaking up long tasks, yielding to the main thread, doing less in event handlers, shrinking the DOM, and taming third-party scripts. It's a field metric — Total Blocking Time is its lab proxy. What INP actually measures The thresholds Why it replaced FID What makes INP bad — in plain terms What INP measures — and how it differs from FID The three parts of an interaction's latency The thresholds — and the p75 field caveat Why INP is a field metric and lab data isn't enough Why your INP score is poor How to fix it Does INP affect rankings? INP vs FID — the full picture Edge cases that make INP data disagree Where this sits AI summary Official documentation Quotes from the source INP fix checklist INP vs FID — cheat sheet Yield to the main thread Defer non critical work in a handler Tools for measuring and fixing INP INP fixes that usually miss the point Optimizing only the first interaction Interaction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good. {/ tool rule claim: performance.core web vitals/article contract /} TL;DR — INP measures how quickly your page responds when someone clicks, taps, or types. The browser times the gap between the interaction and the next visual update, across the whole visit, and reports roughly the worst one. Under 200 ms is good; over 500 ms is poor. It's one of the three Core Web Vitals, and it replaced an older metric called First Input Delay in 2024. What INP actually measures When you click a button, tap a menu, or type in a box, you expect the page to react — a menu opens, a checkbox ticks, text appears. Interaction to Next Paint INP measures how long that takes: the time from your interaction until the browser paints the next frame showing something changed. Here's the part that m","passages":["{/ tool rule claim: performance.core web vitals/article contract /} TL;DR — INP measures how quickly your page responds when someone clicks, taps, or types.","The browser times the gap between the interaction and the next visual update, across the whole visit, and reports roughly the worst one.","It's one of the three Core Web Vitals, and it replaced an older metric called First Input Delay in 2024.","What INP actually measures When you click a button, tap a menu, or type in a box, you expect the page to react — a menu opens, a checkbox ticks, text appears.","Interaction to Next Paint INP measures how long that takes: the time from your interaction until the browser paints the next frame showing something changed.","It watches every click, tap, and keyboard press during your entire visit, then reports close to the slowest one.","So a single janky interaction — a search box that freezes for half a second every time you type — can sink the whole score.","The thresholds INP is reported in milliseconds, and Google buckets it into three ratings: Good — 200 ms or less Needs improvement — more than 200 ms, up to 500 ms Poor — more than 500 ms For context: 200 ms is fast, but it's not a lot of headroom."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/interaction-to-next-paint/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/interaction-to-next-paint/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Jekyll SEO","desc":"How to optimize Jekyll sites for search — why its static HTML is crawler-friendly by default, plus the jekyll-seo-tag and jekyll-sitemap plugins, permalinks, collections, robots.txt, and the GitHub Pages plugin whitelist.","snippetText":"Jekyll outputs flat, static HTML — crawlers get complete content on the first fetch, with no JavaScript rendering delay. So the SEO work isn't fighting the framework; it's configuration. Install jekyll-seo-tag (title, description, canonical, Open Graph, Twitter Card, JSON-LD) and jekyll-sitemap (sitemap.xml), and set url: in _config.yml or both produce broken output. Pick clean permalinks (/:title/, not date-based) for evergreen content. Create robots.txt yourself — Jekyll won't. Watch two GitHub Pages traps: the plugin whitelist (only a fixed set runs without a GitHub Actions build) and baseu","href":"/technical-seo/platform-seo/static-site-generators/jekyll-seo/","slug":"jekyll-seo","meta":"Educational","aliases":["jekyll-seo","Jekyll SEO","SEO for Jekyll","Jekyll static site SEO","GitHub Pages SEO","static-site-generators","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","static-site-generators"],"text":"javascript-seo ssg jekyll github-pages jekyll-seo-tag jekyll-sitemap static-site-generators Jekyll outputs flat, static HTML — crawlers get complete content on the first fetch, with no JavaScript rendering delay. So the SEO work isn't fighting the framework; it's configuration. Install jekyll-seo-tag (title, description, canonical, Open Graph, Twitter Card, JSON-LD) and jekyll-sitemap (sitemap.xml), and set url: in _config.yml or both produce broken output. Pick clean permalinks (/:title/, not date-based) for evergreen content. Create robots.txt yourself — Jekyll won't. Watch two GitHub Pages traps: the plugin whitelist (only a fixed set runs without a GitHub Actions build) and baseurl misconfiguration on project sites, which breaks every canonical URL. What Jekyll is What Jekyll does not do for you The five things to get right The GitHub Pages surprise Why Jekyll's static output is good for SEO GitHub Pages and Jekyll SEO Project sites vs. user/org sites — the URL decision — the 1 canonical bug on project sites The plugin whitelist It's not just which plugins — it's which versions The GitHub Actions workaround The plugin Sitemaps with Permalink configuration Collections and SEO Publishing states and incremental builds Custom head partials with Liquid is not auto generated Common Jekyll SEO myths Where this fits AI summary Official documentation Quotes from the source Jekyll SEO checklist Jekyll SEO is the set of technical and on-page practices for optimizing sites built with Jekyll — the Ruby static site generator that powers GitHub Pages. Jekyll outputs flat HTML with no rendering delay, so the SEO work is configuration: jekyll-seo-tag for metadata, jekyll-sitemap for sitemaps, clean permalinks, and a manual robots.txt. TL;DR — Jekyll builds your whole site into plain HTML files ahead of time, so Google sees your content on the first visit — no waiting for JavaScript. That's a great starting point for SEO. The work is in the setup: install two plugins for meta tags, for your sitemap , set your site URL in the config, pick clean URLs, and add a yourself. What Jekyll is Jekyll is a static site generator — a tool that turns your content written in Markdown and templates into finished HTML files before anyone visits. It's written in Ruby, and it's the engine behind GitHub Pages , so if you've ever pushed a project's docs or a personal blog to a address, you've","passages":["TL;DR — Jekyll builds your whole site into plain HTML files ahead of time, so Google sees your content on the first visit — no waiting for JavaScript.","The work is in the setup: install two plugins for meta tags, for your sitemap , set your site URL in the config, pick clean URLs, and add a yourself.","What Jekyll is Jekyll is a static site generator — a tool that turns your content written in Markdown and templates into finished HTML files before anyone visits.","It's written in Ruby, and it's the engine behind GitHub Pages , so if you've ever pushed a project's docs or a personal blog to a address, you've probably used Jekyll without thinking about it.","The important part for SEO: because Jekyll produces plain HTML files, a search engine gets your complete content the moment it fetches the page.","That removes one entire failure mode from the table — it doesn't guarantee indexing or rankings by itself, since that still depends on your content, configuration, and the metadata covered below.","What Jekyll does not do for you Here's the catch beginners hit: Jekyll is crawler friendly, but it isn't \"SEO friendly\" out of the box.","A default Jekyll theme often ships with no title tags, meta descriptions, or structured data at all."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/jekyll-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/jekyll-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"JavaScript Framework SEO","desc":"SEO for JavaScript frameworks — React, Next.js, Vue, Nuxt, Angular, Svelte, and Astro. How rendering mode (SSR, SSG, CSR) determines what Google can index, and which frameworks handle SEO best out of the box.","snippetText":"JavaScript framework SEO comes down to rendering mode: SSG and SSR give Googlebot pre-built HTML; CSR requires JavaScript execution that may or may not succeed. Next.js and Nuxt have the most built-in SEO support (SSR, SSG, ISR, metadata APIs). Pure React and Vue in CSR mode are the riskiest for SEO. Astro's island architecture is excellent for SEO by default. Angular requires SSR via @angular/ssr (formerly Angular Universal) for reliable indexation.","href":"/technical-seo/platform-seo/js-frameworks/","slug":"js-frameworks","meta":"Educational","aliases":["js-frameworks","JavaScript framework SEO","React SEO","Next.js SEO","Vue SEO","best JavaScript framework for SEO","JavaScript Frameworks","javascript-seo","headless-cms"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo"],"text":"javascript-seo react-seo nextjs-seo vue-seo nuxt-seo angular-seo svelte-seo astro-seo technical-seo platform-seo JavaScript framework SEO comes down to rendering mode: SSG and SSR give Googlebot pre-built HTML; CSR requires JavaScript execution that may or may not succeed. Next.js and Nuxt have the most built-in SEO support (SSR, SSG, ISR, metadata APIs). Pure React and Vue in CSR mode are the riskiest for SEO. Astro's island architecture is excellent for SEO by default. Angular requires SSR via @angular/ssr (formerly Angular Universal) for reliable indexation. Why JavaScript frameworks have SEO concerns Rendering modes explained Frameworks by SEO safety out of the box Rendering mode, metadata API, and ISR support by framework Metadata timing, crawlable links, and ISR cache staleness JavaScript framework SEO checklist Universal applies to all frameworks Next.js Nuxt Astro Angular Framework deep dives Related reading JavaScript frameworks — React, Vue, Angular, Next.js, Nuxt, Svelte, Astro — are libraries or meta-frameworks for building web UIs. Their SEO impact depends on rendering mode: SSR and SSG deliver pre-rendered HTML; CSR-only apps require Googlebot to execute JavaScript before it can index content. TL;DR — Most JavaScript frameworks build pages in your visitor's browser CSR . This works fine for users, but search engines might not run the JavaScript and miss your content. The fix: use a framework mode that builds pages on the server SSR or at build time SSG . Next.js and Nuxt make this easy; pure React and Vue in CSR mode require extra work. Why JavaScript frameworks have SEO concerns Google processes JavaScript through crawling, rendering, and indexing, and blocked or failed resources can change the rendered result. Rendering mode and metadata implementation matter more than the framework brand alone. Traditional websites send complete HTML from the server. Search engine crawlers download that HTML and index the content immediately. JavaScript frameworks often work differently: the server sends a minimal HTML file, and then JavaScript runs in the browser to build the actual page content. If a search engine crawler doesn't run your JavaScript or runs it but something fails , it sees an empty page. That's the CSR SEO problem. Rendering modes explained SSG static site generation — pages are built as HTML at deploy time. Crawlers get complete HTML with","passages":["TL;DR — Most JavaScript frameworks build pages in your visitor's browser CSR .","This works fine for users, but search engines might not run the JavaScript and miss your content.","The fix: use a framework mode that builds pages on the server SSR or at build time SSG .","Next.js and Nuxt make this easy; pure React and Vue in CSR mode require extra work.","Why JavaScript frameworks have SEO concerns Google processes JavaScript through crawling, rendering, and indexing, and blocked or failed resources can change the rendered result.","Rendering mode and metadata implementation matter more than the framework brand alone.","Search engine crawlers download that HTML and index the content immediately.","JavaScript frameworks often work differently: the server sends a minimal HTML file, and then JavaScript runs in the browser to build the actual page content."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"JSON-LD","desc":"JSON-LD is the script-based structured data format Google recommends — easiest to implement, never touches visible HTML, and typically pairs with schema.org for SEO.","snippetText":"JSON-LD (JavaScript Object Notation for Linked Data) is a structured data format that lives in a <script type=\"application/ld+json\"> tag; on the SEO side it's typically paired with the schema.org vocabulary to describe page content, though JSON-LD itself can carry other vocabularies too. It's a W3C standard (2014), and Google recommends it over Microdata and RDFa for one reason: it's the easiest format to implement and maintain at scale, because it sits in its own block and never touches your visible HTML. All three formats work equally well when implemented correctly. The syntax spine is @con","href":"/technical-seo/on-page/structured-data/json-ld/","slug":"json-ld","meta":"Educational","aliases":["json-ld","JSON-LD","JSON-LD structured data","JSON for linking data","structured-data","schema-markup-for-ai","javascript-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"json-ld structured-data schema-markup schema-org on-page-seo schema rich-results validator JSON-LD (JavaScript Object Notation for Linked Data) is a structured data format that lives in a <script type=\"application/ld+json\"> tag; on the SEO side it's typically paired with the schema.org vocabulary to describe page content, though JSON-LD itself can carry other vocabularies too. It's a W3C standard (2014), and Google recommends it over Microdata and RDFa for one reason: it's the easiest format to implement and maintain at scale, because it sits in its own block and never touches your visible HTML. All three formats work equally well when implemented correctly. The syntax spine is @context (the vocabulary — schema.org for most SEO markup, but not the only valid value), @type (the entity), and @id (a useful but optional stable URI for linking entities — the basis of the @graph pattern, itself one valid way to organize multiple entities, not a requirement). The catch most guides miss: Googlebot renders JavaScript so dynamically injected JSON-LD works for Google, but several AI crawlers — GPTBot and ClaudeBot included, as tested — don't execute JavaScript; that's provider- and date-specific, not a universal rule, so verify directly if a particular crawler matters to you and server-render markup you can't confirm otherwise. Structured data is not a ranking signal; it governs rich-result eligibility and entity understanding, and it must describe content actually visible on the page. What JSON LD is Why Google likes it What it actually does for you The one rule that matters JSON LD is a format, not a vocabulary JSON LD vs. Microdata vs. RDFa The syntax: @context, @type, @id, properties, nesting The @graph pattern the scalable approach Where to place it: or Generating JSON LD dynamically — and the AI crawler catch The policies these have teeth now Common JSON LD mistakes Validating JSON LD Does JSON LD help SEO? AI summary Official documentation Quotes from the source JSON LD syntax — quick reference Tools for validating JSON LD JSON LD mistakes to avoid Prove a JSON LD deployment took effect Test 1 — The live page contains valid, page matching JSON LD Test 2 — The target search feature recognizes the rendered markup Test yourself: JSON LD JSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.or","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — JSON LD is a small block of code you add to a page to spell out what the page is about — that it's an article, a product, a recipe — in a format search engines and AI systems read easily.","It sits in its own tag and never changes anything visitors see.","Google recommends it over the other two formats because it's the easiest to add and keep tidy.","It won't make you rank higher, but it can make your results look richer stars, prices, FAQs .","What JSON LD is When you publish a page, a human can read it and figure out \"oh, this is a recipe for banana bread.\" A search engine has to guess that from the words.","Structured data is how you stop the guessing — you label the page in machine readable code so engines know it's a recipe, who the author is, what the rating is.","The name stands for JavaScript Object Notation for Linked Data .","In practice, JSON LD is a chunk of code that looks like a list of labelled facts, tucked inside a tag: The key thing: that block lives separately from the words on your page."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/json-ld/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/json-ld/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Largest Contentful Paint (LCP)","desc":"What LCP measures, its thresholds, the four sub-parts that make it up, and how to actually improve it — the Core Web Vital people struggle with most.","snippetText":"Largest Contentful Paint (LCP) is the render time of the largest image or text block visible in the viewport, relative to when the page started loading. Good is ≤2.5 s at the 75th percentile of real users; it's one of the three Core Web Vitals. It breaks into four sub-parts — TTFB, resource load delay, resource load duration, and element render delay — and TTFB plus load duration usually dominate. The biggest wins: don't lazy-load the LCP image, give it fetchpriority=high, preload it, cut render-blocking resources, and fix TTFB. It's a field metric — lab tools only approximate it — and of the ","href":"/technical-seo/web-performance/web-vitals/core-web-vitals/largest-contentful-paint/","slug":"largest-contentful-paint","meta":"Educational","aliases":["lcp","largest contentful paint","lcp metric","LCP","core-web-vitals","ttfb","fcp","loading performance","largest element speed","cwv"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals","core-web-vitals"],"text":"lcp core-web-vitals web-performance technical-seo page-speed fetchpriority Largest Contentful Paint (LCP) is the render time of the largest image or text block visible in the viewport, relative to when the page started loading. Good is ≤2.5 s at the 75th percentile of real users; it's one of the three Core Web Vitals. It breaks into four sub-parts — TTFB, resource load delay, resource load duration, and element render delay — and TTFB plus load duration usually dominate. The biggest wins: don't lazy-load the LCP image, give it fetchpriority=high, preload it, cut render-blocking resources, and fix TTFB. It's a field metric — lab tools only approximate it — and of the Core Web Vitals it's the one people struggle most to pass, especially on mobile. What LCP is The score Why it can be hard What to do first What LCP actually measures The thresholds — and why 2.5 seconds What counts as the LCP element The four sub parts — the part most articles skip How to find your LCP element How to improve LCP Lab vs. field — this distinction matters Does LCP affect rankings? Where this fits AI summary Official documentation Quotes from the source LCP fix checklist LCP cheat sheet Tools for measuring and fixing LCP LCP fixes that target the wrong problem Lazy loading the hero image Compressing every image before finding the bottleneck Loading the hero through JavaScript Declaring victory from one Lighthouse run Largest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good. {/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Largest Contentful Paint LCP measures how long it takes for the biggest thing on screen — usually a hero image or a big block of text — to show up after someone clicks to your page. Under 2.5 seconds is good. It's one of Google's three Core Web Vitals, and it's the one most sites struggle with. What LCP is The first impression people have of your site is how fast it appears to load. LCP tries to put a number on that. It measures the amount of time it takes to load the single largest visible element in the viewport — the part of the page you can see without scrolling. That \"largest element\" is usually one of two things: A big image — a hero banner, a product photo, a featured image. A big block of text — common on article pages that ","passages":["{/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Largest Contentful Paint LCP measures how long it takes for the biggest thing on screen — usually a hero image or a big block of text — to show up after someone clicks to your page.","It's one of Google's three Core Web Vitals, and it's the one most sites struggle with.","What LCP is The first impression people have of your site is how fast it appears to load.","It measures the amount of time it takes to load the single largest visible element in the viewport — the part of the page you can see without scrolling.","That \"largest element\" is usually one of two things: A big image — a hero banner, a product photo, a featured image.","A big block of text — common on article pages that don't lead with an image.","LCP is the moment that element finishes rendering, measured from when the page first started loading.","The score Google sorts LCP into three buckets: Good: 2.5 seconds or less Needs improvement: 2.5 to 4 seconds Poor: more than 4 seconds You're aiming for that 2.5 second mark."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/largest-contentful-paint/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/core-web-vitals/largest-contentful-paint/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Google Lighthouse","desc":"What Google Lighthouse is, how the Performance score is calculated, why it varies, and why it's lab data — not a ranking signal. With the metric weights and color bands.","snippetText":"Lighthouse is Google's open-source tool that audits a page in simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. The Performance score is a weighted average of five lab metrics (TBT 30%, LCP 25%, CLS 25%, FCP 10%, Speed Index 10%). It's lab data, not field data — so it is not the Core Web Vitals ranking signal, it can't measure INP the way the field does, and it varies run-to-run. It powers the lab section of PageSpeed Insights; PSI adds CrUX field data on top. A 100 doesn't buy you rankings.","href":"/technical-seo/web-performance/web-performance-tools/lighthouse/","slug":"lighthouse","meta":"Educational","aliases":["lighthouse","google lighthouse","lighthouse audit","lighthouse score","Lighthouse","pagespeed-insights","core-web-vitals","tbt"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-performance-tools"],"text":"lighthouse web-performance core-web-vitals pagespeed-insights technical-seo performance-score Lighthouse is Google's open-source tool that audits a page in simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. The Performance score is a weighted average of five lab metrics (TBT 30%, LCP 25%, CLS 25%, FCP 10%, Speed Index 10%). It's lab data, not field data — so it is not the Core Web Vitals ranking signal, it can't measure INP the way the field does, and it varies run-to-run. It powers the lab section of PageSpeed Insights; PSI adds CrUX field data on top. A 100 doesn't buy you rankings. What Lighthouse is The one thing to understand first Lighthouse is not PageSpeed Insights exactly The big myth to drop What Lighthouse actually is How Lighthouse Works — the lab conditions The Performance score — how it's calculated Why your score changes between runs Lighthouse vs. PageSpeed Insights — the distinction that matters Lighthouse and Core Web Vitals — how they relate Where to run it The myths worth busting Bottom line AI summary Official documentation Quotes from the source Getting a trustworthy Lighthouse read — checklist Lighthouse Performance score — cheat sheet Ways to run Lighthouse and related tools Lighthouse habits that create false confidence Lighthouse score changes between runs Field Core Web Vitals pass but Lighthouse is red Lighthouse cannot measure INP An audit persists after the obvious fix Lighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal. {/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Lighthouse is a free Google tool that grades a web page from 0 to 100 on things like speed and accessibility. It runs the page in a slowed down \"lab\" — a pretend slow phone on a slow network — so the score is often lower than your site feels . It's a great to do list for improvements, but a high score doesn't move you up in Google's rankings. What Lighthouse is Google Lighthouse is a free, open source tool from the team behind Chrome. You point it at a URL, it runs a series of checks on the page, and it hands you a report card with scores in four areas: Performance how fast the page loads , Accessibility ","passages":["{/ tool rule claim: performance.core web vitals/article contract /} TL;DR — Lighthouse is a free Google tool that grades a web page from 0 to 100 on things like speed and accessibility.","It runs the page in a slowed down \"lab\" — a pretend slow phone on a slow network — so the score is often lower than your site feels .","It's a great to do list for improvements, but a high score doesn't move you up in Google's rankings.","What Lighthouse is Google Lighthouse is a free, open source tool from the team behind Chrome.","You point it at a URL, it runs a series of checks on the page, and it hands you a report card with scores in four areas: Performance how fast the page loads , Accessibility can people with disabilities use it , Best Practices general web hygiene , and SEO basic search friendliness checks .","Each score runs from 0 to 100, with color bands so you know at a glance how you did: 0–49 is red — poor 50–89 is orange — needs improvement 90–100 is green — good The one thing to understand first Lighthouse tests your page under fake, slowed down conditions — roughly a mid tier phone on a slow 4G connection.","It does this on purpose, so it can catch problems that real users on slower devices would feel.","That's why you can run Lighthouse on a site that loads instantly on your fast laptop and still see a Performance score of 55."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/lighthouse/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/lighthouse/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Google Merchant Center Feed Optimization","desc":"Optimize your Google Merchant Center product feed: feed-specific titles, GTIN coverage, image quality, required attributes, Attribute Rules, supplemental data sources, and diagnostics.","snippetText":"Your Merchant Center feed is the structured product data Google uses to match your products to queries across Shopping ads, free listings, and AI shopping surfaces. Two of the highest-priority areas are feed-specific product titles (write them for query matching, not as copies of your page H1 — third-party research puts this at 81% of top performers, and Google's own guidance says titles don't need to be identical but must refer to the same product) and GTIN coverage (branded products without GTINs get limited visibility; Google reports retailers who add correct GTINs see an average 20% increa","href":"/ecommerce-seo/merchant-center/merchant-center-feed-optimization/","slug":"merchant-center-feed-optimization","meta":"Educational","aliases":["merchant-center-feed-optimization","merchant center feed optimization","product feed optimization","GMC feed","shopping feed","Google Merchant Center Feed Optimization","google-merchant-center","ecommerce-seo","product-page-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","merchant-center"],"text":"Your Merchant Center feed is the structured product data Google uses to match your products to queries across Shopping ads, free listings, and AI shopping surfaces. Two of the highest-priority areas are feed-specific product titles (write them for query matching, not as copies of your page H1 — third-party research puts this at 81% of top performers, and Google's own guidance says titles don't need to be identical but must refer to the same product) and GTIN coverage (branded products without GTINs get limited visibility; Google reports retailers who add correct GTINs see an average 20% increase in clicks). Get the required attributes clean to stay eligible, meet image standards, then enrich with supplemental data sources and Attribute Rules for bulk changes. Free listings make the feed an organic asset, and the same Shopping Graph now feeds AI Overviews and AI Mode — with research showing heavy overlap between Google Shopping results and third-party AI shopping carousels like ChatGPT's, though Google doesn't publish a direct feed relationship with those third parties. Audit before you optimize, and never invent GTINs or product facts. What a product feed is Two of the highest priority fields Keep it accurate so nothing gets disapproved Why this isn't just for ads What the feed actually is — and why it's now an SEO surface Audit before you optimize Required attributes: compliance and optimization Title optimization — a high priority lever GTIN coverage — a high priority identifier Images — the most overlooked quick win Categorization: and Optional attributes that pull weight especially for AI Supplemental data sources vs. Attribute Rules Free listings as an organic surface AI search and the new feed imperative Feed health and maintenance International notes Related reading on this site AI summary Official documentation Quotes from the source Feed optimization checklist Attribute quick reference Validate your feed before you upload Google Merchant Center feed optimization is the process of improving the quality, accuracy, and completeness of the product data you submit to Google Merchant Center — titles, identifiers, images, and attributes — so your products show up more often and in more relevant places across Shopping ads, free listings, and AI shopping surfaces. TL;DR — Your Merchant Center feed is the file of product data — titles, prices, images, identif","passages":["TL;DR — Your Merchant Center feed is the file of product data — titles, prices, images, identifiers — that Google reads to decide where to show your products.","The two things that move the needle most: write product titles built for search not just copies of your website title and add GTINs the barcode numbers to every branded product.","Fix the required fields so nothing gets disapproved, then improve from there.","What a product feed is When you sell products through Google — Shopping ads, the free product listings, or now AI shopping answers — you don't send Google your website.","You send a feed : a structured file a spreadsheet, XML, or CSV with a row for each product and columns \"attributes\" describing it: title, description, price, availability, image, brand, and an ID number.","Google reads that feed and uses it to match your products to what people search for.","Better feed data means your products show up more often, for more relevant searches, and look better when they do.","The title is one of the biggest signals Google uses to match your product to a search."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/ecommerce-seo/merchant-center/merchant-center-feed-optimization/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/merchant-center/merchant-center-feed-optimization/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Full-Stack Meta-Frameworks","desc":"How Next.js, Nuxt, and Remix give you SSR, SSG, and native metadata APIs to fix the SPA SEO problem — and why route configuration still decides what actually ships.","snippetText":"Meta-frameworks (Next.js on React, Nuxt on Vue, Remix on React) are built on top of base UI libraries to add server rendering, static generation, file-based routing, and built-in metadata APIs. Those are primitives, not a guarantee: current Next.js, Nuxt, and SvelteKit all let you pick server, static, or client-only output per route (or per component boundary), so a project built with a meta-framework can still ship an empty shell on a route that opts into client-only rendering. Pick a rendering mode that ships content in the initial response (SSR, SSG, or ISR/hybrid), use the framework's nati","href":"/technical-seo/javascript-seo/meta-frameworks/","slug":"meta-frameworks","meta":"Educational","aliases":["meta-frameworks SEO","Next.js SEO","Nuxt SEO","Remix SEO","SSR framework SEO","full-stack framework SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","javascript-seo"],"text":"javascript-seo nextjs nuxt remix ssr ssg meta-framework Meta-frameworks (Next.js on React, Nuxt on Vue, Remix on React) are built on top of base UI libraries to add server rendering, static generation, file-based routing, and built-in metadata APIs. Those are primitives, not a guarantee: current Next.js, Nuxt, and SvelteKit all let you pick server, static, or client-only output per route (or per component boundary), so a project built with a meta-framework can still ship an empty shell on a route that opts into client-only rendering. Pick a rendering mode that ships content in the initial response (SSR, SSG, or ISR/hybrid), use the framework's native metadata API, and then verify — per route — that the response actually contains what you expect. What a meta framework is What a meta framework actually changes The simple takeaway Library vs. framework — why the distinction matters for SEO What every meta framework gives you The three frameworks, compared Rendering modes and what each means for crawlers Mode choice is per route, not per project The mistakes that survive the move to a meta framework Where to go next: the framework guides AI summary Official documentation Quotes from the source Meta framework SEO checklist Frameworks for choosing a rendering mode The route volatility framework The two output review Meta frameworks — cheat sheet Meta framework mistakes that preserve SPA risk Opting the whole site into client only rendering Picking one rendering mode for every route Treating a metadata API as a rendering strategy Assuming framework defaults survive configuration Test yourself: Meta frameworks TL;DR — A meta framework is a tool built on top of a UI library like React or Vue that adds the missing SEO pieces — the option to render your pages on the server so the content is already in the HTML before Google ever sees it. Next.js React , Nuxt Vue , and Remix React are the big three. Picking one doesn't fix anything by itself: you still have to choose a server rendered or static mode for each route and confirm the content actually lands in the response, because the same frameworks let you opt individual routes back into client only rendering. What a meta framework is Meta frameworks add routing, data loading, and server or build time rendering around UI libraries. Delivering meaningful HTML reduces dependence on crawler side rendering but does not guaran","passages":["TL;DR — A meta framework is a tool built on top of a UI library like React or Vue that adds the missing SEO pieces — the option to render your pages on the server so the content is already in the HTML before Google ever sees it.","Next.js React , Nuxt Vue , and Remix React are the big three.","Picking one doesn't fix anything by itself: you still have to choose a server rendered or static mode for each route and confirm the content actually lands in the response, because the same frameworks let you opt individual routes back into client only rendering.","What a meta framework is Meta frameworks add routing, data loading, and server or build time rendering around UI libraries.","Delivering meaningful HTML reduces dependence on crawler side rendering but does not guarantee indexing.","React and Vue are libraries — they're great at building interactive interfaces, but on their own they ship a nearly empty HTML file and build the whole page in the browser with JavaScript.","That's called client side rendering CSR , and it's the classic source of JavaScript SEO trouble: the content isn't in the HTML until scripts run.","A meta framework is a bigger tool built around one of those libraries that fills in everything the library leaves out: Server rendering — build the page on the server so the HTML arrives with content already in it."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/javascript-seo/meta-frameworks/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/javascript-seo/meta-frameworks/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Next-Gen JavaScript Frameworks","desc":"How Qwik's resumability and SolidJS's fine-grained reactivity reduce browser JavaScript startup work — and why neither mechanism by itself guarantees crawlability, indexing, or Core Web Vitals.","snippetText":"\"Next-gen\" is an editorial label used here for Qwik and SolidJS, not a standardized web-platform category. Qwik uses resumability — it serializes listeners, component boundaries, and state into the HTML during SSR/SSG so the browser can resume specific work instead of replaying a full hydration bootstrap. That's not zero JavaScript: Qwikloader (a small bootstrap script) still runs on load, registers listeners, and lazy-loads handler code (QRLs) on interaction. SolidJS uses fine-grained reactivity — signals and no virtual DOM mean targeted DOM updates without a component re-render — and it stil","href":"/technical-seo/javascript-seo/next-gen-frameworks/","slug":"next-gen-frameworks","meta":"Educational","aliases":["next-gen frameworks SEO","Qwik SEO","SolidJS SEO","resumable framework SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","javascript-seo"],"text":"javascript-seo qwik solidjs resumability core-web-vitals next-gen \"Next-gen\" is an editorial label used here for Qwik and SolidJS, not a standardized web-platform category. Qwik uses resumability — it serializes listeners, component boundaries, and state into the HTML during SSR/SSG so the browser can resume specific work instead of replaying a full hydration bootstrap. That's not zero JavaScript: Qwikloader (a small bootstrap script) still runs on load, registers listeners, and lazy-loads handler code (QRLs) on interaction. SolidJS uses fine-grained reactivity — signals and no virtual DOM mean targeted DOM updates without a component re-render — and it still hydrates, just not the same mechanism as resumability. Neither the framework's reactivity model nor its meta-framework (QwikCity, SolidStart) guarantees a route's HTML, metadata, status code, or measured Core Web Vitals; those depend on the rendering mode and implementation you actually ship. This hub maps the two mechanisms and points to the dedicated deep dives. What \"next gen\" means here What this actually changes for SEO The one thing not to mix up The root cause they're attacking Qwik: resumability no hydration — but not zero JS either Where resumability breaks in practice SolidJS: fine grained reactivity smarter hydration — not resumability The distinction, stated plainly An adjacent comparison boundary: Astro islands How they compare to the established frameworks Validating any of this on your own routes Where to go next AI summary Official documentation Quotes from the source Choosing / auditing a next gen framework — checklist Frameworks for evaluating next generation JavaScript Separate crawlability from runtime cost The mechanism test Next gen frameworks — cheat sheet Test yourself: Next Gen JavaScript Frameworks Resources worth your time TL;DR — \"Next gen\" is my label for Qwik and SolidJS — not an official category — because both attack JavaScript startup work through different mechanisms. Less JS running on load can mean faster, more responsive pages, which is what Core Web Vitals reward. But neither framework guarantees your content is crawlable or your Core Web Vitals score well — that still depends on which meta framework rendering mode you actually use. What \"next gen\" means here Most popular frameworks React, Vue, Angular build a lot of the page in your browser. Even when the server se","passages":["TL;DR — \"Next gen\" is my label for Qwik and SolidJS — not an official category — because both attack JavaScript startup work through different mechanisms.","Less JS running on load can mean faster, more responsive pages, which is what Core Web Vitals reward.","But neither framework guarantees your content is crawlable or your Core Web Vitals score well — that still depends on which meta framework rendering mode you actually use.","What \"next gen\" means here Most popular frameworks React, Vue, Angular build a lot of the page in your browser.","Even when the server sends finished HTML, the framework usually has to hydrate it — re run its JavaScript in the browser to \"wake up\" the page so buttons and menus work.","That hydration work is one of the biggest causes of a sluggish page: it eats CPU time right when the user is trying to interact.","\"Next gen\" isn't a standardized web platform category — it's the label I'm using here for two projects that attack that cost head on, each with its own mechanism: Qwik — sends finished HTML and then resumes rather than hydrates.","A small bootstrap script still runs on load; it only fetches the specific code for an interaction the moment you actually click something."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/javascript-seo/next-gen-frameworks/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/javascript-seo/next-gen-frameworks/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Next.js SEO","desc":"How to make a Next.js site crawlable, indexable, and rankable — the two routers, rendering modes (SSG/SSR/ISR/Server Components), the App Router Metadata API, sitemap.ts, robots.ts, next/image, next/link, and the mistakes that quietly break it.","snippetText":"Next.js solves the hardest JavaScript SEO problems by default — if you use it right. The App Router's Server Components and SSG/ISR put content in the HTML so there's no render-queue delay; the native Metadata API resolves titles, canonicals, and Open Graph on the server; sitemap.ts and robots.ts are file conventions. The framework gives you the infrastructure but writes none of your tags for you. The failures are predictable: missing metadataBase, no priority on the LCP image, metadata exported from a Client Component (silently does nothing), and 404 views returning 200.","href":"/technical-seo/platform-seo/js-frameworks/next-seo/","slug":"next-seo","meta":"Educational","aliases":["next-seo","Next.js SEO","Next SEO","SEO for Next.js","Next.js metadata","Next.js App Router SEO","javascript-seo","headless-cms-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"next-js nextjs-seo javascript-seo rendering technical-seo app-router metadata Next.js solves the hardest JavaScript SEO problems by default — if you use it right. The App Router's Server Components and SSG/ISR put content in the HTML so there's no render-queue delay; the native Metadata API resolves titles, canonicals, and Open Graph on the server; sitemap.ts and robots.ts are file conventions. The framework gives you the infrastructure but writes none of your tags for you. The failures are predictable: missing metadataBase, no priority on the LCP image, metadata exported from a Client Component (silently does nothing), and 404 views returning 200. What Next.js SEO is The one big decision: where the page gets built The simple checklist The thing people get wrong Where Next.js fits Two routers, two sets of mechanics Rendering modes and what each means for SEO The Metadata API App Router Metadata with next/head Pages Router Sitemaps robots.txt next/image and Core Web Vitals next/link and internal linking Dynamic routes and generateStaticParams Structured data JSON LD Common Next.js SEO mistakes Deployment notes AI summary Official documentation Quotes from the source Next.js SEO checklist The mental models Next.js SEO — cheat sheet Quick checks for a Next.js build Next.js SEO is the set of practices and built-in features that make a Next.js site crawlable, indexable, and rankable — rendering mode (SSG/SSR/ISR/Server Components), the App Router Metadata API, sitemap.ts/robots.ts conventions, next/image, and next/link. TL;DR — Next.js is one of the best frameworks for SEO when you use it right . Build your pages on the server or at build time not entirely in the browser , set a unique title, description, and canonical on every page, and use the built in and components. Next.js gives you all the tools — but it won't write your SEO tags for you. What Next.js SEO is Next.js is a popular framework built on React for making websites and web apps. Because it's React under the hood, a lot of the page can be built with JavaScript — and that's where SEO questions come in. Next.js SEO is just the practice of making sure search engines can crawl, render, and index a Next.js site, and using the framework's built in features to do that well. The good news: Next.js can build your pages ahead of time or on the server , so search engines get the finished HTML right away. That a","passages":["TL;DR — Next.js is one of the best frameworks for SEO when you use it right .","Build your pages on the server or at build time not entirely in the browser , set a unique title, description, and canonical on every page, and use the built in and components.","Next.js gives you all the tools — but it won't write your SEO tags for you.","What Next.js SEO is Next.js is a popular framework built on React for making websites and web apps.","Because it's React under the hood, a lot of the page can be built with JavaScript — and that's where SEO questions come in.","Next.js SEO is just the practice of making sure search engines can crawl, render, and index a Next.js site, and using the framework's built in features to do that well.","The good news: Next.js can build your pages ahead of time or on the server , so search engines get the finished HTML right away.","That avoids the biggest risk with JavaScript sites — content that only shows up after scripts run."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/next-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/next-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Nuxt SEO","desc":"Nuxt ships server-side rendering by default, but that's a per-route setting, not a guarantee — full HTML to crawlers only on routes that keep it. Rendering modes, useSeoMeta(), the @nuxtjs/seo toolkit, hydration and Nitro caveats, Core Web Vitals, and the mistakes that quietly cost you.","snippetText":"Nuxt server-renders pages by default, so a route that keeps that default gives crawlers a complete HTML document instead of the empty shell a plain Vue SPA ships — but it's a per-route setting: routeRules or a global ssr:false can flip any route to CSR, so verify the actual route rather than assuming from the framework name. The foundational decision is rendering mode per route — SSR (default), SSG via nuxt generate, or hybrid route rules — because meta tags, schema, and sitemaps all come after that. Use useSeoMeta() for meta, treat Harlan Wilton's @nuxtjs/seo bundle as an optional third-party","href":"/technical-seo/platform-seo/js-frameworks/nuxt-seo/","slug":"nuxt-seo","meta":"Educational","aliases":["nuxt-seo","Nuxt SEO","Nuxt.js SEO","SEO for Nuxt","Nuxt 3 SEO","Vue SSR SEO","javascript-seo","headless-cms-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"nuxt-seo javascript-seo rendering vue ssr technical-seo core-web-vitals ai-crawlers Nuxt server-renders pages by default, so a route that keeps that default gives crawlers a complete HTML document instead of the empty shell a plain Vue SPA ships — but it's a per-route setting: routeRules or a global ssr:false can flip any route to CSR, so verify the actual route rather than assuming from the framework name. The foundational decision is rendering mode per route — SSR (default), SSG via nuxt generate, or hybrid route rules — because meta tags, schema, and sitemaps all come after that. Use useSeoMeta() for meta, treat Harlan Wilton's @nuxtjs/seo bundle as an optional third-party toolkit (not Nuxt core) for robots/sitemap/OG/schema/canonical, never reach for dynamic rendering (Google deprecated it), verify hydration/payload and Nitro deployment-preset/cache behavior independently of server HTML, and remember that AI-crawler rendering contracts vary by provider — SSR/SSG puts content in raw HTML and maximizes coverage. Why Nuxt is good for SEO — on the routes that keep the default The one decision that matters most: rendering, per route Adding titles and meta tags The optional add on: the Nuxt SEO modules The thing people get wrong Nuxt is Vue's answer to the SPA problem Rendering strategy is the foundation — decided per route, not per project How Googlebot handles a Nuxt app The AI crawler reality Beyond the initial HTML: payload, hydration, and status codes Nitro, deployment presets, and cache boundaries Meta tags: useSeoMeta and useHead The @nuxtjs/seo module ecosystem Harlan Wilton — optional, not core nuxt/image and Core Web Vitals Nuxt Content + SEO Common Nuxt SEO mistakes llms.txt and AEO Where this fits AI summary Official documentation Quotes from the source Nuxt SEO checklist The mental models Nuxt SEO — cheat sheet Nuxt SEO is the practice of optimizing Nuxt.js (Vue's meta-framework) apps so search engines and AI crawlers can crawl, render, and index them. Nuxt's big advantage is that it ships server-side rendering by default, so pages arrive as fully-formed HTML instead of an empty Vue SPA shell. TL;DR — Nuxt is the framework built on top of Vue, and it's good for SEO for one main reason: on a route that keeps the default , it builds pages on the server, so search engines get a finished HTML page instead of a blank one they'd have to fill in themselv","passages":["TL;DR — Nuxt is the framework built on top of Vue, and it's good for SEO for one main reason: on a route that keeps the default , it builds pages on the server, so search engines get a finished HTML page instead of a blank one they'd have to fill in themselves.","That's a per route setting, not a site wide guarantee — or a global can turn any given route back into a plain Vue style empty shell.","The most important choice you'll make is how each route gets rendered ; everything else meta tags, sitemaps comes after that.","Why Nuxt is good for SEO — on the routes that keep the default Vue, on its own, builds a single page app : the server sends an almost empty HTML shell, and JavaScript fills in the content once it runs in the browser.","That's tricky for search, because the page looks empty until the JavaScript executes.","Nuxt is Vue's \"meta framework\" — a fuller toolkit built around Vue — and its default fixes that problem.","Nuxt renders your pages on the server first server side rendering , or SSR , so when Google or a visitor asks for a page on a route that hasn't been switched off SSR, they get the complete HTML right away.","That's the single biggest reason a Nuxt site can be easier to get indexed than a plain Vue app — but it's a route by route outcome, not something the framework name guarantees."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/nuxt-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/nuxt-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Orphan Pages","desc":"Orphan pages have no internal links, so search engines struggle to find them and they get zero internal PageRank. How to spot and fix them.","snippetText":"An orphan page is one nothing on your site links to internally. Because Google discovers pages mainly by following links, an orphan with no sitemap entry and no backlinks is effectively invisible — and even when it's found via a sitemap, it gets zero internal PageRank and often lands in 'Discovered — currently not indexed.' A crawler alone can't find orphans (it only follows links it can reach); you have to compare the crawl against your sitemap, analytics, and backlink data. Fix the ones you want ranked by adding contextual internal links; noindex the intentional ones (PPC and thank-you pages","href":"/technical-seo/website-structure/internal-links/orphan-pages/","slug":"orphan-pages","meta":"Educational","aliases":["orphan-pages","orphan pages","orphaned pages","orphan page","Orphan Pages","internal-links","crawl-depth","discovered-currently-not-indexed"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure","internal-links"],"text":"orphan-pages internal-links technical-seo crawling indexing pagerank An orphan page is one nothing on your site links to internally. Because Google discovers pages mainly by following links, an orphan with no sitemap entry and no backlinks is effectively invisible — and even when it's found via a sitemap, it gets zero internal PageRank and often lands in 'Discovered — currently not indexed.' A crawler alone can't find orphans (it only follows links it can reach); you have to compare the crawl against your sitemap, analytics, and backlink data. Fix the ones you want ranked by adding contextual internal links; noindex the intentional ones (PPC and thank-you pages); redirect or delete the rest. What an orphan page is Why orphan pages hurt How a page ends up orphaned How to find and fix them What makes a page an orphan Why orphan pages are an SEO problem Search engines can't reliably discover them They receive no internal PageRank They cluster in \"Discovered — currently not indexed\" They can waste crawl budget — but mostly on large sites Common causes How to find orphan pages How to fix them AI summary Official documentation Quotes from the source Orphan page audit checklist The mental models Tools for finding orphan pages Orphan page fixes that create new problems Treating the XML sitemap as an internal link strategy Adding every orphan to the global navigation Calling every zero inlink crawl result an orphan Common orphan page investigation issues An orphan page is a page on your site that no other page links to internally. Because crawlers discover pages by following links, an orphan page is effectively invisible to search engines unless it's in an XML sitemap or linked from an external site. TL;DR — An orphan page is a page on your site that nothing else links to. Search engines find pages by following links, so an orphan is easy to miss — it often doesn't get crawled, indexed, or any traffic. The fix is usually simple: link to it from a few relevant pages on your site. What an orphan page is Picture your website as a network of rooms connected by doorways. The doorways are your internal links. An orphan page is a room with no doorways leading into it — you can only get there if you already know the exact address. That's a problem because search engines don't know the address ahead of time. They find pages mainly by following links : a bot lands on a page, g","passages":["TL;DR — An orphan page is a page on your site that nothing else links to.","Search engines find pages by following links, so an orphan is easy to miss — it often doesn't get crawled, indexed, or any traffic.","The fix is usually simple: link to it from a few relevant pages on your site.","What an orphan page is Picture your website as a network of rooms connected by doorways.","An orphan page is a room with no doorways leading into it — you can only get there if you already know the exact address.","That's a problem because search engines don't know the address ahead of time.","They find pages mainly by following links : a bot lands on a page, grabs the links on it, and visits those next.","If no page links to a page, the bot has no trail to follow, so the page can go unnoticed — and a page that never gets found can't show up in search."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/website-structure/internal-links/orphan-pages/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/internal-links/orphan-pages/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"PageSpeed Insights (PSI)","desc":"PageSpeed Insights reports both real-user field data (CrUX) and a Lighthouse lab score. Only the field Core Web Vitals matter for ranking — the 0–100 score doesn't.","snippetText":"PageSpeed Insights (PSI) at pagespeed.web.dev reports two different things for a URL: real-user field data from the Chrome UX Report (which drives the Passed/Failed Core Web Vitals Assessment at p75) and a single Lighthouse lab run (the 0–100 Performance score plus diagnostics). The 0–100 score is lab data and is NOT what Google ranks on — ranking uses the field Core Web Vitals (LCP, INP, CLS). The score also swings run-to-run, so run it a few times. Use field data to know where you stand and lab diagnostics to find what to fix.","href":"/technical-seo/web-performance/web-performance-tools/pagespeed-insights/","slug":"pagespeed-insights","meta":"Educational","aliases":["pagespeed-insights","pagespeed insights","psi","page speed insights","PageSpeed Insights","lighthouse","crux","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-performance-tools"],"text":"pagespeed-insights web-performance core-web-vitals lighthouse crux technical-seo PageSpeed Insights (PSI) at pagespeed.web.dev reports two different things for a URL: real-user field data from the Chrome UX Report (which drives the Passed/Failed Core Web Vitals Assessment at p75) and a single Lighthouse lab run (the 0–100 Performance score plus diagnostics). The 0–100 score is lab data and is NOT what Google ranks on — ranking uses the field Core Web Vitals (LCP, INP, CLS). The score also swings run-to-run, so run it a few times. Use field data to know where you stand and lab diagnostics to find what to fix. What PageSpeed Insights is The two things PSI shows you The one thing to remember PSI is two tools wearing one coat Field data: what real users experienced Lab data: the 0–100 Lighthouse score The myth that causes the most damage: \"the score is a ranking factor\" How to actually read a PSI report PSI vs. the tools it gets confused with The PSI API for bulk testing Where this sits in web performance AI summary Official documentation Quotes from the source PSI report cheat sheet Tools around PSI PageSpeed Insights mistakes that distort priorities PSI says “No data” PSI and Search Console disagree The lab score swings between runs A fix is visible in Lighthouse but not field data Pull one PSI result from the API Separate field scope from the lab score Repeat the lab run without hiding the samples PageSpeed Insights (PSI) is a free Google tool at pagespeed.web.dev that reports two kinds of data for a URL: real-user field data from the Chrome UX Report and a single Lighthouse lab run with the 0–100 Performance score. Only the field Core Web Vitals are what Google uses for ranking. {/ tool rule claim: performance.core web vitals/article contract /} TL;DR — PageSpeed Insights PSI is a free Google tool that grades a page two different ways: how real visitors actually experienced it field data , and how a single simulated test run went the 0–100 lab score . The 0–100 number is the one everyone obsesses over — and it's not what Google uses for ranking. So don't panic over a red score. What PageSpeed Insights is PageSpeed Insights lives at pagespeed.web.dev https://pagespeed.web.dev/ . It's free, there's no login, and it works on any public URL — including your competitors'. You paste in a URL, and it tests both mobile and desktop mobile is the default tab, and mobi","passages":["{/ tool rule claim: performance.core web vitals/article contract /} TL;DR — PageSpeed Insights PSI is a free Google tool that grades a page two different ways: how real visitors actually experienced it field data , and how a single simulated test run went the 0–100 lab score .","The 0–100 number is the one everyone obsesses over — and it's not what Google uses for ranking.","What PageSpeed Insights is PageSpeed Insights lives at pagespeed.web.dev https://pagespeed.web.dev/ .","It's free, there's no login, and it works on any public URL — including your competitors'.","You paste in a URL, and it tests both mobile and desktop mobile is the default tab, and mobile scores are almost always lower .","The two things PSI shows you This is the part that confuses everyone, so I'll keep it simple.","This comes from the Chrome UX Report CrUX , which is real Chrome users visiting your page over the last 28 days.","It's the section labeled \"Discover what your real users are experiencing.\" This is where you get the Core Web Vitals Assessment — a simple Passed or Failed ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/pagespeed-insights/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/pagespeed-insights/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Pagination","desc":"How to handle pagination for SEO — self-canonicals, why noindex breaks the crawl chain, the rel=prev/next story (Google dropped it, Bing kept it), and infinite scroll.","snippetText":"Pagination splits big content sets — category pages, blog archives, search results — across numbered URLs. Treat each paginated page as a standalone, self-canonical, crawlable page: don't canonicalize them all to page 1, don't noindex page 2+, don't nofollow their links, don't block them in robots.txt. Google quietly stopped using rel=prev/next before announcing it in 2019; Bing still uses it, so leave the markup in place. Paginated pages drive almost no direct traffic — their value is as crawl paths to the content they link to.","href":"/technical-seo/website-structure/pagination/","slug":"pagination","meta":"Educational","aliases":["pagination","paginated content","paginated pages","rel prev next","Pagination","canonical-tag","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"pagination technical-seo website-structure canonical-tag crawl-budget rel-prev-next Pagination splits big content sets — category pages, blog archives, search results — across numbered URLs. Treat each paginated page as a standalone, self-canonical, crawlable page: don't canonicalize them all to page 1, don't noindex page 2+, don't nofollow their links, don't block them in robots.txt. Google quietly stopped using rel=prev/next before announcing it in 2019; Bing still uses it, so leave the markup in place. Paginated pages drive almost no direct traffic — their value is as crawl paths to the content they link to. What pagination is Why it matters for SEO The three ways to show paginated content The mistakes to avoid The one piece of history worth knowing Each paginated page stands on its own The rel=prev/next story — and why it's the interesting part Canonicals: self reference, not page 1 Should you noindex page 2+? Almost never — and here's the trap The other crawl path killers Infinite scroll and \"Load more\" — make them crawlable Structured data on paginated content Crawl budget and the reality check AI summary Official documentation Quotes from the source Pagination SEO checklist The mental models How should a long listing expose more items? Pagination mistakes that cut the crawl path Canonicalizing every page to page one Adding to page two and beyond Building infinite scroll without persistent URLs Common pagination failures Pagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does. TL;DR — Pagination is splitting a long list — products, blog posts, search results — across numbered pages like page 1, 2, 3. Each page needs its own URL, and you want search engines to be able to crawl all of them so they can find the content linked from the deeper pages. The big mistakes are telling Google those deeper pages don't matter by canonicalizing them all to page 1 or noindexing them . What pagination is When you have more items than fit on one page — say 500 products in a category, or years of blog posts in an archive — you split them across a series of pages. Page 1 shows the first batch, page 2 the next, and so on. Each page lives at its own address a","passages":["TL;DR — Pagination is splitting a long list — products, blog posts, search results — across numbered pages like page 1, 2, 3.","Each page needs its own URL, and you want search engines to be able to crawl all of them so they can find the content linked from the deeper pages.","The big mistakes are telling Google those deeper pages don't matter by canonicalizing them all to page 1 or noindexing them .","What pagination is When you have more items than fit on one page — say 500 products in a category, or years of blog posts in an archive — you split them across a series of pages.","Each page lives at its own address a URL , usually something like or .","Why it matters for SEO The pages themselves almost never rank for anything or get direct traffic.","Their real job is to be a path that search engines follow to reach the products or posts listed on them.","If a bot can't get to page 3, it can't find the things that are only linked from page 3."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/website-structure/pagination/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/pagination/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Platform SEO","desc":"SEO considerations by platform and CMS — what each system does for you automatically, what it locks down, and the quirks that matter. Hub for CMS SEO, website builders, headless CMS, JavaScript frameworks, and ecommerce platforms.","snippetText":"Every platform makes SEO decisions for you — some good, some limiting. Traditional CMS platforms like WordPress give you the most control; hosted builders like Wix and Squarespace handle the basics automatically but restrict what you can customize; headless and JS frameworks put you in full control but require you to build what plugins used to handle. This hub points to the platform-specific deep dives: CMS, website builders, headless CMS, JavaScript frameworks, and ecommerce platforms.","href":"/technical-seo/platform-seo/","slug":"platform-seo","meta":"Educational","aliases":["platform-seo","platform SEO","CMS SEO","SEO by platform","best CMS for SEO","website builder SEO","Platform SEO","cms","javascript-seo","headless-cms"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo"],"text":"platform-seo cms-seo technical-seo wordpress-seo shopify-seo headless-cms website-builders Every platform makes SEO decisions for you — some good, some limiting. Traditional CMS platforms like WordPress give you the most control; hosted builders like Wix and Squarespace handle the basics automatically but restrict what you can customize; headless and JS frameworks put you in full control but require you to build what plugins used to handle. This hub points to the platform-specific deep dives: CMS, website builders, headless CMS, JavaScript frameworks, and ecommerce platforms. Why platform choice affects SEO The five categories How to use this section Evaluating platforms for SEO Platform SEO comparison by constraint Platform selection framework for SEO Platform migration checklist Platform specific deep dives Platform SEO covers the SEO considerations specific to the technology a site is built on — CMS, website builder, headless stack, or JavaScript framework. Each platform has different defaults, constraints, and required configurations that affect crawling, indexing, and ranking. TL;DR — The platform you build your site on shapes your SEO options before you write a single word. Some platforms do a lot for you automatically; others give you full control but leave more for you to configure. The difference matters most for technical SEO — titles, canonicals, sitemaps, structured data, robots.txt, and rendering. Why platform choice affects SEO Most SEO advice treats a website as a blank canvas. In reality, your CMS or website builder has already made dozens of SEO decisions for you — the URL structure, how sitemaps are generated, whether you can edit , how metadata is handled, and what structured data gets injected automatically. The good news: most major platforms cover the basics well. The differences show up when you need to do something non standard, fix a specific technical issue, or scale to tens of thousands of pages. The five categories Traditional CMS platforms WordPress, Drupal, Joomla, HubSpot CMS, Umbraco, Sitecore install on your own server or a managed host and give you deep control over every technical SEO setting. WordPress in particular has a rich plugin ecosystem — Yoast, Rank Math, and others handle most technical SEO automatically once configured. Visual and SaaS website builders Wix, Squarespace, Webflow, Framer, and others host your site ","passages":["TL;DR — The platform you build your site on shapes your SEO options before you write a single word.","Some platforms do a lot for you automatically; others give you full control but leave more for you to configure.","The difference matters most for technical SEO — titles, canonicals, sitemaps, structured data, robots.txt, and rendering.","Why platform choice affects SEO Most SEO advice treats a website as a blank canvas.","In reality, your CMS or website builder has already made dozens of SEO decisions for you — the URL structure, how sitemaps are generated, whether you can edit , how metadata is handled, and what structured data gets injected automatically.","The differences show up when you need to do something non standard, fix a specific technical issue, or scale to tens of thousands of pages.","The five categories Traditional CMS platforms WordPress, Drupal, Joomla, HubSpot CMS, Umbraco, Sitecore install on your own server or a managed host and give you deep control over every technical SEO setting.","WordPress in particular has a rich plugin ecosystem — Yoast, Rank Math, and others handle most technical SEO automatically once configured."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"PrestaShop SEO","desc":"How SEO works on PrestaShop — friendly URLs with mandatory ID tokens, configurable canonical redirects, a limited native sitemap and robots.txt generator, no native hreflang or schema, and the module ecosystem that fills the gaps.","snippetText":"PrestaShop is open-source (PHP/MySQL) ecommerce you host yourself, so it gives you deep control but makes you do more configuration than hosted rivals. It does a lot right natively: per-object meta tags, friendly URLs (mod_rewrite required), a configurable 301 redirect-to-canonical, one H1 per page, disabled-product redirect options, and a robots.txt generator. The catch is its defaults: numeric {id} tokens are mandatory in URL routes (removable only via module/route override), the native sitemap doesn't auto-refresh and is weak on multilingual/image coverage, and there's no native hreflang or","href":"/ecommerce-seo/ecommerce-platforms/prestashop-seo/","slug":"prestashop-seo","meta":"Educational","aliases":["prestashop-seo","PrestaShop SEO","PrestaShop","PrestaShop store","faceted-navigation","canonicalization","hreflang"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","ecommerce-platforms"],"text":"prestashop ecommerce-seo faceted-navigation hreflang canonicalization schema PrestaShop is open-source (PHP/MySQL) ecommerce you host yourself, so it gives you deep control but makes you do more configuration than hosted rivals. It does a lot right natively: per-object meta tags, friendly URLs (mod_rewrite required), a configurable 301 redirect-to-canonical, one H1 per page, disabled-product redirect options, and a robots.txt generator. The catch is its defaults: numeric {id} tokens are mandatory in URL routes (removable only via module/route override), the native sitemap doesn't auto-refresh and is weak on multilingual/image coverage, and there's no native hreflang or comprehensive schema. Faceted navigation, sort, and filter URLs aren't canonicalized for you. Most of the gaps are filled by third-party modules, and Core Web Vitals on the heavier default themes is helped by the built-in CCC (Concatenate, Compress, Cache) feature. What \"PrestaShop SEO\" means What PrestaShop does for you out of the box What you still have to handle yourself The thing most people get wrong The frame: deep control, more configuration URL structure Canonical tags Duplicate content — the real work Sitemap Robots.txt Schema / structured data Performance and Core Web Vitals Hreflang for multilingual stores Platform comparison AI summary Official documentation Quotes from the source PrestaShop SEO checklist PrestaShop SEO cheat sheet Modules and tools for PrestaShop SEO Should you remove numeric IDs from PrestaShop URLs? PrestaShop SEO mistakes that create avoidable risk Assume Friendly URLs eliminate duplicate content every paginated category page PrestaShop SEO is the technical, on-page, and module-level work you do on a store built on PrestaShop — an open-source (PHP/MySQL) ecommerce platform that hands you strong native meta-tag and friendly-URL controls plus configurable canonical redirects, but leaves hreflang, comprehensive schema, faceted-navigation canonicals, and an auto-refreshing multilingual sitemap to third-party modules. TL;DR — PrestaShop is a free, open source store platform you install on your own hosting unlike Shopify or BigCommerce, which host it for you . It hands you good SEO basics — editable page titles and descriptions, clean \"friendly\" URLs, automatic canonical tags, and a robots.txt generator — but several important pieces hreflang for multiple languages, ","passages":["TL;DR — PrestaShop is a free, open source store platform you install on your own hosting unlike Shopify or BigCommerce, which host it for you .","It hands you good SEO basics — editable page titles and descriptions, clean \"friendly\" URLs, automatic canonical tags, and a robots.txt generator — but several important pieces hreflang for multiple languages, rich schema, and tidying up filter pages need add on modules.","What \"PrestaShop SEO\" means PrestaShop is an open source ecommerce platform built in PHP.","The big difference from Shopify or BigCommerce is that you host it — you put it on your own server, and you're responsible for updates, security, and performance.","That gives you a lot of control, but it also means more of the SEO setup is on you.","\"PrestaShop SEO\" is just normal SEO — getting your products and categories found, crawled, indexed, and ranked — applied to a store that runs on PrestaShop.","It's worth its own guide because PrestaShop makes some specific default choices like putting numbers in your URLs that you need to understand.","You can edit the page title and meta description for every product, category, and content page from the admin Shop Parameters → Traffic & SEO ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/ecommerce-seo/ecommerce-platforms/prestashop-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ecommerce-platforms/prestashop-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Product Variant SEO","desc":"When to give each product variant its own URL vs. canonical to the base, ProductGroup + hasVariant schema (Feb 2024), and how Shopify, WooCommerce, BigCommerce, and Magento differ.","snippetText":"A product sold in many options (size, color, storage) generates near-duplicate URLs. Consolidate the ones with no standalone search demand to a base URL with a canonical, and give an indexable URL only to variants that have their own demand AND can carry unique content. Google's default is a separate URL per variant canonicaling to the parameter-free base — but SearchPilot found a 22% uplift from doing the reverse (base canonicals to the best variant), so context wins. Mark the relationship up with ProductGroup + hasVariant (Feb 2024). Platforms differ: Shopify auto-canonicals every ?variant=I","href":"/ecommerce-seo/product-pages/product-variant-seo/","slug":"product-variant-seo","meta":"Educational","aliases":["product-variant-seo","product variant SEO","product variants","variant URLs","product color size SEO","Product Variant SEO","product-page-seo","canonicalization","faceted-navigation"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","product-pages"],"text":"product-variant-seo ecommerce-seo canonicalization structured-data productgroup crawl-budget A product sold in many options (size, color, storage) generates near-duplicate URLs. Consolidate the ones with no standalone search demand to a base URL with a canonical, and give an indexable URL only to variants that have their own demand AND can carry unique content. Google's default is a separate URL per variant canonicaling to the parameter-free base — but SearchPilot found a 22% uplift from doing the reverse (base canonicals to the best variant), so context wins. Mark the relationship up with ProductGroup + hasVariant (Feb 2024). Platforms differ: Shopify auto-canonicals every ?variant=ID to the base, BigCommerce has the cleanest built-in handling, WooCommerce/Magento depend on plugins or config. Schema describes the relationship; it doesn't make a variant rank. What a product variant is The two things that can go wrong The simple decision What about my platform? The tension, stated plainly What Google actually recommends When a variant earns its own indexable page The counterintuitive part: canonical direction isn't fixed Keep your signals consistent ProductGroup structured data the Feb 2024 update Crawl budget: the scale problem Platform by platform behavior Myths worth killing Where this sits in the cluster AI summary Official documentation Quotes from the source Variant decision & implementation checklist The decision framework Platform default variant behavior — cheat sheet Variant canonical rule ProductGroup quick reference Myths to kill Should this variant have its own indexable URL? Product variant SEO is deciding how search engines crawl, index, and rank a product sold in multiple options (size, color, material). The job is sorting which variants deserve their own indexable URL and which should be consolidated to a base URL with a canonical. TL;DR — A product variant is the same product in a different option — a shirt in red vs. blue, a phone in 128GB vs. 512GB. The SEO question is: should each option get its own page in Google, or should they all share one? The rule of thumb: give a variant its own page only if people actually search for it like \"navy blue trench coat\" and you can write something genuinely different about it. Otherwise, point all the variant URLs back to one main page so Google treats them as one — using a canonical tag. What a produc","passages":["TL;DR — A product variant is the same product in a different option — a shirt in red vs.","The SEO question is: should each option get its own page in Google, or should they all share one?","The rule of thumb: give a variant its own page only if people actually search for it like \"navy blue trench coat\" and you can write something genuinely different about it.","Otherwise, point all the variant URLs back to one main page so Google treats them as one — using a canonical tag.","What a product variant is A variant is one version of a product that's sold in multiple options.","Common ones: size, color, material, storage capacity, scent, pattern, fit.","A single \"trench coat\" might be sold in three colors and five sizes — that's 15 buyable combinations of the same coat.","The problem is that stores often create a separate web address URL for each one."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/ecommerce-seo/product-pages/product-variant-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/product-variant-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Qwik SEO","desc":"How Qwik's resumability puts content in the HTML by default and drives near-zero INP and TBT — plus the QwikCity patterns for meta tags, canonical URLs, JSON-LD, sitemaps, and i18n that make a Qwik site rank.","snippetText":"Qwik is a JavaScript framework whose core trick is resumability: the server serializes app state, listeners, and the component tree into the HTML, so the browser resumes without hydrating (a ~1 KB Qwikloader script still runs — it's not literally zero JS). For SEO that's a double win on routes that are actually server-rendered — content is in the HTML by default (crawlers see it immediately, no render-wave delay) and INP/TBT trend toward zero because no hydration blocks the main thread on load; confirm both with field data rather than assuming them. QwikCity, the meta-framework, lets you mix S","href":"/technical-seo/platform-seo/js-frameworks/qwik-seo/","slug":"qwik-seo","meta":"Educational","aliases":["qwik-seo","Qwik SEO","SEO for Qwik","QwikCity SEO","resumable framework SEO","javascript-seo","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"javascript-seo qwik qwikcity resumability core-web-vitals ssr ssg Qwik is a JavaScript framework whose core trick is resumability: the server serializes app state, listeners, and the component tree into the HTML, so the browser resumes without hydrating (a ~1 KB Qwikloader script still runs — it's not literally zero JS). For SEO that's a double win on routes that are actually server-rendered — content is in the HTML by default (crawlers see it immediately, no render-wave delay) and INP/TBT trend toward zero because no hydration blocks the main thread on load; confirm both with field data rather than assuming them. QwikCity, the meta-framework, lets you mix SSR and SSG per route, plus routeLoader$() for server-side data and a head export for title/meta/OG/canonical/JSON-LD — all server-rendered. Basic SEO works out of the box; the main discipline is using routeLoader$() for dynamic metadata, not client-side effects. The catch is a smaller ecosystem than React/Vue, and — as of this writing — Qwik is on its v2 line, currently in beta. What Qwik is Why this is good for SEO What you still have to do Resumability: the core idea and why SEO cares What crawlers actually receive Core Web Vitals: a structural advantage Meta tags and the document Structured data JSON LD Sitemaps and robots.txt International SEO SSR vs. SSG for SEO What to watch out for Where this sits AI summary Official documentation Quotes from the source Qwik SEO checklist The mental models Qwik SEO — cheat sheet Check Qwik's generated HTML Tools for auditing a Qwik site Mistakes people actually make on Qwik Setting metadata from a client side effect Running Qwik without QwikCity Qwik SEO is the practice of optimizing sites built with Qwik, a JavaScript framework whose 'resumability' model serializes app state into HTML so the browser never has to hydrate. Content is in the HTML by default, so crawling, indexing, and Core Web Vitals are all structurally strong. TL;DR — Qwik is a JavaScript framework that does something unusual: it sends finished HTML and then runs almost no JavaScript when the page loads. Most frameworks have to \"hydrate\" — re run their code in your browser to wake the page up — and Qwik skips that entirely by resuming from data baked into the HTML. For SEO that means crawlers see your full content right away, and pages score well on the speed metrics Google measures. What Qwik is M","passages":["TL;DR — Qwik is a JavaScript framework that does something unusual: it sends finished HTML and then runs almost no JavaScript when the page loads.","Most frameworks have to \"hydrate\" — re run their code in your browser to wake the page up — and Qwik skips that entirely by resuming from data baked into the HTML.","For SEO that means crawlers see your full content right away, and pages score well on the speed metrics Google measures.","What Qwik is Most popular frameworks React, Vue, Angular build a lot of the page in your browser.","Even when the server sends finished HTML, the framework usually has to hydrate it — download its code and re run it in your browser to make buttons and menus work.","That hydration step is one of the biggest reasons pages feel slow: it ties up the browser right when you're trying to use the page.","Qwik attacks that problem head on with an idea called resumability .","On the server, Qwik renders the HTML and writes everything the page needs to keep working — its state, which clicks do what, the structure of the page — straight into the HTML."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/qwik-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/qwik-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"React SEO","desc":"React renders client-side by default, so crawlers see an empty shell until JavaScript runs. Here's how Google actually processes React apps, which rendering strategy to pick, and how to fix routing, metadata, and the render-timeout duplicate-content trap.","snippetText":"React is not bad for SEO — but client-side rendering by default is. Out of the box (CRA, Vite + React), the server ships an empty shell and the browser builds the page, so crawlers see nothing until JavaScript runs. Google can render React via its Web Rendering Service, but rendering is queued, delayed, and can time out — Gary Illyes has shown render timeouts leaving boilerplate-only pages that get marked as duplicates. AI-crawler rendering contracts vary by provider, so CSR-only content adds a coverage risk. The fix is rendering strategy: SSR or SSG (most easily Next.js or Remix) puts content","href":"/technical-seo/platform-seo/js-frameworks/react-seo/","slug":"react-seo","meta":"Educational","aliases":["react-seo","React SEO","SEO for React","React single-page app SEO","CRA SEO","React CSR SEO","javascript-seo","headless-cms-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"react-seo javascript-seo rendering technical-seo csr ssr next-js React is not bad for SEO — but client-side rendering by default is. Out of the box (CRA, Vite + React), the server ships an empty shell and the browser builds the page, so crawlers see nothing until JavaScript runs. Google can render React via its Web Rendering Service, but rendering is queued, delayed, and can time out — Gary Illyes has shown render timeouts leaving boilerplate-only pages that get marked as duplicates. AI-crawler rendering contracts vary by provider, so CSR-only content adds a coverage risk. The fix is rendering strategy: SSR or SSG (most easily Next.js or Remix) puts content in the initial HTML, hydrated with hydrateRoot (not createRoot) so server and client output match exactly. Then use History API routing, real <a href> links, correct status codes, and version-appropriate metadata: React 19 hoists <title>/<meta>/<link> natively, otherwise react-helmet-async (never the unmaintained original react-helmet). Why React is different Can't Google just run the JavaScript? The simple fix A few other things to get right What actually makes React hard for SEO How Google actually processes a React app The render timeout trap and why it creates duplicates Rendering strategies for React Hydration must match exactly — that's a bug boundary, not an SEO technique React Router and URL structure Managing metadata: react helmet, react helmet async, and React 19's native tags AI crawlers make this urgent Testing what Google actually sees Next.js and Remix the practical answer AI summary Official documentation Quotes from the source React SEO checklist The mental models React SEO — cheat sheet Check what the server sends before React runs Tools for auditing React SEO Mistakes React teams actually make Shipping raw CRA/Vite CSR for pages that need to rank React SEO is the practice of making React apps crawlable and indexable. React renders client-side by default, so the raw HTML is near-empty until JavaScript runs — SSR or SSG puts the content back in the initial response where crawlers (and AI bots) can reliably see it. TL;DR — React is not bad for SEO — but the way most React apps are built is . By default, React builds the page in the visitor's browser, so when a search engine first fetches your URL it gets a nearly empty page. Google can usually fill in the blanks by running your JavaScript,","passages":["TL;DR — React is not bad for SEO — but the way most React apps are built is .","By default, React builds the page in the visitor's browser, so when a search engine first fetches your URL it gets a nearly empty page.","Google can usually fill in the blanks by running your JavaScript, but it's slower and riskier than just handing it finished HTML.","The fix is to render your pages on a server or at build time — usually with a framework like Next.js .","Why React is different Most websites — a WordPress blog, say — send the search engine a complete page: the server builds the HTML and ships it, headline and all.","The server sends an almost empty shell basically an empty , and then JavaScript runs in the browser to build the real page.","It's a problem for SEO, because the first thing a crawler downloads is that empty shell.","Your content isn't there yet — it only shows up after the JavaScript runs."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/react-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/react-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Remix SEO","desc":"How Remix's meta(), loader(), headers(), and links() route exports control SEO — plus what changed as Remix v2 became React Router, now on v8.","snippetText":"TL;DR — Remix is a React framework that renders your pages on the server by default — so the content is already in the HTML before Google ever loads it.","href":"/technical-seo/platform-seo/js-frameworks/remix-seo/","slug":"remix-seo","meta":"Educational","aliases":["remix-seo","Remix SEO","SEO for Remix","Remix meta function","Remix.run SEO","javascript-seo","meta-frameworks"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"javascript-seo remix react-router ssr meta-framework react-seo What Remix is How you add SEO tags in Remix The one mistake to avoid The simple takeaway SSR by default — why Remix starts ahead The export: titles, descriptions, OG, JSON LD Nested routes and meta inheritance — the common trap The function: real 404s, real redirects, dynamic meta The function: Cache Control and X Robots Tag The export and canonical tags — two ways Error boundaries and 404/5xx pages Sitemaps and robots.txt as routes Remix, React Router, and the 2026 product split — a dated timeline You still don't need dynamic rendering Auditing a Remix site AI summary Official documentation Quotes from the source Remix SEO checklist The mental models Remix SEO — cheat sheet Verify what crawlers actually receive A minimal robots.txt resource route Tools for auditing a Remix site Remix SEO is the set of framework-native practices for making Remix v2 / React Router (v7-v8) sites crawlable and indexable. These frameworks are server-rendered by default, so content ships in the HTML — and per-route meta(), loader(), headers(), and links() exports control every HTML and HTTP signal that matters. Remix 3 (beta) is now a separate, newer full-stack framework, not simply a renamed React Router. TL;DR — Remix is a React framework that renders your pages on the server by default — so the content is already in the HTML before Google ever loads it. That goes a long way toward solving the biggest JavaScript SEO problem, though it doesn't guarantee indexing or rankings by itself. You still have to set your titles, descriptions, and canonical tags yourself, using Remix's per route function. SSR is the foundation, not the whole house. Note: Remix v2 merged into React Router now v8 — Remix 3 beta is a separate, newer product; this page covers the Remix v2 / React Router route API most sites run today. What Remix is Remix routes can render on the server and provide document metadata through route APIs. Server rendered HTML improves initial content delivery but does not guarantee Search indexing. Remix is a meta framework built on React. Plain React builds your whole page in the browser with JavaScript — Google gets a nearly empty HTML file and has to run your code to see anything. Remix flips that: it runs your React components on the server and sends back finished HTML with the text, links, and meta tags already in","passages":["TL;DR — Remix is a React framework that renders your pages on the server by default — so the content is already in the HTML before Google ever loads it.","That goes a long way toward solving the biggest JavaScript SEO problem, though it doesn't guarantee indexing or rankings by itself.","You still have to set your titles, descriptions, and canonical tags yourself, using Remix's per route function.","Note: Remix v2 merged into React Router now v8 — Remix 3 beta is a separate, newer product; this page covers the Remix v2 / React Router route API most sites run today.","What Remix is Remix routes can render on the server and provide document metadata through route APIs.","Server rendered HTML improves initial content delivery but does not guarantee Search indexing.","Plain React builds your whole page in the browser with JavaScript — Google gets a nearly empty HTML file and has to run your code to see anything.","Remix flips that: it runs your React components on the server and sends back finished HTML with the text, links, and meta tags already in it."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/remix-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/remix-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Render-Blocking Resources","desc":"What render-blocking resources are, how CSS and synchronous JavaScript delay the critical rendering path, why that hurts Core Web Vitals (and indirectly SEO), how to find them, and how to fix them with async, defer, critical CSS, and media queries.","snippetText":"Render-blocking resources are CSS and synchronous JavaScript files a browser must download and process before it can paint anything. An applicable stylesheet in the head is render-blocking by default; a <script> in the head without async or defer is parser-blocking by default (a related but formally distinct mechanism from the HTML spec's explicit blocking=\"render\" attribute). async loads in parallel and runs when ready (unordered); defer loads in parallel and runs after parsing, in order; module scripts defer by default. They can delay First Contentful Paint and Largest Contentful Paint, and ","href":"/technical-seo/web-performance/critical-rendering-path/render-blocking-resources/","slug":"render-blocking-resources","meta":"Educational","aliases":["render-blocking-resources","render-blocking resources","render-blocking","render-blocking CSS","render-blocking JavaScript","eliminate render-blocking resources","Render-Blocking Resources","core-web-vitals","lcp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","critical-rendering-path"],"text":"render-blocking-resources web-performance critical-rendering-path core-web-vitals lcp fcp javascript-seo Render-blocking resources are CSS and synchronous JavaScript files a browser must download and process before it can paint anything. An applicable stylesheet in the head is render-blocking by default; a <script> in the head without async or defer is parser-blocking by default (a related but formally distinct mechanism from the HTML spec's explicit blocking=\"render\" attribute). async loads in parallel and runs when ready (unordered); defer loads in parallel and runs after parsing, in order; module scripts defer by default. They can delay First Contentful Paint and Largest Contentful Paint, and LCP is used by Google's Core Web Vitals ranking systems — a tiebreaker, not a documented dominant ranking factor. All eligible 200-status pages enter Google's rendering queue regardless of whether JavaScript is present; Google fetches at most 2 MB per non-PDF URL (including headers), separately for each referenced file, which is a fetch limit, not a render-blocking-specific penalty. Find them with the current Lighthouse 13 'Render blocking requests' Insight and the Chrome DevTools Coverage tab; fix by deferring non-critical JS, inlining only critical CSS where a trace shows it's the bottleneck, and using media attributes for conditional stylesheets — then re-test on a repeated trace. What \"render blocking\" means The two kinds Why it matters The simple fixes The critical rendering path CSS is render blocking by default — when it's applicable Scripts: parser blocking by default, formally render blocking on request vs — they are not the same How this affects SEO The crawl efficiency angle — corrected How to find them How to fix them Related reading on this site AI summary Official documentation Quotes from the source Render blocking fix checklist Render blocking cheat sheet Diagnose render blocking problems by symptom The page stays blank before appearing all at once did not improve the first paint The page flashes unstyled after deferring CSS A fix improves FCP but creates layout shifts The audit flags a different resource on the next run Render-blocking resources are CSS and synchronous JavaScript files a browser must download and process before it can paint any visible content. They sit on the critical rendering path and delay First Contentful Paint and Largest Conte","passages":["TL;DR — Render blocking resources are CSS and JavaScript files your browser has to download and run before it can show anything on screen.","The fix is to load the non essential stuff later so the page can paint sooner.","What \"render blocking\" means When someone opens your page, the browser reads the HTML from top to bottom.","Along the way it hits files it needs to draw the page — mostly CSS stylesheets and JavaScript .","Some of those files make the browser stop and wait : it won't paint a single pixel until they're downloaded and processed.","That's why a slow page often shows a blank white screen first, then everything appears at once.","The browser had the HTML, but it was waiting on a stylesheet or a script before it would draw anything.","The two kinds CSS is render blocking by default when the browser discovers a in the while parsing and the stylesheet actually applies no non matching , no ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/render-blocking-resources/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/critical-rendering-path/render-blocking-resources/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Rich Results","desc":"Rich results are enhanced SERP listings — stars, prices, images, breadcrumbs — built from structured data. A display feature, not a ranking factor, and eligibility never guarantees display.","snippetText":"Rich results (formerly 'rich snippets') are enhanced search listings — stars, prices, images, breadcrumbs, video thumbnails — that Google and Bing build from structured data markup. The non-negotiable mental model: structured data makes a page *eligible* for a rich result, it doesn't guarantee one — Google still decides whether to show it. Rich results are a display feature, not a ranking factor; Mueller said flatly in 2025 that 'structured data won't make your site rank better.' Of schema.org's 800+ types, only ~25 produce Google rich results (I re-verified the current list against Google's S","href":"/technical-seo/on-page/structured-data/rich-results/","slug":"rich-results","meta":"Educational","aliases":["rich-results","rich results","rich snippets","SERP features","enhanced results","Rich Results","structured-data","schema-markup","rich-snippets"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"rich-results rich-snippets structured-data schema-markup serp-features on-page-seo Rich results (formerly 'rich snippets') are enhanced search listings — stars, prices, images, breadcrumbs, video thumbnails — that Google and Bing build from structured data markup. The non-negotiable mental model: structured data makes a page *eligible* for a rich result, it doesn't guarantee one — Google still decides whether to show it. Rich results are a display feature, not a ranking factor; Mueller said flatly in 2025 that 'structured data won't make your site rank better.' Of schema.org's 800+ types, only ~25 produce Google rich results (I re-verified the current list against Google's Search Gallery), and that list keeps shrinking: How-To left desktop in 2023, Sitelinks Searchbox in Nov 2024, seven more types in June 2025, and FAQ was fully removed on May 7, 2026. Stars can meaningfully lift CTR — SEO-industry estimates vary widely (roughly 10–30%+) and I couldn't verify one authoritative current figure, so treat any specific percentage as directional — but stars below 3.0 are widely reported to *hurt* CTR, self-reviews don't qualify for stars, and product stars need a single-product page. Markup must match visible content or you risk a manual action. What a rich result is How to get them The two things people get wrong Rich results vs. rich snippets vs. SERP features vs. structured data Eligibility is not a guarantee Supported formats The types that still produce rich results 25 The deprecation wave is real and ongoing Rich results are a display feature, not a ranking factor Do rich results improve CTR? with the honest caveats The rules that disqualify you Where this sits AI summary Official documentation Quotes from the source Supported rich result types — cheat sheet Mistakes that disqualify a rich result Tracking rich result performance CTR for pages with the rich result vs. without Displayed star rating Rich result eligibility / validity rate Zero click share for the queries you rank on Resources worth your time Test yourself: Rich Results Rich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. {/ tool rule claim: schema.structured data validit","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Rich results are the fancier search listings — the ones with star ratings, prices, images, or recipe times baked right into the result.","You get them by adding structured data a bit of code that labels what your content is to your page.","But adding the code only makes you eligible — Google still decides whether to actually show the enhanced look.","What a rich result is When you search Google, most results are a plain blue link with a title and a line or two of text.","A rich result is the same listing dressed up with extra detail pulled from the page: gold review stars, a price and \"in stock\" label, a recipe's photo and cook time, an event's date, a video thumbnail, or the little \"breadcrumb\" trail showing where the page sits on a site.","You add code called structured data usually in a format called JSON LD that labels your content — \"this is a product, here's its price, here's its rating.\" Google reads that code and may turn it into a richer display.","Google renamed them \"rich results\" years ago; both terms mean the same thing.","Pick the right type for your page — Product, Recipe, Article, Video, and so on."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/rich-results/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/rich-results/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"RSS Feeds","desc":"How search engines use RSS 2.0 and Atom 1.0 feeds as a discovery channel for fresh content — Feedfetcher, robots.txt, WebSub, and why a feed complements but never replaces an XML sitemap.","snippetText":"Google and Bing both accept RSS 2.0 and Atom 1.0 feeds as a sitemap-style discovery signal — but a feed only surfaces your recently changed URLs, so it complements a full XML sitemap rather than replacing it. Google crawls feeds with Feedfetcher, a separate crawler that ignores robots.txt (block it with a 4xx, not a disallow). Feeds are a pull channel; WebSub turns them into push for Google, while IndexNow is now Bing's preferred push signal. Feeds help discovery speed, not rankings, and like sitemaps they never guarantee indexing.","href":"/technical-seo/how-search-works/discovery/rss-feeds/","slug":"rss-feeds","meta":"Educational","aliases":["rss-feeds","RSS feed","RSS feeds","Atom feed","RSS","Atom","RSS Feeds","discovery","websub","sitemaps"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery"],"text":"rss atom feeds discovery technical-seo sitemaps Google and Bing both accept RSS 2.0 and Atom 1.0 feeds as a sitemap-style discovery signal — but a feed only surfaces your recently changed URLs, so it complements a full XML sitemap rather than replacing it. Google crawls feeds with Feedfetcher, a separate crawler that ignores robots.txt (block it with a 4xx, not a disallow). Feeds are a pull channel; WebSub turns them into push for Google, while IndexNow is now Bing's preferred push signal. Feeds help discovery speed, not rankings, and like sitemaps they never guarantee indexing. What an RSS feed is How search engines use it The one thing to remember A feed is a sitemap format discovery signal Feeds complement a sitemap — they don't replace it Feedfetcher: Google's feed crawler for News and WebSub — and the robots.txt footgun How Bing uses feeds — and why IndexNow changed the picture Pull vs push: where WebSub fits Setting up a feed for discovery The limits — same as sitemaps AI summary Official documentation Quotes from the source Feed setup audit checklist The mental models Feed formats — what's accepted, what's required Mistakes to avoid Prove the feed actually works Test: feed is well formed XML Test: correct Content Type header Test: sitemap submission accepted Test: autodiscovery tag is present and correct Test: Feedfetcher can't be blocked by robots.txt confirming the footgun doesn't apply to you Test yourself: RSS Feeds An RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap. TL;DR — An RSS or Atom feed is an XML file that lists your most recent pages. Search engines can use it to find new content faster — you can submit the feed in Google Search Console or Bing Webmaster Tools, just like a sitemap. But a feed only shows recent URLs, so it works alongside a full XML sitemap, not instead of one. And like a sitemap, it helps a page get found — it doesn't make you rank higher. What an RSS feed is An RSS feed Really Simple Syndication or Atom feed is an XML file your site publishes that lists your latest content — usually the last few dozen posts. Most blog and CMS platforms generate one automatically. Readers use feeds to follow your updates in a feed reader, but the same file does double duty: sea","passages":["TL;DR — An RSS or Atom feed is an XML file that lists your most recent pages.","Search engines can use it to find new content faster — you can submit the feed in Google Search Console or Bing Webmaster Tools, just like a sitemap.","But a feed only shows recent URLs, so it works alongside a full XML sitemap, not instead of one.","And like a sitemap, it helps a page get found — it doesn't make you rank higher.","What an RSS feed is An RSS feed Really Simple Syndication or Atom feed is an XML file your site publishes that lists your latest content — usually the last few dozen posts.","Readers use feeds to follow your updates in a feed reader, but the same file does double duty: search engines can read it to discover your newest URLs.","How search engines use it A feed works a lot like a sitemap.","In Google Search Console or Bing Webmaster Tools, you can add the feed's URL as a sitemap."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/rss-feeds/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/rss-feeds/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Scaled Content Abuse","desc":"Google's scaled content abuse policy explained — what it is, how it's detected, who got hit, and how to scale content without tripping it. From Patrick Stox.","snippetText":"Scaled content abuse is Google's March 2024 spam policy for generating many low-value pages mainly to manipulate rankings — and it applies no matter how the content is created: AI, automation, or humans. The big shift is from method (how it's made) to intent and outcome (why it's made and whether it helps). My take: it's the same old thin-content problem with a new name and a wider net. Volume alone doesn't trigger it; volume plus low value plus manipulative intent does. It's a spam policy (SpamBrain + manual actions), not the helpful-content ranking signal — different detection, different rec","href":"/programmatic-seo/risks/scaled-content-abuse/","slug":"scaled-content-abuse","meta":"Educational","aliases":["scaled-content-abuse","scaled content abuse","scaled content abuse policy","Scaled Content Abuse","programmatic-seo","doorway-pages","thin-content","duplicate-content"],"pillar":"programmatic-seo","taxonomy":["programmatic-seo","risks"],"text":"programmatic-seo scaled-content spam-policies thin-content ai-content Scaled content abuse is Google's March 2024 spam policy for generating many low-value pages mainly to manipulate rankings — and it applies no matter how the content is created: AI, automation, or humans. The big shift is from method (how it's made) to intent and outcome (why it's made and whether it helps). My take: it's the same old thin-content problem with a new name and a wider net. Volume alone doesn't trigger it; volume plus low value plus manipulative intent does. It's a spam policy (SpamBrain + manual actions), not the helpful-content ranking signal — different detection, different recovery. Algorithmic demotions are silent and slow to recover; manual actions get a Search Console notice and a reconsideration path. Bing landed in nearly the same place with an 'editorial oversight' framing. What it means in plain terms The simplest examples So is AI content banned? What it actually is The one shift that matters: method → intent and outcome The three part test I use Scaled content abuse vs. the helpful content system How Google detects it The \"multiple sites\" signal What actually happened in March 2024 Penalties: algorithmic vs. manual action How to recover Where Bing landed Bottom line AI summary Official documentation Quotes from the source Am I at risk audit checklist The frameworks Response playbook: a scaled content traffic loss or manual action Scaled content responses that make the problem worse Treating all AI assisted content as a violation Assuming volume alone is the offense Padding weak pages with more words Scaled content abuse is Google's spam policy (introduced March 2024) for generating many low-value pages primarily to manipulate search rankings rather than help users — and it applies no matter how the content is created: AI, automation, or human writers. TL;DR — Scaled content abuse is Google's rule against pumping out lots of pages mainly to game search rankings instead of helping people. It doesn't matter whether a robot, an AI, or a human wrote them — if there are many pages, the point is to rank, and they don't add real value, that's the violation. Introduced in March 2024, it's really the old \"thin content\" problem with a broader net. What it means in plain terms Google defines scaled content abuse by the primary purpose of manipulating rankings through many low","passages":["TL;DR — Scaled content abuse is Google's rule against pumping out lots of pages mainly to game search rankings instead of helping people.","It doesn't matter whether a robot, an AI, or a human wrote them — if there are many pages, the point is to rank, and they don't add real value, that's the violation.","Introduced in March 2024, it's really the old \"thin content\" problem with a broader net.","What it means in plain terms Google defines scaled content abuse by the primary purpose of manipulating rankings through many low value pages, regardless of whether humans, automation, or both created them.","Automation or AI use by itself is not the prohibited condition.","Here's Google's own definition: \"Scaled content abuse is when many pages are generated for the primary purpose of manipulating search rankings and not helping users.\" That's Google's language, not mine — but here's how I break it into three checkable conditions when I'm auditing a site: 1.","Made to rank, not to help — the reason the pages exist is search traffic.","Little or no real value — they don't give a reader anything they couldn't already get."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/programmatic-seo/risks/scaled-content-abuse/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/programmatic-seo/risks/scaled-content-abuse/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Schema Markup","desc":"Schema markup is code using the schema.org vocabulary that labels what your content means so search engines can understand it and show rich results.","snippetText":"Schema markup is code that uses the schema.org vocabulary to label what your content means, so search engines can understand it and make your pages eligible for rich results (review stars, product prices, breadcrumbs). It's not a direct ranking factor — Google has said this repeatedly — and 'schema markup' (the vocabulary) shouldn't be conflated with 'JSON-LD' (the format you write it in). All three formats work; JSON-LD is the recommended choice. The big trap is wasting dev time on deprecated types: HowTo rich results went away in 2023, seven feature types were retired in June 2025, and FAQ r","href":"/technical-seo/on-page/structured-data/schema-markup/","slug":"schema-markup","meta":"Educational","aliases":["Schema Markup","schema-markup","schema markup","schema.org","schema types","schema vocabulary","structured-data","rich-results","json-ld"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","structured-data"],"text":"schema-markup structured-data schema-org json-ld rich-results on-page-seo Schema markup is code that uses the schema.org vocabulary to label what your content means, so search engines can understand it and make your pages eligible for rich results (review stars, product prices, breadcrumbs). It's not a direct ranking factor — Google has said this repeatedly — and 'schema markup' (the vocabulary) shouldn't be conflated with 'JSON-LD' (the format you write it in). All three formats work; JSON-LD is the recommended choice. The big trap is wasting dev time on deprecated types: HowTo rich results went away in 2023, seven feature types were retired in June 2025, and FAQ rich results were deprecated in 2026. My rule, borrowed from years of doing this at scale: implement schema when it gets you a search feature, or when it genuinely helps an engine identify your entity (Organization/Person with sameAs) — not because more markup is automatically better. What schema markup is Why it matters: rich results The thing most people get wrong Schema markup vs. structured data vs. JSON LD What schema.org actually is The two jobs schema does and why people only think about one The formats: JSON LD, Microdata, RDFa Schema is not a ranking factor The most useful schema types in 2026 The deprecation wave — stop implementing dead types Entity markup and the Knowledge Graph Schema and AI search — the right expectation Implementation priorities Validate before you ship AI summary Official documentation Quotes from the source Schema types cheat sheet JSON LD examples for the implementation priorities 1. Organization — the entity foundation 2. BreadcrumbList — cheap and broadly eligible 3. Product — the highest value ecommerce type 4. Article — for editorial content Broken vs. fixed: the mistake Schema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. {/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Schema markup is code you add to a page that labels what your content means — \"this is the price,\" \"this is the author,\" \"this is a review score\" — so search engines don't have to guess. It uses a shared vocabulary from a site called schema.org https://schema.org/ . Its main payoff is rich resul","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Schema markup is code you add to a page that labels what your content means — \"this is the price,\" \"this is the author,\" \"this is a review score\" — so search engines don't have to guess.","It uses a shared vocabulary from a site called schema.org https://schema.org/ .","Its main payoff is rich results : the star ratings, prices, and breadcrumbs you see in search listings.","It does not directly make you rank higher — that's the biggest myth about it.","What schema markup is When you look at a web page, you can tell a phone number from a price from an author's name just by reading.","A search engine sees plain text and has to infer all of that.","Schema markup spells it out in code: it tags each piece of content with what it actually is .","It uses a shared vocabulary published at schema.org — a list of \"types\" like , , , and the \"properties\" each one can have a has a , an has a ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/schema-markup/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/schema-markup/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Site Architecture","desc":"Silo structure, hub and spoke, and topic clusters compared — what's actually different, what Google recommends, and why internal links beat URL folders.","snippetText":"Site architecture is the set of crawlable discovery and navigation paths between your pages, plus supporting entry points like sitemaps — it's not the same thing as your URL folders. Silo, hub and spoke, and topic clusters are overlapping practitioner labels for that structure, not documented Google categories — hub and spoke and topic clusters share the same underlying pattern more than they genuinely differ. Google's documented minimum is a crawlable link to every page you care about; that supports discovery, it doesn't guarantee crawling, indexing, ranking, traffic, sitelinks, or AI citatio","href":"/technical-seo/website-structure/site-architecture/","slug":"site-architecture","meta":"Educational","aliases":["site-architecture","site architecture","silo structure","hub and spoke","topic clusters","content silos","Site Architecture","internal-links","website-structure"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"site-architecture technical-seo internal-links topic-clusters silos information-architecture Site architecture is the set of crawlable discovery and navigation paths between your pages, plus supporting entry points like sitemaps — it's not the same thing as your URL folders. Silo, hub and spoke, and topic clusters are overlapping practitioner labels for that structure, not documented Google categories — hub and spoke and topic clusters share the same underlying pattern more than they genuinely differ. Google's documented minimum is a crawlable link to every page you care about; that supports discovery, it doesn't guarantee crawling, indexing, ranking, traffic, sitelinks, or AI citations. No Google source requires banning links between topic areas — evaluate strict-silo rules against user navigation and relevance, not assumed authority mechanics. What matters is contextual internal linking, not URL folders. What site architecture is The three models you'll hear about What actually matters The thing most people get wrong Why SEOs argue about this at all The clarification I'll plant my flag on What Google actually recommends Internal links beat URL structure Where strict silos go wrong Flat vs. deep hierarchies What internal linking actually does When to use which model Architecture and AI search Auditing your architecture The honest caveat AI summary Official documentation Quotes from the source Site architecture checklist The mental models Architecture model reference What each layer should do Test yourself: Site Architecture Resources worth your time Site architecture is how a website's pages are organized, categorized, and interlinked. It controls how crawlers discover pages, how link equity flows, and how clearly search engines understand each page's topical context. Silo structure, hub and spoke, and topic clusters are the three common models. TL;DR — Site architecture is the crawlable network of links between your pages — not just your URL folders. The goal is simple: every important page should have a link pointing to it, and related pages should link to each other. You'll hear three names for organizing that network — silos , hub and spoke , and topic clusters — they're overlapping practitioner labels for roughly the same idea, not three separate systems. None of this guarantees rankings or traffic by itself — it's what makes pages findable and underst","passages":["TL;DR — Site architecture is the crawlable network of links between your pages — not just your URL folders.","The goal is simple: every important page should have a link pointing to it, and related pages should link to each other.","You'll hear three names for organizing that network — silos , hub and spoke , and topic clusters — they're overlapping practitioner labels for roughly the same idea, not three separate systems.","None of this guarantees rankings or traffic by itself — it's what makes pages findable and understandable.","Google likes a pyramid: home page at the top, broad category pages in the middle, specific articles at the bottom.","What site architecture is Site architecture is the network of crawlable links that connects your pages — the paths search engines and readers use to discover and move between them — plus supporting entry points like an XML sitemap.","It's not the same thing as your URL folders: a page's path doesn't by itself establish where that page sits in the architecture.","It's the difference between a tidy library where every book has a shelf and a sign pointing to it, and a pile of books on the floor."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/website-structure/site-architecture/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/site-architecture/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SolidJS SEO","desc":"How to make SolidJS sites crawlable, indexable, and fast — why bare SolidJS is CSR-only, how SolidStart's SSR/SSG fixes it, managing head tags with @solidjs/meta, and why SolidJS hydrates (it is not resumable like Qwik).","snippetText":"SolidJS is a fast, React-like library with fine-grained reactivity and no virtual DOM — but on its own it's client-side rendered, so it ships an empty HTML shell with the same indexing problems as bare React. The fix is SolidStart, the official meta-framework: SSR or SSG put real content and metadata in the first response. Manage head tags with @solidjs/meta (<Title>, <Meta>, <Link>), return real 404s with <HttpStatusCode>, and fetch data on the server with createAsync. One thing not to mix up: SolidJS hydrates — it is not resumable. Resumability is Qwik's trick. SolidJS's win is a Core Web Vi","href":"/technical-seo/platform-seo/js-frameworks/solidjs-seo/","slug":"solidjs-seo","meta":"Educational","aliases":["solidjs-seo","SolidJS SEO","SEO for SolidJS","SolidStart SEO","Solid SEO","javascript-seo","next-gen-frameworks"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"solidjs-seo javascript-seo solidstart fine-grained-reactivity core-web-vitals hydration SolidJS is a fast, React-like library with fine-grained reactivity and no virtual DOM — but on its own it's client-side rendered, so it ships an empty HTML shell with the same indexing problems as bare React. The fix is SolidStart, the official meta-framework: SSR or SSG put real content and metadata in the first response. Manage head tags with @solidjs/meta (<Title>, <Meta>, <Link>), return real 404s with <HttpStatusCode>, and fetch data on the server with createAsync. One thing not to mix up: SolidJS hydrates — it is not resumable. Resumability is Qwik's trick. SolidJS's win is a Core Web Vitals edge on top of standard SSR. What SolidJS is Why CSR is an SEO problem The fix: SolidStart Setting your title and meta tags The one thing not to mix up SolidJS architecture: what's actually different CSR by default: the SEO problem SolidStart: the fix SSR vs. SSG vs. streaming — the SEO read Managing head tags with @solidjs/meta Structured data JSON LD Hydration, not resumability — the accuracy spine Core Web Vitals Routing, data fetching, and real 404s Sitemaps, robots.txt, and international SEO Common SolidJS SEO pitfalls Where this sits AI summary Official documentation Quotes from the source SolidJS SEO checklist The mental models SolidJS SEO — cheat sheet SolidJS SEO mistakes to avoid SolidJS SEO is the set of practices for making SolidJS apps crawlable, indexable, and fast. Bare SolidJS renders client-side (an empty HTML shell), so SEO depends on using SolidStart for SSR or SSG to put real content and metadata in the initial HTML. TL;DR — SolidJS is a fast, React like library, but on its own it builds the page in your browser — so search engines first see an empty shell. The fix is SolidStart , its official full stack tool, which sends finished HTML to both users and crawlers. Rendering mode is a per route setting, not a whole site switch — use server rendering SSR or SSG on the routes that need to rank, set your title and meta tags with @solidjs/meta , and verify each route's actual HTML output rather than assuming the whole site is covered. What SolidJS is SolidJS is a JavaScript library for building user interfaces. If you've seen React, it'll look familiar — it uses the same JSX syntax and a similar component style. The big difference under the hood is that SolidJS has","passages":["TL;DR — SolidJS is a fast, React like library, but on its own it builds the page in your browser — so search engines first see an empty shell.","The fix is SolidStart , its official full stack tool, which sends finished HTML to both users and crawlers.","Rendering mode is a per route setting, not a whole site switch — use server rendering SSR or SSG on the routes that need to rank, set your title and meta tags with @solidjs/meta , and verify each route's actual HTML output rather than assuming the whole site is covered.","What SolidJS is SolidJS is a JavaScript library for building user interfaces.","If you've seen React, it'll look familiar — it uses the same JSX syntax and a similar component style.","The big difference under the hood is that SolidJS has no virtual DOM : it updates the exact pieces of the page that change, which makes it very fast.","The catch for SEO: by default, SolidJS is client side rendered CSR .","The server sends an almost empty HTML file, then your browser downloads the JavaScript and builds the page."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/solidjs-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/solidjs-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Speed Index","desc":"What Speed Index measures, what's a good score, why it's a lab-only Lighthouse metric and not a Core Web Vital or ranking factor, and how to improve it.","snippetText":"Speed Index measures how quickly content is visually displayed during page load — the average time at which visible parts of the page appear, scored in seconds (lower is better). It's computed from a video of the load, so it's a lab-only metric: not in CrUX, PageSpeed Insights field data, or Search Console. It originated in WebPageTest (Pat Meenan) and Lighthouse computes it via the open-source Speedline module. It is NOT a Core Web Vital and NOT a ranking factor — it's one of five Lighthouse performance metrics, weighted 10% in Lighthouse 10. Mobile thresholds: Good ≤ 3.4 s, Needs improvement","href":"/technical-seo/web-performance/web-vitals/speed-index/","slug":"speed-index","meta":"Educational","aliases":["speed-index","speed index","si metric","Speed Index","lighthouse","fcp","lcp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals"],"text":"speed-index web-performance core-web-vitals lighthouse pagespeed-insights page-speed Speed Index measures how quickly content is visually displayed during page load — the average time at which visible parts of the page appear, scored in seconds (lower is better). It's computed from a video of the load, so it's a lab-only metric: not in CrUX, PageSpeed Insights field data, or Search Console. It originated in WebPageTest (Pat Meenan) and Lighthouse computes it via the open-source Speedline module. It is NOT a Core Web Vital and NOT a ranking factor — it's one of five Lighthouse performance metrics, weighted 10% in Lighthouse 10. Mobile thresholds: Good ≤ 3.4 s, Needs improvement ≤ 5.8 s, Poor > 5.8 s (desktop Good ≤ ~1.3 s). It improves with the same fixes as FCP and LCP: faster server response and fewer render-blocking resources. What Speed Index is How to read your score Does it matter for SEO? What Speed Index actually measures How it's calculated What's a good score Where it sits in the Lighthouse score Is Speed Index a Core Web Vital or a ranking factor? Why it's lab only Where it came from How to improve it Limitations worth knowing Related metrics AI summary Official documentation Quotes from the source Speed Index cheat sheet Tools that report Speed Index Speed Index mistakes that waste optimization time Test yourself: Speed Index Resources worth your time Numbers worth citing Speed Index measures how quickly content is visually displayed during page load — the average time at which visible parts of the page appear, scored in seconds (lower is better). It's a lab-only Lighthouse metric, not a Core Web Vital and not a ranking factor. TL;DR — Speed Index is a Lighthouse score for how quickly the stuff on your page shows up while it loads. Lower faster is better, measured in seconds. On mobile, under 3.4 s is good. It's not a Core Web Vital and it doesn't directly affect your Google rankings — but the things that fix it usually help the metrics that do. What Speed Index is When you run a page through Lighthouse or PageSpeed Insights, one of the numbers you get back is Speed Index . It answers a simple question: how fast does the visible part of your page fill in? Most speed metrics mark a single moment — like when the first bit of content appears First Contentful Paint or when the biggest thing appears Largest Contentful Paint . Speed Index is different. ","passages":["TL;DR — Speed Index is a Lighthouse score for how quickly the stuff on your page shows up while it loads.","It's not a Core Web Vital and it doesn't directly affect your Google rankings — but the things that fix it usually help the metrics that do.","What Speed Index is When you run a page through Lighthouse or PageSpeed Insights, one of the numbers you get back is Speed Index .","It answers a simple question: how fast does the visible part of your page fill in?","Most speed metrics mark a single moment — like when the first bit of content appears First Contentful Paint or when the biggest thing appears Largest Contentful Paint .","It watches the whole load and gives you an average of how quickly things became visible.","A page that paints everything almost instantly gets a low good score; a page that sits blank and then dribbles content in gets a high bad one.","How to read your score Lighthouse grades Speed Index on mobile like this: Good: 0 – 3.4 s green Needs improvement: 3.4 – 5.8 s orange Poor: more than 5.8 s red Desktop is much stricter — good is roughly under 1.3 s — because Lighthouse tests mobile on a simulated slower device."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/speed-index/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/speed-index/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Static Site Generators","desc":"How Hugo, Jekyll, Eleventy, Hexo, Gatsby, and Astro pre-build every page into static HTML — bypassing Google's JS rendering queue so content is indexable on the first fetch.","snippetText":"A static site generator (SSG) builds every page into finished HTML at build time, so your content is already in the raw HTML before a crawler ever asks for it — no JavaScript rendering queue, no Wave 2 delay, immediately indexable. That's the core SEO advantage over client-side frameworks. Hugo, Jekyll, Eleventy, Hexo, Gatsby, and Astro all share it; they differ in language, how much JS they ship to the browser, and built-in image/sitemap tooling. The one real gotcha is build freshness: a static site is only as current as its last build, so content changes need a rebuild and redeploy to reach ","href":"/technical-seo/platform-seo/static-site-generators/","slug":"static-site-generators","meta":"Educational","aliases":["static-site-generator","static site generator SEO","SSG SEO","Hugo SEO","Jekyll SEO","Eleventy SEO","Hexo SEO","Gatsby SEO","Astro SEO","Static Site Generator","javascript-seo","rendering","astro-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo"],"text":"javascript-seo ssg hugo jekyll eleventy hexo gatsby astro static-site-generators A static site generator (SSG) builds every page into finished HTML at build time, so your content is already in the raw HTML before a crawler ever asks for it — no JavaScript rendering queue, no Wave 2 delay, immediately indexable. That's the core SEO advantage over client-side frameworks. Hugo, Jekyll, Eleventy, Hexo, Gatsby, and Astro all share it; they differ in language, how much JS they ship to the browser, and built-in image/sitemap tooling. The one real gotcha is build freshness: a static site is only as current as its last build, so content changes need a rebuild and redeploy to reach search engines. I built this site (and patrickstox.com) with Astro for exactly these reasons. What a static site generator is Why that's great for SEO The popular ones The one thing to watch What \"static\" actually means SSG vs. client side rendering vs. meta frameworks The six generators, compared Why I built this on Astro The one real gotcha: build freshness Where to go next: the static site generators cluster AI summary Official documentation Quotes from the source Static site SEO checklist Static site generators — cheat sheet Which rendering path fits? The build → deploy → verify framework Check whether key content exists in source HTML Tools for static output Prove the static deployment works Source HTML test Publishing freshness test Route completeness test Test yourself: Static Site Generators A build tool that pre-renders every page into static HTML files at deploy time, so the server delivers complete HTML without executing code per request — eliminating JavaScript rendering delays for search engine crawlers. TL;DR — A static site generator builds your whole site into plain HTML files ahead of time . So when Google shows up, the content is already there in the page — no waiting for JavaScript to run. That's the easiest possible setup for SEO. The catch: the site only updates when you rebuild it. What a static site generator is Most of the SEO trouble with JavaScript comes down to one question: is your content actually in the page when a crawler fetches it, or does it only appear after scripts run? A static site generator SSG sidesteps that question entirely. An SSG takes your content usually written in Markdown and your templates, and — on your computer or a build server — turns eve","passages":["TL;DR — A static site generator builds your whole site into plain HTML files ahead of time .","So when Google shows up, the content is already there in the page — no waiting for JavaScript to run.","What a static site generator is Most of the SEO trouble with JavaScript comes down to one question: is your content actually in the page when a crawler fetches it, or does it only appear after scripts run?","A static site generator SSG sidesteps that question entirely.","An SSG takes your content usually written in Markdown and your templates, and — on your computer or a build server — turns every page into a finished HTML file before anyone visits .","When Google, Bing, or a reader requests a page, they get complete HTML on the first try.","Compare that to a typical JavaScript app, where the server sends a near empty shell and the browser builds the page afterward.","With an SSG, there's nothing to build in the browser — it's already done."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/static-site-generators/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Structured Data for SEO","desc":"Structured data labels your page content so search engines understand its meaning. It's not a ranking factor — its value is rich results and entity understanding. The hub.","snippetText":"Structured data labels page content with the schema.org vocabulary. It can make an eligible page available for supported search features and give search systems explicit clues about meaning; it does not guarantee a rich result, a click-through lift, Knowledge Graph inclusion, an AI citation, or better rankings. Google recommends JSON-LD, supports JavaScript-generated markup, and says no special schema is required for its AI features. Use only accurate markup that matches visible content, validate eligibility, and monitor observed results.","href":"/technical-seo/on-page/structured-data/","slug":"structured-data","meta":"Educational","aliases":["structured-data","structured data","structured data SEO","schema markup","semantic markup","Structured Data","schema-markup","rich-results","json-ld"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page"],"text":"structured-data schema-markup json-ld rich-results schema-org on-page-seo Structured data labels page content with the schema.org vocabulary. It can make an eligible page available for supported search features and give search systems explicit clues about meaning; it does not guarantee a rich result, a click-through lift, Knowledge Graph inclusion, an AI citation, or better rankings. Google recommends JSON-LD, supports JavaScript-generated markup, and says no special schema is required for its AI features. Use only accurate markup that matches visible content, validate eligibility, and monitor observed results. What structured data is Why it matters The thing most people get wrong What structured data is — vocabulary vs. format The three formats — and why JSON LD wins What structured data can support The myth to kill: structured data is not a ranking factor Rich result types Google supports — and the ones it removed How to implement structured data Structured data and AI search Does Bing use structured data? Where to go next AI summary Official documentation Quotes from the source Structured data implementation checklist Structured data — cheat sheet Test yourself: Structured Data Resources worth your time Prove the markup is valid and eligible Test 1 — The JSON LD parses with no errors Test 2 — The page is eligible for the rich result Structured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. {/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Structured data is extra code you add to a page that labels what your content means — \"this is the price,\" \"this is the author,\" \"this is the cook time\" — so search engines don't have to guess. It uses a shared vocabulary called schema.org, usually written in a format called JSON LD. It can make your page eligible for fancier search listings star ratings, product cards , but it does not make your page rank higher. What structured data is When you look at a web page, you can tell a phone number from a price from an author's name just by looking. A search engine can't — it mostly sees text. Structured data is extra code you add to a page that spells it out for machines: \"this part is the produc","passages":["{/ tool rule claim: schema.structured data validity/article contract /} TL;DR — Structured data is extra code you add to a page that labels what your content means — \"this is the price,\" \"this is the author,\" \"this is the cook time\" — so search engines don't have to guess.","It uses a shared vocabulary called schema.org, usually written in a format called JSON LD.","It can make your page eligible for fancier search listings star ratings, product cards , but it does not make your page rank higher.","What structured data is When you look at a web page, you can tell a phone number from a price from an author's name just by looking.","Structured data is extra code you add to a page that spells it out for machines: \"this part is the product name,\" \"this is the rating,\" \"this is the publish date.\" It uses a shared dictionary called schema.org https://schema.org/ — a vocabulary that Google, Microsoft Bing , Yahoo, and Yandex agreed on together — so publishers can use the same labels across consumers.","Most of the time it's written in a format called JSON LD : a small block of code that sits in the page's HTML and describes the content without changing how the page looks to a visitor.","You'll hear \"structured data,\" \"schema markup,\" and \"schema.org\" used almost interchangeably.","Strictly: schema.org is the vocabulary , and structured data is the broad idea of machine readable labels."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/on-page/structured-data/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/structured-data/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Subdomain vs Subdirectory","desc":"Subdomains and subdirectories are functionally equivalent for SEO. Google decides per site how to treat each — and most migration \"wins\" are confounded.","snippetText":"A subdomain (blog.example.com) is a separate hostname; a subdirectory (example.com/blog/) is a path on the same hostname. Google has no blanket preference and decides per site whether a subdomain is treated as part of your site, based on integration signals like internal linking. The case studies showing big 'wins' from moving subdomain→subdirectory are almost always confounded — better internal linking, content pruning, or a CMS upgrade rode along with the URL change. My advice: don't migrate for URL structure alone; the risk usually outweighs the upside. Subdirectories do have real, concrete","href":"/technical-seo/website-structure/subdomain-vs-subdirectory/","slug":"subdomain-vs-subdirectory","meta":"Educational","aliases":["subdomain-vs-subdirectory","subdomain vs subdirectory","subdomain vs subfolder","subdomain SEO","subdirectory SEO","Subdomain vs Subdirectory","website-structure","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"subdomain subdirectory website-structure technical-seo site-architecture international-seo site-migration redirects A subdomain (blog.example.com) is a separate hostname; a subdirectory (example.com/blog/) is a path on the same hostname. Google has no blanket preference and decides per site whether a subdomain is treated as part of your site, based on integration signals like internal linking. The case studies showing big 'wins' from moving subdomain→subdirectory are almost always confounded — better internal linking, content pruning, or a CMS upgrade rode along with the URL change. My advice: don't migrate for URL structure alone; the risk usually outweighs the upside. Subdirectories do have real, concrete operational advantages (one Search Console property, one analytics setup, site names in search), but those are convenience, not a ranking edge. What's the difference? Does it matter for SEO? So which should you pick? The thing most people get wrong What they actually are What Google actually says and what it means My position: the \"wins\" are usually confounded Real technical differences these are not myths When a subdomain genuinely makes sense What Bing cares about The reverse proxy workaround Should you migrate? How to think about the risk Where this fits AI summary Official documentation Quotes from the source Choosing or migrating a structure — checklist The mental models Should this section use a subdomain or subdirectory? Structure decisions that confuse cause and effect Migrating only because subdirectories supposedly rank better Changing URLs, CMS, content, links, and analytics together Treating a subdomain as unrelated in the site's own navigation Check a migration sample from the command line A subdomain (blog.example.com) is a separate hostname; a subdirectory (example.com/blog/) is a path on the same hostname. Google has no blanket ranking preference — it decides per site whether a subdomain is treated as part of the site, based on integration signals. TL;DR — A subdomain is a prefix before your domain . A subdirectory or subfolder is a path after it . You'll hear that subdirectories are \"better for SEO.\" They're not, inherently — Google says either can work. Subdirectories are often easier to run as one application and analytics scope, so unless you have a real reason to split things out, keeping everything together is the simpler choice. Wha","passages":["You'll hear that subdirectories are \"better for SEO.\" They're not, inherently — Google says either can work.","Subdirectories are often easier to run as one application and analytics scope, so unless you have a real reason to split things out, keeping everything together is the simpler choice.","It comes down to where the extra word goes relative to your domain: Subdomain — the word comes before your domain, joined by a dot: , , .","Technically this is a separate address, so it can live on a different server or run a different system CMS .","Subdirectory also called a subfolder — the word comes after your domain, joined by a slash: , .","Here's the honest answer most articles won't give you: not as much as people claim.","The reason you see headlines like \"we moved to a subfolder and traffic jumped 40%\" is that those moves almost never happen on their own.","When a team migrates a blog, they usually also improve internal links, delete weak pages, and upgrade the platform — all at the same time."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/website-structure/subdomain-vs-subdirectory/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/subdomain-vs-subdirectory/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Svelte SEO","desc":"Svelte alone is client-side rendered — content isn't in the raw HTML. SvelteKit fixes that with SSR by default. Rendering modes, svelte:head, load functions, adapters, sitemaps, and the SPA-mode trap.","snippetText":"Svelte SEO hinges on one distinction: plain Svelte is client-side rendered (a blank HTML shell), while SvelteKit renders on the server by default and ships full HTML. Use SvelteKit for anything that needs to rank. Manage metadata with svelte:head, fetch SEO data in +page.server.js load functions, pick the right adapter, and never ship SPA fallback mode (ssr: false) — the SvelteKit docs themselves warn it has large negative SEO impacts.","href":"/technical-seo/platform-seo/js-frameworks/svelte-seo/","slug":"svelte-seo","meta":"Educational","aliases":["svelte-seo","Svelte SEO","SvelteKit SEO","SEO for Svelte","SEO for SvelteKit","javascript-seo","headless-cms-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"svelte-seo sveltekit javascript-seo rendering ssr ssg technical-seo Svelte SEO hinges on one distinction: plain Svelte is client-side rendered (a blank HTML shell), while SvelteKit renders on the server by default and ships full HTML. Use SvelteKit for anything that needs to rank. Manage metadata with svelte:head, fetch SEO data in +page.server.js load functions, pick the right adapter, and never ship SPA fallback mode (ssr: false) — the SvelteKit docs themselves warn it has large negative SEO impacts. Svelte vs. SvelteKit Why this matters for search The simple checklist Svelte is not SvelteKit — and for SEO that's everything The four rendering modes in SvelteKit The trap the mistake to avoid Managing metadata with Load functions: where you fetch SEO data matters Routing and URL structure Choosing an adapter for SEO Sitemaps and robots.txt Performance and Core Web Vitals AI crawlers and the SSR imperative Common SvelteKit SEO mistakes AI summary Official documentation Quotes from the source SvelteKit SEO checklist The mental models SvelteKit SEO — cheat sheet Plain Svelte or SvelteKit? Svelte SEO mistakes Raw HTML is an empty app shell Titles and canonicals appear only after JavaScript Svelte SEO is the practice of making sure search engines and AI crawlers can see content built with Svelte. Plain Svelte is client-side rendered (a blank shell), so the key is to use SvelteKit, which renders pages on the server by default. TL;DR — The most important thing to know about Svelte SEO is that Svelte and SvelteKit are not the same thing. Plain Svelte builds the page in the visitor's browser, so search engines first see a blank shell. SvelteKit — Svelte's official framework — builds the page on the server and sends finished HTML. Use SvelteKit for anything you want to rank. Svelte vs. SvelteKit Svelte is a tool for building user interfaces. It's clever: instead of shipping a big JavaScript library to the browser, it compiles your components down to small, plain JavaScript at build time. That makes Svelte pages fast. But \"fast\" and \"search friendly\" aren't the same thing. A plain Svelte app is client side rendered — the server sends a nearly empty page, and JavaScript fills in the content once it loads in the browser. If a crawler looks at the raw HTML, there's almost nothing there. SvelteKit is the official framework built on top of Svelte. It does the thing that mat","passages":["TL;DR — The most important thing to know about Svelte SEO is that Svelte and SvelteKit are not the same thing.","Plain Svelte builds the page in the visitor's browser, so search engines first see a blank shell.","SvelteKit — Svelte's official framework — builds the page on the server and sends finished HTML.","It's clever: instead of shipping a big JavaScript library to the browser, it compiles your components down to small, plain JavaScript at build time.","A plain Svelte app is client side rendered — the server sends a nearly empty page, and JavaScript fills in the content once it loads in the browser.","If a crawler looks at the raw HTML, there's almost nothing there.","It does the thing that matters most for SEO: it renders your pages on the server first , so the HTML that arrives already has your content, your headings, and your links in it.","If you're building a site that needs to show up in Google, you want SvelteKit, not bare Svelte."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/svelte-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/svelte-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Thin Content","desc":"What thin content really is (value per page, not word count), the difference between the manual action and algorithmic suppression, and why it's a programmatic SEO risk.","snippetText":"Thin content is content that adds little or no value — and it's about value per page, not word count. A focused 200-word answer can be great; a padded 3,000-word article can be thin. There are two separate enforcement paths people constantly conflate: the 'thin content with little or no added value' manual action (a human reviewer, lifted via reconsideration request) and algorithmic suppression (Panda's legacy now in core ranking, plus the absorbed Helpful Content System — no notification, no reconsideration). Google names four subtypes: scaled content abuse, scraping, thin affiliation, and do","href":"/programmatic-seo/risks/thin-content/","slug":"thin-content","meta":"Educational","aliases":["thin-content","thin content","thin pages","low-quality content","thin content with little or no added value","Thin Content","programmatic-seo","duplicate-content"],"pillar":"programmatic-seo","taxonomy":["programmatic-seo","risks"],"text":"thin-content programmatic-seo scaled-content-abuse helpful-content manual-actions Thin content is content that adds little or no value — and it's about value per page, not word count. A focused 200-word answer can be great; a padded 3,000-word article can be thin. There are two separate enforcement paths people constantly conflate: the 'thin content with little or no added value' manual action (a human reviewer, lifted via reconsideration request) and algorithmic suppression (Panda's legacy now in core ranking, plus the absorbed Helpful Content System — no notification, no reconsideration). Google names four subtypes: scaled content abuse, scraping, thin affiliation, and doorways. The dangerous part for programmatic SEO is that thin content is usually a site-level problem, so one cluster of thin templated pages can drag down the whole domain. My fix is always the same: improve with original value, consolidate, or remove — adding words doesn't fix a value problem. What thin content is What thin content looks like The two ways it hurts you How to fix it What \"thin content\" actually means The four official subtypes Scaled content abuse Scraping Thin affiliation Doorway pages How Google enforces it: two separate mechanisms Algorithmic suppression the common one The manual action the loud one Why thin content is the programmatic SEO risk How to find thin content on your site How to fix it A few myths to kill Bottom line AI summary Official documentation Quotes from the source Thin content audit checklist The mental models Thin content — cheat sheet Thin content is web content that provides little or no value to users. Google's spam policies name it 'thin content with little or no added value' — and it's about value per page, not word count. TL;DR — Thin content is a page that doesn't give the reader much value. The trap everyone falls into is thinking \"thin\" means \"short\" — it doesn't. A tight 200 word page that answers a question well is fine; a 2,000 word page that says nothing useful is thin. Google has a named penalty for it \"thin content with little or no added value\" , but far more often it just quietly stops ranking your low value pages with no warning at all. What thin content is Google's manual action documentation describes thin content as pages with little or no added value and gives specific examples rather than a word count rule. Helpful content guid","passages":["TL;DR — Thin content is a page that doesn't give the reader much value.","The trap everyone falls into is thinking \"thin\" means \"short\" — it doesn't.","A tight 200 word page that answers a question well is fine; a 2,000 word page that says nothing useful is thin.","Google has a named penalty for it \"thin content with little or no added value\" , but far more often it just quietly stops ranking your low value pages with no warning at all.","What thin content is Google's manual action documentation describes thin content as pages with little or no added value and gives specific examples rather than a word count rule.","Helpful content guidance likewise emphasizes usefulness and originality over length.","Thin content is web content that provides little or no value to the person reading it.","Google's official spam policies even use a specific phrase for the worst version of it: \"thin content with little or no added value.\" Here's the part people get wrong constantly: thin content is about value per page, not word count."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/programmatic-seo/risks/thin-content/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/programmatic-seo/risks/thin-content/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Time to First Byte (TTFB)","desc":"What TTFB measures, why it isn't a Core Web Vital, how it caps your LCP and FCP, what counts as good, and how to fix a slow server response.","snippetText":"Time to First Byte is the time from the start of a request to when the first byte of the response arrives — the sum of redirect time, service worker startup, DNS lookup, connection and TLS negotiation, and the request itself. It is not a Core Web Vital; it's a diagnostic, foundational metric and a major input to FCP and LCP. web.dev says aim for ≤0.8 s (good) and treats >1.8 s as poor. It's both a field and lab metric. Lighthouse's 'Reduce server response times' audit is narrower — it flags server time over ~600 ms, not full TTFB, and as of Lighthouse 13 lives inside the 'Document request late","href":"/technical-seo/web-performance/web-vitals/time-to-first-byte/","slug":"time-to-first-byte","meta":"Educational","aliases":["ttfb","time to first byte","server response time","TTFB","core-web-vitals","lcp","fcp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals"],"text":"ttfb web-performance technical-seo core-web-vitals lcp server-response-time Time to First Byte is the time from the start of a request to when the first byte of the response arrives — the sum of redirect time, service worker startup, DNS lookup, connection and TLS negotiation, and the request itself. It is not a Core Web Vital; it's a diagnostic, foundational metric and a major input to FCP and LCP. web.dev says aim for ≤0.8 s (good) and treats >1.8 s as poor. It's both a field and lab metric. Lighthouse's 'Reduce server response times' audit is narrower — it flags server time over ~600 ms, not full TTFB, and as of Lighthouse 13 lives inside the 'Document request latency' insight. Fix it with a CDN, edge/HTML caching, faster hosting, fewer redirects, Early Hints, and efficient TLS. And remember: a high TTFB doesn't always mean a slow site. What TTFB is What counts as good Why it matters even though it isn't a \"core\" metric The usual fixes, in plain terms What TTFB actually measures It is not a Core Web Vital How it caps FCP and LCP Thresholds: good, needs improvement, poor The 600 ms vs 800 ms confusion Field and lab — both A high TTFB doesn't always mean a slow site How to improve TTFB Where sites actually stand AI summary Official documentation Quotes from the source TTFB triage checklist TTFB cheat sheet Tools for measuring TTFB TTFB mistakes that lead to the wrong fix Calling every delay a server problem Comparing Lighthouse's 600 ms audit with the 800 ms field threshold Testing only from a location near the origin Chasing TTFB while the page is already fast Time to First Byte — the time from the start of a request to when the first byte of the response arrives. It's a diagnostic metric (not a Core Web Vital) and a major input to FCP and LCP; ≤0.8 s is good. TL;DR — Time to First Byte is how long the browser waits, after it asks for a page, before the very first byte of the answer comes back. It's a measure of server responsiveness. A good TTFB is 0.8 seconds or less. It is not a Core Web Vital — but a slow one drags down the metrics that are, because nothing on the page can start until that first byte shows up. What TTFB is When you click a link, your browser sends a request to a server and then waits. Time to First Byte TTFB is the length of that wait — from the moment the request starts to the moment the first byte of the response begins to arrive. It","passages":["TL;DR — Time to First Byte is how long the browser waits, after it asks for a page, before the very first byte of the answer comes back.","It is not a Core Web Vital — but a slow one drags down the metrics that are, because nothing on the page can start until that first byte shows up.","What TTFB is When you click a link, your browser sends a request to a server and then waits.","Time to First Byte TTFB is the length of that wait — from the moment the request starts to the moment the first byte of the response begins to arrive.","It isn't just \"how fast the server thinks.\" A lot happens before your browser even talks to the right machine: it may follow a redirect, look up the domain in DNS, open a connection, and negotiate the secure TLS handshake.","TTFB rolls all of that together, then adds the server's own processing time, and stops the clock at the first byte back.","What counts as good Google's web.dev guidance is simple: aim for a TTFB of 0.8 seconds or less .","Most sites should be able to hit the good mark — and many don't, which is exactly why it's worth checking."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/time-to-first-byte/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/time-to-first-byte/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Total Blocking Time (TBT)","desc":"What TBT measures, the 50ms long-task math, why it's the lab proxy for INP (not a Core Web Vital), and how to fix a red score — from a technical SEO.","snippetText":"Total Blocking Time (TBT) is the sum of the blocking portion — the time above 50 ms — of every long task between First Contentful Paint and Time to Interactive. It's a lab-only metric, the single largest weight (30%) in the Lighthouse Performance score, and the lab proxy for the Core Web Vital INP (it used to proxy FID). It is NOT a Core Web Vital and never shows up in Search Console or CrUX. Lighthouse mobile thresholds: good ≤200 ms, poor >600 ms. You fix it the same way you fix INP — break up long JS tasks, code-split, defer or remove unused JS, and cut third-party script cost. My honest ta","href":"/technical-seo/web-performance/web-vitals/total-blocking-time/","slug":"total-blocking-time","meta":"Educational","aliases":["tbt","total blocking time","tbt metric","TBT","inp","lighthouse","fcp"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance","web-vitals"],"text":"tbt total-blocking-time core-web-vitals web-performance technical-seo lighthouse inp Total Blocking Time (TBT) is the sum of the blocking portion — the time above 50 ms — of every long task between First Contentful Paint and Time to Interactive. It's a lab-only metric, the single largest weight (30%) in the Lighthouse Performance score, and the lab proxy for the Core Web Vital INP (it used to proxy FID). It is NOT a Core Web Vital and never shows up in Search Console or CrUX. Lighthouse mobile thresholds: good ≤200 ms, poor >600 ms. You fix it the same way you fix INP — break up long JS tasks, code-split, defer or remove unused JS, and cut third-party script cost. My honest take: do it for users and conversions, not for a ranking bump. What TBT is The 50ms rule What's a good score? The thing most people get wrong What TBT actually measures The worked example The measurement window: FCP to TTI Is TBT a Core Web Vital? No. TBT is the lab proxy for INP Why TBT dominates the Lighthouse score Does TBT affect SEO rankings? What causes high TBT How to fix high TBT Where to go next AI summary Official documentation Quotes from the source TBT triage checklist TBT cheat sheet Tools for measuring and fixing TBT TBT mistakes that produce the wrong fix TBT is high but the network looks fast A large bundle is deferred but TBT stays high Lighthouse TBT is good while field INP is poor Total Blocking Time — the sum of the blocking portion (time above 50 ms) of every long task between First Contentful Paint and Time to Interactive. It's a lab-recommended metric and the lab proxy for INP, not a Core Web Vital. TL;DR — Total Blocking Time TBT measures how long your page is frozen — unable to respond to a click or tap — while it loads. A lab tool like Lighthouse adds up all the time the main thread is blocked between the first paint and when the page becomes interactive. Under 200 ms is good. It's a lab only number, it's not a Core Web Vital, and it won't show up in Search Console. What TBT is When a page loads, the browser has one main thread doing the heavy lifting — running JavaScript, building the page, reacting to your clicks. It can only do one thing at a time. If a chunk of JavaScript hogs that thread for too long, the page goes momentarily unresponsive : you tap a button and nothing happens until the script finishes. Total Blocking Time is a measurement of exactly that f","passages":["TL;DR — Total Blocking Time TBT measures how long your page is frozen — unable to respond to a click or tap — while it loads.","A lab tool like Lighthouse adds up all the time the main thread is blocked between the first paint and when the page becomes interactive.","It's a lab only number, it's not a Core Web Vital, and it won't show up in Search Console.","What TBT is When a page loads, the browser has one main thread doing the heavy lifting — running JavaScript, building the page, reacting to your clicks.","If a chunk of JavaScript hogs that thread for too long, the page goes momentarily unresponsive : you tap a button and nothing happens until the script finishes.","Total Blocking Time is a measurement of exactly that frozen time during load.","A testing tool like Lighthouse /technical seo/web performance/ loads your page in a controlled environment, watches the main thread, and adds up all the time it was blocked from responding to input.","The line is 50 milliseconds : any task that runs longer than that is a \"long task,\" and only the part above 50 ms counts as blocking time."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/total-blocking-time/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/total-blocking-time/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Universal Commerce Protocol (UCP)","desc":"UCP is Google and Shopify's open standard letting AI agents transact with merchants via a /.well-known/ucp profile — shifting ecommerce SEO to feed quality.","snippetText":"UCP is an open-source standard (Apache 2.0, current spec 2026-04-08) that Google announced at NRF in January 2026 and co-developed with Shopify, Etsy, Wayfair, Target, and Walmart. It gives AI agents, merchants, and payment providers a common language to transact without bespoke integrations. Merchants publish a capability profile at /.well-known/ucp; checkout runs a state machine (incomplete → requires_escalation → ready_for_complete) where requires_escalation hands control back to a human. Crucially, a UCP transaction generates no pageviews, sessions, or on-site events — so the optimization ","href":"/ecommerce-seo/ai-commerce/universal-commerce-protocol/","slug":"universal-commerce-protocol","meta":"Educational","aliases":["universal-commerce-protocol","Universal Commerce Protocol","UCP","ucp.dev","AI commerce protocol","Universal Commerce Protocol (UCP)","answer-engine-optimization","ai-search","ecommerce-seo"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","ai-commerce"],"text":"UCP is an open-source standard (Apache 2.0, current spec 2026-04-08) that Google announced at NRF in January 2026 and co-developed with Shopify, Etsy, Wayfair, Target, and Walmart. It gives AI agents, merchants, and payment providers a common language to transact without bespoke integrations. Merchants publish a capability profile at /.well-known/ucp; checkout runs a state machine (incomplete → requires_escalation → ready_for_complete) where requires_escalation hands control back to a human. Crucially, a UCP transaction generates no pageviews, sessions, or on-site events — so the optimization unit moves from the HTML page to Merchant Center feed quality. Merchants stay the Merchant of Record and keep their data. UCP is distinct from OpenAI/Stripe's ACP; the two are designed to coexist and many merchants will run both. What UCP is, in plain terms How a store joins in Why this matters for SEO What UCP actually is Why UCP exists: the N×N problem How UCP works technically Where UCP is live What UCP means for ecommerce SEO UCP and ACP How to prepare AI summary Official documentation Quotes from the source Get UCP ready: a working checklist UCP vs. ACP — and the dual protocol decision The three mental models Which UCP implementation path fits? UCP mistakes to avoid Publishing a profile before the underlying data is trustworthy Treating as a generic error Building protocol specific product truth Claiming session analytics measures UCP revenue Assuming an open standard means universal live adoption UCP cheat sheet The Universal Commerce Protocol (UCP) is an open-source standard (Apache 2.0) led by Google and co-developed with Shopify, Etsy, Wayfair, Target, and Walmart that lets AI agents, merchants, and payment providers transact through a common language instead of bespoke integrations. Merchants advertise their capabilities at /.well-known/ucp. TL;DR — The Universal Commerce Protocol UCP is a shared \"language\" that lets AI assistants buy things from stores on a shopper's behalf. Google announced it in January 2026 with Shopify and other big retailers. Instead of every store building a custom connection to every AI, a store publishes a small file at that tells agents what it sells and how to check out. The catch for marketers: some UCP flows can complete without a conventional product page visit, so feed and capability data become important alongside the page. Wha","passages":["TL;DR — The Universal Commerce Protocol UCP is a shared \"language\" that lets AI assistants buy things from stores on a shopper's behalf.","Google announced it in January 2026 with Shopify and other big retailers.","Instead of every store building a custom connection to every AI, a store publishes a small file at that tells agents what it sells and how to check out.","The catch for marketers: some UCP flows can complete without a conventional product page visit, so feed and capability data become important alongside the page.","What UCP is, in plain terms For years, \"shopping online\" meant a person opening a browser, landing on a product page, and clicking buy.","AI assistants are starting to do that middle part for people: you ask Gemini or Google's AI Mode to \"find me a quiet 65 inch TV under $800,\" and it goes and does the shopping.","The problem is that there was no standard way for an AI to talk to a store's checkout.","It's an open standard — free for anyone to use — that defines a common way for AI agents, stores, and payment companies to talk to each other so a purchase can happen automatically."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/ecommerce-seo/ai-commerce/universal-commerce-protocol/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ai-commerce/universal-commerce-protocol/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"URL Structure","desc":"How to structure URLs for SEO — anatomy, hyphens vs. underscores, keywords, case sensitivity, parameters, and why changing URLs almost never helps.","snippetText":"URL structure is how the parts of a web address — scheme, domain, path, query string, fragment — are organized. It mostly matters for crawling, usability, and comprehension, not rankings: keywords in URLs are a 'very light weight' signal at best. Use hyphens (Google treats underscores as word-joiners, hyphens as separators — Bing doesn't differentiate), keep casing consistent (paths are case-sensitive), minimize parameters, and change existing URLs 'very, very rarely.'","href":"/technical-seo/website-structure/url-structure/","slug":"url-structure","meta":"Educational","aliases":["url-structure","URL structure","URL format","URL best practices","what is a URL","SEO-friendly URL","URL Structure","canonicalization","url-parameters"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"url-structure technical-seo canonicalization url-parameters crawling website-structure URL structure is how the parts of a web address — scheme, domain, path, query string, fragment — are organized. It mostly matters for crawling, usability, and comprehension, not rankings: keywords in URLs are a 'very light weight' signal at best. Use hyphens (Google treats underscores as word-joiners, hyphens as separators — Bing doesn't differentiate), keep casing consistent (paths are case-sensitive), minimize parameters, and change existing URLs 'very, very rarely.' What a URL is What makes a good URL The thing most people get wrong Anatomy of a URL Do URLs affect rankings? Barely. Hyphens vs. underscores URL length and the canonicalization myth Case sensitivity is a real risk Trailing slashes URL parameters: the real crawl problem What a clean URL looks like Should you change your URLs? Almost never. Where this sits AI summary Official documentation Quotes from the source URL audit checklist The mental models URL best practices — cheat sheet Tools for auditing URL structure Test yourself: URL Structure Resources worth your time URL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly. TL;DR — A URL is the address of a page. Good URLs are readable, lowercase, use hyphens between words, and describe what the page is about. But don't expect URLs to move your rankings much — they're mostly for crawling and for humans. The biggest mistake is changing URLs you don't need to change. What a URL is A URL — Uniform Resource Locator — is the full address of a page on the web. Break one apart and you get a handful of pieces: Scheme — . Use HTTPS; it's the secure version and the expected default. Subdomain — or , , etc. . Optional. Domain — . Your site's name. Path — . The folders and the page \"slug.\" This is the part you usually control. Query string — . Extra parameters, often for tracking or filtering. Fragment — . Jumps to a spot on the page. Search engines mostly ignore it. What makes a good URL Keep it simple: Use words, not numbers. beats . Use hyphens between words. , not or . Lowercase everything. and can be treated as two different URLs. Keep it reasonably short and readable — short enough that a human can","passages":["Good URLs are readable, lowercase, use hyphens between words, and describe what the page is about.","But don't expect URLs to move your rankings much — they're mostly for crawling and for humans.","The biggest mistake is changing URLs you don't need to change.","What a URL is A URL — Uniform Resource Locator — is the full address of a page on the web.","Use HTTPS; it's the secure version and the expected default.","The folders and the page \"slug.\" This is the part you usually control.","What makes a good URL Keep it simple: Use words, not numbers.","Keep it reasonably short and readable — short enough that a human can guess what's on the page."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/website-structure/url-structure/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/url-structure/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Vue SEO","desc":"Vue 3 defaults to client-side rendering, so the content isn't in the raw HTML. This is how to make Vue apps crawlable and indexable — router mode, @unhead/vue, prerendering with vite-ssg, SSR/SSG with Nuxt, hydration, and Core Web Vitals.","snippetText":"Vue 3 defaults to client-side rendering, so a plain Vite + Vue app ships an empty HTML shell and builds the page in the browser. Google can render it — but rendering is delayed and async data can be missed, and Bing and social scrapers often can't run the JS at all. The fixes: use Vue Router history mode (not hash mode), manage <head> with @unhead/vue, and put content in the HTML with prerendering (vite-ssg), SSR, or SSG via Nuxt. Dynamic rendering is deprecated — don't build on it.","href":"/technical-seo/platform-seo/js-frameworks/vue-seo/","slug":"vue-seo","meta":"Educational","aliases":["vue-seo","Vue SEO","Vue.js SEO","SEO for Vue","Vue SPA SEO","Vue 3 SEO","javascript-seo","headless-cms-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","js-frameworks"],"text":"vue-seo javascript-seo rendering technical-seo vue nuxt ssr ssg Vue 3 defaults to client-side rendering, so a plain Vite + Vue app ships an empty HTML shell and builds the page in the browser. Google can render it — but rendering is delayed and async data can be missed, and Bing and social scrapers often can't run the JS at all. The fixes: use Vue Router history mode (not hash mode), manage <head> with @unhead/vue, and put content in the HTML with prerendering (vite-ssg), SSR, or SSG via Nuxt. Dynamic rendering is deprecated — don't build on it. Why Vue needs special SEO attention The three things to get right Should you just use Nuxt? The default Vite + Vue scaffold is client side rendered How Googlebot handles a Vue app Vue Router: use , not hash mode Head and meta management: Pick a rendering strategy Hydration mismatches are an SEO problem, not just a perf one Core Web Vitals are a Vue specific concern Structured data in Vue Where this fits AI summary Official documentation Quotes from the source Vue SEO checklist The mental models Vue SEO — cheat sheet How should a Vue route render? Vue SEO mistakes Raw HTML contains only the Vue mount element Direct route requests return 404 Titles update in the browser but not in source Hydration replaces correct server content Vue SEO is the practice of making web apps built with Vue.js crawlable, renderable, and indexable. Because Vue 3 defaults to client-side rendering, the content isn't in the raw HTML — so router mode, head management, and a rendering strategy (CSR, prerendering, SSR, or SSG) all matter. TL;DR — Vue builds your page in the browser by default. That means the raw HTML a search engine first downloads is nearly empty — the real content only shows up after JavaScript runs. Google can usually handle this, but Bing and the bots that make social share previews often can't. The fixes: use Vue Router's \"history\" mode for clean URLs, add a small library called for your titles and descriptions, and for pages that need to rank, build the HTML ahead of time prerendering or Nuxt instead of only in the browser. Why Vue needs special SEO attention When you build a site with Vue 3 the normal way Vite + Vue , the server sends a tiny HTML file — basically an empty container — and a big JavaScript bundle. The browser runs that JavaScript to draw the actual page. This is called client side rendering CSR . A human neve","passages":["That means the raw HTML a search engine first downloads is nearly empty — the real content only shows up after JavaScript runs.","Google can usually handle this, but Bing and the bots that make social share previews often can't.","The fixes: use Vue Router's \"history\" mode for clean URLs, add a small library called for your titles and descriptions, and for pages that need to rank, build the HTML ahead of time prerendering or Nuxt instead of only in the browser.","Why Vue needs special SEO attention When you build a site with Vue 3 the normal way Vite + Vue , the server sends a tiny HTML file — basically an empty container — and a big JavaScript bundle.","The first thing a crawler downloads is that nearly empty container.","It has to run your JavaScript to see anything — and not every crawler does that well.","Google runs an up to date version of Chrome and can render your Vue app.","But it does the rendering later, in a queue, and if your content waits on a slow data request, Google can move on before it loads."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/vue-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/js-frameworks/vue-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Web Performance Tools","desc":"The three tools that measure web performance — Google Lighthouse (lab), the Chrome UX Report/CrUX (field), and PageSpeed Insights (both in one UI). Which one Google ranks on, and which to use for what job.","snippetText":"Three tools cover web performance, and the whole point is knowing which is lab and which is field. Google Lighthouse runs a simulated lab audit and scores a page 0–100 (Performance = TBT 30%, LCP 25%, CLS 25%, FCP 10%, Speed Index 10%) — it's a diagnostic, not a ranking signal. CrUX (the Chrome UX Report) is the real-user field dataset Google Search actually ranks on, at p75 over a 28-day window. PageSpeed Insights is the UI that shows both: CrUX field data on top (what matters for SEO) and a Lighthouse lab run below (what helps you debug). Use field data to know where you stand, lab data to f","href":"/technical-seo/web-performance/web-performance-tools/","slug":"web-performance-tools","meta":"Educational","aliases":["web performance tools","performance measurement tools","core web vitals tools"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"web-performance core-web-vitals lighthouse pagespeed-insights crux technical-seo field-data lab-data Three tools cover web performance, and the whole point is knowing which is lab and which is field. Google Lighthouse runs a simulated lab audit and scores a page 0–100 (Performance = TBT 30%, LCP 25%, CLS 25%, FCP 10%, Speed Index 10%) — it's a diagnostic, not a ranking signal. CrUX (the Chrome UX Report) is the real-user field dataset Google Search actually ranks on, at p75 over a 28-day window. PageSpeed Insights is the UI that shows both: CrUX field data on top (what matters for SEO) and a Lighthouse lab run below (what helps you debug). Use field data to know where you stand, lab data to find what to fix. This hub points to the three deep dives. Three tools, three jobs Lab vs field — the one idea to remember So which do I use? The spine: lab data vs field data Google Lighthouse — the lab diagnostic Chrome UX Report CrUX — the real user dataset Google ranks on PageSpeed Insights PSI — field + lab in one place Choosing the right tool Beyond the three: DevTools, Search Console groups, RUM, and synthetic monitoring The workflow I actually use How CWV rankings actually work briefly A note on Bing Where to go next AI summary Official documentation Quotes from the source Web performance tools — cheat sheet Web performance measurement mistakes Reporting a Lighthouse score as Google's ranking input Using field data to diagnose a line of code Comparing unlike test conditions Optimizing the aggregate while ignoring page groups Resolve common tool disagreements PageSpeed Insights shows field data for the origin, not the URL TL;DR — There are three main tools for measuring how fast your pages are, and people constantly confuse them. Google Lighthouse runs a single test in a pretend \"lab\" and gives you a 0–100 score. CrUX is real data from real Chrome users — and it is the field data source used for Core Web Vitals reporting. PageSpeed Insights shows you both on one screen. The big lesson: your lab score isn't what Google ranks you on. Three tools, three jobs When you start measuring page speed you'll run into three names over and over — Google Lighthouse, PageSpeed Insights, and the Chrome UX Report CrUX . Most people think they're the same thing. They're not. Here's the simplest way to keep them straight: Google Lighthouse is a testing tool. It loads your page on a s","passages":["TL;DR — There are three main tools for measuring how fast your pages are, and people constantly confuse them.","Google Lighthouse runs a single test in a pretend \"lab\" and gives you a 0–100 score.","CrUX is real data from real Chrome users — and it is the field data source used for Core Web Vitals reporting.","The big lesson: your lab score isn't what Google ranks you on.","Three tools, three jobs When you start measuring page speed you'll run into three names over and over — Google Lighthouse, PageSpeed Insights, and the Chrome UX Report CrUX .","Here's the simplest way to keep them straight: Google Lighthouse is a testing tool.","It loads your page on a simulated slow phone, runs a bunch of checks, and gives you a 0–100 score .","It's a lab test — one machine, one moment, controlled conditions."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-performance-tools/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Web Vitals","desc":"Web Vitals is Google's initiative for unified page-experience quality signals. Here's the full picture — what the initiative covers, which metrics are \"Core\" (and rank), which are diagnostic, and why your lab score and field data disagree. The hub for the supplementary metrics that sit under Core Web Vitals.","snippetText":"Web Vitals is Google's umbrella initiative (launched May 2020) for page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset that feeds ranking; INP replaced FID in March 2024. Everything else under the initiative (TTFB, FCP, TBT, Speed Index) is diagnostic and not a ranking factor. Google ranks on field data (CrUX, p75, page-level), not lab scores — which is why your Lighthouse number and your Search Console report often disagree. This hub maps the whole program and points to each metric's deep dive.","href":"/technical-seo/web-performance/web-vitals/","slug":"web-vitals","meta":"Educational","aliases":["web-vitals","web vitals","web vitals initiative","what are web vitals","supplementary web vitals","other web vitals","Web Vitals","core-web-vitals","web-performance"],"pillar":"technical-seo","taxonomy":["technical-seo","web-performance"],"text":"Web Vitals is Google's umbrella initiative (launched May 2020) for page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset that feeds ranking; INP replaced FID in March 2024. Everything else under the initiative (TTFB, FCP, TBT, Speed Index) is diagnostic and not a ranking factor. Google ranks on field data (CrUX, p75, page-level), not lab scores — which is why your Lighthouse number and your Search Console report often disagree. This hub maps the whole program and points to each metric's deep dive. What Web Vitals is The three Core Web Vitals The other Web Vitals The thing most people get wrong Web Vitals is the initiative, not the metric Core Web Vitals — the three that rank Other Web Vitals — the diagnostic layer Field data is what Google ranks on Do Web Vitals affect rankings? Honestly. Does Bing use Web Vitals? The state of Web Vitals in 2026 Where to go next AI summary Official documentation Quotes from the source Web Vitals mistakes that lead to the wrong work Web Vitals map Core Web Vitals program scorecard Test yourself: Web Vitals Web Vitals is Google's initiative (launched May 2020) for unified page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset used in ranking; the rest (TTFB, FCP, TBT, Speed Index) are diagnostic, not ranking factors. TL;DR — \"Web Vitals\" is Google's name for its whole set of page experience metrics. \"Core Web Vitals\" are just the three of them that actually affect rankings: LCP loading , INP responsiveness , and CLS visual stability . Metrics like TTFB, FCP, TBT, and Speed Index are also Web Vitals — they're handy for diagnosing problems, but they don't move your rankings. What Web Vitals is Google launched Web Vitals in 2020 to fix a real problem: there were dozens of ways to measure how fast and smooth a page felt, and nobody agreed on which ones mattered. Web Vitals is Google's answer — a single, named set of quality signals so everyone can point at the same things. The most important thing to understand is that Web Vitals and Core Web Vitals are not the same thing : Web Vitals is the whole umbrella — every metric in the program. Core Web Vitals are the three that Google says apply to every page and uses in its ranking systems. The three Core Web Vitals These are the ones that count for SEO: LCP Largest Contentful Paint — how long until the biggest thing on scre","passages":["TL;DR — \"Web Vitals\" is Google's name for its whole set of page experience metrics.","\"Core Web Vitals\" are just the three of them that actually affect rankings: LCP loading , INP responsiveness , and CLS visual stability .","Metrics like TTFB, FCP, TBT, and Speed Index are also Web Vitals — they're handy for diagnosing problems, but they don't move your rankings.","What Web Vitals is Google launched Web Vitals in 2020 to fix a real problem: there were dozens of ways to measure how fast and smooth a page felt, and nobody agreed on which ones mattered.","Web Vitals is Google's answer — a single, named set of quality signals so everyone can point at the same things.","The most important thing to understand is that Web Vitals and Core Web Vitals are not the same thing : Web Vitals is the whole umbrella — every metric in the program.","Core Web Vitals are the three that Google says apply to every page and uses in its ranking systems.","The three Core Web Vitals These are the ones that count for SEO: LCP Largest Contentful Paint — how long until the biggest thing on screen loads."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/web-performance/web-vitals/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/web-performance/web-vitals/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Website Builder SEO","desc":"SEO for hosted visual website builders — Wix, Squarespace, Webflow, Framer, Weebly, Duda, Jimdo, Webnode, Carrd, and Strikingly. What each does automatically and where each falls short.","snippetText":"Hosted website builders handle the SEO basics automatically — HTTPS, CDN, XML sitemaps, canonical tags, and basic metadata fields. Where they differ from traditional CMS platforms: you generally can't edit robots.txt directly, URL structures have some constraints, and server-side configuration is off-limits. Webflow, Framer, and Duda give the most technical control (all three let you edit robots.txt outright); Wix and Squarespace have the most built-in SEO guidance. Weebly, Jimdo, Webnode, Carrd, and Strikingly are simpler and more constrained.","href":"/technical-seo/platform-seo/website-builders/","slug":"website-builders","meta":"Educational","aliases":["website-builders","website builder SEO","Wix SEO","Squarespace SEO","Webflow SEO","best website builder for SEO","Website Builders","javascript-seo","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo"],"text":"website-builders-seo wix-seo squarespace-seo webflow-seo framer-seo technical-seo platform-seo Hosted website builders handle the SEO basics automatically — HTTPS, CDN, XML sitemaps, canonical tags, and basic metadata fields. Where they differ from traditional CMS platforms: you generally can't edit robots.txt directly, URL structures have some constraints, and server-side configuration is off-limits. Webflow, Framer, and Duda give the most technical control (all three let you edit robots.txt outright); Wix and Squarespace have the most built-in SEO guidance. Weebly, Jimdo, Webnode, Carrd, and Strikingly are simpler and more constrained. What website builders do for SEO automatically The spectrum from most to least control Website builder SEO comparison Where builders fall short at scale Website builder SEO setup checklist All builders Webflow / Framer Wix Squarespace Choosing a builder for SEO Website builder evaluation checklist Match the builder to the requirement Common website builder SEO problems Settings look correct, but crawlers see different output Duplicate pages appear under generated URL variants A needed technical change has no setting Which builder control level do you need? Builder deep dives Hosted visual tools — Wix, Squarespace, Webflow, Framer, and others — that let users build and publish websites without writing code. They manage hosting, SSL, and rendering but vary significantly in the SEO controls they expose. TL;DR — Website builders like Wix, Squarespace, and Webflow handle HTTPS, CDN, sitemaps, and basic metadata automatically. You don't need to manage a server. The trade off: you can't customize robots.txt on most of them, and some URL patterns are fixed. For most small to mid size sites, these limitations rarely matter. What website builders do for SEO automatically All the major hosted builders cover the fundamentals: HTTPS — SSL is included and configured for you CDN — your pages and images are served from a content delivery network for speed; Core Web Vitals are generally decent out of the box XML sitemap — auto generated and kept updated as you add pages Canonical tags — set automatically to prevent self referencing duplicate content issues Metadata fields — every page has a title and meta description field in the editor What varies is how much you can customize beyond these defaults. The spectrum from most to least control M","passages":["TL;DR — Website builders like Wix, Squarespace, and Webflow handle HTTPS, CDN, sitemaps, and basic metadata automatically.","The trade off: you can't customize robots.txt on most of them, and some URL patterns are fixed.","For most small to mid size sites, these limitations rarely matter.","Webflow, Framer, and Duda are the standouts for technical SEO control — all three let you edit robots.txt outright, which most hosted builders don't.","Squarespace is adequate; the others are limited but workable for simple use cases.","Work around this with Search Console crawl stats and JavaScript based crawl monitoring.","Limited URL control — Most builders use a fixed URL pattern derived from your page title or slug.","Changing it after the page is indexed requires a redirect, and not all builders handle this cleanly."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/platform-seo/website-builders/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/website-builders/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Website Structure","desc":"How a site's hierarchy, navigation, breadcrumbs, and URLs are organized — and why internal linking is the primary signal Google reads to understand it. The hub.","snippetText":"Website structure is your site's hierarchy, navigation, breadcrumbs, and URL organization — how pages relate to each other and how people and search engines move through them. The thing most guides underweight: internal linking is the primary signal Google reads to understand that structure, not the slashes in your URLs. Click depth matters more than URL depth. A reasonable pyramid beats both an artificially flat site and a needlessly deep one, and none of this guarantees a specific crawl frequency or ranking outcome by itself. This hub explains how Google actually reads structure and points y","href":"/technical-seo/website-structure/","slug":"website-structure","meta":"Educational","aliases":["website-structure","website structure","site structure","site architecture","website architecture","Website Structure","url-structure","internal-links","crawl-depth"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"website-structure site-architecture technical-seo internal-links crawl-depth information-architecture Website structure is your site's hierarchy, navigation, breadcrumbs, and URL organization — how pages relate to each other and how people and search engines move through them. The thing most guides underweight: internal linking is the primary signal Google reads to understand that structure, not the slashes in your URLs. Click depth matters more than URL depth. A reasonable pyramid beats both an artificially flat site and a needlessly deep one, and none of this guarantees a specific crawl frequency or ranking outcome by itself. This hub explains how Google actually reads structure and points you to the deep dives: URL structure, internal links, orphan pages, breadcrumbs, pagination, crawl depth, site-architecture models, and subdomain vs subdirectory. What website structure is The one idea most people miss How to get it right the simple version The thing most people get wrong Internal linking is how Google reads your structure Click depth, not URL depth Pyramid beats both extremes Importance flows through links Where directories still earn their keep Sitemaps help — but they don't replace links Breadcrumbs: user path, not URL mirror What structure doesn't guarantee Bing recommends shallow reachability Where to go next AI summary Official documentation Quotes from the source Website structure checklist The mental models Tools for seeing the structure search engines receive Test yourself: Website structure Resources worth your time Website structure (site architecture) is a site's visible hierarchy, navigation, breadcrumbs, and URL organization — how pages relate and how people and search engines move between them. Internal linking is the primary signal Google reads to understand that structure, not URL folders. TL;DR — Website structure is your hierarchy, navigation, breadcrumbs, and URL organization — how your pages are grouped and how people and search engines move between them. Search engines find your pages mainly by following links, so the big lever isn't your URL folders — it's your internal linking. Group related content, link to your important pages, and keep them a few clicks from the homepage. What website structure is Website structure a lot of people call it site architecture is the whole visible shape of your site: your hierarchy, your navigation","passages":["TL;DR — Website structure is your hierarchy, navigation, breadcrumbs, and URL organization — how your pages are grouped and how people and search engines move between them.","Search engines find your pages mainly by following links, so the big lever isn't your URL folders — it's your internal linking.","Group related content, link to your important pages, and keep them a few clicks from the homepage.","What website structure is Website structure a lot of people call it site architecture is the whole visible shape of your site: your hierarchy, your navigation and menus, your breadcrumbs, and how your URLs are organized.","Think of it two ways at once: For people — can a visitor land on your site and quickly find what they came for, using menus, categories, and breadcrumbs?","For search engines — can a bot like Googlebot follow links from page to page and discover everything you want found?","The classic shape is a pyramid : your homepage at the top, broad categories under it, narrower subcategories under those, and individual pages at the bottom.","A shop might go Home → Shoes → Running Shoes → a specific shoe ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/website-structure/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"WebSub","desc":"WebSub (formerly PubSubHubbub) is a push protocol that broadcasts RSS/Atom feed changes to search engines like Google in real time — what it is, how it works, and its limits.","snippetText":"WebSub (formerly PubSubHubbub) is a W3C push protocol — a Recommendation since Jan 2018, republished with security fixes in June 2026 — that broadcasts RSS/Atom feed changes to search engines the moment you publish, instead of waiting for them to poll your feed. You advertise a hub in your feed (Google runs one at pubsubhubbub.appspot.com, confirmed live) and ping it on publish; the hub fans the update out to subscribers. Google confirms it supports WebSub for Atom/RSS. But it only works for feeds — not arbitrary pages — and it only speeds discovery, never guaranteeing a crawl or index. For pu","href":"/technical-seo/how-search-works/discovery/websub/","slug":"websub","meta":"Educational","aliases":["websub","WebSub","PubSubHubbub","push notification protocol","feed push","discovery","rss-feeds"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery"],"text":"websub pubsubhubbub rss discovery push-protocols technical-seo WebSub (formerly PubSubHubbub) is a W3C push protocol — a Recommendation since Jan 2018, republished with security fixes in June 2026 — that broadcasts RSS/Atom feed changes to search engines the moment you publish, instead of waiting for them to poll your feed. You advertise a hub in your feed (Google runs one at pubsubhubbub.appspot.com, confirmed live) and ping it on publish; the hub fans the update out to subscribers. Google confirms it supports WebSub for Atom/RSS. But it only works for feeds — not arbitrary pages — and it only speeds discovery, never guaranteeing a crawl or index. For pushing general pages, IndexNow (Bing and others) is the right tool, not WebSub; Bing's separate news-only PubHub stopped taking new publishers in June 2025. What WebSub is The one thing to know Do you need to set it up? WebSub is the push half of feeds PubSubHubbub vs WebSub — same protocol, different name How WebSub actually works WebSub and Google WebSub and Bing How to implement WebSub What WebSub is not Who actually benefits AI summary Official documentation Quotes from the source WebSub publishing checklist The publish → notify → fetch framework WebSub — quick reference Mistakes that quietly break WebSub Ping the hub and confirm it worked Prove WebSub actually fired Test: feed advertises the hub and itself Test: the publish ping returns a success status Test: the hub actually re fetched the feed Test yourself: WebSub WebSub (formerly PubSubHubbub) is a push notification protocol for RSS/Atom feeds that lets a site instantly broadcast new or updated content to subscribing search engines instead of waiting to be re-crawled. TL;DR — WebSub is a way to notify subscribers when you publish something, instead of waiting for them to come check your feed. It only works if your site has an RSS or Atom feed. You point your feed at a \"hub,\" and when you publish, your site pings the hub, which passes the update to subscribed services. Some blogging platforms support this automatically. What WebSub is Normally, search engines find your new posts by coming back to look — they re read your sitemap or your RSS feed every so often on their own schedule. WebSub flips that around: the moment you hit publish, your site sends a little \"hey, I've got something new\" message, and that gets relayed to the search engines that are ","passages":["TL;DR — WebSub is a way to notify subscribers when you publish something, instead of waiting for them to come check your feed.","You point your feed at a \"hub,\" and when you publish, your site pings the hub, which passes the update to subscribed services.","What WebSub is Normally, search engines find your new posts by coming back to look — they re read your sitemap or your RSS feed every so often on their own schedule.","WebSub flips that around: the moment you hit publish, your site sends a little \"hey, I've got something new\" message, and that gets relayed to the search engines that are listening.","In 2017 it was renamed WebSub and became an official web standard.","Both names mean the same thing, and Google's system still works under either one.","The one thing to know WebSub only works with RSS or Atom feeds .","It is not a way to push any random page on your site to Google."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-26","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/websub/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/websub/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Alt Text","desc":"Alt text is the alt attribute on an img element. It helps accessibility and image search — but its effect on web search rankings is limited.","snippetText":"Alt text is the value of the alt attribute on an <img> element — a short text substitute chosen for the image's purpose and context, not a literal inventory of pixels. It's required by HTML and it's one input into accessibility conformance (not a guarantee of full ADA/WCAG compliance on its own), and it's the single most important piece of image metadata for search engines. The key nuance most guides miss: alt text primarily helps image search, not regular web search rankings — Mueller has said this repeatedly, and no reviewed official source promises a ranking, traffic, or AI-citation outcome","href":"/technical-seo/on-page/image-seo/alt-text/","slug":"alt-text","meta":"Educational","aliases":["alt-text","alt text","alt attribute","alt tag","image alt text","alternative text","Alt Text","image-seo","accessibility","on-page-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","image-seo"],"text":"alt-text alt-attribute image-seo accessibility on-page-seo html-seo technical-seo on-page Alt text is the value of the alt attribute on an <img> element — a short text substitute chosen for the image's purpose and context, not a literal inventory of pixels. It's required by HTML and it's one input into accessibility conformance (not a guarantee of full ADA/WCAG compliance on its own), and it's the single most important piece of image metadata for search engines. The key nuance most guides miss: alt text primarily helps image search, not regular web search rankings — Mueller has said this repeatedly, and no reviewed official source promises a ranking, traffic, or AI-citation outcome from adding it. Write it for context, not just description; don't keyword-stuff it; don't start with 'image of'; use alt=\"\" (not a missing attribute) for decorative images; describe the action or destination for functional and linked images; and remember that on a linked image the alt text acts as the anchor text. Missing alt attributes are the most common technical SEO issue on the web — 80.4% of sites have at least one. What alt text is Why it matters How to write good alt text The thing most people get wrong What alt text actually is Alt text has two separate SEO jobs — and one of them is overstated It's not the only signal Google uses Accessibility — and the legal stakes How to write alt text that works Decorative images: , not a missing Functional images: describe the action, not the icon Linked images: alt text becomes anchor text SVGs are different Anti patterns to avoid Finding and fixing missing alt text AI summary Official documentation Quotes from the source Alt text audit checklist Resources worth your time Alt text mistakes worth naming individually Keyword stuffing the alt attribute Opening with \"Image of\" or \"Photo of\" Omitting the alt attribute on decorative images Alt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search. TL;DR — Alt text is a short stand in you add to an image so people who can't see it — and search engines — know what it's for. You add it with the attribute on the element. It's one input into accessibili","passages":["TL;DR — Alt text is a short stand in you add to an image so people who can't see it — and search engines — know what it's for.","It's one input into accessibility not a guarantee of full compliance by itself , and it helps your images show up in image search.","Describe what the image is doing on that page, not just what it shows; don't stuff in keywords; use an empty for purely decorative images; and for icon buttons and linked images, describe the action or destination instead.","What alt text is When you put an image on a web page, the code looks like this: That part is the alt text — short for alternative text .","It's a written stand in for the image: a short description of what the picture shows or does.","If the image can't be seen, the alt text is what's used instead.","You'll often hear people call it the \"alt tag.\" That's the common name, but it's not quite right — is the tag, and is an attribute on it.","I'll use \"alt text\" and \"alt attribute\" here, but if you say \"alt tag,\" everyone will know what you mean."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/on-page/image-seo/alt-text/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/alt-text/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"B2B SEO","desc":"B2B SEO is optimizing for the searches business buyers make — same algorithms as B2C, but small committees, long cycles, and low-volume, high-intent keywords change the whole strategy.","snippetText":"B2B SEO uses the same ranking systems as B2C — there is no special B2B algorithm. What changes is everything around it: you're selling to a 10–13 person buying committee researching for 6–18 months, so keywords are low-volume but high-intent, content has to cover the whole funnel (and the 95% who aren't in-market yet), and attribution is genuinely hard because most of the journey is invisible. Organic search is the single largest B2B revenue channel, but you win it on strategy, E-E-A-T, and — at enterprise scale — organizational coordination, not on volume.","href":"/enterprise-seo/business-models-and-segments/b2b-seo/","slug":"b2b-seo","meta":"Educational","aliases":["b2b-seo","B2B SEO","B2B search engine optimization","SEO for B2B","B2B SEO strategy","enterprise-seo","saas-seo","eeat"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","business-models-and-segments"],"text":"b2b-seo enterprise-seo keyword-research content-strategy eeat attribution B2B SEO uses the same ranking systems as B2C — there is no special B2B algorithm. What changes is everything around it: you're selling to a 10–13 person buying committee researching for 6–18 months, so keywords are low-volume but high-intent, content has to cover the whole funnel (and the 95% who aren't in-market yet), and attribution is genuinely hard because most of the journey is invisible. Organic search is the single largest B2B revenue channel, but you win it on strategy, E-E-A-T, and — at enterprise scale — organizational coordination, not on volume. What B2B SEO is Why it's worth doing How to think about it The buyer is what makes B2B different What actually makes B2B different B2B keyword research B2B content strategy: the 5% / 95% split E E A T for B2B Technical SEO for B2B sites Link building for B2B B2B SEO at enterprise scale is an org problem Measuring B2B SEO the dark funnel B2B SEO in the age of AI search AI summary Official documentation Quotes from the source B2B SEO program checklist The mental models B2B SEO cheat sheet Tools for a B2B SEO program B2B SEO mistakes that distort the strategy Chasing volume instead of commercial intent Writing only for the 5% who are ready to buy Treating one conversion as the whole journey B2B SEO is the practice of optimizing a company's site to rank for the searches business buyers make. The ranking mechanics are identical to B2C SEO — what differs is the strategy: small buying committees, long sales cycles, and low-volume, high-intent keywords. TL;DR — B2B SEO is SEO for companies that sell to other companies. Search engines rank your pages the same way they rank anyone's — what's different is who you're writing for : business purchases usually involve several stakeholders and months of research. So you target the specific, lower traffic searches that high value buyers actually make, and you write content for every stage of their long decision. What B2B SEO is B2B means business to business — you sell to other companies, not to consumers. B2B SEO is the work of getting your site to show up in Google and Bing when the people at those companies search for what you offer. The mechanics are the same SEO everyone does: pick the right keywords, write genuinely useful pages, make sure search engines can crawl and understand your site, ear","passages":["TL;DR — B2B SEO is SEO for companies that sell to other companies.","Search engines rank your pages the same way they rank anyone's — what's different is who you're writing for : business purchases usually involve several stakeholders and months of research.","So you target the specific, lower traffic searches that high value buyers actually make, and you write content for every stage of their long decision.","What B2B SEO is B2B means business to business — you sell to other companies, not to consumers.","B2B SEO is the work of getting your site to show up in Google and Bing when the people at those companies search for what you offer.","The mechanics are the same SEO everyone does: pick the right keywords, write genuinely useful pages, make sure search engines can crawl and understand your site, earn some links, and measure what works.","Nothing about the algorithm changes because you sell to businesses.","What changes is the buyer: It's not one person — it's a committee."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/business-models-and-segments/b2b-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/business-models-and-segments/b2b-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"BigCommerce SEO","desc":"How SEO works on BigCommerce — what the platform gets right automatically (editable robots.txt, custom URLs, auto sitemaps, automatic 301s, built-in schema), what you still have to do by hand (faceted nav, hreflang, review schema), and how the Stencil-vs-Catalyst choice shapes your Core Web Vitals ceiling.","snippetText":"BigCommerce gives you the strongest built-in technical SEO foundation of any hosted SaaS ecommerce platform: editable robots.txt, fully custom URL structures (no forced prefixes), auto-generated XML sitemaps, automatic 301 redirects on URL change, and JSON-LD product schema in the Cornerstone theme. What it leaves to you is the work that actually moves the needle at scale — faceted-navigation canonicals, multi-storefront hreflang (with an Akamai geo-redirect gotcha), review schema, and Core Web Vitals on Stencil. The Stencil-vs-Catalyst (headless Next.js) decision sets your performance ceiling","href":"/technical-seo/platform-seo/ecommerce-platforms/bigcommerce-seo/","slug":"bigcommerce-seo","meta":"Educational","aliases":["bigcommerce-seo","BigCommerce SEO","BigCommerce","BigCommerce store","Catalyst","Stencil","faceted-navigation","canonicalization","core-web-vitals"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"bigcommerce ecommerce-seo faceted-navigation hreflang catalyst stencil schema BigCommerce gives you the strongest built-in technical SEO foundation of any hosted SaaS ecommerce platform: editable robots.txt, fully custom URL structures (no forced prefixes), auto-generated XML sitemaps, automatic 301 redirects on URL change, and JSON-LD product schema in the Cornerstone theme. What it leaves to you is the work that actually moves the needle at scale — faceted-navigation canonicals, multi-storefront hreflang (with an Akamai geo-redirect gotcha), review schema, and Core Web Vitals on Stencil. The Stencil-vs-Catalyst (headless Next.js) decision sets your performance ceiling. What \"BigCommerce SEO\" means What BigCommerce does for you automatically What you still have to do yourself The thing most people get wrong The frame: what's automatic vs what's yours URL structure XML sitemap and robots.txt Meta tags and on page fields 301 redirects Structured data / schema Faceted navigation — the 1 problem CDN, images, and Core Web Vitals Stencil vs Catalyst — the trade off that sets your ceiling International SEO and hreflang Blog and content SEO Google Shopping / Merchant Center BigCommerce vs Shopify — the honest version AI summary Official documentation Quotes from the source BigCommerce SEO checklist The mental models BigCommerce SEO cheat sheet Tools for BigCommerce SEO BigCommerce SEO is the technical, on-page, and content work you do on a store built on BigCommerce — a hosted SaaS ecommerce platform that ships with more native SEO controls than most of its rivals (editable robots.txt, custom URL structures, auto sitemaps, and automatic 301s), while still leaving faceted navigation, multi-storefront hreflang, and review schema for you to handle. TL;DR — BigCommerce is a hosted store platform like Shopify that does a lot of SEO for you automatically: it builds your sitemap, sets up redirects when you change a URL, lets you edit your , and adds product schema. The parts you still have to handle yourself are filter pages faceted navigation , multi language/multi country setups, and review stars in search. What \"BigCommerce SEO\" means BigCommerce is a SaaS ecommerce platform — you pay a monthly fee and they host your store, handle servers, security, and updates. You don't install it on your own hosting the way you would WordPress. In that sense it's a direct competitor","passages":["TL;DR — BigCommerce is a hosted store platform like Shopify that does a lot of SEO for you automatically: it builds your sitemap, sets up redirects when you change a URL, lets you edit your , and adds product schema.","The parts you still have to handle yourself are filter pages faceted navigation , multi language/multi country setups, and review stars in search.","What \"BigCommerce SEO\" means BigCommerce is a SaaS ecommerce platform — you pay a monthly fee and they host your store, handle servers, security, and updates.","You don't install it on your own hosting the way you would WordPress.","\"BigCommerce SEO\" is just the regular SEO work — getting your products and category pages found, crawled, indexed, and ranked — applied to a store that happens to run on BigCommerce.","The reason it's worth its own guide is that BigCommerce makes some choices for you, and you need to know which boxes it already ticks and which it leaves empty.","BigCommerce builds and keeps an XML sitemap up to date as you add or change products.","If you rename a product or change its URL, BigCommerce automatically creates a 301 redirect from the old URL to the new one, so links and rankings don't break."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/bigcommerce-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/bigcommerce-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Category Page SEO","desc":"Category pages (PLPs, collection pages) are usually the highest-leverage and most technically dangerous pages on an ecommerce store. This is how to rank them, handle pagination after rel=prev/next died, decide which faceted URLs to index, add content without keyword-stuffing, and route crawlers to every product.","snippetText":"A category page (PLP, collection page) groups products under a classification and usually does two jobs: rank for broad commercial queries and route crawlers and link equity to the products beneath it. The technical traps are the same ones that make ecommerce hard — faceted navigation spawning near-infinite URLs, and pagination. The accuracy spine for 2026: rel=prev/next is dead (Google, 2019), so don't canonical paginated pages back to page 1 — let each page be indexed on its own or point to a 'view all'. Category pages that are only a product grid can be hard to rank, but Google's line (Muel","href":"/ecommerce-seo/categories-and-merchandising/category-page-seo/","slug":"category-page-seo","meta":"Educational","aliases":["category-page-seo","category page SEO","PLP SEO","product listing page","collection page SEO","Category Page SEO","ecommerce-seo","faceted-navigation","crawl-budget","canonicalization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","categories-and-merchandising"],"text":"category-page-seo ecommerce-seo faceted-navigation pagination crawl-budget structured-data A category page (PLP, collection page) groups products under a classification and usually does two jobs: rank for broad commercial queries and route crawlers and link equity to the products beneath it. The technical traps are the same ones that make ecommerce hard — faceted navigation spawning near-infinite URLs, and pagination. The accuracy spine for 2026: rel=prev/next is dead (Google, 2019), so don't canonical paginated pages back to page 1 — let each page be indexed on its own or point to a 'view all'. Category pages that are only a product grid can be hard to rank, but Google's line (Mueller) is that extra text is helpful, not required — and a keyword-stuffed footer blob is the wrong way to add it. The GSC URL Parameters tool is gone (2022); control parameters with robots.txt and canonicals instead. What a category page is The two jobs a category page does The two things that go wrong The simple checklist Why category pages are the leverage point Faceted navigation — the thing most likely to hurt you Pagination in 2026 — what actually works URL structure The \"thin category\" problem — content without stuffing Internal linking — the on ramp job Title tags, meta descriptions, H1 Structured data Monitoring Where this sits AI summary Official documentation Quotes from the source Category page SEO checklist The mental models Category page SEO — cheat sheet Choose the pagination and facet treatment Category page mistakes to avoid Canonical every paginated page to page 1 Rely on rel=prev/next as the Google solution Category page SEO is the practice of optimizing an ecommerce listing page (also called a PLP or collection page) — the page that groups products under a classification like /shoes/running/ — so it ranks for broad commercial queries and routes crawlers and link equity to the products beneath it. TL;DR — A category page also called a PLP or collection page is a list of products grouped together — like \"men's running shoes.\" These pages are often your biggest moneymakers in search because they match the broad things people type when they're shopping. The job is to get the page itself to rank and make sure Google can reach every product on it. The two things that trip people up: the filter/sort buttons quietly create thousands of near duplicate web addresses, and a","passages":["TL;DR — A category page also called a PLP or collection page is a list of products grouped together — like \"men's running shoes.\" These pages are often your biggest moneymakers in search because they match the broad things people type when they're shopping.","The job is to get the page itself to rank and make sure Google can reach every product on it.","The two things that trip people up: the filter/sort buttons quietly create thousands of near duplicate web addresses, and a page that's only a grid of products with no context can be hard to rank.","What a category page is When you shop online, you usually land on one of two kinds of page: A product page — one single item one specific pair of shoes .","A category page — the list of items, like \"running shoes\" or \"laptops under $500.\" You'll also hear these called PLPs product listing pages or, on Shopify, collection pages .","Category pages sit in the middle of your site: homepage → category → product.","They matter a lot for SEO because they match the broad searches people make when they're still deciding \"running shoes\" rather than the exact product searches \"Nike Pegasus 41 size 10\" .","Broad searches have way more volume, so a category page that ranks can pull in a lot of shoppers."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/category-page-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/categories-and-merchandising/category-page-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ecommerce SEO","desc":"Ecommerce SEO is regular SEO applied to an online store — the same Google algorithm, but compounded by scale, duplicate URLs by default, faceted navigation, platform constraints, and revenue riding on every page. This is the hub for the whole pillar.","snippetText":"Ecommerce SEO isn't a separate algorithm — it's the same Google ranking system applied to a store, but compounded by scale, near-duplicate URLs by default, faceted navigation, platform-imposed structures, and revenue riding on every page. The headline myth to kill: product schema makes you eligible for rich results, it does not make you rank. The canonical technical challenge is faceted navigation. Platform choice matters but no mainstream platform is un-SEO-able. This hub maps the discipline and points you to the deep dives.","href":"/ecommerce-seo/","slug":"ecommerce-seo","meta":"Educational","aliases":["ecommerce-seo","ecommerce SEO","SEO for ecommerce","online store SEO","ecommerce search optimization","Ecommerce SEO","crawl-budget","faceted-navigation","canonicalization","product-schema"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo"],"text":"ecommerce-seo faceted-navigation product-schema crawl-budget shopify structured-data Ecommerce SEO isn't a separate algorithm — it's the same Google ranking system applied to a store, but compounded by scale, near-duplicate URLs by default, faceted navigation, platform-imposed structures, and revenue riding on every page. The headline myth to kill: product schema makes you eligible for rich results, it does not make you rank. The canonical technical challenge is faceted navigation. Platform choice matters but no mainstream platform is un-SEO-able. This hub maps the discipline and points you to the deep dives. What ecommerce SEO is Why stores are trickier than a blog The handful of things that matter most The thing most people get wrong A store manufactures URLs faster than Google will crawl them Why ecommerce SEO is harder than general SEO Faceted navigation — the canonical ecommerce challenge Crawl budget — when it actually matters Structured data: eligibility, not ranking Core Web Vitals — a real factor, in proportion Out of stock products Category pages need content — the right kind Platform choice matters — but nothing is un SEO able Where to go next AI summary Official documentation Quotes from the source Ecommerce SEO foundations checklist The mental models Ecommerce SEO — cheat sheet Ecommerce SEO mistakes that waste the most effort Treat structured data as a ranking tactic Use noindex to save crawl budget Expect canonical tags to solve faceted navigation by themselves Ecommerce SEO is the practice of optimizing an online store so its product and category pages rank in organic search and attract purchase-intent visitors. It uses the same Google algorithm as any other site, but compounds the usual SEO work with commerce-specific challenges like faceted navigation, product variants, and platform-imposed URLs. TL;DR — Ecommerce SEO is just SEO for an online store — getting your product and category pages to show up in Google when people search to buy. There's no special \"ecommerce algorithm.\" It feels harder only because stores have way more pages than a normal site, and a lot of those pages are near identical the same product in five colors, the same category sorted ten ways . The job is keeping that mess organized so Google ranks the pages that actually make you money. What ecommerce SEO is When you run a store, two pages do most of your earning in sea","passages":["TL;DR — Ecommerce SEO is just SEO for an online store — getting your product and category pages to show up in Google when people search to buy.","There's no special \"ecommerce algorithm.\" It feels harder only because stores have way more pages than a normal site, and a lot of those pages are near identical the same product in five colors, the same category sorted ten ways .","The job is keeping that mess organized so Google ranks the pages that actually make you money.","What ecommerce SEO is When you run a store, two pages do most of your earning in search: Product pages — one per item you sell.","Category collection pages — the lists that group products, like \"men's running shoes.\" Ecommerce SEO is the work of getting those pages to rank for searches like \"waterproof hiking boots\" or \"wireless earbuds under $100\" — the searches where someone is ready to buy.","You still need pages that are crawlable, relevant to what people search, and trusted enough to compete.","Why stores are trickier than a blog A blog might have 100 pages.","A store with 2,000 products, each in a few colors and sizes, can quietly create hundreds of thousands of web addresses once you count every filter and sort option."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/ecommerce-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ecommerce SEO Audit","desc":"How I audit an online store — and why I start with Google Search Console and crawl data, not on-page tweaks. A prioritized, scale-first ecommerce SEO audit framework: crawlability, indexation, duplicate content, on-page at scale, technical, structured data, internal links, out-of-stock handling, and off-page — sorted by impact and effort.","snippetText":"An ecommerce SEO audit isn't a 500-point checklist — it's the work of finding the small set of issues holding a store's rankings and revenue back, then prioritizing them by impact and effort. Because ecommerce sites hit problems at scale, I start the audit in Google Search Console (the Page Indexing report) and crawl data, not on-page tweaks: the biggest wins are usually crawling and indexation issues affecting thousands of URLs at once. Duplicate content from facets, collections, and variants is the #1 ecommerce-specific issue audits uncover; thin category pages are #2. The goal is to fix the","href":"/ecommerce-seo/ecommerce-seo-audit/","slug":"ecommerce-seo-audit","meta":"Educational","aliases":["ecommerce-seo-audit","ecommerce SEO audit","ecommerce technical audit","ecommerce site audit","Ecommerce SEO Audit","ecommerce-seo","faceted-navigation","crawl-budget","canonicalization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo"],"text":"ecommerce-seo site-audit crawl-budget faceted-navigation duplicate-content structured-data indexing An ecommerce SEO audit isn't a 500-point checklist — it's the work of finding the small set of issues holding a store's rankings and revenue back, then prioritizing them by impact and effort. Because ecommerce sites hit problems at scale, I start the audit in Google Search Console (the Page Indexing report) and crawl data, not on-page tweaks: the biggest wins are usually crawling and indexation issues affecting thousands of URLs at once. Duplicate content from facets, collections, and variants is the #1 ecommerce-specific issue audits uncover; thin category pages are #2. The goal is to fix the stuff that matters most and skip the busywork. What an ecommerce SEO audit is Where to start and where not to The two problems almost every store has What you'll need Audit philosophy: client first, not issue first Why I start with Search Console and crawl data, not on page Step 1 — Crawlability Step 2 — Indexation Step 3 — Duplicate content the 1 ecommerce issue Step 4 — On page at scale Step 5 — Technical CWV, HTTPS, canonicals, mobile Step 6 — Structured data Step 7 — Internal linking Step 8 — Out of stock and discontinued products Step 9 — Off page How to prioritize the findings Common myths to clear up in the report AI summary Official documentation Quotes from the source The ecommerce SEO audit checklist The frameworks behind the audit Tools for an ecommerce SEO audit Playbook: organic traffic drops across an ecommerce site An ecommerce SEO audit is a systematic review of an online store's crawlability, indexation, duplicate content, on-page, technical, and link health — designed to surface the small set of issues that actually hold rankings and revenue back, not to produce a 500-point checklist. TL;DR — An ecommerce SEO audit is a health check for your online store — finding the things that stop Google from showing your product and category pages, and fixing the ones that matter most. The trick: don't start by tweaking titles and adding keywords. Start in Google Search Console and find out which pages Google can even find and index , because on a store the biggest problems hit thousands of pages at once. What an ecommerce SEO audit is An audit is just a structured look at your store to answer one question: what's holding it back in search? It's the same idea as a ","passages":["TL;DR — An ecommerce SEO audit is a health check for your online store — finding the things that stop Google from showing your product and category pages, and fixing the ones that matter most.","The trick: don't start by tweaking titles and adding keywords.","Start in Google Search Console and find out which pages Google can even find and index , because on a store the biggest problems hit thousands of pages at once.","What an ecommerce SEO audit is An audit is just a structured look at your store to answer one question: what's holding it back in search?","It's the same idea as a checkup at the doctor — you're looking for problems before they cost you, and you fix the serious ones first.","The reason ecommerce stores need their own kind of audit is scale .","A store can have tens of thousands — one page per product, plus a category page for every way to group them, plus a near identical copy of each page for every color, size, and sort order.","That's a lot of pages, and a lot of them look almost the same to Google."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/ecommerce-seo/ecommerce-seo-audit/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/ecommerce-seo-audit/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Ecommerce Site Architecture","desc":"How to structure an online store's pages so both shoppers and search engines can navigate it — flat vs. pyramid, click depth, URL structure, internal linking, breadcrumbs, mega menus, faceted navigation, and mobile-first nav. Google reads your link graph, not your URL paths.","snippetText":"Ecommerce site architecture is how your store's categories, subcategories, and products are organized and linked. The biggest misconception is that flat is always better and that URL depth is what matters — neither is true. Google reads your internal link graph, not your URL paths, to work out hierarchy and importance. A reasonable pyramid (homepage → categories → subcategories → products) beats both a totally flat structure and a too-deep one. URL structure is barely a ranking factor; URL stability is the real risk. The commerce-specific failure points are faceted navigation eating crawl budg","href":"/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-architecture/","slug":"ecommerce-site-architecture","meta":"Educational","aliases":["ecommerce-site-architecture","ecommerce site architecture","ecommerce URL structure","ecommerce site structure","ecommerce information architecture","Ecommerce Site Architecture","faceted-navigation","crawl-budget","internal-links","canonicalization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"ecommerce-seo site-structure internal-links crawl-budget breadcrumbs faceted-navigation Ecommerce site architecture is how your store's categories, subcategories, and products are organized and linked. The biggest misconception is that flat is always better and that URL depth is what matters — neither is true. Google reads your internal link graph, not your URL paths, to work out hierarchy and importance. A reasonable pyramid (homepage → categories → subcategories → products) beats both a totally flat structure and a too-deep one. URL structure is barely a ranking factor; URL stability is the real risk. The commerce-specific failure points are faceted navigation eating crawl budget, products living in multiple categories, mega menus diluting link equity, and mobile nav being the nav Google actually crawls. What \"site architecture\" actually means The pyramid shape Links are what matter not your URLs The four things to get right The thing most people get wrong Architecture serves two masters Google reads links, not URLs Flat vs. pyramid — the myth, busted The \"3 click rule\" is consensus, not a Google rule URL structure: stability matters, depth doesn't Multi category products and the duplicate content trap Internal linking is the actual mechanism Breadcrumbs: hierarchy signal + internal links + rich result Navigation menus and mega menus Faceted navigation: the crawl budget killer Mobile first: your mobile nav is your SEO nav Sitelinks: influenced, not controlled Where this fits AI summary Official documentation Quotes from the source Architecture audit checklist The mental models Ecommerce architecture — cheat sheet Ecommerce site architecture is how an online store's pages — categories, subcategories, and products — are organized and linked. Google reads the link structure (not the URL path) to work out hierarchy and relative importance, so a logical pyramid plus good internal links matters more than how deep the URLs look. TL;DR — Ecommerce site architecture is how your store's pages — categories, subcategories, and products — are organized and linked together. The goal is a shape like a pyramid: your homepage at the top, broad categories under it, then narrower subcategories, then products. The point is that a shopper and Google can get from your homepage to any product in just a few clicks by following links. The single most useful thing to know: Google f","passages":["TL;DR — Ecommerce site architecture is how your store's pages — categories, subcategories, and products — are organized and linked together.","The goal is a shape like a pyramid: your homepage at the top, broad categories under it, then narrower subcategories, then products.","The point is that a shopper and Google can get from your homepage to any product in just a few clicks by following links.","The single most useful thing to know: Google figures out which pages matter by looking at how you link between them, not by reading your URLs.","What \"site architecture\" actually means When people say site architecture or site structure , or information architecture , they mean two related things: 1.","\"Shoes\" → subcategory \"Running Shoes\" → product \"Brand X Trail Runner\" .","Your navigation menu, your category pages, your breadcrumbs, your \"related products\" — all of those are links that tie the hierarchy together.","Good architecture means a shopper can find what they want fast, and a search engine can crawl from your homepage to every product without getting lost or stuck."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-architecture/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/ecommerce-site-architecture/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise Ecommerce SEO","desc":"Enterprise ecommerce SEO is where enterprise scale and ecommerce complexity multiply — crawl traps, variants, migrations, and the org politics behind them.","snippetText":"Enterprise ecommerce SEO is what happens when enterprise scale and ecommerce complexity multiply each other. A faceted-nav slip that makes 50,000 duplicate URLs on a small store becomes a 50-million-URL crawl trap here — and the fix is an engineering sprint plus legal plus exec sign-off, not a robots.txt edit. The technical spine is crawl budget (faceted navigation is ~50% of Google's crawling problems), canonicalization across millions of pages, variant structured data, out-of-stock automation, and migration discipline. But the real bottleneck is usually organizational, not technical — I've s","href":"/enterprise-seo/business-models-and-segments/enterprise-ecommerce-seo/","slug":"enterprise-ecommerce-seo","meta":"Educational","aliases":["enterprise-ecommerce-seo","enterprise ecommerce SEO","enterprise e-commerce SEO","ecommerce SEO at scale","large ecommerce site SEO","enterprise retail SEO","Enterprise Ecommerce SEO","ecommerce-seo","enterprise-seo","faceted-navigation","crawl-budget"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","business-models-and-segments"],"text":"enterprise-seo ecommerce-seo faceted-navigation crawl-budget duplicate-content structured-data site-migration international-seo Enterprise ecommerce SEO is what happens when enterprise scale and ecommerce complexity multiply each other. A faceted-nav slip that makes 50,000 duplicate URLs on a small store becomes a 50-million-URL crawl trap here — and the fix is an engineering sprint plus legal plus exec sign-off, not a robots.txt edit. The technical spine is crawl budget (faceted navigation is ~50% of Google's crawling problems), canonicalization across millions of pages, variant structured data, out-of-stock automation, and migration discipline. But the real bottleneck is usually organizational, not technical — I've seen 14-hop redirect chains and 24 URL versions of one page where the knowledge existed and the coordination failed. Don't copy Amazon; their authority hides mistakes you can't afford. What \"enterprise ecommerce\" actually means The one idea to take away The things that matter most What makes this its own discipline Faceted navigation: the 1 crawl problem on the web Crawl budget is about URL quality, not site size Duplicate content at scale and the penalty that doesn't exist Variants, product data, and structured data PDPs and PLPs: where to actually spend effort Internal linking is PageRank plumbing Migrations: the single biggest risk event International, JavaScript, and monitoring The org layer is the real bottleneck AI search is changing the shopping surface AI summary Official documentation Quotes from the source Enterprise ecommerce SEO checklist The mental models Enterprise ecommerce SEO — cheat sheet Tools for enterprise ecommerce SEO What should happen to an out of stock product URL? Playbook: organic visibility drops after a replatform Classify faceted navigation rules Enterprise ecommerce SEO is the practice of optimizing large-scale online retail sites — tens of thousands to millions of product and category pages — for organic search. It sits where enterprise SEO (org buy-in, systems, automation) meets ecommerce SEO (faceted navigation, variants, PDPs/PLPs), and the two sets of complexity multiply each other. TL;DR — Enterprise ecommerce SEO is SEO for huge online stores — think tens of thousands to millions of product pages. The ranking rules are the same as any site, but the scale turns small problems into giant ones. A filtering sys","passages":["TL;DR — Enterprise ecommerce SEO is SEO for huge online stores — think tens of thousands to millions of product pages.","The ranking rules are the same as any site, but the scale turns small problems into giant ones.","A filtering system that creates a few hundred extra URLs on a small shop can create millions on an enterprise store, and fixing it takes a whole team, not one person and an afternoon.","What \"enterprise ecommerce\" actually means There's no separate Google algorithm for big retailers.","Googlebot crawls, indexes, and ranks a giant store the same way it treats a one person Shopify shop.","What changes is everything around the SEO: Catalog size — tens of thousands to millions of products.","Each combination can become its own URL, and they add up fast.","Lots of teams — merchandising, engineering, legal, regional managers — all with their own priorities, none of whom report to \"SEO.\" Big, scary migrations — replatforming to a new system every few years, where one bad redirect map can wipe out years of rankings."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/business-models-and-segments/enterprise-ecommerce-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/business-models-and-segments/enterprise-ecommerce-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise Local SEO","desc":"Running local SEO across hundreds or thousands of locations — GBP at scale, NAP consistency, location pages, reviews, and the governance that holds it together.","snippetText":"Enterprise local SEO is local SEO at scale — hundreds or thousands of locations. The ranking factors are the same as for a single store (relevance, distance, prominence), but execution shifts from manual work to systems and governance: bulk-managing Google Business Profiles via the API and location groups, keeping NAP consistent from a single source of truth, deploying genuinely unique location pages (not templated thin ones), and running a real review-response process. The biggest enterprise-specific risk is account-level: a pattern of policy violations can suspend every profile on a shared a","href":"/enterprise-seo/business-models-and-segments/enterprise-local-seo/","slug":"enterprise-local-seo","meta":"Educational","aliases":["enterprise-local-seo","enterprise local SEO","multi-location SEO","local SEO at scale","multi-location local SEO","local SEO for national brands","franchise SEO","Enterprise Local SEO","enterprise-seo","nap-consistency","google-business-profile"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","business-models-and-segments"],"text":"enterprise-seo local-seo google-business-profile multi-location nap fundamentals Enterprise local SEO is local SEO at scale — hundreds or thousands of locations. The ranking factors are the same as for a single store (relevance, distance, prominence), but execution shifts from manual work to systems and governance: bulk-managing Google Business Profiles via the API and location groups, keeping NAP consistent from a single source of truth, deploying genuinely unique location pages (not templated thin ones), and running a real review-response process. The biggest enterprise-specific risk is account-level: a pattern of policy violations can suspend every profile on a shared account. Distance you can't change; relevance and prominence you can. What enterprise local SEO is What Google looks at Why scale changes everything The thing most people get wrong What makes it \"enterprise\" The ranking factors don't change — execution does Google Business Profile at enterprise scale Location pages: unique or pointless NAP consistency and citations at scale Reviews: the fastest movable lever Governance: the actual hard part Bing and the AI assistant angle Local search and AI Overviews An underrated enterprise lever: spam removal AI summary Official documentation Quotes from the source Enterprise local SEO checklist The mental models Enterprise local SEO — cheat sheet Tools for enterprise local SEO Who should control each location's local presence? Multi location mistakes that scale badly Stamp out thin city name pages Enterprise local SEO is the practice of managing local search presence — Google Business Profiles, listings, location pages, and reviews — across hundreds or thousands of physical locations, using scalable systems and governance instead of location-by-location manual work. TL;DR — Enterprise local SEO is local SEO for a business with a lot of locations — think a national retail chain, a bank, a hospital system, a restaurant group. Each location still needs to show up in Google Maps and the local pack, and the things that make that happen are the same as for a single shop. The difference is you can't do it by hand for 500 stores, so you need tools and a process. What enterprise local SEO is When you search for \"coffee shop near me,\" Google shows a little map with three businesses pinned on it — that's the local pack . Local SEO is the work of getting a business ","passages":["TL;DR — Enterprise local SEO is local SEO for a business with a lot of locations — think a national retail chain, a bank, a hospital system, a restaurant group.","Each location still needs to show up in Google Maps and the local pack, and the things that make that happen are the same as for a single shop.","The difference is you can't do it by hand for 500 stores, so you need tools and a process.","What enterprise local SEO is When you search for \"coffee shop near me,\" Google shows a little map with three businesses pinned on it — that's the local pack .","Local SEO is the work of getting a business to appear there, and high up, for the searches that matter.","Enterprise local SEO is the same goal at a much bigger scale: instead of one location, you're managing the local presence of a company with dozens, hundreds, or thousands of physical locations.","Retailers, restaurant chains, banks, car dealerships, hospital systems, franchises — anyone with a lot of \"stores on a map.\" What Google looks at Google says local rankings come down to three things, and they're the same whether you have one location or ten thousand: Relevance — how well a business matches what someone searched for.","You improve this by filling out the business profile completely and accurately."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/business-models-and-segments/enterprise-local-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/business-models-and-segments/enterprise-local-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise SaaS SEO","desc":"How SEO works for large software-as-a-service companies — full-funnel content for multi-stakeholder buying committees, product-led growth, JavaScript app platforms, and SEO at enterprise scale.","snippetText":"Enterprise SaaS SEO isn't a different algorithm — it's the same crawl → index → rank pipeline applied to a long, committee-driven B2B sale and a sprawling technical footprint (marketing site + JavaScript app + docs + community). The strategy is full-funnel: informational content at the top, comparison and 'alternatives' pages in the middle, pricing and demo pages at the bottom, all serving different stakeholders (end user, champion, economic buyer, security reviewer). Product-led growth and SEO reinforce each other — free tools, templates, and integration directories are both product features ","href":"/enterprise-seo/business-models-and-segments/enterprise-saas-seo/","slug":"enterprise-saas-seo","meta":"Educational","aliases":["enterprise-saas-seo","enterprise SaaS SEO","SaaS enterprise SEO","SEO for SaaS companies","enterprise software SEO","Enterprise SaaS SEO","enterprise-seo","b2b-seo","programmatic-seo","crawl-budget"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","business-models-and-segments"],"text":"enterprise-seo saas-seo b2b-seo product-led-growth programmatic-seo javascript-seo crawl-budget Enterprise SaaS SEO isn't a different algorithm — it's the same crawl → index → rank pipeline applied to a long, committee-driven B2B sale and a sprawling technical footprint (marketing site + JavaScript app + docs + community). The strategy is full-funnel: informational content at the top, comparison and 'alternatives' pages in the middle, pricing and demo pages at the bottom, all serving different stakeholders (end user, champion, economic buyer, security reviewer). Product-led growth and SEO reinforce each other — free tools, templates, and integration directories are both product features and high-intent organic assets. The biggest mistakes are targeting only brand/product terms, ignoring problem-aware queries, and assuming a modern JS framework handles technical SEO for you. It doesn't. What \"enterprise SaaS SEO\" actually means Why it's harder than regular SEO The full funnel idea Product and SEO working together The hard part is the organization, not the search engine What makes enterprise SaaS different from enterprise SEO and from SMB SaaS The architecture problem: it's not one site JavaScript is the default stack — and it's not free Crawl budget actually matters here Canonicalization at scale Content strategy: full funnel, multi persona Programmatic SEO — with enterprise quality control The boring work pays the most Monitoring at three tiers Proving it to leadership The mistakes I see most AI summary Official documentation Quotes from the source Enterprise SaaS SEO checklist The mental models Enterprise SaaS SEO — cheat sheet Tools for enterprise SaaS SEO Enterprise SaaS mistakes I see most Enterprise SaaS SEO is the practice of growing organic search visibility for a large software-as-a-service company. The ranking mechanics are identical to any other site — what changes is the strategy: long multi-stakeholder B2B sales cycles, product-led growth motions, JavaScript-heavy app platforms, and SEO spread across a marketing site, app, docs, and community. TL;DR — Enterprise SaaS SEO is SEO for a big software company that sells a subscription product. The search engines treat the site like any other — there's no special \"SaaS algorithm.\" What's different is who you're writing for not one buyer but a whole committee , how long the sale takes often many months ","passages":["TL;DR — Enterprise SaaS SEO is SEO for a big software company that sells a subscription product.","The search engines treat the site like any other — there's no special \"SaaS algorithm.\" What's different is who you're writing for not one buyer but a whole committee , how long the sale takes often many months , and how big and complicated the site is a marketing site, the app itself, docs, a community, and more .","The winning move is to cover the whole journey — from \"what is this problem?\" all the way down to \"show me pricing.\" What \"enterprise SaaS SEO\" actually means Break the phrase into three pieces: SaaS software as a service means the product is cloud software you pay for by subscription — think Slack, Notion, HubSpot, or Ahrefs.","This is not the same as old school software you install on your own servers.","Enterprise means the company is large — lots of pages, lots of teams, and a big, slow buying process where several people have to agree before anything gets purchased.","SEO is just SEO: helping the right people find the company in Google and Bing when they search for the problems the product solves.","Put together, enterprise SaaS SEO is the work of getting a large software company's pages to show up in search for the people actively looking for what it does.","Why it's harder than regular SEO Three things make it its own beast: 1."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/business-models-and-segments/enterprise-saas-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/business-models-and-segments/enterprise-saas-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise SEO","desc":"Enterprise SEO is SEO at scale — same ranking factors, but the size, technical debt, and org politics change everything. The hub for the whole pillar.","snippetText":"Enterprise SEO is SEO at scale — there's no separate 'enterprise' algorithm, just the same crawl → index → rank pipeline applied to sites with tens of thousands to millions of pages, many teams, and years of technical debt. The hard part isn't usually the SEO; it's the organization. A single template error can deindex millions of pages and a single migration fix can recover millions in link equity, so the highest-ROI work is often the most boring. Big brands rank despite mistakes because of authority — which is exactly why you shouldn't copy them. This hub maps the whole pillar: strategy and o","href":"/enterprise-seo/","slug":"enterprise-seo","meta":"Educational","aliases":["enterprise-seo","enterprise SEO","large-site SEO","SEO at scale","corporate SEO","enterprise technical SEO","Enterprise SEO","enterprise-seo-audit","crawl-budget"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo"],"text":"enterprise-seo technical-seo crawl-budget seo-strategy seo-governance reporting Enterprise SEO is SEO at scale — there's no separate 'enterprise' algorithm, just the same crawl → index → rank pipeline applied to sites with tens of thousands to millions of pages, many teams, and years of technical debt. The hard part isn't usually the SEO; it's the organization. A single template error can deindex millions of pages and a single migration fix can recover millions in link equity, so the highest-ROI work is often the most boring. Big brands rank despite mistakes because of authority — which is exactly why you shouldn't copy them. This hub maps the whole pillar: strategy and operations, audits and governance, business segments, technical SEO at scale, and metrics. What enterprise SEO actually is Why scale changes everything The part that surprises people The SEO is ordinary; the scale and the org aren't How big is \"enterprise\"? Enterprise SEO is an organizational problem first The enterprise SEO maturity model Translating SEO into money is survival Why the boring work pays best Crawl economics: less really is more AI search raises the stakes for governance Where to go next AI summary Official documentation Quotes from the source The mental models Enterprise SEO starting checklist Tools for enterprise SEO Enterprise SEO is the practice of doing SEO at scale — for large, complex sites (often tens of thousands to millions of pages) across multiple teams, CMSs, and stakeholders. It uses the same ranking factors as any site; what changes is the scale, the technical debt, and the organizational coordination. TL;DR — Enterprise SEO is just SEO done on a huge , complicated website inside a big company. Google doesn't have a separate algorithm for big sites — the rules are the same. What's different is the scale lots of pages, lots of teams and the fact that getting anything changed means convincing other people first. What enterprise SEO actually is When most people learn SEO, they picture one website and one person who can edit it. Enterprise SEO is what happens when the website has hundreds of thousands or millions of pages , several different teams own different parts of it, and you can't just log in and fix something — you have to file a ticket, wait for engineering, and get sign off from legal or a regional manager first. That's the whole difference, really. Google ","passages":["TL;DR — Enterprise SEO is just SEO done on a huge , complicated website inside a big company.","Google doesn't have a separate algorithm for big sites — the rules are the same.","What's different is the scale lots of pages, lots of teams and the fact that getting anything changed means convincing other people first.","What enterprise SEO actually is When most people learn SEO, they picture one website and one person who can edit it.","Enterprise SEO is what happens when the website has hundreds of thousands or millions of pages , several different teams own different parts of it, and you can't just log in and fix something — you have to file a ticket, wait for engineering, and get sign off from legal or a regional manager first.","Google documents Search as three stages — crawling, indexing, and serving search results — and notes that not every page makes it through each stage.","The reason enterprise SEO is its own job is that the organization around the site is complicated, not because the SEO is.","Why scale changes everything On a small site, a mistake affects one page and you fix it in a minute."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise SEO Audit","desc":"How to audit a large enterprise site — segment before you crawl, start with indexing, think in templates, and ship 5-10 prioritized fixes people will actually implement.","snippetText":"An enterprise SEO audit isn't a bigger checklist — it's a different job. You can't audit everything, so you scope ruthlessly: interview stakeholders for real pain points, segment the site by CMS/region/template/team, then start with indexing (GSC Page Indexing report) before content or links. Think in templates, not pages — one bad canonical hits hundreds of thousands of URLs. Prioritize by business impact and feasibility, ship 5-10 fixes (not a 300-slide deck) in developer-ticket format, and wrap governance around it so the fixes don't regress. The hardest part is organizational, not technica","href":"/enterprise-seo/audits-and-governance/enterprise-seo-audit/","slug":"enterprise-seo-audit","meta":"Educational","aliases":["enterprise-seo-audit","enterprise SEO audit","enterprise SEO audits","large site audit","auditing enterprise sites","enterprise technical audit","Enterprise SEO Audit","crawl-budget","hreflang","indexing","core-web-vitals","javascript-seo"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","audits-and-governance"],"text":"enterprise-seo seo-audit technical-seo crawl-budget hreflang indexing governance An enterprise SEO audit isn't a bigger checklist — it's a different job. You can't audit everything, so you scope ruthlessly: interview stakeholders for real pain points, segment the site by CMS/region/template/team, then start with indexing (GSC Page Indexing report) before content or links. Think in templates, not pages — one bad canonical hits hundreds of thousands of URLs. Prioritize by business impact and feasibility, ship 5-10 fixes (not a 300-slide deck) in developer-ticket format, and wrap governance around it so the fixes don't regress. The hardest part is organizational, not technical. What an enterprise SEO audit is The order that matters Why these audits usually fail The part people skip Why \"enterprise\" changes the whole job The methodology: scope before you crawl Start with indexability — always The uniquely enterprise problems Don't trust the tool score Prioritize: impact × feasibility, in dollars Deliverables that actually get implemented Governance: stop the audit from going stale The real lever AI summary Official documentation Quotes from the source Enterprise audit checklist The mental models Enterprise audit cheat sheet Tools for enterprise SEO audits Quarterly enterprise SEO audit SOP Enterprise audit mistakes that waste the most time Crawling the whole site before defining the question Treating every URL as a separate problem An enterprise SEO audit is a systematic evaluation of a large-scale website — usually millions of URLs across multiple CMS platforms, teams, and regions — to find the technical, indexing, content, and link issues that limit organic visibility. Unlike a standard audit, it must account for organizational complexity and ruthless prioritization, because technical perfection at scale is neither possible nor worth paying for. TL;DR — An enterprise SEO audit is a health check for a very large website — think millions of pages across multiple systems and teams. The trick isn't to check more things; it's to not try to check everything. You figure out what actually hurts, look at the parts that matter, and hand back a short list of the biggest, most fixable problems — not a giant report nobody reads. What an enterprise SEO audit is An SEO audit is a review of a website to find what's stopping it from showing up well in search. An enterprise aud","passages":["TL;DR — An enterprise SEO audit is a health check for a very large website — think millions of pages across multiple systems and teams.","The trick isn't to check more things; it's to not try to check everything.","You figure out what actually hurts, look at the parts that matter, and hand back a short list of the biggest, most fixable problems — not a giant report nobody reads.","What an enterprise SEO audit is An SEO audit is a review of a website to find what's stopping it from showing up well in search.","An enterprise audit is the same idea on a much bigger, messier site: a company with millions of URLs, several different content systems, teams in different countries, and a lot of moving parts.","On an enterprise site you can't — there are too many pages, and most of them follow the same handful of templates anyway.","So instead of checking pages one at a time, you check the templates, because fixing one template fixes thousands of pages at once.","The order that matters When everything looks broken, people freeze."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/audits-and-governance/enterprise-seo-audit/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/audits-and-governance/enterprise-seo-audit/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise SEO Issues","desc":"The technical and organizational problems that hit large sites hardest — duplicate content, crawl budget, JS rendering, hreflang, plus the implementation-rate trap.","snippetText":"Enterprise SEO issues are mostly scale problems — one template error suppresses millions of pages, and duplicate content, crawl budget waste, JS rendering delays, redirect chains, and hreflang conflicts all multiply. But the organizational issues are just as real: getting dev resources, constant migrations, multiple CMSs, and legal constraints mean only 20–40% of recommendations ever ship. The bottleneck usually isn't finding the problem — it's getting an enterprise to fix it. So you work at the template/system level, quantify fixes in dollars, and spend as much energy on buy-in as on the audi","href":"/enterprise-seo/audits-and-governance/enterprise-seo-issues/","slug":"enterprise-seo-issues","meta":"Educational","aliases":["enterprise-seo-issues","enterprise SEO issues","enterprise SEO problems","enterprise SEO challenges","enterprise technical SEO issues","Enterprise SEO Issues","duplicate-content","crawl-budget","redirect-chain","hreflang","javascript-seo","faceted-navigation"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","audits-and-governance"],"text":"enterprise-seo technical-seo duplicate-content crawl-budget javascript-seo hreflang governance Enterprise SEO issues are mostly scale problems — one template error suppresses millions of pages, and duplicate content, crawl budget waste, JS rendering delays, redirect chains, and hreflang conflicts all multiply. But the organizational issues are just as real: getting dev resources, constant migrations, multiple CMSs, and legal constraints mean only 20–40% of recommendations ever ship. The bottleneck usually isn't finding the problem — it's getting an enterprise to fix it. So you work at the template/system level, quantify fixes in dollars, and spend as much energy on buy-in as on the audit. Why \"enterprise\" makes SEO harder The two kinds of issues The thing most people get wrong What actually makes enterprise issues different The technical issues, in priority order The organizational issues are real issues How to prioritize when you can't fix everything AI summary Official documentation Quotes from the source Enterprise issue triage checklist The mental models Enterprise SEO issues — cheat sheet Common enterprise SEO issue patterns Indexed inventory suddenly drops across one section Google chooses a different canonical across a template Important pages remain discovered but not crawled Rendered pages are blank or incomplete for crawlers A migration produces soft 404s and redirect chains Tools for diagnosing enterprise SEO issues Stats worth citing Test yourself: Enterprise SEO issues Enterprise SEO issues are the technical and organizational problems that disproportionately hit large sites — where one template error can suppress millions of pages and the real bottleneck is often getting a fix shipped, not finding it. TL;DR — Enterprise SEO issues are normal SEO problems that get much worse because the site is huge and the company is complicated. One mistake in a template can hurt millions of pages at once. And the hardest part usually isn't spotting the problem — it's getting a big company to actually fix it. Why \"enterprise\" makes SEO harder A small website might have a few hundred pages, run on one system, and have one person who can change anything. An enterprise site is the opposite: often 100,000+ pages, built on several different content systems, spread across subdomains and countries, and owned by lots of different teams. That changes everything. On a s","passages":["TL;DR — Enterprise SEO issues are normal SEO problems that get much worse because the site is huge and the company is complicated.","One mistake in a template can hurt millions of pages at once.","And the hardest part usually isn't spotting the problem — it's getting a big company to actually fix it.","Why \"enterprise\" makes SEO harder A small website might have a few hundred pages, run on one system, and have one person who can change anything.","An enterprise site is the opposite: often 100,000+ pages, built on several different content systems, spread across subdomains and countries, and owned by lots of different teams.","On an enterprise site, pages are mass produced from templates — so a single mistake in one template is copied onto every page that uses it.","That's the whole story of enterprise SEO issues in one sentence: small mistakes get multiplied.","These are the same things that can go wrong on any site, just amplified: Duplicate content — the same or near identical page showing up at many URLs."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/audits-and-governance/enterprise-seo-issues/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/audits-and-governance/enterprise-seo-issues/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise SEO Metrics","desc":"The metrics that actually matter at enterprise scale — how to tie organic search to revenue, structure reporting by audience, and skip the vanity numbers.","snippetText":"Enterprise SEO metrics only work when they ladder up to money — and when every metric has a written definition (numerator, denominator, source, owner, cadence) so two teams don't quote the same label for different numbers. I organize them in tiers: executives get revenue, pipeline, organic-vs-paid CAC, and Share of Traffic Value; teams get organic traffic (brand vs. non-brand), search visibility, conversions, and winners/losers; engineers get index coverage, crawl stats, and Core Web Vitals. Tier cadences are defaults, not fixed rules — they adapt to decision speed and data freshness. Search C","href":"/enterprise-seo/metrics/","slug":"enterprise-seo-metrics","meta":"Educational","aliases":["enterprise-seo-metrics","enterprise SEO metrics","enterprise SEO KPIs","enterprise SEO reporting","enterprise SEO dashboards","SEO metrics for large sites","Enterprise SEO Metrics","core-web-vitals","google-search-console","ai-share-of-voice","crawl-budget"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","metrics"],"text":"enterprise-seo metrics kpis reporting dashboards revenue Enterprise SEO metrics only work when they ladder up to money — and when every metric has a written definition (numerator, denominator, source, owner, cadence) so two teams don't quote the same label for different numbers. I organize them in tiers: executives get revenue, pipeline, organic-vs-paid CAC, and Share of Traffic Value; teams get organic traffic (brand vs. non-brand), search visibility, conversions, and winners/losers; engineers get index coverage, crawl stats, and Core Web Vitals. Tier cadences are defaults, not fixed rules — they adapt to decision speed and data freshness. Search Console is the source of truth for search performance, GA4 for on-site behavior, and third-party tools (labeled as estimates, not observed outcomes) for competitive context. Skip the vanity metrics — raw rankings, Domain Rating, bounce rate, unsegmented traffic — as headline KPIs. And no single dashboard serves everyone. Why \"enterprise\" changes the metrics conversation The simplest way to think about it Where the numbers come from The thing beginners get wrong Money is the point Define every metric before you report it The three tier measurement framework Tier 1 in depth: connecting SEO to revenue Tier 2 in depth: what the team actually tracks Tier 3 in depth: technical health metrics The data infrastructure problem The AI era metrics layer Metrics that don't deserve top billing One dashboard will not save you AI summary Official documentation Quotes from the source Enterprise reporting checklist The mental models Enterprise SEO metrics — cheat sheet The enterprise metrics stack Enterprise metrics mistakes that undermine the story Leading with rankings or tool scores Reporting total organic traffic without useful segments Enterprise SEO metrics are the KPIs used to measure and report SEO at large, complex organizations — tied to business outcomes like revenue and pipeline, not vanity metrics like raw rankings, and organized by audience from the C-suite down to engineering. TL;DR — Enterprise SEO metrics are the numbers you report to prove SEO is working at a big company. The trick is to tie them to money — revenue, leads, sales — not just rankings and traffic. Write down what each metric actually measures before you report it, so a \"click through rate\" or \"position\" from one report means the same thing as it does ","passages":["TL;DR — Enterprise SEO metrics are the numbers you report to prove SEO is working at a big company.","The trick is to tie them to money — revenue, leads, sales — not just rankings and traffic.","Write down what each metric actually measures before you report it, so a \"click through rate\" or \"position\" from one report means the same thing as it does in the next one.","And because a CEO, a content manager, and an engineer all care about different things, you don't show them the same report on the same schedule.","Why \"enterprise\" changes the metrics conversation On a small site you can get away with reporting traffic and a few rankings.","At enterprise scale — tens of thousands to millions of pages, several teams, a budget that competes with paid media — that stops working.","The people you report to don't speak in impressions and average position.","So the job isn't just collecting metrics; it's translating search performance into the language each audience understands."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/metrics/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise SEO Mistakes","desc":"The organizational, technical, and strategic mistakes that quietly cost large companies millions in organic search — and how I've watched them play out in the wild.","snippetText":"At enterprise scale, mistakes compound: one template-level error can keep millions of pages out of the index, and one fix can be worth millions. But most enterprise SEO failures aren't technical — they're organizational. SEO gets positioned downstream, fights for engineering time with no priority, reports rankings instead of revenue, and lets siloed teams compete for the same keywords. The technical mistakes (faceted-nav crawl waste, template-level canonical errors, robots.txt accidents, JS rendering blind spots, botched migrations) are usually symptoms of the org problems. Fix is almost alway","href":"/enterprise-seo/audits-and-governance/enterprise-seo-mistakes/","slug":"enterprise-seo-mistakes","meta":"Educational","aliases":["enterprise-seo-mistakes","enterprise SEO mistakes","enterprise SEO challenges","enterprise SEO failures","why enterprise SEO fails","enterprise SEO problems","Enterprise SEO Mistakes","crawl-budget","faceted-navigation","canonical-tag","duplicate-content","internal-linking"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","audits-and-governance"],"text":"enterprise-seo technical-seo crawl-budget site-migration canonicalization governance At enterprise scale, mistakes compound: one template-level error can keep millions of pages out of the index, and one fix can be worth millions. But most enterprise SEO failures aren't technical — they're organizational. SEO gets positioned downstream, fights for engineering time with no priority, reports rankings instead of revenue, and lets siloed teams compete for the same keywords. The technical mistakes (faceted-nav crawl waste, template-level canonical errors, robots.txt accidents, JS rendering blind spots, botched migrations) are usually symptoms of the org problems. Fix is almost always collaboration plus education — everything just needs to work together. Why \"enterprise\" mistakes are different The mistakes that come up again and again The thing most people get wrong Enterprise SEO anti patterns Bringing SEO in after the build is finished Treating an audit backlog as an SEO strategy Reporting rankings without business context Making every team pay to fix shared infrastructure Letting automation publish or redirect without review Changing domain, platform, and design in one migration Enterprise SEO mistake triage Technical red flags with enterprise blast radius Test yourself: Enterprise SEO mistakes Scale amplifies everything Most enterprise SEO failures are organizational, not technical The prioritization mistake The technical mistakes mostly symptoms of the above Strategic and content mistakes Measurement mistakes Process and tooling mistakes The fix: collaboration and education AI summary Official documentation Quotes from the source Enterprise SEO mistakes are the recurring organizational, technical, and strategic missteps that stop large companies from realizing the full revenue potential of organic search. At enterprise scale they compound across hundreds of thousands of URLs and dozens of teams, so one template-level error can de-index millions of pages and one fix can recover millions in revenue. TL;DR — Enterprise SEO mistakes are the things that go wrong when SEO has to work across a giant website and a lot of teams. The big surprise: most of them aren't technical bugs — they're people and process problems. SEO gets brought in too late, can't get engineers to fix things, and reports \"we rank 1 for our brand name\" instead of \"we made the company money.\" On a","passages":["TL;DR — Enterprise SEO mistakes are the things that go wrong when SEO has to work across a giant website and a lot of teams.","The big surprise: most of them aren't technical bugs — they're people and process problems.","SEO gets brought in too late, can't get engineers to fix things, and reports \"we rank 1 for our brand name\" instead of \"we made the company money.\" On a huge site, a small mistake gets multiplied across millions of pages, so it gets expensive fast.","Why \"enterprise\" mistakes are different On a small website, a mistake affects a handful of pages and you can fix it yourself in an afternoon.","A single bad setting on a template gets copied onto every page that uses that template — that can be hundreds of thousands or millions of pages.","Getting one change made can mean five meetings and three departments.","Old systems, old URLs, and old decisions pile up over years and nobody fully understands all of it.","So the same mistake that's a minor annoyance on a small site becomes a million dollar problem at enterprise scale."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/audits-and-governance/enterprise-seo-mistakes/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/audits-and-governance/enterprise-seo-mistakes/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise SEO Reporting & Dashboards","desc":"How to build enterprise SEO reporting that actually gets read — audience-segmented dashboards, the data stack, GSC at scale, and the AI-visibility layer.","snippetText":"Enterprise SEO reporting isn't one dashboard — it's three. Executives get revenue, ROI, and competitive position (3–5 KPIs, ideally one number that's money); the SEO team gets branded/non-branded traffic, share of voice, rankings, and crawl health; engineering gets Core Web Vitals, indexation, and crawl stats. The standard stack is GSC + GA4 + a third-party connector (Ahrefs/Semrush) piped through BigQuery or Snowflake into Looker Studio, Tableau, or Power BI, with automated alerts on indexation drops and traffic anomalies. Two things win buy-in: revenue and beating competitors. And as of 2026","href":"/enterprise-seo/metrics/enterprise-seo-reporting/","slug":"enterprise-seo-reporting","meta":"Educational","aliases":["enterprise-seo-reporting","enterprise SEO reporting","enterprise SEO dashboard","SEO dashboards","SEO reporting","executive SEO report","Enterprise SEO Reporting","enterprise-seo-metrics","seo-okrs","ai-share-of-voice","google-search-console"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","metrics"],"text":"enterprise-seo reporting dashboards metrics google-search-console looker-studio Enterprise SEO reporting isn't one dashboard — it's three. Executives get revenue, ROI, and competitive position (3–5 KPIs, ideally one number that's money); the SEO team gets branded/non-branded traffic, share of voice, rankings, and crawl health; engineering gets Core Web Vitals, indexation, and crawl stats. The standard stack is GSC + GA4 + a third-party connector (Ahrefs/Semrush) piped through BigQuery or Snowflake into Looker Studio, Tableau, or Power BI, with automated alerts on indexation drops and traffic anomalies. Two things win buy-in: revenue and beating competitors. And as of 2026, complete reporting has a new layer — AI search visibility — that traditional organic-click reports miss entirely. What enterprise SEO reporting is The three audiences Where the numbers come from The mistake almost everyone makes Reporting is a colossal time sink — and that's the point The reporting fails when it's one dashboard for everyone The branded vs. non branded split is foundational The enterprise data stack Google Search Console at enterprise scale The GSC impression bug — flag it before leadership misreads it The AI search visibility layer new in 2026 Competitor reporting drives buy in Cadence, alerts, and attribution Forecasting is part of reporting The one habit that compounds AI summary Official documentation Quotes from the source Enterprise reporting checklist The mental models Enterprise reporting cheat sheet Tools for enterprise SEO reporting Reporting patterns that lose the room Shipping one dashboard to every stakeholder Enterprise SEO reporting is the practice of collecting, aggregating, and communicating organic search performance across a large, complex organization — through layered dashboards built for distinct audiences (executives, the SEO team, cross-functional partners) rather than one report for everyone. TL;DR — Enterprise SEO reporting is about showing the right people the right numbers. The CEO doesn't want a keyword chart — they want to know how much money SEO made. Your own team wants traffic, rankings, and what's broken. So you build different reports for different audiences instead of one giant dashboard nobody reads. The fastest way to get more budget: tie SEO to revenue, and show you're beating competitors. What enterprise SEO reporting is When you do S","passages":["TL;DR — Enterprise SEO reporting is about showing the right people the right numbers.","The CEO doesn't want a keyword chart — they want to know how much money SEO made.","So you build different reports for different audiences instead of one giant dashboard nobody reads.","The fastest way to get more budget: tie SEO to revenue, and show you're beating competitors.","What enterprise SEO reporting is When you do SEO for a huge site — thousands or millions of pages, multiple teams, maybe multiple countries — \"reporting\" stops being a single screen you glance at.","You've got executives, an SEO team, engineers, and partner teams paid search, product, content who all care about completely different things.","They want business outcomes: revenue, leads, return on investment, and \"are we winning or losing against our competitors?\" Keep it to a handful of numbers.","They want the working data — how much traffic, which keywords and pages are moving, what's broken, branded vs."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/metrics/enterprise-seo-reporting/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/enterprise-seo-reporting/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Enterprise SEO ROI","desc":"How to measure, prove, and defend enterprise SEO ROI — the formula, attribution beyond last-click, traffic value, share of traffic value, and board-ready reporting.","snippetText":"Enterprise SEO ROI is ((Revenue from SEO − SEO Cost) ÷ SEO Cost) — a simple formula whose revenue side is brutal to measure cleanly at scale. The cost side is knowable (salaries, tools, content, links, agencies, eng time); the revenue side breaks on last-click attribution, long B2B sales cycles, and AI Overviews swallowing clicks. A defensible model layers in assisted conversions (GA4 data-driven), CRM-linked pipeline, traffic value as a paid-search offset, defensive ROI, and Share of Traffic Value for execs. SEO is a capital investment — 3–12 months to rank, but it compounds where paid resets","href":"/enterprise-seo/metrics/enterprise-seo-roi/","slug":"enterprise-seo-roi","meta":"Educational","aliases":["enterprise-seo-roi","enterprise SEO ROI","SEO ROI","return on investment SEO","SEO ROI model","share of traffic value","Enterprise SEO ROI","enterprise-seo-metrics","enterprise-seo","measurement-and-reporting"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","metrics"],"text":"Enterprise SEO ROI is ((Revenue from SEO − SEO Cost) ÷ SEO Cost) — a simple formula whose revenue side is brutal to measure cleanly at scale. The cost side is knowable (salaries, tools, content, links, agencies, eng time); the revenue side breaks on last-click attribution, long B2B sales cycles, and AI Overviews swallowing clicks. A defensible model layers in assisted conversions (GA4 data-driven), CRM-linked pipeline, traffic value as a paid-search offset, defensive ROI, and Share of Traffic Value for execs. SEO is a capital investment — 3–12 months to rank, but it compounds where paid resets to zero. Report it in money, CAC, LTV, and share of voice, not impressions. What \"ROI\" means here \"SEO is free\" is the big myth Why the \"money you made\" part is hard The two things to remember What to actually do The formula is the easy part Why enterprise ROI is harder than SMB ROI SEO is a capital investment, not a media buy Building a complete ROI model — five layers on the numerator The AI Overviews complication Benchmarks — directional only, never guaranteed Reporting ROI by audience A note on Bing AI summary Official documentation Quotes from the source Enterprise SEO ROI checklist The mental models Enterprise SEO ROI — cheat sheet Tools for measuring enterprise SEO ROI ROI mistakes that destroy credibility Calling SEO free Using last click revenue as the whole numerator Double counting traffic value and attributed revenue Enterprise SEO ROI is the financial return an organic-search program generates relative to its total cost — staff, tools, content, and agency fees. The formula is simple ((Revenue − Cost) ÷ Cost); measuring the revenue side cleanly at enterprise scale is the hard part. TL;DR — SEO ROI is just money you made from SEO − what SEO cost you ÷ what SEO cost you . The formula is easy. The hard part is figuring out how much money SEO actually made — because at a big company, organic search is usually one of several touches before someone buys, and a lot of that gets credited to other channels. SEO also takes months to pay off, but unlike ads, it keeps working after you stop spending. What \"ROI\" means here ROI — return on investment — is a finance question: for every dollar we put in, how many dollars did we get back? For SEO at a large company, the formula is: ROI = Revenue from SEO − SEO Cost ÷ SEO Cost If you spent $100,000 on SEO and it generated $5","passages":["TL;DR — SEO ROI is just money you made from SEO − what SEO cost you ÷ what SEO cost you .","The hard part is figuring out how much money SEO actually made — because at a big company, organic search is usually one of several touches before someone buys, and a lot of that gets credited to other channels.","SEO also takes months to pay off, but unlike ads, it keeps working after you stop spending.","What \"ROI\" means here ROI — return on investment — is a finance question: for every dollar we put in, how many dollars did we get back?","For SEO at a large company, the formula is: ROI = Revenue from SEO − SEO Cost ÷ SEO Cost If you spent $100,000 on SEO and it generated $500,000 in revenue, your return is $500,000 − $100,000 ÷ $100,000 = 400% .","\"SEO is free\" is the big myth There are no per click charges like there are with ads, but SEO is not free.","The cost side adds up fast: People — salaries for the SEO team, or the share of other people's time SEO uses up writers, developers, designers .","Tools — enterprise SEO platforms can run $25,000–$100,000+ a year."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/metrics/enterprise-seo-roi/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/enterprise-seo-roi/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Faceted Navigation","desc":"Faceted navigation lets shoppers filter a category by color, size, price, and brand — and quietly spawns millions of near-duplicate URLs that waste crawl budget and dilute ranking signals. Here's how to decide which filter URLs to index and which to suppress, plus the canonical-vs-noindex-vs-robots.txt decision table.","snippetText":"Faceted navigation is the single biggest source of crawl waste search engines hear about — Gary Illyes pegs it at ~50% of all crawling issues reported to Google. The mechanism: every filter combination can spawn its own crawlable URL, turning a 10,000-product catalog into millions of near-duplicate pages. The strategic decision comes before the technical one — figure out which filter combinations have real search demand (make those indexable landing pages) and which are pure UX (block them or build them so they never create a URL). Then pick the right lever: robots.txt stops crawling but not i","href":"/ecommerce-seo/architecture-and-crawl-control/faceted-navigation/","slug":"faceted-navigation","meta":"Educational","aliases":["faceted-navigation","faceted navigation","faceted search","product filtering SEO","URL parameters ecommerce","Faceted Navigation","crawl-budget","url-parameters","duplicate-content","canonicalization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","architecture-and-crawl-control"],"text":"faceted-navigation ecommerce-seo crawl-budget url-parameters duplicate-content canonicalization Faceted navigation is the single biggest source of crawl waste search engines hear about — Gary Illyes pegs it at ~50% of all crawling issues reported to Google. The mechanism: every filter combination can spawn its own crawlable URL, turning a 10,000-product catalog into millions of near-duplicate pages. The strategic decision comes before the technical one — figure out which filter combinations have real search demand (make those indexable landing pages) and which are pure UX (block them or build them so they never create a URL). Then pick the right lever: robots.txt stops crawling but not indexing; noindex removes pages from the index but doesn't save crawl budget; canonical is a hint that consolidates signals but doesn't stop crawling. The URL Parameters tool in Search Console is gone — deprecated in 2022 — so server-side controls are all you've got on Google. Bing still has URL Normalization. What faceted navigation is Why filters create an SEO problem The thing most people get wrong Which control should handle this facet URL? Facet URL count suddenly explodes Faceted navigation mistakes that make cleanup harder Block a URL in robots.txt and add noindex Add noindex and canonical to the same facet page Expect canonical tags to stop crawling Blanket block every parameter Index every combination for the long tail Diagnosing faceted navigation failures Indexed URL count dwarfs the catalog Googlebot requests hammer the server A noindexed facet remains indexed Google selects a facet URL instead of the category URL Classify facet parameters without handing the model the decision Measure facet crawl share from an access log Extract parameterized facet links in a crawler List facet links on the current page Prove the crawl control change took effect Test the robots.txt rule Test a demand backed landing page Test deindexing without blocking Faceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals. TL;DR — Faceted navigation is the set of filters on a category page — color, size, price,","passages":["TL;DR — Faceted navigation is the set of filters on a category page — color, size, price, brand.","They're great for shoppers, but each filter you click can create a brand new web address URL .","On a big store that quietly turns a few thousand product pages into millions of near identical filtered pages, which wastes the limited attention search engines give your site.","The fix isn't to remove the filters — it's to decide which filtered pages are worth showing in Google and to keep the rest out.","What faceted navigation is On almost any online store's category page there's a panel — usually down the left side — that lets you narrow things down: Color: Blue.","Each of those is a facet , and the panel as a whole is faceted navigation you'll also hear \"faceted search\" or just \"product filters\" .","The problem is purely technical, and it's about web addresses.","Why filters create an SEO problem When you click a filter, most stores change the page's URL to remember your choice."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/faceted-navigation/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/architecture-and-crawl-control/faceted-navigation/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"H1 Tag","desc":"What an H1 tag is, how many you really need per page, whether it's a ranking factor, how it differs from the title tag, and how to audit yours.","snippetText":"The H1 is the `<h1>` element — the page's rank-one heading in HTML's H1–H6 hierarchy, distinct from the `<title>` element. It's a topic-understanding signal Google uses, not a keyword lever — no official source assigns it a fixed ranking weight or formula: Google says a page will 'rank perfectly fine with no H1 tags or with five H1 tags,' so the 'exactly one H1' rule is a myth for Google (though Bing recommends one, and one H1 is still the accessibility best practice). The heading LEVEL matters less than the TEXT — Mueller: H1 vs H2 vs H5 'doesn't matter so much.' H1 ≠ title tag: the title tag","href":"/technical-seo/on-page/header-tags/h1/","slug":"h1","meta":"Educational","aliases":["h1","H1","H1 tag","H1 heading","the H1","H1 Tag","header-tags","title-tag","on-page-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","header-tags"],"text":"h1 h1-tag header-tags heading-tags on-page-seo html The H1 is the `<h1>` element — the page's rank-one heading in HTML's H1–H6 hierarchy, distinct from the `<title>` element. It's a topic-understanding signal Google uses, not a keyword lever — no official source assigns it a fixed ranking weight or formula: Google says a page will 'rank perfectly fine with no H1 tags or with five H1 tags,' so the 'exactly one H1' rule is a myth for Google (though Bing recommends one, and one H1 is still the accessibility best practice). The heading LEVEL matters less than the TEXT — Mueller: H1 vs H2 vs H5 'doesn't matter so much.' H1 ≠ title tag: the title tag is the head element that feeds the SERP title link; the H1 is the on-page heading and one of several inputs Google may use to generate that title link since 2021 — selection isn't guaranteed. A missing H1 is a structural/usability audit finding, not by itself evidence of a ranking penalty — my million-domain study found 59.5% of sites have the issue, and they rank fine. Adding or rewriting an H1 doesn't guarantee rankings, traffic, title-link selection, or AI citations. Don't stuff keywords; write a clear, descriptive heading. What an H1 tag is H1 vs. the title tag — they're not the same thing How many H1 tags should a page have? Does the H1 help your rankings? A quick H1 checklist What it is, and where it sits The big myth: \"you must have exactly one H1\" Is the H1 a ranking factor? H1 vs. title tag — different elements, different jobs Missing H1: how much should you actually care? Practical best practices AI summary Official documentation Quotes from the source H1 audit checklist H1 mistakes List every H1 on the current page Extract H1s from a saved HTML file Resources worth your time Test yourself: The H1 Tag An H1 tag is the HTML `<h1>` element that marks a page's primary heading — the big visible headline at the top of the content. It helps users, search engines, and screen readers understand what the page is about. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — The H1 is the big visible heading at the top of your page — the in your HTML. It tells people and search engines what the page is about. It helps describe and organize the page, but it's not a magic ranking lever. You don't need exactly one Google's fine with none or several , though one clean H1 per page is the tidy, accessible ","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — The H1 is the big visible heading at the top of your page — the in your HTML.","It helps describe and organize the page, but it's not a magic ranking lever.","You don't need exactly one Google's fine with none or several , though one clean H1 per page is the tidy, accessible default.","Write it for a human — clear and descriptive, not stuffed with keywords.","What an H1 tag is An H1 tag is a piece of HTML that marks the main heading of a page.","H2s are the section headings under it, H3s are subsections, and so on.","It's like an outline: H1 is the title of the document, H2s are the chapters.","The H1 is usually the first big line of text you see when a page loads."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/on-page/header-tags/h1/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/header-tags/h1/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Header Tags","desc":"What header tags (H1–H6) are and how much they actually matter for SEO — how Google and Bing use them, multiple H1s, heading order, keywords, and accessibility.","snippetText":"Header tags are the HTML heading elements H1–H6 that structure a page's content. They're a real signal — Google has called a heading 'a really strong signal' about what a section is about, and uses H1s when generating SERP title links — but they matter far less than most SEO tools imply. Google says heading order doesn't affect rankings and multiple H1s are fine; Bing prefers one H1. In my study of over a million domains, missing and multiple H1s were both extremely common and both low-impact. Use semantic headings to organize content for readers and screen readers; don't treat them as a keywo","href":"/technical-seo/on-page/header-tags/","slug":"header-tags","meta":"Educational","aliases":["header-tags","header tags","heading tags","HTML headings","H1 H2 H3","H2 tags","H3 tags","heading elements","Header Tags","h1","heading-structure","on-page-seo"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page"],"text":"header-tags heading-tags h1 h2 h3 on-page-seo html Header tags are the HTML heading elements H1–H6 that structure a page's content. They're a real signal — Google has called a heading 'a really strong signal' about what a section is about, and uses H1s when generating SERP title links — but they matter far less than most SEO tools imply. Google says heading order doesn't affect rankings and multiple H1s are fine; Bing prefers one H1. In my study of over a million domains, missing and multiple H1s were both extremely common and both low-impact. Use semantic headings to organize content for readers and screen readers; don't treat them as a keyword-ranking lever. What header tags are Why they matter The stuff people get wrong What header tags are and aren't How Google uses headings Multiple H1s: Google is fine, Bing isn't What my data actually shows Keywords in headings Semantic headings vs. CSS styled text Heading order and accessibility A note on JavaScript rendered headings Best practices, condensed Where to go next AI summary Official documentation Quotes from the source H1–H6 cheat sheet Inspect the rendered heading outline Flag jumps of more than one level Test yourself: Header tags Resources worth your time Header tags (heading tags) are the HTML elements <h1> through <h6> that mark the structural hierarchy of a page's content. They help users, search engines, and screen readers understand what each section is about. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — Header tags are the HTML headings on a page — through . H1 is usually the main page title; H2 and H3 mark the sections and subsections below it. They help people skim your page and help search engines understand what each part is about. They matter for SEO, but a lot less than the tools that flag them want you to believe. What header tags are When you look at a page and see a big bold title at the top, then smaller section headings below it, those are usually header tags also called heading tags . In HTML they look like this: Quick terminology check before we go further: heading tags H1–H6 are not the same thing as the element. is a different HTML5 tag for a page or section's top area logo, nav — it's a landmark/container, not a heading level. There are six levels, through . Think of them like an outline: H1 — the title of the whole page the biggest idea . H2 — the mai","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — Header tags are the HTML headings on a page — through .","H1 is usually the main page title; H2 and H3 mark the sections and subsections below it.","They help people skim your page and help search engines understand what each part is about.","They matter for SEO, but a lot less than the tools that flag them want you to believe.","What header tags are When you look at a page and see a big bold title at the top, then smaller section headings below it, those are usually header tags also called heading tags .","In HTML they look like this: Quick terminology check before we go further: heading tags H1–H6 are not the same thing as the element.","is a different HTML5 tag for a page or section's top area logo, nav — it's a landmark/container, not a heading level.","Think of them like an outline: H1 — the title of the whole page the biggest idea ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/on-page/header-tags/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/header-tags/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO for a Headless CMS","desc":"Headless CMS SEO comes down to one thing — how the frontend renders. SSG/SSR vs. CSR, metadata, canonicals, sitemaps, ISR traps, AI crawlers, and migrations.","snippetText":"Headless CMS is neither good nor bad for SEO — the rendering mode your frontend uses decides everything. SSG and SSR are the safe choices, CSR is the risky one, and ISR has a stale-content trap; everything WordPress plugins did automatically (metadata, sitemaps, canonicals, robots.txt) you now have to build explicitly. Get rendering right, keep preview environments out of the index, and headless can outperform a neglected WordPress site.","href":"/technical-seo/platform-seo/headless-cms/headless-cms-seo/","slug":"headless-cms-seo","meta":"Educational","aliases":["headless-cms-seo","headless CMS SEO","headless CMS","decoupled CMS","headless SEO","Gatsby SEO","Headless CMS SEO","javascript-seo","rendering"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","headless-cms"],"text":"headless-cms javascript-seo rendering technical-seo next-js ssr ssg Headless CMS is neither good nor bad for SEO — the rendering mode your frontend uses decides everything. SSG and SSR are the safe choices, CSR is the risky one, and ISR has a stale-content trap; everything WordPress plugins did automatically (metadata, sitemaps, canonicals, robots.txt) you now have to build explicitly. Get rendering right, keep preview environments out of the index, and headless can outperform a neglected WordPress site. What \"headless\" actually means The one decision that matters: rendering The \"where did my SEO settings go?\" problem A couple of things that quietly break Architecture is the product Who owns what: CMS, API, and frontend How Google processes a JavaScript page The AI crawler reality The four rendering modes The ISR stale content trap Dynamic rendering is deprecated Metadata — rebuilding what the plugin did Canonical fragmentation — a headless specific risk Locale ownership: API fallback vs. frontend routing Sitemaps and robots.txt Keeping it in sync with publishing Internal links and structured data Preview and staging environments Bing and IndexNow Migrating to headless without tanking traffic AI summary Official documentation Quotes from the source Two checklists: headless SEO health + migration A headless CMS decouples content storage and editing (the backend) from how that content is rendered and delivered (the frontend), serving content over an API instead of a built-in templated 'head'. Its SEO outcomes come almost entirely from how the separate frontend renders pages. TL;DR — A headless CMS splits where you write content from where it gets shown . That split is fine for SEO — but only if the website part hands search engines fully built HTML. The big rule: render your pages on a server or at build time SSR or SSG , not entirely in the visitor's browser CSR . And all the SEO stuff a WordPress plugin used to do for you — titles, sitemaps, robots.txt — you now have to set up yourself. What \"headless\" actually means In a traditional setup like WordPress, the place you write content and the place that turns it into a web page are the same system. A headless CMS pulls those two jobs apart. The CMS becomes just a content storehouse Contentful, Sanity, Strapi, and others , and a separate website — built with a framework like Next.js, Nuxt, Astro, or Gatsby — fe","passages":["TL;DR — A headless CMS splits where you write content from where it gets shown .","That split is fine for SEO — but only if the website part hands search engines fully built HTML.","The big rule: render your pages on a server or at build time SSR or SSG , not entirely in the visitor's browser CSR .","And all the SEO stuff a WordPress plugin used to do for you — titles, sitemaps, robots.txt — you now have to set up yourself.","What \"headless\" actually means In a traditional setup like WordPress, the place you write content and the place that turns it into a web page are the same system.","The CMS becomes just a content storehouse Contentful, Sanity, Strapi, and others , and a separate website — built with a framework like Next.js, Nuxt, Astro, or Gatsby — fetches that content and builds the actual pages.","The CMS sitting in the back has almost no effect on your rankings.","The one decision that matters: rendering When someone or Googlebot asks for a page, where does the finished HTML get made?"],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/headless-cms-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/headless-cms/headless-cms-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Hreflang","desc":"What hreflang is, the three ways to implement it, the reciprocal and self-referential rules, valid language/region codes, and how to audit clusters at scale.","snippetText":"Hreflang tells search engines which language/region version of a page to show which user. You declare it one of three ways — HTML head tags, HTTP headers, or XML sitemap — using ISO 639-1 language + ISO 3166-1 alpha-2 region codes. It only works as a reciprocal cluster: every page must link to itself and to all its alternates, and if any return link is missing, Google ignores the pair. It's a hint, not a directive — wrong hreflang is ignored, not penalized. It's also fragile: in my study of 374,756 hreflang-using domains, over 67% had at least one issue. Bing barely uses it (content-language i","href":"/international-seo/hreflang/","slug":"hreflang","meta":"Educational","aliases":["Hreflang","hreflang","hreflang tags","hreflang attribute","hreflang implementation","international targeting tags","x-default","multilingual-seo","international-seo"],"pillar":"international-seo","taxonomy":["international-seo","hreflang"],"text":"hreflang international-seo technical-seo geotargeting Hreflang tells search engines which language/region version of a page to show which user. You declare it one of three ways — HTML head tags, HTTP headers, or XML sitemap — using ISO 639-1 language + ISO 3166-1 alpha-2 region codes. It only works as a reciprocal cluster: every page must link to itself and to all its alternates, and if any return link is missing, Google ignores the pair. It's a hint, not a directive — wrong hreflang is ignored, not penalized. It's also fragile: in my study of 374,756 hreflang-using domains, over 67% had at least one issue. Bing barely uses it (content-language is the stronger signal there). This hub explains the whole thing and points you to the deep dives. What hreflang is The three ways to add it The codes have to be valid The two rules that make it work When do you actually need hreflang? Hreflang mistakes that break clusters Publishing one way annotations Pointing hreflang at redirected or non canonical URLs Using a country code without a language Mixing implementation methods without one source of truth Test yourself: Hreflang Hreflang is a cluster, not a tag Three methods — and the trade offs Reciprocal linking at scale — where it breaks Canonicalization conflicts It's a hint, not a directive Bing and the other engines use a different stack The error rate is the story Auditing at scale — visualize the cluster, don't read a spreadsheet Hreflang is also a technical SEO audit concern Where to go next AI summary Official documentation Quotes from the source Hreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. {/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — Hreflang tells search engines which version of a page is meant for which language or region — so a Spanish speaker gets your Spanish page and a French speaker gets the French one. You add a small annotation to each page listing all the language versions. The catch: every page has to point back at every other one, or Google may ignore the affected annotations. What hreflang is If you publish the same page in more than one language — or in the same language for different countries — hreflang is how you","passages":["{/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — Hreflang tells search engines which version of a page is meant for which language or region — so a Spanish speaker gets your Spanish page and a French speaker gets the French one.","You add a small annotation to each page listing all the language versions.","The catch: every page has to point back at every other one, or Google may ignore the affected annotations.","What hreflang is If you publish the same page in more than one language — or in the same language for different countries — hreflang is how you tell Google which is which.","It's an annotation that lists all the alternate versions of a page and the language and optionally the region each one targets.","When someone searches, Google can use it to swap in the version that matches their language and location — it's a signal that helps Google choose the right localized URL, not a guarantee of indexing, ranking, traffic, which URL gets shown, or citation in AI answers.","It looks like this in the page's HTML : Each line says: \"there's an alternate version of this page, it's for this language/region, and it lives at this URL.\" The three ways to add it Generate valid tags with the hreflang Generator + Linter /tools/hreflang generator/ : 1.","In the locale/URL matrix, add one row per language version of your page locale code + URL — the output updates live as you type."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/international-seo/hreflang/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/hreflang/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Image SEO","desc":"How to optimize images for Google Images, visual search, and faster pages — formats, filenames, alt text, lazy loading, structured data, and image sitemaps.","snippetText":"Image SEO is two jobs, not one: ranking your images in Google Images / visual search (driven by alt text, filenames, page context, and uniqueness), and keeping pages fast (images are usually the biggest Core Web Vitals / LCP element). The myths to drop: there's no direct ranking boost for WebP or AVIF (Mueller confirmed — the win is speed), you shouldn't bulk-rename existing files, and CSS background images don't get indexed. Native loading=\"lazy\" is fine for below-the-fold images but never for your LCP image. Google indexes <img> (and <picture>), supports BMP/GIF/JPEG/PNG/WebP/SVG/AVIF, and a","href":"/technical-seo/on-page/image-seo/","slug":"image-seo","meta":"Educational","aliases":["image-seo","image SEO","image optimization","optimize images","Google Images SEO","image search optimization","Image SEO","alt-text","image-sitemaps","core-web-vitals","structured-data"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page"],"text":"image-seo image-optimization google-images alt-text webp avif structured-data on-page-seo Image SEO is two jobs, not one: ranking your images in Google Images / visual search (driven by alt text, filenames, page context, and uniqueness), and keeping pages fast (images are usually the biggest Core Web Vitals / LCP element). The myths to drop: there's no direct ranking boost for WebP or AVIF (Mueller confirmed — the win is speed), you shouldn't bulk-rename existing files, and CSS background images don't get indexed. Native loading=\"lazy\" is fine for below-the-fold images but never for your LCP image. Google indexes <img> (and <picture>), supports BMP/GIF/JPEG/PNG/WebP/SVG/AVIF, and as of May 2025 wants you to reference the same image at the same URL everywhere. This hub maps it all and points to the alt text deep dive. What image SEO is The handful of things that matter The thing most people get wrong Image SEO is two jobs, not one How Google discovers and indexes images File formats: pick for speed, not for an SEO boost File names: descriptive for new images, don't bulk rename old ones Alt text the short version Compression, lazy loading, and Core Web Vitals Responsive images Structured data for images Image sitemaps Discover and large images Stock vs. unique images Emerging: AI image labeling C2PA / IPTC Where to go next AI summary Official documentation Quotes from the source Image SEO cheat sheet The mental model The standing KPIs: image search visibility and image driven page speed Image search impressions and clicks Search Console Core Web Vitals pass rate, filtered to image heavy templates Image SEO is optimizing the images on your pages so search engines can discover, crawl, index, and rank them — in Google Images and visual search, and as part of standard web results. It spans file format, filenames, alt text, compression, responsive markup, structured data, and image sitemaps. TL;DR — Image SEO is making the pictures on your pages work for search: showing up in Google Images, and loading fast so they don't slow your page down. The basics: use a descriptive filename, write good alt text, compress images so they're not huge, pick a modern format like WebP, and don't make the big image at the top of the page \"lazy load.\" There's no magic ranking boost from any of this — it just helps your images get found and keeps your pages quick. What image SEO is Wh","passages":["TL;DR — Image SEO is making the pictures on your pages work for search: showing up in Google Images, and loading fast so they don't slow your page down.","The basics: use a descriptive filename, write good alt text, compress images so they're not huge, pick a modern format like WebP, and don't make the big image at the top of the page \"lazy load.\" There's no magic ranking boost from any of this — it just helps your images get found and keeps your pages quick.","What image SEO is When you put a picture on a web page, search engines can do two useful things with it.","They can show it in image search Google Images, Bing Images, Google Lens , which sends people to your page.","And they read the image as part of the page — mostly through its alt text — to understand what the page is about.","The catch is that a search engine can't \"see\" a photo the way you do.","It relies on the clues you give it: the filename, the alt text, the words around the image, and the file itself.","Image SEO is just giving good clues — and making sure the image doesn't slow your page to a crawl."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/on-page/image-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/image-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Internal Links","desc":"Internal links are how search engines discover your pages and pass ranking signals between them — strategy, anchor text, PageRank, and audits.","snippetText":"Internal links are hyperlinks between pages on the same site, and they do two jobs: they help search engines discover your pages, and they pass ranking signals (PageRank plus anchor-text context) between them. John Mueller calls internal linking 'super critical for SEO.' Descriptive anchor text beats generic 'click here'; there's no magic limit on links per page (the old 100-link rule is a myth); and pages buried more than 3–4 clicks from the homepage get crawled less. Never nofollow your own internal links to 'sculpt' PageRank — that's been dead since 2009, and the equity just evaporates. The","href":"/technical-seo/website-structure/internal-links/","slug":"internal-links","meta":"Educational","aliases":["internal-links","internal links","internal linking","internal link","link internally","Internal Linking","Internal Link","internal-linking","pagerank","anchor-text","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"internal-links internal-linking link-building pagerank anchor-text on-page-seo Internal links are hyperlinks between pages on the same site, and they do two jobs: they help search engines discover your pages, and they pass ranking signals (PageRank plus anchor-text context) between them. John Mueller calls internal linking 'super critical for SEO.' Descriptive anchor text beats generic 'click here'; there's no magic limit on links per page (the old 100-link rule is a myth); and pages buried more than 3–4 clicks from the homepage get crawled less. Never nofollow your own internal links to 'sculpt' PageRank — that's been dead since 2009, and the equity just evaporates. The highest-ROI audit fixes are orphan pages and broken links. What an internal link is Why internal links matter How to do it well The thing most people get wrong What counts as an internal link and what's crawlable The two jobs internal links do PageRank still flows through internal links Anchor text: context, not keyword stuffing How many internal links per page? Click depth is your most actionable metric Don't nofollow your own internal links A practical internal link audit, in priority order Where to go next AI summary Official documentation Quotes from the source Internal link audit checklist The mental models Orphaning a page and relying on the sitemap Using to sculpt internal PageRank Linking with buttons or click handlers only Adding links from irrelevant sentences Sending internal links through redirects or errors Repeating one exact anchor mechanically Links between pages on the same site. An internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. TL;DR — Internal links are links from one page on your site to another page on the same site. They do two things: they help search engines find your pages, and they tell search engines which pages are important and what they're about. Use descriptive link text not \"click here\" , make sure every page you care about is linked from somewhere, and never add to your own internal links. What an internal link is An internal link is a link that goes from one page on your website to another page on the same website. A link that points to a different website is an external link . That's t","passages":["TL;DR — Internal links are links from one page on your site to another page on the same site.","They do two things: they help search engines find your pages, and they tell search engines which pages are important and what they're about.","Use descriptive link text not \"click here\" , make sure every page you care about is linked from somewhere, and never add to your own internal links.","What an internal link is An internal link is a link that goes from one page on your website to another page on the same website.","A link that points to a different website is an external link .","In HTML, an internal link looks like any other link: The clickable words \"internal links\" here are the anchor text .","Why internal links matter Two reasons, and they're separate: 1.","Google discovers most new pages by following links from pages it already knows about."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/website-structure/internal-links/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/internal-links/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"International SEO","desc":"What international SEO actually is — language vs. country targeting, ccTLD/subdomain/subdirectory, hreflang at scale, how Bing differs, and what's deprecated — from Patrick Stox.","snippetText":"International SEO is making sure search engines understand which countries and/or languages your site targets, and serve the right version to the right user. It splits into two axes — language targeting vs. country targeting — and runs on three levers: URL structure (ccTLD/subdomain/subdirectory), hreflang, and on-page localization. My hard-won take from running this at IBM scale: hreflang is a hint, not a directive (its real payoff is version-swapping in the SERP, not indexing); manual hreflang fails at scale, so automate and monitor constantly; the ccTLD ranking boost is fading (Gary Illyes,","href":"/international-seo/","slug":"international-seo","meta":"Educational","aliases":["international-seo","international SEO","geotargeting","multilingual targeting","multi-regional SEO","International SEO","hreflang","multilingual-seo","x-default"],"pillar":"international-seo","taxonomy":["international-seo"],"text":"international-seo hreflang multilingual-seo geotargeting International SEO is making sure search engines understand which countries and/or languages your site targets, and serve the right version to the right user. It splits into two axes — language targeting vs. country targeting — and runs on three levers: URL structure (ccTLD/subdomain/subdirectory), hreflang, and on-page localization. My hard-won take from running this at IBM scale: hreflang is a hint, not a directive (its real payoff is version-swapping in the SERP, not indexing); manual hreflang fails at scale, so automate and monitor constantly; the ccTLD ranking boost is fading (Gary Illyes, July 2024); Google's GSC International Targeting report is gone (2022); and Bing leans on the content-language meta tag, not hreflang. For most sites I'd pick subdirectories and one page per language over a sprawl of per-country domains. Gate which markets you enter first on demand, eligibility, capacity, competition, and economics — and know that none of this guarantees indexing, rankings, traffic, or conversions; it just improves your odds. What international SEO is The three things you actually control The one thing to get right early Test yourself: International SEO Two axes, not one Prioritize the market before you lock architecture Choosing your URL structure hreflang: the core technical signal Other signals — and the things Google ignores The GSC International Targeting report is gone How Bing handles this differently International SEO at scale Where to go next AI summary Official documentation Quotes from the source The decision frameworks Resources worth your time International SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization. {/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — International SEO is how you tell search engines which languages and countries your site is for, so the right person sees the right version. It's two separate questions — what language is this page in, and what country is it for — and three main levers: your URL structure , hreflang tags, and on page signals like currency and address. hreflang is the big one, and the thing to remember up front is that it's a hint , not a command. What internation","passages":["{/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — International SEO is how you tell search engines which languages and countries your site is for, so the right person sees the right version.","It's two separate questions — what language is this page in, and what country is it for — and three main levers: your URL structure , hreflang tags, and on page signals like currency and address.","hreflang is the big one, and the thing to remember up front is that it's a hint , not a command.","What international SEO is If your site serves people in more than one language or more than one country, you have an international SEO problem to solve — whether you've thought about it or not.","The goal is simple to state: help Google and Bing understand which version of a page is meant for which audience, and serve that version to the right person.","The mistake almost everyone makes at the start is treating \"language\" and \"country\" as the same thing.","They aren't: Language targeting is for multilingual sites — the same content offered in more than one language.","Country targeting is for multi regional sites — content aimed at users in different countries, sometimes in the same language."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/international-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"International SEO Audit","desc":"A step-by-step international SEO audit — URL structure, hreflang errors, geo-redirects, technical signals, content quality, and country-level performance.","snippetText":"An international SEO audit checks how a site signals language and country to search engines across six areas: URL/domain structure (start with a locale inventory — market, URL pattern, canonical, alternate method), hreflang, geo-redirects (test across a request-state matrix — IP, Accept-Language, cookie, deep links), technical signals (html lang, Content-Language, JS rendering, pagination), content localization, and country-level performance. Hreflang is the core — my Brighton SEO 2023 study of 374,756 domains found 67% of domains using hreflang have at least one error. The GSC International T","href":"/international-seo/international-seo-audit/","slug":"international-seo-audit","meta":"Educational","aliases":["international SEO audit","hreflang audit","international SEO checklist","international site audit"],"pillar":"international-seo","taxonomy":["international-seo"],"text":"international-seo seo-audit hreflang technical-seo An international SEO audit checks how a site signals language and country to search engines across six areas: URL/domain structure (start with a locale inventory — market, URL pattern, canonical, alternate method), hreflang, geo-redirects (test across a request-state matrix — IP, Accept-Language, cookie, deep links), technical signals (html lang, Content-Language, JS rendering, pagination), content localization, and country-level performance. Hreflang is the core — my Brighton SEO 2023 study of 374,756 domains found 67% of domains using hreflang have at least one error. The GSC International Targeting report is gone (removed Sept 22, 2022), so auditors now lean on crawlers like Ahrefs Site Audit (with its hreflang cluster graph) and Screaming Frog. Prioritize missing return tags and broken URLs over x-default and self-referential tags. Keep observed performance data (GSC, GA4) separate from Ahrefs' estimates — neither alone proves why a market underperforms. What an international SEO audit covers Why it's different from a regular audit When you need one SOP: recurring international SEO audit Metrics that keep the audit operational Hreflang cluster integrity Indexable locale coverage Non default market search visibility Redirected entry exposure Test yourself: International SEO audits 1. URL structure audit 2. Hreflang audit the core The nine error types Ahrefs Site Audit hreflang checks Ahrefs hreflang cluster visualization the differentiator Screaming Frog hreflang method 3. Geo redirect audit 4. Technical checks 5. Content quality audit 6. Performance audit by market AI summary Official documentation Quotes from the source The international SEO audit checklist {/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — An international SEO audit checks whether your site is telling search engines the right things about which language and country each page is for. It's different from a regular technical audit because it adds a whole layer of signals — hreflang, URL structure, geo redirects, localized content — that only exist once you serve more than one market. You usually run one before expanding to a new country, after traffic drops in a specific market, or the first time you set up hreflang. What an international SEO audit covers A normal technical SEO audit asks \"can search engines crawl, r","passages":["{/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — An international SEO audit checks whether your site is telling search engines the right things about which language and country each page is for.","It's different from a regular technical audit because it adds a whole layer of signals — hreflang, URL structure, geo redirects, localized content — that only exist once you serve more than one market.","You usually run one before expanding to a new country, after traffic drops in a specific market, or the first time you set up hreflang.","Hreflang — the annotations that tell Google \"here's the same page in French, in German, in Japanese.\" This is where most of the problems live.","Geo redirects — if you automatically send visitors to a version based on their location, does that quietly break how Google crawls the rest of your site?","Localized content — is the content actually written for each market, or run through machine translation and left alone?","Country level performance — are some markets underperforming relative to how much search demand exists there?","Why it's different from a regular audit Hreflang is the big reason."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/international-seo/international-seo-audit/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/international-seo-audit/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"International SEO Keyword Research","desc":"How to find the keywords people actually search in each country — why translation fails, how KD and volume shift by market, and the Ahrefs workflow I use.","snippetText":"International SEO keyword research means finding the terms people in a specific country or language actually search — not translating your home-market list. Three things break when you cross a border: vocabulary diverges even within one language (vacation vs. holiday), search volume and KD are market-specific (a keyword locked in the US can be wide open in Brazil), and SERP intent shifts by locale. The fix is to research each market directly: prioritize markets, find local competitors and local terms, validate intent in the live SERP, then map keywords per market. In Ahrefs that's the Keywords","href":"/international-seo/localization-and-content/international-seo-keyword-research/","slug":"international-seo-keyword-research","meta":"Educational","aliases":["international SEO keyword research","multilingual keyword research","international keyword research","keyword research by country"],"pillar":"international-seo","taxonomy":["international-seo","localization-and-content"],"text":"international-seo keyword-research multilingual-seo ahrefs International SEO keyword research means finding the terms people in a specific country or language actually search — not translating your home-market list. Three things break when you cross a border: vocabulary diverges even within one language (vacation vs. holiday), search volume and KD are market-specific (a keyword locked in the US can be wide open in Brazil), and SERP intent shifts by locale. The fix is to research each market directly: prioritize markets, find local competitors and local terms, validate intent in the live SERP, then map keywords per market. In Ahrefs that's the Keywords Explorer country selector, Site Explorer organic keywords filtered by country, Content Gap against local competitors, and Metrics by Country to spot untapped markets — with Google Trends and GSC as backstops where tool data is thin. You can't just translate your keywords Three reasons international keyword research is different The high level process International keyword research mistakes Translating the home market keyword list Reusing one market's volume and difficulty Mapping a keyword before checking the local SERP Worked examples Same product, different vocabulary A market by market mapping row Test yourself: International keyword research Why this isn't the same job as domestic keyword research The process 1. Prioritize markets first 2. Research local terminology per market 3. Validate intent in the target market 4. Analyze the local competitors 5. Account for data reliability in smaller markets 6. Map keywords per market — universal vs. local 7. The \"search in your target market\" method A caveat on all of this What this looks like at enterprise scale The opportunity hiding in keyword difficulty The Ahrefs workflow, report by report TL;DR — You can't just translate your English keyword list and call it international keyword research. People in different countries search for the same thing using different words, the search volume and difficulty are different in every market, and the results Google shows can mean something different locally. The job is to research each market on its own terms. You can't just translate your keywords The most common mistake I see is the easiest one to make: take your existing keyword list, run it through Google Translate, hand it to the translators, done. It feels efficient.","passages":["TL;DR — You can't just translate your English keyword list and call it international keyword research.","People in different countries search for the same thing using different words, the search volume and difficulty are different in every market, and the results Google shows can mean something different locally.","You can't just translate your keywords The most common mistake I see is the easiest one to make: take your existing keyword list, run it through Google Translate, hand it to the translators, done.","It also routinely produces keywords that nobody actually searches for.","Here's the thing — search is about how real people phrase things, not what a dictionary says is correct.","A translation can be perfectly accurate and still be the wrong word, because it's not the word locals reach for when they open a search box.","The classic example: a hotel chain translated its budget hotel keywords into French \"hôtel budget,\" \"hôtel bas coût\" , and those terms had essentially zero search volume — even though the English originals pulled thousands of searches a month.","Three reasons international keyword research is different 1."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/international-seo/localization-and-content/international-seo-keyword-research/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/localization-and-content/international-seo-keyword-research/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Magento SEO","desc":"How to do SEO on Magento (Adobe Commerce / Magento Open Source) — taming layered navigation and parameter duplication, URL rewrites, the missing JSON-LD problem, the Magento 1 vs 2 split, and the controls that actually move the needle on a Magento store.","snippetText":"Magento SEO is mostly damage control on two duplicate-content generators: layered navigation and configurable/simple product variants, both of which need canonical + noindex handling. Get the version straight first — Magento 1 is end-of-life (June 2020); Magento 2 ships as paid Adobe Commerce, free Magento Open Source, or (since June 2025) the separate Adobe Commerce as a Cloud Service SaaS product, which drops the Luma theme entirely. Magento manages SEO-friendly URLs via the url_rewrite table, but does NOT emit JSON-LD schema by default — that takes an extension or custom dev.","href":"/technical-seo/platform-seo/ecommerce-platforms/magento-seo/","slug":"magento-seo","meta":"Educational","aliases":["magento-seo","Magento SEO","Adobe Commerce SEO","Magento Open Source SEO","ecommerce-seo","faceted-navigation","duplicate-content"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"magento-seo ecommerce-seo adobe-commerce faceted-navigation duplicate-content structured-data canonical indexing Magento SEO is mostly damage control on two duplicate-content generators: layered navigation and configurable/simple product variants, both of which need canonical + noindex handling. Get the version straight first — Magento 1 is end-of-life (June 2020); Magento 2 ships as paid Adobe Commerce, free Magento Open Source, or (since June 2025) the separate Adobe Commerce as a Cloud Service SaaS product, which drops the Luma theme entirely. Magento manages SEO-friendly URLs via the url_rewrite table, but does NOT emit JSON-LD schema by default — that takes an extension or custom dev. What Magento is and which version you have The one big problem: filters The other things to set up Step zero: get the version straight Layered navigation is the whole game URL rewrites and SEO friendly URLs Configurable and simple products: the other duplicate content driver The JSON LD gap The rest of the technical surface What to actually prioritize AI summary Official documentation Quotes from the source Magento SEO checklist Magento SEO cheat sheet The mental models Tools for Magento SEO How to measure Magento SEO health Indexed vs. discovered URL ratio Crawl budget spent on filter URLs Canonical signal consistency Product rich result eligibility Validation tests: proving a Magento SEO fix took effect Canonical added to a filtered category URL Magento SEO is optimizing a store built on Magento — now Adobe Commerce (paid) or Magento Open Source (free), both running the Magento 2 codebase — to rank in organic search. The defining challenge is layered navigation (faceted filtering), which can spawn huge numbers of duplicate parameter URLs. TL;DR — Magento SEO is about helping a Magento store rank in search. First, know your version: Magento 1 is dead no updates since June 2020 , and Magento 2 comes in a paid edition Adobe Commerce and a free one Magento Open Source . The thing that breaks SEO on Magento more than anything else is its filter system — \"layered navigation\" — which can create thousands of duplicate page addresses. Most of your work is keeping those under control. What Magento is and which version you have Magento is a platform for building online stores. Unlike Shopify, where the company hosts everything for you, Magento is something you or your developers in","passages":["TL;DR — Magento SEO is about helping a Magento store rank in search.","First, know your version: Magento 1 is dead no updates since June 2020 , and Magento 2 comes in a paid edition Adobe Commerce and a free one Magento Open Source .","The thing that breaks SEO on Magento more than anything else is its filter system — \"layered navigation\" — which can create thousands of duplicate page addresses.","What Magento is and which version you have Magento is a platform for building online stores.","Unlike Shopify, where the company hosts everything for you, Magento is something you or your developers install and run yourself.","Before you do anything, figure out which Magento you're on: Magento 1 — the old version.","It reached end of life in June 2020 and no longer gets security updates.","If you're here, your real SEO project is migrating to Magento 2 do it carefully, with redirects ."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/magento-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/magento-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Site Migrations","desc":"The complete guide to SEO site migrations — the 7 types and their risk levels, the universal 7-phase process, redirect strategy, and per-type checklists.","snippetText":"A site migration is any major change to your URLs, domain, platform, protocol, or host — and the risk scales with how much you change at once. 301 redirects do the real work of carrying rankings across (they don't lose PageRank); the Change of Address tool, sitemaps, and internal-link updates are supporting signals. Map old→new 1:1, never bulk-redirect to the homepage, avoid chains, and keep redirects far longer than the 'one year' line. Expect a temporary fluctuation and usually a recovery — a drop that sticks means something broke, not that the move did. This hub covers migration classificat","href":"/technical-seo/migrations/","slug":"migrations","meta":"Educational","aliases":["migrations","site migration","website migration","site migrations","SEO migration","Site Migration","change-of-address-tool","canonicalization","redirect-error","page-with-redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","migrations"],"text":"site-migrations redirects technical-seo change-of-address-tool https replatforming A site migration is any major change to your URLs, domain, platform, protocol, or host — and the risk scales with how much you change at once. 301 redirects do the real work of carrying rankings across (they don't lose PageRank); the Change of Address tool, sitemaps, and internal-link updates are supporting signals. Map old→new 1:1, never bulk-redirect to the homepage, avoid chains, and keep redirects far longer than the 'one year' line. Expect a temporary fluctuation and usually a recovery — a drop that sticks means something broke, not that the move did. This hub covers migration classification, principles, risk, type-specific decisions, and recovery diagnosis. What a site migration is The one rule that matters most Things people get wrong Change one thing at a time What a migration actually is and the 7 types Phase 1 — Planning Phase 2 — Benchmark and crawl the old site Phase 3 — URL mapping Phase 4 — Redirect strategy Phase 5 — Staging and pre launch testing Phase 6 — Launch Phase 7 — Post launch monitoring Did the redirect work? Measuring impact without fooling yourself Type 1 — Domain change / rebrand Type 2 — HTTP → HTTPS Type 3 — Platform / CMS replatform Type 4 — URL structure / site restructure Type 5 — Website redesign same URLs Type 6 — Subdomain ↔ subfolder Type 7 — Domain consolidation / merging sites Choose the specialized guide Where this fits AI summary Official documentation A site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once. TL;DR — A site migration is any big change to your website that could move your URLs or change how Google reads them — a new domain, a switch to HTTPS, a new platform, a folder reshuffle, even a redesign. The way you protect your traffic is the same every time: send each old page to its closest matching new page with a 301 redirect, and keep those redirects in place for a long time. A temporary dip in traffic is normal; if it never recovers, something broke. What a site migration is \"Migration\" sounds dramatic, and sometimes it is. But it just means a significant change to your site that could affect how search engines find, read, and rank your pages. Moving to a new d","passages":["TL;DR — A site migration is any big change to your website that could move your URLs or change how Google reads them — a new domain, a switch to HTTPS, a new platform, a folder reshuffle, even a redesign.","The way you protect your traffic is the same every time: send each old page to its closest matching new page with a 301 redirect, and keep those redirects in place for a long time.","A temporary dip in traffic is normal; if it never recovers, something broke.","What a site migration is \"Migration\" sounds dramatic, and sometimes it is.","But it just means a significant change to your site that could affect how search engines find, read, and rank your pages.","Even a redesign that keeps every URL the same counts, because the content and templates that Google ranks are changing.","The reason they're grouped together is that they share the same risk and the same playbook.","The one rule that matters most When a URL changes, you have to tell browsers and search engines where the page went."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/migrations/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/migrations/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Multilingual SEO","desc":"How to optimize a site that serves multiple languages — multilingual vs. multi-regional, how Google really detects language, hreflang, URL structure, and Bing.","snippetText":"Multilingual SEO is optimizing a site that serves more than one language so each version reaches the right searcher. The thing almost everyone gets wrong: Google ignores your <html lang> attribute and Content-Language headers — it reads the visible text to detect language. hreflang doesn't tell Google a page's language either; it maps which URLs are alternates of each other. Bing is the opposite — it leans on the content-language meta tag. Get the language right first, then connect alternates with hreflang, then pick a URL structure (subdirectories for most sites). 67% of hreflang setups have ","href":"/international-seo/localization-and-content/multilingual-seo/","slug":"multilingual-seo","meta":"Educational","aliases":["multilingual-seo","multilingual SEO","multilingual website SEO","language targeting SEO","multiple language SEO","Multilingual SEO","international-seo","hreflang","localization"],"pillar":"international-seo","taxonomy":["international-seo","localization-and-content"],"text":"multilingual-seo international-seo hreflang language-targeting Multilingual SEO is optimizing a site that serves more than one language so each version reaches the right searcher. The thing almost everyone gets wrong: Google ignores your <html lang> attribute and Content-Language headers — it reads the visible text to detect language. hreflang doesn't tell Google a page's language either; it maps which URLs are alternates of each other. Bing is the opposite — it leans on the content-language meta tag. Get the language right first, then connect alternates with hreflang, then pick a URL structure (subdirectories for most sites). 67% of hreflang setups have errors, but Google fixes many of them automatically. Multilingual vs. multi regional — get this straight first What \"language targeting\" actually means Where the different language versions live URL structure When you actually need multilingual SEO vs. just translating Multilingual SEO mistakes Treating as Google's language detector Using hreflang to declare a page's language Forcing visitors through an automatic language redirect Test yourself: Multilingual SEO Multilingual ≠ multi regional How Google actually detects page language this is the big one Bing does it the opposite way What hreflang actually does and doesn't The valuable, under covered angle: hreflang speeds indexing of new languages Why your GSC hreflang data looks thin and that's normal Duplicate content: es MX vs. es ES URL structure, internal linking, and language detection Translation quality and machine translation Schema for multilingual sites The error rate: my 374,756 domain study The 2025 threat: Google's translate.goog proxy Mueller's caution: don't translate everything AI summary Official documentation Multilingual SEO is the practice of optimizing a website that serves content in more than one language so each language version is discoverable, indexable, and rankable in the right language's search results. It's about language, not geography — which makes it distinct from multi-regional SEO. TL;DR — Multilingual SEO is optimizing a site that's available in more than one language so the right version shows up for the right person. It's about language , not country — that's the first thing to get straight. You give each language its own URL, tell Google which URLs are versions of each other with , and let Google figure out the language","passages":["TL;DR — Multilingual SEO is optimizing a site that's available in more than one language so the right version shows up for the right person.","It's about language , not country — that's the first thing to get straight.","You give each language its own URL, tell Google which URLs are versions of each other with , and let Google figure out the language from the actual text on the page.","multi regional — get this straight first These two get mixed up constantly, and the whole topic makes more sense once you separate them: Multilingual = your site serves more than one language .","A Swiss site in German, French, and Italian is multilingual — three languages, one country.","Multi regional = your site targets users in more than one country .","A site with separate US and UK English versions is multi regional — one language, two regions.","Plenty of sites are both think a global brand with English, Spanish, and French, each split by country ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/international-seo/localization-and-content/multilingual-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/localization-and-content/multilingual-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Out of Stock Products","desc":"How to handle out-of-stock and discontinued product pages for SEO: keep temporary stockouts live at 200 with OutOfStock schema, 301 permanent discontinuations to a relevant replacement, and avoid the soft-404 and noindex-toggle traps. Backed by Google's own guidance.","snippetText":"Stockouts are inevitable; the wrong SEO response throws away rankings you'll want back. The decision splits three ways. Temporary (it'll return): keep the page live at 200 with substantive content, set schema availability to OutOfStock, and add a back-in-stock signup — don't 404, redirect, or toggle noindex. Permanently discontinued with a replacement: 301 to the genuinely similar replacement (Google doesn't guarantee a specific ranking or link-transfer outcome). Permanently discontinued with no replacement: 301 to the closest relevant page if it still has continuing value (support info, ongoi","href":"/ecommerce-seo/product-pages/out-of-stock-products/","slug":"out-of-stock-products","meta":"Educational","aliases":["out-of-stock-products","out of stock SEO","stockouts","out of stock products","discontinued products SEO","Out of Stock Products","product-page-seo","soft-404-errors","301-redirect"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","product-pages"],"text":"ecommerce-seo out-of-stock product-pages structured-data soft-404 301-redirect merchant-center Stockouts are inevitable; the wrong SEO response throws away rankings you'll want back. The decision splits three ways. Temporary (it'll return): keep the page live at 200 with substantive content, set schema availability to OutOfStock, and add a back-in-stock signup — don't 404, redirect, or toggle noindex. Permanently discontinued with a replacement: 301 to the genuinely similar replacement (Google doesn't guarantee a specific ranking or link-transfer outcome). Permanently discontinued with no replacement: 301 to the closest relevant page if it still has continuing value (support info, ongoing interest, or earned links), or 404/410 if there's nothing worth saving — 404s aren't a penalty. The two biggest mistakes are 404ing a page that has earned links (you lose that equity for nothing) and redirecting to an irrelevant page like the homepage (Google treats it as a soft 404, so the equity is lost anyway). The problem in plain terms The three situations What to put on a temporary out of stock page The one thing not to do What should happen to this product URL? Out of stock mistakes that create larger SEO problems Redirect every unavailable SKU to the home page Toggle every time inventory reaches zero Return a 404 while the page still looks live Leave schema, visible copy, and the merchant feed disagreeing Diagnose unavailable product failures The URL is reported as a soft 404 Search still shows the product as in stock The replacement redirect lands on another unavailable item A restocked product no longer receives organic visits Simplified product lifecycle examples Temporary stockout: preserve the product page Discontinued product with a true successor Discontinued product without an equivalent Tools for validating an out of stock treatment Prove the stock state change shipped correctly Temporary stockout test Replacement redirect test Restock recovery test An out-of-stock product page is a product URL whose item can't currently be bought. The right SEO treatment depends on whether the stockout is temporary, indefinite, or permanent — keep temporary stockouts live at 200 with OutOfStock schema; 301 permanently discontinued products to a relevant replacement. TL;DR — When a product sells out, don't panic and delete the page. If it's coming back, keep the page live a","passages":["TL;DR — When a product sells out, don't panic and delete the page.","If it's coming back, keep the page live and just mark it as out of stock — that way Google keeps the page in its index and notices the second it's back.","If the product is gone for good and you sell something similar, redirect the old page to that replacement.","Only delete let it 404 a product that's gone for good and that nobody links to.","The classic mistake is deleting a popular product page — you throw away all the links and rankings it earned, and you'd want those back when the next version launches.","The SEO mistake isn't running out of stock — it's reacting badly to it.","Every product page you've had for a while has quietly built up value: it ranks for searches, other sites link to it, people bookmark it.","When you delete that page the moment it sells out, you throw all of that away."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/ecommerce-seo/product-pages/out-of-stock-products/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/out-of-stock-products/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Product Page SEO","desc":"How to optimize product detail pages (PDPs) for search — the structured data that earns rich results (product snippets vs. merchant listings), variant canonicalization, unique copy vs. manufacturer duplication, customer reviews and E-E-A-T, image SEO, and out-of-stock handling. The most commercial and most technical pages on a store, in one place.","snippetText":"Product pages are your highest-intent pages — and your most technically loaded ones. Get the structured data right (product snippets for pages you can't buy from, merchant listings for pages you can; minimum viable markup is name + image + price + currency, price greater than zero) and you earn rich results and free product listings — but schema does not make the page rank. Write unique copy instead of pasting the manufacturer's, canonical variants to a base URL, keep out-of-stock pages live with availability set to OutOfStock, and let real customer reviews carry the experience signal. Structu","href":"/ecommerce-seo/product-pages/product-page-seo/","slug":"product-page-seo","meta":"Educational","aliases":["product-page-seo","product page SEO","PDP SEO","product description page","product page optimization","Product Page SEO","ecommerce-seo","product-schema","faceted-navigation","canonicalization"],"pillar":"ecommerce-seo","taxonomy":["ecommerce-seo","product-pages"],"text":"product-page-seo ecommerce-seo site-structure structured-data canonicalization reviews Product pages are your highest-intent pages — and your most technically loaded ones. Get the structured data right (product snippets for pages you can't buy from, merchant listings for pages you can; minimum viable markup is name + image + price + currency, price greater than zero) and you earn rich results and free product listings — but schema does not make the page rank. Write unique copy instead of pasting the manufacturer's, canonical variants to a base URL, keep out-of-stock pages live with availability set to OutOfStock, and let real customer reviews carry the experience signal. Structured data tells Google what changed; it never replaces a good page. What a product page has to do The handful of things that matter most The thing most people get wrong Why product pages are the highest ROI target Product structured data: two distinct classes Minimum viable merchant listing markup Recommended fields that unlock more surfaces Free product listings without a Merchant Center account Handling product variants The manufacturer description problem Faceted navigation and product page URL bloat Customer reviews and E E A T Product image SEO Out of stock and discontinued products Return policy, shipping, and breadcrumb schema Freshness: IndexNow for price and stock changes Internal linking from product pages Where this sits in the cluster AI summary Official documentation Quotes from the source Product page SEO checklist Product schema — cheat sheet The mental models Product page SEO is the practice of optimizing an individual product detail page (PDP) so it ranks in organic search and earns rich results. It blends unique product copy, structured data, variant canonicalization, image SEO, and customer reviews — but the structured data earns rich results and eligibility for free product listings, it doesn't make the page rank. TL;DR — A product page or PDP — product detail page is the page that describes one product so someone can decide to buy it. To get it ranking: write your own description instead of copying the manufacturer's, add structured data so Google can show the price, stock, and star ratings in search, use real product photos with good alt text, and keep genuine customer reviews on the page. Structured data helps you earn those rich looking results — it doesn't make","passages":["TL;DR — A product page or PDP — product detail page is the page that describes one product so someone can decide to buy it.","To get it ranking: write your own description instead of copying the manufacturer's, add structured data so Google can show the price, stock, and star ratings in search, use real product photos with good alt text, and keep genuine customer reviews on the page.","Structured data helps you earn those rich looking results — it doesn't make you rank higher by itself.","What a product page has to do A product page is the highest stakes page on a store.","It's where the searcher with the most buying intent lands — someone typing \"nike pegasus 41 size 10\" is much closer to a purchase than someone reading a blog post.","So the page has two jobs at once: rank for those specific, high intent searches, and convince the person to buy once they arrive.","The good news is that product pages tend to target long tail searches — specific product names, model numbers, \"for X use case\" queries — which are usually less competitive than broad terms.","A well built product page can punch well above its word count."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/ecommerce-seo/product-pages/product-page-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ecommerce-seo/product-pages/product-page-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO Forecasting","desc":"How I forecast organic traffic and revenue to get SEO budget approved — methods, data sources, the broken CTR problem, and scenario ranges instead of guarantees.","snippetText":"SEO forecasting uses historical data to project future organic traffic, conversions, and revenue — mostly so you can get budget approved. Pin the contract first (target, scope, horizon, data cutoff, baseline vs. intervention, owner) before picking a method. There are two methods: statistical/trend-based (Prophet, SARIMA, or Google Sheets FORECAST on your own data) and keyword-based (search volume × CTR × conversion rate for new targets); the best forecasts combine both. Use first-party GSC data for your own site's CTR and third-party tools (Ahrefs, Semrush) for competitors and opportunity sizi","href":"/enterprise-seo/metrics/seo-forecasting/","slug":"seo-forecasting","meta":"Educational","aliases":["seo-forecasting","SEO forecasting","organic traffic forecast","SEO projection","SEO traffic prediction","SEO ROI forecast","forecast organic traffic","SEO Forecasting","enterprise-seo-metrics","seo-okrs","organic-traffic","ai-share-of-voice"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","metrics"],"text":"enterprise-seo metrics forecasting organic-traffic ctr revenue budget SEO forecasting uses historical data to project future organic traffic, conversions, and revenue — mostly so you can get budget approved. Pin the contract first (target, scope, horizon, data cutoff, baseline vs. intervention, owner) before picking a method. There are two methods: statistical/trend-based (Prophet, SARIMA, or Google Sheets FORECAST on your own data) and keyword-based (search volume × CTR × conversion rate for new targets); the best forecasts combine both. Use first-party GSC data for your own site's CTR and third-party tools (Ahrefs, Semrush) for competitors and opportunity sizing. Build the site-specific CTR curve yourself — legacy 30%-at-position-1 benchmarks are broken now that AI Overviews and zero-click results have gutted CTR. Run a sensitivity pass to find which input would flip the decision, and back-test the model at past cutoffs before you trust it. Always present conservative/base/aggressive scenarios with named assumptions — labeled separately from the model's own prediction interval — never a single number, and never a guarantee. Then set a review cadence (monthly's a reasonable default) and rebuild on a trigger: a data change, a structural break, a backtested-error threshold, or a changed decision — not just the calendar. What SEO forecasting is Why anyone bothers The two basic ways to do it The big trap How to present it What forecasting actually is Pin the forecast contract before you model anything The two core methods First party vs. third party data The CTR problem — why legacy benchmarks break forecasts Step by step: how I build one A worked example — one cluster, end to end Stress test the assumptions that can flip the decision Forecasting for enterprise buy in Limitations — say them out loud Keeping it alive AI summary Official documentation Quotes from the source Forecast build checklist The mental models SEO forecasting — cheat sheet A keyword based forecast in Google Sheets A trend forecast from your own history SEO forecasting uses historical data — traffic, click-through rate, rankings, and search volume — to project future organic search performance and its business impact. It's a probabilistic model under defined assumptions, not a guarantee of results. TL;DR — SEO forecasting is using your past data — traffic, rankings, click rates — to estimate","passages":["TL;DR — SEO forecasting is using your past data — traffic, rankings, click rates — to estimate what organic search could bring you in the future, and roughly when.","It's the number you put in front of a boss or a client to justify investing in SEO.","It's an educated estimate, not a promise: nobody can guarantee you a specific amount of traffic.","What SEO forecasting is A forecast answers one question: \"If we invest in SEO now, what should we expect, and when?\" You take historical data — how much organic traffic you've been getting, which keywords you rank for, how often people click — and you use it to project forward.","The important thing to understand up front: a forecast is a best estimate under a set of assumptions , not a guarantee.","The weather forecast says 70% chance of rain; it doesn't promise rain.","Anyone who guarantees you'll hit a specific traffic number is overselling what SEO can do.","\"Trust me, the rankings will come\" doesn't get a budget approved."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/metrics/seo-forecasting/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/seo-forecasting/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO OKRs","desc":"A practical framework for SEO Objectives and Key Results — how to set them, tie them to revenue, cascade them across teams, and the OKR examples I actually use.","snippetText":"SEO OKRs apply Objectives and Key Results to search: a qualitative Objective (where you want to get) paired with 3–5 quantitative, time-bound Key Results (how you'll know you got there). The single rule that matters most: don't set them in a vacuum — roll them up to the business's revenue or pipeline goals, because that's what gets you budget and cross-functional bandwidth. Key Results measure outcomes, not activity. They're stretch goals (hit ~70%, not 100%), reviewed quarterly, and they're not the same thing as KPIs. This is the framework, the examples I actually use, and the mistakes to avo","href":"/enterprise-seo/metrics/seo-okrs/","slug":"seo-okrs","meta":"Educational","aliases":["seo-okrs","SEO OKRs","SEO objectives and key results","SEO goal setting","SEO OKR examples","enterprise SEO goals","enterprise-seo","share-of-voice","seo-metrics"],"pillar":"enterprise-seo","taxonomy":["enterprise-seo","metrics"],"text":"seo-okrs enterprise-seo metrics goal-setting kpis seo-strategy SEO OKRs apply Objectives and Key Results to search: a qualitative Objective (where you want to get) paired with 3–5 quantitative, time-bound Key Results (how you'll know you got there). The single rule that matters most: don't set them in a vacuum — roll them up to the business's revenue or pipeline goals, because that's what gets you budget and cross-functional bandwidth. Key Results measure outcomes, not activity. They're stretch goals (hit ~70%, not 100%), reviewed quarterly, and they're not the same thing as KPIs. This is the framework, the examples I actually use, and the mistakes to avoid. What OKRs are Why SEO needs them OKRs vs. KPIs don't mix them up A few things to get right The framework, briefly The one rule that matters most: don't set OKRs in a vacuum OKRs vs. KPIs vs. metrics How to set SEO OKRs SEO OKR examples Common mistakes Tracking and grading The point of all this AI summary Official documentation Quotes from the source SEO OKR sanity check checklist The mental models SEO OKRs — cheat sheet Tools for setting and tracking SEO OKRs Quarterly SEO OKR operating cycle OKR habits that create activity without outcomes Writing tasks as Key Results Setting SEO goals in isolation Using vanity metrics as the destination SEO OKRs (Objectives and Key Results) are a goal-setting framework for SEO: a qualitative Objective sets the ambition, and 3–5 quantitative, time-bound Key Results measure whether you got there. They work best when they roll up to the company's business goals. TL;DR — OKRs are a way to set goals. An Objective is what you want to achieve \"become the go to organic source for our topic\" . Key Results are the few numbers that prove you got there \"grow organic traffic to /blog/ by 40% this quarter\" . For SEO, the trick is to connect those goals to what the business already cares about — usually revenue — instead of inventing SEO goals nobody asked for. What OKRs are OKR stands for Objectives and Key Results . It's a goal setting framework — the same one Google uses internally — built out of two pieces: An Objective is the goal in plain words. It's qualitative and a little ambitious. It answers \"what do we want to achieve?\" Key Results are the handful of numbers that tell you whether you hit it. They're specific, measurable, and have a deadline. They answer \"how will we know ","passages":["An Objective is what you want to achieve \"become the go to organic source for our topic\" .","Key Results are the few numbers that prove you got there \"grow organic traffic to /blog/ by 40% this quarter\" .","For SEO, the trick is to connect those goals to what the business already cares about — usually revenue — instead of inventing SEO goals nobody asked for.","It's a goal setting framework — the same one Google uses internally — built out of two pieces: An Objective is the goal in plain words.","It answers \"what do we want to achieve?\" Key Results are the handful of numbers that tell you whether you hit it.","They answer \"how will we know we got there?\" You usually pair one Objective with three to five Key Results.","For example: Objective: Increase revenue from organic search for our top products.","Grow organic revenue from the top 20 products by 10% this quarter."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/enterprise-seo/metrics/seo-okrs/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/enterprise-seo/metrics/seo-okrs/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Shopify SEO","desc":"How to do SEO on Shopify — fixed URL routes, duplicate product URLs, robots.txt.liquid customization, hreflang under Shopify Markets, the auto-generated sitemap, and the theme-dependent gap in product schema.","snippetText":"Shopify handles a surprising amount of SEO for you — an auto-generated XML sitemap, a canonical tag on every page, HTTPS on a fast CDN, and optional 301s when you change a URL. In return it locks down the URL structure (/products/, /collections/, /pages/, /blogs/), though robots.txt can be customized on any plan through a robots.txt.liquid template. The one Shopify-specific thing to understand is that every product reachable through a collection gets a duplicate /collections/.../products/... URL — which Shopify canonicalizes back to the clean /products/ URL automatically. hreflang is auto-gene","href":"/technical-seo/platform-seo/ecommerce-platforms/shopify-seo/","slug":"shopify-seo","meta":"Educational","aliases":["shopify-seo","Shopify SEO","Shopify SEO guide","SEO on Shopify","Shopify store SEO","ecommerce-seo","canonicalization","duplicate-content","faceted-navigation"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"shopify-seo ecommerce-seo platforms duplicate-content canonicalization structured-data Shopify handles a surprising amount of SEO for you — an auto-generated XML sitemap, a canonical tag on every page, HTTPS on a fast CDN, and optional 301s when you change a URL. In return it locks down the URL structure (/products/, /collections/, /pages/, /blogs/), though robots.txt can be customized on any plan through a robots.txt.liquid template. The one Shopify-specific thing to understand is that every product reachable through a collection gets a duplicate /collections/.../products/... URL — which Shopify canonicalizes back to the clean /products/ URL automatically. hreflang is auto-generated once Shopify Markets is configured. Product and breadcrumb schema are theme-dependent, not guaranteed. What Shopify gives you for free What you can't change The one Shopify quirk to understand What's actually left for you to do The mental model: a high floor with a low ceiling The fixed URL structure The duplicate product URL — the defining Shopify issue robots.txt: generated by default, customizable with Liquid The auto generated sitemap Structured data is theme dependent, not platform guaranteed International SEO: Shopify Markets and hreflang Collections, facets, and the URL explosion Where Shopify sits versus other platforms Related reading on this site AI summary Official documentation Quotes from the source Shopify SEO checklist The Shopify control framework 1. Is this a platform default or a store owned decision? 2. Is the lever native, theme level, or unavailable on this plan? Shopify SEO — cheat sheet Test yourself: Shopify SEO Find your duplicate collection product URLs Shopify SEO is the practice of optimizing a Shopify store to rank in organic search. Shopify handles a lot for you automatically — canonical tags, an XML sitemap, SSL, a fast CDN — but it also imposes a fixed URL structure (/products/, /collections/, /pages/, /blogs/) and creates a duplicate URL for every product reachable through a collection, which the platform canonicalizes for you. TL;DR — Shopify does a lot of SEO for you automatically — it builds your sitemap, adds canonical tags, runs on HTTPS, and is fast out of the box. The trade off is that you can't change the URL structure, and on regular plans you can customize through a Liquid template, though Shopify cautions against unnecessary changes. T","passages":["TL;DR — Shopify does a lot of SEO for you automatically — it builds your sitemap, adds canonical tags, runs on HTTPS, and is fast out of the box.","The trade off is that you can't change the URL structure, and on regular plans you can customize through a Liquid template, though Shopify cautions against unnecessary changes.","The main Shopify quirk: every product that's inside a collection gets a second, longer URL — but Shopify points search engines to the short, clean one for you, so it mostly sorts itself out.","What Shopify gives you for free When people ask me whether Shopify is \"good for SEO,\" my honest answer is: it's fine, and for most stores the defaults are better than what they'd build themselves.","You don't make it; Shopify keeps it updated as you add products.","Every page gets a tag telling search engines which version of a URL is the \"real\" one.","SSL is included, and your images and pages are served from a content delivery network, so speed is a decent baseline.","When you change a product or page URL, Shopify offers to create a redirect from the old one so you don't lose traffic."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/shopify-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/shopify-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Technical SEO","desc":"A complete guide to technical SEO — a plain-language Beginner's Guide and a systems-level Advanced Guide to crawling, rendering, indexing, and ranking.","snippetText":"Two guides in one. The Beginner's Guide explains technical SEO from scratch — the crawl → index → rank pipeline, the handful of foundations every site needs, how to check your own site, and which myths to ignore. The Advanced Guide goes systems-deep: crawl budget, the rendering decision, canonicalization's ~40 signals, internal linking, Core Web Vitals as three separate problems, ongoing monitoring, migrations, and AI search. The throughline is the one I always come back to — technical SEO is the most important part of SEO until it isn't. It's the foundation that lets content and links rank, n","href":"/technical-seo/","slug":"technical-seo","meta":"Educational","aliases":["technical-seo","technical SEO","technical search engine optimization","technical SEO guide","beginner technical SEO","advanced technical SEO","Technical SEO","crawling","indexing","rendering","migrations"],"pillar":"technical-seo","taxonomy":["technical-seo"],"text":"technical-seo crawling indexing rendering site-migration javascript-seo Two guides in one. The Beginner's Guide explains technical SEO from scratch — the crawl → index → rank pipeline, the handful of foundations every site needs, how to check your own site, and which myths to ignore. The Advanced Guide goes systems-deep: crawl budget, the rendering decision, canonicalization's ~40 signals, internal linking, Core Web Vitals as three separate problems, ongoing monitoring, migrations, and AI search. The throughline is the one I always come back to — technical SEO is the most important part of SEO until it isn't. It's the foundation that lets content and links rank, not a ranking trick of its own. You can't rank a page Google won't index, so the highest-value work is usually the most boring. What technical SEO actually is The pipeline everything runs on Why it's a foundation, not a trick The foundations every site needs How to check your own technical SEO What technical SEO is not Common myths to ignore Technical SEO in the age of AI search Where to go next Technical SEO decides eligibility, not position The pipeline, as gates Who actually does the crawling Crawl budget: when it matters, and when it doesn't robots.txt: crawl control, not index control Canonicalization: a weighted decision, not a command The rendering decision Site architecture and internal linking Core Web Vitals: three problems, not one Structured data: signals for search and AI International, briefly Technical SEO is an ongoing system, not a one time audit Site migrations: the highest stakes event Technical SEO for AI search Where the leverage actually is Technical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. TL;DR — Technical SEO is the behind the scenes work that lets search engines find, read, and understand your pages. It isn't a trick that pushes you up the rankings — it's the foundation that lets your content and links do that. If the technical side is broken, even great pages can't show up. The whole thing collapses to one sentence: you can't rank a page Google won't index. This guide walks you through what to care about, how to check your own site, and what to safely ignore. What technical SEO actually is When people ","passages":["TL;DR — Technical SEO is the behind the scenes work that lets search engines find, read, and understand your pages.","It isn't a trick that pushes you up the rankings — it's the foundation that lets your content and links do that.","If the technical side is broken, even great pages can't show up.","The whole thing collapses to one sentence: you can't rank a page Google won't index.","This guide walks you through what to care about, how to check your own site, and what to safely ignore.","What technical SEO actually is When people first learn SEO, they think about two things: content writing good pages and links getting other sites to point at yours .","Technical SEO is the third leg, and it comes before the other two can matter.","It's everything that decides whether a search engine can reach your page, read it correctly, and file it away in its index."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Translation vs. Localization for SEO","desc":"Translation converts words; localization adapts the whole experience for a market. Here's the difference, why it shapes your international rankings, and where AI fits.","snippetText":"Translation converts your words into another language; localization adapts the whole experience — currency, formats, idioms, local search terms, and trust signals — for the market. Most sites that 'go international' translate and then wonder why they don't rank: they changed the language but not the content people in that market actually search for. Google's current stance is that AI-translated content isn't categorically spam — it's judged on user value — and in 2025 Google even removed its old advice to block auto-translated pages with robots.txt. But if you don't localize, Google may auto-t","href":"/international-seo/localization-and-content/translation-vs-localization/","slug":"translation-vs-localization","meta":"Educational","aliases":["localization","translation vs localization","content localization","SEO localization","machine translation SEO","Localization","multilingual-seo","international-seo","hreflang"],"pillar":"international-seo","taxonomy":["international-seo","localization-and-content"],"text":"localization translation international-seo content-strategy Translation converts your words into another language; localization adapts the whole experience — currency, formats, idioms, local search terms, and trust signals — for the market. Most sites that 'go international' translate and then wonder why they don't rank: they changed the language but not the content people in that market actually search for. Google's current stance is that AI-translated content isn't categorically spam — it's judged on user value — and in 2025 Google even removed its old advice to block auto-translated pages with robots.txt. But if you don't localize, Google may auto-translate your pages onto its own translate.goog subdomain and keep the traffic. The pragmatic path: triage your markets, do real local keyword research, and localize the ones that matter — using MTPE to scale without shipping junk. The one sentence difference What localization changes that translation doesn't Why this matters for search The thing most people get wrong Test yourself: Translation vs. localization Translation is a step. Localization is a system. Search intent diverges by market — so keyword research can't be translated Google's actual stance on AI translation it changed Quality is the gate Google's people keep pointing at Language is not country targeting The traffic threat most people aren't thinking about Machine translation, MTPE, and human translation Local E E A T: authority doesn't travel What \"translation only\" is actually fine for Where this fits AI summary Official documentation Quotes from the source Should you translate, localize, or transcreate? Transcreation vs. localization vs. translation at a glance Localization cheat sheet — what actually changes Localization is adapting content for a specific target market — not just translating the words, but adjusting currency, formats, idioms, cultural references, local search terms, and trust signals so the experience feels native. TL;DR — Translation changes your words into another language. Localization changes the whole experience for a market — currency, dates, idioms, examples, and the actual terms people there search for. Most sites that go global translate and then wonder why they don't rank. The answer is almost always: they translated, but they didn't localize. The one sentence difference Translation asks: \"What does this say in Span","passages":["TL;DR — Translation changes your words into another language.","Localization changes the whole experience for a market — currency, dates, idioms, examples, and the actual terms people there search for.","Most sites that go global translate and then wonder why they don't rank.","The answer is almost always: they translated, but they didn't localize.","The one sentence difference Translation asks: \"What does this say in Spanish?\" Localization asks: \"What should we say to Spanish speaking shoppers in Mexico to actually serve them?\" Translation is a linguistic act — words in, words out, meaning preserved.","Localization is a market act — you adapt everything around the words so the page feels like it was made for that audience in the first place.","What localization changes that translation doesn't A pure translation swaps the language and stops.","Idioms and cultural references — jokes, examples, and analogies that land locally instead of reading like a dubbed movie."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/international-seo/localization-and-content/translation-vs-localization/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/localization-and-content/translation-vs-localization/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"WooCommerce SEO","desc":"How to optimize a WooCommerce store for organic search — what WooCommerce does by default, where it falls short, the duplicate-content risk map (categories, tags, attributes, facets), URL structure including the 10.5 permalink change, product schema, plugins (Yoast vs Rank Math), and Core Web Vitals.","snippetText":"WooCommerce is a free WordPress plugin, not a standalone platform — so you control the whole stack, which means the highest ceiling and the widest surface for misconfiguration. Out of the box it gives you valid-but-minimal product schema, workable URLs, and a pile of archive page types (categories, tags, attributes) that quietly generate duplicate and thin content. The real work is configuration: pick one SEO plugin (Yoast SEO + the paid WooCommerce add-on, or Rank Math), avoid duplicate schema blocks, noindex the low-value archives, keep the /product/ /product-category/ /shop/ bases, and trea","href":"/technical-seo/platform-seo/ecommerce-platforms/woocommerce-seo/","slug":"woocommerce-seo","meta":"Educational","aliases":["woocommerce-seo","WooCommerce SEO","WooCommerce","optimize WooCommerce","WooCommerce store","ecommerce-seo","duplicate-content","product-schema"],"pillar":"technical-seo","taxonomy":["technical-seo","platform-seo","ecommerce-platforms"],"text":"woocommerce ecommerce-seo wordpress product-schema duplicate-content core-web-vitals WooCommerce is a free WordPress plugin, not a standalone platform — so you control the whole stack, which means the highest ceiling and the widest surface for misconfiguration. Out of the box it gives you valid-but-minimal product schema, workable URLs, and a pile of archive page types (categories, tags, attributes) that quietly generate duplicate and thin content. The real work is configuration: pick one SEO plugin (Yoast SEO + the paid WooCommerce add-on, or Rank Math), avoid duplicate schema blocks, noindex the low-value archives, keep the /product/ /product-category/ /shop/ bases, and treat caching as your single biggest Core Web Vitals lever. What WooCommerce actually is What WooCommerce gives you for free The first thing to set up Install one SEO plugin Write real content Hide the pages you don't want in Google Start from the platform reality What WooCommerce does and doesn't do by default The duplicate content risk map URL structure Schema and structured data Plugins: Yoast WooCommerce SEO vs Rank Math Breadcrumbs Core Web Vitals Sitemaps and indexability A few myths to retire AI summary Official documentation Quotes from the source WooCommerce SEO setup checklist The mental models WooCommerce SEO cheat sheet Sample WooCommerce product output WooCommerce SEO mistakes to avoid WooCommerce SEO is optimizing a WooCommerce store — which runs as a free plugin on WordPress, not as a standalone platform — to rank in organic search. Because you control the whole stack (templates, URLs, plugins, server), the ceiling is high and the ways to misconfigure it are many. TL;DR — WooCommerce is a free plugin that turns a WordPress site into an online store — it's not its own platform like Shopify. Out of the box it gets the basics right but leaves a lot for you to configure. The short version: install one SEO plugin Yoast SEO or Rank Math , set your permalinks, write real descriptions for your products and categories, and stop search engines from indexing the thin \"tag\" and \"attribute\" pages WooCommerce creates automatically. What WooCommerce actually is This is the part most beginner guides skip, and it matters. WooCommerce is a WordPress plugin. You install WordPress first, then you add the WooCommerce plugin on top, and that's what gives you a shop, products, a cart, and checkout.","passages":["TL;DR — WooCommerce is a free plugin that turns a WordPress site into an online store — it's not its own platform like Shopify.","Out of the box it gets the basics right but leaves a lot for you to configure.","The short version: install one SEO plugin Yoast SEO or Rank Math , set your permalinks, write real descriptions for your products and categories, and stop search engines from indexing the thin \"tag\" and \"attribute\" pages WooCommerce creates automatically.","What WooCommerce actually is This is the part most beginner guides skip, and it matters.","You install WordPress first, then you add the WooCommerce plugin on top, and that's what gives you a shop, products, a cart, and checkout.","So \"WooCommerce SEO\" is really \"WordPress SEO, for a store.\" Everything you'd do to make a WordPress site rank still applies — WooCommerce just adds the store specific pieces.","That's different from Shopify, where you sign up and everything runs on their servers.","What WooCommerce gives you for free Out of the box, WooCommerce will: Give each product its own page and URL e.g."],"updated":"2026-07-13T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/woocommerce-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/platform-seo/ecommerce-platforms/woocommerce-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"x-default Hreflang","desc":"What hreflang x-default actually is, when to use it, when to skip it, and the myths (it means English, it's required) worth ignoring — with first-party study data.","snippetText":"x-default is the reserved hreflang value that names the page to show when a user's locale matches none of your other hreflang tags. Its original job (2013) was language-selector and auto-redirecting pages; Google's 2023 guidance adds a third valid target — an ordinary page you consider the site's default. It doesn't mean English, and Google says to 'consider' it (especially for selectors/redirects), not that every cluster requires one. There's no documented case where adding it to an existing-language fallback changed rankings. In my study of 374,756 domains, 56.3% of hreflang-using sites were","href":"/international-seo/hreflang/x-default-hreflang/","slug":"x-default-hreflang","meta":"Educational","aliases":["x-default","x-default hreflang","hreflang x-default","hreflang fallback","hreflang","international-seo"],"pillar":"international-seo","taxonomy":["international-seo","hreflang"],"text":"hreflang x-default international-seo technical-seo x-default is the reserved hreflang value that names the page to show when a user's locale matches none of your other hreflang tags. Its original job (2013) was language-selector and auto-redirecting pages; Google's 2023 guidance adds a third valid target — an ordinary page you consider the site's default. It doesn't mean English, and Google says to 'consider' it (especially for selectors/redirects), not that every cluster requires one. There's no documented case where adding it to an existing-language fallback changed rankings. In my study of 374,756 domains, 56.3% of hreflang-using sites were missing x-default — usually fine, describing that study population rather than proving harm. Bing's current guidelines don't mention hreflang at all, though specifics on what Bing uses instead trace to older third-party reporting, not a current Bing statement. The real underrated upside, per Gary Illyes (2023), is that x-default URLs 'may' help with URL discovery on large sites — a possible path, not a guarantee. What x default is The most common use: a language selector When you need it — and when you don't x default mistakes Treating x default as “English” Making x default a launch blocker Pointing x default at an inaccessible redirect Troubleshooting x default The audit tool says x default is missing The English URL appears for unmatched users The fallback page is not discovered Test yourself: x default hreflang The matching hierarchy Where it came from, and what it's actually for The underrated upside: URL discovery The 56.3% number, and why I'm not alarmed by it The contrarian read: does it even do anything? Geo redirects and x default Why your audit tool is wrong sometimes A few more things worth knowing AI summary Official documentation Quotes from the source x default — quick reference x-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\" {/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — is the hreflang value that tells Google which page to show when none of your other language/region versions match the person searching. The classic use is a \"pick your language\" page. It does not mean \"English,\" and most sites don't strictly need it. What","passages":["{/ tool rule claim: hreflang.locale validity/article contract /} TL;DR — is the hreflang value that tells Google which page to show when none of your other language/region versions match the person searching.","It does not mean \"English,\" and most sites don't strictly need it.","What x default is When you run a site in multiple languages or for multiple countries, you use hreflang tags to tell search engines which version belongs to which audience — for U.S.","But what should Google do with someone whose language and country don't match any of those?","It's a reserved hreflang value that points to one fallback URL — the page to serve when nothing else matches.","The most common use: a language selector The original reason x default exists Google introduced it back in 2013 is a language/country selector page — the \"choose your region\" landing page some global brands use.","That page isn't really English or French or anything; it's just a doorway.","So you mark it as the fallback for everyone who doesn't fit a specific bucket: The first two cover U.S."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-25","markdown":"https://patrickstox.com/international-seo/hreflang/x-default-hreflang/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/international-seo/hreflang/x-default-hreflang/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Agentic Search","desc":"Agentic search is AI that autonomously plans, browses, and synthesizes a multi-step research task — not one answer to one query. How it differs from AI search.","snippetText":"Agentic search is AI that autonomously browses, researches, and synthesizes over minutes — not just answers a single query. The key technical gotcha: agentic browsers spin up real Chrome/Edge VMs and can't be blocked via robots.txt.","href":"/ai-search/optimization/agentic-search/","slug":"agentic-search","meta":"Educational","aliases":["agentic-search","agentic search","agentic AI search","AI agent search","deep research AI","Agentic Search","ai-search","ai-crawlers"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"agentic-search ai-search ai-agents deep-research chatgpt-agent Agentic search is AI that autonomously browses, researches, and synthesizes over minutes — not just answers a single query. The key technical gotcha: agentic browsers spin up real Chrome/Edge VMs and can't be blocked via robots.txt. The three layers of search A concrete example Why an SEO should care Agentic search is a third layer, not a replacement How agentic systems actually work How many searches per session The major agentic platforms User agents and the robots.txt gap The key gotcha: agentic browsers are unblockable via robots.txt What content signals matter for agentic AI Why this is worth the effort: conversion quality How to think about it: SEO → GEO → ASO AI summary Official documentation Quotes from the source Agentic search optimization checklist Agentic AI user agent reference — cheat sheet Agentic search mistakes Assuming robots.txt controls every agent Designing only for one shot answers Hiding critical facts behind fragile interactions The Discover, Understand, Act, Verify framework Tools for agent accessible search experiences Test yourself: Agentic search Agentic search is an AI system that autonomously plans, runs, and synthesizes a multi-step research or browsing task — dozens to hundreds of searches and real page reads — instead of returning one answer to a single query. All agentic search is AI search; not all AI search is agentic. TL;DR — Agentic search is AI that does the whole research job for someone, not just answers one question. Instead of a quick reply, it goes off and runs dozens of searches, reads the actual pages, and comes back with a written up answer — sometimes minutes later. Think ChatGPT giving you a fast answer vs. ChatGPT Deep Research disappearing for ten minutes and returning a report. For you, the practical thing to know: some of these agents browse as a real Chrome browser, so can't stop them. The three layers of search \"Agentic search\" is an evolving product pattern rather than a single standardized ranking architecture. Documented systems may browse, synthesize, and take multi step actions, but behavior varies by product and release. It helps to think of search as having grown three layers, one on top of the next: 1. Traditional search. You type a query, Google hands back a list of links, and you read them and decide. The human does the work. 2. AI ","passages":["TL;DR — Agentic search is AI that does the whole research job for someone, not just answers one question.","Instead of a quick reply, it goes off and runs dozens of searches, reads the actual pages, and comes back with a written up answer — sometimes minutes later.","ChatGPT Deep Research disappearing for ten minutes and returning a report.","For you, the practical thing to know: some of these agents browse as a real Chrome browser, so can't stop them.","The three layers of search \"Agentic search\" is an evolving product pattern rather than a single standardized ranking architecture.","Documented systems may browse, synthesize, and take multi step actions, but behavior varies by product and release.","It helps to think of search as having grown three layers, one on top of the next: 1.","You type a query, Google hands back a list of links, and you read them and decide."],"updated":"2026-07-15T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/optimization/agentic-search/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/agentic-search/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Crawlers","desc":"The three kinds of AI crawler — training bots, AI-search indexers, and user-triggered fetchers — the major named ones, and how to control each without hurting SEO.","snippetText":"AI crawlers come in three kinds, and conflating them is the #1 mistake: (1) training/model-improvement bots such as GPTBot, ClaudeBot, and CCBot; (2) AI-search indexers such as OAI-SearchBot, PerplexityBot, and Applebot; and (3) user-triggered fetchers such as ChatGPT-User, Perplexity-User, and Claude-User. Controls are provider- and agent-specific: blocking GPTBot does not block OAI-SearchBot, and OAI-AdsBot has a separate ads scope. Google-Extended and Applebot-Extended are product/control tokens, not independent crawlers. Google-Extended covers Gemini/Vertex model improvement and grounding ","href":"/technical-seo/how-search-works/crawling/crawler/ai-crawlers/","slug":"ai-crawlers","meta":"Educational","aliases":["ai-crawlers","ai crawlers","ai bots","ai crawler","ai bot","llm crawler","training crawler","AI Crawlers","crawler","user-agent","googlebot","bingbot","robots-txt"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling","crawler"],"text":"ai-crawlers crawling technical-seo gptbot llms-txt robots-txt ai-search AI crawlers come in three kinds, and conflating them is the #1 mistake: (1) training/model-improvement bots such as GPTBot, ClaudeBot, and CCBot; (2) AI-search indexers such as OAI-SearchBot, PerplexityBot, and Applebot; and (3) user-triggered fetchers such as ChatGPT-User, Perplexity-User, and Claude-User. Controls are provider- and agent-specific: blocking GPTBot does not block OAI-SearchBot, and OAI-AdsBot has a separate ads scope. Google-Extended and Applebot-Extended are product/control tokens, not independent crawlers. Google-Extended covers Gemini/Vertex model improvement and grounding but not Google Search inclusion, ranking, AI Overviews, or AI Mode; Applebot-Extended controls Apple foundation-model use without removing pages from Apple search. llms.txt remains a proposal, not a broadly adopted control standard. What AI crawlers are Why the difference matters The names you'll see in your logs The three categories — the spine of this whole topic The \"token, not bot\" trap Google Extended and Applebot Extended The major operators, bot by bot Do AI bots actually obey robots.txt? How to control AI crawlers The myth that costs you traffic: training ≠ AI search Why publishers block at all: the social contract AI summary Official documentation Quotes from the source The master AI crawler table How to audit and decide what to allow The mistake that costs you AI search traffic Confusing identity verification with access policy Treating llms.txt as an AI search lever Trusting a user agent string without verifying it The decision: allow, block, or monitor Should I block this AI bot? Quarterly AI bot robots.txt audit Confirm your robots.txt edit did what you meant Test 1: AI search bots still allowed AI crawlers are bots from AI companies that fetch web pages to train language models, build AI-search indexes, or answer live user questions. They come in three categories, each with its own user-agent tokens and its own robots.txt controls. {/ tool rule claim: robots.access policy/article contract /} OpenAI publishes separate controls for its training, search, and user action bots. Anthropic likewise documents distinct training, search, and user request agents. TL;DR — \"AI crawlers\" isn't one thing — it's three. Some bots scrape your site to train AI models like GPTBot and ClaudeBot . Some buil","passages":["{/ tool rule claim: robots.access policy/article contract /} OpenAI publishes separate controls for its training, search, and user action bots.","Anthropic likewise documents distinct training, search, and user request agents.","Some bots scrape your site to train AI models like GPTBot and ClaudeBot .","Some build an index so AI search can cite you like OAI SearchBot and PerplexityBot .","And some fetch a page live because a person just asked a question like ChatGPT User .","Each one has its own name in your , so you can allow or block them separately.","Blocking the training bots won't hurt your Google rankings — blocking the AI search bots can hide you from AI answers.","What AI crawlers are You already know about search crawlers — a crawler like Googlebot or Bingbot that visits your pages so they can show up in search."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/ai-crawlers/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/ai-crawlers/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Hallucination Monitoring","desc":"How to detect when AI tools fabricate or misstate facts about your brand — fabricated URLs, wrong pricing, invented quotes — and the workflow to catch and fix it.","snippetText":"AI hallucination monitoring is catching AI tools when they make things up about your brand — wrong prices, invented quotes, fabricated URLs — and fixing it. AI bots read your content at massive scale (Claude crawls ~73,000 pages for every click it sends) but cite very little, so every wrong citation is amplified. My two Ahrefs field workflows catch different evidence: Best by Links → 404 finds fabricated URLs that accumulated links, while Web Analytics → Possible 404s filtered to the AI Search channel finds candidate URLs receiving AI-referred visits right now and lets you prioritize them by s","href":"/ai-search/measurement-and-reporting/ai-hallucination-monitoring/","slug":"ai-hallucination-monitoring","meta":"Educational","aliases":["ai-hallucination-monitoring","AI hallucination monitoring","brand hallucinations","AI fabricated URLs","AI brand monitoring","AI Hallucination Monitoring","llm-visibility","ai-share-of-voice","measurement-and-reporting"],"pillar":"ai-search","taxonomy":["ai-search","measurement-and-reporting"],"text":"ai-search hallucinations brand-monitoring ai-visibility measurement AI hallucination monitoring is catching AI tools when they make things up about your brand — wrong prices, invented quotes, fabricated URLs — and fixing it. AI bots read your content at massive scale (Claude crawls ~73,000 pages for every click it sends) but cite very little, so every wrong citation is amplified. My two Ahrefs field workflows catch different evidence: Best by Links → 404 finds fabricated URLs that accumulated links, while Web Analytics → Possible 404s filtered to the AI Search channel finds candidate URLs receiving AI-referred visits right now and lets you prioritize them by sessions. Validate every candidate before acting. Pair those passes with monthly manual prompt-testing and passive monitoring. When you find a hallucination, fix your own content first — platform feedback is slow and probabilistic. What \"hallucination\" means here Why it matters How to start monitoring the simple version What to do when you find a wrong answer Why this is a different problem than reputation monitoring The six kinds of brand hallucination to watch for The Ahrefs Best by Links + 404 technique my angle The traffic companion: Possible 404 × AI Search Manual prompt testing Passive and automated monitoring What to do when you confirm a hallucination Where this sits AI summary Official documentation Quotes from the source Brand hallucination monitoring checklist The Ahrefs Best by Links + 404 workflow, step by step What should I do with a suspected brand hallucination? Response playbook for a monitored hallucination Hallucination monitoring triage Test yourself: AI Hallucination Monitoring Resources worth your time Stats worth citing AI hallucination monitoring is the practice of systematically detecting, documenting, and fixing instances where AI search tools and chatbots fabricate or misrepresent facts about your brand — wrong pricing, invented quotes, made-up URLs, and the like. NIST recommends measuring and monitoring generative AI risks, including confident false output. OpenAI likewise recommends task specific evals and continuous evaluation instead of anecdotal spot checks. TL;DR — AI tools sometimes say things about your brand that aren't true — wrong price, wrong founder, a link to a page that doesn't exist. AI hallucination monitoring is the habit of checking what the AI tools are sayi","passages":["NIST recommends measuring and monitoring generative AI risks, including confident false output.","OpenAI likewise recommends task specific evals and continuous evaluation instead of anecdotal spot checks.","TL;DR — AI tools sometimes say things about your brand that aren't true — wrong price, wrong founder, a link to a page that doesn't exist.","AI hallucination monitoring is the habit of checking what the AI tools are saying about you and fixing the wrong stuff.","The easiest way to start: ask ChatGPT, Gemini, Copilot, Perplexity, and Claude a few questions about your brand once a month and write down anything they get wrong.","What \"hallucination\" means here In AI, a hallucination is when the tool states something confidently that simply isn't true.","If you want the full why this happens explanation, that lives in the separate AI Hallucinations /ai search/how search works/ai hallucinations/ article.","This page is about catching the ones about your brand and fixing them."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-hallucination-monitoring/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-hallucination-monitoring/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Hallucinations","desc":"Why LLMs confidently make things up, why grounding reduces but doesn't fix it, and what hallucinated URLs and brand errors mean for your SEO.","snippetText":"An AI hallucination is when a language model states something confidently that's factually wrong, fabricated, or unsupported — invented citations, made-up URLs, wrong facts about your brand. It's not a bug; it's a side effect of next-token prediction, which optimizes for plausible-sounding text, not truth. Grounding and RAG cut hallucination a lot (73–86% in some benchmarks) but the best grounded models still fail ~10–15% of the time, and bigger models can be more confidently wrong, not less. For SEO it shows up three ways: AI assistants send users to 404s ~2.87x more than Google (and 3.6% of ","href":"/ai-search/how-search-works/ai-hallucinations/","slug":"ai-hallucinations","meta":"Educational","aliases":["ai-hallucinations","AI hallucinations","AI hallucination","hallucination","LLM hallucination","AI confabulation","hallucinated URLs","AI Hallucinations","grounding","rag","knowledge-cutoff"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"ai-hallucinations ai-search llm grounding rag brand-reputation geo An AI hallucination is when a language model states something confidently that's factually wrong, fabricated, or unsupported — invented citations, made-up URLs, wrong facts about your brand. It's not a bug; it's a side effect of next-token prediction, which optimizes for plausible-sounding text, not truth. Grounding and RAG cut hallucination a lot (73–86% in some benchmarks) but the best grounded models still fail ~10–15% of the time, and bigger models can be more confidently wrong, not less. For SEO it shows up three ways: AI assistants send users to 404s ~2.87x more than Google (and 3.6% of Ahrefs' AI traffic went to pages that don't exist); AI answers can state wrong facts about your brand to a prospect before they ever reach you; and AI content you publish unverified can hallucinate and feed the next model. The fixes are tactical — redirect hallucinated URLs, monitor what AI says about you, and publish clear, verifiable, entity-rich content AI can ground on. What an AI hallucination is The two kinds that hit your website What you can actually do What hallucination actually is Why it happens — the mechanism The types worth keeping straight Reading hallucination claims correctly What the research shows Does grounding RAG solve it? No — it reduces it The SEO impact — measurable, and addressable What to actually do AI summary Official documentation Quotes from the source Hallucination types — cheat sheet How to reduce hallucination — the playbook Routine hallucination review Incident playbook: an AI answer states a harmful falsehood Prompt: fact check an AI answer against supplied evidence Prompt: triage fabricated URLs DevTools Console: extract visible citations from an answer page Shell: check a list of suspected fabricated URLs Regex: flag claim shaped numbers for review Tools for investigating hallucinations An AI hallucination is when a large language model generates output that is confidently stated but factually wrong, made up, or unsupported by its source. It's a side effect of next-token prediction — not a bug that can be fully eliminated. Research has shown that language models can repeat common misconceptions rather than reliably correct them. NIST calls confidently presented false or erroneous model content “confabulation.” TL;DR — An AI hallucination is when a chatbot says someth","passages":["Research has shown that language models can repeat common misconceptions rather than reliably correct them.","NIST calls confidently presented false or erroneous model content “confabulation.” TL;DR — An AI hallucination is when a chatbot says something that sounds right but is just wrong — a made up fact, a fake source, or a link to a page that doesn't exist.","In an ungrounded response, the model predicts likely sounding words rather than checking a source.","Grounding giving the model retrieved sources can help but doesn't fully fix it.","For your website, the two things to watch are AI pointing people at URLs you never made, and AI getting facts about your brand wrong.","What an AI hallucination is An ungrounded language model response predicts likely continuations from learned patterns rather than verifying each statement against a source.","Search and retrieval tools can add current evidence, but they do not make synthesis error proof.","When a generated statement sounds confident but is false, that is commonly called a hallucination."],"updated":"2026-07-21T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/ai-hallucinations/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/ai-hallucinations/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Search","desc":"What AI search is and how it differs from traditional search — LLMs and RAG synthesize a cited answer from many sources instead of returning a ranked list of links.","snippetText":"AI search uses large language models and retrieval-augmented generation (RAG) to read many sources and write one synthesized, cited answer — instead of returning a ranked list of links — and it's reshaping how people find information without (yet) replacing traditional search, which is why SEOs need to understand who's winning, how much traffic it actually sends, and how to earn citations.","href":"/ai-search/","slug":"ai-search","meta":"Educational","aliases":["ai-search","AI search","AI search engines","generative search","AI-powered search","AI Search","crawling","ai-crawlers","ai-overviews","indexing"],"pillar":"ai-search","taxonomy":["ai-search"],"text":"ai-search chatgpt-search perplexity google-ai-overviews ai-overviews generative-ai AI search uses large language models and retrieval-augmented generation (RAG) to read many sources and write one synthesized, cited answer — instead of returning a ranked list of links — and it's reshaping how people find information without (yet) replacing traditional search, which is why SEOs need to understand who's winning, how much traffic it actually sends, and how to earn citations. What AI search is How it's different from regular search Why you should care even though it's small What AI search actually is How AI search works under the hood The major AI search engines Market share — who's actually winning How much traffic does AI search actually send? Data sources and licensing deals The strongest optimization lever isn't on page SEO Where to go next AI summary Official documentation Quotes from the source AI search platforms — cheat sheet Replacing the search strategy with an AI only strategy Calling every chatbot response \"search\" Optimizing for a secret AI ranking checklist Counting a mention, citation, and click as the same outcome The RACE framework for AI search Resources worth your time Stats worth citing AI search uses large language models and retrieval-augmented generation (RAG) to synthesize an answer from multiple sources rather than returning a ranked list of links. Examples include Google AI Overviews, ChatGPT Search, and Perplexity. OpenAI's web search tooling can look up current information and return cited answers. Google's AI search features may broaden retrieval by running related searches across subtopics. TL;DR — AI search uses chatbots and AI features ChatGPT, Perplexity, Google's AI Overviews to write you an answer instead of handing you a list of blue links. It reads a bunch of web pages and synthesizes them into one response, usually with a few citations. It's growing fast, but Google still sends far more traffic than every AI tool combined — so this is a new channel to understand, not a reason to panic. What AI search is For about 25 years, search worked one way: you type a query, the engine hands you a ranked list of links, and you click one. AI search changes the last step. Instead of a list of links, you get a written answer — generated by an AI that read several pages and stitched their information together. You're already seeing it in a f","passages":["OpenAI's web search tooling can look up current information and return cited answers.","Google's AI search features may broaden retrieval by running related searches across subtopics.","TL;DR — AI search uses chatbots and AI features ChatGPT, Perplexity, Google's AI Overviews to write you an answer instead of handing you a list of blue links.","It reads a bunch of web pages and synthesizes them into one response, usually with a few citations.","It's growing fast, but Google still sends far more traffic than every AI tool combined — so this is a new channel to understand, not a reason to panic.","What AI search is For about 25 years, search worked one way: you type a query, the engine hands you a ranked list of links, and you click one.","Instead of a list of links, you get a written answer — generated by an AI that read several pages and stitched their information together.","You're already seeing it in a few places: Google AI Overviews — the AI written summary box at the top of many Google results, with a few cited links off to the side."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Share of Voice (SoV)","desc":"What AI Share of Voice is, how to calculate it, how to build a prompt pool that actually measures something, the benchmarks — and why SoV alone is a vanity metric.","snippetText":"AI Share of Voice measures how often and how prominently your brand shows up in AI answers (ChatGPT, Gemini, Perplexity, Copilot, AI Overviews) versus competitors, across a defined prompt pool: mentions ÷ total responses × 100. It's a different animal from traditional SoV — branded web mentions (0.664 correlation) drive it far more than keyword optimization or Domain Rating (0.326). It's volatile (40–60% of citations churn monthly), varies massively by platform (35% in Gemini vs. near-zero in ChatGPT for the same brand), and the prompt pool you measure against IS the measurement. Build 100–200","href":"/ai-search/measurement-and-reporting/ai-share-of-voice/","slug":"ai-share-of-voice","meta":"Educational","aliases":["ai-share-of-voice","AI share of voice","AI SoV","LLM share of voice","brand visibility AI","AI brand mentions","AI Share of Voice","llm-visibility","measurement-and-reporting","ai-traffic-attribution"],"pillar":"ai-search","taxonomy":["ai-search","measurement-and-reporting"],"text":"ai-search share-of-voice llm-visibility brand-monitoring competitive-analysis AI Share of Voice measures how often and how prominently your brand shows up in AI answers (ChatGPT, Gemini, Perplexity, Copilot, AI Overviews) versus competitors, across a defined prompt pool: mentions ÷ total responses × 100. It's a different animal from traditional SoV — branded web mentions (0.664 correlation) drive it far more than keyword optimization or Domain Rating (0.326). It's volatile (40–60% of citations churn monthly), varies massively by platform (35% in Gemini vs. near-zero in ChatGPT for the same brand), and the prompt pool you measure against IS the measurement. Build 100–200 prompts minimum from real buyer language, track 3+ platforms over a 12-week-plus window — and never report SoV alone, because without a line to pipeline it's a vanity metric. What AI Share of Voice is Mentions vs. citations Why it matters now The one thing beginners get wrong What AI Share of Voice actually measures How AI SoV differs from traditional Share of Voice What actually drives AI Share of Voice The prompt pool is the measurement Platform variance is real and large Benchmarks It's volatile by nature The caveat that matters: SoV alone is a vanity metric Where to go next AI summary Official documentation Quotes worth keeping Build your prompt pool checklist The AI SoV methodology AI SoV cheat sheet Changing the prompt pool and calling the result growth Combining platforms into one unexplained score Treating mentions, citations, prominence, and sentiment as interchangeable Reporting share of voice without business context Prompt: audit an AI SoV prompt pool AI Share of Voice (SoV) measures how often and how prominently a brand appears in AI-generated responses relative to competitors, across a defined pool of relevant prompts. It's a visibility signal, not a traffic or revenue metric. TL;DR — AI Share of Voice is how much of the AI answer conversation your brand owns. You ask a bunch of AI tools ChatGPT, Gemini, Perplexity, and so on the questions your customers ask, then count how often your brand gets named or linked versus your competitors. More mentions = higher share. It tells you whether AI knows you exist — not whether anyone clicked. What AI Share of Voice is AI Share of Voice is a practitioner defined measurement, not a standardized metric published by model providers. Results ","passages":["TL;DR — AI Share of Voice is how much of the AI answer conversation your brand owns.","You ask a bunch of AI tools ChatGPT, Gemini, Perplexity, and so on the questions your customers ask, then count how often your brand gets named or linked versus your competitors.","It tells you whether AI knows you exist — not whether anyone clicked.","What AI Share of Voice is AI Share of Voice is a practitioner defined measurement, not a standardized metric published by model providers.","Results depend on the prompt set, sampling time, model, locale, and whether mentions or citations are counted.","When someone asks ChatGPT \"what's the best project management tool for a small team?\", the answer names a handful of brands.","AI Share of Voice SoV is a way to measure how often your brand is one of those named — across a whole set of questions, compared to your competitors.","The math is simple: AI SoV = your brand's mentions ÷ total relevant responses × 100 If you run 1,500 questions across AI tools and your brand comes up in 300 of the answers, that's a 20% AI SoV."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-share-of-voice/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-share-of-voice/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Traffic Attribution","desc":"Why most AI traffic hides as Direct in GA4, which AI tools pass referrers, GA4's new AI Assistant channel, and how to set up custom tracking that actually works.","snippetText":"Most AI traffic doesn't show up as AI traffic. AI tools frequently strip the referrer header, so 35–70% of AI-sourced visits land in GA4 as Direct with no source. GA4's native AI Assistant channel (May 2026) and a custom channel group catch the referred portion — but neither sees the dark sessions, and Google's AI Overviews and AI Mode clicks are permanently merged into regular Organic Search. The data you can see is the floor, not the ceiling. Track what you can, watch your Direct-traffic baseline, and pay attention to conversion quality — AI traffic converts far above average, so a small vis","href":"/ai-search/measurement-and-reporting/ai-traffic-attribution/","slug":"ai-traffic-attribution","meta":"Educational","aliases":["ai-traffic-attribution","AI traffic attribution","AI traffic GA4","ChatGPT referral traffic","dark traffic","AI search analytics","AI Traffic Attribution","llm-visibility","measurement-and-reporting","ai-share-of-voice"],"pillar":"ai-search","taxonomy":["ai-search","measurement-and-reporting"],"text":"ai-search analytics traffic-attribution ga4 dark-traffic Most AI traffic doesn't show up as AI traffic. AI tools frequently strip the referrer header, so 35–70% of AI-sourced visits land in GA4 as Direct with no source. GA4's native AI Assistant channel (May 2026) and a custom channel group catch the referred portion — but neither sees the dark sessions, and Google's AI Overviews and AI Mode clicks are permanently merged into regular Organic Search. The data you can see is the floor, not the ceiling. Track what you can, watch your Direct-traffic baseline, and pay attention to conversion quality — AI traffic converts far above average, so a small visible share can drive outsized results. What AI traffic attribution means Why so much AI traffic hides Why it matters even if the number looks tiny What you can actually do Why AI traffic is harder to attribute than anything else The dark traffic problem Which AI tools pass referrers and which don't How GA4 classifies AI traffic The native AI Assistant channel May 13, 2026 Before May 2026 Custom channel groups Why AI traffic totals differ across analytics tools The Google AI Overviews gap Interpreting the data: floor, not ceiling What to actually do AI summary Official documentation Quotes from the source AI traffic tracking setup checklist The GA4 custom channel group regex How to add it in GA4 and the one rule that matters How should this AI influenced visit be classified? Example: visible AI referral Example: direct visit after an AI answer AI traffic attribution is the practice of correctly identifying and measuring website visits that come from AI tools — ChatGPT, Perplexity, Gemini, Claude, AI Overviews, and AI browsers. It's hard because many of those tools strip the referrer header, so the visits land in your analytics as Direct traffic with no source. GA4 uses source and medium dimensions to describe where a session came from when that information is observable. Campaign parameters can make links you control easier to attribute. TL;DR — AI tools like ChatGPT and Perplexity send you traffic, but a lot of it shows up in Google Analytics as Direct — as if people typed your URL in by hand — instead of as AI traffic. That's because many AI tools don't tell your site where the visitor came from. So the AI traffic you can see is the minimum , not the real total. What AI traffic attribution means When someone clic","passages":["GA4 uses source and medium dimensions to describe where a session came from when that information is observable.","Campaign parameters can make links you control easier to attribute.","TL;DR — AI tools like ChatGPT and Perplexity send you traffic, but a lot of it shows up in Google Analytics as Direct — as if people typed your URL in by hand — instead of as AI traffic.","That's because many AI tools don't tell your site where the visitor came from.","So the AI traffic you can see is the minimum , not the real total.","What AI traffic attribution means When someone clicks a link, their browser usually tells the destination site where they came from.","That little hand off is called the referrer , and it's how analytics tools like GA4 know to label a visit as \"came from Google\" or \"came from Facebook.\" AI traffic attribution is just the job of correctly counting visits that came from AI tools — ChatGPT, Perplexity, Gemini, Claude, Copilot, and Google's AI Overviews.","The trouble is that a lot of those tools don't pass the referrer along."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-traffic-attribution/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/ai-traffic-attribution/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Answer Engine Optimization (AEO)","desc":"What AEO is, where it came from (voice search, 2018), how it evolved for AI search, how it differs from GEO and SEO, and the tactics that actually work for being the answer.","snippetText":"AEO (coined 2018 for voice search) evolved to cover AI search — the goal is to BE the answer, not just rank. Google says it's still SEO; Patrick's research shows data studies and comparison content outperform standard posts in AI answers.","href":"/ai-search/optimization/answer-engine-optimization/","slug":"answer-engine-optimization","meta":"Educational","aliases":["answer-engine-optimization","AEO","answer engine optimization","answer engines","Answer Engine Optimization (AEO)","ai-search-optimization","generative-engine-optimization"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"aeo answer-engine-optimization ai-search-optimization featured-snippets voice-search entities keyword-research content-strategy AEO (coined 2018 for voice search) evolved to cover AI search — the goal is to BE the answer, not just rank. Google says it's still SEO; Patrick's research shows data studies and comparison content outperform standard posts in AI answers. What \"answer engines\" are Where AEO came from How to start doing it The thing most people get wrong AEO is older than the AI hype Three mechanisms, one umbrella term AEO vs GEO vs SEO What Google actually says The tactics that work Schema for AEO Bottom line AI summary Official documentation Quotes from the source AEO checklist AEO vs SEO vs GEO — cheat sheet AEO tactics that miss the answer Writing for a fictional universal answer engine format Treating schema as a citation guarantee Publishing thin question and answer fragments at scale The Question, Answer, Evidence, Entity framework Tools for building answer ready content Test yourself: Answer engine optimization Resources worth your time Answer Engine Optimization (AEO) is the practice of structuring content so engines deliver it as a direct answer — featured snippets, voice assistants, and AI search — rather than just a ranked link. Coined for voice search in 2018 and revived for the LLM era. Google's position is that it's still SEO. Structured data must describe visible content, and valid markup only creates eligibility rather than guaranteeing a Google result. Some answer systems instead retrieve current web information directly and cite it. TL;DR — Answer Engine Optimization AEO is about structuring your content so a machine can lift it out and say it back as the answer — in a featured snippet, out of a smart speaker, or inside an AI Overview or ChatGPT reply. The goal isn't just to rank near the answer; it's to be the answer. The term has been around since 2018, and Google's plain take is that it's still SEO. What \"answer engines\" are A traditional search engine hands you a list of links and lets you do the reading. An answer engine does the reading for you and gives you one answer back. You've already used several of them: Featured snippets — the boxed answer Google pulls to the top of the results. Voice assistants — ask Siri, Alexa, or Google a question and you get one spoken answer, no link list. AI search — Google AI Overviews, ChatGP","passages":["Structured data must describe visible content, and valid markup only creates eligibility rather than guaranteeing a Google result.","Some answer systems instead retrieve current web information directly and cite it.","TL;DR — Answer Engine Optimization AEO is about structuring your content so a machine can lift it out and say it back as the answer — in a featured snippet, out of a smart speaker, or inside an AI Overview or ChatGPT reply.","The goal isn't just to rank near the answer; it's to be the answer.","The term has been around since 2018, and Google's plain take is that it's still SEO.","What \"answer engines\" are A traditional search engine hands you a list of links and lets you do the reading.","An answer engine does the reading for you and gives you one answer back.","You've already used several of them: Featured snippets — the boxed answer Google pulls to the top of the results."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/optimization/answer-engine-optimization/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/answer-engine-optimization/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Bingbot","desc":"What Bingbot is, what it powers beyond Bing, how to verify it with reverse DNS, and how to control its crawl with robots.txt, Crawl Control, and IndexNow.","snippetText":"Bingbot is Microsoft Bing's web crawler — the bot that discovers, fetches, and renders pages for the Bing index. Its robots.txt token is bingbot, and since it moved to the Chromium-based Edge engine it's evergreen and renders modern JavaScript. The point most SEOs miss: that same index powers Yahoo, DuckDuckGo, Ecosia, and Copilot, so blocking bingbot costs you far more than Bing's small market share. Verify it by two-step reverse DNS (user-agent strings are spoofable), not by the published IP list. Control it with robots.txt, Crawl Control in Bing Webmaster Tools, and IndexNow — Bing's push-d","href":"/technical-seo/how-search-works/crawling/crawler/bingbot/","slug":"bingbot","meta":"Educational","aliases":["bingbot","bing crawler","bing bot","microsoft bingbot","Bingbot","crawler","googlebot","user-agent","crawling","indexnow"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling","crawler"],"text":"bingbot crawling technical-seo crawler indexnow bing Bingbot is Microsoft Bing's web crawler — the bot that discovers, fetches, and renders pages for the Bing index. Its robots.txt token is bingbot, and since it moved to the Chromium-based Edge engine it's evergreen and renders modern JavaScript. The point most SEOs miss: that same index powers Yahoo, DuckDuckGo, Ecosia, and Copilot, so blocking bingbot costs you far more than Bing's small market share. Verify it by two-step reverse DNS (user-agent strings are spoofable), not by the published IP list. Control it with robots.txt, Crawl Control in Bing Webmaster Tools, and IndexNow — Bing's push-don't-wait protocol. What Bingbot is Why it matters more than you'd think Can Bingbot read JavaScript? How to help or stop Bingbot From MSNBot to Bingbot Bingbot powers more than Bing The user agent string and why it's evergreen Verifying Bingbot — the user agent isn't enough How Bingbot discovers and crawls Other Microsoft crawlers Controlling Bingbot's crawl Bingbot, Copilot, and the AI opt out gap AI summary Official documentation Quotes from the source What should I do about Bingbot? Bingbot & Microsoft crawlers — cheat sheet Verify a bot is really Bingbot Bingbot readiness checklist The mental models The standing KPI: total Bing ecosystem referral traffic Segment referral traffic by the full Bing index family Tools for verifying and controlling Bingbot Resources worth your time Bingbot is Microsoft Bing's primary web crawler — the bot that discovers, fetches, and renders pages to build the Bing index. That index also powers Yahoo, DuckDuckGo, Ecosia, and Microsoft Copilot, so Bingbot's reach is far wider than Bing's own search-market share. TL;DR — Bingbot is Microsoft Bing's crawler — the bot that visits your pages, downloads them, and adds them to the Bing search index. It works a lot like Googlebot. Blocking it prevents Bing from crawling the affected URLs and can also affect products or partners that use Bing's search infrastructure, so verify the impact against current Microsoft documentation. What Bingbot is When you see in your server logs, that's Microsoft's crawler visiting your site. Just like Googlebot does for Google, Bingbot follows links, reads sitemaps, downloads your pages, and hands them off to be added to Bing's index — the database Bing pulls from when someone searches. It launched back on Octob","passages":["TL;DR — Bingbot is Microsoft Bing's crawler — the bot that visits your pages, downloads them, and adds them to the Bing search index.","Blocking it prevents Bing from crawling the affected URLs and can also affect products or partners that use Bing's search infrastructure, so verify the impact against current Microsoft documentation.","What Bingbot is When you see in your server logs, that's Microsoft's crawler visiting your site.","Just like Googlebot does for Google, Bingbot follows links, reads sitemaps, downloads your pages, and hands them off to be added to Bing's index — the database Bing pulls from when someone searches.","It launched back on October 1, 2010, taking over from an older bot called MSNBot.","Why it matters more than you'd think Here's the part that surprises people.","Bing's slice of the search market is small, so it's tempting to ignore Bingbot entirely.","It also powers: Yahoo Search DuckDuckGo Ecosia Microsoft Edge's default search Microsoft Copilot So if you block Bingbot, you're not just disappearing from Bing — you're cutting yourself off from all of those at once."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/bingbot/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/bingbot/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Chunking","desc":"How AI systems split your pages into passages to embed, index, and retrieve — chunk size, overlap, semantic vs. fixed-size, and how it ties to Google's passage ranking.","snippetText":"Chunking is the preprocessing step where AI systems split a document into smaller passages before embedding and retrieving them. The chunk — not the page — is the unit of retrieval in AI search, so being indexed isn't enough; you need a passage that answers a specific query in isolation. Chunk size is a trade-off (small = precise but thin on context; large = context-rich but noisy) with no size that guarantees a citation, overlap prevents boundary loss but duplicates tokens, contextual prefixes can disambiguate a chunk but mislead retrieval if they're stale, and 'Lost in the Middle' — a positi","href":"/ai-search/how-search-works/chunking/","slug":"chunking","meta":"Educational","aliases":["chunking","passage retrieval","text chunking","document chunking","content chunking","chunk size","semantic chunking","Chunking","embeddings","rag"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"chunking ai-search passage-retrieval rag embeddings passage-ranking Chunking is the preprocessing step where AI systems split a document into smaller passages before embedding and retrieving them. The chunk — not the page — is the unit of retrieval in AI search, so being indexed isn't enough; you need a passage that answers a specific query in isolation. Chunk size is a trade-off (small = precise but thin on context; large = context-rich but noisy) with no size that guarantees a citation, overlap prevents boundary loss but duplicates tokens, contextual prefixes can disambiguate a chunk but mislead retrieval if they're stale, and 'Lost in the Middle' — a position effect measured on specific 2023 models and tasks, not every model — means LLMs often use the start and end of context best. You can't optimize for a specific chunk size — Google explicitly says you don't need to chop content into pieces — but answer-first, self-contained sections under a clear heading hierarchy chunk and cite cleanly. It's the same sub-document principle as Google's passage ranking, applied to RAG. What chunking is Why they bother What this means for you What chunking is, and why it exists How chunking works, end to end Chunking strategies Chunk size and overlap — the core trade off Chunk context: what prefixes can and can't fix Google's passage ranking — the SEO ancestor of chunking \"Lost in the Middle\" — where your answer sits matters The practical constraints you can't see What \"chunk optimization\" actually is and the Google caveat Passage ranking vs. RAG chunking — side by side Where this sits in the pipeline AI summary Official documentation Quotes from the source Chunking — cheat sheet The mental models Chunk ready content checklist Writing one giant section for several intents Fragmenting every sentence into its own heading Opening with a contextless back reference Duplicating text to force overlap Chunking is splitting a document into smaller passages so AI systems can embed, index, and retrieve the single most relevant piece — not the whole page — in response to a query. It's a foundational step in RAG pipelines and the conceptual cousin of Google's passage ranking. {/ tool rule claim: content.retrieval chunk quality/article contract /} TL;DR — Chunking is how AI search engines cut your page into smaller pieces before they store and search it. They don't match a query again","passages":["{/ tool rule claim: content.retrieval chunk quality/article contract /} TL;DR — Chunking is how AI search engines cut your page into smaller pieces before they store and search it.","They don't match a query against your whole page — they match it against the single passage that answers it best.","So getting indexed isn't enough; you need a section that makes sense on its own and answers the question clearly.","What chunking is Chunking divides documents into smaller units for embedding and retrieval systems.","Chunk size and overlap are implementation choices whose best values depend on content, model, and evaluation task.","When you search Google the old way, the page is the unit: a page ranks, and you click through.","Before ChatGPT, Perplexity, or Google's AI Overviews can use your content, they break it into smaller segments — called chunks or passages — and store each one separately.","When someone asks a question, the system goes and finds the chunks that best match it, then writes an answer from those."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/chunking/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/chunking/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Web Crawlers","desc":"What a web crawler (spider, bot) actually is, how the fetch → parse → queue loop works, and why crawling isn't the same as indexing, rendering, or ranking.","snippetText":"Web crawlers — also called spiders or bots — are automated programs that fetch pages, extract links, and queue new URLs to visit, feeding the search engine's index. The mechanical loop is discover → fetch → parse → schedule, repeated forever. Crawling is stage one of three (crawl → index → serve) and it's a prerequisite for ranking, not a ranking factor: more crawling won't lift your positions. Crawling is also distinct from indexing and rendering. Reputable crawlers respect robots.txt and throttle themselves; today it's not just search engines — AI bots are a large and growing share of the tr","href":"/technical-seo/how-search-works/crawling/crawler/","slug":"crawler","meta":"Educational","aliases":["crawler","web crawler","spider","bot","search bot","search engine crawler","Crawler","googlebot","bingbot","user-agent","crawling","robots-txt"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"crawler crawling technical-seo googlebot bingbot spider bot Web crawlers — also called spiders or bots — are automated programs that fetch pages, extract links, and queue new URLs to visit, feeding the search engine's index. The mechanical loop is discover → fetch → parse → schedule, repeated forever. Crawling is stage one of three (crawl → index → serve) and it's a prerequisite for ranking, not a ranking factor: more crawling won't lift your positions. Crawling is also distinct from indexing and rendering. Reputable crawlers respect robots.txt and throttle themselves; today it's not just search engines — AI bots are a large and growing share of the traffic. For engine specifics see the Googlebot, Bingbot, AI crawlers, and user-agent siblings. What a crawler is How a crawler finds your pages The three steps that matter The thing people get wrong What a crawler actually is How a crawler works, mechanically \"Googlebot\" isn't one program Politeness — how crawlers avoid taking down your site Robots.txt — the standard crawl control Crawl ≠ index ≠ render ≠ rank Types of crawlers high level Who's crawling the web now How to verify a crawler is who it claims to be Where to go next AI summary Official documentation Quotes from the source Make sure crawlers can do their job — checklist The mental models Crawler — cheat sheet Verify a bot is really the crawler it claims to be Tools for inspecting crawler access and activity Test yourself: web crawlers Resources worth your time A crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. TL;DR — A web crawler is an automated program that visits web pages, downloads them, and follows the links to find more pages. \"Crawler,\" \"spider,\" and \"bot\" all mean the same thing. Search engines use crawlers to find your pages so they can show up in search — but a page has to be crawled before it can be indexed and ranked, and being crawled more often doesn't make you rank higher. What a crawler is A web crawler is a piece of software that browses the web automatically. It visits a page, downloads what's on it, grabs the links, and then goes off to visit those links too — over and over, across billions of pages. You'll hear three names for the exact same thing: crawler , spide","passages":["TL;DR — A web crawler is an automated program that visits web pages, downloads them, and follows the links to find more pages.","Search engines use crawlers to find your pages so they can show up in search — but a page has to be crawled before it can be indexed and ranked, and being crawled more often doesn't make you rank higher.","What a crawler is A web crawler is a piece of software that browses the web automatically.","It visits a page, downloads what's on it, grabs the links, and then goes off to visit those links too — over and over, across billions of pages.","You'll hear three names for the exact same thing: crawler , spider , and bot .","Search engines need crawlers because they can't show you a page in results unless they've found and downloaded it first.","The crawler builds the raw material; the search engine's index is the giant database it searches through when you type a query.","A crawler's job is discovery at scale — following links across a wide swath of the web or all of it ."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Embeddings","desc":"Embeddings are dense numerical vectors that encode the meaning of text — how semantic search, Google's ranking, and RAG match content by meaning instead of keywords.","snippetText":"An embedding is a list of numbers — a dense vector — that encodes the meaning of a word, sentence, or document in a high-dimensional space, so semantically similar text lands close together. Encoder models, not generative LLMs, produce them; similarity is measured with cosine similarity. Embeddings power semantic search, clustering, and the retrieval layer in RAG, and Google uses embedding-based retrieval (Neural Matching / RankEmbed, RankEmbedBERT) alongside its keyword index. The SEO upshot is not a knob to turn — Danny Sullivan said of BERT 'there's nothing to optimize for' — but topically ","href":"/ai-search/how-search-works/embeddings/","slug":"embeddings","meta":"Educational","aliases":["embeddings","embedding","vector embeddings","text embeddings","word embeddings","sentence embeddings","Embeddings","vector-search","semantic-search","rag"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"embeddings ai-search semantic-search vector-search rag bert An embedding is a list of numbers — a dense vector — that encodes the meaning of a word, sentence, or document in a high-dimensional space, so semantically similar text lands close together. Encoder models, not generative LLMs, produce them; similarity is measured with cosine similarity. Embeddings power semantic search, clustering, and the retrieval layer in RAG, and Google uses embedding-based retrieval (Neural Matching / RankEmbed, RankEmbedBERT) alongside its keyword index. The SEO upshot is not a knob to turn — Danny Sullivan said of BERT 'there's nothing to optimize for' — but topically coherent content clusters cleanly near the queries it should answer. What an embedding is Why this matters for search What this means for your content What an embedding actually is Measuring similarity: cosine similarity How we got here: the evolution How Google uses embeddings in Search Embeddings in AI search the RAG pipeline Token embeddings vs. text embedding APIs What this means for SEO AI summary Official documentation Quotes from the source The mental models Embeddings — cheat sheet Test yourself: Embeddings Resources worth your time Embeddings are dense numerical vectors — lists of floating-point numbers — that represent the meaning of text in a high-dimensional space. Semantically similar content lands close together, so search and AI systems can match by meaning, not just keywords. TL;DR — An embedding turns text into a list of numbers — coordinates in a giant space — where things that mean similar things end up close together. That's how AI search and modern search engines match your content to a query by meaning instead of just matching keywords. You can't \"add\" embeddings to a page; they're how the machine reads what's already there. What an embedding is An embedding represents input as a numeric vector intended to preserve useful relationships for tasks such as semantic similarity. Geometry and dimensionality are model specific rather than universal meanings attached to each coordinate. Computers don't understand words — they understand numbers. An embedding is the bridge: a model reads a piece of text and turns it into a list of numbers called a vector that captures its meaning. Think of it like a location on a map. Two pieces of text that mean similar things get placed close together; unrelated ","passages":["TL;DR — An embedding turns text into a list of numbers — coordinates in a giant space — where things that mean similar things end up close together.","That's how AI search and modern search engines match your content to a query by meaning instead of just matching keywords.","You can't \"add\" embeddings to a page; they're how the machine reads what's already there.","What an embedding is An embedding represents input as a numeric vector intended to preserve useful relationships for tasks such as semantic similarity.","Geometry and dimensionality are model specific rather than universal meanings attached to each coordinate.","An embedding is the bridge: a model reads a piece of text and turns it into a list of numbers called a vector that captures its meaning.","Two pieces of text that mean similar things get placed close together; unrelated text ends up far apart.","So \"laptop for gaming\" and \"high performance laptop for games\" land near each other, even though they barely share words."],"updated":"2026-07-15T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/embeddings/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/embeddings/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Entity SEO","desc":"How to make AI systems confidently identify and trust your brand — the Knowledge Graph, entity disambiguation, sameAs schema, and why branded mentions correlate with AI citations more strongly than backlinks do.","snippetText":"Entity SEO makes AI systems confidently identify who or what you are — Ahrefs research found branded mentions correlate with AI Overview citations more strongly than backlinks do, though correlation isn't proof either one causes citation.","href":"/ai-search/optimization/entity-seo/","slug":"entity-seo","meta":"Educational","aliases":["entity-seo","entity SEO","entity optimization","knowledge graph SEO","entity authority","Entity SEO","knowledge-graph","structured-data","ai-search-optimization"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"entity-seo knowledge-graph ai-search-optimization structured-data wikidata Entity SEO makes AI systems confidently identify who or what you are — Ahrefs research found branded mentions correlate with AI Overview citations more strongly than backlinks do, though correlation isn't proof either one causes citation. What's an entity? Why AI systems care so much about this Simple things that actually help Entity SEO is just SEO — with a different emphasis for AI The Knowledge Graph, and what we can and can't say about AI The entity signal hierarchy — directionally, not exactly Disambiguation is the 1 priority You can't fake corroboration — the entities.org experiment sameAs, Wikidata, and Wikipedia Structured data: indirect lever, not a citation button Server render your schema — don't assume any crawler runs your JS So what do you actually do? AI summary Official documentation Quotes from the source Entity SEO checklist Entity signals — cheat sheet The entity authority framework Entity SEO mistakes to avoid Treating as proof Creating identifiers for the wrong entity Publishing entity signals only through client side JavaScript Optimizing mentions without fixing ambiguity Common entity SEO problems Entity SEO is the practice of helping search engines and AI systems clearly identify, classify, and trust the entities you represent — your brand, your people, your products — rather than just matching keyword strings. The goal is to be an unambiguous, well-corroborated entity in machine knowledge systems so AI can cite you with confidence. TL;DR — An entity is a thing a machine can identify — you, your company, your product. Entity SEO is making sure search engines and AI tools know exactly who you are, instead of confusing you with something else. The basics: use the same name and description everywhere, consider a Wikidata entry and Wikipedia if you qualify , and get mentioned on trustworthy sites. None of these are strict requirements — they're signals that make it easier for AI to confidently identify and cite you. What's an entity? An entity is an identifiable thing; Schema.org provides identifiers and relationship properties that can clarify what a page describes. Structured data is one supporting signal and is not a guaranteed Knowledge Graph or citation submission mechanism. When you read \"Taj Mahal,\" you know from context whether I mean the monument, the blue","passages":["TL;DR — An entity is a thing a machine can identify — you, your company, your product.","Entity SEO is making sure search engines and AI tools know exactly who you are, instead of confusing you with something else.","The basics: use the same name and description everywhere, consider a Wikidata entry and Wikipedia if you qualify , and get mentioned on trustworthy sites.","None of these are strict requirements — they're signals that make it easier for AI to confidently identify and cite you.","An entity is an identifiable thing; Schema.org provides identifiers and relationship properties that can clarify what a page describes.","Structured data is one supporting signal and is not a guaranteed Knowledge Graph or citation submission mechanism.","When you read \"Taj Mahal,\" you know from context whether I mean the monument, the blues musician, or the casino.","A machine doesn't — unless it has learned these are three separate entities , each with its own identity, type, and set of facts."],"updated":"2026-07-21T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/optimization/entity-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/entity-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Generative Engine Optimization (GEO)","desc":"What GEO is, how it differs from SEO, and the evidence behind it — the academic research, what works (quotations, statistics, citations), and what doesn't.","snippetText":"GEO is optimizing content to be cited in AI-generated answers — the biggest shift from traditional SEO: branded web mentions (0.664 correlation) outperform backlinks, and rank-5 pages can outperform rank-1 with the right tactics.","href":"/ai-search/optimization/generative-engine-optimization/","slug":"generative-engine-optimization","meta":"Educational","aliases":["generative-engine-optimization","GEO","generative engine optimization","GEO SEO","Generative Engine Optimization (GEO)","ai-search-optimization","ai-search"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"geo generative-engine-optimization ai-search-optimization ai-seo GEO is optimizing content to be cited in AI-generated answers — the biggest shift from traditional SEO: branded web mentions (0.664 correlation) outperform backlinks, and rank-5 pages can outperform rank-1 with the right tactics. What GEO is How GEO differs from SEO Is GEO the same as AEO? What actually helps The thing most people get wrong Where the term comes from The nine strategies — and what worked The rank 5 inversion — GEO favors the challenger What predicts AI visibility: branded mentions, not Domain Rating What Google officially says Keep the traffic reality in view Practical tactics AI summary Official documentation Quotes from the source GEO optimization checklist GEO strategies — cheat sheet The GEO priority framework GEO mistakes to avoid Replacing SEO fundamentals with AI specific tactics Adding unsupported statistics or quotations Optimizing for one observed answer Treating correlation as a guaranteed lever Measure GEO performance Generative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO. Generative Engine Optimization — visibility inside AI answer engines. GEO began as a research term for improving source visibility in generative engine answers. On Google, the company's guidance is still to follow established SEO fundamentals rather than special AI tricks. TL;DR — GEO is optimizing your content so AI tools — Google AI Overviews, ChatGPT, Perplexity — mention or cite you when they answer a question. Traditional SEO is about ranking a link people click; GEO is about being the source the AI quotes. The good news: Google says it's \"still SEO,\" so most of what you already do still counts. What GEO is For decades, search worked one way: you typed a query, got a list of links, and clicked one. SEO was the craft of getting your link to rank near the top. AI search changed the shape of the answer. Now Google AI Overviews, ChatGPT, and Perplexity often write you an answer and cite a few sources, instead of just listing links. Generative Engine Optimization GEO is the practice of getting your content cited, mentioned, or recommended inside that generated answer. The simp","passages":["GEO began as a research term for improving source visibility in generative engine answers.","On Google, the company's guidance is still to follow established SEO fundamentals rather than special AI tricks.","TL;DR — GEO is optimizing your content so AI tools — Google AI Overviews, ChatGPT, Perplexity — mention or cite you when they answer a question.","Traditional SEO is about ranking a link people click; GEO is about being the source the AI quotes.","The good news: Google says it's \"still SEO,\" so most of what you already do still counts.","What GEO is For decades, search worked one way: you typed a query, got a list of links, and clicked one.","SEO was the craft of getting your link to rank near the top.","Now Google AI Overviews, ChatGPT, and Perplexity often write you an answer and cite a few sources, instead of just listing links."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/optimization/generative-engine-optimization/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/generative-engine-optimization/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"GEO / AEO vs SEO","desc":"How GEO and AEO compare with traditional SEO — what's identical (quality, authority, technical eligibility), and the one structural inversion that's genuinely different.","snippetText":"GEO, AEO, and SEO share the same foundation — quality content, authority, technical eligibility — but differ in one structural inversion: unlinked brand mentions (0.664 correlation) outperform backlinks (0.326 DR) for AI visibility, the opposite of traditional SEO.","href":"/ai-search/optimization/geo-aeo-vs-seo/","slug":"geo-aeo-vs-seo","meta":"Educational","aliases":["geo-aeo-vs-seo","GEO vs SEO","AEO vs SEO","GEO AEO vs SEO","how GEO differs from SEO","how AEO differs from SEO","GEO / AEO vs SEO","ai-search-optimization","generative-engine-optimization","answer-engine-optimization"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"geo-vs-seo aeo-vs-seo generative-engine-optimization answer-engine-optimization ai-search-optimization GEO, AEO, and SEO share the same foundation — quality content, authority, technical eligibility — but differ in one structural inversion: unlinked brand mentions (0.664 correlation) outperform backlinks (0.326 DR) for AI visibility, the opposite of traditional SEO. The acronyms, in one breath What's actually the same What's actually different The bottom line First, the definitions that matter What's the same across all three What's genuinely different — the signal inversion The other differences they follow from how answers are built The AEO specific angle The \"still SEO\" case The \"actually different\" case Keep outcomes and measurement scoped Practical priority AI summary Official documentation Quotes from the source What to ADD for GEO/AEO don't replace your SEO Traditional SEO vs. GEO/AEO — side by side The priority model: SEO first, AI signals on top Test yourself: GEO, AEO, and SEO Resources worth your time Stats worth citing GEO, AEO, and SEO share the same foundation — quality content, authority, technical eligibility — and AI search even draws on the same web indexes. The one structural difference: unlinked brand mentions (0.664 correlation) beat backlinks (Domain Rating 0.326) for AI visibility, inverting the traditional ranking hierarchy. For Google's AI features, the company says the same SEO basics continue to apply. GEO, by contrast, originated as a research framework for visibility inside generated answers. TL;DR — GEO and AEO are mostly the same job as SEO, just aimed at AI answers instead of blue links. The big stuff is identical: good content, being a trusted source, and a site that search engines can actually read. Google even says optimizing for AI search \"is still SEO.\" The one thing that's genuinely different: what the rest of the internet says about you brand mentions now matters more than links pointing at you — which is backwards from how traditional SEO works. That's a correlation from one dataset, though, not a guarantee — treat it as a signal to watch, not a lever with a proven cause and effect. The acronyms, in one breath You'll see three terms thrown around, and they overlap a lot: SEO Search Engine Optimization — getting your pages to rank in the list of links on Google and Bing. The original job. AEO Answer Engine Optimization ","passages":["For Google's AI features, the company says the same SEO basics continue to apply.","GEO, by contrast, originated as a research framework for visibility inside generated answers.","TL;DR — GEO and AEO are mostly the same job as SEO, just aimed at AI answers instead of blue links.","The big stuff is identical: good content, being a trusted source, and a site that search engines can actually read.","Google even says optimizing for AI search \"is still SEO.\" The one thing that's genuinely different: what the rest of the internet says about you brand mentions now matters more than links pointing at you — which is backwards from how traditional SEO works.","That's a correlation from one dataset, though, not a guarantee — treat it as a signal to watch, not a lever with a proven cause and effect.","The acronyms, in one breath You'll see three terms thrown around, and they overlap a lot: SEO Search Engine Optimization — getting your pages to rank in the list of links on Google and Bing.","AEO Answer Engine Optimization — getting your content delivered as the answer : a featured snippet, a voice assistant reply, an AI answer box."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/optimization/geo-aeo-vs-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/geo-aeo-vs-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Googlebot","desc":"What Googlebot actually is — Smartphone vs Desktop, evergreen Chromium rendering, user-agent strings, IP-range verification, byte limits, and the crawl-vs-rank distinction.","snippetText":"Googlebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants that share one robots.txt token: Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop. It runs an evergreen Chromium and renders JavaScript in a separate, later queue (crawl ≠ render). Crawling isn't a ranking factor, and blocking Googlebot in robots.txt isn't the same as deindexing — a blocked URL can still be indexed URL-only. The user-agent is trivially spoofed, so verify with reverse + forward DNS or Google's published IP ranges. 'Goog","href":"/technical-seo/how-search-works/crawling/crawler/googlebot/","slug":"googlebot","meta":"Educational","aliases":["googlebot","google crawler","google bot","googlebot smartphone","googlebot desktop","Googlebot","crawler","bingbot","user-agent","crawling","mobile-first-indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling","crawler"],"text":"googlebot crawling technical-seo crawler mobile-first-indexing rendering Googlebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants that share one robots.txt token: Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop. It runs an evergreen Chromium and renders JavaScript in a separate, later queue (crawl ≠ render). Crawling isn't a ranking factor, and blocking Googlebot in robots.txt isn't the same as deindexing — a blocked URL can still be indexed URL-only. The user-agent is trivially spoofed, so verify with reverse + forward DNS or Google's published IP ranges. 'Googlebot' is really Google Search's slice of a much larger crawling platform. What Googlebot is There are actually two Googlebots Does Googlebot run JavaScript? The two things people get wrong What Googlebot actually is Smartphone vs Desktop — and why it's \"smartphone first\" The user agent strings Evergreen Chromium and the rendering queue Byte limits How Googlebot fetches — politely Verifying it's really Googlebot Googlebot is one bot in a fleet How to control Googlebot AI summary Official documentation Quotes from the source Googlebot readiness checklist Googlebot — cheat sheet Verify a bot is really Googlebot Verify at scale against Google's IP ranges Resources worth your time Stats worth citing Googlebot mistakes to avoid Common Googlebot issues Googlebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. TL;DR — Googlebot is Google's web crawler — the program that visits your pages, downloads them, and hands them off so Google can index and rank them. There are two of them a smartphone one and a desktop one , and the smartphone one does most of the work. Being crawled is a requirement to show up in search — but getting crawled more doesn't make you rank higher. What Googlebot is Google doesn't browse the web the way you do. It sends out an automated program — a crawler , or bot — that visits pages, downloads what's on them, and follows links to find more pages. That program is Googlebot . Bing's equivalent is Bingbot . I describe it simply in my Ahrefs guide to Googlebot https://ahrefs.com/blog/googlebot/ : ","passages":["TL;DR — Googlebot is Google's web crawler — the program that visits your pages, downloads them, and hands them off so Google can index and rank them.","There are two of them a smartphone one and a desktop one , and the smartphone one does most of the work.","Being crawled is a requirement to show up in search — but getting crawled more doesn't make you rank higher.","What Googlebot is Google doesn't browse the web the way you do.","It sends out an automated program — a crawler , or bot — that visits pages, downloads what's on them, and follows links to find more pages.","I describe it simply in my Ahrefs guide to Googlebot https://ahrefs.com/blog/googlebot/ : \"Googlebot is the web crawler used by Google to gather the information needed and build a searchable index of the web.\" Everything Google shows you in search results started with Googlebot fetching the page.","There are actually two Googlebots Googlebot comes in two flavors: Googlebot Smartphone — pretends to be someone on a phone.","Google mostly looks at the mobile version of your site that's called mobile first indexing , so most crawls come from the smartphone bot."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/googlebot/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawler/googlebot/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Grounding in AI","desc":"Grounding anchors an AI model's answer to source documents it retrieves at inference time — not its training data. How RAG works, and what it means for SEO.","snippetText":"Grounding anchors an AI model's answer to source documents it retrieves at inference time — not to the patterns frozen into its weights during training. The dominant method is Retrieval-Augmented Generation (RAG): fetch relevant pages from a live index, inject them into the model's context, then generate a cited answer. Grounding is not fine-tuning (which changes weights permanently) and it reduces but doesn't eliminate hallucinations. For SEO this is the bridge that makes AI search influenceable: grounded answers retrieve from the live web — the same index your ranking and content quality alr","href":"/ai-search/how-search-works/grounding/","slug":"grounding","meta":"Educational","aliases":["grounding","grounding in AI","AI grounding","search grounding","knowledge grounding","Grounding","rag","knowledge-cutoff"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"grounding ai-search rag retrieval hallucinations geo Grounding anchors an AI model's answer to source documents it retrieves at inference time — not to the patterns frozen into its weights during training. The dominant method is Retrieval-Augmented Generation (RAG): fetch relevant pages from a live index, inject them into the model's context, then generate a cited answer. Grounding is not fine-tuning (which changes weights permanently) and it reduces but doesn't eliminate hallucinations. For SEO this is the bridge that makes AI search influenceable: grounded answers retrieve from the live web — the same index your ranking and content quality already affect — so being crawlable, indexable, well-structured, and verifiable is how you get cited. What grounding is Why this matters to you The thing people get wrong What grounding actually means Why models need grounding How grounding works — the RAG pipeline How each platform grounds its answers Grounding vs. fine tuning vs. training What this means for SEO The crawler distinction that trips everyone up Does grounding eliminate hallucinations? What to do about it Where this fits AI summary Official documentation Quotes from the source The mental models Grounding — cheat sheet Assuming a citation proves the answer is grounded correctly Treating grounding as the same thing as training Feeding the model an unbounded document dump Letting retrieved text override safety or authorization JavaScript: inspect citation domain coverage in captured results Regex: flag unsupported citation markers in exported answers Grounding is anchoring an AI model's answer to source documents it retrieves at the moment you ask — not to the patterns frozen into its weights during training. Retrieval-Augmented Generation (RAG) is the most common way to do it. Google Cloud describes grounding as connecting an answer to verifiable web information and returning source metadata. OpenAI's web search tool similarly retrieves current information and can cite its sources. TL;DR — Grounding is how AI search engines stay factual . Instead of answering only from what they memorized during training, they go and fetch real web pages the moment you ask, then write the answer from those pages — and link to them. That's why your content can show up in AI answers at all: the AI is reading live pages, and yours can be one of them. What grounding is A chatbot","passages":["Google Cloud describes grounding as connecting an answer to verifiable web information and returning source metadata.","OpenAI's web search tool similarly retrieves current information and can cite its sources.","Instead of answering only from what they memorized during training, they go and fetch real web pages the moment you ask, then write the answer from those pages — and link to them.","That's why your content can show up in AI answers at all: the AI is reading live pages, and yours can be one of them.","What grounding is A chatbot left to its own devices answers from its training — everything it \"read\" before a fixed cutoff date, compressed into patterns.","That works for general knowledge, but it goes stale, and the model will sometimes confidently make things up.","Grounding fixes that by connecting the model to real sources at the moment it answers .","When you ask Google's AI Overviews, ChatGPT Search, or Perplexity a question, the system: 1."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/grounding/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/grounding/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Knowledge Cutoff","desc":"What a knowledge cutoff (training data cutoff) is, why it isn't the model's release date, which AI tools bypass it with retrieval, and what it means for SEO.","snippetText":"A knowledge cutoff is the date after which an LLM stopped being trained on new data — not the date it was released (those differ by months, often 6–12+). It only limits a model's trained-in, parametric knowledge. Tools that use retrieval (Google AI Overviews, Bing Copilot, Perplexity, ChatGPT with search) ground answers in a live index and effectively bypass the cutoff, while base models without search stay frozen at their cutoff. For SEO that means two separate jobs: get embedded in training data for the long game, and stay indexed and fresh so you're retrieved at query time.","href":"/ai-search/how-search-works/knowledge-cutoff/","slug":"knowledge-cutoff","meta":"Educational","aliases":["knowledge-cutoff","knowledge cutoff","training cutoff","training data cutoff","knowledge cutoff date","reliable knowledge cutoff","Knowledge Cutoff","rag","grounding","ai-hallucinations"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"knowledge-cutoff ai-search llm rag training-data geo A knowledge cutoff is the date after which an LLM stopped being trained on new data — not the date it was released (those differ by months, often 6–12+). It only limits a model's trained-in, parametric knowledge. Tools that use retrieval (Google AI Overviews, Bing Copilot, Perplexity, ChatGPT with search) ground answers in a live index and effectively bypass the cutoff, while base models without search stay frozen at their cutoff. For SEO that means two separate jobs: get embedded in training data for the long game, and stay indexed and fresh so you're retrieved at query time. What a knowledge cutoff is Why ChatGPT gives outdated answers sometimes Which tools look things up vs. which don't Why this matters if you run a website What a knowledge cutoff actually is Anthropic's two tier distinction: reliable vs. training cutoff Knowledge cutoff is not the model's release date The boundary is fuzzy, not a wall Which tools are constrained vs. which bypass the cutoff Constrained by the cutoff parametric only Effectively bypass the cutoff retrieval / grounding Parametric vs. retrieved knowledge behave differently What content is most and least affected What this means for SEO and GEO Track 1 — get into the training data the long game Track 2 — stay retrievable and fresh the near term game The myths worth killing AI summary Official documentation Quotes from the source Knowledge cutoff — cheat sheet The mental models Knowledge cutoff mistakes Treating the model's release date as its cutoff A knowledge cutoff (or training data cutoff) is the date after which an LLM was no longer trained on new data. The model has no awareness of anything that happened later — unless the system bolts on live retrieval (RAG/web search) to fetch it at query time. TL;DR — A knowledge cutoff is the date an AI model stopped learning. Ask ChatGPT's base model about something that happened after its cutoff and it simply won't know — it was never trained on it. But many AI tools Google AI Overviews, Perplexity, Copilot, ChatGPT with search on can look things up live, which gets them around the cutoff for most questions. What a knowledge cutoff is A model knowledge cutoff describes the training knowledge boundary disclosed for a model release; it is not necessarily the boundary of a product that can browse or retrieve. Product tools may acces","passages":["TL;DR — A knowledge cutoff is the date an AI model stopped learning.","Ask ChatGPT's base model about something that happened after its cutoff and it simply won't know — it was never trained on it.","But many AI tools Google AI Overviews, Perplexity, Copilot, ChatGPT with search on can look things up live, which gets them around the cutoff for most questions.","What a knowledge cutoff is A model knowledge cutoff describes the training knowledge boundary disclosed for a model release; it is not necessarily the boundary of a product that can browse or retrieve.","Product tools may access newer information at answer time, subject to availability and source quality.","Large language models — the tech behind ChatGPT, Claude, Gemini — learn by reading an enormous pile of text.","At some point that reading stops so the model can be built and tested.","The date the reading stopped is the knowledge cutoff you'll also see it called the training cutoff or training data cutoff — same thing ."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/knowledge-cutoff/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/knowledge-cutoff/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Large Language Model (LLM)","desc":"What a large language model is, how it predicts text token by token, the LLMs powering AI search (Gemini, GPT-4), and what they mean for SEO.","snippetText":"A large language model (LLM) generates text by predicting the next token — it isn't reasoning the way a human does, it's running a probabilistic completion. LLMs are built on the transformer architecture and split into two roles in search: understanding models like BERT help rank, while generative models like Gemini (Google AI Overviews) and GPT-4 (Bing Copilot) write the answers. They're limited by a knowledge cutoff, a finite context window, and a tendency to hallucinate — which is exactly why RAG and grounding exist. For SEOs the practical news is boring: indexing is still the prerequisite,","href":"/ai-search/how-search-works/llm/","slug":"llm","meta":"Educational","aliases":["llm","LLM","large language model","large language models","Large Language Model (LLM)","rag","grounding","knowledge-cutoff","embeddings","ai-hallucinations"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"llm large-language-model ai-search gemini transformer rag A large language model (LLM) generates text by predicting the next token — it isn't reasoning the way a human does, it's running a probabilistic completion. LLMs are built on the transformer architecture and split into two roles in search: understanding models like BERT help rank, while generative models like Gemini (Google AI Overviews) and GPT-4 (Bing Copilot) write the answers. They're limited by a knowledge cutoff, a finite context window, and a tendency to hallucinate — which is exactly why RAG and grounding exist. For SEOs the practical news is boring: indexing is still the prerequisite, brand mentions correlate with AI visibility more strongly than backlinks, and 'normal SEO' is what gets you cited. What an LLM is How LLMs show up in search Which LLMs power which search The thing most people get wrong What an LLM actually is Understanding vs. generation: two different jobs Google's LLM evolution in search Bing Copilot: GPT 4 + Prometheus + the Bing index How AI Overviews actually generate an answer the RAG pipeline Limitations that matter to SEOs What this means for your content strategy AI summary Official documentation Quotes from the source LLMs in search — cheat sheet The mental models LLM assumptions that lead to bad SEO decisions Treating fluent output as verified reasoning Assuming every model plays the same role in search Replacing crawlability with prompt tactics Test yourself: Large language models Resources worth your time Stats worth citing A large language model (LLM) is a deep-learning model trained on massive text corpora to predict the next token and generate human-like text. LLMs use the transformer architecture and power AI search features like Google's AI Overviews (Gemini) and Bing Copilot (GPT-4). TL;DR — A large language model LLM is the technology behind tools like ChatGPT, Google's AI Overviews, and Bing Copilot. It works by predicting the next word over and over, based on patterns it learned from a huge amount of text. It doesn't \"know\" or \"understand\" things the way you do — it's making very good statistical guesses. In search, LLMs read web pages and write the AI answers you see at the top of results. What an LLM is Large language models learn statistical patterns over token sequences and generate text by predicting continuations. Product behavior also depends on prom","passages":["TL;DR — A large language model LLM is the technology behind tools like ChatGPT, Google's AI Overviews, and Bing Copilot.","It works by predicting the next word over and over, based on patterns it learned from a huge amount of text.","It doesn't \"know\" or \"understand\" things the way you do — it's making very good statistical guesses.","In search, LLMs read web pages and write the AI answers you see at the top of results.","What an LLM is Large language models learn statistical patterns over token sequences and generate text by predicting continuations.","Product behavior also depends on prompting, retrieval, tools, policies, and model version.","A large language model is a computer program trained on an enormous amount of text — books, articles, websites — until it gets very good at one task: guessing what word or piece of a word comes next.","When you type a question, the model takes your words and predicts the most likely next bit of text, then the next, then the next, building up an answer one piece at a time."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/llm/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/llm/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"LLM Visibility / AI Visibility","desc":"What LLM visibility (AI visibility) is, why it isn't the same as organic visibility, and how to measure it across AI Overviews, ChatGPT, Perplexity, Copilot, and Gemini.","snippetText":"LLM visibility is how often and how prominently your brand shows up inside AI-generated answers. It's not the same as organic visibility — only ~38% of AI Overview citations come from the traditional top 10, and the #1 correlate is branded web mentions (0.664), not Domain Rating (0.326). It splits into three states (retrieved → mentioned → cited) that need different tools, behaves completely differently platform to platform, and is volatile enough that single prompt runs aren't data. Measure it with a defined prompt pool tracked as Share of Model Voice over time — and treat tools like Brand Ra","href":"/ai-search/measurement-and-reporting/llm-visibility/","slug":"llm-visibility","meta":"Educational","aliases":["llm-visibility","LLM visibility","AI visibility","AI search visibility","visibility in AI","LLM Visibility","ai-share-of-voice","retrieved-mentioned-cited","measurement-and-reporting"],"pillar":"ai-search","taxonomy":["ai-search","measurement-and-reporting"],"text":"ai-search llm-visibility ai-visibility brand-monitoring measurement LLM visibility is how often and how prominently your brand shows up inside AI-generated answers. It's not the same as organic visibility — only ~38% of AI Overview citations come from the traditional top 10, and the #1 correlate is branded web mentions (0.664), not Domain Rating (0.326). It splits into three states (retrieved → mentioned → cited) that need different tools, behaves completely differently platform to platform, and is volatile enough that single prompt runs aren't data. Measure it with a defined prompt pool tracked as Share of Model Voice over time — and treat tools like Brand Radar as directional, not exact traffic counts. What LLM visibility is The part that surprises people Three things, not one What to actually do What LLM visibility is and isn't Three states: retrieved → mentioned → cited → clicked A question underneath all three: is this even a retrieval driven answer? Platform by platform — why visibility varies so much It's volatile — single runs aren't data How to measure it — the stack mapped to the states The prompt pool method and Share of Model Voice A measurement edge case worth knowing What this is and isn't worth Where this fits AI summary Official documentation Quotes from the source LLM visibility audit checklist LLM visibility vs. organic visibility — cheat sheet Tools for measuring LLM visibility AI visibility measurement mistakes Reporting one prompt run as market share Combining retrieval, mentions, and citations Comparing tools as if their panels were identical LLM visibility (or AI visibility) is the aggregate measure of how often and how prominently a brand or page shows up in AI-generated answers — across AI Overviews, ChatGPT, Perplexity, Copilot, and Gemini. It's the AI-search analog of organic visibility, but it's driven by different signals. TL;DR — LLM visibility also called AI visibility is how often your brand shows up inside AI answers — the ones from Google AI Overviews, ChatGPT, Perplexity, Copilot, and Gemini. It's like organic visibility, but for written AI answers instead of a list of blue links. And here's the catch: ranking 1 in Google doesn't guarantee you show up in AI answers. They run on different signals. What LLM visibility is LLM visibility is an umbrella measurement for observed presence in model assisted answers, not a standardi","passages":["TL;DR — LLM visibility also called AI visibility is how often your brand shows up inside AI answers — the ones from Google AI Overviews, ChatGPT, Perplexity, Copilot, and Gemini.","It's like organic visibility, but for written AI answers instead of a list of blue links.","And here's the catch: ranking 1 in Google doesn't guarantee you show up in AI answers.","What LLM visibility is LLM visibility is an umbrella measurement for observed presence in model assisted answers, not a standardized provider metric.","Crawl permission, retrieval, mention, and citation are distinct states.","When you search now, you often get an AI written answer at the top instead of or above the usual list of links.","LLM visibility is the measure of how much your brand or your pages show up inside those answers.","It's the AI search version of a metric SEOs already know — organic visibility , the rolled up sense of how present you are across search results."],"updated":"2026-07-23T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/measurement-and-reporting/llm-visibility/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/llm-visibility/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"llms.txt","desc":"llms.txt is a proposed Markdown file at /llms.txt for guiding AI systems. Google ignores it, 97% of files get zero requests, and Claude Code is the real reader.","snippetText":"llms.txt is a proposal by Jeremy Howard (Answer.AI) for helping AI agents navigate sites — 97% of published files get zero requests, Google ignores it, and Claude Code is the primary consumer, not search bots.","href":"/ai-search/optimization/llms-txt/","slug":"llms-txt","meta":"Educational","aliases":["llms-txt","llms.txt","llms txt file","ai-crawlers","crawling"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"llms-txt ai-search-optimization ai-crawlers llms.txt is a proposal by Jeremy Howard (Answer.AI) for helping AI agents navigate sites — 97% of published files get zero requests, Google ignores it, and Claude Code is the primary consumer, not search bots. What llms.txt is What it's supposed to do vs. what it actually does Is it like robots.txt? Should you bother? What llms.txt actually is The format Docs Optional llms.txt vs robots.txt — they are not the same thing Who actually reads it What the providers have said Does it move AI citations? The meta keywords comparison — fair or not? When it's worth adding — and when to skip it The security angle Implementing it if you decide to AI summary Official documentation Quotes from the source Should you implement llms.txt? — a decision checklist Provider support — cheat sheet llms.txt mistakes to avoid Treating the file as an access control standard Promising an AI visibility lift llms.txt is a proposed (not adopted) Markdown file at /llms.txt that gives AI systems a curated map of a site's most important pages. Proposed by Jeremy Howard in 2024, it's read mostly by coding agents like Claude Code — not search crawlers — and Google ignores it. is a community proposal for a Markdown file at , not an adopted web standard. OpenAI's published crawler controls use and do not document as a control. TL;DR — llms.txt is a Markdown file you put at that hands AI systems a short, curated list of your most important pages. A developer named Jeremy Howard proposed it in 2024. It's a nice idea, but in practice almost nobody reads it — Google ignores it outright, and the main thing that does read it is AI coding assistants, not the search bots most people are hoping to reach. It costs little to add and probably won't move your AI visibility. What llms.txt is is a plain Markdown file you place at the root of your site — . Inside, you write your site's name, a one line description, and then a short list of links to your most important pages, each with a quick note about what it covers. The idea is that an AI system can read that one file and immediately understand what your site is and where the good stuff lives, instead of having to crawl and parse every page. It was proposed by Jeremy Howard — the person behind fast.ai a popular deep learning course and Answer.AI — back in September 2024 . What it's supposed to do vs. what it actual","passages":["is a community proposal for a Markdown file at , not an adopted web standard.","OpenAI's published crawler controls use and do not document as a control.","TL;DR — llms.txt is a Markdown file you put at that hands AI systems a short, curated list of your most important pages.","It's a nice idea, but in practice almost nobody reads it — Google ignores it outright, and the main thing that does read it is AI coding assistants, not the search bots most people are hoping to reach.","It costs little to add and probably won't move your AI visibility.","What llms.txt is is a plain Markdown file you place at the root of your site — .","Inside, you write your site's name, a one line description, and then a short list of links to your most important pages, each with a quick note about what it covers.","The idea is that an AI system can read that one file and immediately understand what your site is and where the good stuff lives, instead of having to crawl and parse every page."],"updated":"2026-07-15T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/optimization/llms-txt/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/llms-txt/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Search Measurement and Reporting","desc":"How to measure AI search — attribution, LLM visibility, share of voice, hallucination monitoring, and self-reporting — and why your analytics show a floor, not a ceiling.","snippetText":"AI search is growing fast (9.7x in 12 months), converting well (up to 23x better than organic), and almost invisible in your current analytics — 35–70% of AI visits arrive with no referrer and land in Direct, and GSC still doesn't break out AI Overview clicks. So you stack layers instead of relying on one number: direct attribution (GA4 + Ahrefs), LLM visibility (GSC Gen AI reports, Bing citations), share of voice (Brand Radar and friends), hallucination monitoring, and self-report. The data you have is a floor, not a ceiling — and measuring AI visibility is mostly measuring brand health.","href":"/ai-search/measurement-and-reporting/","slug":"measurement-and-reporting","meta":"Educational","aliases":["measurement-and-reporting","AI measurement","AI search reporting","AI search measurement","measuring AI search","Measurement and Reporting","ai-share-of-voice","llm-visibility","ai-traffic-attribution"],"pillar":"ai-search","taxonomy":["ai-search","measurement-and-reporting"],"text":"ai-search measurement analytics share-of-voice llm-visibility ai-traffic AI search is growing fast (9.7x in 12 months), converting well (up to 23x better than organic), and almost invisible in your current analytics — 35–70% of AI visits arrive with no referrer and land in Direct, and GSC still doesn't break out AI Overview clicks. So you stack layers instead of relying on one number: direct attribution (GA4 + Ahrefs), LLM visibility (GSC Gen AI reports, Bing citations), share of voice (Brand Radar and friends), hallucination monitoring, and self-report. The data you have is a floor, not a ceiling — and measuring AI visibility is mostly measuring brand health. Why this is hard What you can actually measure The one thing to remember Why AI search is harder to measure than traditional search The floor not ceiling principle The five layers of measurement Layer 1 — Direct attribution retrieved vs. mentioned vs. cited Layer 2 — LLM visibility the impressions and citations layer Layer 3 — AI hallucination monitoring Layer 4 — Self report the bridge analytics can't build Layer 5 — Share of voice and why it's a trap on its own Platform specific reporting the gotchas What correlates with LLM visibility Ahrefs' 75,000 brand study Where to go next AI summary Official documentation Quotes from the source The five measurement layers — cheat sheet Build an AI search measurement stack Review the report before sharing it Test yourself: AI search measurement Resources worth your time Stats worth citing AI search measurement and reporting is the practice of tracking and communicating how AI search features — AI Overviews, AI Mode, ChatGPT, Perplexity, Gemini, Copilot — affect a brand's visibility, traffic, and revenue. It exists because most AI-referred traffic and exposure is invisible in standard analytics. TL;DR — AI search measurement is figuring out how much AI tools — Google AI Overviews, ChatGPT, Perplexity, Gemini, Copilot — are sending you traffic and mentioning your brand. The catch: most of it doesn't show up cleanly in your analytics. A lot of AI visits land in your \"Direct\" bucket with no label, and Google Search Console still doesn't separate AI Overview clicks from regular search. So instead of one perfect number, you stack a few partial views. Why this is hard In old school SEO, the chain was simple: someone searches, sees your link, clicks, and your analytics","passages":["TL;DR — AI search measurement is figuring out how much AI tools — Google AI Overviews, ChatGPT, Perplexity, Gemini, Copilot — are sending you traffic and mentioning your brand.","The catch: most of it doesn't show up cleanly in your analytics.","A lot of AI visits land in your \"Direct\" bucket with no label, and Google Search Console still doesn't separate AI Overview clicks from regular search.","So instead of one perfect number, you stack a few partial views.","Why this is hard In old school SEO, the chain was simple: someone searches, sees your link, clicks, and your analytics records \"organic search.\" With AI search that chain keeps breaking in three places: 1.","AI Overviews often answer the question on the page, so the user never clicks through.","When someone does click from an AI tool, many of those tools don't tell your site where the visit came from.","With no \"referrer,\" the visit gets dumped into Direct — the same bucket as bookmarks and typed in URLs."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/measurement-and-reporting/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"AI Search Optimization","desc":"What AI search optimization actually is, what's the same vs. different from SEO, the signal that changed (brand mentions over backlinks), what works, what doesn't, and where to start. The hub.","snippetText":"AI search optimization is making your brand citable and accurately represented across AI answers (AI Overviews, ChatGPT, Perplexity, Copilot) — and my thesis is that it's evolution, not revolution: it's traditional SEO plus a heavier emphasis on what the rest of the internet says about you. Google and Bing both call it 'still SEO,' branded web mentions correlate with Google AI Overview appearances more strongly (0.664) than Domain Rating does (0.326) in one 75,000-brand Ahrefs study — a correlation, not a proven cause — quotations/stats/cited sources lift visibility in the GEO paper's own expe","href":"/ai-search/optimization/","slug":"optimization","meta":"Educational","aliases":["ai-search-optimization","AI search optimization","optimize for AI search","AI SEO","LLMO","LLM optimization","AI Search Optimization","geo","ai-search","schema-markup-for-ai","entity-seo"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"ai-search-optimization geo aeo generative-engine-optimization ai-seo AI search optimization is making your brand citable and accurately represented across AI answers (AI Overviews, ChatGPT, Perplexity, Copilot) — and my thesis is that it's evolution, not revolution: it's traditional SEO plus a heavier emphasis on what the rest of the internet says about you. Google and Bing both call it 'still SEO,' branded web mentions correlate with Google AI Overview appearances more strongly (0.664) than Domain Rating does (0.326) in one 75,000-brand Ahrefs study — a correlation, not a proven cause — quotations/stats/cited sources lift visibility in the GEO paper's own experiment while keyword stuffing hurts it, and the things sold as AI-specific magic (llms.txt, schema for already-cited pages) don't move the needle. This hub maps the five sub-topics and points you to each deep dive. What AI search optimization is Why it matters but not as much as the hype says My thesis: evolution, not revolution What's the same, and what's actually different The signal that changed: brand mentions over backlinks What the research says works and what doesn't What does NOT work The five areas of AI search optimization Where to go next Measurement: how to actually track this AI summary Official documentation Quotes from the source AI search optimization checklist The prioritization framework AI search optimization mistakes Buying an AI only shortcut before fixing SEO Measuring one prompt as a market Confusing a brand mention with a source citation Publishing evidence shaped filler Tools for AI search optimization Measure AI search optimization Brand answer visibility Direct citation rate AI search optimization is the practice of making your brand and content visible, citable, and accurately represented across AI-powered search — Google AI Overviews, ChatGPT, Perplexity, Copilot. It's built on traditional SEO plus a heavier emphasis on off-site brand mentions and content AI systems can cite. TL;DR — AI search optimization is getting your brand and content cited and represented accurately in AI answers — Google AI Overviews, ChatGPT, Perplexity, Copilot. The good news: it's mostly the same SEO you already do. Google itself says optimizing for AI search \"is still SEO.\" Off site references can contribute useful corroboration, but there is no universal rule that they matter exactly as much as ","passages":["TL;DR — AI search optimization is getting your brand and content cited and represented accurately in AI answers — Google AI Overviews, ChatGPT, Perplexity, Copilot.","Google itself says optimizing for AI search \"is still SEO.\" Off site references can contribute useful corroboration, but there is no universal rule that they matter exactly as much as on site content.","What AI search optimization is When you ask Google, ChatGPT, or Perplexity a question now, you often get a written answer instead of just a list of links.","AI search optimization is the work of making sure your brand and pages are the ones those systems pull from, quote, and recommend — and that they describe you correctly.","You'll see it called a lot of things: GEO Generative Engine Optimization , AEO Answer Engine Optimization , LLMO , \"AI SEO.\" Don't let the acronyms intimidate you.","They mostly describe the same handful of tactics with different labels on the box.","Why it matters but not as much as the hype says AI search is growing fast and the traffic it sends converts unusually well — for In Ahrefs' June 2025 internal study https://ahrefs.com/blog/ai search traffic conversions ahrefs/ , AI traffic was about 0.5% of visitors but 12.1% of signups during the measured 30 day period.","In a separate Ahrefs analysis of 76,000 sites https://ahrefs.com/blog/chatgpt has 12 percent of googles search volume/ , Google sent roughly 190x more website traffic than ChatGPT."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/optimization/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Passage Ranking","desc":"How Google's passage ranking works — one page can earn multiple relevance scores, one per passage, for different queries. Why it's ranking, not indexing.","snippetText":"Passage ranking is a Google AI system, announced in October 2020 and live in US English from February 2021, that scores individual sections ('passages') of a page so a single page can earn multiple relevance scores — one per passage — for different queries. The name was corrected from 'passage indexing': Google still indexes whole pages; only the ranking scoring changed. Danny Sullivan put it bluntly — 'We are not indexing passages. Period.' It helps long, messy pages where a great answer is buried, affects roughly 7% of queries, and is unrelated to scroll-to-text fragments or featured snippet","href":"/ai-search/how-search-works/passage-ranking/","slug":"passage-ranking","meta":"Educational","aliases":["passage-ranking","passage ranking","passage-based ranking","passage indexing","Passage Ranking","chunking","vector-search","rag"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"passage-ranking ai-search ranking chunking vector-search rag ai-overviews Passage ranking is a Google AI system, announced in October 2020 and live in US English from February 2021, that scores individual sections ('passages') of a page so a single page can earn multiple relevance scores — one per passage — for different queries. The name was corrected from 'passage indexing': Google still indexes whole pages; only the ranking scoring changed. Danny Sullivan put it bluntly — 'We are not indexing passages. Period.' It helps long, messy pages where a great answer is buried, affects roughly 7% of queries, and is unrelated to scroll-to-text fragments or featured snippets. It's the conceptual ancestor of how AI Overviews and Copilot retrieve passages today. SEO action: write well-organized, self-contained sections — nothing artificial. What passage ranking is The naming confusion it's \"ranking,\" not \"indexing\" What you should do about it The core innovation: one page, many scores Why it exists: rescuing buried answers \"Ranking,\" not \"indexing\" — and why the distinction is load bearing Three things it is NOT Timeline and scale The AI era extension: the same idea, everywhere now Bing's foundational role the unsung half of this story What this actually means for your SEO AI summary Official documentation Quotes from the source Passage ranking — cheat sheet The mental models Passage ranking myths to avoid Creating a separate URL for every paragraph Calling passage ranking passage indexing Writing isolated snippets with no page level coherence Test yourself: Passage ranking Resources worth your time Stats worth citing Passage ranking is a Google AI system that scores individual sections ('passages') of a page so a single page can earn multiple relevance scores for different queries. Google still indexes whole pages — only the ranking changed. TL;DR — Passage ranking lets Google score one part of a page on its own. So if you've got one great answer buried in the middle of a long, sprawling page, Google can now surface that section even when the page as a whole isn't tightly about that topic. Despite the original name, Google still indexes your whole page — only the ranking changed. There's nothing special you need to do. What passage ranking is Google has described passage based ranking as helping identify relevant individual passages within pages for particular querie","passages":["TL;DR — Passage ranking lets Google score one part of a page on its own.","So if you've got one great answer buried in the middle of a long, sprawling page, Google can now surface that section even when the page as a whole isn't tightly about that topic.","Despite the original name, Google still indexes your whole page — only the ranking changed.","What passage ranking is Google has described passage based ranking as helping identify relevant individual passages within pages for particular queries.","It is a ranking capability, not a separate passage index or a special markup feature publishers can enable.","Normally, Google looks at a whole web page to decide how relevant it is to a search.","Passage ranking lets Google zoom in and judge individual sections of a page — what it calls \"passages\" — separately.","Imagine a long forum thread, or a rambling personal blog post, that happens to contain one perfect answer to a very specific question."],"updated":"2026-07-15T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/passage-ranking/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/passage-ranking/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Programmatic SEO","desc":"What programmatic SEO actually is, when it works and when it's spam, and how to build pages at scale that get indexed — from Patrick Stox.","snippetText":"Programmatic SEO (pSEO) is one template plus a data source generating many pages for similar queries. It's legitimate when each page genuinely answers its query with unique data, and it's spam when it stamps a thin template across a shallow dataset — which is what trips Google's scaled-content-abuse and doorway policies (and now Bing's). My contrarian take: thin content at scale is a data problem, not a template problem. And the first thing that actually decides whether any of it works is indexing — publish in staged batches, validate indexation and impressions before you scale, and treat craw","href":"/programmatic-seo/","slug":"programmatic-seo","meta":"Educational","aliases":["programmatic-seo","programmatic SEO","pSEO","programmatic pages","programmatic content","Programmatic SEO","scaled-content-abuse","doorway-pages","faceted-navigation","crawl-budget","thin-content"],"pillar":"programmatic-seo","taxonomy":["programmatic-seo"],"text":"programmatic-seo technical-seo indexing scaled-content Programmatic SEO (pSEO) is one template plus a data source generating many pages for similar queries. It's legitimate when each page genuinely answers its query with unique data, and it's spam when it stamps a thin template across a shallow dataset — which is what trips Google's scaled-content-abuse and doorway policies (and now Bing's). My contrarian take: thin content at scale is a data problem, not a template problem. And the first thing that actually decides whether any of it works is indexing — publish in staged batches, validate indexation and impressions before you scale, and treat crawl budget, internal linking, sitemaps, and index bloat as first-class. The people trying to fully automate this aren't doing well; the ones winning have proprietary data and real oversight. What programmatic SEO is When it's great vs. when it's spam What it actually is How to build it My central thesis: thin content at scale is a data problem, not a template problem When it works vs. when it's spam The part everyone skips: making it actually rank at scale Indexing is the first thing that matters Crawl budget and Crawl Stats Internal linking — no orphans Index bloat and thin variants Sitemaps and schema Where Bing stands now The accuracy spine — get these right Bottom line AI summary Official documentation Quotes from the source Before you scale QA checklist The frameworks Spam policy → pSEO mistake — cheat sheet Prompts for pressure testing a programmatic set Run the delete the modifier test across a dataset Build a staged rollout review Programmatic SEO (pSEO) is the practice of generating many pages from a single template plus a data source to target large sets of similar queries. It's powerful when each page genuinely answers its query with unique data, and spam when it just stamps a thin template across a shallow dataset. TL;DR — Programmatic SEO is building lots of pages from one template and a pile of data instead of writing each page by hand. Done right think currency converters or \"things to do in city \" pages backed by real data it can publish useful coverage efficiently. Done mainly to manipulate rankings with thin permutations, it can violate scaled content or doorway abuse policies. What programmatic SEO is Programmatic SEO — people often shorten it to pSEO — means generating a large number of pages from ","passages":["TL;DR — Programmatic SEO is building lots of pages from one template and a pile of data instead of writing each page by hand.","Done right think currency converters or \"things to do in city \" pages backed by real data it can publish useful coverage efficiently.","Done mainly to manipulate rankings with thin permutations, it can violate scaled content or doorway abuse policies.","What programmatic SEO is Programmatic SEO — people often shorten it to pSEO — means generating a large number of pages from a single template plus a data source , rather than writing each one individually.","You design the page layout once, point it at a spreadsheet or database, and it fills in thousands of variations.","The core idea is simple: one template + one good dataset = many pages , each aimed at a slightly different search.","If you've ever searched and landed on a page like: Wise — currency converter pages one for every \" currency to currency \" pair .","Zapier — \"connect App A to App B \" integration pages, reportedly hundreds of thousands of them."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/programmatic-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/programmatic-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Retrieval-Augmented Generation (RAG)","desc":"How RAG works — the retrieve-then-generate pattern behind Google AI Overviews, ChatGPT Search, and Perplexity — and what it means for getting your content cited.","snippetText":"RAG (Retrieval-Augmented Generation) is the retrieve-then-generate pattern behind AI search. It runs two phases at query time — retrieval (find relevant passages from an external index) and augmented generation (feed those passages to an LLM to write a grounded, cited answer) — without ever changing the model's weights. It's how AI answers cover information beyond a model's training cutoff. The retrieval phase chains chunking → embeddings → vector search → re-ranking → top-k passages. RAG reduces hallucinations but doesn't eliminate them — and insufficient retrieved context can make them worse","href":"/ai-search/how-search-works/rag/","slug":"rag","meta":"Educational","aliases":["rag","RAG","retrieval-augmented generation","retrieval augmented generation","what is RAG","RAG SEO","Retrieval-Augmented Generation (RAG)","grounding","ai-search","knowledge-cutoff"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"rag ai-search grounding embeddings vector-search chunking llm RAG (Retrieval-Augmented Generation) is the retrieve-then-generate pattern behind AI search. It runs two phases at query time — retrieval (find relevant passages from an external index) and augmented generation (feed those passages to an LLM to write a grounded, cited answer) — without ever changing the model's weights. It's how AI answers cover information beyond a model's training cutoff. The retrieval phase chains chunking → embeddings → vector search → re-ranking → top-k passages. RAG reduces hallucinations but doesn't eliminate them — and insufficient retrieved context can make them worse. For SEO there's no separate AI index: being crawlable, indexed, and structured into clear, self-contained passages is the prerequisite for being retrieved and cited. What RAG is A quick example Why it matters to you The two phases and why \"inference time\" is the whole point Inside the retrieval phase Naive, advanced, and agentic RAG Does RAG eliminate hallucinations? No. RAG vs. fine tuning RAG in the wild: Google, ChatGPT, Perplexity What RAG means for SEO AI summary Official documentation Quotes from the source RAG cheat sheet The mental models Test yourself: Retrieval augmented generation Resources worth your time Stats worth citing RAG is the retrieve-then-generate pattern behind AI search: the system retrieves relevant passages from an external index at query time, injects them into the model's context, and generates an answer grounded in those sources — without changing the model's weights. The original RAG architecture combined a language model with information retrieved from an external index during generation. Modern platform documentation uses the same broad retrieve then generate idea. TL;DR — RAG Retrieval Augmented Generation is how AI search engines look things up before they answer. Instead of replying purely from memory, the system first retrieves relevant passages from a search index, then generates an answer based on what it found. That's why Google AI Overviews, ChatGPT Search, and Perplexity can cite fresh web pages — and why being in the index still matters. What RAG is A large language model an LLM, the thing behind ChatGPT and similar tools learns from a huge pile of text during training. But that training has a cutoff date, and the model can't possibly memorize everything — so on its","passages":["The original RAG architecture combined a language model with information retrieved from an external index during generation.","Modern platform documentation uses the same broad retrieve then generate idea.","TL;DR — RAG Retrieval Augmented Generation is how AI search engines look things up before they answer.","Instead of replying purely from memory, the system first retrieves relevant passages from a search index, then generates an answer based on what it found.","That's why Google AI Overviews, ChatGPT Search, and Perplexity can cite fresh web pages — and why being in the index still matters.","What RAG is A large language model an LLM, the thing behind ChatGPT and similar tools learns from a huge pile of text during training.","But that training has a cutoff date, and the model can't possibly memorize everything — so on its own it either doesn't know recent or niche facts, or it makes something up that sounds right.","When you ask a question, a RAG system does two things in order: 1."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/rag/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/rag/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Retrieved vs. Mentioned vs. Cited in AI","desc":"Retrieved, mentioned, and cited are three different things AI search can do with your content — each needs a different tool to measure and a different lever to fix.","snippetText":"Retrieved, mentioned, and cited are three separate states, not one. Retrieved = an AI fetched your page (visible only in server logs — and the -User bots are the signal that matters). Mentioned = your brand is in the answer text with no link. Cited = your URL is linked. They don't move together: 99.6% of AI influence is invisible (OtterlyAI), ChatGPT cites only ~15% of what it retrieves, and even being cited rarely earns a click (1% per Pew). No single tool sees all three — you need logs for retrieval, brand monitoring for mentions, and citation tracking for citations.","href":"/ai-search/measurement-and-reporting/retrieved-mentioned-cited/","slug":"retrieved-mentioned-cited","meta":"Educational","aliases":["retrieved-mentioned-cited","retrieved vs cited","AI citations","AI mentions","cited in AI","mentioned in AI","Retrieved vs. Mentioned vs. Cited","llm-visibility","ai-share-of-voice","measurement-and-reporting"],"pillar":"ai-search","taxonomy":["ai-search","measurement-and-reporting"],"text":"ai-search ai-visibility llm-visibility citations brand-monitoring Retrieved, mentioned, and cited are three separate states, not one. Retrieved = an AI fetched your page (visible only in server logs — and the -User bots are the signal that matters). Mentioned = your brand is in the answer text with no link. Cited = your URL is linked. They don't move together: 99.6% of AI influence is invisible (OtterlyAI), ChatGPT cites only ~15% of what it retrieves, and even being cited rarely earns a click (1% per Pew). No single tool sees all three — you need logs for retrieval, brand monitoring for mentions, and citation tracking for citations. Three things, not one Why the difference matters What this means for you The three states — and why conflating them costs you The distinction that matters most: training crawl vs. live inference Why the gap is so wide — the invisible influence problem How each platform handles retrieval and citation How to detect each state Two inverse gaps worth knowing What to do about the gaps The measurement stack you actually need AI summary Official documentation Quotes from the source How to check each layer Retrieved vs. Mentioned vs. Cited — cheat sheet Funnel state measurement mistakes Calling a crawler hit a citation Inferring retrieval from a mention Treating all bot traffic as user triggered retrieval The Evidence Ladder Test yourself: Retrieved, mentioned, and cited Resources worth your time Stats worth citing Three distinct states of AI visibility: retrieved (an AI fetched your page as source material), mentioned (your brand appears in the answer text), and cited (your URL is linked as a source). They don't always happen together, and each is measured with a different tool. TL;DR — \"Showing up in AI\" is really three different things. Retrieved means an AI read your page. Mentioned means your name appeared in the answer. Cited means your link was in the answer. They don't always happen together — you can be read and never named, or named and never linked — and you need a different tool to spot each one. Three things, not one Retrieval, mention, and citation are distinct observable outcomes; no platform guarantees that crawl access produces any of them. OpenAI documents separate crawler user agents and controls for search versus training contexts. When someone says \"I want to show up in ChatGPT,\" they're usually picturing one thing:","passages":["TL;DR — \"Showing up in AI\" is really three different things.","They don't always happen together — you can be read and never named, or named and never linked — and you need a different tool to spot each one.","Three things, not one Retrieval, mention, and citation are distinct observable outcomes; no platform guarantees that crawl access produces any of them.","OpenAI documents separate crawler user agents and controls for search versus training contexts.","When someone says \"I want to show up in ChatGPT,\" they're usually picturing one thing: their link in the answer.","But there are actually three separate things an AI can do with your content, and people mash them all together under \"AI visibility.\" That's where the confusion starts.","Retrieved — the AI fetched and read your page while it was building the answer.","You won't see this in Google Analytics; the only place it shows up is your server logs ."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/measurement-and-reporting/retrieved-mentioned-cited/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/measurement-and-reporting/retrieved-mentioned-cited/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Schema Markup for AI","desc":"Does schema markup help you show up in AI search? The evidence says it's not a citation lever — it's entity infrastructure. Here's what actually matters.","snippetText":"Schema markup doesn't directly increase AI citations — a 1,885-page study found no significant lift — but it's infrastructure for entity disambiguation that helps AI systems understand who you are.","href":"/ai-search/optimization/schema-markup-for-ai/","slug":"schema-markup-for-ai","meta":"Educational","aliases":["schema-markup-for-ai","schema markup for AI","structured data for AI","schema for AI search","Schema Markup for AI","ai-search-optimization","ai-search","entity-seo","structured-data"],"pillar":"ai-search","taxonomy":["ai-search","optimization"],"text":"schema-markup structured-data ai-search-optimization json-ld schema-org Schema markup doesn't directly increase AI citations — a 1,885-page study found no significant lift — but it's infrastructure for entity disambiguation that helps AI systems understand who you are. What schema markup is The AI hype vs. what's real What schema actually does Start from the official position, because it's clearer than the hype Bing is the one platform that says schema helps its LLMs The evidence on citations: the Ahrefs 1,885 page study The most plausible mechanism: entity disambiguation Which types are worth implementing The trap that quietly kills schema for AI: JavaScript The bottom line AI summary Official documentation Quotes from the source Schema for AI implementation checklist Schema types — cheat sheet Schema for AI mistakes to avoid Promising a citation boost Marking up facts users cannot verify Linking the wrong entity with Injecting all markup after client rendering Common schema for AI problems The markup validates but describes a different entity Structured data is missing from raw HTML Rich results tools report ineligible markup Schema markup (structured data) is machine-readable code — usually JSON-LD — that labels what your content means using the schema.org vocabulary. For AI search it's infrastructure for entity disambiguation, not a direct citation lever: controlled studies found no meaningful uplift in AI citations from adding it. TL;DR — Schema markup is code you add to a page that labels what your content means so machines don't have to guess. You'll hear that adding it boosts your odds of getting cited in AI Overviews or ChatGPT. The best evidence says it doesn't do that directly. What it does do is help AI systems understand who you are and what your pages are — useful, just not the magic switch it's sold as. What schema markup is When you read a page, you can tell a phone number from a price from an author's name just by looking. A machine can't — it sees text. Schema markup also called structured data is extra code you add to a page that spells it out: \"this is the author,\" \"this is the published date,\" \"this is the price.\" It uses a shared vocabulary from a site called schema.org https://schema.org/ so every search engine and AI system reads it the same way. Most of the time it's written in a format called JSON LD — a little block of code that si","passages":["TL;DR — Schema markup is code you add to a page that labels what your content means so machines don't have to guess.","You'll hear that adding it boosts your odds of getting cited in AI Overviews or ChatGPT.","What it does do is help AI systems understand who you are and what your pages are — useful, just not the magic switch it's sold as.","What schema markup is When you read a page, you can tell a phone number from a price from an author's name just by looking.","Schema markup also called structured data is extra code you add to a page that spells it out: \"this is the author,\" \"this is the published date,\" \"this is the price.\" It uses a shared vocabulary from a site called schema.org https://schema.org/ so every search engine and AI system reads it the same way.","Most of the time it's written in a format called JSON LD — a little block of code that sits in the page's HTML and describes the content without changing how the page looks to a visitor.","It still has to describe content readers can actually see on the page.","what's real Here's the pitch you've probably heard: add schema markup and you'll get cited more in AI search."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/optimization/schema-markup-for-ai/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/optimization/schema-markup-for-ai/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Semantic Search","desc":"How search engines match meaning instead of keywords — the Knowledge Graph, Hummingbird, RankBrain, neural matching, BERT, and MUM, and what it means for SEO.","snippetText":"Semantic search retrieves by meaning, not by exact keyword match. Google got there in layers — the Knowledge Graph (2012, 'things not strings'), Hummingbird (2013, whole-query meaning), RankBrain (2015, novel queries), neural matching (2018, concept-level synonyms), BERT (2019, contextual word meaning), and MUM (2021, multimodal). It's why keyword stuffing and chasing every synonym stopped working, and why topical depth, clear entities, and intent alignment started mattering. Semantic search is the goal; vector search is one way to do it. 'LSI keywords' are a myth — John Mueller said so flatly","href":"/ai-search/how-search-works/semantic-search/","slug":"semantic-search","meta":"Educational","aliases":["semantic-search","semantic search","semantic SEO","knowledge graph","RankBrain","BERT","neural matching","Hummingbird","MUM","query intent","topical authority","BM25","TF-IDF","query understanding","structured data","Semantic Search","entity-seo","embeddings","vector-search","rag"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"semantic-search ai-search entity-seo bert knowledge-graph Semantic search retrieves by meaning, not by exact keyword match. Google got there in layers — the Knowledge Graph (2012, 'things not strings'), Hummingbird (2013, whole-query meaning), RankBrain (2015, novel queries), neural matching (2018, concept-level synonyms), BERT (2019, contextual word meaning), and MUM (2021, multimodal). It's why keyword stuffing and chasing every synonym stopped working, and why topical depth, clear entities, and intent alignment started mattering. Semantic search is the goal; vector search is one way to do it. 'LSI keywords' are a myth — John Mueller said so flatly. The optimization answer hasn't changed across a decade of updates: write naturally, cover the topic, name your entities. What semantic search is Why it changed SEO The thing most people get wrong Keyword search vs. semantic search How Google built semantic search — the milestones 2012 — Knowledge Graph \"things, not strings\" 2013 — Hummingbird whole query meaning 2015 — RankBrain never before seen queries 2018 — Neural matching concept level synonyms 2019 — BERT contextual word meaning 2021 — MUM multimodal, multilingual 2023+ — LLMs and AI search Semantic search vs. vector search How it actually works under the hood The LSI keyword myth What semantic search means for SEO When semantic SEO matters less How AI search builds on this AI summary Official documentation Quotes from the source Google's semantic milestones — cheat sheet The mental models Semantic search mistakes Semantic search is meaning-based retrieval — matching what a user means, not just the words they typed. Search engines detect entities, expand synonyms, infer intent, and rank by conceptual relevance, which is why keyword stuffing lost its power and topical depth gained it. TL;DR — Semantic search means search engines match the meaning of what you're looking for, not just the exact words you typed. Google figures out \"what does this person actually want?\" and \"what is this page really about?\" — then connects the two. It's why you don't have to repeat keywords over and over anymore, and why writing naturally about a topic works better than stuffing it with phrases. What semantic search is Semantic search seeks matches based on meaning and context in addition to exact terms. Modern systems may combine language models, lexical retrieval, entities, ","passages":["TL;DR — Semantic search means search engines match the meaning of what you're looking for, not just the exact words you typed.","Google figures out \"what does this person actually want?\" and \"what is this page really about?\" — then connects the two.","It's why you don't have to repeat keywords over and over anymore, and why writing naturally about a topic works better than stuffing it with phrases.","What semantic search is Semantic search seeks matches based on meaning and context in addition to exact terms.","Modern systems may combine language models, lexical retrieval, entities, and other signals rather than rely on one technique.","If you searched \"cheap flights,\" they looked for pages with the words \"cheap\" and \"flights\" on them.","Useful, but dumb — it had no idea that \"affordable airfare\" means the same thing, or that \"jaguar\" could be an animal or a car.","Instead of matching letters and words, it tries to understand meaning ."],"updated":"2026-07-22T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/semantic-search/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/semantic-search/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"User Agent","desc":"What a user agent is — the HTTP header crawlers and browsers use to identify themselves, the robots.txt token vs. the full string, and how to verify a bot is real.","snippetText":"A user agent is the HTTP header every client — browser, crawler, or bot — sends to identify itself. Two things get confused: the full user-agent *string* in the request header, and the short user-agent *token* (Googlebot, bingbot, Google-Extended) you target in robots.txt. The token is a substring of the string (RFC 9309); some tokens, like Google-Extended, have no request string at all. The string is trivially spoofed — Google says its own is 'often spoofed' — so never trust it for access control. Verify Googlebot/Bingbot by reverse DNS plus a forward lookup, or against published IP ranges. A","href":"/technical-seo/how-search-works/crawling/user-agent/","slug":"user-agent","meta":"Educational","aliases":["user-agent","user agent","user agent string","user-agent token","crawler user agent","User Agent","crawler","googlebot","bingbot","robots-txt"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"user-agent crawling technical-seo robots-txt googlebot bingbot log-analysis ai-crawlers A user agent is the HTTP header every client — browser, crawler, or bot — sends to identify itself. Two things get confused: the full user-agent *string* in the request header, and the short user-agent *token* (Googlebot, bingbot, Google-Extended) you target in robots.txt. The token is a substring of the string (RFC 9309); some tokens, like Google-Extended, have no request string at all. The string is trivially spoofed — Google says its own is 'often spoofed' — so never trust it for access control. Verify Googlebot/Bingbot by reverse DNS plus a forward lookup, or against published IP ranges. And watch the gotchas: AdsBot and Google-Safety ignore `User-agent: *`, version numbers and wildcards in the token line are ignored, matching is case-insensitive, and serving different content to a bot UA than to users is cloaking. What a user agent is The string vs. the short name You can't trust the string A few gotchas The header, the string, and the token Google Extended: a token with no string Googlebot's user agent strings Google's crawler tokens Bingbot's user agent strings How robots.txt actually matches a token Why you can't trust the string — and how to verify A UA match is not proof of downstream outcomes Web Bot Auth: where verification is heading Browsers are getting harder to parse from the UA string too User agent targeting and cloaking AI summary Official documentation Quotes from the source Crawler → token → string → verify Verify a bot by reverse + forward DNS Match against published IP ranges at scale User agent sanity checklist Tools for working with user agents Prompts for user agent tasks A user agent is the HTTP request header a client (browser, crawler, or bot) sends to identify itself. For crawlers, a short user-agent token — a substring of that string — is what robots.txt rules actually target. TL;DR — A user agent is a little line of text every browser and every bot sends with each request to say \"here's who I am.\" Google's crawler says it's Googlebot; Bing's says bingbot. In you don't write the whole line — you use a short name a \"token\" like . And here's the catch: that line is just text, so anyone can fake it. The only real way to know a bot is who it claims to be is to check where its request actually came from. What a user agent is Every time your brows","passages":["TL;DR — A user agent is a little line of text every browser and every bot sends with each request to say \"here's who I am.\" Google's crawler says it's Googlebot; Bing's says bingbot.","In you don't write the whole line — you use a short name a \"token\" like .","And here's the catch: that line is just text, so anyone can fake it.","The only real way to know a bot is who it claims to be is to check where its request actually came from.","What a user agent is Every time your browser loads a page, it sends along a short text label that says what it is — something like \"I'm Chrome on a Mac.\" That label is the user agent , and it travels in an HTTP header on every request.","Important catch up front: the client fills in that label itself.","It's a claim, not a credential — so a user agent that says \"Googlebot\" is not the same thing as a request that's actually verified as Googlebot.","When Googlebot fetches your page, it sends a user agent that includes ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/user-agent/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/user-agent/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Vector Search","desc":"How AI search finds relevant content by comparing embedding vectors — ANN algorithms (HNSW, ScaNN), distance metrics, hybrid search, and what it means for SEO.","snippetText":"Vector search finds content by comparing the meaning of a query against stored content as embedding vectors, retrieving the closest ones in a high-dimensional space. At scale it uses approximate nearest neighbor (ANN) algorithms — HNSW, IVF, FAISS, ScaNN — that trade a sliver of recall for huge speed gains, because exact comparison over billions of vectors is impossible in real time. It's a method for achieving semantic search, not a synonym for it, and it's the retrieval step inside every RAG system, including what feeds AI Overviews. Production search rarely runs it alone: the real pattern i","href":"/ai-search/how-search-works/vector-search/","slug":"vector-search","meta":"Educational","aliases":["vector-search","vector search","vector database","ANN search","approximate nearest neighbor","vector similarity search","cosine similarity search","hybrid search","Vector Search","embeddings","semantic-search","rag"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"vector-search ai-search embeddings ann hnsw semantic-search rag Vector search finds content by comparing the meaning of a query against stored content as embedding vectors, retrieving the closest ones in a high-dimensional space. At scale it uses approximate nearest neighbor (ANN) algorithms — HNSW, IVF, FAISS, ScaNN — that trade a sliver of recall for huge speed gains, because exact comparison over billions of vectors is impossible in real time. It's a method for achieving semantic search, not a synonym for it, and it's the retrieval step inside every RAG system, including what feeds AI Overviews. Production search rarely runs it alone: the real pattern is hybrid (keyword BM25 + vector + reranking). For SEO there's no knob to turn — vector proximity is the new gate into the candidate pool, and it rewards topically coherent, passage-level depth over keyword density. What vector search is A simple mental model Why \"approximate\" Why this matters for you Where vector search sits How vector search works, step by step Approximate nearest neighbor — why \"approximate\" Key ANN algorithms Distance metrics Vector databases Hybrid search — how production actually works How Google and Bing actually use vector search What this means for SEO AI summary Official documentation Quotes from the source The mental models Vector search — cheat sheet Test yourself: Vector search Resources worth your time Vector search finds content by comparing the meaning of a query against stored content as numerical vectors, retrieving the closest ones in a high-dimensional embedding space. At scale it uses approximate nearest neighbor (ANN) algorithms — not exact comparison — to search billions of vectors in milliseconds. TL;DR — Vector search finds content by meaning instead of by matching the exact words you typed. It turns your query and every stored document into a list of numbers — a vector — and returns the documents whose numbers are closest to your query's numbers. It's how AI search and chatbots find the passages they answer from. What vector search is Vector search retrieves items by proximity in an embedding space, often using approximate nearest neighbor indexes for scale. Similarity depends on the embedding model, distance function, and indexed data. Old school keyword search matches words. If you search \"how to fix a slow website\" and a page says \"improve site performance,\" a pu","passages":["TL;DR — Vector search finds content by meaning instead of by matching the exact words you typed.","It turns your query and every stored document into a list of numbers — a vector — and returns the documents whose numbers are closest to your query's numbers.","It's how AI search and chatbots find the passages they answer from.","What vector search is Vector search retrieves items by proximity in an embedding space, often using approximate nearest neighbor indexes for scale.","Similarity depends on the embedding model, distance function, and indexed data.","If you search \"how to fix a slow website\" and a page says \"improve site performance,\" a pure keyword engine might miss it — different words, same meaning.","A model called an embeddings model reads text and turns it into a long list of numbers a vector that captures what the text means .","Content about the same thing gets similar numbers, so it lands close together in a kind of mathematical map."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/vector-search/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/vector-search/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Vibe Ranking","desc":"What 'vibe ranking' really means — LLM-based reranking, the two-stage retrieval pipeline, what Google and Bing actually do, and how to optimize for it.","snippetText":"\"Vibe ranking\" is practitioner shorthand — not an official Google or Bing term — for LLM-based reranking: using a large language model to reorder retrieved search candidates by holistic, semantic judgment instead of keyword overlap or raw vector similarity. The real mechanism behind it is the two-stage retrieval pipeline (retrieve many candidates cheaply, then rerank a small set with an expensive model) and three reranking paradigms (pointwise, pairwise, listwise). Google's DOJ-disclosed RankEmbed and pairwise patent, plus Bing's Web IQ and Google's documented Passage ranking system, confirm L","href":"/ai-search/how-search-works/vibe-ranking/","slug":"vibe-ranking","meta":"Educational","aliases":["vibe-ranking","vibe ranking","LLM reranker","LLM reranking","neural reranking","two-stage retrieval","pairwise ranking","listwise reranking","passage reranking","RankGPT","cross-encoder","Vibe Ranking","rag","passage-ranking"],"pillar":"ai-search","taxonomy":["ai-search","how-search-works"],"text":"vibe-ranking llm-reranking ai-search passage-ranking rag \"Vibe ranking\" is practitioner shorthand — not an official Google or Bing term — for LLM-based reranking: using a large language model to reorder retrieved search candidates by holistic, semantic judgment instead of keyword overlap or raw vector similarity. The real mechanism behind it is the two-stage retrieval pipeline (retrieve many candidates cheaply, then rerank a small set with an expensive model) and three reranking paradigms (pointwise, pairwise, listwise). Google's DOJ-disclosed RankEmbed and pairwise patent, plus Bing's Web IQ and Google's documented Passage ranking system, confirm LLMs and passage-level scoring are now deep in ranking — though neither vendor discloses the scoring function. The SEO takeaway: clear, authoritative, well-structured, factually grounded prose is defensible practice under an LLM reranker, not a guaranteed win. What \"vibe ranking\" means Why this matters for your content A note on the term before we start The two stage retrieval pipeline The three reranking paradigms What Google and Bing are actually doing The passage level shift — the part that actually changes your SEO What LLM rerankers favor and the honest caveat AI summary Reranking paradigms — cheat sheet The mental models Official documentation Quotes from the source Test yourself: Vibe ranking Resources worth your time Vibe ranking is informal practitioner shorthand for LLM-based reranking — using a large language model to reorder retrieved search candidates by holistic, semantic judgment (relevance, clarity, expertise, completeness) rather than keyword overlap or vector similarity alone. It is not an official Google or Bing term. TL;DR — \"Vibe ranking\" is a nickname for a real thing: AI search engines using a large language model to read a set of search results and reorder them by how good they actually are — clear, expert, on topic — instead of just counting keywords. It's not an official Google or Bing term. The name borrows from \"vibe coding.\" The practical lesson: write clear, trustworthy passages that answer the question directly. What \"vibe ranking\" means \"Vibe ranking\" is an informal label here, not a standardized research or vendor term. The underlying retrieve then rerank pattern is established: a fast retriever produces candidates and a more expensive relevance model can reorder them. First, the ho","passages":["TL;DR — \"Vibe ranking\" is a nickname for a real thing: AI search engines using a large language model to read a set of search results and reorder them by how good they actually are — clear, expert, on topic — instead of just counting keywords.","The name borrows from \"vibe coding.\" The practical lesson: write clear, trustworthy passages that answer the question directly.","What \"vibe ranking\" means \"Vibe ranking\" is an informal label here, not a standardized research or vendor term.","The underlying retrieve then rerank pattern is established: a fast retriever produces candidates and a more expensive relevance model can reorder them.","First, the honest part: \"vibe ranking\" is not a term Google or Bing use.","It's shorthand that SEO people started using — borrowed from \"vibe coding,\" the phrase Andrej Karpathy coined in early 2025 for loosely steering an AI by feel rather than writing every line yourself.","The \"real name\" for the thing it describes is LLM reranking .","When you ask an AI search tool a question, it doesn't just grab the single best page."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-24","markdown":"https://patrickstox.com/ai-search/how-search-works/vibe-ranking/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/ai-search/how-search-works/vibe-ranking/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Alternate Page with Proper Canonical Tag","desc":"\"Alternate page with proper canonical tag\" in Google Search Console's Page Indexing report isn't an error — it's the canonical system working as intended. What it means, why high counts are usually fine, how it differs from the two duplicate statuses, and the small set of cases worth investigating.","snippetText":"\"Alternate page with proper canonical tag\" is the one canonical/duplicate status in GSC's Page Indexing report that's working as intended — Google literally says \"there is nothing you need to do.\" The page is a duplicate or alternate version (Google's own examples: mobile, AMP, desktop) that correctly points its canonical at another page, and that canonical is the one indexed; Google says alternate-language pages aren't detected under this exact status. High counts are normal on ecommerce, faceted, parameterized, and multilingual sites — Google publishes no numerical threshold, so triage by wh","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/alternate-page-canonical/","slug":"alternate-page-canonical","meta":"Educational","aliases":["alternate-page-canonical","alternate page with proper canonical tag","alternate page canonical","gsc alternate page canonical","Alternate page with proper canonical tag","Duplicate Content","Canonical Tag","Canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"alternate-page-canonical gsc-page-indexing indexing canonicalization technical-seo \"Alternate page with proper canonical tag\" is the one canonical/duplicate status in GSC's Page Indexing report that's working as intended — Google literally says \"there is nothing you need to do.\" The page is a duplicate or alternate version (Google's own examples: mobile, AMP, desktop) that correctly points its canonical at another page, and that canonical is the one indexed; Google says alternate-language pages aren't detected under this exact status. High counts are normal on ecommerce, faceted, parameterized, and multilingual sites — Google publishes no numerical threshold, so triage by which URL patterns and pages are affected, not the raw count. There's no error to validate. The only question that matters: are pages you actually wanted indexed sitting in this bucket? If no, ignore it. If yes, check the declared vs Google-selected canonical in URL Inspection and fix the canonical target. Don't confuse it with its two siblings — \"Duplicate without user-selected canonical\" (you declared none) and \"Duplicate, Google chose different canonical than user\" (Google overrode yours) — which do warrant scrutiny. What this status means The thing to understand When you should actually care Start here: this is the happy path What an \"alternate\" page actually is Why high counts are usually fine The three canonical statuses, side by side The decision gate: do you even need to do anything? Quick audit workflow for a large bucket When it actually is a problem How to check: URL Inspection How to fix it — only if needed How Google chooses a canonical briefly AI summary Official documentation Quotes from the source The mental models \"Should I worry about this?\" checklist Should I act on this status? The standing KPI: bucket size relative to site size Alternate page count as a share of total known URLs Runbook: a wanted page is stuck in this bucket Test yourself: alternate page with proper canonical tag Bulk checking canonical targets A Google Search Console Page Indexing status meaning a page is a duplicate or alternate version that correctly points its canonical at another, indexed page. It's normal, healthy behavior — Google says there is nothing you need to do. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — \"Alternate page with proper canonical tag\" is a status i","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — \"Alternate page with proper canonical tag\" is a status in Google Search Console that looks scary because it's filed under \"Why pages aren't indexed\" — but it's not an error.","It means the page is a copy or alternate version of another page, and it correctly tells Google to index that other page instead.","What this status means When you open the Page Indexing report in Google Search Console, you'll see a list of reasons pages aren't indexed.","\"Alternate page with proper canonical tag\" is one of them — and it's the one that trips people up, because it sounds like a problem when it usually isn't.","One of them — the \"alternate\" — has a canonical tag that points at the other one, saying \"that's the real version, index that instead of me.\" Google looked at it, agreed, indexed the page being pointed to, and filed the alternate here.","Common examples of pages that legitimately end up here — Google's own definition names the mobile/AMP/desktop pairs specifically, and print or tracking parameter duplicates show up here too.","One exception worth knowing: Google says alternate language pages aren't detected under this exact status, even though translated content can still canonicalize elsewhere in the broader system.","The thing to understand This page isn't broken, blocked, or penalized."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/alternate-page-canonical/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/alternate-page-canonical/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Bing Webmaster Tools","desc":"What Bing Webmaster Tools is, why a Google-first SEO should use it, and the four things it does that Search Console can't — IndexNow, backlinks, keyword volumes, and AI-search reach.","snippetText":"Bing Webmaster Tools is Microsoft's free, Search Console–equivalent dashboard for Bing — and you can import your verified sites straight from Google Search Console in a couple of clicks. The reason a Google-first SEO bothers with it: four things GSC can't do — IndexNow and adaptive URL submission (up to 10,000 URLs/day), a backlinks report generous enough to compare competitors, real keyword search volumes, and a read on AI-search surfaces, since Bing's index feeds Microsoft Copilot. Instant submission speeds discovery, not ranking, and never guarantees indexing.","href":"/technical-seo/tools/search-engine-tools/bing-webmaster-tools/","slug":"bing-webmaster-tools","meta":"Educational","aliases":["bing-webmaster-tools","Bing Webmaster Tools","Bing webmaster","BWT","search-engine-tools","google-search-console","indexnow"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools"],"text":"bing-webmaster-tools bing indexnow technical-seo search-engine-tools Bing Webmaster Tools is Microsoft's free, Search Console–equivalent dashboard for Bing — and you can import your verified sites straight from Google Search Console in a couple of clicks. The reason a Google-first SEO bothers with it: four things GSC can't do — IndexNow and adaptive URL submission (up to 10,000 URLs/day), a backlinks report generous enough to compare competitors, real keyword search volumes, and a read on AI-search surfaces, since Bing's index feeds Microsoft Copilot. Instant submission speeds discovery, not ranking, and never guarantees indexing. What Bing Webmaster Tools is The easy way to set it up Why bother if most of my traffic is Google? What to remember What it is, and the framing I use Setup: import from Search Console first The four differentiators The rest of the toolset parity with GSC The honest GSC vs BWT verdict Myths worth killing AI summary Official documentation Quotes from the source Bing Webmaster Tools setup checklist The mental models Bing Webmaster Tools cheat sheet Related tools Test yourself: Bing Webmaster Tools Choose the right Bing submission path Bing Webmaster Tools mistakes to avoid Resources worth your time Microsoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. TL;DR — Bing Webmaster Tools is a free tool from Microsoft — basically Google Search Console, but for Bing. The easiest way to start: import the sites you've already verified in Search Console, and Bing verifies them for you automatically. The best reason to use it is IndexNow — you can tell Bing about new or changed pages instantly instead of waiting for it to crawl them. What Bing Webmaster Tools is Bing Webmaster Tools BWT is Microsoft's free service for seeing and improving how your site does in Bing search. If you've used Google Search Console, you already know the shape of it: it shows the searches that found your pages, how many people clicked, which pages Bing has indexed, and any problems Bing ran into. The easy way to set it up You don't have to re verify your site from scratch. If your site is already in Google Search Console, you can ","passages":["TL;DR — Bing Webmaster Tools is a free tool from Microsoft — basically Google Search Console, but for Bing.","The easiest way to start: import the sites you've already verified in Search Console, and Bing verifies them for you automatically.","The best reason to use it is IndexNow — you can tell Bing about new or changed pages instantly instead of waiting for it to crawl them.","What Bing Webmaster Tools is Bing Webmaster Tools BWT is Microsoft's free service for seeing and improving how your site does in Bing search.","If you've used Google Search Console, you already know the shape of it: it shows the searches that found your pages, how many people clicked, which pages Bing has indexed, and any problems Bing ran into.","The easy way to set it up You don't have to re verify your site from scratch.","If your site is already in Google Search Console, you can import it straight into Bing — Microsoft says the \"imported sites will be automatically verified, eliminating the need for manual site verification steps.\" A couple of clicks and you're done.","You can push new and changed pages to Bing right away instead of waiting for a crawl."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/bing-webmaster-tools/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/bing-webmaster-tools/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Blocked Due to Unauthorized Request (401)","desc":"What the Google Search Console Page Indexing status \"Blocked due to unauthorized request (401)\" means, how it differs from 403 under RFC 9110, the common causes, how to diagnose it as a bot, and the right fix by page type — public, private, WAF false positive, or paywalled.","snippetText":"\"Blocked due to unauthorized request (401)\" is a Google Search Console Page Indexing status meaning Googlebot got an HTTP 401 (authentication required) when it tried to crawl the URL. Google never supplies credentials, so it can't see the page — it won't be indexed, and a previously indexed URL returning 401 eventually gets dropped. By RFC 9110, 401 means the request lacks valid credentials (none sent, or the ones sent were refused); 403 means the server understood the request and refused it, for reasons that aren't always about credentials. Google treats all 4xx except 429 the same for indexi","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-401/","slug":"blocked-401","meta":"Educational","aliases":["blocked-401","blocked due to unauthorized request 401","401 unauthorized googlebot","gsc 401 blocked","Blocked due to unauthorized request (401)","crawling","indexing","gsc-page-indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"blocked-401 gsc-page-indexing indexing technical-seo http-status-codes googlebot \"Blocked due to unauthorized request (401)\" is a Google Search Console Page Indexing status meaning Googlebot got an HTTP 401 (authentication required) when it tried to crawl the URL. Google never supplies credentials, so it can't see the page — it won't be indexed, and a previously indexed URL returning 401 eventually gets dropped. By RFC 9110, 401 means the request lacks valid credentials (none sent, or the ones sent were refused); 403 means the server understood the request and refused it, for reasons that aren't always about credentials. Google treats all 4xx except 429 the same for indexing, so the outcome matches, but the cause and fix differ by what the page actually is: remove the auth requirement on an accidentally-gated public page; let verified Googlebot through by IP/reverse-DNS (not a spoofable user-agent) on a page falsely blocked by bot security; keep authentication on genuinely private or staging content rather than opening it to clear the report; use Google's paywall structured data instead of a blanket 401 on indexable subscription content. \"Loads fine in my browser\" is a trap — you're authenticated; Googlebot isn't. Don't use 401/403 to throttle crawling. Diagnose with URL Inspection's Live Test and curl -I (a missing WWW-Authenticate header means the response is malformed, not proof of a WAF). Live Test and Validate Fix confirm access, not indexing — there's no published retry cadence. What this status means Is it a problem? \"But the page loads fine for me \" What usually causes it What Google is actually telling you What Google does with a 401 401 vs 403 vs other 4xx — the part that matters Why you're seeing it — the common causes How to diagnose it — test as a bot, not a browser How to fix it — four branches, by what the page actually is Validate the fix and set expectations Where this sits AI summary Official documentation Quotes from the source 401 diagnosis & fix checklist 401 vs 403 vs other 4xx — cheat sheet The mental models Diagnosing a 401: intentional gate or misconfiguration? Track the 401 bucket, not just its existence 401 bucket count over time Runbook: diagnose, fix, validate Ready to use AI prompts Test yourself: \"Blocked due to unauthorized request 401 \" A Google Search Console Page Indexing status: Googlebot was refused with an HTTP 401 (auth","passages":["TL;DR — \"Blocked due to unauthorized request 401 \" means Googlebot tried to read your page and got asked to log in.","Google doesn't have a password for your site, so it gives up and the page can't be indexed.","If you want that page in Google, something is gating it that shouldn't be — usually leftover login protection, a staging site password, or a security rule that's blocking Google by mistake.","If the page is meant to be private, this is normal and there's nothing to fix.","What this status means This report label means Google received an HTTP 401 authorization response for the URL.","Google treats a persistent 4xx response other than 429 as unavailable content for indexing.","When you see \"Blocked due to unauthorized request 401 \" in Google Search Console's Page Indexing report, it's telling you this: Googlebot went to crawl the URL, and your server answered with an HTTP 401 , which is the code for \"authentication required\" — basically \"you need to log in to see this.\" Googlebot doesn't have a username and password for your site, and it never will.","So when a page demands a login, Googlebot can't get in, can't read the content, and can't index the page."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-401/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-401/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Blocked Due to Access Forbidden (403)","desc":"What the \"Blocked due to access forbidden (403)\" status in Google Search Console's Page Indexing report means, why Googlebot gets a 403 when your browser doesn't, how it differs from 401, and how to diagnose, fix, and validate it.","snippetText":"\"Blocked due to access forbidden (403)\" in the GSC Page Indexing report means Googlebot crawled the URL and your server returned an HTTP 403. Google won't index it (and removes it if it was indexed). Google's Page Indexing help describes a 403 as credentials supplied but denied — that's Google's report wording, not the full HTTP definition; RFC 9110 defines 403 more broadly and it can be unrelated to credentials. If the URL is meant to be public and indexable, treat the 403 as a bug to find; if it's meant to stay private, the 403 may be doing its job — fix discovery signals instead. For URLs t","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-403/","slug":"blocked-403","meta":"Educational","aliases":["blocked-403","blocked due to access forbidden 403","403 forbidden googlebot","gsc 403 blocked","Blocked due to access forbidden (403)","gsc-page-indexing","crawling","indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"blocked-403 403-forbidden googlebot gsc-page-indexing indexing technical-seo \"Blocked due to access forbidden (403)\" in the GSC Page Indexing report means Googlebot crawled the URL and your server returned an HTTP 403. Google won't index it (and removes it if it was indexed). Google's Page Indexing help describes a 403 as credentials supplied but denied — that's Google's report wording, not the full HTTP definition; RFC 9110 defines 403 more broadly and it can be unrelated to credentials. If the URL is meant to be public and indexable, treat the 403 as a bug to find; if it's meant to stay private, the 403 may be doing its job — fix discovery signals instead. For URLs that should be public, a firewall, CDN, or WAF is a commonly reported culprit, which is why the page often loads fine in your browser but 403s for Google. Google treats 401 and 403 the same for indexing, and says don't use either to limit crawl rate — use 429 or 503. Verify the real Googlebot (reverse DNS / published IP ranges / correct client category) before allowlisting, scope any exception narrowly, then confirm a 200 in URL Inspection and Validate Fix. What this status means Should you actually fix it? Why it loads for you but not for Google A firewall or CDN is a frequently reported cause How to start fixing it What Google actually says about a 403 — and what HTTP actually says Decide what the URL is supposed to do before you fix anything 403 vs 401 — how to tell them apart What a 403 does to indexing Why Googlebot gets a 403 when your browser doesn't Common causes Don't use 403 to throttle Googlebot How to diagnose How to fix it Validate the fix and get re indexed AI summary Official documentation Quotes from the source 403 diagnose → fix → validate checklist The mental models 403 cheat sheet Reproduce the 403 as Googlebot Verify a bot is really Googlebot before you allowlist Diagnosing a 403: WAF block, login wall, or rate limit misuse? A Google Search Console Page Indexing status meaning Googlebot tried to crawl the URL but the server returned an HTTP 403 (Forbidden). Google won't index the page. For a URL meant to be public, this is often a firewall/CDN/WAF unintentionally blocking Googlebot; for a URL meant to stay private, the 403 can be a valid, working access decision. TL;DR — \"Blocked due to access forbidden 403 \" in Google Search Console means Googlebot tried to read your page an","passages":["TL;DR — \"Blocked due to access forbidden 403 \" in Google Search Console means Googlebot tried to read your page and your server said \"no, you're not allowed\" an HTTP 403 .","If the page is supposed to be public, that's a bug to fix — often a firewall, CDN, or security plugin blocking Google by mistake, which is why the page can look fine in your browser but get blocked for Google.","If the page is supposed to stay private, the 403 may be doing exactly what it should — the fix is different.","What this status means This report label means Google received an HTTP 403 response while requesting the URL.","Google treats persistent 4xx responses other than 429 as unavailable content for indexing.","When you open the Page Indexing report in Search Console and see \"Blocked due to access forbidden 403 ,\" it's telling you something simple: Googlebot asked your server for the page, and the server refused with a 403 Forbidden error.","Because Google got a 403, it can't read the page's content, so it won't index it — and if the page was already in Google, it gets dropped from the results.","Before you chase a rule, decide what the URL is supposed to do: Meant to be public and indexed — the 403 is a bug."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-403/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-403/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Blocked by robots.txt (GSC Status)","desc":"What the Google Search Console \"Blocked by robots.txt\" Page Indexing status means — a URL excluded from indexing because robots.txt disallowed crawling. Usually intentional. How it differs from \"Indexed, though blocked,\" why noindex + disallow conflict, and how to fix it if the block was a mistake.","snippetText":"\"Blocked by robots.txt\" is a Google Search Console Page Indexing exclusion: Google found the URL but didn't crawl it because your robots.txt disallows it, so it isn't indexed in this state. Most of the time it's intentional and fine — robots.txt controls crawling, not indexing, so a disallow is not a deindexing tool. It's a sibling to the \"Indexed, though blocked by robots.txt\" warning, which is the opposite outcome (Google indexed a blocked URL anyway, usually via links). The big gotcha: noindex + disallow conflict — Google can't crawl a disallowed page, so it never sees the noindex. To remov","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-by-robots-txt/","slug":"blocked-by-robots-txt","meta":"Educational","aliases":["blocked-by-robots-txt","blocked by robots.txt","url blocked by robots.txt","gsc blocked by robots","Blocked by robots.txt","indexed-though-blocked-by-robots-txt","robots-txt","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"blocked-by-robots-txt robots-txt technical-seo indexing google-search-console crawling \"Blocked by robots.txt\" is a Google Search Console Page Indexing exclusion: Google found the URL but didn't crawl it because your robots.txt disallows it, so it isn't indexed in this state. Most of the time it's intentional and fine — robots.txt controls crawling, not indexing, so a disallow is not a deindexing tool. It's a sibling to the \"Indexed, though blocked by robots.txt\" warning, which is the opposite outcome (Google indexed a blocked URL anyway, usually via links). The big gotcha: noindex + disallow conflict — Google can't crawl a disallowed page, so it never sees the noindex. To remove a page, allow crawling and serve noindex. Only \"fix\" this status when you blocked something you actually wanted indexed. What this status means The one idea to hold onto Is it a problem? The mistake to avoid What the status actually reports Crawling is not indexing — why a disallow doesn't deindex \"Blocked by robots.txt\" vs \"Indexed, though blocked by robots.txt\" The noindex + disallow conflict the 1 fix that backfires How to find which rule is blocking the URL My own experiment: what happens when you block a page you wanted indexed The decision tree AI summary Official documentation Quotes from the source Stats & first party data worth citing The mistake that defines this status: noindex + disallow \"Blocked by robots.txt\" triage checklist Work the decision tree The mental models Track the bucket count, not just its existence \"Blocked by robots.txt\" bucket count over time The playbook: actually removing a page from Google Ready to use AI prompts Test a URL against your robots.txt rules A Google Search Console Page Indexing status: the URL was excluded from indexing because your robots.txt disallows crawling it. Usually intentional and benign — robots.txt blocks crawling, not indexing. {/ tool rule claim: robots.access policy/article contract /} TL;DR — \"Blocked by robots.txt\" in Search Console means Google found the page but didn't read it, because your file tells crawlers to stay out. Usually that's on purpose and it's fine — it's the normal result of a block, not an error. It's only a problem if you blocked a page you actually wanted in Google. What this status means Open the Page Indexing report in Google Search Console, click into \"Blocked by robots.txt,\" and you'll see a list o","passages":["{/ tool rule claim: robots.access policy/article contract /} TL;DR — \"Blocked by robots.txt\" in Search Console means Google found the page but didn't read it, because your file tells crawlers to stay out.","Usually that's on purpose and it's fine — it's the normal result of a block, not an error.","It's only a problem if you blocked a page you actually wanted in Google.","What this status means Open the Page Indexing report in Google Search Console, click into \"Blocked by robots.txt,\" and you'll see a list of URLs Google chose not to index.","The reason is simple: Google found those URLs, but your site's file says crawlers aren't allowed to fetch them.","The label reports the crawl block; it does not guarantee that the URL can never be indexed through other signals.","If you or your CMS, or a plugin blocked something on purpose — internal search results, faceted navigation URLs, a staging path, cart and checkout URLs — then seeing it here is exactly what's supposed to happen.","It's Google confirming the block worked, not flagging a mistake."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-by-robots-txt/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-by-robots-txt/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Blocked Due to Other 4xx Issue","desc":"What \"Blocked due to other 4xx issue\" in Google Search Console's Page Indexing report means, which status codes commonly show up here (400, 405, 408, 410, 411, 413, 414, 421, 422, 451 — and the 429 nuance), how Google treats them, and how to diagnose, fix, and validate.","snippetText":"\"Blocked due to other 4xx issue\" in the GSC Page Indexing report is Google's residual bucket: a 4xx Googlebot got that isn't already broken out as its own row (401, 403, 404). Google doesn't publish an exhaustive list of which codes land here — 400, 405, 408, 410 Gone, 411, 413, 414, 421, 422, and 451 are the codes that commonly show up, treated as diagnostic branches once you know the real code, not a guaranteed membership list. Google's own rule: all 4xx except 429 get the same downstream treatment — the content is treated as if it doesn't exist, so the page isn't indexed, with no effect on ","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-other-4xx/","slug":"blocked-other-4xx","meta":"Educational","aliases":["blocked-other-4xx","blocked due to other 4xx issue","other 4xx error googlebot","gsc 4xx blocked","Blocked due to other 4xx issue","blocked-403","crawling","gsc-page-indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"blocked-other-4xx 4xx-errors googlebot gsc-page-indexing indexing technical-seo \"Blocked due to other 4xx issue\" in the GSC Page Indexing report is Google's residual bucket: a 4xx Googlebot got that isn't already broken out as its own row (401, 403, 404). Google doesn't publish an exhaustive list of which codes land here — 400, 405, 408, 410 Gone, 411, 413, 414, 421, 422, and 451 are the codes that commonly show up, treated as diagnostic branches once you know the real code, not a guaranteed membership list. Google's own rule: all 4xx except 429 get the same downstream treatment — the content is treated as if it doesn't exist, so the page isn't indexed, with no effect on crawl rate. The label tells you almost nothing, so the first move is always identifying the real code (URL Inspection, Crawl Stats, DevTools, curl, server/CDN/WAF logs — reproduce the original request method, since curl -I only sends HEAD), because the fix for a 410 (intentional removal) is the opposite of the fix for a 400 (malformed request) or a 429 (rate limiting). The big myth to correct: 429 is NOT a normal 4xx — Google treats it as a server error (server overloaded) and slows crawling, but that doesn't prove which report label a 429 URL actually gets; send a Retry-After (optional HTTP metadata, not a confirmed Googlebot schedule) and don't kill legitimate rate limiting. Don't use 4xx to throttle Googlebot — use 429 or 503. Identify the code, fix the root cause (or confirm it's intentional), confirm a 200 in Test live URL, then Validate Fix — a 200 makes the URL eligible for reindexing, it doesn't guarantee it or a specific timeline. What this status means The label is a grab bag — find the real code Is it actually a problem? A quick word on 429 What Google actually says Which 4xx codes commonly land here 429 is the exception — separate the semantics from the report label 410 vs 404 — usually a non issue Why it happens How to diagnose the real code How to fix it, by code Don't use 4xx to slow Googlebot down After you fix it Does it hurt SEO? AI summary Official documentation Quotes from the source Other 4xx diagnose → fix → validate checklist The mental models Other 4xx cheat sheet Find the real status code Verify a bot is really Googlebot before you allowlist Send Retry After on a 429 don't kill rate limiting Resources worth your time A Google Search Console Page Indexing status: Goog","passages":["TL;DR — \"Blocked due to other 4xx issue\" in Google Search Console is Google's residual bucket for client errors that aren't already broken out as 401, 403, or 404.","Googlebot asked for your page and got some other 4xx error back like 400, 410, or 451 , so the page can't be indexed.","Google doesn't publish an exact list of which codes land here — your first job is to find out which code it actually is, because the fix depends entirely on that.","What this status means This Search Console bucket covers a 4xx response not represented by the report's more specific issue types.","Google handles 4xx responses other than 429 as unavailable content for indexing.","When you open the Page Indexing report in Search Console and see \"Blocked due to other 4xx issue,\" it means Googlebot tried to fetch the URL and your server answered with a 4xx client error — but one that doesn't match the specific buckets Google already lists separately.","Google breaks out 401 login required , 403 forbidden , and 404 not found into their own rows.","Google's own wording for this row is simply \"a 4xx error not covered by any other issue type\" — it doesn't publish an exhaustive map of every other code to this bucket."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-other-4xx/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/blocked-other-4xx/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Canonical Tag","desc":"How to implement rel=canonical correctly — the HTML link element, the HTTP Link header for PDFs, absolute URLs, one per page — and where people go wrong.","snippetText":"A canonical tag (rel=canonical) tells search engines which URL is the preferred version of duplicate content. It's a hint, not a directive — a strong signal Google can override. Valid methods: the HTML <link rel=\"canonical\"> in the <head> (never the <body>), the HTTP Link header (the way to canonicalize PDFs and other non-HTML), and sitemap inclusion as a weaker signal. Declare one unambiguous canonical relationship per page; multiple or conflicting declarations can produce unexpected results, so don't claim that an engine deterministically chooses the first or last. Use absolute URLs and self","href":"/technical-seo/how-search-works/indexing/canonicalization/canonical-tag/","slug":"canonical-tag","meta":"Educational","aliases":["Canonical Tag","canonical-tag","canonical tag","rel=canonical","rel canonical","canonical link element","link rel canonical","Canonicalization","Duplicate Content","URL Parameters"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","canonicalization"],"text":"canonical-tag rel-canonical technical-seo indexing canonicalization A canonical tag (rel=canonical) tells search engines which URL is the preferred version of duplicate content. It's a hint, not a directive — a strong signal Google can override. Valid methods: the HTML <link rel=\"canonical\"> in the <head> (never the <body>), the HTTP Link header (the way to canonicalize PDFs and other non-HTML), and sitemap inclusion as a weaker signal. Declare one unambiguous canonical relationship per page; multiple or conflicting declarations can produce unexpected results, so don't claim that an engine deterministically chooses the first or last. Use absolute URLs and self-reference your preferred pages. Don't canonicalize paginated pages to page 1, and don't combine canonical with noindex or a robots.txt block — those send conflicting signals. Test the raw response, rendered DOM, response headers, and GSC's user-declared vs. Google-selected canonical. What a canonical tag is The one thing to understand first How to add one the simple version What it's good for A canonical is a declaration, not a decision Three non redirect ways to declare a canonical The HTTP Link header and why PDFs need it It must be in the — the body placement trap Declare one canonical relationship per page Use absolute URLs, not relative Self referencing canonicals and pagination Don't break the canonical's visibility — and don't point it at a broken target Canonical vs 301 redirect vs noindex Why a canonical gets ignored How to test it AI summary Official documentation Quotes from the source Canonical implementation & QA checklist Canonical cheat sheets Testing & implementing canonicals Test the HTML canonical macOS / Linux Test the HTTP Link header for PDFs / non HTML Send the HTTP Link header — Apache A rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — A canonical tag tells search engines which URL is the \"main\" one when the same content lives at more than one address. You add a one line to the page's pointing at the version you want indexed. It's a hint , not a command — Google usually follows it, but it can pick a different page if other signals disagree. What a canonical tag is When the same or nea","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — A canonical tag tells search engines which URL is the \"main\" one when the same content lives at more than one address.","You add a one line to the page's pointing at the version you want indexed.","It's a hint , not a command — Google usually follows it, but it can pick a different page if other signals disagree.","What a canonical tag is When the same or nearly the same content is reachable at multiple URLs — say , , and the version — search engines have to decide which one to actually show in results.","It's a single line of HTML that goes in the of the page: That says: \"If you find this content at several URLs, treat this one as the real version.\" Search engines then consolidate ranking signals — like links — onto that preferred URL instead of splitting them across duplicates.","The one thing to understand first A canonical tag is a hint, not a directive.","Google takes it as a strong suggestion, but it weighs it against other signals and can choose a different URL.","If you want a page actually gone from search, that's a different tool , not a canonical."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/canonical-tag/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/canonical-tag/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Canonicalization","desc":"How search engines pick one canonical URL among duplicates and consolidate ranking signals onto it — why rel=canonical is a hint, not a rule, and how to align every signal.","snippetText":"Canonicalization is how a search engine picks one representative URL when several serve the same or near-duplicate content, then consolidates ranking signals (links, PageRank, anchor text) onto that chosen URL. The single most important thing to get right: rel=canonical is a hint, not a rule — Google clusters duplicates, then selects a canonical using a growing set of signals (~20 per Illyes in 2020, ~40 per Google's Allan Scott by 2025): the rel=canonical annotation, redirects, sitemap inclusion, internal links, HTTPS, and URL formatting. It can and does override your declared canonical (GSC:","href":"/technical-seo/how-search-works/indexing/canonicalization/","slug":"canonicalization","meta":"Educational","aliases":["canonicalization","canonical URL","canonical selection","consolidate duplicate URLs","Canonicalization","Canonical Tag","Duplicate Content","URL Parameters","Indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing"],"text":"canonicalization technical-seo indexing duplicate-content canonical-tag Canonicalization is how a search engine picks one representative URL when several serve the same or near-duplicate content, then consolidates ranking signals (links, PageRank, anchor text) onto that chosen URL. The single most important thing to get right: rel=canonical is a hint, not a rule — Google clusters duplicates, then selects a canonical using a growing set of signals (~20 per Illyes in 2020, ~40 per Google's Allan Scott by 2025): the rel=canonical annotation, redirects, sitemap inclusion, internal links, HTTPS, and URL formatting. It can and does override your declared canonical (GSC: 'Duplicate, Google chose different canonical than user'). Canonical is not a 301, and it's not an indexing directive like noindex. Make every signal point at the same URL and verify the chosen canonical in Search Console. This hub links down to canonical tags, duplicate content, and URL parameters. What canonicalization is How you ask for a canonical The one thing everyone gets wrong Why it matters What canonicalization actually is Why it matters How Google chooses a canonical Step 1 — duplicate detection Step 2 — clustering Step 3 — selection from the cluster Which signals outweigh which Why it's a hint, not a directive Ways to specify a canonical Self referencing and cross domain canonicals Edge cases: what actually counts as a duplicate How to check the canonical Google chose Common canonicalization mistakes Myths, debunked Bing and other engines Where to go next AI summary Official documentation Quotes from the source Canonicalization audit — checklist How search engines pick one canonical URL among duplicates and consolidate signals onto it. TL;DR — Canonicalization is how a search engine picks one main URL when several show the same or nearly the same content. You suggest your preferred URL with a tag — but it's a hint , not a command. Google can pick a different one. The goal is to make all your signals point at the same URL so Google picks the one you want. What canonicalization is A surprising number of URLs on a typical site show the same content. and , and non , a product reachable through three category paths, the same page with tracking parameters tacked on the end — to you they're \"one page,\" but to a search engine each is a separate URL. Canonicalization is how the engine sorts that ","passages":["TL;DR — Canonicalization is how a search engine picks one main URL when several show the same or nearly the same content.","You suggest your preferred URL with a tag — but it's a hint , not a command.","The goal is to make all your signals point at the same URL so Google picks the one you want.","What canonicalization is A surprising number of URLs on a typical site show the same content.","and , and non , a product reachable through three category paths, the same page with tracking parameters tacked on the end — to you they're \"one page,\" but to a search engine each is a separate URL.","It groups the duplicate URLs together and picks one to be the canonical — the representative version it indexes and shows in search results.","How you ask for a canonical The most common way is the canonical tag — a line of HTML in the page's : That tells Google: \"if you find duplicates of this, treat this URL as the main one.\" You can also signal a preference with redirects, by listing the URL in your sitemap, and by linking to it consistently from your own pages.","The one thing everyone gets wrong A canonical tag is a hint, not a rule."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Change of Address Tool","desc":"The Google Search Console Change of Address tool tells Google you moved to a new domain. What it does, its prerequisites, the 180-day window, and what it can't do.","snippetText":"The Change of Address tool in Google Search Console tells Google you moved your whole site to a new domain or subdomain. It's domain-level only — not for moving URLs within the same domain, not for HTTP-to-HTTPS, and not for switching www to non-www on the same domain. Prerequisites: own both old and new properties, have 301 redirects already in place, and use a property scoped to the whole domain (no path in the URL — a root-level URL-prefix property qualifies too; you don't need the separate DNS-verified Domain property type). For 180 days Google emphasizes crawling the new site, forwards si","href":"/technical-seo/tools/search-engine-tools/google-search-console/change-of-address-tool/","slug":"change-of-address-tool","meta":"Educational","aliases":["change-of-address-tool","Change of Address tool","change of address","google-search-console","migrations"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"change-of-address-tool google-search-console site-migrations redirects technical-seo The Change of Address tool in Google Search Console tells Google you moved your whole site to a new domain or subdomain. It's domain-level only — not for moving URLs within the same domain, not for HTTP-to-HTTPS, and not for switching www to non-www on the same domain. Prerequisites: own both old and new properties, have 301 redirects already in place, and use a property scoped to the whole domain (no path in the URL — a root-level URL-prefix property qualifies too; you don't need the separate DNS-verified Domain property type). For 180 days Google emphasizes crawling the new site, forwards signals, and prefers the new site's canonicals. The 301s do the real work; the tool just reinforces the signal. Keep redirects live for at least 180 days and longer while old URLs still get any traffic — separately, Google recommends keeping the old domain's registration active for about a year so nobody else can grab and reuse it. What the Change of Address tool is What it does NOT do What you need before you use it What happens after you submit What the tool actually does The 301s do the work; the tool is a signal Prerequisites — get these right or it fails The domain level gotcha — it's not a \"Domain property\" requirement Subdomains, www, and protocols The 180 day window — and what happens after When NOT to use it Don't forget Bing Where this fits AI summary Official documentation Quotes from the source Pre submission prerequisites checklist The mental models Change of Address — cheat sheet Tools for a domain move Test yourself: the Change of Address tool Should I use Change of Address? Change of Address mistakes that derail migrations Change of Address troubleshooting A setting in Google Search Console that tells Google you've moved your whole site to a new domain or subdomain. It's a supporting signal for a domain migration — the 301 redirects do the real work of transferring rankings. TL;DR — The Change of Address tool in Google Search Console is how you tell Google you've moved your whole site to a new domain like to . It's not for moving pages around inside the same domain, and it's not for switching to HTTPS. The redirects you set up do the actual work of moving your rankings — this tool just helps Google get the message faster. What the Change of Address tool is When you move yo","passages":["TL;DR — The Change of Address tool in Google Search Console is how you tell Google you've moved your whole site to a new domain like to .","It's not for moving pages around inside the same domain, and it's not for switching to HTTPS.","The redirects you set up do the actual work of moving your rankings — this tool just helps Google get the message faster.","What the Change of Address tool is When you move your site to a brand new domain, you want Google to figure out that the old site and the new site are the same site, and to start showing the new URLs in search instead of the old ones.","The Change of Address tool is the setting in Google Search Console that tells Google exactly that: I moved from here to here.","Google's own description is simple — use it \"when you move your website from one domain or subdomain to another.\" What it does NOT do This is where most of the confusion lives, so let's get it out of the way first: It's not for moving URLs inside the same domain.","If you're just reorganizing folders say to on the same domain, this tool isn't for that.","Google says you don't need the Change of Address tool for that kind of move."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/change-of-address-tool/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/change-of-address-tool/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawl Stats Report","desc":"How to read Google Search Console's Crawl Stats report — total requests, download size, response time, and the breakdowns by response, file type, Googlebot type, and purpose.","snippetText":"The Crawl Stats report (Search Console → Settings → Crawl stats) shows how Google crawled your site over the last 90 days: total crawl requests, total download size, and average response time, plus breakdowns by response code, file type, Googlebot type, and purpose (Discovery vs Refresh). It's only available for root-level properties — a Domain property or a URL-prefix property verified at the site's root — not subfolder properties. For most sites it isn't a crawl-budget dashboard to optimize — it's a server-health early-warning system. Rising response times or 5xx make Google back off; sustai","href":"/technical-seo/tools/search-engine-tools/google-search-console/crawl-stats-report/","slug":"crawl-stats-report","meta":"Educational","aliases":["crawl-stats-report","Crawl Stats report","crawl stats","GSC crawl stats","google-search-console","host-status","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"crawl-stats google-search-console technical-seo googlebot crawl-budget host-status The Crawl Stats report (Search Console → Settings → Crawl stats) shows how Google crawled your site over the last 90 days: total crawl requests, total download size, and average response time, plus breakdowns by response code, file type, Googlebot type, and purpose (Discovery vs Refresh). It's only available for root-level properties — a Domain property or a URL-prefix property verified at the site's root — not subfolder properties. For most sites it isn't a crawl-budget dashboard to optimize — it's a server-health early-warning system. Rising response times or 5xx make Google back off; sustained robots.txt unavailability can halt crawling. It's the closest GSC gets to log data, but it covers Google's crawlers only and isn't guaranteed to be request-complete. What the Crawl Stats report is Where to find it and why you might not see it The three numbers up top Should you even worry about this? What it is and where it lives Should you care? The crawl budget reframe The three top line metrics Breakdown: By response Breakdown: By file type Breakdown: By Googlebot type Breakdown: By purpose — Discovery vs Refresh Host status — the most actionable block Reading spikes and drops Crawl Stats vs server logs How this relates to the rest of crawling AI summary Official documentation Quotes from the source Reading the Crawl Stats report — checklist The mental models Crawl Stats report — cheat sheet Tools for seeing how Google crawls you Test yourself: Crawl Stats SOP: Weekly crawl health review A Google Search Console report (under Settings) that shows how Google has crawled your site over the last 90 days — total requests, download size, and average response time, broken down by response code, file type, Googlebot type, and purpose. It's only available for root-level properties (a Domain property or a URL-prefix property verified at the site's root). TL;DR — The Crawl Stats report shows how Google has been crawling your site over the last 90 days — how many times it asked for pages, how much it downloaded, and how fast your server responded. You find it under Settings in Google Search Console, and it is available for a root level property rather than a path scoped property. For most sites it's a health check, not something you need to optimize. What the Crawl Stats report is When Google'","passages":["TL;DR — The Crawl Stats report shows how Google has been crawling your site over the last 90 days — how many times it asked for pages, how much it downloaded, and how fast your server responded.","You find it under Settings in Google Search Console, and it is available for a root level property rather than a path scoped property.","For most sites it's a health check, not something you need to optimize.","What the Crawl Stats report is When Google's crawler — Googlebot — visits your site, every request it makes gets logged on Google's side.","The Crawl Stats report is where Google shows you a summary of that activity: how often it came by, what it downloaded, and whether it ran into problems.","You'll find it in Google Search Console under Settings → Crawl stats it's not in the main sidebar with the other reports .","Where to find it and why you might not see it The most common reason people can't find the report is simple: it only shows up for root level properties.","That covers a domain property just the domain, no prefix and a URL prefix property verified at the site's root like ."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/crawl-stats-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/crawl-stats-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawled – Currently Not Indexed","desc":"What \"Crawled – currently not indexed\" means in Google Search Console — Google fetched the page but chose not to index it, usually a content- or site-quality call. How it differs from \"Discovered – currently not indexed,\" when to chase it, and how to fix it.","snippetText":"\"Crawled – currently not indexed\" is a Google Search Console Page Indexing status: Google fetched the page but chose not to index it. There's no robots block, noindex, or canonical stopping it — it's an index-selection decision, usually about content quality, duplication, or thinness, and often about the quality of the whole site rather than that one page. Google says the page may or may not be indexed later and there's no need to resubmit, so re-crawling an unchanged URL won't help. It's distinct from \"Discovered – currently not indexed,\" which is pre-crawl (scheduling/crawl-budget). Some pag","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/crawled-currently-not-indexed/","slug":"crawled-currently-not-indexed","meta":"Educational","aliases":["crawled-currently-not-indexed","crawled currently not indexed","crawled - currently not indexed","crawled not indexed","Crawled – currently not indexed","discovered-currently-not-indexed","indexing","index-bloat"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"crawled-currently-not-indexed indexing gsc-page-indexing technical-seo index-bloat \"Crawled – currently not indexed\" is a Google Search Console Page Indexing status: Google fetched the page but chose not to index it. There's no robots block, noindex, or canonical stopping it — it's an index-selection decision, usually about content quality, duplication, or thinness, and often about the quality of the whole site rather than that one page. Google says the page may or may not be indexed later and there's no need to resubmit, so re-crawling an unchanged URL won't help. It's distinct from \"Discovered – currently not indexed,\" which is pre-crawl (scheduling/crawl-budget). Some pages — filters, parameters, thin tag/archive pages — are supposed to stay in this bucket; consolidate or remove them rather than force them in. To recover pages worth recovering: rule out noindex/robots/canonical/soft-404, then improve content and overall site quality and strengthen internal linking. What the status means Why Google does this Is it a problem? Don't confuse it with \"Discovered – currently not indexed\" What actually fixes it What the status actually is Crawled vs. Discovered – currently not indexed Is it a problem? When to chase it and when not to Why Google crawls but doesn't index How to diagnose it How to fix it Will it resolve on its own, and how long? Common myths AI summary Official documentation Quotes from the source Crawled – currently not indexed: diagnose & fix checklist The mental models Crawled – currently not indexed cheat sheet Should you try to index this URL? Mistakes that keep pages out Prompt: compare an excluded page with indexed alternatives Prompt: find sitewide low value patterns Flag common indexability signals in saved HTML A Google Search Console Page Indexing status meaning Googlebot fetched the page but Google decided not to index it — usually a content- or site-quality signal, not a technical error. TL;DR — \"Crawled – currently not indexed\" in Google Search Console means Google did visit your page but decided not to add it to its index. There's no , robots block, or canonical elsewhere in the way — those get their own separate statuses in Search Console. What's usually left is a content or site quality question worth investigating, not a bug. Google says there's no need to resubmit the URL; re crawling the same page won't change its mind. To get t","passages":["TL;DR — \"Crawled – currently not indexed\" in Google Search Console means Google did visit your page but decided not to add it to its index.","There's no , robots block, or canonical elsewhere in the way — those get their own separate statuses in Search Console.","What's usually left is a content or site quality question worth investigating, not a bug.","Google says there's no need to resubmit the URL; re crawling the same page won't change its mind.","To get the page in, you have to make it and your site more worth indexing.","What the status means When you open the Page Indexing report in Google Search Console it used to be called Index Coverage , Google buckets your URLs by why they are or aren't indexed.","\"Crawled – currently not indexed\" means one specific thing: Googlebot fetched the page, but it is not currently indexed.","The status describes the outcome, not a single proven cause."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/crawled-currently-not-indexed/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/crawled-currently-not-indexed/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Discovered – Currently Not Indexed","desc":"What \"Discovered – currently not indexed\" means in Google Search Console, how it differs from \"Crawled – currently not indexed,\" why it happens, and how to fix it.","snippetText":"\"Discovered – currently not indexed\" is a Google Search Console Page Indexing status: Google knows the URL exists (sitemap or link) but hasn't crawled it yet — the Last Crawl date is empty. That one fact separates it from \"Crawled – currently not indexed,\" where the page was fetched and Google is still evaluating it for indexing. Google's two drivers are crawl capacity (crawling now would overload your server) and crawl demand (your site/pages aren't worth the crawl effort — a quality and internal-linking signal). It's often a sitewide signal, not a per-page bug, though that's a practitioner i","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/discovered-currently-not-indexed/","slug":"discovered-currently-not-indexed","meta":"Educational","aliases":["discovered-currently-not-indexed","discovered currently not indexed","discovered - currently not indexed","discovered not indexed","Discovered – currently not indexed","Crawled – currently not indexed","Crawl Budget","Indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"discovered-currently-not-indexed gsc-page-indexing technical-seo indexing crawl-budget \"Discovered – currently not indexed\" is a Google Search Console Page Indexing status: Google knows the URL exists (sitemap or link) but hasn't crawled it yet — the Last Crawl date is empty. That one fact separates it from \"Crawled – currently not indexed,\" where the page was fetched and Google is still evaluating it for indexing. Google's two drivers are crawl capacity (crawling now would overload your server) and crawl demand (your site/pages aren't worth the crawl effort — a quality and internal-linking signal). It's often a sitewide signal, not a per-page bug, though that's a practitioner inference rather than a fact the status proves. The fixes are crawl-demand levers (internal links, content quality, cutting crawl waste, links to priority pages) and crawl-capacity levers (server speed/stability). \"Request indexing\" can nudge a few priority URLs but doesn't scale and doesn't fix the root cause — and getting a page crawled still doesn't guarantee indexing. What this status means Why Google leaves a page \"Discovered\" How it's different from \"Crawled – currently not indexed\" What actually helps The thing most people get wrong What Google actually says it means Discovered vs Crawled – currently not indexed Why Google leaves pages in \"Discovered\" Crawl capacity — your server Crawl demand — your site's quality and structure It's often a sitewide signal, not a per page bug How to diagnose which cause you have How to fix it Strengthen internal linking and fix orphan pages Improve content quality; consolidate thin and duplicate pages Cut crawl waste Speed up and stabilize the server Earn links to priority pages When and when not to use \"Request indexing\" When to do nothing Special cases: large, ecommerce, and programmatic sites Where this sits AI summary Official documentation A Google Search Console Page Indexing status meaning Google knows the URL exists but hasn't crawled it yet — the Last Crawl date is empty. Often a crawl-capacity or crawl-demand (site-quality) signal. TL;DR — \"Discovered – currently not indexed\" in Google Search Console means Google has found your page but hasn't downloaded crawled it yet — so it can't be in search. The Last Crawl date is empty. It usually means Google didn't think the page was worth crawling right now, or crawling it would have strained ","passages":["TL;DR — \"Discovered – currently not indexed\" in Google Search Console means Google has found your page but hasn't downloaded crawled it yet — so it can't be in search.","It usually means Google didn't think the page was worth crawling right now, or crawling it would have strained your server.","The fix is to make your important pages easier to reach and clearly worth crawling — not to keep clicking \"Request indexing.\" What this status means Open Google Search Console, go to the Page Indexing report, and you'll see your pages grouped by status.","\"Discovered – currently not indexed\" is the bucket for URLs that Google knows about but hasn't actually crawled yet.","Remember the three steps every page goes through to show up in search: 1.","Google found the URL — usually from your sitemap or a link — added it to its to do list, and then didn't get around to fetching it.","The clearest sign is in the URL Inspection tool: the Last Crawl date is empty , because nothing was ever crawled.","Why Google leaves a page \"Discovered\" Two reasons, in plain terms: It didn't want to overload your site."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/discovered-currently-not-indexed/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/discovered-currently-not-indexed/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Duplicate Content","desc":"There's no duplicate content penalty. What duplicate content really costs you, how Google clusters duplicates and picks a canonical, and how to fix it.","snippetText":"There is no general duplicate content penalty — Google and Bing both say so; ordinary duplication is handled by deduplication and canonical selection, not a policy action. The real costs are indirect and possible, not guaranteed: signal dilution, the wrong URL getting chosen (though another cluster member can still serve for a specific context), less-efficient crawling, and messier measurement. Engines handle duplicates by clustering the matching URLs and picking one canonical from collected signals to represent the group. Most duplication is technical, not editorial (http/https, www, paramete","href":"/technical-seo/how-search-works/indexing/canonicalization/duplicate-content/","slug":"duplicate-content","meta":"Educational","aliases":["duplicate-content","duplicate content","duplicate content penalty","near-duplicate","duplicate pages","Duplicate Content","Canonicalization","Canonical Tag","URL Parameters"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","canonicalization"],"text":"duplicate-content technical-seo indexing canonicalization canonical-tag There is no general duplicate content penalty — Google and Bing both say so; ordinary duplication is handled by deduplication and canonical selection, not a policy action. The real costs are indirect and possible, not guaranteed: signal dilution, the wrong URL getting chosen (though another cluster member can still serve for a specific context), less-efficient crawling, and messier measurement. Engines handle duplicates by clustering the matching URLs and picking one canonical from collected signals to represent the group. Most duplication is technical, not editorial (http/https, www, parameters, faceted nav, print and mobile URLs) — though filters, sorts, pagination, product variants, and full translations need a case-by-case look, not an automatic canonical. Fix by intent, roughly in this order: fix the root cause / 301 → rel=canonical → parameter handling → noindex only when you truly want the page gone → hreflang → syndication, where Google's current guidance favors the partner noindexing their copy over canonical alone. Penalties only apply to deceptive, scaled abuse. What duplicate content is The big one: there is no duplicate content penalty So what's the actual problem? How to fix it the simple version What duplicate content actually is Is there a duplicate content penalty? No. The one real exception: deceptive, scaled abuse The real costs of duplicate content How Google and Bing handle duplicates What causes duplicate content Not everything that looks like duplication is How to find duplicate content How to fix duplicate content in order of preference Duplicate content myths, debunked Bottom line AI summary Official documentation Quotes from the source Duplicate content audit checklist The fix hierarchy in order of preference Cause → recommended fix Finding duplicate variants Tools for finding and fixing duplicates Before / after: three common duplicate setups The same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. TL;DR — Duplicate content is the same or nearly the same content showing up at more than one web address. There is no \"duplicate content penalty\" — Google has said so for years; ordinary duplicates just","passages":["TL;DR — Duplicate content is the same or nearly the same content showing up at more than one web address.","There is no \"duplicate content penalty\" — Google has said so for years; ordinary duplicates just get grouped and one version gets picked to show.","What it actually does is possibly split up your signals and sometimes get the \"wrong\" page shown.","The fix is to point everything at one preferred URL based on what you actually want to happen, not to panic — and not everything that looks like a duplicate filters, pagination, translated pages actually is one.","What duplicate content is Duplicate content is when the same or very similar content can be reached at more than one URL.","That can happen on a single website, or across different websites.","Most of the time it's not someone copying your writing — it's a technical accident.","The exact same page ends up living at several addresses, like: and and and To a person these all look like \"the page.\" To a search engine, each different URL is a different page that happens to have the same content."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/duplicate-content/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/duplicate-content/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Duplicate, Google Chose Different Canonical Than User","desc":"What the GSC Page Indexing status \"Duplicate, Google chose different canonical than user\" means — you declared a canonical, Google overrode it. Why it happens (rel=canonical is a hint, not a rule), how to diagnose it with URL Inspection, how to make Google honor your preferred URL, and when to leave it alone.","snippetText":"This Google Search Console status means you declared a canonical for a URL, but Google overrode your choice — it grouped this page with a different URL it selected as canonical and indexed that one instead. It's not an error, and it's often fine, but check first: rel=canonical is a hint, not a directive, and Google weighs it against redirects, sitemap inclusion, internal links, HTTPS, and overall consistency. Diagnose by comparing User-declared canonical to Google-selected canonical in URL Inspection. Fix it by making every signal point at your preferred URL (or use a stronger signal like a 30","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-google-chose-different-canonical/","slug":"duplicate-google-chose-different-canonical","meta":"Educational","aliases":["duplicate-google-chose-different-canonical","duplicate google chose different canonical than user","google chose different canonical","google-selected canonical","Duplicate, Google chose different canonical than user","duplicate-without-canonical","alternate-page-canonical","canonicalization","canonical-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"gsc-page-indexing canonicalization indexing technical-seo search-console This Google Search Console status means you declared a canonical for a URL, but Google overrode your choice — it grouped this page with a different URL it selected as canonical and indexed that one instead. It's not an error, and it's often fine, but check first: rel=canonical is a hint, not a directive, and Google weighs it against redirects, sitemap inclusion, internal links, HTTPS, and overall consistency. Diagnose by comparing User-declared canonical to Google-selected canonical in URL Inspection. Fix it by making every signal point at your preferred URL (or use a stronger signal like a 301/308 redirect) — only if Google's pick is actually the wrong page for users. It's different from 'Duplicate without user-selected canonical' (you declared nothing) and 'Alternate page with proper canonical tag' (you declared one and Google agreed). What this status means Why does Google get to overrule me? Is it bad? What to do about it What the status actually means It's not an error — and usually not a problem, but check first Why Google overrides your canonical: it's a hint, not a rule The signals Google weighs Common real world causes of the override How to see which URL Google picked How to make Google honor your preferred canonical The flip side: when Google merged pages you wanted kept apart When to leave it alone International, pagination, and parameter edge cases How long until Google updates its choice How this differs from the other duplicate statuses AI summary Official documentation Quotes from the source The mental models Strengthen your preferred canonical — checklist Playbook: Google picked the wrong canonical Common issues — symptom, cause, fix \"Google selected canonical\" points at a URL almost every internal link uses A Google Search Console Page Indexing status: you declared a canonical for this URL, but Google overrode your choice, picked a different page as the canonical, and indexed that one instead. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — This Search Console status means you told Google which URL was the \"main\" one your canonical , but Google disagreed and picked a different page instead — and indexed that one. Your canonical tag is a suggestion, not a command. It's usually not a problem, and if you want Google to honor your choice, you make","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — This Search Console status means you told Google which URL was the \"main\" one your canonical , but Google disagreed and picked a different page instead — and indexed that one.","It's usually not a problem, and if you want Google to honor your choice, you make all your other signals links, sitemap, redirects agree with it.","What this status means You'll find \"Duplicate, Google chose different canonical than user\" in the Page Indexing report in Google Search Console, under the pages that aren't indexed.","Three URLs are in play here: the page you're looking at, the canonical you declared for it, and the canonical Google actually picked.","You declared a canonical for this URL — usually with a tag, but a redirect or a sitemap counts too.","It decided a different page — not necessarily the one you named — was the better canonical, indexed that page, and grouped this URL with it as a duplicate.","So the page you're looking at isn't indexed under its own address.","Google is showing the other URL instead — and that other URL is Google's own pick, which is worth confirming rather than assuming it matches what you declared."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-google-chose-different-canonical/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-google-chose-different-canonical/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Duplicate Without User-Selected Canonical","desc":"What the Google Search Console status \"Duplicate without user-selected canonical\" means — you didn't declare a canonical, Google picked one for you, and this URL isn't indexed — how it differs from its two canonical siblings, and how to fix it.","snippetText":"\"Duplicate without user-selected canonical\" is a Google Search Console Page Indexing status meaning three things at once: this page is a duplicate, you never declared a canonical, and Google chose a different page as the canonical — so this URL isn't indexed. The defining trait is the missing signal: you didn't tell Google which URL you preferred, so it picked for you. It's distinct from \"Duplicate, Google chose different canonical than user\" (you declared one and Google overrode it) and \"Alternate page with proper canonical tag\" (you declared one and Google agreed — nothing to do). For parame","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-without-canonical/","slug":"duplicate-without-canonical","meta":"Educational","aliases":["duplicate-without-canonical","duplicate without user-selected canonical","duplicate without canonical","gsc duplicate no canonical","Duplicate without user-selected canonical","canonicalization","duplicate-content","canonical-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"duplicate-without-canonical canonicalization gsc-page-indexing indexing technical-seo canonical-tag \"Duplicate without user-selected canonical\" is a Google Search Console Page Indexing status meaning three things at once: this page is a duplicate, you never declared a canonical, and Google chose a different page as the canonical — so this URL isn't indexed. The defining trait is the missing signal: you didn't tell Google which URL you preferred, so it picked for you. It's distinct from \"Duplicate, Google chose different canonical than user\" (you declared one and Google overrode it) and \"Alternate page with proper canonical tag\" (you declared one and Google agreed — nothing to do). For parameter, filter, and faceted URLs this is often working as intended. When it's not, declare the canonical you want with rel=canonical and align your other signals — internal links, sitemap, redirects, HTTPS — so Google's choice matches yours. Confirm what Google picked with URL Inspection (User-declared vs Google-selected canonical). Remember: a canonical is a hint, not a directive. What this status means Is it a problem? How to fix it when it needs fixing Don't confuse it with the other two The three conditions, all at once It's about the missing signal, not a penalty The three canonical statuses, side by side Why pages land here Is it a problem? When to care and when not to How to diagnose it with URL Inspection How to fix it 1. Declare the canonical you want 2. Make all your signals agree 3. Consolidate or differentiate near duplicates 4. Handle parameters and faceted nav deliberately 5. Remember the canonical is a hint What not to do AI summary Official documentation Quotes from the source The three canonical statuses, side by side The mental models Fix it checklist Common issues A Google Search Console Page Indexing status: Google found this page to be a duplicate, you didn't declare a canonical, so Google chose a different page as the canonical — and this URL isn't indexed. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — This Search Console status means Google found this page to be a duplicate of another page, you never told Google which URL you preferred no canonical , so Google picked one for you — and it wasn't this one. That's why this URL isn't indexed. Often it's fine especially for filter and parameter URLs . If it's the wrong page, decl","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — This Search Console status means Google found this page to be a duplicate of another page, you never told Google which URL you preferred no canonical , so Google picked one for you — and it wasn't this one.","If it's the wrong page, declare the canonical you actually want.","What this status means Open the Page Indexing report in Google Search Console, look under the \"Not indexed\" reasons, and you may see \"Duplicate without user selected canonical.\" It's telling you three things at the same time: 1.","Google thinks this page is a duplicate or near duplicate of another page.","This page never declared a canonical — there was no signal saying \"this is the version I prefer.\" 3.","So Google chose a different page as the canonical, and this URL isn't indexed.","The key word is without : you never picked a preferred URL, so Google had to pick one on its own.","Google's own Page Indexing report treats this as an expected outcome, not an error, whenever its pick is the page you'd have chosen anyway — seeing the label isn't proof something is broken."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-without-canonical/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/duplicate-without-canonical/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Google Search Console (GSC)","desc":"What Google Search Console is, who needs it, how to set it up, and which report answers your question — the hub above every GSC report deep dive.","snippetText":"Google Search Console is a free Google service that reports how your site performs in Search and flags crawl, index, and serving problems — first-party data straight from Google. You don't need it to rank, but it's the primary diagnostic console for your search presence. Set up a Domain property (DNS) if you can, fall back to URL-prefix if you can't. Know three data limits up front: a 2–3 day lag, a 1,000-row table cap, and anonymized rare queries — which is why nearly half the clicks in my study had no query attached. This hub explains GSC at a high level and routes you to each report.","href":"/technical-seo/tools/search-engine-tools/google-search-console/","slug":"google-search-console","meta":"Educational","aliases":["google-search-console","Google Search Console","Search Console","GSC","search-engine-tools","performance-report","index-coverage-report","url-inspection-tool","Indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools"],"text":"google-search-console gsc technical-seo search-engine-tools reporting Google Search Console is a free Google service that reports how your site performs in Search and flags crawl, index, and serving problems — first-party data straight from Google. You don't need it to rank, but it's the primary diagnostic console for your search presence. Set up a Domain property (DNS) if you can, fall back to URL-prefix if you can't. Know three data limits up front: a 2–3 day lag, a 1,000-row table cap, and anonymized rare queries — which is why nearly half the clicks in my study had no query attached. This hub explains GSC at a high level and routes you to each report. What Google Search Console is Do you even need it? How to start What it shows you The one thing to know up front What GSC actually is Who it's for Property types — and which to choose The data limits everyone trips on Why GSC numbers differ from Analytics and rank trackers Where to go next: the GSC reports The myths worth killing AI summary Official documentation Quotes from the source Search Console setup checklist The mental models GSC cheat sheet Common Search Console mistakes Treating verification as an indexing switch Comparing GSC clicks directly with analytics sessions Assuming the visible query table is complete Reading average position as a live rank Choosing a URL prefix property when you control DNS A free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. Google's free tool for monitoring crawling, indexing, and search performance. TL;DR — Google Search Console is a free tool from Google that shows you how your site is doing in Google Search — what people search to find you, which pages show up, and whether Google is having trouble reading your site. You don't need it to appear in Google, but it's the best free window into your search presence. What Google Search Console is Google Search Console — GSC for short — is a free service from Google. In Google's own words, it \"helps you monitor, maintain, and troubleshoot your site's presence in Google Search results.\" It's the data Google actually recorded about your site: the searches that showed your pages, how many people clicked, and whether Google ran into problems crawling or","passages":["TL;DR — Google Search Console is a free tool from Google that shows you how your site is doing in Google Search — what people search to find you, which pages show up, and whether Google is having trouble reading your site.","You don't need it to appear in Google, but it's the best free window into your search presence.","What Google Search Console is Google Search Console — GSC for short — is a free service from Google.","In Google's own words, it \"helps you monitor, maintain, and troubleshoot your site's presence in Google Search results.\" It's the data Google actually recorded about your site: the searches that showed your pages, how many people clicked, and whether Google ran into problems crawling or indexing anything.","It used to be called Google Webmaster Tools — that's the same product, renamed.","Here's the part most guides skip: you don't need Search Console to show up in Google.","Google says so directly — \"You don't have to sign up for Search Console to be included in Google Search results.\" Your pages can rank perfectly well without you ever logging in.","Because it's how you understand and fix your search presence."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Page Indexing Report (GSC)","desc":"How Google Search Console's Page Indexing report (formerly Index Coverage) works — indexed vs. not indexed, the Source column, every status, Validate fix, and report lag.","snippetText":"The Page Indexing report (formerly Index Coverage, now labeled 'Pages' under 'Indexing' in Google Search Console) shows how many of your URLs are indexed vs. not indexed, then groups the not-indexed ones by reason in the 'Why pages aren't indexed' table. It's an aggregate, property-wide report — for a single page you use URL Inspection instead. The single most useful mindset: not indexed is not necessarily bad — canonical/duplicate, noindex, robots, and intentional 404s are all correct outcomes, and Google says you should only expect your canonical pages to be indexed. Filter by Source = Websi","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/","slug":"gsc-page-indexing","meta":"Educational","aliases":["gsc-page-indexing","page indexing report","index coverage report","page indexing","GSC indexing report","Page Indexing report","crawling","indexing","canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing"],"text":"page-indexing-report technical-seo indexing search-console index-coverage The Page Indexing report (formerly Index Coverage, now labeled 'Pages' under 'Indexing' in Google Search Console) shows how many of your URLs are indexed vs. not indexed, then groups the not-indexed ones by reason in the 'Why pages aren't indexed' table. It's an aggregate, property-wide report — for a single page you use URL Inspection instead. The single most useful mindset: not indexed is not necessarily bad — canonical/duplicate, noindex, robots, and intentional 404s are all correct outcomes, and Google says you should only expect your canonical pages to be indexed. Filter by Source = Website to find what you can actually fix, work the pre-sorted table top-down, and use Validate fix (~2 weeks) to ask for a recrawl. Sites under 500 pages probably don't need it. This hub explains how to read the report and links down to every individual status. What the Page Indexing report is Why \"not indexed\" usually isn't a crisis It's the wrong tool for checking one page Do you even need it? What the report actually is and its old name How to read the report Report vs. URL Inspection — use the right one A note on lag — the report is behind reality Where to go next — every status, grouped Fixing and validating Diagnosing drops, spikes, and \"more not indexed than indexed\" A few things to keep straight A one liner on Bing AI summary Official documentation Quotes from the source Working the Page Indexing report — checklist The mental models Page Indexing report — cheat sheet Common issues Indexed count dropped, no new errors showing \"More not indexed than indexed\" A sudden spike in one HTTP error status \"Redirect error\" not the normal \"Page with redirect\" The Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. TL;DR — The Page Indexing report in Google Search Console tells you how many of your pages Google has indexed can show in search versus not indexed , and for the not indexed ones it tells you why . It used to be called the Index Coverage report . \"Not indexed\" sounds scary but usually isn't — a lot of those URLs are supposed to be left out. What the Page Indexing report is When you open Google Search Console and click Pages under Indexing in the left menu, you land on the Page Indexing repo","passages":["TL;DR — The Page Indexing report in Google Search Console tells you how many of your pages Google has indexed can show in search versus not indexed , and for the not indexed ones it tells you why .","\"Not indexed\" sounds scary but usually isn't — a lot of those URLs are supposed to be left out.","What the Page Indexing report is When you open Google Search Console and click Pages under Indexing in the left menu, you land on the Page Indexing report.","Google describes it simply: it lets you \"see which pages Google can find and index on your site, and learn about any indexing problems encountered.\" It splits all the URLs Google knows about on your site into two buckets: Indexed — these pages can appear in Google Search.","Not indexed — these pages aren't in the index, either because something's broken or because there's a perfectly good reason the page is a duplicate, you blocked it, you told Google not to index it, and so on .","Below that, a table called \"Why pages aren't indexed\" lists the reasons and how many URLs fall under each one.","Why \"not indexed\" usually isn't a crisis Here's the thing most people miss the first time they open this report: not indexed doesn't mean broken.","Google says it plainly in the report's own help — \"Not indexed is not necessarily bad.\" You shouldn't expect every URL on your site to be indexed."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Host Status (Crawl Stats)","desc":"What the Host status indicator in Google Search Console's Crawl Stats report means — the three availability checks, the three states, and why a red status is an emergency.","snippetText":"Host status is the availability indicator at the top of GSC's Crawl Stats report — a historical record of what Google observed, not a live uptime check. It checks three things — robots.txt fetching, DNS resolution, and server connectivity — over the last 90 days. Green means no significant issues; yellow means a problem happened more than a week ago (it typically ages out of the report on its own); red means one happened in the last week. The highest-stakes failure is an unreachable robots.txt: Google stops crawling for ~12 hours, then falls back to the last good cached copy — if one exists — ","href":"/technical-seo/tools/search-engine-tools/google-search-console/host-status/","slug":"host-status","meta":"Educational","aliases":["host-status","Host status","host status report","crawl-stats-report","robots-txt","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"host-status crawl-stats google-search-console technical-seo robots-txt crawling Host status is the availability indicator at the top of GSC's Crawl Stats report — a historical record of what Google observed, not a live uptime check. It checks three things — robots.txt fetching, DNS resolution, and server connectivity — over the last 90 days. Green means no significant issues; yellow means a problem happened more than a week ago (it typically ages out of the report on its own); red means one happened in the last week. The highest-stakes failure is an unreachable robots.txt: Google stops crawling for ~12 hours, then falls back to the last good cached copy — if one exists — for up to ~30 days, after which behavior depends on your site's broader availability. It's the underlying robots.txt, DNS, or server failure that throttles crawling of the whole site, not the host-status label itself, and the state aging back to green isn't proof crawling, indexing, or rankings have fully recovered. What host status is The three colors Why it matters Test yourself: host status What host status actually measures The three checks The three states Why robots.txt failures are the most dangerous DNS and server connectivity What you don't need to do Host status vs the broader Crawl Stats report AI summary Official documentation Quotes from the source Host status triage checklist The mental models Host status — cheat sheet Tools for diagnosing host status What should I do with this host status state? Host status mistakes that delay recovery Treating a missing robots.txt file like an outage Waiting for a manual crawl rate reset Reading red and yellow as severity grades Using 503 or 429 as a permanent crawl control strategy The at-a-glance availability indicator at the top of Google Search Console's Crawl Stats report. It shows whether Googlebot hit significant problems reaching your site in the last 90 days across three checks — robots.txt fetching, DNS resolution, and server connectivity. TL;DR — Host status is a little indicator at the top of Google Search Console's Crawl Stats report that tells you whether Google could reach your site over the last 90 days — it's a historical record, not a live \"is my site up right now\" check. Green is good. Yellow means there was a problem, but it was more than a week ago. Red means there was a problem in the last week. It checks three things: y","passages":["TL;DR — Host status is a little indicator at the top of Google Search Console's Crawl Stats report that tells you whether Google could reach your site over the last 90 days — it's a historical record, not a live \"is my site up right now\" check.","Yellow means there was a problem, but it was more than a week ago.","It checks three things: your file, your DNS, and whether your server responds.","What host status is Host status is the Crawl Stats availability summary covering robots.txt fetching, DNS resolution, and server connectivity over the report window.","It is a host level diagnostic rather than a per URL indexing verdict.","When Google wants to crawl your site, a few things have to work before it can even start: it has to find your file, your domain name has to resolve to a server, and that server has to answer.","Host status is Google's summary of whether all of that worked over the last 90 days.","You'll find it in Google Search Console under Settings → Crawl stats , sitting right at the top of the Crawl Stats report."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/host-status/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/host-status/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"HTTPS Report","desc":"What the Google Search Console HTTPS report shows, every error row decoded with a fix, and the honest take on HTTPS as a ranking signal — from Patrick Stox.","snippetText":"The Search Console HTTPS report shows how many of your indexed URLs Google serves over HTTPS vs HTTP — and, for the HTTP ones, why. It's a sample of indexed URLs, not a full inventory. Google prefers the HTTPS version when a page exists on both protocols, so an HTTP row can mean a conflicting signal (an HTTP canonical, an HTTP-pointing sitemap, an HTTPS→HTTP redirect, robots-blocked HTTPS, or a broken cert), a missing HTTPS equivalent, a site-wide processing error, or a URL that's simply new and not yet evaluated — check which one applies before treating it as broken. HTTPS is a lightweight ra","href":"/technical-seo/tools/search-engine-tools/google-search-console/https-report/","slug":"https-report","meta":"Educational","aliases":["https-report","HTTPS report","GSC HTTPS report","google-search-console","index-coverage-report"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"https google-search-console indexing canonicalization technical-seo The Search Console HTTPS report shows how many of your indexed URLs Google serves over HTTPS vs HTTP — and, for the HTTP ones, why. It's a sample of indexed URLs, not a full inventory. Google prefers the HTTPS version when a page exists on both protocols, so an HTTP row can mean a conflicting signal (an HTTP canonical, an HTTP-pointing sitemap, an HTTPS→HTTP redirect, robots-blocked HTTPS, or a broken cert), a missing HTTPS equivalent, a site-wide processing error, or a URL that's simply new and not yet evaluated — check which one applies before treating it as broken. HTTPS is a lightweight ranking signal — fix these for trust, referral data, and clean canonicalization, not for a ranking boost. What the HTTPS report is Why an HTTP page shows up What to do about it The thing most people get wrong What the report actually measures Why HTTP rows happen at all The error rows — \"why HTTP pages aren't served over HTTPS\" How HTTPS preference, canonicalization, and the Page Indexing report connect Mixed content and insecure dependencies HTTPS as a ranking signal — the honest version Fixing and confirming AI summary Official documentation Quotes from the source The error rows — cheat sheet HTTP row triage checklist The mental models Prove an HTTPS fix took effect Confirm the redirect and certificate Confirm every canonical signal agrees Confirm the page has no insecure dependencies Confirm Search Console reclassifies the URL Tools for working the HTTPS report Resources worth your time A Google Search Console report showing how many of your indexed URLs are served over HTTPS vs HTTP — and, for the HTTP ones, why the secure version isn't being used. It's a diagnostic sample, not a full crawl inventory. TL;DR — The HTTPS report in Google Search Console tells you how many of your pages Google is showing over the secure HTTPS version versus the old, insecure HTTP version — and, for any HTTP ones, why. Google would rather use the HTTPS version, so a healthy site should be at or near 100% HTTPS here. What the HTTPS report is If a page can be reached at both and , Google generally wants to show the HTTPS secure one in search. The HTTPS report is Google's scorecard for how well that's going on your site: it counts how many of your indexed pages are on HTTPS and how many are still stuck on HTTP. A couple of th","passages":["TL;DR — The HTTPS report in Google Search Console tells you how many of your pages Google is showing over the secure HTTPS version versus the old, insecure HTTP version — and, for any HTTP ones, why.","Google would rather use the HTTPS version, so a healthy site should be at or near 100% HTTPS here.","What the HTTPS report is If a page can be reached at both and , Google generally wants to show the HTTPS secure one in search.","The HTTPS report is Google's scorecard for how well that's going on your site: it counts how many of your indexed pages are on HTTPS and how many are still stuck on HTTP.","A couple of things to know before you read it: It only covers pages Google has indexed — not every page on your site.","Why an HTTP page shows up When a page shows as HTTP, it usually doesn't mean your security is broken.","It can mean several different things: something on your site is telling Google to prefer HTTP, your HTTPS version is missing or erroring, Google backed off checking after site wide errors, or the URL is simply new and hasn't been evaluated yet.","Start with the common culprits below — each one is a signal you can find and flip: A \"canonical\" tag on the page points at the HTTP address."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/https-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/https-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Index Bloat","desc":"Index bloat is an SEO term for indexed low-value, thin, and duplicate URLs. It's a crawl-efficiency and quality problem, not a penalty — here's how to fix it.","snippetText":"Index bloat is an SEO term — not Google's — for when a search engine has indexed a pile of low-value, thin, or duplicate URLs that don't serve search demand: faceted nav, parameters, internal search results, tag/archive pages, soft 404s, protocol duplicates. It's a crawl-efficiency and signal-dilution problem, not a penalty (Google has no duplicate-content penalty). It's about quality, not page count. Diagnose with the GSC Page indexing report (authoritative — `site:` is only a rough estimate), logs, and crawlers. Fix by matching each URL to the right tool: `noindex` to deindex (keep it crawla","href":"/technical-seo/how-search-works/indexing/index-bloat/","slug":"index-bloat","meta":"Educational","aliases":["index-bloat","index bloat","indexed low-value pages","thin indexed pages","zombie pages","Index Bloat","Indexing","Canonicalization"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing"],"text":"index-bloat technical-seo indexing duplicate-content faceted-navigation crawl-efficiency Index bloat is an SEO term — not Google's — for when a search engine has indexed a pile of low-value, thin, or duplicate URLs that don't serve search demand: faceted nav, parameters, internal search results, tag/archive pages, soft 404s, protocol duplicates. It's a crawl-efficiency and signal-dilution problem, not a penalty (Google has no duplicate-content penalty). It's about quality, not page count. Diagnose with the GSC Page indexing report (authoritative — `site:` is only a rough estimate), logs, and crawlers. Fix by matching each URL to the right tool: `noindex` to deindex (keep it crawlable), `rel=canonical` to consolidate dupes, robots.txt to stop crawling (won't deindex), `404`/`410` for gone pages, or consolidation for thin content. What index bloat is Is it actually a problem? What causes it How to check How to fix it the short version What \"index bloat\" actually means Is index bloat actually a problem? The honest answer What causes index bloat How to diagnose index bloat How to fix it — pick the right tool The sequencing rule that trips everyone up Common myths to bust Prevention — build guardrails AI summary Official documentation Quotes from the source Index bloat audit checklist The mental models Fix decision table — noindex vs canonical vs robots.txt vs 404/410 vs consolidate Diagnosis cheat sheet Tools for finding and fixing index bloat Resources worth your time Worked examples Validation tests An SEO term for when a search engine has indexed a lot of low-value, thin, or duplicate URLs that don't serve search demand. It's a quality and crawl-efficiency problem, not a penalty. TL;DR — Index bloat is when search engines have indexed a bunch of low value pages on your site that nobody's searching for — filter URLs, internal search results, tag pages, near duplicates. It's not a penalty. It's a \"you're wasting Google's time and splitting your own signals\" problem. And it's about quality , not how many pages you have. What index bloat is \"Index bloat\" is a term SEOs use — not Google — for when a search engine has filed away a lot of pages from your site that don't really deserve to be there. Think internal search result pages, every possible filter combination on a store, empty tag pages, printer friendly versions, the same page reachable at five slightly diff","passages":["TL;DR — Index bloat is when search engines have indexed a bunch of low value pages on your site that nobody's searching for — filter URLs, internal search results, tag pages, near duplicates.","It's a \"you're wasting Google's time and splitting your own signals\" problem.","What index bloat is \"Index bloat\" is a term SEOs use — not Google — for when a search engine has filed away a lot of pages from your site that don't really deserve to be there.","Think internal search result pages, every possible filter combination on a store, empty tag pages, printer friendly versions, the same page reachable at five slightly different URLs.","A page is bloat if nobody's searching for it and it doesn't help anyone find your good stuff.","The number of pages doesn't decide this — a small site can be a mess and a huge site can be spotless.","There's no \"index bloat penalty.\" Google isn't going to demote your whole site because it indexed some junk URLs.","Search engines spend time fetching the junk instead of your important, new pages."],"updated":"2026-07-16T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/index-bloat/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/index-bloat/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Page Indexing (Index Coverage) Report","desc":"What the Page Indexing report (formerly Index Coverage) in Google Search Console means, every 'Not indexed' reason explained, and how to fix them.","snippetText":"The Page Indexing report (renamed from Index Coverage in 2022) covers URLs Google already knows about — not a full site inventory — and shows which are indexed, which aren't, and why, using a capped sample of example URLs per reason. The key skill is reading it: most not-indexed reasons are pages working as intended (canonicalized dupes, redirects, intentional noindex), so don't chase 100% indexing. Two reasons matter most — 'Crawled - currently not indexed' is most often a quality verdict, 'Discovered - currently not indexed' is most often a crawl-capacity problem — but treat each as the lead","href":"/technical-seo/tools/search-engine-tools/google-search-console/index-coverage-report/","slug":"index-coverage-report","meta":"Educational","aliases":["index-coverage-report","GSC Page Indexing tool","Page Indexing in Search Console","Index Coverage Report","google-search-console","url-inspection-tool","sitemaps-report","indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"google-search-console index-coverage page-indexing indexing technical-seo The Page Indexing report (renamed from Index Coverage in 2022) covers URLs Google already knows about — not a full site inventory — and shows which are indexed, which aren't, and why, using a capped sample of example URLs per reason. The key skill is reading it: most not-indexed reasons are pages working as intended (canonicalized dupes, redirects, intentional noindex), so don't chase 100% indexing. Two reasons matter most — 'Crawled - currently not indexed' is most often a quality verdict, 'Discovered - currently not indexed' is most often a crawl-capacity problem — but treat each as the leading hypothesis to confirm against your own pages, not a certain diagnosis. Use Validate fix after you've fixed the cause; passing it doesn't guarantee indexing, rankings, or traffic. Pair the report with the URL Inspection tool and Sitemaps filtering. What this report is \"Not indexed\" is not the same as \"broken\" The two reasons people ask about most How to actually fix something What the report is, and the rename Indexed vs Not indexed is descriptive, not a scorecard Every \"Not indexed\" reason — what it means and what to do Crawled vs Discovered — the distinction to nail A real audit pattern How to use Validate fix The sampling caveat, and the sibling reports A few myths worth killing AI summary Official documentation Quotes from the source Every \"Not indexed\" reason — reason → meaning → fix Reading the Page Indexing report — checklist The mental models What should you do with a “Not indexed” URL? Page Indexing mistakes that create busywork Optimizing for 100% indexed Treating crawled and discovered as the same problem Blocking a noindexed URL in robots.txt Repeatedly requesting indexing The Google Search Console report (renamed from \"Index Coverage\" in 2022) that shows which URLs Google has indexed, which it hasn't, and why. It splits your known URLs into Indexed and Not indexed, grouping the not-indexed ones by reason. TL;DR — The Page Indexing report in Google Search Console it used to be called the Index Coverage report tells you which of your pages are in Google's index, which aren't, and why. \"Not indexed\" sounds scary, but a lot of those pages are supposed to be left out. Find the reason, decide whether it's actually a problem, and only fix the ones that matter. What this report is Open Goo","passages":["TL;DR — The Page Indexing report in Google Search Console it used to be called the Index Coverage report tells you which of your pages are in Google's index, which aren't, and why.","\"Not indexed\" sounds scary, but a lot of those pages are supposed to be left out.","Find the reason, decide whether it's actually a problem, and only fix the ones that matter.","What this report is Open Google Search Console, click Indexing → Pages , and you're looking at the Page Indexing report.","Google renamed it from \"Index Coverage\" back in 2022, but the old name stuck — so if you searched for the \"index coverage report\" or the \"coverage report,\" this is the same thing.","It does one job: it takes every URL Google already knows about on your site and sorts it into two piles.","That \"already knows about\" part matters — it's not a full inventory of every URL that exists on your site, only the ones Google has found so far, and the example URLs it lists under each reason are a capped sample, not a complete export.","Indexed — Google has these pages in its index, so they can show up in search results."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/index-coverage-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/index-coverage-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Indexed, Though Blocked by robots.txt","desc":"The Google Search Console Page Indexing warning that means Google indexed a URL anyway despite your robots.txt block — why it happens, why it's distinct from \"Blocked by robots.txt,\" and the intent-based decision tree for fixing (or ignoring) it.","snippetText":"\"Indexed, though blocked by robots.txt\" is a Search Console Page Indexing *warning*: Google indexed the URL despite your robots.txt disallowing it — Google names other pages linking to it as the likely path, though it doesn't publish how often that's the actual cause. Since Google couldn't crawl in, it says the resulting snippet will probably be very limited. The spine: robots.txt controls crawling, not indexing, so a Disallow can't deindex a page and can even trap it. Fix by intent — want it indexed? unblock it. Want it gone? allow crawling + noindex (never pair Disallow with noindex). Should","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/indexed-though-blocked-by-robots-txt/","slug":"indexed-though-blocked-by-robots-txt","meta":"Educational","aliases":["indexed-though-blocked-by-robots-txt","indexed though blocked by robots.txt","indexed but blocked by robots","gsc indexed though blocked","Indexed, though blocked by robots.txt","blocked-by-robots-txt","robots-txt","noindex"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"indexed-though-blocked-by-robots-txt gsc-page-indexing robots-txt noindex indexing technical-seo \"Indexed, though blocked by robots.txt\" is a Search Console Page Indexing *warning*: Google indexed the URL despite your robots.txt disallowing it — Google names other pages linking to it as the likely path, though it doesn't publish how often that's the actual cause. Since Google couldn't crawl in, it says the resulting snippet will probably be very limited. The spine: robots.txt controls crawling, not indexing, so a Disallow can't deindex a page and can even trap it. Fix by intent — want it indexed? unblock it. Want it gone? allow crawling + noindex (never pair Disallow with noindex). Should it consolidate? allow crawling + canonical, no noindex. Low-value cart/parameter URLs? triage first — don't assume it's automatically safe to leave. It's distinct from the sibling 'Blocked by robots.txt' (excluded, not indexed). What the warning means The one thing to understand How to fix it it depends on what you want What this status actually means Why a blocked page gets indexed: crawling ≠ indexing \"Indexed, though blocked\" vs \"Blocked by robots.txt\" — two different statuses Is it actually a problem? Triage first The fix: an intent based decision tree The trap to avoid: never pair Disallow with noindex I tested the blocking side myself Special cases: parameter, faceted, cart, internal search URLs How to validate the fix in GSC AI summary Official documentation Quotes from the source What should you actually do about this URL? Playbook: clear an indexed but blocked incident Mistakes that make this worse Common issues The warning covers URLs you never meant to block You added , but the page still shows as indexed \"Validate Fix\" keeps failing or the status won't change The page is unblocked and ed, but it's still appearing in search The warning reappears after you thought you'd fixed it A Google Search Console Page Indexing warning: Google indexed the URL anyway despite your robots.txt disallowing crawling it — Google names other pages linking to it as the likely path. robots.txt blocks crawling, not indexing. {/ tool rule claim: robots.access policy/article contract /} TL;DR — This Search Console warning means Google indexed a page even though your blocks it. That sounds like a contradiction, but only stops Google from reading a page — it doesn't keep the URL out of sear","passages":["{/ tool rule claim: robots.access policy/article contract /} TL;DR — This Search Console warning means Google indexed a page even though your blocks it.","That sounds like a contradiction, but only stops Google from reading a page — it doesn't keep the URL out of search.","If you actually want the page gone, you have to unblock it and add a tag.","What the warning means When you block a URL in , you're telling Google \"don't crawl this.\" Google obeys that.","But \"don't crawl\" is not the same as \"don't index.\" If other pages link to that blocked URL, Google can still add it to its index — it just can't open the page to see what's on it.","So you end up with a URL in Google's results that Google never actually read.","Google itself says any snippet for a page like this will probably be very limited — sometimes no proper title, and a note that no information is available for the page.","The one thing to understand Blocking a page in does not remove it from Google."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/indexed-though-blocked-by-robots-txt/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/indexed-though-blocked-by-robots-txt/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Indexing","desc":"How search engines store and organize pages so they can rank — content analysis, canonicalization, why crawled isn't indexed, and reading the GSC Page indexing report.","snippetText":"Indexing is stage two of search (crawl → index → serve): after a page is crawled, the engine understands it, deduplicates and canonicalizes it, and — if it qualifies — stores it in the search index. Crawled isn't indexed; Google selects what to keep, and indexing isn't guaranteed. It's not a ranking factor, but a page must be indexed before it can rank. To keep a page out, use noindex and leave it crawlable — don't block it in robots.txt. This hub explains the whole stage and routes you to the deep dives.","href":"/technical-seo/how-search-works/indexing/","slug":"indexing","meta":"Educational","aliases":["indexing","index","search index","indexed","how search engines index","Indexing","Canonicalization","Duplicate Content","Crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works"],"text":"indexing technical-seo canonicalization noindex google-search-console crawling Indexing is stage two of search (crawl → index → serve): after a page is crawled, the engine understands it, deduplicates and canonicalizes it, and — if it qualifies — stores it in the search index. Crawled isn't indexed; Google selects what to keep, and indexing isn't guaranteed. It's not a ranking factor, but a page must be indexed before it can rank. To keep a page out, use noindex and leave it crawlable — don't block it in robots.txt. This hub explains the whole stage and routes you to the deep dives. What indexing is Crawled doesn't mean indexed How to check if you're indexed How to keep a page OUT of the index Indexing is stage two of three What actually happens during indexing Canonicalization: a hint, not a command Crawled ≠ indexed: why pages don't get indexed Reading the Google Search Console Page indexing report How to control indexing the right way Indexing in Bing Not every page belongs in the index Where to go next: the indexing cluster AI summary Official documentation Quotes from the source Indexing health checklist The mental models Indexing controls & statuses — cheat sheet Tools for seeing and managing indexing Resources worth your time Podcasts Videos Test yourself: Indexing Storing a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. TL;DR — Indexing is how a search engine stores your page so it can show up in results. After a page is crawled downloaded , the engine figures out what it's about and decides whether to keep it. Getting crawled does not mean you're indexed — Google picks what's worth keeping. And being indexed isn't the same as ranking; it just means you're eligible to. What indexing is Search works in three steps, in order: 1. Crawl — a bot like Googlebot discovers a URL and downloads the page. 2. Index — the engine reads that page, figures out what it's about, and files it away in a giant database of everything it might show in results. 3. Serve rank — when someone searches, the engine pulls the best matches from that database and puts them in order. Indexing is step two. If a page isn't indexed, it can't rank — it simply isn't in the database results are pulled from. But indexing on its own doesn't lift you up the page; it just gets you i","passages":["TL;DR — Indexing is how a search engine stores your page so it can show up in results.","After a page is crawled downloaded , the engine figures out what it's about and decides whether to keep it.","Getting crawled does not mean you're indexed — Google picks what's worth keeping.","And being indexed isn't the same as ranking; it just means you're eligible to.","Crawl — a bot like Googlebot discovers a URL and downloads the page.","Index — the engine reads that page, figures out what it's about, and files it away in a giant database of everything it might show in results.","Serve rank — when someone searches, the engine pulls the best matches from that database and puts them in order.","If a page isn't indexed, it can't rank — it simply isn't in the database results are pulled from."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"JavaScript SEO","desc":"How to make sure search engines can crawl, render, and index JavaScript-dependent content — real links, parity, lazy-loading, infinite scroll, soft-404s, and testing.","snippetText":"JavaScript SEO is about whether search engines can crawl, render, and index content that depends on JavaScript. Google can run JS — the failure modes are more specific: parity (raw vs rendered), interaction (Google doesn't scroll or click), state (the renderer is stateless), and timing. Keep links as real anchors, don't block JS/CSS, prefer SSR/prerendering for content that must rank, and watch infinite scroll — a tall render viewport can get two pages indexed as one.","href":"/technical-seo/javascript-seo/","slug":"javascript-seo","meta":"Educational","aliases":["JavaScript SEO","javascript-seo","JS SEO","JavaScript rendering issues","render JavaScript","infinite scroll SEO","soft 404","DOM parity","Rendering","Hydration"],"pillar":"technical-seo","taxonomy":["technical-seo","javascript-seo"],"text":"javascript-seo rendering technical-seo googlebot infinite-scroll JavaScript SEO is about whether search engines can crawl, render, and index content that depends on JavaScript. Google can run JS — the failure modes are more specific: parity (raw vs rendered), interaction (Google doesn't scroll or click), state (the renderer is stateless), and timing. Keep links as real anchors, don't block JS/CSS, prefer SSR/prerendering for content that must rank, and watch infinite scroll — a tall render viewport can get two pages indexed as one. What JavaScript SEO is The good news first The simple checklist Can Google read JavaScript? Yes — that's not the question Links must be real anchors Lazy loaded and interaction gated content Infinite scroll: when two pages get indexed as one Soft 404s after client side routing Don't block JavaScript or CSS in robots.txt DOM parity and stage aware robots directives Pick a rendering mode that puts content in the DOM How to test Where to go next: the JavaScript SEO cluster AI summary Official documentation Quotes from the source JavaScript SEO checklist The mental models JavaScript SEO gotchas — cheat sheet Which rendering mode? dependency on rendering succeeding See what Googlebot sees Tools for debugging JavaScript SEO Prompts for JavaScript SEO diagnosis Compare raw and rendered HTML Whether the rendered DOM matches what you expect the raw HTML to become. Making sure search engines can crawl, render, and index content that depends on JavaScript. TL;DR — JavaScript SEO is about one question: can search engines see your content? Modern sites build a lot of the page in the browser with JavaScript. If your important text and links only show up after scripts run, you need to confirm Google can still reach them. Google usually can — the trouble is in the details. What JavaScript SEO is Lots of sites build part or all of the page in your browser with JavaScript. The server sends some HTML, and then scripts run to fill in content, load more items, or swap views without a full page reload. JavaScript SEO is the practice of making sure search engines can still crawl, render, and index that content. Here's the order things happen in for Google: 1. Crawl — Google downloads the raw HTML of your URL. 2. Render — Google runs the page's JavaScript in a browser to build the finished page the rendering /technical seo/how search works/rendering/ ste","passages":["TL;DR — JavaScript SEO is about one question: can search engines see your content?","Modern sites build a lot of the page in the browser with JavaScript.","If your important text and links only show up after scripts run, you need to confirm Google can still reach them.","What JavaScript SEO is Lots of sites build part or all of the page in your browser with JavaScript.","The server sends some HTML, and then scripts run to fill in content, load more items, or swap views without a full page reload.","JavaScript SEO is the practice of making sure search engines can still crawl, render, and index that content.","Render — Google runs the page's JavaScript in a browser to build the finished page the rendering /technical seo/how search works/rendering/ step .","Google documents these as the three main phases for processing JavaScript web apps."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/javascript-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/javascript-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"URL Marked 'noindex' (GSC Status)","desc":"What the Google Search Console \"URL marked 'noindex'\" status means — and the \"Submitted URL marked 'noindex'\" variant and legacy \"Excluded by 'noindex' tag\" name. When it's intentional vs. a mistake, where the noindex lives (meta tag vs. X-Robots-Tag header), the robots.txt conflict, phantom/CDN noindex, and how to fix and validate.","snippetText":"\"URL marked 'noindex'\" is the Google Search Console Page Indexing status for a page Google crawled and found a noindex directive on (a meta robots tag or an X-Robots-Tag header), so it kept it out of the index. Same condition, multiple names: the current \"URL marked 'noindex'\", the sharper sitemap-submitted wording \"Submitted URL marked 'noindex'\" that reports and tools commonly use, and the legacy \"Excluded by 'noindex' tag.\" It's usually intentional and fine — validate the URL list before you \"fix\" anything. The real red flag is a noindexed page still sitting in your sitemap — sitemap submis","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/marked-noindex/","slug":"marked-noindex","meta":"Educational","aliases":["marked-noindex","url marked noindex","excluded by noindex tag","marked noindex","URL marked 'noindex'","noindex","meta-robots","x-robots-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"marked-noindex noindex gsc page-indexing technical-seo indexing \"URL marked 'noindex'\" is the Google Search Console Page Indexing status for a page Google crawled and found a noindex directive on (a meta robots tag or an X-Robots-Tag header), so it kept it out of the index. Same condition, multiple names: the current \"URL marked 'noindex'\", the sharper sitemap-submitted wording \"Submitted URL marked 'noindex'\" that reports and tools commonly use, and the legacy \"Excluded by 'noindex' tag.\" It's usually intentional and fine — validate the URL list before you \"fix\" anything. The real red flag is a noindexed page still sitting in your sitemap — sitemap submission is a hint to Google, not a guarantee, and the two directives contradict each other. Because noindex is crawl-dependent, don't pair it with a robots.txt disallow — Google can't see a noindex it can't crawl. Check two places (the meta tag and the X-Robots-Tag header), debug phantom/CDN noindex with a live Googlebot fetch, then remove the directive, Validate Fix, and expect reprocessing to take longer than a day or two. What this status is telling you Is this bad? Usually not When you do need to act The name confusion One trap to know about What the status actually means The three names are one condition Is it a problem? The intentional vs accidental decision Where the noindex lives: meta tag vs. X Robots Tag header How to find the directive on a page The robots.txt conflict why disallow + noindex backfires Phantom noindex: CDN cache and Googlebot only directives How to fix it and validate Where this sits AI summary Official documentation Quotes from the source \"URL marked 'noindex'\" triage checklist Cheat sheets The mental models Playbook: you just saw a \"marked 'noindex'\" status Scripts and snippets Tools for this task Validation tests The Google Search Console Page Indexing status for a page Google crawled and found a noindex directive on — a meta robots tag or an X-Robots-Tag header — so it kept the page out of its index. Often intentional, but a red flag when a noindexed page was submitted in a sitemap. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — \"URL marked 'noindex'\" in Google Search Console means Google looked at your page, saw a instruction on it, and kept it out of search on purpose. Most of the time that's intended — lots of pages should be noindexed. The situation","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — \"URL marked 'noindex'\" in Google Search Console means Google looked at your page, saw a instruction on it, and kept it out of search on purpose.","Most of the time that's intended — lots of pages should be noindexed.","The situation to actually worry about is a page you put in your sitemap asking Google to index it that also says don't index — some reports call this \"Submitted URL marked 'noindex'\" .","Look at the list of affected pages: if they're all ones you meant to hide, you're done.","What this status is telling you This label means Google encountered a noindex directive while processing the page.","Google supports noindex in a robots meta element or X Robots Tag response header.","When you open the Page Indexing report in Search Console and see a row called \"URL marked 'noindex'\" , here's what happened: Google visited crawled the page, found a instruction on it, and decided not to put it in search results.","The page isn't broken — Google did exactly what the page told it to do."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/marked-noindex/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/marked-noindex/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"max-snippet & previews","desc":"How the three robots preview directives cap your text snippet, image-preview size, and video-preview length in Google and Bing — and the AI-Overview tradeoff.","snippetText":"max-snippet, max-image-preview, and max-video-preview are robots directives that control how much of a page Google and Bing may show in a result — they're display controls, not indexing controls, and none of them guarantees indexing, ranking, or traffic. max-snippet:[number] caps the text snippet (0 = no snippet, same as nosnippet; -1 = Google chooses; an unparseable value is ignored); max-image-preview:[none|standard|large] caps image size (large is needed for big Discover treatments, paired with images at least 1200px wide, over 300,000 total pixels, and a 16:9 ratio); max-video-preview:[sec","href":"/technical-seo/on-page/meta-tags/max-snippet-max-image-preview/","slug":"max-snippet-max-image-preview","meta":"Educational","aliases":["max-snippet & previews","max-snippet-max-image-preview","max-snippet","max-image-preview","max-video-preview","snippet controls","max-snippet & max-image-preview","nosnippet-data-nosnippet","meta-robots","x-robots-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"max-snippet max-image-preview max-video-preview meta-robots technical-seo ai-overviews max-snippet, max-image-preview, and max-video-preview are robots directives that control how much of a page Google and Bing may show in a result — they're display controls, not indexing controls, and none of them guarantees indexing, ranking, or traffic. max-snippet:[number] caps the text snippet (0 = no snippet, same as nosnippet; -1 = Google chooses; an unparseable value is ignored); max-image-preview:[none|standard|large] caps image size (large is needed for big Discover treatments, paired with images at least 1200px wide, over 300,000 total pixels, and a 16:9 ratio); max-video-preview:[seconds] caps inline video (0 = static image at most; -1 = no limit). Set them in the robots meta tag or the X-Robots-Tag header, and combine all three in one comma-separated tag — conflicting rules resolve to the most restrictive one. The catch: max-snippet:0/nosnippet strips featured-snippet eligibility and AI-Overview/AI-Mode input at the page level, a real CTR tradeoff — Google is separately testing a property-level Search Console control to exclude AI Overviews, AI Mode, and Discover's AI features without touching your snippet, but it's in limited rollout and distinct from these page directives. What these directives do The most important thing to understand The one setting to be careful with A quick recipe Display controls, not indexing controls max snippet — the text snippet max image preview — the image preview max video preview — the video preview Combining them in one tag Robots meta tag vs X Robots Tag How to test The tradeoff, and a bit of history AI summary Official documentation Quotes from the source Snippet preview controls — cheat sheet Tools for testing snippet controls Which snippet control recipe should I use? The mental models Test yourself: max snippet and max image preview max-snippet, max-image-preview, and max-video-preview are robots directives that tell Google and Bing how much of a page they may show in a result — the snippet length, image-preview size, and video-preview duration — without affecting whether the page is indexed. TL;DR — These three robots directives tell Google how much of your page it can show in a search result — not whether to show it at all. caps the text snippet, caps the image size, and caps the video preview length. They control display ","passages":["TL;DR — These three robots directives tell Google how much of your page it can show in a search result — not whether to show it at all.","caps the text snippet, caps the image size, and caps the video preview length.","The one to be careful with is : it removes your text snippet entirely same as and can quietly cost you featured snippets and clicks.","What these directives do When your page shows up in Google, the result usually has a short text snippet, and often an image or a video preview.","These three settings let you put a ceiling on each of those: — how many characters of text Google can show.","— how many seconds of a video Google can play in the preview.","You add them to the same robots meta tag you'd use for things like , or you send them in the X Robots Tag HTTP header.","If you don't set them, Google just picks whatever it thinks works best."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/max-snippet-max-image-preview/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/max-snippet-max-image-preview/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Meta Description","desc":"The meta description suggests your SERP snippet but is not a ranking factor. See Google's query-dependent selection and a 62.78% difference observed in one Ahrefs dataset.","snippetText":"The meta description is an HTML head tag that suggests the snippet under your title in search results. It is not a Google ranking factor, and the separate meta keywords tag is ignored. Google creates snippets primarily from query-matched page content and may use the description; one Ahrefs study observed a different snippet in 62.78% of its dated dataset, not a universal rewrite rate. There is no fixed character limit; display truncation varies. Matched terms may be bolded, but no cited controlled study proves the bolding itself lifts CTR. nosnippet, max-snippet, and data-nosnippet suppress or","href":"/technical-seo/on-page/meta-tags/meta-description/","slug":"meta-description","meta":"Educational","aliases":["Meta Description","meta-description","meta description","meta description tag","meta name description","title-tag","meta-tags","nosnippet-data-nosnippet"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"meta-description technical-seo on-page meta-tags snippets ctr The meta description is an HTML head tag that suggests the snippet under your title in search results. It is not a Google ranking factor, and the separate meta keywords tag is ignored. Google creates snippets primarily from query-matched page content and may use the description; one Ahrefs study observed a different snippet in 62.78% of its dated dataset, not a universal rewrite rate. There is no fixed character limit; display truncation varies. Matched terms may be bolded, but no cited controlled study proves the bolding itself lifts CTR. nosnippet, max-snippet, and data-nosnippet suppress or cap snippets. Write accurate, page-specific descriptions for high-value pages and evaluate snippets by query. What a meta description is The two things almost everyone gets wrong So why write one at all? How to write a good one Meta description mistakes that waste time Draft candidates from the page, not from guesses Preview before you publish What it is, and what it does It is not a ranking factor Snippets come from the page first, your description second How often studies observe a different snippet When does Google keep yours vs. rewrite it? Length: there's no limit, only truncation Best practices that actually matter Multiple meta descriptions are not a first wins or last wins rule Meta descriptions at scale: database and programmatic pages The opposite lever: nosnippet, max snippet, data nosnippet A note on Bing The bottom line AI summary Official documentation Quotes from the source Write a good meta description checklist Stats worth citing The meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — The meta description is the short summary you write for a page. Its job is to suggest the gray snippet text under your title in Google. It is not a ranking factor — writing one won't move you up the results. And Google often ignores the one you wrote and shows its own text instead. It's still worth writing on your important pages, because a good one can get more people to click. What a meta description is A meta descrip","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — The meta description is the short summary you write for a page.","Its job is to suggest the gray snippet text under your title in Google.","It is not a ranking factor — writing one won't move you up the results.","And Google often ignores the one you wrote and shows its own text instead.","It's still worth writing on your important pages, because a good one can get more people to click.","What a meta description is A meta description is a single line of HTML you put in the of a page: You never see it on the page itself.","Its only purpose is to suggest the snippet — the descriptive text Google shows under your title in the search results.","Think of it as a pitch for the click, not part of the page's content."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-description/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-description/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Meta Robots Tag","desc":"The robots meta tag controls how a page is indexed and served — every directive, the crawl-then-obey rule, conflict resolution, and meta tag vs X-Robots-Tag.","snippetText":"The robots meta tag — <meta name=\"robots\" content=\"noindex\"> in the <head> — tells search engines how to index and serve a single page. The rule that breaks everything: it's crawl-then-obey, so a page blocked in robots.txt is never fetched and its noindex is never seen. With no tag, the default is index, follow. Conflicting rules resolve to the most restrictive; for a googlebot-named tag against the generic robots tag, Googlebot takes the sum of the negative rules. The tag is HTML-only — use the X-Robots-Tag header for PDFs, images, and other non-HTML.","href":"/technical-seo/on-page/meta-tags/meta-robots/","slug":"meta-robots","meta":"Educational","aliases":["Meta Robots Tag","meta-robots","robots meta tag","meta robots","meta name robots","robots meta directive","Robots Meta Tag","x-robots-tag","noindex","nofollow","nosnippet-data-nosnippet"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"meta-robots technical-seo on-page noindex nofollow indexing The robots meta tag — <meta name=\"robots\" content=\"noindex\"> in the <head> — tells search engines how to index and serve a single page. The rule that breaks everything: it's crawl-then-obey, so a page blocked in robots.txt is never fetched and its noindex is never seen. With no tag, the default is index, follow. Conflicting rules resolve to the most restrictive; for a googlebot-named tag against the generic robots tag, Googlebot takes the sum of the negative rules. The tag is HTML-only — use the X-Robots-Tag header for PDFs, images, and other non-HTML. What the robots meta tag is The one thing to get right: don't block the page you're trying to noindex The common directives A few honest gotchas Test yourself: robots meta directives Choose the control by outcome Robots controls that fail their intended job Deploy a noindex safely Inspect meta, headers, and crawl access Test each layer separately Prove the directive works after deployment Measure intent, not a universal benchmark What it is, where it goes, and the default The rule that breaks everything: Google must crawl the page to see the tag Every robots meta directive the reference Combining directives and resolving conflicts Meta robots tag vs X Robots Tag the HTTP header Which directives Bing and other engines support Common mistakes and the fixes AI summary Official documentation Quotes from the source Every robots meta directive — cheat sheet The mental models The robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — The robots meta tag is a line of HTML you put in a page's to tell search engines how to handle that one page — most often to keep it out of search. The catch that trips everyone up: Google has to be able to crawl the page to read the tag. If you also block the page in , Google never sees the tag, and the page can stay in search. With no tag at all, the default is \"index it and follow the links.\" What the robots meta tag is The robots meta tag is a small HTML element that sits in the of a page: It tells search engines how to treat this specific page — whether to sho","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — The robots meta tag is a line of HTML you put in a page's to tell search engines how to handle that one page — most often to keep it out of search.","The catch that trips everyone up: Google has to be able to crawl the page to read the tag.","If you also block the page in , Google never sees the tag, and the page can stay in search.","With no tag at all, the default is \"index it and follow the links.\" What the robots meta tag is The robots meta tag is a small HTML element that sits in the of a page: It tells search engines how to treat this specific page — whether to show it in results, whether to follow the links on it, whether to show a snippet, and so on.","The part means \"all search engines that read this tag.\" You can swap in a crawler's name, like , to talk to just one engine.","If there's no robots meta tag on a page, the default is — show it in search and follow its links.","So you only need the tag when you want to change that default.","The one thing to get right: don't block the page you're trying to noindex This is the mistake I see most often."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-robots/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/meta-robots/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Meta Tags for SEO","desc":"Which HTML head elements actually matter for SEO in 2026 — the title link, meta description, and robots meta tag — plus X-Robots-Tag, rel attributes, and the dead tags to drop.","snippetText":"Meta tags are head elements that pass metadata to search engines — but most 'meta tags for SEO' lists are padded with tags that do nothing. Only a few matter: the title element (a light ranking factor and the main source of the SERP title link), the meta description (drives CTR, not a ranking factor), and the robots meta tag (noindex, nofollow, snippet controls — mirrored by the X-Robots-Tag header for non-HTML files). Group head elements by job: appearance, indexing/serving, link-level, browser-only, and ignored. The trap that bites everyone: a page blocked in robots.txt is never crawled, so ","href":"/technical-seo/on-page/meta-tags/","slug":"meta-tags","meta":"Educational","aliases":["meta-tags","meta tags","meta tags for SEO","head tags","HTML head tags","Meta Tags","title-tag","meta-description","meta-robots","noindex"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page"],"text":"meta-tags technical-seo on-page title-tag meta-description robots-meta-tag Meta tags are head elements that pass metadata to search engines — but most 'meta tags for SEO' lists are padded with tags that do nothing. Only a few matter: the title element (a light ranking factor and the main source of the SERP title link), the meta description (drives CTR, not a ranking factor), and the robots meta tag (noindex, nofollow, snippet controls — mirrored by the X-Robots-Tag header for non-HTML files). Group head elements by job: appearance, indexing/serving, link-level, browser-only, and ignored. The trap that bites everyone: a page blocked in robots.txt is never crawled, so Google never sees your noindex. This hub maps every tag and routes you to the deep dives. What meta tags are The tags that do nothing The one mistake to avoid What counts as a meta tag — and the title tag caveat The map — every head signal by its job Where each tag lives — three locations Crawling vs. indexing vs. serving — why robots.txt can silence your meta tags The meta description is not a ranking factor Two implementation gotchas that quietly break metadata Where to go next AI summary Official documentation Quotes from the source Meta tags cheat sheet The mental models Test yourself: Meta Tags for SEO Meta tags are HTML elements in a page's head that pass metadata about the page to search engines and browsers. For SEO only a few matter — the title element, the meta description, and the robots meta tag — while meta keywords and most others are ignored. TL;DR — Meta tags are bits of HTML in the head of your page that tell search engines and browsers things about the page. Most of them don't matter for SEO. The three that do: the title the clickable headline in results , the meta description the blurb under it , and the robots tag which can tell Google not to index a page . Meta keywords? Dead — Google ignores them completely. What meta tags are When you look at a web page, you see the body — headings, paragraphs, images. Above all of that, in a section called the head , sits metadata: information about the page that visitors don't see but search engines and browsers read. Meta tags live there. The internet is full of \"SEO meta tags\" checklists with a dozen entries. Ignore most of them. In 2026, only a few head elements actually do anything for search: The title — the headline that becomes you","passages":["TL;DR — Meta tags are bits of HTML in the head of your page that tell search engines and browsers things about the page.","The three that do: the title the clickable headline in results , the meta description the blurb under it , and the robots tag which can tell Google not to index a page .","What meta tags are When you look at a web page, you see the body — headings, paragraphs, images.","Above all of that, in a section called the head , sits metadata: information about the page that visitors don't see but search engines and browsers read.","The internet is full of \"SEO meta tags\" checklists with a dozen entries.","In 2026, only a few head elements actually do anything for search: The title — the headline that becomes your clickable link in search results.","Technically it's the title element , not a \"meta\" tag, but it belongs here and it's the most important one.","The meta description — the short blurb shown under the title."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Mobile-First Indexing","desc":"What mobile-first indexing actually is — Google using your mobile HTML for indexing and ranking — why content parity is rule","snippetText":"Mobile-first indexing means Google uses the mobile version of your page — crawled by Googlebot smartphone — for indexing and ranking. It's not a separate 'mobile index' (there's one index), you can't opt out, and it's not a ranking boost by itself. The rule it forces is content parity: anything you want indexed — text, structured data, images, alt text, internal links — has to be in the mobile HTML, or Google may never see it. Don't confuse it with mobile-friendliness; that's a separate usability concept. Responsive design is Google's recommended setup. Google announced it in November 2016, ma","href":"/technical-seo/how-search-works/indexing/mobile-first-indexing/","slug":"mobile-first-indexing","meta":"Educational","aliases":["mobile-first-indexing","mobile-first indexing","mobile first index","mobile-first index","mobile first indexing","Mobile-First Indexing","Indexing","Crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing"],"text":"mobile-first-indexing technical-seo indexing googlebot mobile-seo content-parity Mobile-first indexing means Google uses the mobile version of your page — crawled by Googlebot smartphone — for indexing and ranking. It's not a separate 'mobile index' (there's one index), you can't opt out, and it's not a ranking boost by itself. The rule it forces is content parity: anything you want indexed — text, structured data, images, alt text, internal links — has to be in the mobile HTML, or Google may never see it. Don't confuse it with mobile-friendliness; that's a separate usability concept. Responsive design is Google's recommended setup. Google announced it in November 2016, made it the default for new sites in 2019, moved the last batch in May 2023, and declared it complete in October 2023. What mobile first indexing is Why it matters: what's on mobile is what counts Mobile first indexing is not the same as \"mobile friendly\" What you should actually do The definition, precisely Googlebot is mostly the smartphone crawler Content parity is rule 1 The parity items that actually bite The lazy load / user interaction trap The verified timeline Configuration: responsive vs. dynamic serving vs. separate URLs How to check if your site is on mobile first indexing Does Bing do mobile first indexing? No. Common myths, corrected AI summary Official documentation Quotes from the source Mobile first parity audit checklist The mental models Mobile first indexing — cheat sheet Common issues Content that ranked on desktop suddenly isn't indexed A page got deindexed after a redesign Rich results disappear after a site update Google's practice of using the mobile version of a page's content — crawled by Googlebot smartphone — for indexing and ranking. It is not a separate index and not a ranking boost. TL;DR — Mobile first indexing means Google looks at the mobile version of your page — not the desktop version — to decide what your page is about and how to rank it. It's not a separate \"mobile index,\" and it's not a ranking boost. The one thing to get right: anything you want Google to see needs to be on your mobile site, because that's the version it indexes. What mobile first indexing is When Google crawls your site, it mostly visits as a smartphone — using a mobile crawler called Googlebot smartphone . Whatever it sees on the mobile version of your page is what it indexes and ra","passages":["TL;DR — Mobile first indexing means Google looks at the mobile version of your page — not the desktop version — to decide what your page is about and how to rank it.","It's not a separate \"mobile index,\" and it's not a ranking boost.","The one thing to get right: anything you want Google to see needs to be on your mobile site, because that's the version it indexes.","What mobile first indexing is When Google crawls your site, it mostly visits as a smartphone — using a mobile crawler called Googlebot smartphone .","Whatever it sees on the mobile version of your page is what it indexes and ranks.","That's mobile first indexing in one sentence: Google uses the mobile version of your content for indexing and ranking.","The name trips people up, so let me clear up two things right away: There is no separate \"mobile index.\" Google has one index.","Mobile first indexing just changed which version of your page Google looks at — desktop used to be the default, now mobile is."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/mobile-first-indexing/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/mobile-first-indexing/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Nofollow","desc":"rel=\"nofollow\" tells Google you don't vouch for a link. Since 2019–2020 it's a hint, not a directive — and it doesn't reliably block crawling or indexing.","snippetText":"rel=\"nofollow\" is a per-link value of the rel attribute that says 'I don't vouch for this link and don't want to pass ranking signals to it.' Google introduced it in 2005 to fight comment spam, killed PageRank sculpting with it in 2009, and in 2019–2020 downgraded it from a directive to a hint — for ranking on Sept 10, 2019, and for crawling and indexing on March 1, 2020. The big myth to kill: nofollow is not noindex and it doesn't reliably block crawling or indexing. A nofollowed page can still be crawled and indexed via sitemaps, other sites' links, or your own follow links. Use sponsored fo","href":"/technical-seo/on-page/meta-tags/nofollow/","slug":"nofollow","meta":"Educational","aliases":["Nofollow","nofollow","rel=nofollow","rel nofollow","nofollow link","nofollow attribute","rel-sponsored-ugc","meta-robots","noindex"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"nofollow rel-nofollow on-page meta-tags technical-seo link-attributes rel=\"nofollow\" is a per-link value of the rel attribute that says 'I don't vouch for this link and don't want to pass ranking signals to it.' Google introduced it in 2005 to fight comment spam, killed PageRank sculpting with it in 2009, and in 2019–2020 downgraded it from a directive to a hint — for ranking on Sept 10, 2019, and for crawling and indexing on March 1, 2020. The big myth to kill: nofollow is not noindex and it doesn't reliably block crawling or indexing. A nofollowed page can still be crawled and indexed via sitemaps, other sites' links, or your own follow links. Use sponsored for paid links, ugc for user-generated ones, nofollow as the catch-all — and you can combine them. What a nofollow link is Why it exists When to use it The thing almost everyone gets wrong Test yourself: nofollow Nofollow mistakes to remove from the playbook “The page is indexed even though its link is nofollowed” Audit accidental internal nofollow What actually is A short history of nofollow nofollow, sponsored, and ugc — what's the difference? Does nofollow block crawling or indexing? No. Link level vs the robots meta tag nofollow Do nofollow links help SEO? When to use nofollow and when not to The state of nofollow today AI summary Official documentation Quotes from the source The mental models nofollow vs sponsored vs ugc vs noindex vs disallow Resources worth your time Stats worth citing rel=\"nofollow\" is a value of the HTML link rel attribute that tells search engines you don't vouch for a linked page and don't want to pass ranking signals to it. Since 2019–2020 Google treats it as a hint, not a directive — and it does not reliably block crawling or indexing. TL;DR — is a little tag you add to a link to tell search engines \"I don't vouch for this — don't pass my ranking signals to it.\" It's useful for ads, affiliate links, and links left by random users comments . The big thing people get wrong: nofollow does not hide a page from Google. It's not the same as , and it doesn't reliably block crawling. What a nofollow link is A normal link looks like this: A nofollowed link just adds one attribute: That is a message to search engines: I'm linking to this page, but I don't want to vouch for it or pass my site's ranking strength to it. Everything else about the link works exactly the same — people can ","passages":["TL;DR — is a little tag you add to a link to tell search engines \"I don't vouch for this — don't pass my ranking signals to it.\" It's useful for ads, affiliate links, and links left by random users comments .","The big thing people get wrong: nofollow does not hide a page from Google.","It's not the same as , and it doesn't reliably block crawling.","What a nofollow link is A normal link looks like this: A nofollowed link just adds one attribute: That is a message to search engines: I'm linking to this page, but I don't want to vouch for it or pass my site's ranking strength to it.","Everything else about the link works exactly the same — people can still click it and visit the page.","Why it exists Google introduced nofollow back in 2005 , with other search engines, to fight spam.","Spammers were dropping links to their sites in blog comments and guestbooks to try to boost their rankings.","Nofollow gave site owners a way to say \"these links don't count as a vote from me.\" When to use it The everyday uses: Ads and paid links — anything you got paid to link to."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/nofollow/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/nofollow/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Noindex","desc":"Noindex keeps a page out of search results — but only if Google can crawl it. The two valid methods, the robots.txt trap, and how to verify it worked.","snippetText":"Noindex is the directive that keeps a page out of the index, so it won't appear in search results. There are two valid ways to set it: the robots meta tag (`<meta name=\"robots\" content=\"noindex\">`) and the `X-Robots-Tag: noindex` HTTP header (the only option for non-HTML files like PDFs). The single biggest mistake: a page blocked in robots.txt can't be noindexed, because Google never crawls it to see the rule — so to remove a page you have to allow crawling and serve noindex. Don't put noindex in robots.txt (unsupported since Sept 1, 2019); if noindex and canonical coexist, treat that as an i","href":"/technical-seo/on-page/meta-tags/noindex/","slug":"noindex","meta":"Educational","aliases":["Noindex","noindex","noindex tag","noindex directive","meta noindex","meta-robots","x-robots-tag","index-bloat","canonical-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"noindex technical-seo meta-tags indexing robots-meta-tag x-robots-tag Noindex is the directive that keeps a page out of the index, so it won't appear in search results. There are two valid ways to set it: the robots meta tag (`<meta name=\"robots\" content=\"noindex\">`) and the `X-Robots-Tag: noindex` HTTP header (the only option for non-HTML files like PDFs). The single biggest mistake: a page blocked in robots.txt can't be noindexed, because Google never crawls it to see the rule — so to remove a page you have to allow crawling and serve noindex. Don't put noindex in robots.txt (unsupported since Sept 1, 2019); if noindex and canonical coexist, treat that as an intent check rather than an automatic error; and remember deindexing only happens after a recrawl. What noindex does The two ways to add it The mistake that breaks it Test yourself: noindex Choose noindex only when removal is the goal The three noindex failures to check first Fix “Indexed, though blocked by robots.txt” Serve noindex for non HTML files Monitor noindex as an owned URL set What noindex is — index control, not crawl control The two valid delivery methods The 1 mistake — noindex + a robots.txt block noindex vs nofollow vs disallow Treat noindex with rel=canonical as an intent check noindex,follow vs noindex,nofollow — the slow decay How long does noindex take? noindex in robots.txt is dead since Sept 1, 2019 How to verify noindex in Google Search Console What noindex doesn't guarantee Where noindex fits with everything else AI summary Official documentation Quotes from the source noindex vs disallow vs nofollow vs canonical — what each does Noindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — Noindex is how you tell Google \"don't put this page in search results.\" You add it as a small tag in the page's code or as an HTTP header for files like PDFs . The one rule that trips everyone up: Google has to be able to crawl the page to see the tag — so don't also block it in robots.txt, or the whole thing silently fails. What noindex does keeps a page out of the search index. If a page isn't in the index, it can't show up in search results. That's the e","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — Noindex is how you tell Google \"don't put this page in search results.\" You add it as a small tag in the page's code or as an HTTP header for files like PDFs .","The one rule that trips everyone up: Google has to be able to crawl the page to see the tag — so don't also block it in robots.txt, or the whole thing silently fails.","If a page isn't in the index, it can't show up in search results.","That's the entire job: it doesn't hide the page from visitors, it doesn't make it load faster, and it doesn't pass or block any \"link juice\" by itself — it just keeps the page out of Google and Bing's results.","You'd reach for it on pages that exist for people but have no business ranking: internal search result pages, \"thank you\" pages after a form, thin tag or filter pages, staging or utility pages.","Drop this line into the of the page: That's the normal way for an HTML page.","have a checkbox that adds it for you — in many SEO plugins it's a \"discourage search engines from indexing this page\" toggle on the page editor.","Some files don't have a to put a tag in — a PDF, an image, a video."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/noindex/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/noindex/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"nosnippet","desc":"nosnippet kills the snippet for a whole page; data-nosnippet hides just one section. The scopes, the valid-HTML gotcha, and the AI Overviews angle.","snippetText":"nosnippet and data-nosnippet both suppress snippet text, at different scopes. nosnippet is a robots directive — a meta-robots value or an X-Robots-Tag header — that kills the snippet text and video preview for the whole page (though a static image thumbnail may still show), removes featured-snippet eligibility, and (per Google) drops the content as a direct input to AI Overviews and AI Mode. data-nosnippet is an HTML attribute, valid only on span/div/section, that hides just the wrapped section — from both regular and featured snippets — while the rest of the page stays eligible; it's a boolea","href":"/technical-seo/on-page/meta-tags/nosnippet-data-nosnippet/","slug":"nosnippet-data-nosnippet","meta":"Educational","aliases":["nosnippet","nosnippet-data-nosnippet","data-nosnippet","data nosnippet","nosnippet & data-nosnippet","max-snippet-max-image-preview","meta-robots","x-robots-tag"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"nosnippet data-nosnippet meta-tags technical-seo snippets ai-overviews nosnippet and data-nosnippet both suppress snippet text, at different scopes. nosnippet is a robots directive — a meta-robots value or an X-Robots-Tag header — that kills the snippet text and video preview for the whole page (though a static image thumbnail may still show), removes featured-snippet eligibility, and (per Google) drops the content as a direct input to AI Overviews and AI Mode. data-nosnippet is an HTML attribute, valid only on span/div/section, that hides just the wrapped section — from both regular and featured snippets — while the rest of the page stays eligible; it's a boolean attribute, the markup must be valid, closed HTML or an unclosed tag swallows everything after it, and structured data inside it stays usable. nosnippet equals max-snippet:0 for text; neither touches indexing or rankings; Bing supports nosnippet but documents no data-nosnippet. Google is also testing a separate property-level Search generative AI control in Search Console. What a snippet is, and the two ways to suppress it The page level one: The section level one: What it does not do Two controls, two scopes — the page level robots directive Syntax meta tag and header What it actually removes Relationship to — the section level HTML attribute Syntax and the official example It's a boolean attribute The valid HTML requirement the failure mode The JavaScript caveat It excludes featured snippets too, and structured data still works inside it Which one to use Removing content from AI Overviews Bing and other engines The cost you're accepting AI summary Official documentation Quotes from the source Snippet suppression cheat sheet Snippet control mistakes to avoid nosnippet is a robots directive (meta tag or X-Robots-Tag header) that suppresses all snippet text and the video preview for a whole page; data-nosnippet is an HTML attribute on span, div, or section that excludes just that section from the snippet. TL;DR — A snippet is the bit of descriptive text under your result in Google. tells Google to show no snippet text for the whole page — you get mostly just a title and URL Google says a static image thumbnail can still show in some cases . is more surgical: wrap one paragraph in it and only that paragraph is hidden from the snippet, while the rest of the page can still show. Neither one removes your","passages":["TL;DR — A snippet is the bit of descriptive text under your result in Google.","tells Google to show no snippet text for the whole page — you get mostly just a title and URL Google says a static image thumbnail can still show in some cases .","is more surgical: wrap one paragraph in it and only that paragraph is hidden from the snippet, while the rest of the page can still show.","Neither one removes your page from Google or changes your rankings — they only change what shows in the listing.","What a snippet is, and the two ways to suppress it When your page shows up in Google, the engine usually pulls a line or two of text to show under your link.","By default Google writes it for you from whatever's on the page.","Sometimes you don't want that text shown — maybe it's paywalled content, or something sensitive, or you simply don't want Google lifting a chunk of your page into the results.","You have two tools: — hides the snippet for the entire page ."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/nosnippet-data-nosnippet/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/nosnippet-data-nosnippet/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Not Found (404)","desc":"What \"Not found (404)\" means in Google Search Console's Page Indexing report — why Google found URLs you never submitted, why 404s usually don't hurt SEO, and the small set of 404s that are actually worth fixing.","snippetText":"\"Not found (404)\" in Google Search Console's Page Indexing report means Googlebot requested a URL Google says it discovered on its own — via a link, or a page that used to exist, not from an explicit request from you — and got a 404, so it isn't indexed. That's a description of how Google found the URL, not proof it's absent from your current sitemap. A correctly-returned 404 usually isn't a sitewide problem — Google's own crawl documentation says 4xx statuses other than 429 don't affect crawl rate — but a 404 on a URL that should work (linked, in a sitemap, with backlinks, or with traffic) st","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/not-found-404/","slug":"not-found-404","meta":"Educational","aliases":["not-found-404","not found 404","404 not found gsc","google search console 404","Not found (404)","blocked-other-4xx","redirect-error","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"not-found-404 404 gsc-page-indexing indexing technical-seo http-status-codes \"Not found (404)\" in Google Search Console's Page Indexing report means Googlebot requested a URL Google says it discovered on its own — via a link, or a page that used to exist, not from an explicit request from you — and got a 404, so it isn't indexed. That's a description of how Google found the URL, not proof it's absent from your current sitemap. A correctly-returned 404 usually isn't a sitewide problem — Google's own crawl documentation says 4xx statuses other than 429 don't affect crawl rate — but a 404 on a URL that should work (linked, in a sitemap, with backlinks, or with traffic) still costs you broken links, lost equity, or lost users, so fix those by restoring the page or 301-redirecting it to a genuinely relevant live page (the ones with inbound links are the priority, to recover the equity). Leave genuinely-gone pages as 404 (or 410, which in my own experience tends to drop a touch faster, though Google treats 4xx codes other than 429 the same). Don't mass-redirect everything to the homepage — that gets treated as a soft 404. What \"Not found 404 \" means Do 404s hurt my SEO? When a 404 is actually worth fixing What Google is actually telling you Does \"Not found 404 \" hurt SEO? the verdict first What Google does with a 404 internally When a 404 is worth fixing — and when it isn't How to fix the ones that matter 404 vs 410 vs 301 vs noindex How to find what's linking to a 404 Validate the fix and what to expect Where this sits among its siblings AI summary Official documentation Quotes from the source The mental models Triaging your \"Not found 404 \" list Playbook: respond to a sudden 404 spike 404 cheat sheets Common issues The 404 count suddenly spikes in the Page Indexing report You fixed a URL but it still shows \"Not found 404 \" weeks later A removed URL shows up as \"soft 404\" instead of \"Not found 404 \" A 301 you set up shows as \"soft 404\" for the destination A Google Search Console Page Indexing status meaning Googlebot requested a URL it says it discovered on its own — not proof it's absent from your current sitemap — and got a 404 Not Found, so the page isn't indexed. Usually fine unless the URL should still exist. TL;DR — \"Not found 404 \" in Search Console means Google asked your server for a page and got a \"not found\" answer, so it didn't index it. Google found ","passages":["TL;DR — \"Not found 404 \" in Search Console means Google asked your server for a page and got a \"not found\" answer, so it didn't index it.","Google found the URL on its own — usually from a link somewhere, or because the page used to exist — which describes how it was discovered, not proof it's missing from your current sitemap.","This is normal and usually fine, but only for URLs that are actually supposed to be gone.","You only need to fix it if the URL should work, in which case you bring the page back or redirect it to the right replacement.","What \"Not found 404 \" means This label means Google received an HTTP 404 when requesting the URL.","Google treats persistent 4xx responses other than 429 as if the content does not exist.","Open the Page Indexing report in Google Search Console and you'll see a list of reasons pages aren't indexed.","It means Googlebot requested the URL, and your server replied with an HTTP 404 Not Found — the standard \"this page doesn't exist\" response."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/not-found-404/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/not-found-404/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Page Indexed Without Content","desc":"What the Google Search Console \"Page indexed without content\" status means — the page is in Google's index but Googlebot couldn't read it — and how to diagnose it. Often a server/CDN block, not just a JavaScript problem.","snippetText":"\"Page indexed without content\" is a Google Search Console Page Indexing status meaning the URL is in Google's index, but Googlebot couldn't read any usable content from it — Google's own docs say cloaking or an unindexable format are possible causes, and explicitly this is not the same thing as a page-level robots.txt block. It's not the same as Crawled/Discovered — currently not indexed (those aren't indexed at all). The dominant assumption is that it's a JavaScript problem; in one January 2026 case John Mueller told a user this usually means a low-level server/CDN block — often IP-based and ","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/page-indexed-without-content/","slug":"page-indexed-without-content","meta":"Educational","aliases":["page-indexed-without-content","page indexed without content","indexed without content","gsc page indexed without content","Page indexed without content","rendering","javascript-seo","indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"page-indexed-without-content gsc-page-indexing indexing rendering technical-seo googlebot \"Page indexed without content\" is a Google Search Console Page Indexing status meaning the URL is in Google's index, but Googlebot couldn't read any usable content from it — Google's own docs say cloaking or an unindexable format are possible causes, and explicitly this is not the same thing as a page-level robots.txt block. It's not the same as Crawled/Discovered — currently not indexed (those aren't indexed at all). The dominant assumption is that it's a JavaScript problem; in one January 2026 case John Mueller told a user this usually means a low-level server/CDN block — often IP-based and aimed at Googlebot — that you can't reproduce with curl or a third-party crawler. Other possible causes: cloaking, an empty render, content gated behind clicks, or an unsupported format — treat these as a checklist, not a fixed order. Diagnose with URL Inspection's indexed View Crawled Page for what Google's last crawl saw (note: the live test can't directly re-test this specific status, and a valid live result doesn't guarantee indexing). If the indexed render is blank but the page looks fine in your browser, suspect a Googlebot-targeted block or accidental cloaking. Adding more words won't fix a page Google can't read. What the status means Why it usually isn't what people think How to check what Google saw What Google's docs actually say Don't assume it's JavaScript Why this can cost you rankings The server/CDN block, in detail The rendering / JavaScript cause when it is JS Diagnosing it: URL Inspection is the whole game Telling the causes apart The myths to drop After you fix it Where this sits AI summary Official documentation Quotes from the source A diagnosis decision tree \"Page indexed without content\" diagnosis checklist Verify it's really Googlebot Compare raw vs rendered HTML yourself Mistakes that waste time on this status \"Page indexed without content\" — quick reference Ready to copy AI prompts Prove Googlebot is actually getting content now A Google Search Console status meaning the URL is in Google's index, but Googlebot couldn't read any usable content from it — possible causes include a server/CDN block, cloaking, an empty render, or an unsupported format. Not the same as a page-level robots.txt block. TL;DR — \"Page indexed without content\" in Google Search Console","passages":["TL;DR — \"Page indexed without content\" in Google Search Console means your page is in Google's index, but Google couldn't actually read any usable content from it.","That's different from a robots.txt block, and it's usually not a \"write more words\" problem.","A frequent real cause is your server or CDN quietly blocking Googlebot, so Google gets an empty response even though the page looks fine to you — but treat that as one likely cause to check, not the only one.","What the status means Open the Page Indexing report in Google Search Console it's under \"Indexing\" in the left menu , and you may see a status called \"Page indexed without content.\" It's sometimes shown as just \"Indexed without content.\" Here's the key thing: the page is indexed.","The problem is that Google could not read the page's content.","Google's own docs name cloaking or an unindexable format as the possible reasons — and are explicit that this is not the same thing as the page being blocked by a page level robots.txt disallow that has its own separate report reason .","That makes this different from two statuses people mix it up with: \"Discovered — currently not indexed\" — Google knows the URL exists but hasn't indexed it.","\"Crawled — currently not indexed\" — Google crawled it but chose not to index it."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/page-indexed-without-content/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/page-indexed-without-content/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Page with Redirect (GSC Status)","desc":"What \"Page with redirect\" means in Google Search Console's Page Indexing report — why these URLs aren't indexed by design, how it differs from the sibling \"Redirect error,\" and the rare cases that actually need action.","snippetText":"\"Page with redirect\" in Google Search Console is not an error. It means the URL Google crawled is itself a redirect — a non-canonical URL — so that URL is correctly not indexed by design; the redirect target is a separate story, and Google says the target may or may not be indexed depending on its own evaluation of that URL. Most entries are intentional and healthy: HTTP→HTTPS, www/non-www, trailing-slash normalization, and old post-migration URLs. Don't confuse it with the sibling \"Redirect error,\" which flags genuinely broken redirects (chains too long, loops, over-length URLs, bad/empty URL","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/page-with-redirect/","slug":"page-with-redirect","meta":"Educational","aliases":["page-with-redirect","page with redirect","gsc page with redirect","search console page with redirect","Page with redirect","redirect-error","redirect-chain","301-redirect"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"page-with-redirect gsc-page-indexing technical-seo indexing redirects site migration \"Page with redirect\" in Google Search Console is not an error. It means the URL Google crawled is itself a redirect — a non-canonical URL — so that URL is correctly not indexed by design; the redirect target is a separate story, and Google says the target may or may not be indexed depending on its own evaluation of that URL. Most entries are intentional and healthy: HTTP→HTTPS, www/non-www, trailing-slash normalization, and old post-migration URLs. Don't confuse it with the sibling \"Redirect error,\" which flags genuinely broken redirects (chains too long, loops, over-length URLs, bad/empty URLs) you do need to fix. You only act on \"Page with redirect\" if an important page was redirected by accident, the target is wrong, or it's secretly a chain/loop. For permanent (301/308) redirects, signals consolidate forward to the destination, so you don't lose the old URL's equity — and you usually don't need to click \"Validate fix.\" What \"Page with redirect\" means Why this is normal Do I need to fix it? It's a status, not an error Why the URL isn't indexed and what is You don't lose the old URL's equity The expected reasons you'll see this \"Page with redirect\" vs \"Redirect error\" — the key difference When you actually do need to act How to investigate a flagged URL Do you need to click \"Validate fix\"? One note on Bing AI summary Official documentation Quotes from the source The mental models \"Page with redirect\" triage checklist Mistakes people make with \"Page with redirect\" Tools for checking a \"Page with redirect\" entry Prove a \"Page with redirect\" entry is actually fine Test 1 — It's a single, real redirect Test 2 — Google agrees the destination is canonical Test 3 — The whole flagged batch is clean, not just one URL Test yourself: \"Page with redirect\" A Google Search Console Page Indexing status for a URL that redirects elsewhere. It's not indexed by design because it's a redirect — the destination is a separate question, and Google says the target may or may not end up indexed — usually expected, not an error (unlike the separate \"Redirect error\"). TL;DR — \"Page with redirect\" in Google Search Console is not an error. It just means the URL Google crawled sends visitors somewhere else it redirects , so Google indexes the destination instead of the redirecting URL. For most sites t","passages":["TL;DR — \"Page with redirect\" in Google Search Console is not an error.","It just means the URL Google crawled sends visitors somewhere else it redirects , so Google indexes the destination instead of the redirecting URL.","For most sites this is exactly what you want — old URLs pointing to new ones.","What \"Page with redirect\" means Google defines this as a non canonical URL that redirects and therefore is not indexed as that URL.","A redirect is also a canonicalization signal toward its target, but the target's indexing is not guaranteed.","You opened the Page Indexing report in Google Search Console, scrolled to \"Why pages aren't indexed,\" and saw Page with redirect with a count next to it.","The word \"redirect\" plus the fact that it's filed under \"not indexed\" makes it look like something broke.","A redirect is a way of sending people and bots to a new URL when they ask for an old one."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/page-with-redirect/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/page-with-redirect/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Performance Report (GSC)","desc":"How Google Search Console's Performance report works — what clicks, impressions, average CTR, and average position really count, plus anonymized queries and limits.","snippetText":"The Performance report is Google Search Console's view of how your site actually did in Google — real clicks and impressions, not estimates. It reports four metrics (clicks, impressions, average CTR, average position) sliced across six dimensions, keeps 16 months, and is privacy-filtered and averaged — not a statistical sample. Average position is an average across queries (not your live rank), anonymized queries hide low-volume terms so the table won't sum to the chart, and the UI caps at 1,000 rows — for more, use the Search Analytics API (up to 25,000 rows per request) or the BigQuery bulk ","href":"/technical-seo/tools/search-engine-tools/google-search-console/performance-report/","slug":"performance-report","meta":"Educational","aliases":["performance-report","Performance report","GSC Performance report","Search Console performance","google-search-console","search-console-api"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"google-search-console performance-report average-position impressions anonymized-queries reporting The Performance report is Google Search Console's view of how your site actually did in Google — real clicks and impressions, not estimates. It reports four metrics (clicks, impressions, average CTR, average position) sliced across six dimensions, keeps 16 months, and is privacy-filtered and averaged — not a statistical sample. Average position is an average across queries (not your live rank), anonymized queries hide low-volume terms so the table won't sum to the chart, and the UI caps at 1,000 rows — for more, use the Search Analytics API (up to 25,000 rows per request) or the BigQuery bulk export. Web Search, Discover, and Google News are separate reports. What the Performance report is The thing most beginners get wrong It's real data, not a model The four metrics, exactly how they're counted Clicks Impressions Average CTR Average position Dimensions and the search type filter 16 months, comparison mode, and the personalization caveat Why your data is \"missing\": anonymized queries Beyond 1,000 rows: the API and BigQuery bulk export Common misreadings to avoid AI summary Official documentation Quotes from the source Reading the Performance report — a sanity checklist The mental models Performance report — cheat sheet Performance report analysis mistakes Reporting average position as “our ranking” Forcing the query table to equal the chart total Comparing clicks with analytics sessions one to one Treating a CTR change as a title tag verdict The Google Search Console report that shows how your site actually performed in Google Search, built from real impressions and clicks. It reports four metrics — clicks, impressions, average CTR, and average position — and keeps the most recent 16 months of data. TL;DR — The Performance report in Google Search Console shows how your site actually did in Google Search: how many times people saw your link impressions , how many clicked it clicks , your click through rate, and your average position. It's real data straight from Google — but it's filtered and averaged, so don't read it like a live rank checker. What the Performance report is The Performance report you'll also see it called the \"Search results\" report is the part of Google Search Console that tells you how your site did in Google Search. It's built from real sea","passages":["TL;DR — The Performance report in Google Search Console shows how your site actually did in Google Search: how many times people saw your link impressions , how many clicked it clicks , your click through rate, and your average position.","It's real data straight from Google — but it's filtered and averaged, so don't read it like a live rank checker.","What the Performance report is The Performance report you'll also see it called the \"Search results\" report is the part of Google Search Console that tells you how your site did in Google Search.","It's built from real searches — actual times your pages showed up and actual clicks people made — not estimates.","It shows four numbers: Clicks — how many times someone clicked from Google to your site.","Impressions — how many times your link appeared in results whether or not the person clicked .","Average CTR — clicks divided by impressions, as a percentage.","Average position — roughly where your link showed up, on average, where 1 is the top."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/performance-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/performance-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Redirect Error (GSC Status)","desc":"What the \"Redirect error\" status in Google Search Console's Page Indexing report means — Google's four causes (chain too long, loop, max URL length, bad/empty URL), how it differs from the normal \"Page with redirect,\" and how to diagnose and fix it.","snippetText":"\"Redirect error\" is a Google Search Console Page Indexing status that means Googlebot couldn't follow a redirect for the URL, so the page wasn't indexed. Google names four causes: a redirect chain that was too long, a redirect loop, a redirect URL that exceeded the max URL length, or a bad/empty URL in the chain. It's a broken redirect you must fix — and it's different from \"Page with redirect,\" a normal working redirect. Diagnose by tracing the chain, then pick the fix that matches the intended behavior. Google's current docs publish a 10-hop ceiling and recommend no more than 3/fewer than 5 ","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/redirect-error/","slug":"redirect-error","meta":"Educational","aliases":["redirect-error","redirect error","gsc redirect error","search console redirect error","Redirect error","redirect-chain","301-redirect","gsc-page-indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"redirect-error gsc page-indexing technical-seo indexing redirects \"Redirect error\" is a Google Search Console Page Indexing status that means Googlebot couldn't follow a redirect for the URL, so the page wasn't indexed. Google names four causes: a redirect chain that was too long, a redirect loop, a redirect URL that exceeded the max URL length, or a bad/empty URL in the chain. It's a broken redirect you must fix — and it's different from \"Page with redirect,\" a normal working redirect. Diagnose by tracing the chain, then pick the fix that matches the intended behavior. Google's current docs publish a 10-hop ceiling and recommend no more than 3/fewer than 5 when chains are unavoidable. Mueller's dated 2014 and 2020 statements describe roughly five hops per crawl; the 2014 statement also described continuing the remainder later. Treat those as historical representative guidance, not a current scheduling guarantee. Patrick's roughly five-hop cutoff is an independent practitioner threshold. Aim for one hop regardless. What \"Redirect error\" means The one thing people get wrong What to do about it Where this status lives Google's four causes — exactly \"Redirect error\" vs \"Page with redirect\" — the contrast that matters most The four causes, and how to fix each How many redirects does Google actually follow? How to diagnose a redirect error How to fix it, step by step Where these cluster: site migrations A note on 301 vs 302 since it comes up Related statuses and concepts AI summary Official documentation Quotes from the source Redirect error fix checklist Redirect error cheat sheets Trace a redirect chain find the broken hop I have a \"Redirect error\" — what do I actually fix? Mistakes that turn into \"Redirect error\" Prove the redirect is actually fixed Test 1: Single hop 301 to a 200 Test 2: No loop, no runaway length A Google Search Console Page Indexing status meaning Googlebot couldn't follow a redirect — a chain too long, a loop, a URL over the max length, or a bad/empty URL in the chain. It's a broken redirect to fix, not the normal \"Page with redirect.\" TL;DR — \"Redirect error\" in Google Search Console means Google tried to follow a redirect for your page but couldn't — the redirect was broken in some way — so the page didn't get indexed. It's something to fix. Don't confuse it with \"Page with redirect,\" which is a normal redirect that's working fine. What ","passages":["TL;DR — \"Redirect error\" in Google Search Console means Google tried to follow a redirect for your page but couldn't — the redirect was broken in some way — so the page didn't get indexed.","Don't confuse it with \"Page with redirect,\" which is a normal redirect that's working fine.","What \"Redirect error\" means This label means Google encountered a redirect it could not successfully follow to a destination.","Google's report lists long chains, loops, excessive URL length, and bad or empty redirect URLs as examples.","When you open the Page Indexing report in Google Search Console it's under \"Indexing\" in the left menu , Google groups the URLs it didn't index by reason.","It means Google found a redirect on your URL — a rule that sends visitors from one address to another — and tried to follow it, but couldn't get to the end.","Maybe the redirect pointed to another redirect, which pointed to another, on and on.","Whatever the cause, Google gave up, so the page can't be indexed."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/redirect-error/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/redirect-error/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"rel=\"sponsored\" and rel=\"ugc\"","desc":"What rel=\"sponsored\" and rel=\"ugc\" mean, when to use each, how to combine them with nofollow, and why they're hints — not strict directives — for paid and user-generated links.","snippetText":"rel=\"sponsored\" tags paid, affiliate, and advertising links; rel=\"ugc\" tags user-generated links like comments and forum posts. Google introduced both on September 10, 2019, alongside making nofollow a hint. All three are hints, not strict directives — generally not followed or counted for ranking, but Google reserves the right to use the information. You can combine values (rel=\"sponsored nofollow\", rel=\"ugc nofollow\"), and you do not have to migrate your existing nofollows. You DO still have to flag paid links, though: undisclosed paid links that pass signals are link spam and can trigger a ","href":"/technical-seo/on-page/meta-tags/rel-sponsored-ugc/","slug":"rel-sponsored-ugc","meta":"Educational","aliases":["Sponsored & UGC","rel-sponsored-ugc","rel=sponsored","rel=ugc","rel sponsored","rel ugc","sponsored link attribute","ugc attribute","rel=sponsored & rel=ugc","nofollow","meta-robots"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"rel-sponsored rel-ugc nofollow link-attributes on-page technical-seo rel=\"sponsored\" tags paid, affiliate, and advertising links; rel=\"ugc\" tags user-generated links like comments and forum posts. Google introduced both on September 10, 2019, alongside making nofollow a hint. All three are hints, not strict directives — generally not followed or counted for ranking, but Google reserves the right to use the information. You can combine values (rel=\"sponsored nofollow\", rel=\"ugc nofollow\"), and you do not have to migrate your existing nofollows. You DO still have to flag paid links, though: undisclosed paid links that pass signals are link spam and can trigger a manual action. And rel=\"sponsored\" is a search-engine signal, not an FTC disclosure — those are two separate obligations. In my 2020 study of the top 110k sites, real-world adoption was tiny: ~0.44% of referring domains used ugc and ~0.01% used sponsored. What these two attributes are Which one do I use? The two things people get wrong What they are, and where they came from They're hints, not directives You don't have to change your existing nofollows Combining values Which attribute should you use? decision guide Paid links, link spam, and manual actions The FTC angle: a separate obligation How this interacts with crawling and indexing Does Bing support these? How many sites actually use them? AI summary Official documentation Quotes from the source Which attribute for which link — cheat sheet Common mistakes with sponsored and UGC links Auditing outbound links for rel values Resources worth your time Quiz rel=\"sponsored\" and rel=\"ugc\" are link attribute values you put on <a> tags to tell search engines a link's nature: sponsored for paid/affiliate/ad links, ugc for user-generated links like comments and forum posts. Both are hints, not strict directives. TL;DR — is for paid links ads, affiliate links, sponsorships . is for user generated links blog comments, forum posts . Google added both in 2019 to let you describe what kind of link something is. You can combine values with , and you do not have to change the links you already have. The one rule you can't skip: paid links still need to be flagged. What these two attributes are When you link out to another site, you can add a small label to the link that tells search engines what kind of link it is. Two of those labels are: — use it on links that a","passages":["TL;DR — is for paid links ads, affiliate links, sponsorships .","Google added both in 2019 to let you describe what kind of link something is.","You can combine values with , and you do not have to change the links you already have.","The one rule you can't skip: paid links still need to be flagged.","What these two attributes are When you link out to another site, you can add a small label to the link that tells search engines what kind of link it is.","Two of those labels are: — use it on links that are paid : advertisements, sponsorships, and affiliate links including your Amazon links .","— use it on links inside user generated content : blog comments, forum posts, and anything other people post on your site.","Here's what each looks like in HTML: Google introduced both of these on September 10, 2019."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/rel-sponsored-ugc/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/rel-sponsored-ugc/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Removals Tool","desc":"What Google Search Console's Removals tool does — and what it doesn't. Temporary removals hide a URL for ~6 months; permanent removal needs noindex, a 404/410, or a password.","snippetText":"Search Console's Removals tool is the fastest way to hide a URL from Google — results often disappear within a day. But a Temporary Removal is exactly that: it hides the URL for about six months and clears the cached snippet without removing the page from the index. When the clock runs out, the page comes back unless you've paired it with a real permanent method: delete it (404/410), add noindex, or password-protect it — and the page must stay crawlable so Google can see the noindex. The classic mistake is blocking the URL in robots.txt and expecting it to deindex; that does the opposite.","href":"/technical-seo/tools/search-engine-tools/google-search-console/removals-tool/","slug":"removals-tool","meta":"Educational","aliases":["removals-tool","Removals tool","remove URL from Google","temporary removal","google-search-console","noindex","robots-txt"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"removals-tool google-search-console noindex technical-seo indexing Search Console's Removals tool is the fastest way to hide a URL from Google — results often disappear within a day. But a Temporary Removal is exactly that: it hides the URL for about six months and clears the cached snippet without removing the page from the index. When the clock runs out, the page comes back unless you've paired it with a real permanent method: delete it (404/410), add noindex, or password-protect it — and the page must stay crawlable so Google can see the noindex. The classic mistake is blocking the URL in robots.txt and expecting it to deindex; that does the opposite. What the Removals tool is The catch nobody tells you How to actually remove a page for good The big mistake to avoid What the tool actually is Tab 1 — Temporary Removals The big caveat: temporary is not permanent How to remove a page permanently The robots.txt mistake crawling is not indexing Tab 2 — Outdated Content Tab 3 — SafeSearch filtering Verifying a removal AI summary Official documentation Quotes from the source Removal checklists Removals tool — cheat sheet The mental models Tools for removing and verifying Sensitive URL exposed: the response playbook Common Removals tool problems The URL returned after about six months The page has , but it remains indexed A prefix request hid more pages than intended A Google Search Console feature for verified owners to manage how their URLs appear in Search. A Temporary Removal hides a URL for about six months — it does not delete the page from the index. TL;DR — The Removals tool in Google Search Console is the fastest way to hide one of your pages from Google. But \"remove\" is misleading: it only hides the URL for about six months. To get a page gone for good, you also have to delete it, add a tag, or put it behind a password. What the Removals tool is The Removals tool lives inside Google Search Console, and it only works on sites you've verified that you own. It's the panic button: a sensitive page got published by accident, a staging URL leaked, you need something out of Google now . You paste in the URL, submit a request, and it usually drops out of search results within a day. The catch nobody tells you Here's the part that trips everyone up. A Temporary Removal does not delete your page from Google. It hides the URL from results for about six months and ","passages":["TL;DR — The Removals tool in Google Search Console is the fastest way to hide one of your pages from Google.","But \"remove\" is misleading: it only hides the URL for about six months.","To get a page gone for good, you also have to delete it, add a tag, or put it behind a password.","What the Removals tool is The Removals tool lives inside Google Search Console, and it only works on sites you've verified that you own.","It's the panic button: a sensitive page got published by accident, a staging URL leaked, you need something out of Google now .","You paste in the URL, submit a request, and it usually drops out of search results within a day.","The catch nobody tells you Here's the part that trips everyone up.","It hides the URL from results for about six months and wipes the little cached description Google shows."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/removals-tool/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/removals-tool/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Rendering","desc":"How Google's Web Rendering Service runs your JavaScript to build the page it indexes — plus the rendering options (CSR, SSR, SSG, hydration, ISR, edge, dynamic) and their SEO trade-offs.","snippetText":"Rendering is the step where Google runs your JavaScript in an evergreen, headless Chrome — the Web Rendering Service — to build the DOM it indexes. It happens for essentially every page, usually within seconds-to-minutes, so the old 'two waves of indexing' model is largely outdated and there's no per-page render budget. The renderer is stateless, doesn't interact with the page, and caches hard. Your rendering option decides your SEO risk: SSR, static/prerendering, and hydration are safe; full client-side rendering is the risky one; dynamic rendering is a workaround.","href":"/technical-seo/how-search-works/rendering/","slug":"rendering","meta":"Educational","aliases":["rendering","Web Rendering Service","WRS","client-side rendering","server-side rendering","static rendering","prerendering","dynamic rendering","hydration","types of rendering","rendering options","Hydration","Rendering","JavaScript SEO"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works"],"text":"rendering web-rendering-service technical-seo googlebot server-side-rendering Rendering is the step where Google runs your JavaScript in an evergreen, headless Chrome — the Web Rendering Service — to build the DOM it indexes. It happens for essentially every page, usually within seconds-to-minutes, so the old 'two waves of indexing' model is largely outdated and there's no per-page render budget. The renderer is stateless, doesn't interact with the page, and caches hard. Your rendering option decides your SEO risk: SSR, static/prerendering, and hydration are safe; full client-side rendering is the risky one; dynamic rendering is a workaround. What rendering is Google renders in a real but unusual browser The big choice: where your HTML gets built Where rendering sits The Web Rendering Service Is \"two waves of indexing\" still a thing? The rendering options Dynamic rendering — a workaround, not a strategy What this means for your content AI summary Official documentation Quotes from the source The mental models Rendering options — SEO trade offs Web Rendering Service — quick facts Render readiness audit checklist Rendering mistakes that actually bite Validation tests Test: content now appears in the rendered DOM Test: important links survive the render Test: the fix doesn't quietly regress on the next deploy Resources worth your time Videos Stats worth citing Activating server-rendered HTML in the browser by attaching JavaScript handlers. Turning HTML, CSS, and JavaScript into the final visual page and DOM. TL;DR — Rendering is the step where a search engine runs your page's code — including JavaScript — in a browser to build the finished page, so it can see your content and links. Google does this for basically every page in its Web Rendering Service , and it usually works. How your site produces its HTML server, browser, or at build time decides how safe you are. What rendering is When you open a page, your browser downloads some HTML, then runs the CSS and JavaScript to build the page you actually see. Search engines do the same thing. Rendering is the step where a search engine runs your page's code to build the final version of the page, so it can read the content and follow the links the way you can. It sits in the middle of how Google handles a page: 1. Crawl — Google downloads the raw HTML of your URL. 2. Render — Google runs the page's JavaScript in a","passages":["TL;DR — Rendering is the step where a search engine runs your page's code — including JavaScript — in a browser to build the finished page, so it can see your content and links.","Google does this for basically every page in its Web Rendering Service , and it usually works.","How your site produces its HTML server, browser, or at build time decides how safe you are.","What rendering is When you open a page, your browser downloads some HTML, then runs the CSS and JavaScript to build the page you actually see.","Rendering is the step where a search engine runs your page's code to build the final version of the page, so it can read the content and follow the links the way you can.","Render — Google runs the page's JavaScript in a browser to build the finished page.","If your content only shows up after JavaScript runs, Google has to render the page successfully before it can see it.","So rendering is the bridge between fetching a page and understanding it."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/rendering/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/rendering/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Robots.txt","desc":"What robots.txt actually does — it controls crawling, not indexing — plus the exact syntax, how Google handles it under the hood, and the mistakes that break sites.","snippetText":"Robots.txt is a plain-text file at the root of each host that tells crawlers which URLs they may and may not request. The one thing to get right: it controls crawling, not indexing. A disallowed URL can still be indexed without a snippet if it's linked from elsewhere — to keep a page out of the index you use noindex, and the page must NOT be blocked in robots.txt or Google never sees the noindex. Google supports only user-agent, allow, disallow, and sitemap (noindex, nofollow, and crawl-delay were dropped Sept 1, 2019). It lives at /robots.txt, is scoped to one host+protocol+port, caps at 500 ","href":"/technical-seo/how-search-works/crawling/robots-txt/","slug":"robots-txt","meta":"Educational","aliases":["Robots.txt","robots-txt","robots.txt","robots txt","robots exclusion protocol","robots exclusion standard","crawling","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"robots-txt technical-seo crawling googlebot bingbot crawl-control Robots.txt is a plain-text file at the root of each host that tells crawlers which URLs they may and may not request. The one thing to get right: it controls crawling, not indexing. A disallowed URL can still be indexed without a snippet if it's linked from elsewhere — to keep a page out of the index you use noindex, and the page must NOT be blocked in robots.txt or Google never sees the noindex. Google supports only user-agent, allow, disallow, and sitemap (noindex, nofollow, and crawl-delay were dropped Sept 1, 2019). It lives at /robots.txt, is scoped to one host+protocol+port, caps at 500 KiB, caches ~24h, and a 4xx means no restrictions while a 5xx can stall crawling site-wide. Don't block render-critical CSS/JS, and don't rely on it to hide anything — the file is public. What a robots.txt file is The one thing to understand: blocking ≠ removing The right tool for each job A few rules that trip people up What it is and where it lives The misconception that defines this topic: crawling vs indexing Why you must NOT block a page you want to noindex The lived proof: I blocked two of our own high ranking pages The syntax the reference noindex, nofollow, and crawl delay are NOT robots.txt directives How Google handles robots.txt under the hood robots.txt in Bing, Yandex, and beyond Managing AI crawlers with robots.txt Common mistakes and the fixes AI summary Official documentation Quotes from the source Robots.txt — syntax cheat sheet Robots.txt audit checklist The mental models Fetch and audit robots.txt across hosts Regex to pull every Disallow/Allow path Chrome DevTools Console snippet Bookmarklet: jump to the current site's robots.txt A plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. {/ tool rule claim: robots.access policy/article contract /} TL;DR — Robots.txt is a text file at the root of your site that tells crawlers which URLs they're allowed to request. The one thing everyone gets wrong: it controls crawling , not indexing . Blocking a page does not remove it from Google — a blocked page can still show up in search just without a description . If you want a page out of Google, that's a different tool , and you must not block it in ro","passages":["{/ tool rule claim: robots.access policy/article contract /} TL;DR — Robots.txt is a text file at the root of your site that tells crawlers which URLs they're allowed to request.","The one thing everyone gets wrong: it controls crawling , not indexing .","Blocking a page does not remove it from Google — a blocked page can still show up in search just without a description .","If you want a page out of Google, that's a different tool , and you must not block it in robots.txt or Google never sees the instruction.","What a robots.txt file is When a search engine wants to crawl your site, the first thing it looks for is a file at .","That file is a list of instructions telling crawlers which parts of your site they may and may not request.","It's just plain text, and you can read any site's robots.txt by typing after the domain.","A minimal one looks like this: That says: to every crawler , don't request anything under , and by the way, here's where my sitemap is."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/robots-txt/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/robots-txt/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Search Console API","desc":"How to pull and manage Google Search Console data with code — the Search Analytics, URL Inspection, Sitemaps, and Sites APIs, OAuth, quotas, and when to use BigQuery instead.","snippetText":"The Google Search Console API is four REST APIs — Search Analytics (Performance data), URL Inspection (index status), Sitemaps, and Sites — all authorized with OAuth 2.0 and only returning data for properties you've verified. The Search Analytics API gives up to 25,000 rows per request (vs the UI's ~1,000), but it returns top rows only, so for large sites the bulk data export to BigQuery is the more complete path. URL Inspection is capped at 2,000 queries/day and 600/minute per property, which is the real ceiling on large-scale index monitoring.","href":"/technical-seo/tools/search-engine-tools/google-search-console/search-console-api/","slug":"search-console-api","meta":"Educational","aliases":["search-console-api","Search Console API","Search Analytics API","URL Inspection API","google-search-console","performance-report","url-inspection-tool"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"search-console-api technical-seo google-search-console bigquery reporting api The Google Search Console API is four REST APIs — Search Analytics (Performance data), URL Inspection (index status), Sitemaps, and Sites — all authorized with OAuth 2.0 and only returning data for properties you've verified. The Search Analytics API gives up to 25,000 rows per request (vs the UI's ~1,000), but it returns top rows only, so for large sites the bulk data export to BigQuery is the more complete path. URL Inspection is capped at 2,000 queries/day and 600/minute per property, which is the real ceiling on large-scale index monitoring. What the Search Console API is Why use it instead of the interface The catch The four APIs at a glance Auth: OAuth 2.0, two scopes, verified properties only Search Analytics API — the Performance report, at scale URL Inspection API — and the quota that actually constrains you Sitemaps and Sites APIs When to use BigQuery bulk export instead Common use cases AI summary Official documentation Quotes from the source OAuth setup & first call checklist The mental models Search Console API — cheat sheet A minimal Search Analytics request Tools that use or wrap the Search Console API Prompts for planning Search Console API work Design a Search Analytics request Plan a quota safe URL Inspection schedule Choose API versus BigQuery export Resources worth your time Stats worth citing A set of REST APIs that let you programmatically read and manage Google Search Console data for properties you've verified — Performance data, URL index status, sitemaps, and properties — authorized with OAuth 2.0. TL;DR — The Search Console API lets you grab your Google Search Console data with code instead of clicking through the interface. It's how you get more than the UI hands you — the export in the interface tops out around 1,000 rows, while the API gives you up to 25,000 per request. You log in with Google OAuth, not a simple API key , and you only get data for sites you've verified. What the Search Console API is Search Console shows you how your site does in Google — what queries you rank for, how many clicks and impressions you get, whether your pages are indexed. The API gives you programmatic access to much of that same data and those same controls, so you can feed it into a spreadsheet, a dashboard, or a script that runs on a schedule. It's not full UI parity","passages":["TL;DR — The Search Console API lets you grab your Google Search Console data with code instead of clicking through the interface.","It's how you get more than the UI hands you — the export in the interface tops out around 1,000 rows, while the API gives you up to 25,000 per request.","You log in with Google OAuth, not a simple API key , and you only get data for sites you've verified.","What the Search Console API is Search Console shows you how your site does in Google — what queries you rank for, how many clicks and impressions you get, whether your pages are indexed.","The API gives you programmatic access to much of that same data and those same controls, so you can feed it into a spreadsheet, a dashboard, or a script that runs on a schedule.","It's not full UI parity, though — a few things like live testing a URL only exist in the interface, and having API access or automation doesn't by itself guarantee indexing, rankings, traffic diagnosis, or AI search visibility.","Search Analytics API — your Performance report numbers clicks, impressions, CTR, average position , broken down by query, page, country, device, and date.","It reports the version currently in Google's index; the interface's URL Inspection tool can also run a live test, which the API can't do."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/search-console-api/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/search-console-api/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Search Engine Tools (Webmaster Tools)","desc":"The free, first-party consoles search engines give you — Google Search Console and Bing Webmaster Tools — what they show, how they differ, and why every site should connect both.","snippetText":"Search engine tools — the legacy name is 'webmaster tools' — are the free, first-party consoles search engines give site owners. The two that matter are Google Search Console and Bing Webmaster Tools. They report the engine's own data about your site (real queries, impressions, index state, manual actions) and give you diagnostic controls. You don't need them to rank — Google says you don't have to sign up to appear in results — but they're the only place you get the engine's inside view. Both are free and verification-gated. This hub explains the family and routes you to each tool.","href":"/technical-seo/tools/search-engine-tools/","slug":"search-engine-tools","meta":"Educational","aliases":["search-engine-tools","search engine tools","webmaster tools","Search Engine Tools","google-search-console","bing-webmaster-tools"],"pillar":"technical-seo","taxonomy":["technical-seo","tools"],"text":"search-engine-tools webmaster-tools google-search-console bing-webmaster-tools technical-seo Search engine tools — the legacy name is 'webmaster tools' — are the free, first-party consoles search engines give site owners. The two that matter are Google Search Console and Bing Webmaster Tools. They report the engine's own data about your site (real queries, impressions, index state, manual actions) and give you diagnostic controls. You don't need them to rank — Google says you don't have to sign up to appear in results — but they're the only place you get the engine's inside view. Both are free and verification-gated. This hub explains the family and routes you to each tool. What \"search engine tools\" means What you can do with them The thing most people get wrong Which to set up What search engine tools are and aren't You don't need them to rank — you need them to understand and fix The data and feature families Google vs Bing: how they differ Their limits — first party isn't complete How to get started Where to go next AI summary Official documentation Quotes from the source Connect both checklist The mental models Google Search Console vs Bing Webmaster Tools — cheat sheet The first party search tools to connect Google Search Console Bing Webmaster Tools Yandex Webmaster Third party crawlers and competitive tools A practical setup order Test yourself: Search Engine Tools The free, first-party consoles search engines give site owners — Google Search Console and Bing Webmaster Tools — to see how their pages are crawled, indexed, and ranked, and to fix problems. The legacy name is 'webmaster tools.' TL;DR — Search engine tools are the free dashboards the search engines themselves give you. Google Search Console is Google's; Bing Webmaster Tools is Bing's. They show how the engine sees your site and let you fix problems. You don't need them to show up in search — they're for understanding and fixing, not for getting listed. What \"search engine tools\" means When people say search engine tools or the older name, webmaster tools , they mean the free consoles the search engines hand directly to site owners. Each major engine has one: Google Search Console — for Google. Bing Webmaster Tools — for Microsoft Bing which also powers Yahoo and DuckDuckGo, and feeds Bing's index into Copilot and ChatGPT search . These are different from tools like Ahrefs or Semrush. Thos","passages":["TL;DR — Search engine tools are the free dashboards the search engines themselves give you.","Google Search Console is Google's; Bing Webmaster Tools is Bing's.","They show how the engine sees your site and let you fix problems.","You don't need them to show up in search — they're for understanding and fixing, not for getting listed.","What \"search engine tools\" means When people say search engine tools or the older name, webmaster tools , they mean the free consoles the search engines hand directly to site owners.","Each major engine has one: Google Search Console — for Google.","Bing Webmaster Tools — for Microsoft Bing which also powers Yahoo and DuckDuckGo, and feeds Bing's index into Copilot and ChatGPT search .","Those are third party tools that estimate things from the outside."],"updated":"2026-07-14T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Security Issues Report","desc":"What Google Search Console's Security Issues report flags — hacked content, malware, and social engineering — how it differs from manual actions, and how to clean up and request a review.","snippetText":"The Security Issues report in Google Search Console flags user-safety problems, not ranking penalties: hacked content (malware, code, content, or URL injection), deceptive pages, harmful or uncommon downloads, and social engineering (phishing and deceptive content) are all current issue types, grouped under hacked content, malware and unwanted software, and social engineering. It's surfaced through Google Safe Browsing — affected sites can show a 'This site may be hacked' label in results or a red 'Deceptive site ahead' interstitial in Chrome and other browsers, though not every issue blocks e","href":"/technical-seo/tools/search-engine-tools/google-search-console/security-issues-report/","slug":"security-issues-report","meta":"Educational","aliases":["security-issues-report","Security Issues report","site may be hacked","security issues","google-search-console"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"security-issues google-search-console hacked-site malware phishing safe-browsing The Security Issues report in Google Search Console flags user-safety problems, not ranking penalties: hacked content (malware, code, content, or URL injection), deceptive pages, harmful or uncommon downloads, and social engineering (phishing and deceptive content) are all current issue types, grouped under hacked content, malware and unwanted software, and social engineering. It's surfaced through Google Safe Browsing — affected sites can show a 'This site may be hacked' label in results or a red 'Deceptive site ahead' interstitial in Chrome and other browsers, though not every issue blocks every surface the same way. It is not the same as a manual action: Manual Actions mostly concern attempts to manipulate Google's index (usually no visible warning); Security Issues concern hacking or user harm (can show labels or interstitials) — separate reports, separate review queues, and they can overlap. You clear it by fixing the vulnerability across every affected page, then requesting a security review — current guidance says review can take anywhere from a few days to a few weeks, and a passed review doesn't guarantee every browser or search surface clears at once. What this report is What it flags Where you'll first notice it What to do The thing most people get wrong What the report actually is The issue categories Google flags Where the warning shows up — and why Safe Browsing matters Security Issues vs. Manual Actions Triage and remediation Requesting a security review Preventing reinfection AI summary Official documentation Quotes from the source Clean up and request review checklist Security Issues — cheat sheet The mental models Tools for diagnosing and clearing a security issue Prove a security cleanup is ready for review Test every flagged category and sample Test the entry point is closed Test external warning state before and after review Resources worth your time A Google Search Console report that flags signs your site was hacked or hosts content that could harm visitors — phishing, malware, or unwanted software. It's a user-safety flag, not a spam-policy penalty, and you clear it by fixing the problem and requesting a security review. TL;DR — The Security Issues report in Google Search Console tells you when Google thinks your site has been hacked or is doing something","passages":["TL;DR — The Security Issues report in Google Search Console tells you when Google thinks your site has been hacked or is doing something that could hurt visitors — like phishing or spreading malware.","You fix the problem, then ask Google to review the site and clear the warning.","What this report is Open Google Search Console and you'll find a Security Issues report.","Most of the time it says \"No issues detected\" — which is exactly what you want.","When it does show something, Google is telling you one of two things: your site has been hacked, or your site is behaving in a way that could harm the people who visit it.","This report is about user safety , not about whether Google likes your SEO.","What it flags Google groups problems into three broad buckets, though the actual list of issue types inside them is longer than most people expect: 1.","Hacked content — someone broke into your site and added spam, links, or malicious code without your permission."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/security-issues-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/security-issues-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Server Error (5xx)","desc":"What the \"Server error (5xx)\" status in Google Search Console's Page Indexing report means — why a 500-level response slows crawling and eventually drops pages, how to diagnose and fix it, and the right way to take a site down on purpose with a 503 and Retry-After.","snippetText":"\"Server error (5xx)\" in Search Console's Page Indexing report means Googlebot requested a URL and the server returned a 500-level error (500, 502, 503, 504) instead of a 200, so the page can't be indexed. Two harms follow: Google slows crawling — proportionate to how many URLs are erroring — and any content from a 5xx is ignored; persistent 5xx eventually drops already-indexed URLs. Recovery is automatic once the server returns 2xx, but the crawl rate ramps back gradually. Common causes are an overloaded or misconfigured host, app/DB errors, upstream/CDN failures, and a CDN/WAF (or rate limiti","href":"/technical-seo/how-search-works/indexing/gsc-page-indexing/server-error-5xx/","slug":"server-error-5xx","meta":"Educational","aliases":["server-error-5xx","server error 5xx","5xx error googlebot","gsc server error","Server error (5xx)","crawl-stats-report","crawl-rate","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","gsc-page-indexing"],"text":"server-error-5xx technical-seo indexing gsc-page-indexing crawling \"Server error (5xx)\" in Search Console's Page Indexing report means Googlebot requested a URL and the server returned a 500-level error (500, 502, 503, 504) instead of a 200, so the page can't be indexed. Two harms follow: Google slows crawling — proportionate to how many URLs are erroring — and any content from a 5xx is ignored; persistent 5xx eventually drops already-indexed URLs. Recovery is automatic once the server returns 2xx, but the crawl rate ramps back gradually. Common causes are an overloaded or misconfigured host, app/DB errors, upstream/CDN failures, and a CDN/WAF (or rate limiting → 429, which Google buckets with 5xx) blocking Googlebot — verify with reverse DNS/IP ranges before changing security rules, since a Googlebot user-agent is spoofable. Diagnose via Crawl Stats host availability, server logs, and the URL Inspection live test (a page working now doesn't prove what Googlebot saw earlier). The one nuance: Google's default advice is to stay online with limited functionality during a closure; if you must fully disable, 503 + Retry-After is correct for a day or two at most (weeks of downtime harms indexing with no fixed recovery time), and your robots.txt must keep returning 200 throughout, because a 503 on robots.txt can pause crawling site-wide. What this status means Is this an emergency? How to start fixing it The one thing people get wrong What the status actually reports How Google treats 5xx — the crawl economics The common 5xx codes, by likely root cause Common causes How to diagnose it How to fix it The right way to take a site down on purpose — 503 + Retry After Why not a 200 or a 404 The robots.txt trap — keep it crawlable Validating the fix in GSC Where this sits AI summary Official documentation Quotes from the source Fixing a \"Server error 5xx \" — checklist Planned downtime \"503 done right\" checklist 5xx cheat sheets The mental models Check what status code a URL actually returns Confirm the traffic was really Googlebot before trusting your logs A Page Indexing status in Google Search Console meaning Googlebot requested a URL and the server returned a 500-level HTTP error (500, 502, 503, 504) instead of a 200, so the page can't be indexed. TL;DR — \"Server error 5xx \" means Google tried to load your page and your server answered with an error a 500 level code in","passages":["TL;DR — \"Server error 5xx \" means Google tried to load your page and your server answered with an error a 500 level code instead of showing the page.","Google can't index an error, so the URL won't appear in search.","A quick blip is fine — Google just backs off and retries — but if the errors keep happening, your pages can eventually drop out of Google.","What this status means This label means Google's request received a server response in the 5xx range.","Google slows crawling in response to 5xx errors and can eventually remove persistently failing URLs.","When Googlebot asks your server for a page, the server answers with a status code.","A means \"here's the page.\" A 5xx is a whole family of error codes — , , , — that all mean \"something went wrong on my end.\" When Search Console shows Server error 5xx under Not indexed , it's telling you Google asked for that URL and got one of those errors back instead of the page.","There's no real content to read, so the URL stays out of search until the server starts responding normally again."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/server-error-5xx/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/gsc-page-indexing/server-error-5xx/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Sitemaps Report","desc":"How to submit a sitemap in Google Search Console and read the Sitemaps report — type, last read, status, and Discovered URLs — plus why submitting isn't indexing.","snippetText":"The Sitemaps report in Google Search Console is where you submit a sitemap (or sitemap index) and watch Google process it: it shows the type, the date Google last read it, a status (Success / Has errors / Couldn't fetch), and a Discovered URLs parse count. The big thing to get right is that it's a submission-and-diagnostic tool, not proof of indexing — submitting helps discovery but guarantees nothing. To see what actually got indexed, filter the Page Indexing report by sitemap. Limits are 50MB uncompressed or 50,000 URLs per file; go bigger with a sitemap index. The old ping endpoint is dead ","href":"/technical-seo/tools/search-engine-tools/google-search-console/sitemaps-report/","slug":"sitemaps-report","meta":"Educational","aliases":["sitemaps-report","Sitemaps report","submit a sitemap","GSC sitemaps","google-search-console","index-coverage-report","xml-sitemaps"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"sitemaps-report google-search-console technical-seo sitemaps indexing The Sitemaps report in Google Search Console is where you submit a sitemap (or sitemap index) and watch Google process it: it shows the type, the date Google last read it, a status (Success / Has errors / Couldn't fetch), and a Discovered URLs parse count. The big thing to get right is that it's a submission-and-diagnostic tool, not proof of indexing — submitting helps discovery but guarantees nothing. To see what actually got indexed, filter the Page Indexing report by sitemap. Limits are 50MB uncompressed or 50,000 URLs per file; go bigger with a sitemap index. The old ping endpoint is dead — keep lastmod accurate instead. What the Sitemaps report is How to submit a sitemap What the statuses mean The thing most people get wrong What the report actually is How to submit — and the other ways to register a sitemap Resubmitting, deleting, and the API Submitting a sitemap index and why Supported formats Reading the report The big caveat: discovery is not indexing Connecting to Page Indexing and URL Inspection Size limits and the sitemap index Getting right Common mistakes AI summary Official documentation Quotes from the source Submitting a sitemap — checklist Sitemaps report — cheat sheet The mental models Tools for submitting and diagnosing sitemaps Sitemap practices that create bad signals Reporting Discovered URLs as indexed pages The Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed. TL;DR — The Sitemaps report is the spot in Google Search Console where you hand Google your sitemap and check that it read it. You paste in the sitemap URL, hit Submit, and the report tells you whether Google could fetch it and how many URLs it found inside. Important: getting Google to read your sitemap is not the same as getting your pages indexed . What the Sitemaps report is A sitemap is a list of your site's URLs that you hand to search engines so they don't have to find every page by following links. The Sitemaps report in Search Console is where you submit that list and watch what Google does with it. For each sitemap you've submitted, the report shows four things: Type — is this a single sitemap, or a sitemap index a sitem","passages":["TL;DR — The Sitemaps report is the spot in Google Search Console where you hand Google your sitemap and check that it read it.","You paste in the sitemap URL, hit Submit, and the report tells you whether Google could fetch it and how many URLs it found inside.","Important: getting Google to read your sitemap is not the same as getting your pages indexed .","What the Sitemaps report is A sitemap is a list of your site's URLs that you hand to search engines so they don't have to find every page by following links.","The Sitemaps report in Search Console is where you submit that list and watch what Google does with it.","For each sitemap you've submitted, the report shows four things: Type — is this a single sitemap, or a sitemap index a sitemap of sitemaps ?","Discovered URLs — how many URLs Google read out of the file.","You only need to do this once per sitemap — Google re checks it on its own afterward."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/sitemaps-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/sitemaps-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Title Tag","desc":"What a title tag is, why it's a light ranking factor and the main source of the SERP title link, why Google rewrites titles since 2021, and how to stop it.","snippetText":"The title tag is the HTML title element in your head. It does two jobs: it's a confirmed light ranking factor (Mueller: 'a tiny factor in our rankings'), and it's the primary source of the SERP title link — the clickable headline that's often the first thing a searcher uses to decide which result to click. Since August 2021 Google doesn't always show your title verbatim: it generates the title link from the title element first, then headings/H1, og:title, prominent on-page text, anchor text, and WebSite structured data. In September 2021 Google reported that title elements were used around 87%","href":"/technical-seo/on-page/meta-tags/title-tag/","slug":"title-tag","meta":"Educational","aliases":["Title Tag","title-tag","title tag","title link","title element","page title","SEO title","meta-description","meta-tags","title tags","seo title","seo titles","title links"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"title-tag technical-seo on-page meta-tags title-link serp meta title ai The title tag is the HTML title element in your head. It does two jobs: it's a confirmed light ranking factor (Mueller: 'a tiny factor in our rankings'), and it's the primary source of the SERP title link — the clickable headline that's often the first thing a searcher uses to decide which result to click. Since August 2021 Google doesn't always show your title verbatim: it generates the title link from the title element first, then headings/H1, og:title, prominent on-page text, anchor text, and WebSite structured data. In September 2021 Google reported that title elements were used around 87% of the time; treat that as a dated historical measurement, not a current guarantee. It rewrites titles that are half-empty, obsolete, inaccurate, micro-boilerplate, too long, keyword-stuffed, or missing. You reduce rewrites by writing accurate, unique, descriptive, non-stuffed titles that match the visible heading — then waiting for a recrawl. What a title tag is Title tag vs. the headline you see on the page Why Google sometimes changes your title A quick title checklist What it is, and the two jobs it does Title tag vs. title link — the post 2021 distinction How Google generates the title link Why Google rewrites your title and how to reduce it Best practices Title tag vs. H1 vs. og:title What if the document contains more than one ? How Bing handles titles A note on the conflicting \"rewrite rate\" stats AI summary Official documentation Quotes from the source Title tag checklist Title tag vs. H1 vs. og:title — cheat sheet Why Google rewrites titles — and how to stop it Stats worth citing Before/after: fixing each rewrite trigger Prompts for auditing and rewriting titles Measuring rendered pixel width, not characters Third party tools for verifying title changes The title tag is the HTML title element in a page's head that specifies the document's title. It's the primary source for the SERP title link and a confirmed light ranking factor — but since August 2021 Google doesn't always show it verbatim. {/ tool rule claim: page.indexability signals/article contract /} TL;DR — The title tag is the bit of HTML that names your page. Google usually shows it as the clickable blue headline in search results — the thing people read first when deciding which result to click. It's also a small ranking factor.","passages":["{/ tool rule claim: page.indexability signals/article contract /} TL;DR — The title tag is the bit of HTML that names your page.","Google usually shows it as the clickable blue headline in search results — the thing people read first when deciding which result to click.","But since 2021 Google doesn't always show your exact title: if it thinks your title has a problem, it'll write its own.","Write a clear, accurate, unique title and you'll keep yours most of the time.","What a title tag is A title tag is a piece of code in the of your page that gives the page a title.","It's the clickable headline Google usually shows for your page in search results.","It's a small ranking factor — not a big lever, but the words in your title help Google understand what the page is about.","It's the first thing most people read about your result, so it has a big effect on whether they click."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/title-tag/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/title-tag/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"URL Inspection Tool","desc":"How Google's URL Inspection tool reports a single URL — the indexed snapshot vs the live test, reading the coverage panel, canonicals, Request Indexing, and the API.","snippetText":"The URL Inspection tool in Google Search Console reports how Google sees one URL on a property you own. The default view is the last-indexed snapshot — not live — so to check the current state of a page after a fix, run Test Live URL. Read the coverage panel for crawl/index permissions, the user-declared vs Google-selected canonical (a mismatch is your most actionable diagnostic), and View crawled page for rendered HTML, a screenshot, page resources, and JS console messages. Request Indexing is a queue hint with a daily quota — it does not guarantee indexing and is never a ranking boost. The U","href":"/technical-seo/tools/search-engine-tools/google-search-console/url-inspection-tool/","slug":"url-inspection-tool","meta":"Educational","aliases":["url-inspection-tool","URL Inspection tool","URL Inspection","inspect URL","google-search-console","index-coverage-report","search-console-api"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"url-inspection google-search-console indexing technical-seo canonical javascript-seo The URL Inspection tool in Google Search Console reports how Google sees one URL on a property you own. The default view is the last-indexed snapshot — not live — so to check the current state of a page after a fix, run Test Live URL. Read the coverage panel for crawl/index permissions, the user-declared vs Google-selected canonical (a mismatch is your most actionable diagnostic), and View crawled page for rendered HTML, a screenshot, page resources, and JS console messages. Request Indexing is a queue hint with a daily quota — it does not guarantee indexing and is never a ranking boost. The URL Inspection API returns the same indexed state at 2,000 queries/day, 600/minute per property. What it is The one thing beginners get wrong What it tells you Request Indexing What the tool actually does Indexed snapshot vs Test Live URL Reading the coverage panel, field by field View crawled page — the JavaScript SEO debugging surface Request Indexing — what it is and isn't The URL Inspection API Common myths AI summary Official documentation Quotes from the source Reading a URL Inspection result — checklist The mental models URL Inspection — cheat sheet Inspect a URL via the API Tools URL Inspection mistakes that lead to bad conclusions Treating \"URL is on Google\" as a ranking check Confusing indexed data with a live test Repeatedly clicking Request indexing Ignoring a canonical mismatch A Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. TL;DR — The URL Inspection tool in Google Search Console tells you whether one of your pages is in Google, and why or why not. Just know this: by default it shows you the last time Google indexed the page , not how the page looks right now. If you just changed something, click Test Live URL to check the current version. What it is The URL Inspection tool lives in Google Search Console. You paste in one URL from a site you own, and Google tells you how it sees that page — most importantly, whether it's in Google's index and able to show up in search. You can only inspect URLs on a property you've verified in Search Console. You can't check a competitor's page. The one thing beginners get wrong Whe","passages":["TL;DR — The URL Inspection tool in Google Search Console tells you whether one of your pages is in Google, and why or why not.","Just know this: by default it shows you the last time Google indexed the page , not how the page looks right now.","If you just changed something, click Test Live URL to check the current version.","What it is The URL Inspection tool lives in Google Search Console.","You paste in one URL from a site you own, and Google tells you how it sees that page — most importantly, whether it's in Google's index and able to show up in search.","You can only inspect URLs on a property you've verified in Search Console.","The one thing beginners get wrong When you inspect a URL, the report you see first is a snapshot from the last time Google indexed it — not the live page.","Google says it directly: this is not a live test, the results are from the most recently indexed version, not the live version on the web."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/url-inspection-tool/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/url-inspection-tool/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"URL Parameters","desc":"How query-string parameters create duplicate and near-duplicate URLs and crawl problems — and how to manage them today, now that the GSC URL Parameters tool is gone.","snippetText":"URL parameters are the ?key=value data tacked onto a URL. The whole framework is active vs passive: active params (filter/sort/paginate/search) change the page and create near-duplicates; passive params (tracking, session, affiliate IDs) don't change content and create pure duplicates. They cause duplicate content, split signals, and wasted crawl budget — Google's own 2024–25 data blames faceted navigation plus action parameters for ~75% of crawl problems. The Google Search Console URL Parameters tool is gone (retired April 2022) — don't tell anyone to use it; Google found only ~1% of configs ","href":"/technical-seo/how-search-works/indexing/canonicalization/url-parameters/","slug":"url-parameters","meta":"Educational","aliases":["url-parameters","URL parameters","query string","query parameters","URL parameter handling","URL Parameters","Duplicate Content","Canonicalization","Canonical Tag"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","indexing","canonicalization"],"text":"url-parameters query-strings technical-seo indexing crawl-budget URL parameters are the ?key=value data tacked onto a URL. The whole framework is active vs passive: active params (filter/sort/paginate/search) change the page and create near-duplicates; passive params (tracking, session, affiliate IDs) don't change content and create pure duplicates. They cause duplicate content, split signals, and wasted crawl budget — Google's own 2024–25 data blames faceted navigation plus action parameters for ~75% of crawl problems. The Google Search Console URL Parameters tool is gone (retired April 2022) — don't tell anyone to use it; Google found only ~1% of configs useful and now handles parameters automatically. Manage them today with consistent parameter order, rel=canonical for passive params (let them crawl, don't reflexively block), robots.txt only for genuine crawl traps (it doesn't deindex), 404 for empty filter combos, and don't internally link to parameterized URLs. Bing still has its Ignore URL Parameters tool — a real Google-vs-Bing difference. What a URL parameter is Why they cause SEO problems The two kinds of parameters The thing most people get wrong Anatomy: query string vs path Active vs passive — the whole framework How parameters cause SEO problems The data: parameters are a top crawl drain How to find your parameter problems How to manage parameters today The GSC URL Parameters tool is gone Bing still lets you ignore parameters Parameters, faceted navigation & spider traps Common myths AI summary Official documentation Quotes from the source URL parameters — cheat sheet The decision framework URL parameter audit checklist Mistakes to avoid Finding your parameterized URLs The Google vs Bing difference Tools for finding and managing parameters The `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. TL;DR — A URL parameter or query string is the bit tacked onto the end of a URL — used for tracking, filtering, sorting, and search. The problem is that the same page can be reached through dozens of parameter combinations, which creates duplicate URLs that confuse search engines and waste their time crawling your site. The old Google Search Console tool for managing them is gone — so you handle them","passages":["TL;DR — A URL parameter or query string is the bit tacked onto the end of a URL — used for tracking, filtering, sorting, and search.","The problem is that the same page can be reached through dozens of parameter combinations, which creates duplicate URLs that confuse search engines and waste their time crawling your site.","The old Google Search Console tool for managing them is gone — so you handle them with canonical tags and, occasionally, robots.txt.","What a URL parameter is Look at a URL like this: Everything after the question mark is the query string .","It's made of pairs — here and — joined together with an ampersand .","They pass extra information along with the URL: which color filter you picked, how you sorted the list, where the visitor came from, and so on.","Every ecommerce store, every site with on site search, and almost every marketing campaign uses them.","Why they cause SEO problems The trouble starts because the same content can be reached through many different URLs: To a person, those might all be \"the shoes page.\" To a search engine, they can look like separate URLs."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/url-parameters/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/indexing/canonicalization/url-parameters/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Video Indexing Report","desc":"What Google Search Console's Video indexing report shows, every issue reason explained with fixes, and how to get videos indexed for video features.","snippetText":"The Video indexing report in Google Search Console shows how many of your indexed pages contain a video Google found, how many of those videos Google actually indexed, and the reasons blocking the rest — reflecting the last time Google crawled, not a real-time inventory. It's downstream of the Page Indexing report — the report covers only indexed pages, so a video can only be indexed if its page is indexed first. For a video to be indexed it should be on a dedicated watch page, be the prominent element loaded at its real size and position without a click, use a supported format, and have a val","href":"/technical-seo/tools/search-engine-tools/google-search-console/video-indexing-report/","slug":"video-indexing-report","meta":"Educational","aliases":["video-indexing-report","Video indexing report","video indexing","google-search-console","index-coverage-report","sitemaps-report"],"pillar":"technical-seo","taxonomy":["technical-seo","tools","search-engine-tools","google-search-console"],"text":"google-search-console video-indexing video-seo indexing technical-seo The Video indexing report in Google Search Console shows how many of your indexed pages contain a video Google found, how many of those videos Google actually indexed, and the reasons blocking the rest — reflecting the last time Google crawled, not a real-time inventory. It's downstream of the Page Indexing report — the report covers only indexed pages, so a video can only be indexed if its page is indexed first. For a video to be indexed it should be on a dedicated watch page, be the prominent element loaded at its real size and position without a click, use a supported format, and have a valid, reachable thumbnail. Since June 2023, Google reports prominence failures as one of three specific reasons — Video outside the viewport, Video too small, or Video too tall — rather than the older single 'could not determine the prominent video' reason; a click-to-load poster image is a common cause worth testing, but so are lazy loading, JS-rendered carousels, and CSS that hides the player. VideoObject structured data and a video sitemap help Google discover and understand videos; key moments and video rich results are a possible upside once you're indexed, never a guarantee. Fix the cause, then use Validate fix — revalidation can take up to about two weeks. What the report is The one thing to understand first What a video needs to get indexed How you fix problems Where it sits in the pipeline What a video needs to be indexed Issue reasons — and how to fix them Live streams, embeds, and third party hosting How VideoObject and video sitemaps help Beyond indexing: key moments and rich results The validation flow The myths worth killing AI summary Official documentation Quotes from the source Making a video indexable — checklist Issue reasons → cause → fix The mental models Tools for video indexing Video indexing mistakes to avoid Putting a video on a page where it is secondary content Loading only a poster until the user clicks Treating VideoObject markup as an indexing guarantee Reusing an unstable or blocked thumbnail URL A Google Search Console report showing how many of your indexed pages contain a video Google found, how many of those videos Google actually indexed, and the reasons blocking the rest. It only covers indexed pages and only appears once Google detects videos on the property. TL;DR ","passages":["TL;DR — The Video indexing report in Google Search Console tells you how many of your pages have a video Google found, how many of those videos Google actually indexed so they can show up in video features on Search , and what's stopping the rest — as of Google's last crawl, not in real time.","A video only gets indexed if its page is indexed, it sits on a page whose main job is showing that one video, the player loads on its own without a click, the format is supported, and it has a working thumbnail.","What the report is If you publish videos, Google Search Console has a report just for them.","It's in the left hand menu, in the indexing section — but it only shows up once Google has actually found videos on your site.","Google describes it as a report that \"shows how many videos on your site are eligible for video features on Google Search, and provides reasons why other videos on your site couldn't be indexed.\" So it answers two questions: 1.","The one thing to understand first A video can only be indexed if its page is already indexed.","The report covers only indexed pages, so if a page isn't in Google's index, its video never even shows up here.","That's why this report is really a follow on to the Page Indexing report: get the page indexed first, then worry about the video."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/video-indexing-report/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/tools/search-engine-tools/google-search-console/video-indexing-report/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"X-Robots-Tag","desc":"The X-Robots-Tag HTTP header carries the same directives as the robots meta tag, so you can noindex PDFs, images, and videos. Apache, Nginx, and Cloudflare configs plus how to verify with curl.","snippetText":"The X-Robots-Tag is the HTTP-header twin of the robots meta tag: same directive vocabulary (noindex, nofollow, nosnippet, and the rest), but delivered in the response header so it works on files with no HTML <head> — PDFs, images, videos, anything. You set it at the server (Apache, Nginx, or a CDN/Worker), so one rule can noindex every PDF on the site. The single most common mistake is also blocking that file in robots.txt — which hides the header, so Google never crawls the file to read the noindex and the directive is ignored. Verify the live header with curl -I, and watch for a CDN serving ","href":"/technical-seo/on-page/meta-tags/x-robots-tag/","slug":"x-robots-tag","meta":"Educational","aliases":["X-Robots-Tag","x-robots-tag","x-robots-tag header","x robots tag","meta-robots","noindex","nosnippet-data-nosnippet"],"pillar":"technical-seo","taxonomy":["technical-seo","on-page","meta-tags"],"text":"x-robots-tag technical-seo on-page noindex meta-tags indexing The X-Robots-Tag is the HTTP-header twin of the robots meta tag: same directive vocabulary (noindex, nofollow, nosnippet, and the rest), but delivered in the response header so it works on files with no HTML <head> — PDFs, images, videos, anything. You set it at the server (Apache, Nginx, or a CDN/Worker), so one rule can noindex every PDF on the site. The single most common mistake is also blocking that file in robots.txt — which hides the header, so Google never crawls the file to read the noindex and the directive is ignored. Verify the live header with curl -I, and watch for a CDN serving a different header than your origin (the 'Noindex detected in X-Robots-Tag' Search Console failure). What it is When you'd reach for it The one mistake everyone makes How to check it What the X Robots Tag actually is Why it exists — non HTML files Meta tag vs X Robots Tag — when to use which The directives you can use Targeting a specific crawler Multiple rules and conflicting directives How to set it server config The 1 mistake — don't block the file in robots.txt How to verify it with curl Watch for CDN vs origin drift Other engines Where this sits AI summary Official documentation Quotes from the source X Robots Tag — cheat sheet X Robots Tag implementation checklist Playbook: an X Robots Tag rollout affects the wrong URLs Common X Robots Tag issues The origin sends the header but the public URL does not The X-Robots-Tag is an HTTP response header that carries the same indexing and serving directives as the robots meta tag (noindex, nofollow, nosnippet, and the rest). Because it lives in the header rather than the HTML, it's how you control indexing for non-HTML files like PDFs, images, and videos. TL;DR — The X Robots Tag is a way to tell search engines \"don't index this file\" — but instead of putting a tag in the page's HTML, it's sent in the server's response. That matters because some files PDFs, images, videos have no HTML to put a tag in. So when you need to keep a PDF out of Google, the X Robots Tag is how you do it. What it is You've probably seen the robots meta tag — a little snippet in a page's HTML that says to keep that page out of search. The X Robots Tag does the exact same job, but it travels in the HTTP response header the server sends back, not in the page's HTML. Why would you need that?","passages":["TL;DR — The X Robots Tag is a way to tell search engines \"don't index this file\" — but instead of putting a tag in the page's HTML, it's sent in the server's response.","That matters because some files PDFs, images, videos have no HTML to put a tag in.","So when you need to keep a PDF out of Google, the X Robots Tag is how you do it.","What it is You've probably seen the robots meta tag — a little snippet in a page's HTML that says to keep that page out of search.","The X Robots Tag does the exact same job, but it travels in the HTTP response header the server sends back, not in the page's HTML.","So if you want to keep a PDF out of Google's index, you can't use the meta tag — you use the X Robots Tag header instead.","When you'd reach for it You have a PDF a price list, an old whitepaper, a gated download that leaked showing up in search and you want it gone.","You want to noindex a whole class of files at once — every PDF on the site — with one rule, instead of editing them one by one."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-23","markdown":"https://patrickstox.com/technical-seo/on-page/meta-tags/x-robots-tag/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/on-page/meta-tags/x-robots-tag/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawl Budget","desc":"What crawl budget actually is — crawl capacity plus crawl demand — what wastes it, and the honest test for whether your site is big enough to need to care at all.","snippetText":"Crawl budget is how much a search engine can and wants to crawl your site — crawl capacity (what your server can take) times crawl demand (popularity and staleness). It's not a ranking factor: more crawling won't lift positions. Most sites never need to manage it — Mueller says 100k URLs usually won't move the needle, and Google's own guide tells small or same-day-crawled sites not to bother. It matters mainly at 1M+ pages, 10k+ pages changing daily, or when lots of URLs sit in 'Discovered – currently not indexed.' The biggest lever is removing waste (faceted nav, duplicates, soft 404s, infini","href":"/technical-seo/how-search-works/crawling/crawl-budget/","slug":"crawl-budget","meta":"Educational","aliases":["Crawl Budget","crawl-budget","crawl budget","crawl capacity","crawl demand","crawl rate limit","crawl efficiency","Log file analysis"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"crawl-budget technical-seo crawling googlebot bingbot crawl-efficiency Crawl budget is how much a search engine can and wants to crawl your site — crawl capacity (what your server can take) times crawl demand (popularity and staleness). It's not a ranking factor: more crawling won't lift positions. Most sites never need to manage it — Mueller says 100k URLs usually won't move the needle, and Google's own guide tells small or same-day-crawled sites not to bother. It matters mainly at 1M+ pages, 10k+ pages changing daily, or when lots of URLs sit in 'Discovered – currently not indexed.' The biggest lever is removing waste (faceted nav, duplicates, soft 404s, infinite spaces) so the budget lands on URLs that matter. What crawl budget is The thing to understand first: you probably don't need to worry about this More crawling does not mean better rankings What wastes crawl budget The two factor model What it really is internally: scheduling by importance Does your site actually have a crawl budget problem? Does crawl budget affect rankings? No. What wastes crawl budget How to optimize it How to measure it Bing and other engines: \"crawl efficiency\" Crawl budget myths, corrected AI summary Official documentation Quotes from the source Crawl budget optimization checklist The mental models Crawl budget — cheat sheet Tools for measuring and managing crawl budget Do you have a crawl budget problem? Monthly crawl budget health check Crawl budget mistakes Prompt: classify crawl log waste The number of URLs an engine will crawl in a timeframe. TL;DR — Crawl budget is how much a search engine is willing to crawl your site. It's two things multiplied together: how much your server can handle and how much Google wants to crawl. Crawling more doesn't make you rank higher — and for most sites, this is a non issue. If your pages get crawled the same day you publish them, you don't have a crawl budget problem. What crawl budget is When a search engine crawls your site, it doesn't crawl forever. It crawls some number of your URLs in a given window of time, then moves on. That amount is what SEOs call your crawl budget . It comes down to two questions the search engine is constantly answering: How much can I crawl? Your server can only take so much before it slows down or starts throwing errors. Google watches for that and backs off. This is the crawl capacity older docs called it","passages":["TL;DR — Crawl budget is how much a search engine is willing to crawl your site.","It's two things multiplied together: how much your server can handle and how much Google wants to crawl.","Crawling more doesn't make you rank higher — and for most sites, this is a non issue.","If your pages get crawled the same day you publish them, you don't have a crawl budget problem.","What crawl budget is When a search engine crawls your site, it doesn't crawl forever.","It crawls some number of your URLs in a given window of time, then moves on.","It comes down to two questions the search engine is constantly answering: How much can I crawl?","Your server can only take so much before it slows down or starts throwing errors."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawl Depth","desc":"Crawl depth means two things — the click depth of a page (clicks from the homepage) and a crawler's depth-limit setting. Why depth comes from internal links not URL slashes, whether the \"3-click rule\" is real, and how to measure and reduce it.","snippetText":"Crawl depth is used two ways: a page's click depth (how many clicks from the homepage to reach it) and a crawler's depth-limit setting (how many levels deep a crawl goes before it stops). Depth is defined by internal links, not URL folders — Mueller: 'we don't count slashes in the URLs.' Pages close to the homepage are discovered faster, crawled more often, and read as more important. The '3-click rule' is folklore: Bing names three clicks, Google never has, and UX research finds the count alone doesn't predict success. Reduce depth with internal links, hub pages, and tidy navigation — but don","href":"/technical-seo/website-structure/crawl-depth/","slug":"crawl-depth","meta":"Educational","aliases":["crawl-depth","crawl depth","click depth","page depth","Crawl depth","crawling","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","website-structure"],"text":"crawl-depth click-depth technical-seo internal-linking site-architecture crawling Crawl depth is used two ways: a page's click depth (how many clicks from the homepage to reach it) and a crawler's depth-limit setting (how many levels deep a crawl goes before it stops). Depth is defined by internal links, not URL folders — Mueller: 'we don't count slashes in the URLs.' Pages close to the homepage are discovered faster, crawled more often, and read as more important. The '3-click rule' is folklore: Bing names three clicks, Google never has, and UX research finds the count alone doesn't predict success. Reduce depth with internal links, hub pages, and tidy navigation — but don't flatten everything, or Google reads it all as equally important. What crawl depth means Why it matters The thing people get wrong Two meanings, defined separately Depth is about internal links, not URL folders Why crawl depth matters for SEO Is the \"3 click rule\" real? Flat vs. deep vs. pyramid How to check crawl depth How to reduce crawl depth When crawl depth matters most AI summary Official documentation Quotes from the source Reduce your crawl depth checklist The mental models Tools for measuring crawl depth Counting URL folders instead of link clicks Treating three clicks as a universal Google rule Flattening the site into a mega menu Measuring from the wrong start URL Fixing depth with redirects A page's depth differs between crawlers Important pages appear only through the sitemap Crawl depth usually means click depth — how many clicks it takes to reach a page from the homepage by following internal links. It can also mean a crawler setting that limits how many levels deep a crawl goes before it stops. TL;DR — Crawl depth usually means click depth : how many clicks it takes to reach a page from your homepage. The homepage is 0, a page linked straight from it is 1, and so on. Pages close to the homepage get found faster and crawled more often, so keep the pages you care about a few clicks from home. The famous \"everything within 3 clicks\" rule is a guideline, not a Google law. What crawl depth means When most people say \"crawl depth,\" they mean click depth : the number of clicks it takes to get from your homepage to a given page by following links. Your homepage is depth 0 . A page linked directly from the homepage, your main menu, or your footer is depth 1 . A page you can only r","passages":["TL;DR — Crawl depth usually means click depth : how many clicks it takes to reach a page from your homepage.","The homepage is 0, a page linked straight from it is 1, and so on.","Pages close to the homepage get found faster and crawled more often, so keep the pages you care about a few clicks from home.","The famous \"everything within 3 clicks\" rule is a guideline, not a Google law.","What crawl depth means When most people say \"crawl depth,\" they mean click depth : the number of clicks it takes to get from your homepage to a given page by following links.","A page linked directly from the homepage, your main menu, or your footer is depth 1 .","A page you can only reach by clicking through to that page first is depth 2 , and so on.","A page nobody links to at all is an \"orphan\" — effectively infinitely deep, because there's no path to it."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/website-structure/crawl-depth/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/website-structure/crawl-depth/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawl Frequency","desc":"How often search engines recrawl a page they already know about — what drives it (popularity, staleness, an honest lastmod), what doesn't (changefreq, priority, publishing daily), and why you can't force it.","snippetText":"Crawl frequency is how often a search engine re-fetches a page it already knows about. It's driven mainly by a page's importance (popularity, PageRank, links) and how often it genuinely changes (staleness), though Google names other demand inputs too — Google learns your per-page update pattern and adjusts. You influence it indirectly through importance, real changes, an accurate lastmod, and a healthy server, but you can't set it. changefreq and priority are ignored; bumping lastmod cosmetically backfires; and crawling more often does not improve rankings.","href":"/technical-seo/how-search-works/crawling/crawl-budget/crawl-frequency/","slug":"crawl-frequency","meta":"Educational","aliases":["crawl-frequency","crawl frequency","how often Google crawls","recrawl","Crawl frequency","crawl-budget","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling","crawl-budget"],"text":"crawl-frequency technical-seo crawl-budget crawling googlebot bingbot Crawl frequency is how often a search engine re-fetches a page it already knows about. It's driven mainly by a page's importance (popularity, PageRank, links) and how often it genuinely changes (staleness), though Google names other demand inputs too — Google learns your per-page update pattern and adjusts. You influence it indirectly through importance, real changes, an accurate lastmod, and a healthy server, but you can't set it. changefreq and priority are ignored; bumping lastmod cosmetically backfires; and crawling more often does not improve rankings. What crawl frequency means What makes a page get crawled more often What does not make Google crawl more The honest answer to \"how do I get crawled more?\" What crawl frequency actually is Crawl frequency vs. crawl budget vs. crawl rate Discovery crawls vs. refresh crawls What determines how often Google recrawls a page Popularity, PageRank, and links Staleness — and the backoff Quality and search demand Server health rate enables frequency The role of sitemaps and and are ignored is the one signal — if it's honest Can you force or speed up crawling? Bing: adaptive crawling and IndexNow How to check your crawl frequency Common myths about crawl frequency AI summary Official documentation Quotes from the source The mental models What actually increases recrawl frequency Crawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial. TL;DR — Crawl frequency is how often a search engine comes back to re check a page it already knows about. Pages that are popular and change a lot get re checked constantly; pages that never change get re checked rarely — those are the two biggest factors, though not the only ones. You can't set it — you nudge it by making a page more important and actually updating it. What crawl frequency means When Google or Bing finds a page for the first time, that's a discovery crawl. But the web changes, so search engines come back later to see if the page is different — that's a refresh crawl. Crawl frequency is how often that re checking happens. It's not the same for every page. A busy news homepage might get re ","passages":["TL;DR — Crawl frequency is how often a search engine comes back to re check a page it already knows about.","Pages that are popular and change a lot get re checked constantly; pages that never change get re checked rarely — those are the two biggest factors, though not the only ones.","You can't set it — you nudge it by making a page more important and actually updating it.","What crawl frequency means When Google or Bing finds a page for the first time, that's a discovery crawl.","But the web changes, so search engines come back later to see if the page is different — that's a refresh crawl.","A busy news homepage might get re crawled every couple of hours.","A small business \"About\" page that hasn't changed in two years might go months between crawls.","Those are illustrative examples, not a published schedule — Google doesn't publish fixed hour/day/week intervals by page type."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/crawl-frequency/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/crawl-frequency/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawl Rate","desc":"How fast search engines fetch your pages — what crawl rate is, why Google retired the Search Console rate slider, how to safely slow Googlebot down today, why you can't force an increase, and how Bing's manual Crawl Control differs.","snippetText":"Crawl rate is how fast a crawler fetches pages from your server — the supply side of crawl budget (the demand side is how much the engine wants to crawl). Google now sets it automatically from your server's health: the manual Search Console rate slider was removed on January 8, 2024. To slow Googlebot today you signal through HTTP status codes — return 500/503/429 for a day or two, never 403/404, and crawl-delay is ignored by Google. You can't request a permanent increase; you improve it indirectly with a faster server, clean sitemaps, and fewer wasted URLs. Bing still gives you a manual Crawl","href":"/technical-seo/how-search-works/crawling/crawl-budget/crawl-rate/","slug":"crawl-rate","meta":"Educational","aliases":["crawl-rate","crawl rate","crawl capacity limit","Googlebot crawl rate","Crawl rate","crawl-budget","crawling"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling","crawl-budget"],"text":"crawl-rate technical-seo googlebot bingbot crawl-budget crawling Crawl rate is how fast a crawler fetches pages from your server — the supply side of crawl budget (the demand side is how much the engine wants to crawl). Google now sets it automatically from your server's health: the manual Search Console rate slider was removed on January 8, 2024. To slow Googlebot today you signal through HTTP status codes — return 500/503/429 for a day or two, never 403/404, and crawl-delay is ignored by Google. You can't request a permanent increase; you improve it indirectly with a faster server, clean sitemaps, and fewer wasted URLs. Bing still gives you a manual Crawl Control grid. Crawl rate is not a ranking factor, and most sites never need to manage it. What crawl rate is The big thing that changed How to slow Googlebot down Can you make Google crawl faster? What crawl rate actually is What sets the crawl rate Does crawl rate affect rankings? No. How to reduce Googlebot's crawl rate Can you increase crawl rate? No — not directly. How to control Bingbot's crawl rate What happened to the Search Console crawl rate tool? How to monitor crawl rate Crawl rate vs crawl budget vs crawl frequency AI summary Official documentation Quotes from the source Crawl rate checklists Crawl rate — cheat sheet Temporarily tell Googlebot to slow down Tools for seeing and controlling crawl rate What should you do about crawl rate? Incident playbook: crawler traffic is overloading the origin Crawl rate mistakes The verify → protect → repair framework Crawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor. TL;DR — Crawl rate is how fast a search engine fetches pages from your site. Google sets it automatically based on how healthy your server is — there's no longer a button to turn it up or down. If your server is getting hammered, the fix is to make it faster or, for a day or two only, have it return a \"slow down\" error . Crawling faster doesn't help you rank. What crawl rate is When a search engine crawls your site, it doesn't grab every page at once — it paces itself. Crawl rate is that pace: how many pages a crawler fetches per moment, and how long it waits between fetches. G","passages":["TL;DR — Crawl rate is how fast a search engine fetches pages from your site.","Google sets it automatically based on how healthy your server is — there's no longer a button to turn it up or down.","If your server is getting hammered, the fix is to make it faster or, for a day or two only, have it return a \"slow down\" error .","What crawl rate is When a search engine crawls your site, it doesn't grab every page at once — it paces itself.","Crawl rate is that pace: how many pages a crawler fetches per moment, and how long it waits between fetches.","A crawler could easily overwhelm a small server if it asked for hundreds of pages a second, so it watches how your site responds and backs off when the server starts to struggle.","Answer quickly and it'll fetch a bit faster; slow down or throw errors and it crawls less.","The big thing that changed For years the advice was \"go into Search Console and turn down the crawl rate slider.\" That slider is gone — Google removed it on January 8, 2024."],"updated":"2026-07-13T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/crawl-rate/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/crawl-budget/crawl-rate/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Crawling","desc":"How search engines discover and download the web — Googlebot and Bingbot, URL discovery, the crawl scheduler, rendering, and how crawling differs from indexing and ranking. The hub for everything crawl-related.","snippetText":"Crawling is stage one of search (crawl → index → serve): bots like Googlebot and Bingbot discover URLs and download pages so they can be rendered, indexed, and ranked. It's necessary to appear in search but it isn't a ranking factor — and it's distinct from both indexing and rendering. Most sites never need to manage crawl budget; when crawling does break, server logs are the ground truth. This hub explains the whole pipeline and points you to the deep dives.","href":"/technical-seo/how-search-works/crawling/","slug":"crawling","meta":"Educational","aliases":["crawling","web crawling","how search engines crawl","crawl the web","Crawling","crawl-budget","indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works"],"text":"crawling technical-seo googlebot bingbot crawl-budget indexing Crawling is stage one of search (crawl → index → serve): bots like Googlebot and Bingbot discover URLs and download pages so they can be rendered, indexed, and ranked. It's necessary to appear in search but it isn't a ranking factor — and it's distinct from both indexing and rendering. Most sites never need to manage crawl budget; when crawling does break, server logs are the ground truth. This hub explains the whole pipeline and points you to the deep dives. What crawling is How crawlers find your pages How to help search engines crawl your site The thing most people get wrong Crawling is stage one of three Who actually does the crawling How crawlers discover URLs How crawlers fetch pages Rendering is not crawling Crawling vs indexing vs ranking How to control crawling Crawl efficiency and crawl budget When crawling goes wrong — how to see it Where to go next: the crawling cluster AI summary Official documentation Quotes from the source Crawl health checklist The mental models Controlling crawling — cheat sheet Verify a bot is really Googlebot A safe robots.txt starting point Tools for seeing and managing crawling Resources worth your time Crawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. TL;DR — Crawling is how search engines find and download your pages. A bot Googlebot for Google, Bingbot for Bing follows links and reads sitemaps to discover URLs, then fetches them. A page has to be crawled before it can show up in search — but being crawled a lot doesn't make you rank higher. What crawling is Search engines don't browse the web the way you do. They send out automated programs — called crawlers , bots , or spiders — that visit pages, download what's on them, and follow the links to find more pages. Google's crawler is Googlebot ; Bing's is Bingbot . Think of it as three steps, in order: 1. Crawl — the bot discovers a URL and downloads the page. 2. Index — the engine processes that page and files it away in a giant database of everything it might show in results. 3. Serve rank — when someone searches, the engine pulls the best matches from the index and puts them in order. Crawling is step one. If a page never gets crawled, it can't be inde","passages":["TL;DR — Crawling is how search engines find and download your pages.","A bot Googlebot for Google, Bingbot for Bing follows links and reads sitemaps to discover URLs, then fetches them.","A page has to be crawled before it can show up in search — but being crawled a lot doesn't make you rank higher.","What crawling is Search engines don't browse the web the way you do.","They send out automated programs — called crawlers , bots , or spiders — that visit pages, download what's on them, and follow the links to find more pages.","Index — the engine processes that page and files it away in a giant database of everything it might show in results.","Serve rank — when someone searches, the engine pulls the best matches from the index and puts them in order.","If a page never gets crawled, it can't be indexed, and if it's not indexed, it can't rank."],"updated":"2026-07-17T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Discovery","desc":"How search engines discover URLs — internal links, backlinks, sitemaps, RSS/Atom, and push protocols like IndexNow and the Indexing API. The hub for everything discovery-related.","snippetText":"Discovery is the find step before search ever fetches a page: the engine has to learn a URL exists before it can crawl, index, or rank it. It's this hub's teaching name for the opening move of what Google's official model calls the crawling stage. URLs are discovered by pull (internal links, backlinks, sitemaps, RSS/Atom) and by push (IndexNow, the Indexing API, lastmod, WebSub, URL Inspection). Google calls it 'URL discovery,' and it's distinct from crawling and indexing — which is exactly why 'Discovered – currently not indexed' means found-but-not-yet-crawled, a status with several possible","href":"/technical-seo/how-search-works/discovery/","slug":"discovery","meta":"Educational","aliases":["discovery","URL discovery","content discovery","how search engines find pages","page discovery","crawling","sitemaps","indexnow"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works"],"text":"url-discovery technical-seo crawling sitemaps indexnow indexing Discovery is the find step before search ever fetches a page: the engine has to learn a URL exists before it can crawl, index, or rank it. It's this hub's teaching name for the opening move of what Google's official model calls the crawling stage. URLs are discovered by pull (internal links, backlinks, sitemaps, RSS/Atom) and by push (IndexNow, the Indexing API, lastmod, WebSub, URL Inspection). Google calls it 'URL discovery,' and it's distinct from crawling and indexing — which is exactly why 'Discovered – currently not indexed' means found-but-not-yet-crawled, a status with several possible causes rather than one deterministic trigger. Links and sitemaps are the two routes Google names directly, orphan pages are the classic failure, and submitting a URL never guarantees indexing. This hub maps it all and points you to the sitemap deep dives. What discovery is How search engines find your pages Orphan pages: the thing that breaks discovery The thing most people get wrong What URL discovery is Discovery vs crawling vs indexing How search engines discover URLs: pull vs push Pull — the engine finds it on its own Push — you notify the engine something changed How Google and Bing each describe discovery Orphan pages: when discovery fails \"Discovered – currently not indexed\" in Search Console How to help discovery Where to go next AI summary Official documentation Quotes from the source Discovery checklist The mental models Discovery channels — cheat sheet Common discovery issues \"Discovered – currently not indexed\" in the Page Indexing report A new page never shows up anywhere in Search Console IndexNow pings aren't doing anything for Google traffic URL discovery is how search engines find URLs to crawl — by pull (following links and reading sitemaps) and by push (you notify them via IndexNow, the Indexing API, or WebSub). It's the find step that comes before a page is ever fetched. TL;DR — Discovery is how a search engine finds out your page exists — the step before it ever downloads the page. Engines mostly find pages by following links and reading sitemaps. If nothing links to a page and it's not in a sitemap, it may never get found. Submitting a page helps it get discovered, but it doesn't guarantee it'll be indexed. What discovery is Before a search engine can show your page, three things have","passages":["TL;DR — Discovery is how a search engine finds out your page exists — the step before it ever downloads the page.","Engines mostly find pages by following links and reading sitemaps.","If nothing links to a page and it's not in a sitemap, it may never get found.","Submitting a page helps it get discovered, but it doesn't guarantee it'll be indexed.","What discovery is Before a search engine can show your page, three things have to happen in order: 1.","A page that's never discovered can't be crawled, indexed, or ranked — the engine simply doesn't know it's there.","A quick note on the model: discover → crawl → index is this hub's teaching breakdown, because it's the clearest way to reason about a stuck page.","Google's own official stage list is three stages — crawling, indexing, serving — and it defines \"URL discovery\" as the first part of crawling , not as a separate fourth stage."],"updated":"2026-07-25T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Google Indexing API","desc":"What the Google Indexing API actually does — officially supported only for JobPosting and BroadcastEvent (livestream) pages, not general content. The myths, what Google really says, and what to use instead for faster indexing.","snippetText":"The Google Indexing API is a programmatic way to notify Google that a URL was added, updated, or removed — but Google officially supports it only for pages with JobPosting or BroadcastEvent (livestream) structured data, not general content. The biggest myth is that it indexes any page fast; it doesn't, and a successful submission only confirms Google received your request, not that anything was indexed. Google has warned repeatedly that misuse can get your access revoked. For normal pages, use sitemaps, internal links, quality, and the occasional Search Console 'Request indexing' instead.","href":"/technical-seo/how-search-works/discovery/google-indexing-api/","slug":"google-indexing-api","meta":"Educational","aliases":["google-indexing-api","Google Indexing API","Indexing API","crawling","indexing"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery"],"text":"google-indexing-api indexing-api technical-seo indexing crawling googlebot The Google Indexing API is a programmatic way to notify Google that a URL was added, updated, or removed — but Google officially supports it only for pages with JobPosting or BroadcastEvent (livestream) structured data, not general content. The biggest myth is that it indexes any page fast; it doesn't, and a successful submission only confirms Google received your request, not that anything was indexed. Google has warned repeatedly that misuse can get your access revoked. For normal pages, use sitemaps, internal links, quality, and the occasional Search Console 'Request indexing' instead. What the Indexing API is The one thing to understand The myth to ignore What to do instead for faster indexing What the Indexing API actually is What Google officially supports it for How it works Prerequisites The two methods plus a status check Quotas Can you use it for normal pages? What Google actually says The status endpoint myth Indexing API vs Request Indexing vs IndexNow What to do instead for general pages AI summary Official documentation Quotes from the source Indexing API — cheat sheet A minimal publish call for supported content only Indexing API vs Request Indexing vs IndexNow Tools Resources worth your time Common issues \"I got a 200 response but the page still isn't indexed\" The Google Indexing API lets site owners notify Google directly when a URL is added, updated, or removed. Google officially supports it only for pages with JobPosting or BroadcastEvent (livestream) structured data — not for general content. TL;DR — The Google Indexing API is a way for site owners to tell Google \"this page changed, please re crawl it\" through code instead of clicking buttons. But here's the catch most guides skip: Google only officially supports it for job posting pages and livestream pages . It is not a shortcut to get your blog posts or product pages indexed faster — Google has said so over and over. What the Indexing API is When you publish or change a page, you normally wait for Google to come back and re crawl it on its own schedule. The Indexing API is a way to push a notification to Google instead — \"hey, this URL is new/updated\" or \"this URL is gone, drop it.\" You do it with code a small program calling Google's servers , not by clicking around in a dashboard. That sounds powerful, and it ","passages":["TL;DR — The Google Indexing API is a way for site owners to tell Google \"this page changed, please re crawl it\" through code instead of clicking buttons.","But here's the catch most guides skip: Google only officially supports it for job posting pages and livestream pages .","It is not a shortcut to get your blog posts or product pages indexed faster — Google has said so over and over.","What the Indexing API is When you publish or change a page, you normally wait for Google to come back and re crawl it on its own schedule.","The Indexing API is a way to push a notification to Google instead — \"hey, this URL is new/updated\" or \"this URL is gone, drop it.\" You do it with code a small program calling Google's servers , not by clicking around in a dashboard.","That sounds powerful, and it is — for the exact things it's built for.","The one thing to understand Google only officially supports the Indexing API for two kinds of pages: 1.","Job postings — pages with structured data job listings, which expire and need to come down quickly ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/google-indexing-api/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/google-indexing-api/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"How Search Works","desc":"How Google and Bing turn the open web into an answer — the crawl → index → serve pipeline as three gates, with rendering, canonicalization, and ranking systems explained.","snippetText":"Search works in three stages — crawl → index → serve — and they're gates, not a conveyor belt: 'not all pages make it through each stage.' Getting crawled doesn't mean you're indexed (indexing isn't guaranteed), and getting indexed doesn't mean you rank. Indexing includes rendering and canonicalization; ranking is many automated systems, not one algorithm. This hub frames the whole journey and routes you to the deep dives — starting with the crawling cluster.","href":"/technical-seo/how-search-works/","slug":"how-search-works","meta":"Educational","aliases":["how-search-works","how search works","how google search works","how search engines work","crawling indexing ranking","How Search Works","crawling","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works"],"text":"how-search-works technical-seo crawling indexing ranking googlebot bingbot Search works in three stages — crawl → index → serve — and they're gates, not a conveyor belt: 'not all pages make it through each stage.' Getting crawled doesn't mean you're indexed (indexing isn't guaranteed), and getting indexed doesn't mean you rank. Indexing includes rendering and canonicalization; ranking is many automated systems, not one algorithm. This hub frames the whole journey and routes you to the deep dives — starting with the crawling cluster. The three stages They're gates, not a slide What this means for you Three stages, three gates Stage 1 — Crawling discover & fetch The bridge — rendering Stage 2 — Indexing understand & store Indexing isn't guaranteed Stage 3 — Serving results match & order First, understand the query Then, rank — with many systems, not \"the algorithm\" The five factors Google names Serving isn't ten blue links Bing runs the same shape It's a model, not the source code Which stage are you stuck at? Where to go next AI summary Official documentation Quotes from the source The mental models Which stage are you stuck at? — diagnostic cheat sheet Crawl ≠ index ≠ rank — what each really means Resources worth your time Search works in three stages — crawling, indexing, and serving (ranking). A page has to clear each one to appear in results: getting crawled doesn't mean you're indexed, and getting indexed doesn't mean you rank. TL;DR — Search works in three steps: a search engine crawls finds and downloads your pages , indexes figures out what each page is about and files it away , and serves results matches a search to the best pages and puts them in order . The catch: a page has to pass each step to make it to the next. Getting found doesn't mean you're indexed, and being indexed doesn't mean you'll rank. The three stages When you search Google, you're not searching the live web — you're searching Google's copy of it. Getting from \"a page exists on the internet\" to \"a page shows up in your results\" takes three stages: 1. Crawling — automated programs Google's is Googlebot , Bing's is Bingbot discover URLs by following links and reading sitemaps, then download the pages. 2. Indexing — the engine looks at what it downloaded, works out what the page is about, and stores it in a giant database called the index . 3. Serving ranking — when someone searches, ","passages":["TL;DR — Search works in three steps: a search engine crawls finds and downloads your pages , indexes figures out what each page is about and files it away , and serves results matches a search to the best pages and puts them in order .","The catch: a page has to pass each step to make it to the next.","Getting found doesn't mean you're indexed, and being indexed doesn't mean you'll rank.","The three stages When you search Google, you're not searching the live web — you're searching Google's copy of it.","Getting from \"a page exists on the internet\" to \"a page shows up in your results\" takes three stages: 1.","Crawling — automated programs Google's is Googlebot , Bing's is Bingbot discover URLs by following links and reading sitemaps, then download the pages.","Indexing — the engine looks at what it downloaded, works out what the page is about, and stores it in a giant database called the index .","Serving ranking — when someone searches, the engine pulls the best matching pages out of the index and puts them in order."],"updated":"2026-07-26T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Image Sitemap","desc":"What an image sitemap is and why it exists — the image namespace, the image:image and image:loc tags, the tags Google deprecated in 2022, accepted formats, and cross-domain images.","snippetText":"An image sitemap is an extension to a normal XML sitemap that lists your images using Google's image namespace (http://www.google.com/schemas/sitemap-image/1.1) — without that namespace the image tags are ignored. You add <image:image> blocks (each with an <image:loc>) inside the <url> entry for the page; up to 1,000 images per URL. It surfaces images Google might miss (JavaScript-loaded or dynamically served) and you can put the tags in a standalone file or fold them into an existing sitemap — both are fine. Google deprecated image:caption, image:geo_location, image:title and image:license in","href":"/technical-seo/how-search-works/discovery/sitemaps/image-sitemaps/","slug":"image-sitemaps","meta":"Educational","aliases":["image-sitemaps","image sitemap","image sitemaps","Image sitemap","sitemaps","xml-sitemaps","video-sitemaps"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery","sitemaps"],"text":"image-sitemap sitemaps technical-seo image-seo google-images An image sitemap is an extension to a normal XML sitemap that lists your images using Google's image namespace (http://www.google.com/schemas/sitemap-image/1.1) — without that namespace the image tags are ignored. You add <image:image> blocks (each with an <image:loc>) inside the <url> entry for the page; up to 1,000 images per URL. It surfaces images Google might miss (JavaScript-loaded or dynamically served) and you can put the tags in a standalone file or fold them into an existing sitemap — both are fine. Google deprecated image:caption, image:geo_location, image:title and image:license in August 2022; leaving them in has no indexing effect, so don't panic. Accepted image formats are BMP, GIF, JPEG, PNG, WebP, SVG, and AVIF. Cross-domain image hosting works if both domains are verified in Search Console and robots.txt allows crawling. Bing does not document image-sitemap support. What an image sitemap is Standalone file or added to your existing sitemap? The two tags you actually need Does this help me rank in Google Images? What it is, mechanically Why bother — discovery of images Google might miss Standalone file vs. tags in an existing sitemap The deprecated tags — and why you needn't panic Accepted image file formats Cross domain images Best practices A note on Bing Where this sits AI summary Official documentation Quotes from the source Image sitemap — cheat sheet A minimal valid image sitemap Add image tags to an existing sitemap vs. a standalone file Resources worth your time What not to do Building or adding an image sitemap Tools for building and checking an image sitemap Quiz An image sitemap is a sitemap (or an extension added to an existing sitemap) that lists the images on your pages using Google's image namespace, helping Google discover images it might otherwise miss. TL;DR — An image sitemap is a list of the images on your pages that you hand to Google so it doesn't miss any — especially images that load with JavaScript or get served in a way a normal crawl can't see. It's not a separate magic file: you add a few image tags to a normal XML sitemap. It helps Google find images; it doesn't make them rank. What an image sitemap is When Google crawls a page, it usually finds the images on it just fine — they're right there in the HTML. But sometimes images are loaded by JavaScript a","passages":["TL;DR — An image sitemap is a list of the images on your pages that you hand to Google so it doesn't miss any — especially images that load with JavaScript or get served in a way a normal crawl can't see.","It's not a separate magic file: you add a few image tags to a normal XML sitemap.","What an image sitemap is When Google crawls a page, it usually finds the images on it just fine — they're right there in the HTML.","But sometimes images are loaded by JavaScript after the page renders, or pulled from a separate image server, or swapped in dynamically.","The important thing to understand up front: an image sitemap isn't a special new kind of file.","You tell Google \"I'm including image info\" by adding an image namespace to the file, and then, for each page, you list the images that appear on it.","You can: Add image tags to your existing sitemap — keep one file, just enrich it with image info, or Make a separate image only sitemap — handy if a plugin or build step generates it for you.","The two tags you actually need Inside the entry for a page, you wrap each image in an block, and inside that you give Google the image's location with ."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/image-sitemaps/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/image-sitemaps/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"IndexNow","desc":"IndexNow is the open push protocol that instantly tells Bing, Yandex, Naver, Seznam, and Yep when your URLs change — one submission, shared across all of them. How it works, how to set it up, and why it does nothing for Google.","snippetText":"IndexNow is a free, open push protocol from Microsoft Bing and Yandex (launched Oct 18, 2021; also Seznam, Naver, and Yep): you ping participating engines the instant a URL is added, updated, or deleted, and one submission is shared across all of them. Setup is a key file at your root plus a simple HTTP GET (one URL) or POST (up to 10,000). It speeds up discovery and recrawl — it doesn't guarantee indexing and it's not a ranking lever. Google does NOT use IndexNow: it said it would test the protocol in 2021 and never adopted it, so it does nothing for Google. Keep your sitemaps; IndexNow is ad","href":"/technical-seo/how-search-works/discovery/indexnow/","slug":"indexnow","meta":"Educational","aliases":["indexnow","IndexNow","IndexNow protocol","IndexNow API","crawling","crawl-frequency"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery"],"text":"indexnow technical-seo crawling bing push-protocol how-search-works IndexNow is a free, open push protocol from Microsoft Bing and Yandex (launched Oct 18, 2021; also Seznam, Naver, and Yep): you ping participating engines the instant a URL is added, updated, or deleted, and one submission is shared across all of them. Setup is a key file at your root plus a simple HTTP GET (one URL) or POST (up to 10,000). It speeds up discovery and recrawl — it doesn't guarantee indexing and it's not a ranking lever. Google does NOT use IndexNow: it said it would test the protocol in 2021 and never adopted it, so it does nothing for Google. Keep your sitemaps; IndexNow is additive, and the Google Indexing API is a separate, narrow tool. What IndexNow is The one thing you have to know Does it help me rank better? Should you bother? What IndexNow actually is Who participates and who doesn't How it works 1. Generate a key 2. Host the key file verification 3. Submit URLs — GET single or POST bulk 4. The shared ping — submit once, reach every participant Does Google use IndexNow? IndexNow vs sitemaps vs the Google Indexing API Benefits and limits How to set it up you probably won't write code Common myths Where this sits in the bigger picture AI summary Official documentation Quotes from the source Set up IndexNow — checklist The mental models Submit URLs to IndexNow Single URL GET IndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. TL;DR — IndexNow is a way to tell search engines a page changed instead of waiting for them to find out. You ping it once and it reaches Bing, Yandex, Naver, Seznam, and Yep all at once. It's quick to set up and free. The big catch: Google doesn't use it , so it won't help you in Google at all. What IndexNow is Normally, search engines find your new and updated pages on their own schedule — they follow links and re crawl your site whenever they get around to it. IndexNow flips that around. Instead of waiting to be re crawled, you send the search engine a quick message: \"this page just changed, come look.\" It works for pages you add, update, or delete . The clever part is what Microsoft calls the shared ping : you submit a URL to","passages":["TL;DR — IndexNow is a way to tell search engines a page changed instead of waiting for them to find out.","You ping it once and it reaches Bing, Yandex, Naver, Seznam, and Yep all at once.","The big catch: Google doesn't use it , so it won't help you in Google at all.","What IndexNow is Normally, search engines find your new and updated pages on their own schedule — they follow links and re crawl your site whenever they get around to it.","Instead of waiting to be re crawled, you send the search engine a quick message: \"this page just changed, come look.\" It works for pages you add, update, or delete .","The clever part is what Microsoft calls the shared ping : you submit a URL to one place, and it's automatically passed along to every search engine that supports IndexNow.","Right now that's Bing, Yandex, Naver, Seznam, and Yep the search engine built by Ahrefs .","The one thing you have to know Google does not use IndexNow."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/indexnow/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/indexnow/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Log File Analysis","desc":"How to read your server's raw access logs to see exactly what Googlebot, Bingbot, and AI crawlers actually fetched — verifying real bots, finding crawl waste and orphans, and why logs are the ground truth that crawl tools and Search Console only approximate.","snippetText":"Log file analysis is reading your server's raw access logs — the unsampled, ground-truth record of every request the server got — to see exactly which URLs Googlebot, Bingbot, and AI crawlers actually fetched, how often, and with what status code. The non-negotiable first step is verifying the bots are real (reverse + forward DNS, or Google's published IP ranges), because user agents are spoofed all the time. Then you look for crawl waste, most/least-crawled URLs, status codes by frequency, orphan pages, and the mobile-vs-desktop split. Logs complement GSC Crawl Stats; they don't replace it. M","href":"/technical-seo/how-search-works/crawling/log-file-analysis/","slug":"log-file-analysis","meta":"Educational","aliases":["log-file-analysis","log file analysis","server logs","access logs","log files","Log file analysis","crawling","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"log-file-analysis technical-seo crawling crawl-budget googlebot bingbot Log file analysis is reading your server's raw access logs — the unsampled, ground-truth record of every request the server got — to see exactly which URLs Googlebot, Bingbot, and AI crawlers actually fetched, how often, and with what status code. The non-negotiable first step is verifying the bots are real (reverse + forward DNS, or Google's published IP ranges), because user agents are spoofed all the time. Then you look for crawl waste, most/least-crawled URLs, status codes by frequency, orphan pages, and the mobile-vs-desktop split. Logs complement GSC Crawl Stats; they don't replace it. Most small sites don't need this — it's a large-site, ecommerce, and migration tool. What a log file is Why bother reading it The one rule you can't skip Do you even need this? Why logs are the ground truth When you actually need it and when you don't How to get your logs the hardest part is access Step 1 — Verify the bots are real do this before anything else Step 2 — What to look for What logs do NOT tell you The 2026 wrinkle: AI bots are all over your logs now How this fits with the rest of crawling AI summary Official documentation Quotes from the source Verify a bot is really Googlebot reverse + forward DNS Extract and count crawler hits from a raw log Log file analysis workflow What to build in your analysis sheet How to read a log file: what to look for Tools for log file analysis Mistakes to avoid Standing KPIs for log file analysis Verified bot share Log file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. TL;DR — Your web server keeps a log of every request it gets, including visits from search engine bots like Googlebot. Log file analysis means reading that log to see exactly which of your pages the bots actually fetched, how often, and whether they hit errors. It's the only place that shows what really happened — but most small sites don't need it. What a log file is Every time anyone — a person, Googlebot, or some random bot — requests a page from your site, your server writes a line about it in a file. That file is your access log . Each line records roughly the s","passages":["TL;DR — Your web server keeps a log of every request it gets, including visits from search engine bots like Googlebot.","Log file analysis means reading that log to see exactly which of your pages the bots actually fetched, how often, and whether they hit errors.","It's the only place that shows what really happened — but most small sites don't need it.","What a log file is Every time anyone — a person, Googlebot, or some random bot — requests a page from your site, your server writes a line about it in a file.","Each line records roughly the same things: who asked an IP address and a \"user agent\" name like , what they asked for the URL , when a timestamp , and what they got back an HTTP status code — for OK, for not found, and so on .","Stack up weeks of those lines and you have a complete, honest record of how search engines crawl your site.","Why bother reading it Other SEO tools either guess at how bots crawl you a crawl tool pretends to be a search engine and walks your site or summarize it Google Search Console shows you a sampled, rounded off view .","That lets you answer questions like: Which pages does Googlebot actually visit — and which does it ignore?"],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/log-file-analysis/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/log-file-analysis/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Sitemap Index","desc":"A sitemap index is a sitemap of sitemaps — how large sites split past the 50,000-URL limit, how many URLs you can cover, and the splitting strategy that actually pays off.","snippetText":"A sitemap index is a sitemap of sitemaps: a single file that lists your other sitemap files instead of listing URLs. You need one once a single sitemap would exceed 50,000 URLs or 50MB uncompressed, or when you want to organize a large multi-section/region site. An index can reference up to 50,000 child sitemaps, each holding up to 50,000 URLs — so one index covers 2.5 billion URLs, and the 500-index-per-site limit in Search Console puts the theoretical ceiling at 1.25 trillion. You'll never run out of capacity. Children live on the same site at the same directory level or lower, you don't nes","href":"/technical-seo/how-search-works/discovery/sitemaps/sitemap-index/","slug":"sitemap-index","meta":"Educational","aliases":["sitemap-index","sitemap index","sitemap index file","Sitemap index","sitemaps","xml-sitemaps"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery","sitemaps"],"text":"sitemap-index sitemaps xml-sitemap technical-seo large-sites A sitemap index is a sitemap of sitemaps: a single file that lists your other sitemap files instead of listing URLs. You need one once a single sitemap would exceed 50,000 URLs or 50MB uncompressed, or when you want to organize a large multi-section/region site. An index can reference up to 50,000 child sitemaps, each holding up to 50,000 URLs — so one index covers 2.5 billion URLs, and the 500-index-per-site limit in Search Console puts the theoretical ceiling at 1.25 trillion. You'll never run out of capacity. Children live on the same site at the same directory level or lower, you don't nest an index inside an index, and you submit only the index. The real payoff is splitting by section or content type so you can read submitted-vs-indexed per segment in Search Console. What a sitemap index is Why you'd need one How much can it cover? How you use it What a sitemap index file actually is When you need one Anatomy How many can you submit — and how many pages is that? Location rules Don't nest an index inside an index Submit only the index Splitting strategy — for reporting , not crawl efficiency How it relates to the rest of the sitemap family AI summary Official documentation Quotes from the source Sitemap index — limits cheat sheet How to split a sitemap index split for what you measure A minimal valid sitemap index How you submit it Tools for building and checking a sitemap index Sitemap index pre submission checklist Mistakes to avoid with a sitemap index Common issues with a sitemap index A sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file. {/ tool rule claim: sitemap.xml validity/article contract /} TL;DR — A sitemap index is a sitemap of sitemaps . A single sitemap can only hold 50,000 URLs, so big sites split their URLs across several sitemaps and then list those sitemaps in one small \"index\" file. You submit just the index, and search engines follow it to all the rest. What a sitemap index is A normal XML sitemap is a list of your page URLs. A sitemap index is one level up: it's a file that lists your other sitemaps instead of listing pages. Think of it as a table of contents that points at several chapters, where ","passages":["{/ tool rule claim: sitemap.xml validity/article contract /} TL;DR — A sitemap index is a sitemap of sitemaps .","A single sitemap can only hold 50,000 URLs, so big sites split their URLs across several sitemaps and then list those sitemaps in one small \"index\" file.","You submit just the index, and search engines follow it to all the rest.","What a sitemap index is A normal XML sitemap is a list of your page URLs.","A sitemap index is one level up: it's a file that lists your other sitemaps instead of listing pages.","Think of it as a table of contents that points at several chapters, where each chapter is a sitemap full of URLs.","You hand search engines the index, and they read it to find every sitemap it references, then read each of those to find your URLs.","Why you'd need one A single sitemap has hard limits: it can hold at most 50,000 URLs , and the file can't be bigger than 50MB uncompressed."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/sitemap-index/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/sitemap-index/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Sitemaps","desc":"What a sitemap is, whether you need one, the types (XML, HTML, image, video, news), how to find, create, and submit one, and why sitemaps help discovery but never guarantee indexing.","snippetText":"A sitemap is a file that lists the URLs (and media) on your site so search engines can discover them. It helps discovery and is a great coverage/diagnostic tool — but submitting one never guarantees crawling or indexing. A single sitemap caps at 50,000 URLs or 50MB uncompressed; Google ignores <priority>/<changefreq> but reads an accurate <lastmod>. Automate it from the pages you actually have, list only canonical indexable URLs, and submit it in Search Console + Bing Webmaster Tools (the old ping endpoint is dead). This hub routes you to the deep dives: XML sitemap, sitemap index, image sitem","href":"/technical-seo/how-search-works/discovery/sitemaps/","slug":"sitemaps","meta":"Educational","aliases":["sitemaps","sitemap","sitemap file","what is a sitemap","Sitemap","xml-sitemaps","sitemap-index","discovery"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery"],"text":"sitemaps technical-seo xml-sitemap indexing crawling A sitemap is a file that lists the URLs (and media) on your site so search engines can discover them. It helps discovery and is a great coverage/diagnostic tool — but submitting one never guarantees crawling or indexing. A single sitemap caps at 50,000 URLs or 50MB uncompressed; Google ignores <priority>/<changefreq> but reads an accurate <lastmod>. Automate it from the pages you actually have, list only canonical indexable URLs, and submit it in Search Console + Bing Webmaster Tools (the old ping endpoint is dead). This hub routes you to the deep dives: XML sitemap, sitemap index, image sitemap, and video sitemap. What a sitemap is Do you actually need one? The thing to understand up front How to find a site's sitemap How to make and submit one What a sitemap is — and what it's for Do you need one? Resolving the contradiction Automate it, or it rots The types of sitemap XML vs HTML How to find a sitemap and why some sites hide theirs How to create one How to submit it Submission problems Best practices — and \"exclude ≠ noindex\" Where to go next AI summary Official documentation Quotes from the source The standing KPIs for sitemap health Submitted vs. indexed, per sitemap Sitemap coverage completeness Ready to use AI prompts Sitemap checklist A sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. {/ tool rule claim: sitemap.xml validity/article contract /} TL;DR — A sitemap is a file that lists the pages on your site so search engines can find them. It helps Google and Bing discover your content — but it doesn't force them to index it. Most sites should have one it's cheap insurance , it should be generated automatically so it stays current, and you submit it in Google Search Console and Bing Webmaster Tools. What a sitemap is A sitemap is a file where you list the URLs on your site — and sometimes your images and videos — so search engines have a tidy inventory to work from instead of having to discover everything by following links. Google's own definition: \"A sitemap is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.\" The most common kind is an XML sitemap , which is writte","passages":["{/ tool rule claim: sitemap.xml validity/article contract /} TL;DR — A sitemap is a file that lists the pages on your site so search engines can find them.","It helps Google and Bing discover your content — but it doesn't force them to index it.","Most sites should have one it's cheap insurance , it should be generated automatically so it stays current, and you submit it in Google Search Console and Bing Webmaster Tools.","What a sitemap is A sitemap is a file where you list the URLs on your site — and sometimes your images and videos — so search engines have a tidy inventory to work from instead of having to discover everything by following links.","Google's own definition: \"A sitemap is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.\" The most common kind is an XML sitemap , which is written for crawlers rather than people.","There's also an HTML sitemap , which is a page of links meant for human visitors.","If your site is small think a few hundred pages and everything is well linked from your navigation, search engines can usually find it all on their own — Google says you may not strictly need a sitemap in that case.","John Mueller put it well: a sitemap file is \"a minimal baseline for any serious website.\" So my rule of thumb is simple: always have one, and let your CMS or framework generate it automatically."],"updated":"2026-07-15T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Spider Traps (Crawler Traps)","desc":"Spider traps (crawler traps) are site structures that generate effectively infinite URLs — faceted filters, calendars, session IDs, redirect loops — and quietly drain crawl budget. How to find and fix them.","snippetText":"A spider trap (crawler trap) is any part of a site that mints an effectively infinite number of URLs — faceted filters, endless calendars, session IDs, sort/tracking params, infinite pagination, redirect loops, relative-link explosion — so crawlers burn their budget on near-duplicate junk instead of your real content. Google named the problem 'infinite spaces' back in 2008; in a February 2026 Search Off the Record recap of Google's 2025 year-end crawling report, Gary Illyes put faceted navigation and action parameters at roughly 75% of the crawling issues Google sees (50% faceted nav, 25% acti","href":"/technical-seo/how-search-works/crawling/spider-trap/","slug":"spider-trap","meta":"Educational","aliases":["spider-trap","spider trap","crawler trap","infinite URL space","crawl trap","Spider trap","crawling","crawl-budget"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","crawling"],"text":"spider-traps crawler-traps crawl-budget faceted-navigation technical-seo infinite-spaces A spider trap (crawler trap) is any part of a site that mints an effectively infinite number of URLs — faceted filters, endless calendars, session IDs, sort/tracking params, infinite pagination, redirect loops, relative-link explosion — so crawlers burn their budget on near-duplicate junk instead of your real content. Google named the problem 'infinite spaces' back in 2008; in a February 2026 Search Off the Record recap of Google's 2025 year-end crawling report, Gary Illyes put faceted navigation and action parameters at roughly 75% of the crawling issues Google sees (50% faceted nav, 25% action parameters, plus smaller shares from tracking params and plugins). It mainly hurts large, new, and ecommerce sites; small sites rarely need to care. Detect it in your server logs first — the signature is one URL pattern eating a disproportionate, lopsided share of crawl hits relative to your own site's normal baseline, not a fixed percentage that applies everywhere — then fix it at the source — ideally stop generating the URLs, or robots.txt-disallow / noindex / 404 in the right order. Canonical and nofollow help but don't stop the crawling, and order matters: block too early and the noindex never gets seen. What a spider trap is What causes them Why it matters and when it doesn't How you'd spot one and fix it What a spider trap actually is Why spider traps hurt SEO This isn't a new or rare problem Types of spider traps How to detect a spider trap How to fix and prevent spider traps One nuance: don't break legitimate pagination Where this sits AI summary Official documentation Quotes from the source Detect and fix checklist The mental models Trap types → one line fix Quick reference Tools for finding and fixing traps The standing KPI: junk share of crawl Junk pattern share of crawl requests \"Discovered / Crawled – currently not indexed\" count Find and fence in a trap pattern A spider trap (also called a crawler trap) is a site structure that generates an effectively infinite number of URLs — from faceted filters, calendars, session IDs, or redirect loops — so crawlers waste their budget on low-value, near-duplicate pages instead of your real content. TL;DR — A spider trap or crawler trap is a part of your site that accidentally creates a near endless list of URLs — think filter c","passages":["TL;DR — A spider trap or crawler trap is a part of your site that accidentally creates a near endless list of URLs — think filter combinations, a calendar with a \"next month\" link forever, or web addresses with a session ID stuck on them.","Search engine bots get stuck crawling all that junk instead of your real pages.","It wastes their time, and on big sites it means your good pages get crawled less.","What a spider trap is When a search engine visits your site, it follows links and downloads pages — that's crawling .","A spider trap is a structure that hands the crawler a basically infinite supply of links to follow, most of them pointing at near identical or empty pages.","The bot keeps fetching them, never running out, and never finding anything new.","\"Spider trap\" and \"crawler trap\" are the same thing — spider and crawler are both nicknames for the bots.","Google's own name for the problem is \"infinite spaces.\" What causes them A few classics: Filters — pick a color, a size, a brand, a price range, sort by cheapest… every combination is a new URL, and they multiply fast."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/crawling/spider-trap/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/crawling/spider-trap/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Video Sitemap","desc":"What a video sitemap is and when you need one — the required and optional video:video tags, the limits, accepted media and thumbnail file types, multiple videos per page, and the mRSS alternative.","snippetText":"A video sitemap is an XML sitemap that uses Google's video:video extension to tell Google about videos on your pages, especially newly added or otherwise hard-to-discover ones. Each video needs four required pieces of metadata — a thumbnail (video:thumbnail_loc), a title (video:title), a description (video:description), and at least one of video:content_loc (the media file) or video:player_loc (the player) — and neither content_loc nor player_loc can be the same URL as the page's own loc. The namespace is http://www.google.com/schemas/sitemap-video/1.1, the repeated video:tag element caps at 3","href":"/technical-seo/how-search-works/discovery/sitemaps/video-sitemaps/","slug":"video-sitemaps","meta":"Educational","aliases":["video-sitemaps","video sitemap","video sitemaps","Video sitemap","sitemaps","xml-sitemaps","image-sitemaps"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery","sitemaps"],"text":"video-sitemap sitemaps technical-seo video-seo google-video A video sitemap is an XML sitemap that uses Google's video:video extension to tell Google about videos on your pages, especially newly added or otherwise hard-to-discover ones. Each video needs four required pieces of metadata — a thumbnail (video:thumbnail_loc), a title (video:title), a description (video:description), and at least one of video:content_loc (the media file) or video:player_loc (the player) — and neither content_loc nor player_loc can be the same URL as the page's own loc. The namespace is http://www.google.com/schemas/sitemap-video/1.1, the repeated video:tag element caps at 32 per video (that's not a limit on total metadata fields), duration runs 1–28,800 seconds, and the description caps at 2,048 characters. Every referenced URL — page, thumbnail, media file — must be crawlable: no robots.txt block, no login wall, and content_loc can't be a streaming-only protocol. Use the current Google file-type list (the old .flv/.ra enumeration is stale), and don't panic over the tags Google deprecated in 2022 — they're safe to leave. mRSS is an accepted alternative. Bing does not document video-sitemap support. What a video sitemap is When you actually need one The four things every video needs The one rule people forget What a video sitemap actually is When you need one Required tags Optional and recommended tags and the limits Multiple videos on one page Accessibility: everything you reference must be crawlable Accepted file types Deprecated tags safe to leave How this fits the rest of the sitemap family AI summary Official documentation Quotes from the source Video sitemap — cheat sheet A minimal valid video sitemap Two videos on one page Video sitemap setup audit Tools for building and checking a video sitemap Common issues AI prompts for video sitemaps Resources worth your time A video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing. TL;DR — A video sitemap is a special sitemap that tells Google about the videos on your pages. For each video you give Google four things: a thumbnail image, a title, a description, and a link to eithe","passages":["TL;DR — A video sitemap is a special sitemap that tells Google about the videos on your pages.","For each video you give Google four things: a thumbnail image, a title, a description, and a link to either the video file or the player that plays it.","It helps Google find your videos — it doesn't guarantee they'll show up in search.","What a video sitemap is A regular sitemap lists the pages on your site.","A video sitemap adds extra information about any videos on those pages, using a set of special tags.","For each video you tell Google the page it lives on, a thumbnail image to show, a title, a description, and where the video actually is the file itself, or the player that plays it .","It's the same idea as an image sitemap, just for video, and it slots into the same family as your XML sitemap.","When you actually need one Google frames the value case narrowly: a video sitemap helps most with videos that are newly added or otherwise hard to discover — not with every video on your site."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/video-sitemaps/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/video-sitemaps/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"XML Sitemap","desc":"What an XML sitemap is, its anatomy, the ignored tags (priority/changefreq), accurate lastmod, the 50,000/50MB limits, hreflang in sitemaps, and how to submit one.","snippetText":"An XML sitemap is a UTF-8 file listing the canonical, indexable URLs you want search engines to know about — each in a <url> block with a required <loc> and an optional <lastmod>. It helps engines discover URLs but doesn't guarantee indexing; its real payoff is the submitted-vs-indexed diagnostic in Search Console. Google ignores <priority> and <changefreq>, and uses <lastmod> only when it's verifiably accurate (significant updates, not a blanket 'today'). One sitemap caps at 50,000 URLs or 50MB uncompressed — past that you split files and reference them from a sitemap index. Include only cano","href":"/technical-seo/how-search-works/discovery/sitemaps/xml-sitemaps/","slug":"xml-sitemaps","meta":"Educational","aliases":["xml-sitemaps","XML sitemap","XML sitemaps","sitemaps","sitemap-index","image-sitemaps","video-sitemaps","google sitemap","search engine sitemap","url sitemap"],"pillar":"technical-seo","taxonomy":["technical-seo","how-search-works","discovery","sitemaps"],"text":"xml-sitemap sitemaps technical-seo hreflang lastmod indexing An XML sitemap is a UTF-8 file listing the canonical, indexable URLs you want search engines to know about — each in a <url> block with a required <loc> and an optional <lastmod>. It helps engines discover URLs but doesn't guarantee indexing; its real payoff is the submitted-vs-indexed diagnostic in Search Console. Google ignores <priority> and <changefreq>, and uses <lastmod> only when it's verifiably accurate (significant updates, not a blanket 'today'). One sitemap caps at 50,000 URLs or 50MB uncompressed — past that you split files and reference them from a sitemap index. Include only canonical, indexable, 200-status URLs; leaving a URL out of the sitemap is not the same as noindexing it. Sitemaps are also the easiest place to manage hreflang at scale. Reference it in robots.txt and submit it in Search Console and Bing Webmaster Tools. What an XML sitemap is What it does and doesn't do What to put in it Where it goes and how to submit it What an XML sitemap actually is Anatomy The ignored tags truth Placement, naming, encoding, and compression Limits → split + sitemap index Which URLs to include — and \"exclude ≠ noindex\" Accepted sitemap file formats hreflang in sitemaps Reference it and submit it AI summary Official documentation Quotes from the source XML sitemap checklist XML sitemap — cheat sheet A minimal valid XML sitemap Gzip it for large files Reference it in robots.txt Validate it Tools for building and checking your XML sitemap Ready to paste prompts for sitemap work An XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. {/ tool rule claim: sitemap.xml validity/article contract /} TL;DR — An XML sitemap is a file that lists the pages on your site you want search engines to find. Each page gets one entry: its full URL and, optionally, the date it last meaningfully changed. It helps engines discover your pages — it doesn't force them to index or rank anything. You put it at a URL like , point to it from your , and submit it in Google Search Console and Bing Webmaster Tools. What an XML sitemap is An XML sitemap is a list of your URLs, written in a simple structured format, that ","passages":["{/ tool rule claim: sitemap.xml validity/article contract /} TL;DR — An XML sitemap is a file that lists the pages on your site you want search engines to find.","Each page gets one entry: its full URL and, optionally, the date it last meaningfully changed.","It helps engines discover your pages — it doesn't force them to index or rank anything.","You put it at a URL like , point to it from your , and submit it in Google Search Console and Bing Webmaster Tools.","What an XML sitemap is An XML sitemap is a list of your URLs, written in a simple structured format, that you hand directly to search engines.","Instead of making them discover every page by following links, you give them a clean inventory of the pages you care about.","Google describes a sitemap as \"a file where you provide information about the pages, videos, and other files on your site.\" The \"XML\" part just means it's written in a tagged format that machines read easily.","Here's the smallest valid example: Reading it top to bottom: the first line says \"this is XML, encoded as UTF 8.\" The wraps the whole list."],"updated":"2026-07-18T00:00:00.000Z","date":"2026-06-22","markdown":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/xml-sitemaps/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/technical-seo/how-search-works/discovery/sitemaps/xml-sitemaps/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"thought-leadership","title":"The Modern-Day Michelin Guide: Anthropic's Massive Programmatic SEO Opportunity","desc":"Anthropic's massive programmatic SEO opportunity: the single biggest acquisition play in internet history.","snippetText":"Anthropic should build a massive library of free, Claude-generated tools and calculators — an \"Artifact Gallery.\" Making every tool freely embeddable across the web creates a viral acquisition loop: visitors who want to customize an embedded tool must sign up for Claude, potentially driving hundreds of millions of monthly organic visitors and converting them into users.","href":"/programmatic-seo/anthropic-programmatic-seo/","slug":"anthropic-programmatic-seo","meta":"Thought Leadership","aliases":["Anthropic programmatic SEO opportunity","Acquisition loop","Amortization schedule","Artifacts","Cloudflare KV","Cloudflare Worker","frame-ancestors","iframe","Keyword data","Organic traffic"],"pillar":"programmatic-seo","taxonomy":["programmatic-seo"],"text":"programmatic-seo anthropic ai thought-leadership Anthropic should build a massive library of free, Claude-generated tools and calculators — an \"Artifact Gallery.\" Making every tool freely embeddable across the web creates a viral acquisition loop: visitors who want to customize an embedded tool must sign up for Claude, potentially driving hundreds of millions of monthly organic visitors and converting them into users. The Play: The Ultimate Global Artifact Gallery Don't Just Publish Once — Iterate And Improve Making It Easy for Users to Host on Their Own Sites Let's Build It A self-reinforcing growth cycle where normal product usage attracts new users. Table splitting each loan payment into principal and interest over the loan's life. Claude's feature for generating and publishing interactive mini-apps from chat. Cloudflare's globally distributed key-value store, readable from Workers. A serverless function that runs at Cloudflare's global edge, close to every user. CSP directive controlling which domains may embed a page in an iframe. HTML element that displays one webpage inside another — how embeds work. Search volume, difficulty, and related queries for what people type into search engines. Visitors from unpaid search results — it compounds without ad spend. Dear readers, let me pitch you my vision. I hope a few curious minds from Anthropic are reading this. I'm talking about building the modern day Michelin Guide. The modern Guinness Book of World Records. The single biggest programmatic SEO play in internet history. If you aren't familiar with the stories, the Michelin Guide wasn't born out of a love for fine dining; it was created by a tire company to get people driving more and buying more tires. The Guinness Book of World Records was created by a brewer to settle pub trivia arguments and keep people in bars longer and drinking more beer. Anthropic has a similar opportunity. They could be leveraging their own tech to drive hundreds of millions of monthly organic visitors straight to their domain, converting many of them to Claude users. This is the kind of thing that gets written about in history books. That people will still talk about 1,000 years from now. The Play: The Ultimate Global Artifact Gallery Think about Claude's core user base: builders, automators, and creators. With the launch of Artifacts, Claude shifted from a standard chatbot to a c","passages":["The single biggest programmatic SEO play in internet history.","If you aren't familiar with the stories, the Michelin Guide wasn't born out of a love for fine dining; it was created by a tire company to get people driving more and buying more tires.","The Guinness Book of World Records was created by a brewer to settle pub trivia arguments and keep people in bars longer and drinking more beer.","They could be leveraging their own tech to drive hundreds of millions of monthly organic visitors straight to their domain, converting many of them to Claude users.","This is the kind of thing that gets written about in history books.","The Play: The Ultimate Global Artifact Gallery Think about Claude's core user base: builders, automators, and creators.","With the launch of Artifacts, Claude shifted from a standard chatbot to a collaborative workspace.","You tell Claude what you want to build, and you watch it render in real time."],"updated":"2026-07-19T00:00:00.000Z","date":"2026-06-07","markdown":"https://patrickstox.com/programmatic-seo/anthropic-programmatic-seo/index.md","aiGenerated":true,"popular":0,"url":"https://patrickstox.com/programmatic-seo/anthropic-programmatic-seo/","toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"newsletter","contentType":"newsletter","title":"Issue #1: Why I'm building this in public","desc":"A quick hello, what this newsletter is, and a look under the hood at how the site itself is put together.","snippetText":"What you signed up for Roughly once a week, I'll send a short note covering one of three things: New content — when I publish a guide, study, or experiment, you'll get the link first.","href":"/content/newsletter/welcome/","meta":"Newsletter","text":"meta build-notes What you signed up for Under the hood One small ask Hey — thanks for subscribing. I'll keep this first one short. What you signed up for Roughly once a week, I'll send a short note covering one of three things: New content — when I publish a guide, study, or experiment, you'll get the link first. Build notes — I'm putting this whole site together in the open, and some of the more interesting problems and mistakes are worth writing up. Technical SEO — occasional deeper dives once the cadence settles in. No daily firehose. If an issue isn't worth your inbox, I won't send it. Under the hood This site is statically built and runs on the edge, with a thin layer of dynamic bits forms, the things you're reading right now handled separately. The fun part is that the newsletter archive is the email — the page you're reading was rendered from the exact same source that hits your inbox. If that sounds like your kind of nerdery, you're in the right place. You can always browse everything I've published /content/ or read more about me /about/ . One small ask If a future issue is useful, forwarding it to one person who'd like it is the single best thing you can do to help. That's it. See you in the next one. — Patrick","passages":["What you signed up for Roughly once a week, I'll send a short note covering one of three things: New content — when I publish a guide, study, or experiment, you'll get the link first.","Build notes — I'm putting this whole site together in the open, and some of the more interesting problems and mistakes are worth writing up.","Technical SEO — occasional deeper dives once the cadence settles in.","Under the hood This site is statically built and runs on the edge, with a thin layer of dynamic bits forms, the things you're reading right now handled separately.","The fun part is that the newsletter archive is the email — the page you're reading was rendered from the exact same source that hits your inbox.","If that sounds like your kind of nerdery, you're in the right place.","You can always browse everything I've published /content/ or read more about me /about/ .","One small ask If a future issue is useful, forwarding it to one person who'd like it is the single best thing you can do to help."],"updated":"2026-06-11T00:00:00.000Z","aliases":[],"popular":0,"url":"https://patrickstox.com/content/newsletter/welcome/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"ChatGPT Has 12% of Google's Search Volume but Google Sends 190x More Traffic","desc":"","snippetText":"","href":"https://ahrefs.com/blog/chatgpt-has-12-percent-of-googles-search-volume/","meta":"Data Studies · Ahrefs · 2026","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/chatgpt-has-12-percent-of-googles-search-volume/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Anonymized Queries Make Up Nearly Half of Google Search Console Traffic","desc":"","snippetText":"","href":"https://ahrefs.com/blog/gsc-anonymized-queries/","meta":"Data Studies · Ahrefs · 2026","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/gsc-anonymized-queries/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"8.64% of AI Overviews Appear Outside Position #1","desc":"","snippetText":"","href":"https://ahrefs.com/blog/ai-overviews-positions/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/ai-overviews-positions/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Does Being Mentioned on Highly Linked Pages Influence AI Mentions?","desc":"","snippetText":"","href":"https://ahrefs.com/blog/does-being-mentioned-on-highly-linked-pages-influence-ai-mentions/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/does-being-mentioned-on-highly-linked-pages-influence-ai-mentions/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Google Seems More Biased Towards Big Brands Than ChatGPT and Perplexity","desc":"","snippetText":"","href":"https://ahrefs.com/blog/branded-web-mentions-visibility-ai-search/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/branded-web-mentions-visibility-ai-search/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Does Being Mentioned on High Traffic Pages Influence AI Mentions?","desc":"","snippetText":"","href":"https://ahrefs.com/blog/does-being-mentioned-on-high-traffic-pages-influence-ai-mentions/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/does-being-mentioned-on-high-traffic-pages-influence-ai-mentions/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Domain-Level Link Metrics May Not Be Good Predictors of AI Search Mentions","desc":"","snippetText":"","href":"https://ahrefs.com/blog/domain-link-metrics-not-good-mention-predictors/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/domain-link-metrics-not-good-mention-predictors/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Websites With More Organic Search Traffic Get Mentioned More in AI Search","desc":"","snippetText":"","href":"https://ahrefs.com/blog/websites-with-more-traffic-have-more-mentions/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/websites-with-more-traffic-have-more-mentions/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"AI Assistant Bias Revealed: Who Gets Favored & Who Gets Shunned","desc":"","snippetText":"","href":"https://ahrefs.com/blog/ai-assistants-bias-winners-losers/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/ai-assistants-bias-winners-losers/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Meet the New Web Crawlers: AI Bots Are Closing in on Search Engine Bots","desc":"","snippetText":"","href":"https://ahrefs.com/blog/search-engine-ai-seo-bot-crawling/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/search-engine-ai-seo-bot-crawling/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Does AI Search Traffic Convert Better? For Ahrefs, 0.5% of Visitors Drove 12.1% of Signups","desc":"","snippetText":"","href":"https://ahrefs.com/blog/ai-search-traffic-conversions-ahrefs/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/ai-search-traffic-conversions-ahrefs/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"80% of Our AI Search Traffic Goes to Our Homepage, Product Pages, and Free Tools","desc":"","snippetText":"","href":"https://ahrefs.com/blog/ai-search-traffic-by-page-type-ahrefs/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/ai-search-traffic-by-page-type-ahrefs/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"86% of Top Mentioned Sources Are Not Shared Across ChatGPT, Perplexity, and AI Overviews","desc":"","snippetText":"","href":"https://ahrefs.com/blog/top-mentioned-sources-are-not-shared-across-ai-assistants/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/top-mentioned-sources-are-not-shared-across-ai-assistants/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"The 10 Most Mentioned Domains Across 78.6M Searches","desc":"","snippetText":"","href":"https://ahrefs.com/blog/top-10-most-cited-domains-ai-assistants/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/top-10-most-cited-domains-ai-assistants/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"AI Assistants Are Breaking Web Analytics and Hurting Their Future","desc":"","snippetText":"","href":"https://ahrefs.com/blog/generative-engines-are-breaking-web-analytics/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/generative-engines-are-breaking-web-analytics/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"The SEO Bots That ~140 Million Websites Block the Most","desc":"","snippetText":"","href":"https://ahrefs.com/blog/seo-bot-block-rates/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/seo-bot-block-rates/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"The AI Bots That ~140 Million Websites Block the Most","desc":"","snippetText":"","href":"https://ahrefs.com/blog/ai-bot-block-rates/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/ai-bot-block-rates/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Insights From 55.8M AI Overviews Across 590M Searches","desc":"","snippetText":"","href":"https://ahrefs.com/blog/insights-from-56-million-ai-overviews/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/insights-from-56-million-ai-overviews/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"How Long Does It Take to Rank in Google?","desc":"","snippetText":"","href":"https://ahrefs.com/blog/how-long-does-it-take-to-rank-in-google-and-how-old-are-top-ranking-pages/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/how-long-does-it-take-to-rank-in-google-and-how-old-are-top-ranking-pages/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Google Says Links Matter Less — We Looked at 1,000,000 SERPs","desc":"","snippetText":"","href":"https://ahrefs.com/blog/links-matter-less-but-still-matter/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/links-matter-less-but-still-matter/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"The Beginner's Guide to Technical SEO","desc":"","snippetText":"","href":"https://ahrefs.com/blog/technical-seo/","meta":"Educational · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/technical-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Enterprise SEO Strategies For Maximum Growth","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-seo/","meta":"Educational · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"11 Types of Redirects & Their SEO Impact","desc":"","snippetText":"","href":"https://ahrefs.com/blog/redirects-for-seo/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/redirects-for-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Duplicate, Google Chose Different Canonical Than User","desc":"","snippetText":"","href":"https://ahrefs.com/blog/duplicate-google-chose-different-canonical-than-user/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/duplicate-google-chose-different-canonical-than-user/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What \"Crawled - Currently Not Indexed\" Means","desc":"","snippetText":"","href":"https://ahrefs.com/blog/crawled-currently-not-indexed/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/crawled-currently-not-indexed/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"The Realities of In-House SEO","desc":"","snippetText":"","href":"https://ahrefs.com/blog/in-house-seo/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/in-house-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"The Role of SEO in Mergers and Acquisitions","desc":"","snippetText":"","href":"https://ahrefs.com/blog/seo-for-mergers-acquisitions/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/seo-for-mergers-acquisitions/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What is Quality Content?","desc":"","snippetText":"","href":"https://searchengineland.com/what-is-quality-content-251071","meta":"Educational · Search Engine Land · 2016","text":"Search Engine Land Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://searchengineland.com/what-is-quality-content-251071","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"The Myth of the Duplicate Content Penalty","desc":"","snippetText":"","href":"https://searchengineland.com/myth-duplicate-content-penalty-259657","meta":"Educational · Search Engine Land · 2016","text":"Search Engine Land Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://searchengineland.com/myth-duplicate-content-penalty-259657","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"GEO? AEO? LLMO? What's With All This AI Stuff?","desc":"","snippetText":"","href":"https://speakerdeck.com/patrickstox/geo-aeo-llmo-whats-with-all-this-ai-stuff-patrick-stox-ahrefs-evolve-2025","meta":"Speaking · Ahrefs Evolve · 2025","text":"Ahrefs Evolve SpeakerDeck","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://speakerdeck.com/patrickstox/geo-aeo-llmo-whats-with-all-this-ai-stuff-patrick-stox-ahrefs-evolve-2025","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Hreflang Study and Interesting Issues","desc":"","snippetText":"","href":"https://speakerdeck.com/patrickstox/hreflang-study-and-interesting-issues-brighton-seo-2023-patrick-stox","meta":"Speaking · BrightonSEO · 2023","text":"BrightonSEO SpeakerDeck Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://speakerdeck.com/patrickstox/hreflang-study-and-interesting-issues-brighton-seo-2023-patrick-stox","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"What I Learned From Auditing Over 1,000,000 Websites","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/what-i-learned-from-auditing-over-1000000-websites-serp-conf-2024-patrick-stox/267330856","meta":"Speaking · SERP Conf. · 2024","text":"SERP Conf. SlideShare Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/what-i-learned-from-auditing-over-1000000-websites-serp-conf-2024-patrick-stox/267330856","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Canonicalization for SEO","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/canonicalization-for-seo-brightonseo-april-2023-patrick-stox/257485355","meta":"Speaking · BrightonSEO · 2023","text":"BrightonSEO SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/canonicalization-for-seo-brightonseo-april-2023-patrick-stox/257485355","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"How Search Works","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/how-search-works-256157502/256157502","meta":"Speaking · Advanced Search Summit (DMO) · 2022","text":"Advanced Search Summit (DMO) SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/how-search-works-256157502/256157502","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Machine Learning Use Cases for Technical SEO Automation","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/machine-learning-use-cases-for-technical-seo-automation-brighton-seo-patrick-stox-ahrefs/253376947","meta":"Speaking · BrightonSEO · 2022","text":"BrightonSEO SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/machine-learning-use-cases-for-technical-seo-automation-brighton-seo-patrick-stox-ahrefs/253376947","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"What's Next for Page Experience","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/whats-next-for-page-experience-smx-next-2021-patrick-stox/250807229","meta":"Speaking · SMX Next · 2021","text":"SMX Next SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/whats-next-for-page-experience-smx-next-2021-patrick-stox/250807229","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Google's Search Signals for Page Experience","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/googles-search-signals-for-page-experience-smx-advanced-2021-patrick-stox/249385243","meta":"Speaking · SMX Advanced · 2021","text":"SMX Advanced SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/googles-search-signals-for-page-experience-smx-advanced-2021-patrick-stox/249385243","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Most Valuable SEO Presentation","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/most-valuable-seo-presentation-advanced-search-summit-dmo-advanced-2021-patrick-stox/249257719","meta":"Speaking · Advanced Search Summit (DMO) · 2021","text":"Advanced Search Summit (DMO) SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/most-valuable-seo-presentation-advanced-search-summit-dmo-advanced-2021-patrick-stox/249257719","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Local Link Building","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/local-link-building-pubcon-local-2021-patrick-stox/241562706","meta":"Speaking · Pubcon Local · 2021","text":"Pubcon Local SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/local-link-building-pubcon-local-2021-patrick-stox/241562706","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"How to Find Other Affiliates' Most Successful Content","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/how-to-find-other-affiliates-most-successful-content-tpas-patrick-stox-ahrefs/238785671","meta":"Speaking · TPAS · 2020","text":"TPAS SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/how-to-find-other-affiliates-most-successful-content-tpas-patrick-stox-ahrefs/238785671","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Nofollow, UGC & Sponsored","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/nofollow-ugc-sponsored-seofromhome-patrick-stox-ahrefs/238785583","meta":"Speaking · SEOFromHome · 2020","text":"SEOFromHome SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/nofollow-ugc-sponsored-seofromhome-patrick-stox-ahrefs/238785583","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Data Visualization for SEO","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/data-visualization-for-seo/238668020","meta":"Speaking · (unlabelled) · 2020","text":"(unlabelled) SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/data-visualization-for-seo/238668020","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Nofollow, UGC and Sponsored Attributes","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/nofollow-ugc-and-sponsored-attributes/228695018","meta":"Speaking · (unlabelled) · 2019","text":"(unlabelled) SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/nofollow-ugc-and-sponsored-attributes/228695018","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"World's Top SEO Expert Busts AI Search Myths (w/ Tim Soulo)","desc":"","snippetText":"","href":"https://open.spotify.com/episode/57y7jxpwqSQ2XbpAGSMhEl","meta":"Podcasts & Videos · Ahrefs Podcast · 2025","text":"Ahrefs Podcast Podcast / Audio Apple Podcasts","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://open.spotify.com/episode/57y7jxpwqSQ2XbpAGSMhEl","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"#539 — Cutting-Edge AEO Strategies","desc":"","snippetText":"","href":"https://www.marketingspeak.com/cutting-edge-aeo-strategies-with-patrick-stox/","meta":"Podcasts & Videos · Marketing Speak · 2026","text":"Marketing Speak Podcast / Audio Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.marketingspeak.com/cutting-edge-aeo-strategies-with-patrick-stox/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"#109 — Fine-Tune Your Technical SEO, Page Speed & Security","desc":"","snippetText":"","href":"https://www.marketingspeak.com/fine-tune-technical-seo-patrick-stox/","meta":"Podcasts & Videos · Marketing Speak · 2017","text":"Marketing Speak Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.marketingspeak.com/fine-tune-technical-seo-patrick-stox/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"#65 — Ranking Technical SEO Priorities","desc":"","snippetText":"","href":"https://ipullrank.com/rankable-ep-65-ranking-technical-seo-priorities","meta":"Podcasts & Videos · Rankable (iPullRank) · 2022","text":"Rankable (iPullRank) Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ipullrank.com/rankable-ep-65-ranking-technical-seo-priorities","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"#112 — The Future of SEO in 2026","desc":"","snippetText":"","href":"https://page2pod.com/episodes/patrick-stox-112","meta":"Podcasts & Videos · Page 2 Podcast · 2026","text":"Page 2 Podcast Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://page2pod.com/episodes/patrick-stox-112","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Prioritizing SEO Efforts (3-part series)","desc":"","snippetText":"","href":"https://voicesofsearch.com/episode/prioritizing-seo-efforts-patrick-stox-ahrefs/","meta":"Podcasts & Videos · Voices of Search · 2021","text":"Voices of Search Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://voicesofsearch.com/episode/prioritizing-seo-efforts-patrick-stox-ahrefs/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Building a High-Impact Enterprise SEO Team","desc":"","snippetText":"","href":"https://open.spotify.com/episode/3J8CRshX0znQbFXUoBQP12","meta":"Podcasts & Videos · Voices of Search · 2026","text":"Voices of Search Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://open.spotify.com/episode/3J8CRshX0znQbFXUoBQP12","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"E1022 — Biggest SEO Myths in 2026","desc":"","snippetText":"","href":"https://podcasts.apple.com/us/podcast/patrick-stox-exposes-the-biggest-seo-myths-in-2026/id1700357503?i=1000763072877","meta":"Podcasts & Videos · The Edward Show · 2026","text":"The Edward Show Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://podcasts.apple.com/us/podcast/patrick-stox-exposes-the-biggest-seo-myths-in-2026/id1700357503?i=1000763072877","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Patrick Stox hub — eps 515 & 710","desc":"","snippetText":"","href":"https://edgeofthewebradio.com/marketing-concepts/patrick-stox/","meta":"Podcasts & Videos · EDGE of the Web · 2023-2024","text":"EDGE of the Web Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://edgeofthewebradio.com/marketing-concepts/patrick-stox/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"EDGE at SMX West","desc":"","snippetText":"","href":"https://edgeofthewebradio.com/interview-transcripts/edge-at-smx-west-with-patrick-stox/","meta":"Podcasts & Videos · EDGE of the Web · 2020","text":"EDGE of the Web Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://edgeofthewebradio.com/interview-transcripts/edge-at-smx-west-with-patrick-stox/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Debunking SEO Myths","desc":"","snippetText":"","href":"https://www.theedigital.com/blog/debunking-seo-myths-podcast-patrick-stox","meta":"Podcasts & Videos · TheeDigital Growth Cast · 2024","text":"TheeDigital Growth Cast Podcast / Audio Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.theedigital.com/blog/debunking-seo-myths-podcast-patrick-stox","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"EP 17","desc":"","snippetText":"","href":"https://www.impressivedigital.com/seo_success_stories/ep-17-seo-success-stories-with-patrick-stox-from-ahrefs/","meta":"Podcasts & Videos · Impressive — SEO Success Stories · 2022","text":"Impressive — SEO Success Stories Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.impressivedigital.com/seo_success_stories/ep-17-seo-success-stories-with-patrick-stox-from-ahrefs/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"#85","desc":"","snippetText":"","href":"https://searchlabdigital.com/blog/suds-and-search-85-patrick-stox-technical-seo-at-ahrefs/","meta":"Podcasts & Videos · Suds & Search · 2021","text":"Suds & Search Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://searchlabdigital.com/blog/suds-and-search-85-patrick-stox-technical-seo-at-ahrefs/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"SEO Auditing Large Websites","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=Yfsi8Jp2yFI","meta":"Podcasts & Videos · Crawling Mondays (Aleyda) · 2023","text":"Crawling Mondays (Aleyda) Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=Yfsi8Jp2yFI","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"video","contentType":"podcasts-videos","title":"Ahrefs Evolve talk (YouTube)","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=vNFMdcw4uwo","meta":"Podcasts & Videos · Ahrefs Evolve · 2024","text":"Ahrefs Evolve Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=vNFMdcw4uwo","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"SEO Techniques for eCommerce Sellers","desc":"","snippetText":"","href":"https://lunchwithnorm.com/seo-techniques-ecommerce-sellers/","meta":"Podcasts & Videos · Lunch with Norm · 2021","text":"Lunch with Norm Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://lunchwithnorm.com/seo-techniques-ecommerce-sellers/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"How to Rank Your Content Faster","desc":"","snippetText":"","href":"https://blog.frac.tl/rank-your-content-faster","meta":"Podcasts & Videos · Cashing in on Content Marketing · 2021","text":"Cashing in on Content Marketing Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://blog.frac.tl/rank-your-content-faster","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"How to Find Other Affiliates' Most Successful Content","desc":"","snippetText":"","href":"https://blog.travelpayouts.com/en/how-to-find-other-affiliates-most-successful-content/","meta":"Podcasts & Videos · Travel Payouts Affiliate Summit · 2021","text":"Travel Payouts Affiliate Summit Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://blog.travelpayouts.com/en/how-to-find-other-affiliates-most-successful-content/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Scrapers, Backlinks, Orphan Pages, and Google Juice — 10 SEO Things Web Owners Need to Know","desc":"","snippetText":"","href":"https://www.techradar.com/news/scrapers-backlinks-orphan-pages-and-google-juice-10-seo-things-web-owners-need-to-know","meta":"Podcasts & Videos · TechRadar · 2021","text":"TechRadar Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.techradar.com/news/scrapers-backlinks-orphan-pages-and-google-juice-10-seo-things-web-owners-need-to-know","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Live Webinar: Image SEO","desc":"","snippetText":"","href":"https://app.livestorm.co/visme/live-webinar-image-seo","meta":"Podcasts & Videos · Visme Webinar · 2021","text":"Visme Webinar Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://app.livestorm.co/visme/live-webinar-image-seo","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Ask Me Anything","desc":"","snippetText":"","href":"https://www.reddit.com/r/TechSEO/comments/lkq68d/","meta":"Podcasts & Videos · Reddit AMA — r/TechSEO · 2021","text":"Reddit AMA — r/TechSEO Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.reddit.com/r/TechSEO/comments/lkq68d/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"You Can't Compare Backlink Counts in SEO Tools: Here's Why","desc":"","snippetText":"","href":"https://ahrefs.com/blog/link-index-comparison/","meta":"Data Studies · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/link-index-comparison/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Does Adding a Related Post Section Help Your Blog? We Tested It","desc":"","snippetText":"","href":"https://ahrefs.com/blog/related-posts-seo/","meta":"Data Studies · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/related-posts-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"We Studied Over 1 Million Domains to Find the Most Common Technical SEO Issues","desc":"","snippetText":"","href":"https://ahrefs.com/blog/site-audit-study/","meta":"Data Studies · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/site-audit-study/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Over 67% of Domains Using Hreflang Have Issues (Study of 374,756 Domains)","desc":"","snippetText":"","href":"https://ahrefs.com/blog/hreflang-study/","meta":"Data Studies · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/hreflang-study/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"The Story of Blocking 2 High-Ranking Pages With Robots.txt","desc":"","snippetText":"","href":"https://ahrefs.com/blog/blocked-robots-test/","meta":"Data Studies · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/blocked-robots-test/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"I Deleted the Content From Two Posts To See if They'd Still Rank. Here's What Happened","desc":"","snippetText":"","href":"https://ahrefs.com/blog/impact-removing-content/","meta":"Data Studies · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/impact-removing-content/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Is It OK to Remove 301 Redirects After a Year? We Tested It","desc":"","snippetText":"","href":"https://ahrefs.com/blog/are-pemanent-redirects-permanent/","meta":"Data Studies · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/are-pemanent-redirects-permanent/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Does Going Viral Help With SEO? Not Really","desc":"","snippetText":"","href":"https://ahrefs.com/blog/viral-seo/","meta":"Data Studies · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/viral-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Almost Half of GSC Clicks Go to Anonymous Queries — A Study by Ahrefs","desc":"","snippetText":"","href":"https://ahrefs.com/blog/gsc-hidden-terms-study/","meta":"Data Studies · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/gsc-hidden-terms-study/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"At Least 66.5% of Links to Sites in the Last 9 Years Are Dead (Ahrefs Study on Link Rot)","desc":"","snippetText":"","href":"https://ahrefs.com/blog/link-rot-study/","meta":"Data Studies · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/link-rot-study/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Core Web Vitals Data Study w/ CrUX & 5.2M Pages","desc":"","snippetText":"","href":"https://ahrefs.com/blog/core-web-vitals-study/","meta":"Data Studies · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/core-web-vitals-study/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Do Links Still Matter for Rankings? A Study by Ahrefs","desc":"","snippetText":"","href":"https://ahrefs.com/blog/impact-of-links/","meta":"Data Studies · Ahrefs · 2021","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/impact-of-links/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"I Thought Google Was Biased, But The Data Shows They're Not","desc":"","snippetText":"","href":"https://ahrefs.com/blog/is-google-biased/","meta":"Data Studies · Ahrefs · 2020","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/is-google-biased/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"The State of Nofollow, UGC, & Sponsored Link Attributes in 2020 [New Research]","desc":"","snippetText":"","href":"https://ahrefs.com/blog/nofollow-ugc-sponsored/","meta":"Data Studies · Ahrefs · 2020","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/nofollow-ugc-sponsored/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Google Thinks AI Mode Is Good for Users, but the Content Isn't Good Enough to Rank in Google","desc":"","snippetText":"","href":"https://ahrefs.com/blog/ai-mode-content-isnt-good-enough-to-rank-in-google/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/ai-mode-content-isnt-good-enough-to-rank-in-google/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Google Made It So You Can't Track Clicks From AI Mode (Partially Fixed)","desc":"","snippetText":"","href":"https://ahrefs.com/blog/google-ai-mode-is-here-but-you-cant-track-it-properly/","meta":"Data Studies · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/google-ai-mode-is-here-but-you-cant-track-it-properly/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Enterprise SEO Platform Buying Guide","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-seo-platform-buying-guide/","meta":"Educational · Ahrefs · 2025","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-seo-platform-buying-guide/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Enterprise SEO Challenges & Mistakes You Need To Overcome","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-seo-challenges/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-seo-challenges/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Unlocking Growth Through Enterprise SaaS SEO","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-saas-seo/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-saas-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"SEO OKRs: Driving Performance & Measuring Impact","desc":"","snippetText":"","href":"https://ahrefs.com/blog/seo-okrs/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/seo-okrs/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Enterprise Sites Are Where Technical SEO Shines","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-technical-seo/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-technical-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Enterprise Link Building & The Power Of Links","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-link-building/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-link-building/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Google Documents Leaked & SEOs Are Making Some Wild Assumptions","desc":"","snippetText":"","href":"https://ahrefs.com/blog/google-documents-leaked-seos-are-making-some-wild-assumptions/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/google-documents-leaked-seos-are-making-some-wild-assumptions/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Enterprise Content Marketing Strategy To Drive Growth","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-content-marketing/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-content-marketing/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"Yep & Ahrefs Support IndexNow","desc":"","snippetText":"","href":"https://ahrefs.com/blog/indexnow-yep-ahrefs/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/indexnow-yep-ahrefs/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"How to Visualize Ahrefs Data with ChatGPT","desc":"","snippetText":"","href":"https://ahrefs.com/blog/ahrefs-chatgpt-visualizations/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/ahrefs-chatgpt-visualizations/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Enterprise SEO Storytelling: Metrics, Reports, & Dashboards","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-seo-metrics-reporting/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-seo-metrics-reporting/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Bulk PageSpeed Insights Website Speed Test","desc":"","snippetText":"","href":"https://ahrefs.com/blog/bulk-pagespeed-insights-website-speed-test/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/bulk-pagespeed-insights-website-speed-test/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Enterprise SEO ROI Calculator","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-seo-roi-calculator/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-seo-roi-calculator/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What is an Enterprise SEO Audit & How To Do One","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-seo-audit/","meta":"Educational · Ahrefs · 2024","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-seo-audit/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"The Evolution Of Google PageRank","desc":"","snippetText":"","href":"https://ahrefs.com/blog/google-pagerank/","meta":"Educational · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/google-pagerank/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Free SEO Audit Template (With Video Walkthrough)","desc":"","snippetText":"","href":"https://ahrefs.com/blog/seo-audit-template/","meta":"Educational · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/seo-audit-template/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"JavaScript SEO Issues & Best Practices","desc":"","snippetText":"","href":"https://ahrefs.com/blog/javascript-seo/","meta":"Educational · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/javascript-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"article","contentType":"educational","title":"SEO Community Spotlight: Raleigh","desc":"","snippetText":"","href":"https://ahrefs.com/blog/raleigh-seo/","meta":"Educational · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/raleigh-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Google PageSpeed Insights For SEOs & Developers","desc":"","snippetText":"","href":"https://ahrefs.com/blog/pagespeed-insights/","meta":"Educational · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/pagespeed-insights/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Improving First Input Delay (FID): Tips For Faster Interactions","desc":"","snippetText":"","href":"https://ahrefs.com/blog/first-input-delay-fid/","meta":"Educational · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/first-input-delay-fid/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What Is Largest Contentful Paint (LCP) & How To Improve It","desc":"","snippetText":"","href":"https://ahrefs.com/blog/largest-contentful-paint-lcp/","meta":"Educational · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/largest-contentful-paint-lcp/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What Is Cumulative Layout Shift (CLS) & How To Improve It","desc":"","snippetText":"","href":"https://ahrefs.com/blog/cumulative-layout-shift-cls/","meta":"Educational · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/cumulative-layout-shift-cls/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What is a Soft 404 and What Causes Them?","desc":"","snippetText":"","href":"https://ahrefs.com/blog/what-is-soft-404/","meta":"Educational · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/what-is-soft-404/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Comparing Enterprise SEO Tools? Ahrefs Is The Best","desc":"","snippetText":"","href":"https://ahrefs.com/blog/enterprise-seo-tools/","meta":"Educational · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/enterprise-seo-tools/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"How to Perform a Competitor Link Analysis in 3 Steps","desc":"","snippetText":"","href":"https://ahrefs.com/blog/competitor-backlink-analysis/","meta":"Educational · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/competitor-backlink-analysis/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"URL Parameters: A Complete Guide for SEOs","desc":"","snippetText":"","href":"https://ahrefs.com/blog/url-parameters/","meta":"Educational · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/url-parameters/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"study","contentType":"data-studies","title":"Google Uses ~40 Canonicalization Signals","desc":"","snippetText":"","href":"https://ahrefs.com/blog/canonicalization/","meta":"Data Studies · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/canonicalization/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"How to Create Great Content for Search","desc":"","snippetText":"","href":"https://ahrefs.com/blog/how-to-write-great-content/","meta":"Educational · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/how-to-write-great-content/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"How Should You Handle Out-of-Stock Products? It Depends","desc":"","snippetText":"","href":"https://ahrefs.com/blog/ecommerce-out-of-stock-products/","meta":"Educational · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/ecommerce-out-of-stock-products/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What Are Core Web Vitals (CWVs) & How To Improve Them","desc":"","snippetText":"","href":"https://ahrefs.com/blog/core-web-vitals/","meta":"Educational · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/core-web-vitals/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"HTTP Status Codes & Their SEO Impact","desc":"","snippetText":"","href":"https://ahrefs.com/blog/http-status-codes/","meta":"Educational · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/http-status-codes/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What Is Googlebot & How Does It Work?","desc":"","snippetText":"","href":"https://ahrefs.com/blog/googlebot/","meta":"Educational · Ahrefs · 2022","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/googlebot/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"9 Easy Local Link Building Tactics","desc":"","snippetText":"","href":"https://ahrefs.com/blog/local-link-building/","meta":"Educational · Ahrefs · 2021","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/local-link-building/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"A Website Migration Takes More Than A Checklist To Be Successful","desc":"","snippetText":"","href":"https://ahrefs.com/blog/website-migration/","meta":"Educational · Ahrefs · 2021","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/website-migration/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"When Should You Worry About Crawl Budget?","desc":"","snippetText":"","href":"https://ahrefs.com/blog/crawl-budget/","meta":"Educational · Ahrefs · 2021","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/crawl-budget/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"How Search Engines Work","desc":"","snippetText":"","href":"https://ahrefs.com/blog/how-do-search-engines-work/","meta":"Educational · Ahrefs · 2021","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/how-do-search-engines-work/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Subdomain vs Subdirectory: Subdirectories Are Not Better Than Subdomains For SEO","desc":"","snippetText":"","href":"https://ahrefs.com/blog/subdomain-vs-subfolder/","meta":"Educational · Ahrefs · 2021","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/subdomain-vs-subfolder/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"\"Indexed, though blocked by robots.txt\" Can Be More Than A Robots.txt Block","desc":"","snippetText":"","href":"https://ahrefs.com/blog/indexed-though-blocked-by-robots-txt/","meta":"Educational · Ahrefs · 2021","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/indexed-though-blocked-by-robots-txt/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What Is A Trailing Slash & When Does It Matter","desc":"","snippetText":"","href":"https://ahrefs.com/blog/trailing-slash/","meta":"Educational · Ahrefs · 2021","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/trailing-slash/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"How Ahrefs Counts Links and Domains","desc":"","snippetText":"","href":"https://ahrefs.com/blog/how-ahrefs-counts-links/","meta":"Educational · Ahrefs · 2021","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/how-ahrefs-counts-links/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Mobile-First Indexing Goes Mobile-Only","desc":"","snippetText":"","href":"https://ahrefs.com/blog/mobile-first-indexing/","meta":"Educational · Ahrefs · 2020","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/mobile-first-indexing/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"SEO Forecasting: The Art Of Getting Buy-In","desc":"","snippetText":"","href":"https://ahrefs.com/blog/seo-forecasting/","meta":"Educational · Ahrefs · 2020","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/seo-forecasting/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"How To Optimize PDFs For SEO, But You Should Make Pages Instead","desc":"","snippetText":"","href":"https://ahrefs.com/blog/seo-for-pdfs/","meta":"Educational · Ahrefs · 2020","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/seo-for-pdfs/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"What Are Sitelinks, Their Benefits, & How To Influence Them","desc":"","snippetText":"","href":"https://ahrefs.com/blog/sitelinks/","meta":"Educational · Ahrefs · 2020","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/sitelinks/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"How to Remove URLs From Google Search (5 Methods)","desc":"","snippetText":"","href":"https://ahrefs.com/blog/remove-urls-from-google/","meta":"Educational · Ahrefs · 2020","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/remove-urls-from-google/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"SEOs Are Breaking Pagination After Google Changed Rel=Prev/Next","desc":"","snippetText":"","href":"https://ahrefs.com/blog/rel-prev-next-pagination/","meta":"Educational · Ahrefs · 2020","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/rel-prev-next-pagination/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"How to Improve Page Speed from Start to Finish (Advanced Guide)","desc":"","snippetText":"","href":"https://ahrefs.com/blog/advanced-pagespeed-guide/","meta":"Educational · Ahrefs · 2020","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/advanced-pagespeed-guide/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"guide","contentType":"educational","title":"Hreflang: The Easy Guide for Beginners","desc":"","snippetText":"","href":"https://ahrefs.com/blog/hreflang-tags/","meta":"Educational · Ahrefs · 2019","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/blog/hreflang-tags/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"SEO for Paginations: How to Optimize Paginated URLs for Search","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=ToLImJC-Wgo","meta":"Podcasts & Videos · Crawling Mondays · 2021","text":"Crawling Mondays Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=ToLImJC-Wgo","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Google's Search Signals for Page Experience","desc":"","snippetText":"","href":"https://www.slideshare.net/ahrefs/googles-search-signals-for-page-experience-smx-advanced-2021-patrick-stox","meta":"Speaking · Adworld · 2021","text":"Adworld SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/ahrefs/googles-search-signals-for-page-experience-smx-advanced-2021-patrick-stox","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"SEO Show and Tell","desc":"","snippetText":"","href":"https://www.meetup.com/triangleseomeetup/events/314694948/","meta":"Speaking · Triangle SEO Meetup · 2026","text":"Triangle SEO Meetup Event / Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.meetup.com/triangleseomeetup/events/314694948/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"SEO Marketing Strategies — Inside a Digital Agency","desc":"","snippetText":"","href":"https://smallbizclub.com/sales-and-marketing/sales-online-marketing/seo-marketing-strategies-inside-a-digital-agency-with-patrick-stox/","meta":"Podcasts & Videos · The Growing Entrepreneur · 2015","text":"The Growing Entrepreneur Podcast / Audio Archive","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://smallbizclub.com/sales-and-marketing/sales-online-marketing/seo-marketing-strategies-inside-a-digital-agency-with-patrick-stox/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"A Crash Course into SEO and What Moves the Needle","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/a-crash-course-into-seo-and-what-moves-the-needle-with-scalable-processes/252079107","meta":"Speaking · Raleigh SEO Meetup · 2021","text":"Raleigh SEO Meetup SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/a-crash-course-into-seo-and-what-moves-the-needle-with-scalable-processes/252079107","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Where to Focus Your SEO Efforts to Have the Most Impact","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/where-to-focus-your-seo-efforts-to-have-the-most-impact-digital-summit-atlanta-2021-patrick-stox/249970466","meta":"Speaking · Digital Summit Atlanta · 2021","text":"Digital Summit Atlanta SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/where-to-focus-your-seo-efforts-to-have-the-most-impact-digital-summit-atlanta-2021-patrick-stox/249970466","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Most Valuable SEO Presentation (Raleigh SEO)","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/raleigh-seomostvaluableseopresentationpatrickstox/249824184","meta":"Speaking · Raleigh SEO Meetup · 2021","text":"Raleigh SEO Meetup SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/raleigh-seomostvaluableseopresentationpatrickstox/249824184","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Page Experience Update","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/page-experience-update-tmc-june-2021-patrick-stox/249464130","meta":"Speaking · TMC · 2021","text":"TMC SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/page-experience-update-tmc-june-2021-patrick-stox/249464130","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Nofollow, UGC & Sponsored","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/nofollow-ugc-sponsored-smx-west-2020-patrick-stox/238954190","meta":"Speaking · SMX West · 2020","text":"SMX West SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/nofollow-ugc-sponsored-smx-west-2020-patrick-stox/238954190","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Nofollow, UGC & Sponsored","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/nofollow-ugc-sponsored-seo-from-home-patrick-stox-ahrefs/238954191","meta":"Speaking · SEO From Home · 2020","text":"SEO From Home SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/nofollow-ugc-sponsored-seo-from-home-patrick-stox-ahrefs/238954191","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"How to Find Other Affiliates' Most Successful Content","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/how-to-find-other-affiliates-most-successful-content-patrick-stox-238954187/238954187","meta":"Speaking · (unlabelled) · 2020","text":"(unlabelled) SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/how-to-find-other-affiliates-most-successful-content-patrick-stox-238954187/238954187","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Data Visualization for SEO","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/data-visualization-for-seo-238954185/238954185","meta":"Speaking · (unlabelled) · 2020","text":"(unlabelled) SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/data-visualization-for-seo-238954185/238954185","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"JavaScript SEO","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/javascript-seo-ungagged-2019-patrick-stox/209670627","meta":"Speaking · UnGagged · 2019","text":"UnGagged SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/javascript-seo-ungagged-2019-patrick-stox/209670627","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"International SEO: The Weird Technical Parts","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/international-seo-the-weird-technical-parts-pubcon-vegas-2019-patrick-stox/179736814","meta":"Speaking · Pubcon Vegas · 2019","text":"Pubcon Vegas SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/international-seo-the-weird-technical-parts-pubcon-vegas-2019-patrick-stox/179736814","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"React.js and Search Engines","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/react-js-and-search-engines-patrick-stox-at-triangle-reactjs-meetup/165819121","meta":"Speaking · Triangle ReactJS Meetup · 2019","text":"Triangle ReactJS Meetup SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/react-js-and-search-engines-patrick-stox-at-triangle-reactjs-meetup/165819121","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Things Google Tries to Correct For You","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/things-google-tries-to-correct-for-you-smx-advanced-2019-insights-sessions-by-patrick-stox/150377140","meta":"Speaking · SMX Advanced · 2019","text":"SMX Advanced SlideShare Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/things-google-tries-to-correct-for-you-smx-advanced-2019-insights-sessions-by-patrick-stox/150377140","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"A Crash Course in Technical SEO","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/a-crash-course-in-technical-seo-from-patrick-stox-beer-seo-meetup-may-2019/150377022","meta":"Speaking · Beer & SEO Meetup · 2019","text":"Beer & SEO Meetup SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/a-crash-course-in-technical-seo-from-patrick-stox-beer-seo-meetup-may-2019/150377022","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Website Migrations","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/website-migrations-at-smx-munich-2019-patrick-stox/150376860","meta":"Speaking · SMX Munich · 2019","text":"SMX Munich SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/website-migrations-at-smx-munich-2019-patrick-stox/150376860","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"SEO & Web Performance Metrics","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/seo-web-performance-metrics-pubcon-fl-2019-patrick-stox/138070354","meta":"Speaking · Pubcon FL · 2019","text":"Pubcon FL SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/seo-web-performance-metrics-pubcon-fl-2019-patrick-stox/138070354","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Website Migrations","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/website-migrations-at-smx-west-2019-patrick-stox/130165194","meta":"Speaking · SMX West · 2019","text":"SMX West SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/website-migrations-at-smx-west-2019-patrick-stox/130165194","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Advanced Technical SEO: Schema & Structured Data, JavaScript","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/smx-advanced-2018-seo-for-javascript-frameworks-by-patrick-stox/115782974","meta":"Speaking · SMX Advanced · 2018","text":"SMX Advanced SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/smx-advanced-2018-seo-for-javascript-frameworks-by-patrick-stox/115782974","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Solving Complex SEO Problems When Standard Fixes Don't Apply","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/smx-advanced-2018-solving-complex-seo-problems-by-patrick-stox/115782959","meta":"Speaking · SMX Advanced · 2018","text":"SMX Advanced SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/smx-advanced-2018-solving-complex-seo-problems-by-patrick-stox/115782959","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Troubleshooting Technical SEO Problems","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/troubleshooting-technical-seo-problems-patrick-stox-raleigh-seo-meetup/94335811","meta":"Speaking · Raleigh SEO Meetup · 2018","text":"Raleigh SEO Meetup SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/troubleshooting-technical-seo-problems-patrick-stox-raleigh-seo-meetup/94335811","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"AMP for Enterprises","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/amp-for-enterprises-smx-west-patrick-stox/94335666","meta":"Speaking · SMX West · 2018","text":"SMX West SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/amp-for-enterprises-smx-west-patrick-stox/94335666","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Troubleshooting SEO for JS Frameworks","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/troubleshooting-seo-for-js-frameworks-patrick-stox-dtd-2018-88611575/88611575","meta":"Speaking · Digital Transformation Day · 2018","text":"Digital Transformation Day SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/troubleshooting-seo-for-js-frameworks-patrick-stox-dtd-2018-88611575/88611575","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Everything That Can Go Wrong Will Go Wrong","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/everything-that-can-go-wrong-will-go-wrong-tech-seo-boost-2017-patrick-stox/83263674","meta":"Speaking · TechSEO Boost · 2017","text":"TechSEO Boost SlideShare Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/everything-that-can-go-wrong-will-go-wrong-tech-seo-boost-2017-patrick-stox/83263674","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"You're Going to Screw Up International SEO","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/pubcon-vegas-2017-youre-going-to-screw-up-international-seo-patrick-stox/81633003","meta":"Speaking · Pubcon Vegas · 2017","text":"Pubcon Vegas SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/pubcon-vegas-2017-youre-going-to-screw-up-international-seo-patrick-stox/81633003","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Mobile-First Indexing","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/mobile-first-indexing-smx-advanced-2017-patrick-stox/76876765","meta":"Speaking · SMX Advanced · 2017","text":"SMX Advanced SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/mobile-first-indexing-smx-advanced-2017-patrick-stox/76876765","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Machine Learning for SEO","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/machine-learning-for-seo-smx-london-2017-patrick-stox/76487207","meta":"Speaking · SMX London · 2017","text":"SMX London SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/machine-learning-for-seo-smx-london-2017-patrick-stox/76487207","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"A Technical Look at Content","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/a-technical-look-at-content-pubcon-sfima-2017-patrick-stox/72572188","meta":"Speaking · Pubcon SFIMA · 2017","text":"Pubcon SFIMA SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/a-technical-look-at-content-pubcon-sfima-2017-patrick-stox/72572188","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Better Safe Than Sorry With HTTPS","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/better-safe-than-sorry-with-https-smx-east-2016-patrick-stox/72572171","meta":"Speaking · SMX East · 2016","text":"SMX East SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/better-safe-than-sorry-with-https-smx-east-2016-patrick-stox/72572171","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Google's Top 3 Ranking Factors: Content, Links & RankBrain","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/googles-top-3-ranking-factors-content-links-and-rankbrain-raleigh-seo-meetup-2016/72572151","meta":"Speaking · Raleigh SEO Meetup · 2016","text":"Raleigh SEO Meetup SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/googles-top-3-ranking-factors-content-links-and-rankbrain-raleigh-seo-meetup-2016/72572151","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Enterprise SEO Chaos","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/enterprise-seo-chaos-smx-advanced-2016/72572136","meta":"Speaking · SMX Advanced · 2016","text":"SMX Advanced SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/enterprise-seo-chaos-smx-advanced-2016/72572136","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Google Tag Manager Can Do What Now?","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/google-tag-manager-can-do-what/66425988","meta":"Speaking · WordCamp Raleigh · 2016","text":"WordCamp Raleigh SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/google-tag-manager-can-do-what/66425988","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"The Latest in Advanced Technical SEO","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/nlp-sitemap-smx-2016-patrick-stox-latest-in-advanced-technical-seo/59614468","meta":"Speaking · SMX West · 2016","text":"SMX West SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/nlp-sitemap-smx-2016-patrick-stox-latest-in-advanced-technical-seo/59614468","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Everyone Screws Up HTTPS","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/everyone-screws-up-https/54146242","meta":"Speaking · WordCamp Raleigh · 2015","text":"WordCamp Raleigh SlideShare","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/everyone-screws-up-https/54146242","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Local SEO For The Small Business Owner","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/local-seo-for-the-small-business-owner/54146252","meta":"Speaking · Raleigh SEO Meetup · 2015","text":"Raleigh SEO Meetup SlideShare Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/local-seo-for-the-small-business-owner/54146252","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"Link Reclamation Strategies For SEO","desc":"","snippetText":"","href":"https://www.slideshare.net/slideshow/link-reclamation-strategies/54146449","meta":"Speaking · DMFB · 2015","text":"DMFB SlideShare Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.slideshare.net/slideshow/link-reclamation-strategies/54146449","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Ep #33 — Feat. Patrick Stox","desc":"","snippetText":"","href":"https://page2podcast.fm/s2-ep33-patrick-stox/","meta":"Podcasts & Videos · Page 2 Podcast · 2019","text":"Page 2 Podcast Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://page2podcast.fm/s2-ep33-patrick-stox/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Vlog #80 — Heavy On Technical SEO with a Touch Of Humor","desc":"","snippetText":"","href":"https://www.seroundtable.com/vlog-080-29914.html","meta":"Podcasts & Videos · Search Engine Roundtable · 2020","text":"Search Engine Roundtable Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.seroundtable.com/vlog-080-29914.html","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Talks with SEOs #14","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=NRE1frWR76Y","meta":"Podcasts & Videos · Democratizing SEO Podcast · 2022","text":"Democratizing SEO Podcast Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=NRE1frWR76Y","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Content Audit Process with Patrick Stox","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=rHoPQT59KYY","meta":"Podcasts & Videos · Clearscope · 2023","text":"Clearscope Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=rHoPQT59KYY","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Patrick Stox Interview with Felipe Bazon","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=iJPRYcfvA00","meta":"Podcasts & Videos · Don't Panic It's Organic · 2023","text":"Don't Panic It's Organic Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=iJPRYcfvA00","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"TWIDM Podcast — Indexsy × Patrick Stox","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=IIpS79xc1VU","meta":"Podcasts & Videos · TWIDM / Indexsy · 2023","text":"TWIDM / Indexsy Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=IIpS79xc1VU","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Patrick × Kasra Podcast","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=5yBufmyTbmw","meta":"Podcasts & Videos · Kasra Podcast · 2024","text":"Kasra Podcast Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=5yBufmyTbmw","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Trends in Technical SEO (w/ Tyson Stockton)","desc":"","snippetText":"","href":"https://voicesofsearch.com/episode/trends-in-technical-seo/","meta":"Podcasts & Videos · Voices of Search · 2024","text":"Voices of Search Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://voicesofsearch.com/episode/trends-in-technical-seo/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"SEO Insights with Patrick Stox: Ahrefs, Technical SEO, and Industry Trends","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=tBzF3yIroYM","meta":"Podcasts & Videos · The Agency Growth Lab · 2024","text":"The Agency Growth Lab Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=tBzF3yIroYM","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"How to pick the right SEO tool for you","desc":"","snippetText":"","href":"https://www.wix.com/seo/learn/podcast/episodes/seo-tools","meta":"Podcasts & Videos · SERP's Up (Wix) · 2023","text":"SERP's Up (Wix) Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.wix.com/seo/learn/podcast/episodes/seo-tools","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"#727 Analytics panel with Patrick Stox, Anna Rowlinson, Gareth Beck & Natasha Burtenshaw-deVries","desc":"","snippetText":"","href":"https://podcasts.apple.com/gr/podcast/727-analytics-with-patrick-stox-anna-rowlinson-gareth/id168492891?i=1000662370544","meta":"Podcasts & Videos · The Internet Marketing Podcast · 2024","text":"The Internet Marketing Podcast Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://podcasts.apple.com/gr/podcast/727-analytics-with-patrick-stox-anna-rowlinson-gareth/id168492891?i=1000662370544","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Ahrefs SEO Secrets with Patrick Stox","desc":"","snippetText":"","href":"https://www.pagetraffic.com/podcast/ahrefs-seo-secrets-patrick-stox.php","meta":"Podcasts & Videos · PageTraffic · 2024","text":"PageTraffic Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.pagetraffic.com/podcast/ahrefs-seo-secrets-patrick-stox.php","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Google's Core Web Vitals for SMBs: A Conversation with Patrick Stox","desc":"","snippetText":"","href":"https://outsidecommunications.com/blog/googles-core-web-vitals-for-smbs-a-conversation-with-patrick-stox/","meta":"Podcasts & Videos · Outside Communications · 2021","text":"Outside Communications Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://outsidecommunications.com/blog/googles-core-web-vitals-for-smbs-a-conversation-with-patrick-stox/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"GEO? AEO? LLMO? Webinar with Patrick Stox","desc":"","snippetText":"","href":"https://ahrefs.com/webinars/ai-seo-patrick-webinar","meta":"Podcasts & Videos · Ahrefs Webinar · 2025","text":"Ahrefs Webinar Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/webinars/ai-seo-patrick-webinar","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Ryan Law vs Patrick Stox: Ahrefs Use Cases Showdown","desc":"","snippetText":"","href":"https://ahrefs.com/webinars/stox-vs-law","meta":"Podcasts & Videos · Ahrefs Webinar · 2026","text":"Ahrefs Webinar Podcast / Audio Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/webinars/stox-vs-law","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Patrick Stox on Building in the GEO Era","desc":"","snippetText":"","href":"https://unscriptedseo.com/patrick-stox-on-building-in-the-geo-era/","meta":"Podcasts & Videos · Unscripted (w/ Jeremy Rivera) · 2026","text":"Unscripted (w/ Jeremy Rivera) Podcast / Audio Video Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://unscriptedseo.com/patrick-stox-on-building-in-the-geo-era/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"Let's Chunk — Patrick Stox & Mordy Oberstein","desc":"","snippetText":"","href":"https://x.com/MordyOberstein/status/2074552449290154413","meta":"Podcasts & Videos · Let's Chunk (w/ Mordy Oberstein) · 2026","text":"Let's Chunk (w/ Mordy Oberstein) Podcast / Audio","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://x.com/MordyOberstein/status/2074552449290154413","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"podcast","contentType":"podcasts-videos","title":"The Truth About AI Search: 58% Less Clicks But More Conversions?","desc":"","snippetText":"","href":"https://open.spotify.com/episode/3SBHqEBDNucrKf9LsAXagw","meta":"Podcasts & Videos · The GEO Blueprint (w/ George Vlasyev) · 2026","text":"The GEO Blueprint (w/ George Vlasyev) Podcast / Audio Apple Podcasts","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://open.spotify.com/episode/3SBHqEBDNucrKf9LsAXagw","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"video","contentType":"podcasts-videos","title":"Improving The Awareness Of SEO Throughout The Business","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=obEfEYGrd2g","meta":"Podcasts & Videos · YouTube · 2022","text":"YouTube Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=obEfEYGrd2g","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"video","contentType":"podcasts-videos","title":"SEO from Home — Learning About Link Attributes","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=Fky2IcO-Ez8","meta":"Podcasts & Videos · PageOne Power · 2020","text":"PageOne Power Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=Fky2IcO-Ez8","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"video","contentType":"podcasts-videos","title":"Technical SEO Mastery, Ahrefs Product Insights, and Why the Basics Still Win","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=bxTfr-4b7pk","meta":"Podcasts & Videos · Ahrefs · 2025","text":"Ahrefs Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=bxTfr-4b7pk","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"video","contentType":"podcasts-videos","title":"Chat With Patrick Stox — AI Search, SEO Strategies, And Digital Branding","desc":"","snippetText":"","href":"https://www.youtube.com/watch?v=Lx0oyY0t-ps","meta":"Podcasts & Videos · YouTube · 2026","text":"YouTube Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.youtube.com/watch?v=Lx0oyY0t-ps","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"book","contentType":"books","title":"Ahrefs' SEO Book for Beginners","desc":"","snippetText":"","href":"https://ahrefs.com/seo/book","meta":"Books · Ahrefs · 2023","text":"Ahrefs Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://ahrefs.com/seo/book","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"book","contentType":"books","title":"The Art of SEO (4th Edition) — Technical Review Editor","desc":"","snippetText":"","href":"https://www.oreilly.com/library/view/the-art-of/9781098148577/","meta":"Books · O'Reilly · 2024","text":"O'Reilly Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.oreilly.com/library/view/the-art-of/9781098148577/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"book","contentType":"books","title":"Web Almanac: SEO Chapter — author","desc":"","snippetText":"","href":"https://almanac.httparchive.org/en/2021/seo","meta":"Books · HTTP Archive · 2021","text":"HTTP Archive Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://almanac.httparchive.org/en/2021/seo","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"book","contentType":"books","title":"Web Almanac: SEO Chapter — reviewer","desc":"","snippetText":"","href":"https://almanac.httparchive.org/en/2022/seo","meta":"Books · HTTP Archive · 2022","text":"HTTP Archive Website","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://almanac.httparchive.org/en/2022/seo","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"content","kind":"talk","contentType":"speaking","title":"SERPlight Conference","desc":"","snippetText":"","href":"https://www.facebook.com/serpconf/videos/patrick-stox-serp-light-conf/282525560079951/","meta":"Speaking · SERPlight · 2021","text":"SERPlight Video","passages":[],"external":true,"aliases":[],"popular":0,"url":"https://www.facebook.com/serpconf/videos/patrick-stox-serp-light-conf/282525560079951/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Google Index Checker","desc":"Check one URL’s observable indexability blockers, or reconcile sitemap, crawl, and supplied Search Console evidence across a URL set before verifying Google’s actual state in URL Inspection.","snippetText":"Check one URL’s observable indexability blockers, or reconcile sitemap, crawl, and supplied Search Console evidence across a URL set before verifying Google’s actual state in URL Inspection.","href":"/tools/google-index-checker/","meta":"Free tool","aliases":["accepts url","produces url","produces report","generic http html"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"google index checker google search console sitemap indexation indexing noindex canonical technical seo accepts url produces url produces report generic http html","passages":["accepts url","produces url","produces report","generic http html"],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — URL is not a live 2xx response","desc":"Restore a live 2xx response at the evaluated URL, then rerun the check.","snippetText":"Restore a live 2xx response at the evaluated URL, then rerun the check.","href":"/tools/google-index-checker/#finding-live-response","parentHref":"/tools/google-index-checker/","findingId":"live-response","meta":"Free tool finding · blocker","aliases":["live response","URL is not a live 2xx response"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"URL is not a live 2xx response URL is not a live 2xx response Restore a live 2xx response at the evaluated URL, then rerun the check.","passages":["Restore a live 2xx response at the evaluated URL, then rerun the check."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-live-response","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — Noindex directive blocks indexing","desc":"Remove the noindex directive from pages that should be indexed, then rerun the check.","snippetText":"Remove the noindex directive from pages that should be indexed, then rerun the check.","href":"/tools/google-index-checker/#finding-noindex","parentHref":"/tools/google-index-checker/","findingId":"noindex","meta":"Free tool finding · blocker","aliases":["noindex","Noindex directive blocks indexing"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Noindex directive blocks indexing Noindex directive blocks indexing Remove the noindex directive from pages that should be indexed, then rerun the check.","passages":["Remove the noindex directive from pages that should be indexed, then rerun the check."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-noindex","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — Canonical points to another URL","desc":"Point the canonical at the intended preferred URL, or confirm that consolidation is deliberate.","snippetText":"Point the canonical at the intended preferred URL, or confirm that consolidation is deliberate.","href":"/tools/google-index-checker/#finding-canonical-other","parentHref":"/tools/google-index-checker/","findingId":"canonical-other","meta":"Free tool finding · warning","aliases":["canonical other","Canonical points to another URL"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Canonical points to another URL Canonical points to another URL Point the canonical at the intended preferred URL, or confirm that consolidation is deliberate.","passages":["Point the canonical at the intended preferred URL, or confirm that consolidation is deliberate."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-canonical-other","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — URL redirects before evaluation","desc":"Update the source to use the live final URL directly, then rerun the check.","snippetText":"Update the source to use the live final URL directly, then rerun the check.","href":"/tools/google-index-checker/#finding-redirected","parentHref":"/tools/google-index-checker/","findingId":"redirected","meta":"Free tool finding · warning","aliases":["redirected","URL redirects before evaluation"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"URL redirects before evaluation URL redirects before evaluation Update the source to use the live final URL directly, then rerun the check.","passages":["Update the source to use the live final URL directly, then rerun the check."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-redirected","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — Robots.txt blocks crawling","desc":"Allow Googlebot to crawl this path in robots.txt, publish the file, then rerun the check.","snippetText":"Allow Googlebot to crawl this path in robots.txt, publish the file, then rerun the check.","href":"/tools/google-index-checker/#finding-robots-blocked","parentHref":"/tools/google-index-checker/","findingId":"robots-blocked","meta":"Free tool finding · blocker","aliases":["robots blocked","Robots.txt blocks crawling"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Robots.txt blocks crawling Robots.txt blocks crawling Allow Googlebot to crawl this path in robots.txt, publish the file, then rerun the check.","passages":["Allow Googlebot to crawl this path in robots.txt, publish the file, then rerun the check."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-robots-blocked","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — Sitemap URL is missing from the index set","desc":"Verify the URL is canonical, indexable, useful, and internally linked, then inspect its exclusion reason in URL Inspection.","snippetText":"Verify the URL is canonical, indexable, useful, and internally linked, then inspect its exclusion reason in URL Inspection.","href":"/tools/google-index-checker/#finding-sitemap-not-indexed","parentHref":"/tools/google-index-checker/","findingId":"sitemap-not-indexed","meta":"Free tool finding · high","aliases":["sitemap not indexed","Sitemap URL is missing from the index set"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Sitemap URL is missing from the index set Sitemap URL is missing from the index set Verify the URL is canonical, indexable, useful, and internally linked, then inspect its exclusion reason in URL Inspection. rule:sitemap.xml-validity","passages":["Verify the URL is canonical, indexable, useful, and internally linked, then inspect its exclusion reason in URL Inspection."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-sitemap-not-indexed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — Indexed URL is absent from the sitemap","desc":"Add the canonical indexable URL to the sitemap or confirm its deliberate exclusion and remove stale variants.","snippetText":"Add the canonical indexable URL to the sitemap or confirm its deliberate exclusion and remove stale variants.","href":"/tools/google-index-checker/#finding-indexed-not-sitemap","parentHref":"/tools/google-index-checker/","findingId":"indexed-not-sitemap","meta":"Free tool finding · warning","aliases":["indexed not sitemap","Indexed URL is absent from the sitemap"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Indexed URL is absent from the sitemap Indexed URL is absent from the sitemap Add the canonical indexable URL to the sitemap or confirm its deliberate exclusion and remove stale variants. rule:sitemap.xml-validity","passages":["Add the canonical indexable URL to the sitemap or confirm its deliberate exclusion and remove stale variants."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-indexed-not-sitemap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — Indexed URL conflicts with the canonical set","desc":"Choose the preferred URL and align sitemap membership, canonical tags, redirects, and internal links to it.","snippetText":"Choose the preferred URL and align sitemap membership, canonical tags, redirects, and internal links to it.","href":"/tools/google-index-checker/#finding-canonical-mismatch","parentHref":"/tools/google-index-checker/","findingId":"canonical-mismatch","meta":"Free tool finding · high","aliases":["canonical mismatch","Indexed URL conflicts with the canonical set"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Indexed URL conflicts with the canonical set Indexed URL conflicts with the canonical set Choose the preferred URL and align sitemap membership, canonical tags, redirects, and internal links to it.","passages":["Choose the preferred URL and align sitemap membership, canonical tags, redirects, and internal links to it."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-canonical-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — Expected indexed URL is blocked by robots","desc":"Remove or narrow the robots.txt rule when the expected URL must be crawled and indexed.","snippetText":"Remove or narrow the robots.txt rule when the expected URL must be crawled and indexed.","href":"/tools/google-index-checker/#finding-robots-conflict","parentHref":"/tools/google-index-checker/","findingId":"robots-conflict","meta":"Free tool finding · high","aliases":["robots conflict","Expected indexed URL is blocked by robots"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Expected indexed URL is blocked by robots Expected indexed URL is blocked by robots Remove or narrow the robots.txt rule when the expected URL must be crawled and indexed.","passages":["Remove or narrow the robots.txt rule when the expected URL must be crawled and indexed."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-robots-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — Expected indexed URL has noindex","desc":"Remove noindex from the expected URL and confirm both raw and rendered directives permit indexing.","snippetText":"Remove noindex from the expected URL and confirm both raw and rendered directives permit indexing.","href":"/tools/google-index-checker/#finding-noindex-conflict","parentHref":"/tools/google-index-checker/","findingId":"noindex-conflict","meta":"Free tool finding · high","aliases":["noindex conflict","Expected indexed URL has noindex"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Expected indexed URL has noindex Expected indexed URL has noindex Remove noindex from the expected URL and confirm both raw and rendered directives permit indexing.","passages":["Remove noindex from the expected URL and confirm both raw and rendered directives permit indexing."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-noindex-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Index Checker — Multiple URL variants appear in the index set","desc":"Redirect and canonicalize duplicate variants to one preferred URL and link internally only to that version.","snippetText":"Redirect and canonicalize duplicate variants to one preferred URL and link internally only to that version.","href":"/tools/google-index-checker/#finding-duplicate-variant","parentHref":"/tools/google-index-checker/","findingId":"duplicate-variant","meta":"Free tool finding · warning","aliases":["duplicate variant","Multiple URL variants appear in the index set"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Multiple URL variants appear in the index set Multiple URL variants appear in the index set Redirect and canonicalize duplicate variants to one preferred URL and link internally only to that version.","passages":["Redirect and canonicalize duplicate variants to one preferred URL and link internally only to that version."],"popular":0,"url":"https://patrickstox.com/tools/google-index-checker/#finding-duplicate-variant","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Canonicalization Checker","desc":"Audit HTML and HTTP canonical signals, test the canonical target, and identify observable conflicts that can cause Google to choose a different URL.","snippetText":"Audit HTML and HTTP canonical signals, test the canonical target, and identify observable conflicts that can cause Google to choose a different URL.","href":"/tools/canonical-checker/","meta":"Free tool","aliases":["accepts url","accepts html","produces url","produces report","generic http html"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"canonical canonicalization duplicate content technical seo indexing accepts url accepts html produces url produces report generic http html","passages":["accepts url","accepts html","produces url","produces report","generic http html"],"popular":0,"url":"https://patrickstox.com/tools/canonical-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Canonicalization Checker — Canonical is missing","desc":"Add one self-referencing absolute canonical URL to the page.","snippetText":"Add one self-referencing absolute canonical URL to the page.","href":"/tools/canonical-checker/#finding-missing-canonical","parentHref":"/tools/canonical-checker/","findingId":"missing-canonical","meta":"Free tool finding · warning","aliases":["missing canonical","Canonical is missing"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Canonical is missing Canonical is missing Add one self-referencing absolute canonical URL to the page. rule:page.indexability-signals","passages":["Add one self-referencing absolute canonical URL to the page."],"popular":0,"url":"https://patrickstox.com/tools/canonical-checker/#finding-missing-canonical","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Canonicalization Checker — Canonical is relative or invalid","desc":"Replace the relative reference with a valid absolute HTTPS URL.","snippetText":"Replace the relative reference with a valid absolute HTTPS URL.","href":"/tools/canonical-checker/#finding-relative-canonical","parentHref":"/tools/canonical-checker/","findingId":"relative-canonical","meta":"Free tool finding · fail","aliases":["relative canonical","Canonical is relative or invalid"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Canonical is relative or invalid Canonical is relative or invalid Replace the relative reference with a valid absolute HTTPS URL. rule:page.indexability-signals","passages":["Replace the relative reference with a valid absolute HTTPS URL."],"popular":0,"url":"https://patrickstox.com/tools/canonical-checker/#finding-relative-canonical","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Canonicalization Checker — Multiple canonicals conflict","desc":"Choose the intended value, align the conflicting signals, and rerun the check.","snippetText":"Choose the intended value, align the conflicting signals, and rerun the check.","href":"/tools/canonical-checker/#finding-multiple-canonicals","parentHref":"/tools/canonical-checker/","findingId":"multiple-canonicals","meta":"Free tool finding · fail","aliases":["multiple canonicals","Multiple canonicals conflict"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Multiple canonicals conflict Multiple canonicals conflict Choose the intended value, align the conflicting signals, and rerun the check. rule:page.indexability-signals","passages":["Choose the intended value, align the conflicting signals, and rerun the check."],"popular":0,"url":"https://patrickstox.com/tools/canonical-checker/#finding-multiple-canonicals","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Canonicalization Checker — Canonical points elsewhere","desc":"Point the canonical at the intended preferred URL, or confirm that consolidation is deliberate.","snippetText":"Point the canonical at the intended preferred URL, or confirm that consolidation is deliberate.","href":"/tools/canonical-checker/#finding-canonical-other","parentHref":"/tools/canonical-checker/","findingId":"canonical-other","meta":"Free tool finding · warning","aliases":["canonical other","Canonical points elsewhere"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Canonical points elsewhere Canonical points elsewhere Point the canonical at the intended preferred URL, or confirm that consolidation is deliberate. rule:page.indexability-signals","passages":["Point the canonical at the intended preferred URL, or confirm that consolidation is deliberate."],"popular":0,"url":"https://patrickstox.com/tools/canonical-checker/#finding-canonical-other","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Canonicalization Checker — HTML and HTTP canonicals disagree","desc":"Choose the intended value, align the conflicting signals, and rerun the check.","snippetText":"Choose the intended value, align the conflicting signals, and rerun the check.","href":"/tools/canonical-checker/#finding-html-http-conflict","parentHref":"/tools/canonical-checker/","findingId":"html-http-conflict","meta":"Free tool finding · fail","aliases":["html http conflict","HTML and HTTP canonicals disagree"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"HTML and HTTP canonicals disagree HTML and HTTP canonicals disagree Choose the intended value, align the conflicting signals, and rerun the check. rule:page.indexability-signals","passages":["Choose the intended value, align the conflicting signals, and rerun the check."],"popular":0,"url":"https://patrickstox.com/tools/canonical-checker/#finding-html-http-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Canonicalization Checker — Canonical target is not a live 2xx URL","desc":"Restore a live 2xx response at the evaluated URL, then rerun the check.","snippetText":"Restore a live 2xx response at the evaluated URL, then rerun the check.","href":"/tools/canonical-checker/#finding-canonical-non-200","parentHref":"/tools/canonical-checker/","findingId":"canonical-non-200","meta":"Free tool finding · fail","aliases":["canonical non 200","Canonical target is not a live 2xx URL"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Canonical target is not a live 2xx URL Canonical target is not a live 2xx URL Restore a live 2xx response at the evaluated URL, then rerun the check. rule:page.indexability-signals","passages":["Restore a live 2xx response at the evaluated URL, then rerun the check."],"popular":0,"url":"https://patrickstox.com/tools/canonical-checker/#finding-canonical-non-200","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"SEO Incident Simulator","desc":"Practice thirty deterministic technical SEO incident investigations — indexability, crawl controls, redirects, sitemaps, markup, caching, DNS, bot verification, rendering, hreflang, and faceted navigation — with clearly labeled fixture evidence and Find → Fix → Verify handoffs.","snippetText":"Practice thirty deterministic technical SEO incident investigations — indexability, crawl controls, redirects, sitemaps, markup, caching, DNS, bot verification, rendering, hreflang, and faceted navigation — with clearly labeled fixture evidence and Find → Fix → Verify handoffs.","href":"/tools/seo-incident-simulator/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"taxonomy":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"text":"technical seo site migration canonicalization javascript seo hreflang faceted navigation crawl budget seo troubleshooting","passages":[],"popular":0,"url":"https://patrickstox.com/tools/seo-incident-simulator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Incident Simulator — Canonical signals point to different URLs","desc":"Select one preferred URL and align canonical tags, redirects, sitemap entries, and internal links to it.","snippetText":"Select one preferred URL and align canonical tags, redirects, sitemap entries, and internal links to it.","href":"/tools/seo-incident-simulator/#finding-canonical-conflict","parentHref":"/tools/seo-incident-simulator/","findingId":"canonical-conflict","meta":"Free tool finding · critical","aliases":["canonical conflict","Canonical signals point to different URLs"],"toolCategories":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"taxonomy":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"text":"Canonical signals point to different URLs Canonical signals point to different URLs Select one preferred URL and align canonical tags, redirects, sitemap entries, and internal links to it.","passages":["Select one preferred URL and align canonical tags, redirects, sitemap entries, and internal links to it."],"popular":0,"url":"https://patrickstox.com/tools/seo-incident-simulator/#finding-canonical-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Incident Simulator — Migration redirects use extra hops","desc":"Replace multi-hop migration redirects with one direct 301 from each legacy URL to its final destination.","snippetText":"Replace multi-hop migration redirects with one direct 301 from each legacy URL to its final destination.","href":"/tools/seo-incident-simulator/#finding-redirect-chain","parentHref":"/tools/seo-incident-simulator/","findingId":"redirect-chain","meta":"Free tool finding · high","aliases":["redirect chain","Migration redirects use extra hops"],"toolCategories":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"taxonomy":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"text":"Migration redirects use extra hops Migration redirects use extra hops Replace multi-hop migration redirects with one direct 301 from each legacy URL to its final destination.","passages":["Replace multi-hop migration redirects with one direct 301 from each legacy URL to its final destination."],"popular":0,"url":"https://patrickstox.com/tools/seo-incident-simulator/#finding-redirect-chain","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Incident Simulator — Robots policy blocks affected pages","desc":"Remove or narrow the production robots.txt rule that blocks pages required for recovery.","snippetText":"Remove or narrow the production robots.txt rule that blocks pages required for recovery.","href":"/tools/seo-incident-simulator/#finding-robots-block","parentHref":"/tools/seo-incident-simulator/","findingId":"robots-block","meta":"Free tool finding · critical","aliases":["robots block","Robots policy blocks affected pages"],"toolCategories":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"taxonomy":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"text":"Robots policy blocks affected pages Robots policy blocks affected pages Remove or narrow the production robots.txt rule that blocks pages required for recovery.","passages":["Remove or narrow the production robots.txt rule that blocks pages required for recovery."],"popular":0,"url":"https://patrickstox.com/tools/seo-incident-simulator/#finding-robots-block","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Incident Simulator — Noindex shipped to production","desc":"Remove the production noindex directive and verify it is absent from both raw and rendered HTML.","snippetText":"Remove the production noindex directive and verify it is absent from both raw and rendered HTML.","href":"/tools/seo-incident-simulator/#finding-noindex-release","parentHref":"/tools/seo-incident-simulator/","findingId":"noindex-release","meta":"Free tool finding · critical","aliases":["noindex release","Noindex shipped to production"],"toolCategories":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"taxonomy":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"text":"Noindex shipped to production Noindex shipped to production Remove the production noindex directive and verify it is absent from both raw and rendered HTML.","passages":["Remove the production noindex directive and verify it is absent from both raw and rendered HTML."],"popular":0,"url":"https://patrickstox.com/tools/seo-incident-simulator/#finding-noindex-release","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Incident Simulator — Sitemap and canonical sets drift","desc":"Regenerate the sitemap from canonical live URLs and remove stale, redirected, or noncanonical entries.","snippetText":"Regenerate the sitemap from canonical live URLs and remove stale, redirected, or noncanonical entries.","href":"/tools/seo-incident-simulator/#finding-sitemap-drift","parentHref":"/tools/seo-incident-simulator/","findingId":"sitemap-drift","meta":"Free tool finding · high","aliases":["sitemap drift","Sitemap and canonical sets drift"],"toolCategories":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"taxonomy":["crawling-indexing","redirects-migrations","rendering-js","international-seo"],"text":"Sitemap and canonical sets drift Sitemap and canonical sets drift Regenerate the sitemap from canonical live URLs and remove stale, redirected, or noncanonical entries.","passages":["Regenerate the sitemap from canonical live URLs and remove stale, redirected, or noncanonical entries."],"popular":0,"url":"https://patrickstox.com/tools/seo-incident-simulator/#finding-sitemap-drift","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"SEO Migration Planner & Validator","desc":"Run a five-step SEO migration workflow: build and review a redirect map, verify deployed redirects, check old-URL status, compare sitemaps, and spot-check Wayback history.","snippetText":"Run a five-step SEO migration workflow: build and review a redirect map, verify deployed redirects, check old-URL status, compare sitemaps, and spot-check Wayback history.","href":"/tools/migration-command-center/","meta":"Free tool","aliases":["accepts url","produces report","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"site migration redirect map redirect verification sitemap diff wayback machine accepts url produces report generic http html apache nginx cloudflare workers rules wordpress shopify nextjs vercel","passages":["accepts url","produces report","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/migration-command-center/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Migration Planner & Validator — Legacy URL has no safe migration match","desc":"Map the legacy URL to the closest intent-equivalent live destination, or deliberately return 410 when none exists.","snippetText":"Map the legacy URL to the closest intent-equivalent live destination, or deliberately return 410 when none exists.","href":"/tools/migration-command-center/#finding-unmatched-url","parentHref":"/tools/migration-command-center/","findingId":"unmatched-url","meta":"Free tool finding · high","aliases":["unmatched url","Legacy URL has no safe migration match"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Legacy URL has no safe migration match Legacy URL has no safe migration match Map the legacy URL to the closest intent-equivalent live destination, or deliberately return 410 when none exists.","passages":["Map the legacy URL to the closest intent-equivalent live destination, or deliberately return 410 when none exists."],"popular":0,"url":"https://patrickstox.com/tools/migration-command-center/#finding-unmatched-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Migration Planner & Validator — Redirect match confidence is low","desc":"Manually verify content intent and choose a stronger destination instead of publishing the low-confidence suggestion.","snippetText":"Manually verify content intent and choose a stronger destination instead of publishing the low-confidence suggestion.","href":"/tools/migration-command-center/#finding-weak-match","parentHref":"/tools/migration-command-center/","findingId":"weak-match","meta":"Free tool finding · warning","aliases":["weak match","Redirect match confidence is low"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Redirect match confidence is low Redirect match confidence is low Manually verify content intent and choose a stronger destination instead of publishing the low-confidence suggestion.","passages":["Manually verify content intent and choose a stronger destination instead of publishing the low-confidence suggestion."],"popular":0,"url":"https://patrickstox.com/tools/migration-command-center/#finding-weak-match","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Migration Planner & Validator — Many legacy URLs collapse to one destination","desc":"Keep the consolidation only when every source shares destination intent; otherwise create specific one-to-one mappings.","snippetText":"Keep the consolidation only when every source shares destination intent; otherwise create specific one-to-one mappings.","href":"/tools/migration-command-center/#finding-many-to-one","parentHref":"/tools/migration-command-center/","findingId":"many-to-one","meta":"Free tool finding · warning","aliases":["many to one","Many legacy URLs collapse to one destination"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Many legacy URLs collapse to one destination Many legacy URLs collapse to one destination Keep the consolidation only when every source shares destination intent; otherwise create specific one-to-one mappings.","passages":["Keep the consolidation only when every source shares destination intent; otherwise create specific one-to-one mappings."],"popular":0,"url":"https://patrickstox.com/tools/migration-command-center/#finding-many-to-one","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Migration Planner & Validator — Mapped destination introduces a redirect chain","desc":"Point the legacy URL directly to the final live destination in one server-side redirect.","snippetText":"Point the legacy URL directly to the final live destination in one server-side redirect.","href":"/tools/migration-command-center/#finding-redirect-chain","parentHref":"/tools/migration-command-center/","findingId":"redirect-chain","meta":"Free tool finding · high","aliases":["redirect chain","Mapped destination introduces a redirect chain"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Mapped destination introduces a redirect chain Mapped destination introduces a redirect chain Point the legacy URL directly to the final live destination in one server-side redirect.","passages":["Point the legacy URL directly to the final live destination in one server-side redirect."],"popular":0,"url":"https://patrickstox.com/tools/migration-command-center/#finding-redirect-chain","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Migration Planner & Validator — Removed sitemap URLs are not mapped","desc":"Map every removed sitemap URL to an equivalent destination or document an intentional 410 response.","snippetText":"Map every removed sitemap URL to an equivalent destination or document an intentional 410 response.","href":"/tools/migration-command-center/#finding-sitemap-removed-unmapped","parentHref":"/tools/migration-command-center/","findingId":"sitemap-removed-unmapped","meta":"Free tool finding · high","aliases":["sitemap removed unmapped","Removed sitemap URLs are not mapped"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Removed sitemap URLs are not mapped Removed sitemap URLs are not mapped Map every removed sitemap URL to an equivalent destination or document an intentional 410 response.","passages":["Map every removed sitemap URL to an equivalent destination or document an intentional 410 response."],"popular":0,"url":"https://patrickstox.com/tools/migration-command-center/#finding-sitemap-removed-unmapped","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"SEO MCP Server","desc":"Connect an AI agent to a read-only MCP server for published SEO content, crawler-IP verification, schema validation, and bounded redirect-chain tracing.","snippetText":"Connect an AI agent to a read-only MCP server for published SEO content, crawler-IP verification, schema validation, and bounded redirect-chain tracing.","href":"/tools/mcp/","meta":"Free tool","aliases":[],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"mcp model context protocol ai agents seo tools agentic seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/mcp/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO MCP Server — Markup does not meet rich-result eligibility","desc":"Fix the validation operation’s named parse or required-property failures, and only use a supported rich-result type that accurately matches the page.","snippetText":"Fix the validation operation’s named parse or required-property failures, and only use a supported rich-result type that accurately matches the page.","href":"/tools/mcp/#finding-validate-schema-ineligible","parentHref":"/tools/mcp/","findingId":"validate-schema.ineligible","meta":"Free tool finding · error","aliases":["validate schema.ineligible","Markup does not meet rich-result eligibility"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Markup does not meet rich-result eligibility Markup does not meet rich-result eligibility Fix the validation operation’s named parse or required-property failures, and only use a supported rich-result type that accurately matches the page.","passages":["Fix the validation operation’s named parse or required-property failures, and only use a supported rich-result type that accurately matches the page."],"popular":0,"url":"https://patrickstox.com/tools/mcp/#finding-validate-schema-ineligible","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO MCP Server — Redirect trace contains an unnecessary hop","desc":"Redirect the original URL straight to the final destination and remove the intermediate hop.","snippetText":"Redirect the original URL straight to the final destination and remove the intermediate hop.","href":"/tools/mcp/#finding-trace-redirect-extra-hop","parentHref":"/tools/mcp/","findingId":"trace-redirect.extra-hop","meta":"Free tool finding · warning","aliases":["trace redirect.extra hop","Redirect trace contains an unnecessary hop"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Redirect trace contains an unnecessary hop Redirect trace contains an unnecessary hop Redirect the original URL straight to the final destination and remove the intermediate hop.","passages":["Redirect the original URL straight to the final destination and remove the intermediate hop."],"popular":0,"url":"https://patrickstox.com/tools/mcp/#finding-trace-redirect-extra-hop","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO MCP Server — Crawler IP is outside the published range","desc":"Treat the claim as spoofed, block or rate-limit it by behavior, and verify against the operator’s current published ranges.","snippetText":"Treat the claim as spoofed, block or rate-limit it by behavior, and verify against the operator’s current published ranges.","href":"/tools/mcp/#finding-verify-bot-range-mismatch","parentHref":"/tools/mcp/","findingId":"verify-bot.range-mismatch","meta":"Free tool finding · fail","aliases":["verify bot.range mismatch","Crawler IP is outside the published range"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Crawler IP is outside the published range Crawler IP is outside the published range Treat the claim as spoofed, block or rate-limit it by behavior, and verify against the operator’s current published ranges.","passages":["Treat the claim as spoofed, block or rate-limit it by behavior, and verify against the operator’s current published ranges."],"popular":0,"url":"https://patrickstox.com/tools/mcp/#finding-verify-bot-range-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"SEO Opportunity Finder","desc":"Choose an evidence-backed content, link, or technical SEO workflow, then open the free tool that can evaluate it without turning every warning into an opportunity.","snippetText":"Choose an evidence-backed content, link, or technical SEO workflow, then open the free tool that can evaluate it without turning every warning into an opportunity.","href":"/tools/opportunities/","meta":"Free tool","aliases":[],"toolCategories":["on-page-content","keywords-demand","crawling-indexing","forecasting-roi"],"taxonomy":["on-page-content","keywords-demand","crawling-indexing","forecasting-roi"],"text":"seo opportunities content opportunities internal links technical seo search console","passages":[],"popular":0,"url":"https://patrickstox.com/tools/opportunities/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"robots.txt Tester","desc":"Test pages against bots with a matcher ported from Google's open-source robots.txt parser — a blocked/allowed matrix with the exact winning rule per cell, file lint, sitemap-conflict detection, a diff mode for proposed changes, and a separate live robots.txt fetch for each entered origin.","snippetText":"Test pages against bots with a matcher ported from Google's open-source robots.txt parser — a blocked/allowed matrix with the exact winning rule per cell, file lint, sitemap-conflict detection, a diff mode for proposed changes, and a separate live robots.txt fetch for each entered origin.","href":"/tools/robots-txt-tester/","meta":"Free tool","aliases":["accepts url","accepts urls","accepts text","produces report","produces text","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"robots.txt crawling technical seo bots ai crawlers accepts url accepts urls accepts text produces report produces text generic http html apache nginx cloudflare workers rules wordpress shopify nextjs vercel","passages":["accepts url","accepts urls","accepts text","produces report","produces text","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Directive is misspelled","desc":"Correct the directive spelling to a supported name so crawlers do not ignore it.","snippetText":"Correct the directive spelling to a supported name so crawlers do not ignore it.","href":"/tools/robots-txt-tester/#finding-typo","parentHref":"/tools/robots-txt-tester/","findingId":"typo","meta":"Free tool finding · warning","aliases":["typo","Directive is misspelled"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Directive is misspelled Directive is misspelled Correct the directive spelling to a supported name so crawlers do not ignore it. rule:robots.access-policy","passages":["Correct the directive spelling to a supported name so crawlers do not ignore it."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-typo","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Unsupported noindex directive is used","desc":"Remove noindex from robots.txt and use a meta robots tag or X-Robots-Tag on crawlable URLs instead.","snippetText":"Remove noindex from robots.txt and use a meta robots tag or X-Robots-Tag on crawlable URLs instead.","href":"/tools/robots-txt-tester/#finding-noindex","parentHref":"/tools/robots-txt-tester/","findingId":"noindex","meta":"Free tool finding · warning","aliases":["noindex","Unsupported noindex directive is used"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Unsupported noindex directive is used Unsupported noindex directive is used Remove noindex from robots.txt and use a meta robots tag or X-Robots-Tag on crawlable URLs instead. rule:robots.access-policy","passages":["Remove noindex from robots.txt and use a meta robots tag or X-Robots-Tag on crawlable URLs instead."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-noindex","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Crawl-delay is ignored by Google","desc":"Remove Crawl-delay for Google and manage Googlebot crawl rate through Search Console or server capacity controls.","snippetText":"Remove Crawl-delay for Google and manage Googlebot crawl rate through Search Console or server capacity controls.","href":"/tools/robots-txt-tester/#finding-crawl-delay","parentHref":"/tools/robots-txt-tester/","findingId":"crawl-delay","meta":"Free tool finding · info","aliases":["crawl delay","Crawl-delay is ignored by Google"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawl-delay is ignored by Google Crawl-delay is ignored by Google Remove Crawl-delay for Google and manage Googlebot crawl rate through Search Console or server capacity controls. rule:robots.access-policy","passages":["Remove Crawl-delay for Google and manage Googlebot crawl rate through Search Console or server capacity controls."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-crawl-delay","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Rule appears before any user-agent group","desc":"Move the rule below the User-agent line for the crawler group that should apply it.","snippetText":"Move the rule below the User-agent line for the crawler group that should apply it.","href":"/tools/robots-txt-tester/#finding-rule-before-group","parentHref":"/tools/robots-txt-tester/","findingId":"rule-before-group","meta":"Free tool finding · error","aliases":["rule before group","Rule appears before any user-agent group"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Rule appears before any user-agent group Rule appears before any user-agent group Move the rule below the User-agent line for the crawler group that should apply it. rule:robots.access-policy","passages":["Move the rule below the User-agent line for the crawler group that should apply it."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-rule-before-group","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Line has no colon separator","desc":"Add the missing colon between the directive name and value so parsers can read the line.","snippetText":"Add the missing colon between the directive name and value so parsers can read the line.","href":"/tools/robots-txt-tester/#finding-unparseable-line","parentHref":"/tools/robots-txt-tester/","findingId":"unparseable-line","meta":"Free tool finding · warning","aliases":["unparseable line","Line has no colon separator"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Line has no colon separator Line has no colon separator Add the missing colon between the directive name and value so parsers can read the line. rule:robots.access-policy","passages":["Add the missing colon between the directive name and value so parsers can read the line."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-unparseable-line","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Unknown directive is ignored","desc":"Remove the nonstandard directive or replace it with a supported robots.txt directive that expresses the intended crawl rule.","snippetText":"Remove the nonstandard directive or replace it with a supported robots.txt directive that expresses the intended crawl rule.","href":"/tools/robots-txt-tester/#finding-unknown-directive","parentHref":"/tools/robots-txt-tester/","findingId":"unknown-directive","meta":"Free tool finding · info","aliases":["unknown directive","Unknown directive is ignored"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Unknown directive is ignored Unknown directive is ignored Remove the nonstandard directive or replace it with a supported robots.txt directive that expresses the intended crawl rule. rule:robots.access-policy","passages":["Remove the nonstandard directive or replace it with a supported robots.txt directive that expresses the intended crawl rule."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-unknown-directive","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Crawler group contains no rules","desc":"Add the intended Allow or Disallow rules to this group, or remove the group so the crawler can fall through to the wildcard group.","snippetText":"Add the intended Allow or Disallow rules to this group, or remove the group so the crawler can fall through to the wildcard group.","href":"/tools/robots-txt-tester/#finding-empty-group","parentHref":"/tools/robots-txt-tester/","findingId":"empty-group","meta":"Free tool finding · info","aliases":["empty group","Crawler group contains no rules"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler group contains no rules Crawler group contains no rules Add the intended Allow or Disallow rules to this group, or remove the group so the crawler can fall through to the wildcard group. rule:robots.access-policy","passages":["Add the intended Allow or Disallow rules to this group, or remove the group so the crawler can fall through to the wildcard group."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-empty-group","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Rule pattern can never match","desc":"Start the path pattern with / or * so matching can begin at the start of the URL path.","snippetText":"Start the path pattern with / or * so matching can begin at the start of the URL path.","href":"/tools/robots-txt-tester/#finding-never-matches","parentHref":"/tools/robots-txt-tester/","findingId":"never-matches","meta":"Free tool finding · error","aliases":["never matches","Rule pattern can never match"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Rule pattern can never match Rule pattern can never match Start the path pattern with / or * so matching can begin at the start of the URL path. rule:robots.access-policy","passages":["Start the path pattern with / or * so matching can begin at the start of the URL path."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-never-matches","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Dollar anchor appears inside a pattern","desc":"Move $ to the end of the pattern if it should anchor the path, or remove it if a literal dollar sign was not intended.","snippetText":"Move $ to the end of the pattern if it should anchor the path, or remove it if a literal dollar sign was not intended.","href":"/tools/robots-txt-tester/#finding-inner-dollar","parentHref":"/tools/robots-txt-tester/","findingId":"inner-dollar","meta":"Free tool finding · warning","aliases":["inner dollar","Dollar anchor appears inside a pattern"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Dollar anchor appears inside a pattern Dollar anchor appears inside a pattern Move $ to the end of the pattern if it should anchor the path, or remove it if a literal dollar sign was not intended. rule:robots.access-policy","passages":["Move $ to the end of the pattern if it should anchor the path, or remove it if a literal dollar sign was not intended."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-inner-dollar","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — User-agent is split across groups","desc":"Merge rules for the same user-agent into one group so the effective policy is clear and maintainable.","snippetText":"Merge rules for the same user-agent into one group so the effective policy is clear and maintainable.","href":"/tools/robots-txt-tester/#finding-duplicate-group","parentHref":"/tools/robots-txt-tester/","findingId":"duplicate-group","meta":"Free tool finding · info","aliases":["duplicate group","User-agent is split across groups"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"User-agent is split across groups User-agent is split across groups Merge rules for the same user-agent into one group so the effective policy is clear and maintainable. rule:robots.access-policy","passages":["Merge rules for the same user-agent into one group so the effective policy is clear and maintainable."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-duplicate-group","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Sitemap URL is not absolute","desc":"Replace the relative sitemap location with a fully qualified URL including https:// and the hostname.","snippetText":"Replace the relative sitemap location with a fully qualified URL including https:// and the hostname.","href":"/tools/robots-txt-tester/#finding-relative-sitemap","parentHref":"/tools/robots-txt-tester/","findingId":"relative-sitemap","meta":"Free tool finding · error","aliases":["relative sitemap","Sitemap URL is not absolute"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Sitemap URL is not absolute Sitemap URL is not absolute Replace the relative sitemap location with a fully qualified URL including https:// and the hostname. rule:robots.access-policy","passages":["Replace the relative sitemap location with a fully qualified URL including https:// and the hostname."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-relative-sitemap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Robots file exceeds 500 KiB","desc":"Reduce robots.txt below 500 KiB by consolidating patterns and removing redundant rules before Google’s truncation point.","snippetText":"Reduce robots.txt below 500 KiB by consolidating patterns and removing redundant rules before Google’s truncation point.","href":"/tools/robots-txt-tester/#finding-over-500kib","parentHref":"/tools/robots-txt-tester/","findingId":"over-500kib","meta":"Free tool finding · error","aliases":["over 500kib","Robots file exceeds 500 KiB"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Robots file exceeds 500 KiB Robots file exceeds 500 KiB Reduce robots.txt below 500 KiB by consolidating patterns and removing redundant rules before Google’s truncation point. rule:robots.access-policy","passages":["Reduce robots.txt below 500 KiB by consolidating patterns and removing redundant rules before Google’s truncation point."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-over-500kib","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Robots file is empty","desc":"Leave the file empty if all crawling is intentionally allowed; otherwise add explicit user-agent groups and the minimum required rules.","snippetText":"Leave the file empty if all crawling is intentionally allowed; otherwise add explicit user-agent groups and the minimum required rules.","href":"/tools/robots-txt-tester/#finding-empty-file","parentHref":"/tools/robots-txt-tester/","findingId":"empty-file","meta":"Free tool finding · info","aliases":["empty file","Robots file is empty"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Robots file is empty Robots file is empty Leave the file empty if all crawling is intentionally allowed; otherwise add explicit user-agent groups and the minimum required rules. rule:robots.access-policy","passages":["Leave the file empty if all crawling is intentionally allowed; otherwise add explicit user-agent groups and the minimum required rules."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-empty-file","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Tester — Test URL is blocked for the selected crawler","desc":"Remove or narrow the winning Disallow rule, or add a more specific Allow rule, when the tested URL should be crawlable.","snippetText":"Remove or narrow the winning Disallow rule, or add a more specific Allow rule, when the tested URL should be crawlable.","href":"/tools/robots-txt-tester/#finding-url-blocked","parentHref":"/tools/robots-txt-tester/","findingId":"url-blocked","meta":"Free tool finding · fail","aliases":["url blocked","Test URL is blocked for the selected crawler"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Test URL is blocked for the selected crawler Test URL is blocked for the selected crawler Remove or narrow the winning Disallow rule, or add a more specific Allow rule, when the tested URL should be crawlable. rule:robots.access-policy","passages":["Remove or narrow the winning Disallow rule, or add a more specific Allow rule, when the tested URL should be crawlable."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-tester/#finding-url-blocked","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"XML Sitemap Validator","desc":"Paste, upload, or fetch a sitemap by URL — errors, warnings, and a health score with line numbers. Pasted and uploaded sitemaps are validated entirely in your browser.","snippetText":"Paste, upload, or fetch a sitemap by URL — errors, warnings, and a health score with line numbers. Pasted and uploaded sitemaps are validated entirely in your browser.","href":"/tools/sitemap-validator/","meta":"Free tool","aliases":["accepts url","accepts text","produces urls","produces report","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"sitemap xml sitemap technical seo crawling indexing accepts url accepts text produces urls produces report generic http html apache nginx cloudflare workers rules wordpress shopify nextjs vercel","passages":["accepts url","accepts text","produces urls","produces report","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Validator — Sitemap XML is malformed","desc":"Correct the reported XML syntax, including escaping reserved characters, until the file parses as valid XML.","snippetText":"Correct the reported XML syntax, including escaping reserved characters, until the file parses as valid XML.","href":"/tools/sitemap-validator/#finding-xml-malformed","parentHref":"/tools/sitemap-validator/","findingId":"xml-malformed","meta":"Free tool finding · error","aliases":["xml malformed","Sitemap XML is malformed"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Sitemap XML is malformed Sitemap XML is malformed Correct the reported XML syntax, including escaping reserved characters, until the file parses as valid XML. rule:sitemap.xml-validity","passages":["Correct the reported XML syntax, including escaping reserved characters, until the file parses as valid XML."],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/#finding-xml-malformed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Validator — Root element is not urlset or sitemapindex","desc":"Use urlset for a URL sitemap or sitemapindex for an index, with the sitemap protocol namespace on the root element.","snippetText":"Use urlset for a URL sitemap or sitemapindex for an index, with the sitemap protocol namespace on the root element.","href":"/tools/sitemap-validator/#finding-wrong-root","parentHref":"/tools/sitemap-validator/","findingId":"wrong-root","meta":"Free tool finding · error","aliases":["wrong root","Root element is not urlset or sitemapindex"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Root element is not urlset or sitemapindex Root element is not urlset or sitemapindex Use urlset for a URL sitemap or sitemapindex for an index, with the sitemap protocol namespace on the root element. rule:sitemap.xml-validity","passages":["Use urlset for a URL sitemap or sitemapindex for an index, with the sitemap protocol namespace on the root element."],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/#finding-wrong-root","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Validator — URL location is invalid or relative","desc":"Replace each invalid loc with a fully qualified canonical HTTP or HTTPS URL.","snippetText":"Replace each invalid loc with a fully qualified canonical HTTP or HTTPS URL.","href":"/tools/sitemap-validator/#finding-invalid-loc","parentHref":"/tools/sitemap-validator/","findingId":"invalid-loc","meta":"Free tool finding · error","aliases":["invalid loc","URL location is invalid or relative"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"URL location is invalid or relative URL location is invalid or relative Replace each invalid loc with a fully qualified canonical HTTP or HTTPS URL. rule:sitemap.xml-validity","passages":["Replace each invalid loc with a fully qualified canonical HTTP or HTTPS URL."],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/#finding-invalid-loc","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Validator — Duplicate URL entries are present","desc":"Emit each canonical URL once by deduplicating the sitemap generator’s source records.","snippetText":"Emit each canonical URL once by deduplicating the sitemap generator’s source records.","href":"/tools/sitemap-validator/#finding-duplicate-loc","parentHref":"/tools/sitemap-validator/","findingId":"duplicate-loc","meta":"Free tool finding · warning","aliases":["duplicate loc","Duplicate URL entries are present"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Duplicate URL entries are present Duplicate URL entries are present Emit each canonical URL once by deduplicating the sitemap generator’s source records. rule:sitemap.xml-validity","passages":["Emit each canonical URL once by deduplicating the sitemap generator’s source records."],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/#finding-duplicate-loc","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Validator — URL uses an unsupported scheme","desc":"Replace non-HTTP locations with crawlable http:// or https:// canonical URLs, or remove those entries.","snippetText":"Replace non-HTTP locations with crawlable http:// or https:// canonical URLs, or remove those entries.","href":"/tools/sitemap-validator/#finding-non-http-loc","parentHref":"/tools/sitemap-validator/","findingId":"non-http-loc","meta":"Free tool finding · error","aliases":["non http loc","URL uses an unsupported scheme"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"URL uses an unsupported scheme URL uses an unsupported scheme Replace non-HTTP locations with crawlable http:// or https:// canonical URLs, or remove those entries. rule:sitemap.xml-validity","passages":["Replace non-HTTP locations with crawlable http:// or https:// canonical URLs, or remove those entries."],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/#finding-non-http-loc","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Validator — Last-modified date is invalid","desc":"Format lastmod as a valid W3C date or datetime and update it only when the page changes materially.","snippetText":"Format lastmod as a valid W3C date or datetime and update it only when the page changes materially.","href":"/tools/sitemap-validator/#finding-invalid-lastmod","parentHref":"/tools/sitemap-validator/","findingId":"invalid-lastmod","meta":"Free tool finding · warning","aliases":["invalid lastmod","Last-modified date is invalid"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Last-modified date is invalid Last-modified date is invalid Format lastmod as a valid W3C date or datetime and update it only when the page changes materially. rule:sitemap.xml-validity","passages":["Format lastmod as a valid W3C date or datetime and update it only when the page changes materially."],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/#finding-invalid-lastmod","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Validator — Sitemap includes another host","desc":"Move cross-host URLs into that host’s sitemap unless ownership is deliberately verified for cross-submission.","snippetText":"Move cross-host URLs into that host’s sitemap unless ownership is deliberately verified for cross-submission.","href":"/tools/sitemap-validator/#finding-cross-host","parentHref":"/tools/sitemap-validator/","findingId":"cross-host","meta":"Free tool finding · warning","aliases":["cross host","Sitemap includes another host"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Sitemap includes another host Sitemap includes another host Move cross-host URLs into that host’s sitemap unless ownership is deliberately verified for cross-submission. rule:sitemap.xml-validity","passages":["Move cross-host URLs into that host’s sitemap unless ownership is deliberately verified for cross-submission."],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/#finding-cross-host","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Validator — Sitemap exceeds URL or byte limits","desc":"Split the sitemap below 50,000 entries and 50 MB uncompressed, then list the parts in a sitemap index.","snippetText":"Split the sitemap below 50,000 entries and 50 MB uncompressed, then list the parts in a sitemap index.","href":"/tools/sitemap-validator/#finding-limit-exceeded","parentHref":"/tools/sitemap-validator/","findingId":"limit-exceeded","meta":"Free tool finding · error","aliases":["limit exceeded","Sitemap exceeds URL or byte limits"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Sitemap exceeds URL or byte limits Sitemap exceeds URL or byte limits Split the sitemap below 50,000 entries and 50 MB uncompressed, then list the parts in a sitemap index. rule:sitemap.xml-validity","passages":["Split the sitemap below 50,000 entries and 50 MB uncompressed, then list the parts in a sitemap index."],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/#finding-limit-exceeded","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Validator — Sitemap index nesting is invalid","desc":"Flatten the sitemap structure so the submitted index points directly to URL sitemaps.","snippetText":"Flatten the sitemap structure so the submitted index points directly to URL sitemaps.","href":"/tools/sitemap-validator/#finding-index-nesting","parentHref":"/tools/sitemap-validator/","findingId":"index-nesting","meta":"Free tool finding · error","aliases":["index nesting","Sitemap index nesting is invalid"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Sitemap index nesting is invalid Sitemap index nesting is invalid Flatten the sitemap structure so the submitted index points directly to URL sitemaps. rule:sitemap.xml-validity","passages":["Flatten the sitemap structure so the submitted index points directly to URL sitemaps."],"popular":0,"url":"https://patrickstox.com/tools/sitemap-validator/#finding-index-nesting","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Schema Markup Validator","desc":"Paste JSON-LD or a full HTML page and get severity-tiered structured-data validation — schema.org vocabulary, Google rich-result requirements, cross-block @id graph checks, and a corrected copy-pasteable JSON-LD block.","snippetText":"Paste JSON-LD or a full HTML page and get severity-tiered structured-data validation — schema.org vocabulary, Google rich-result requirements, cross-block @id graph checks, and a corrected copy-pasteable JSON-LD block.","href":"/tools/schema-validator/","meta":"Free tool","aliases":["accepts url","accepts html","accepts schema-jsonld","produces url","produces report","produces schema-jsonld","generic http html","wordpress","shopify","nextjs vercel","structured data test","schema checker","json ld test","rich results test"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"schema structured data json-ld rich results validator accepts url accepts html accepts schema-jsonld produces url produces report produces schema-jsonld generic http html wordpress shopify nextjs vercel","passages":["accepts url","accepts html","accepts schema-jsonld","produces url","produces report","produces schema-jsonld","generic http html","wordpress","shopify","nextjs vercel"],"popular":3,"url":"https://patrickstox.com/tools/schema-validator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Validator — JSON-LD cannot be parsed","desc":"Fix the reported JSON syntax error—commonly a missing comma, quote, brace, or bracket—until the JSON-LD parses before evaluating schema properties.","snippetText":"Fix the reported JSON syntax error—commonly a missing comma, quote, brace, or bracket—until the JSON-LD parses before evaluating schema properties.","href":"/tools/schema-validator/#finding-json-parse","parentHref":"/tools/schema-validator/","findingId":"json-parse","meta":"Free tool finding · error","aliases":["json parse","JSON-LD cannot be parsed"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"JSON-LD cannot be parsed JSON-LD cannot be parsed Fix the reported JSON syntax error—commonly a missing comma, quote, brace, or bracket—until the JSON-LD parses before evaluating schema properties. rule:schema.structured-data-validity","passages":["Fix the reported JSON syntax error—commonly a missing comma, quote, brace, or bracket—until the JSON-LD parses before evaluating schema properties."],"popular":0,"url":"https://patrickstox.com/tools/schema-validator/#finding-json-parse","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Validator — Schema context is missing or invalid","desc":"Set the top-level @context to https://schema.org, or ensure each graph entity inherits that Schema.org context.","snippetText":"Set the top-level @context to https://schema.org, or ensure each graph entity inherits that Schema.org context.","href":"/tools/schema-validator/#finding-missing-context","parentHref":"/tools/schema-validator/","findingId":"missing-context","meta":"Free tool finding · warning","aliases":["missing context","Schema context is missing or invalid"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Schema context is missing or invalid Schema context is missing or invalid Set the top-level @context to https://schema.org, or ensure each graph entity inherits that Schema.org context. rule:schema.structured-data-validity","passages":["Set the top-level @context to https://schema.org, or ensure each graph entity inherits that Schema.org context."],"popular":0,"url":"https://patrickstox.com/tools/schema-validator/#finding-missing-context","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Validator — Schema type is missing","desc":"Add the appropriate Schema.org @type to the affected entity, choosing the most specific type the page’s visible content supports.","snippetText":"Add the appropriate Schema.org @type to the affected entity, choosing the most specific type the page’s visible content supports.","href":"/tools/schema-validator/#finding-missing-type","parentHref":"/tools/schema-validator/","findingId":"missing-type","meta":"Free tool finding · error","aliases":["missing type","Schema type is missing"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Schema type is missing Schema type is missing Add the appropriate Schema.org @type to the affected entity, choosing the most specific type the page’s visible content supports. rule:schema.structured-data-validity","passages":["Add the appropriate Schema.org @type to the affected entity, choosing the most specific type the page’s visible content supports."],"popular":0,"url":"https://patrickstox.com/tools/schema-validator/#finding-missing-type","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Validator — Required property is missing","desc":"Add the named required property with a value supported by the page, then validate that entity again.","snippetText":"Add the named required property with a value supported by the page, then validate that entity again.","href":"/tools/schema-validator/#finding-missing-required","parentHref":"/tools/schema-validator/","findingId":"missing-required","meta":"Free tool finding · error","aliases":["missing required","Required property is missing"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Required property is missing Required property is missing Add the named required property with a value supported by the page, then validate that entity again. rule:schema.structured-data-validity","passages":["Add the named required property with a value supported by the page, then validate that entity again."],"popular":0,"url":"https://patrickstox.com/tools/schema-validator/#finding-missing-required","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Validator — Property value has the wrong type or format","desc":"Change the flagged property to the expected scalar, URL, object, or array shape shown by the validator instead of coercing an unrelated value.","snippetText":"Change the flagged property to the expected scalar, URL, object, or array shape shown by the validator instead of coercing an unrelated value.","href":"/tools/schema-validator/#finding-invalid-property-type","parentHref":"/tools/schema-validator/","findingId":"invalid-property-type","meta":"Free tool finding · error","aliases":["invalid property type","Property value has the wrong type or format"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Property value has the wrong type or format Property value has the wrong type or format Change the flagged property to the expected scalar, URL, object, or array shape shown by the validator instead of coercing an unrelated value. rule:schema.structured-data-validity","passages":["Change the flagged property to the expected scalar, URL, object, or array shape shown by the validator instead of coercing an unrelated value."],"popular":0,"url":"https://patrickstox.com/tools/schema-validator/#finding-invalid-property-type","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Validator — Schema type is not recognized by the validator","desc":"Correct a misspelled or obsolete @type to a recognized Schema.org type; remove the entity if no valid type accurately describes the content.","snippetText":"Correct a misspelled or obsolete @type to a recognized Schema.org type; remove the entity if no valid type accurately describes the content.","href":"/tools/schema-validator/#finding-unsupported-type","parentHref":"/tools/schema-validator/","findingId":"unsupported-type","meta":"Free tool finding · warning","aliases":["unsupported type","Schema type is not recognized by the validator"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Schema type is not recognized by the validator Schema type is not recognized by the validator Correct a misspelled or obsolete @type to a recognized Schema.org type; remove the entity if no valid type accurately describes the content. rule:schema.structured-data-validity","passages":["Correct a misspelled or obsolete @type to a recognized Schema.org type; remove the entity if no valid type accurately describes the content."],"popular":0,"url":"https://patrickstox.com/tools/schema-validator/#finding-unsupported-type","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Validator — Entity identifiers collide","desc":"Merge entities sharing the same @id into one node, or assign distinct stable @id values when they represent different real entities.","snippetText":"Merge entities sharing the same @id into one node, or assign distinct stable @id values when they represent different real entities.","href":"/tools/schema-validator/#finding-duplicate-entity-id","parentHref":"/tools/schema-validator/","findingId":"duplicate-entity-id","meta":"Free tool finding · warning","aliases":["duplicate entity id","Entity identifiers collide"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Entity identifiers collide Entity identifiers collide Merge entities sharing the same @id into one node, or assign distinct stable @id values when they represent different real entities. rule:schema.structured-data-validity","passages":["Merge entities sharing the same @id into one node, or assign distinct stable @id values when they represent different real entities."],"popular":0,"url":"https://patrickstox.com/tools/schema-validator/#finding-duplicate-entity-id","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Rich-Result Eligibility Checker","desc":"Paste JSON-LD, an HTML page, or fetch a live URL and compare detected types with the Google rich-result requirements this tool tracks — ✓ requirements met, ✗ a missing required field, ⚠ recommended fields — across Product, Article, Recipe, Video, Event, JobPosting, Breadcrumb, Organization, and more. Analysis runs in your browser; Google alone decides whether a result appears.","snippetText":"Paste JSON-LD, an HTML page, or fetch a live URL and compare detected types with the Google rich-result requirements this tool tracks — ✓ requirements met, ✗ a missing required field, ⚠ recommended fields — across Product, Article, Recipe, Video, Event, JobPosting, Breadcrumb, Organization, and more. Analysis runs in your browser; Google alone decides whether a result appears.","href":"/tools/rich-result-eligibility/","meta":"Free tool","aliases":["accepts url","accepts html","accepts schema-jsonld","produces report","generic http html","wordpress","shopify","nextjs vercel"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"rich results structured data schema json-ld google serp accepts url accepts html accepts schema-jsonld produces report generic http html wordpress shopify nextjs vercel","passages":["accepts url","accepts html","accepts schema-jsonld","produces report","generic http html","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/rich-result-eligibility/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Rich-Result Eligibility Checker — Structured data cannot be parsed","desc":"Fix the reported JSON-LD syntax error until the document parses, then rerun eligibility checks on the resulting entities.","snippetText":"Fix the reported JSON-LD syntax error until the document parses, then rerun eligibility checks on the resulting entities.","href":"/tools/rich-result-eligibility/#finding-parse-error","parentHref":"/tools/rich-result-eligibility/","findingId":"parse-error","meta":"Free tool finding · error","aliases":["parse error","Structured data cannot be parsed"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Structured data cannot be parsed Structured data cannot be parsed Fix the reported JSON-LD syntax error until the document parses, then rerun eligibility checks on the resulting entities. rule:schema.structured-data-validity","passages":["Fix the reported JSON-LD syntax error until the document parses, then rerun eligibility checks on the resulting entities."],"popular":0,"url":"https://patrickstox.com/tools/rich-result-eligibility/#finding-parse-error","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Rich-Result Eligibility Checker — No supported rich-result type detected","desc":"Add a currently Google-supported rich-result type only when it truthfully matches the visible page; otherwise treat no eligibility as a valid outcome.","snippetText":"Add a currently Google-supported rich-result type only when it truthfully matches the visible page; otherwise treat no eligibility as a valid outcome.","href":"/tools/rich-result-eligibility/#finding-no-supported-type","parentHref":"/tools/rich-result-eligibility/","findingId":"no-supported-type","meta":"Free tool finding · info","aliases":["no supported type","No supported rich-result type detected"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"No supported rich-result type detected No supported rich-result type detected Add a currently Google-supported rich-result type only when it truthfully matches the visible page; otherwise treat no eligibility as a valid outcome. rule:schema.structured-data-validity","passages":["Add a currently Google-supported rich-result type only when it truthfully matches the visible page; otherwise treat no eligibility as a valid outcome."],"popular":0,"url":"https://patrickstox.com/tools/rich-result-eligibility/#finding-no-supported-type","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Rich-Result Eligibility Checker — Rich-result type is missing required fields","desc":"Add each named required property with a value visible or otherwise verifiable on the page, then validate the affected entity again.","snippetText":"Add each named required property with a value visible or otherwise verifiable on the page, then validate the affected entity again.","href":"/tools/rich-result-eligibility/#finding-missing-required","parentHref":"/tools/rich-result-eligibility/","findingId":"missing-required","meta":"Free tool finding · fail","aliases":["missing required","Rich-result type is missing required fields"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Rich-result type is missing required fields Rich-result type is missing required fields Add each named required property with a value visible or otherwise verifiable on the page, then validate the affected entity again. rule:schema.structured-data-validity","passages":["Add each named required property with a value visible or otherwise verifiable on the page, then validate the affected entity again."],"popular":0,"url":"https://patrickstox.com/tools/rich-result-eligibility/#finding-missing-required","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Rich-Result Eligibility Checker — Rich-result feature is deprecated","desc":"Remove the deprecated feature-specific markup and use a supported successor only if Google documents one and the page qualifies for it.","snippetText":"Remove the deprecated feature-specific markup and use a supported successor only if Google documents one and the page qualifies for it.","href":"/tools/rich-result-eligibility/#finding-deprecated","parentHref":"/tools/rich-result-eligibility/","findingId":"deprecated","meta":"Free tool finding · warning","aliases":["deprecated","Rich-result feature is deprecated"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Rich-result feature is deprecated Rich-result feature is deprecated Remove the deprecated feature-specific markup and use a supported successor only if Google documents one and the page qualifies for it. rule:schema.structured-data-validity","passages":["Remove the deprecated feature-specific markup and use a supported successor only if Google documents one and the page qualifies for it."],"popular":0,"url":"https://patrickstox.com/tools/rich-result-eligibility/#finding-deprecated","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Rich-Result Eligibility Checker — Rich-result feature is retired","desc":"Remove markup maintained solely for the retired rich-result feature; retain valid Schema.org data only when it still serves another consumer.","snippetText":"Remove markup maintained solely for the retired rich-result feature; retain valid Schema.org data only when it still serves another consumer.","href":"/tools/rich-result-eligibility/#finding-retired","parentHref":"/tools/rich-result-eligibility/","findingId":"retired","meta":"Free tool finding · warning","aliases":["retired","Rich-result feature is retired"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Rich-result feature is retired Rich-result feature is retired Remove markup maintained solely for the retired rich-result feature; retain valid Schema.org data only when it still serves another consumer. rule:schema.structured-data-validity","passages":["Remove markup maintained solely for the retired rich-result feature; retain valid Schema.org data only when it still serves another consumer."],"popular":0,"url":"https://patrickstox.com/tools/rich-result-eligibility/#finding-retired","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"SERP Snippet & Truncation Checker","desc":"Measure title-tag and meta-description widths with consistent font stand-ins and compare them with configurable desktop and mobile preview guidance. Single check or bulk CSV — runs entirely in your browser, nothing is uploaded.","snippetText":"Measure title-tag and meta-description widths with consistent font stand-ins and compare them with configurable desktop and mobile preview guidance. Single check or bulk CSV — runs entirely in your browser, nothing is uploaded.","href":"/tools/serp-snippet-checker/","meta":"Free tool","aliases":[],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"meta tags title tag meta description serp truncation","passages":[],"popular":0,"url":"https://patrickstox.com/tools/serp-snippet-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SERP Snippet & Truncation Checker — Search title is missing","desc":"Add a unique, descriptive HTML title that names the page’s primary topic and matches its visible content.","snippetText":"Add a unique, descriptive HTML title that names the page’s primary topic and matches its visible content.","href":"/tools/serp-snippet-checker/#finding-title-empty","parentHref":"/tools/serp-snippet-checker/","findingId":"title-empty","meta":"Free tool finding · fail","aliases":["title empty","Search title is missing"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Search title is missing Search title is missing Add a unique, descriptive HTML title that names the page’s primary topic and matches its visible content.","passages":["Add a unique, descriptive HTML title that names the page’s primary topic and matches its visible content."],"popular":0,"url":"https://patrickstox.com/tools/serp-snippet-checker/#finding-title-empty","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SERP Snippet & Truncation Checker — Search title is likely to truncate","desc":"Rewrite the title so its measured pixel width fits the preview, placing the distinctive topic before lower-priority branding.","snippetText":"Rewrite the title so its measured pixel width fits the preview, placing the distinctive topic before lower-priority branding.","href":"/tools/serp-snippet-checker/#finding-title-truncated","parentHref":"/tools/serp-snippet-checker/","findingId":"title-truncated","meta":"Free tool finding · warning","aliases":["title truncated","Search title is likely to truncate"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Search title is likely to truncate Search title is likely to truncate Rewrite the title so its measured pixel width fits the preview, placing the distinctive topic before lower-priority branding.","passages":["Rewrite the title so its measured pixel width fits the preview, placing the distinctive topic before lower-priority branding."],"popular":0,"url":"https://patrickstox.com/tools/serp-snippet-checker/#finding-title-truncated","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SERP Snippet & Truncation Checker — Meta description is missing","desc":"Add a page-specific meta description that accurately summarizes the content and gives searchers a reason to choose the result.","snippetText":"Add a page-specific meta description that accurately summarizes the content and gives searchers a reason to choose the result.","href":"/tools/serp-snippet-checker/#finding-description-empty","parentHref":"/tools/serp-snippet-checker/","findingId":"description-empty","meta":"Free tool finding · fail","aliases":["description empty","Meta description is missing"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Meta description is missing Meta description is missing Add a page-specific meta description that accurately summarizes the content and gives searchers a reason to choose the result.","passages":["Add a page-specific meta description that accurately summarizes the content and gives searchers a reason to choose the result."],"popular":0,"url":"https://patrickstox.com/tools/serp-snippet-checker/#finding-description-empty","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SERP Snippet & Truncation Checker — Meta description is likely to truncate","desc":"Shorten the meta description until it fits the tool’s pixel-width limit, preserving the main benefit and differentiator near the start.","snippetText":"Shorten the meta description until it fits the tool’s pixel-width limit, preserving the main benefit and differentiator near the start.","href":"/tools/serp-snippet-checker/#finding-description-truncated","parentHref":"/tools/serp-snippet-checker/","findingId":"description-truncated","meta":"Free tool finding · warning","aliases":["description truncated","Meta description is likely to truncate"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Meta description is likely to truncate Meta description is likely to truncate Shorten the meta description until it fits the tool’s pixel-width limit, preserving the main benefit and differentiator near the start.","passages":["Shorten the meta description until it fits the tool’s pixel-width limit, preserving the main benefit and differentiator near the start."],"popular":0,"url":"https://patrickstox.com/tools/serp-snippet-checker/#finding-description-truncated","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SERP Snippet & Truncation Checker — Search title is unusually short","desc":"Add accurate, distinctive page context while keeping the title concise and aligned with the visible content.","snippetText":"Add accurate, distinctive page context while keeping the title concise and aligned with the visible content.","href":"/tools/serp-snippet-checker/#finding-title-short","parentHref":"/tools/serp-snippet-checker/","findingId":"title-short","meta":"Free tool finding · warning","aliases":["title short","Search title is unusually short"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Search title is unusually short Search title is unusually short Add accurate, distinctive page context while keeping the title concise and aligned with the visible content.","passages":["Add accurate, distinctive page context while keeping the title concise and aligned with the visible content."],"popular":0,"url":"https://patrickstox.com/tools/serp-snippet-checker/#finding-title-short","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SERP Snippet & Truncation Checker — Meta description is unusually short","desc":"Add a concise page-specific summary and value proposition, while recognizing that Google may rewrite the snippet.","snippetText":"Add a concise page-specific summary and value proposition, while recognizing that Google may rewrite the snippet.","href":"/tools/serp-snippet-checker/#finding-description-short","parentHref":"/tools/serp-snippet-checker/","findingId":"description-short","meta":"Free tool finding · warning","aliases":["description short","Meta description is unusually short"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Meta description is unusually short Meta description is unusually short Add a concise page-specific summary and value proposition, while recognizing that Google may rewrite the snippet.","passages":["Add a concise page-specific summary and value proposition, while recognizing that Google may rewrite the snippet."],"popular":0,"url":"https://patrickstox.com/tools/serp-snippet-checker/#finding-description-short","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Google SERP Simulator","desc":"Interactive Google result preview: type a title, description, and URL, compare controlled-font desktop + mobile truncation guidance with simulated query bolding, copy the finished tags, and share a filled-in preview.","snippetText":"Interactive Google result preview: type a title, description, and URL, compare controlled-font desktop + mobile truncation guidance with simulated query bolding, copy the finished tags, and share a filled-in preview.","href":"/tools/serp-simulator/","meta":"Free tool","aliases":[],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"meta tags title tag meta description serp on-page","passages":[],"popular":0,"url":"https://patrickstox.com/tools/serp-simulator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google SERP Simulator — Title is empty","desc":"Add a descriptive page title that states the primary topic before evaluating its search-result preview.","snippetText":"Add a descriptive page title that states the primary topic before evaluating its search-result preview.","href":"/tools/serp-simulator/#finding-title-empty","parentHref":"/tools/serp-simulator/","findingId":"title-empty","meta":"Free tool finding · fail","aliases":["title empty","Title is empty"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Title is empty Title is empty Add a descriptive page title that states the primary topic before evaluating its search-result preview.","passages":["Add a descriptive page title that states the primary topic before evaluating its search-result preview."],"popular":0,"url":"https://patrickstox.com/tools/serp-simulator/#finding-title-empty","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google SERP Simulator — Title exceeds the desktop width target","desc":"Shorten the title until its measured desktop width fits the preview target while retaining the primary topic.","snippetText":"Shorten the title until its measured desktop width fits the preview target while retaining the primary topic.","href":"/tools/serp-simulator/#finding-title-too-wide","parentHref":"/tools/serp-simulator/","findingId":"title-too-wide","meta":"Free tool finding · warning","aliases":["title too wide","Title exceeds the desktop width target"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Title exceeds the desktop width target Title exceeds the desktop width target Shorten the title until its measured desktop width fits the preview target while retaining the primary topic.","passages":["Shorten the title until its measured desktop width fits the preview target while retaining the primary topic."],"popular":0,"url":"https://patrickstox.com/tools/serp-simulator/#finding-title-too-wide","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google SERP Simulator — Title exceeds the mobile width target","desc":"Shorten the title until its measured mobile width fits the preview target, front-loading the most useful wording.","snippetText":"Shorten the title until its measured mobile width fits the preview target, front-loading the most useful wording.","href":"/tools/serp-simulator/#finding-title-mobile-wide","parentHref":"/tools/serp-simulator/","findingId":"title-mobile-wide","meta":"Free tool finding · warning","aliases":["title mobile wide","Title exceeds the mobile width target"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Title exceeds the mobile width target Title exceeds the mobile width target Shorten the title until its measured mobile width fits the preview target, front-loading the most useful wording.","passages":["Shorten the title until its measured mobile width fits the preview target, front-loading the most useful wording."],"popular":0,"url":"https://patrickstox.com/tools/serp-simulator/#finding-title-mobile-wide","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google SERP Simulator — Description is empty","desc":"Add a useful meta description that summarizes the page and gives searchers a reason to click.","snippetText":"Add a useful meta description that summarizes the page and gives searchers a reason to click.","href":"/tools/serp-simulator/#finding-description-empty","parentHref":"/tools/serp-simulator/","findingId":"description-empty","meta":"Free tool finding · fail","aliases":["description empty","Description is empty"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Description is empty Description is empty Add a useful meta description that summarizes the page and gives searchers a reason to click.","passages":["Add a useful meta description that summarizes the page and gives searchers a reason to click."],"popular":0,"url":"https://patrickstox.com/tools/serp-simulator/#finding-description-empty","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google SERP Simulator — Description exceeds the preview target","desc":"Trim the description to the preview target while preserving the page benefit and primary topic.","snippetText":"Trim the description to the preview target while preserving the page benefit and primary topic.","href":"/tools/serp-simulator/#finding-description-too-long","parentHref":"/tools/serp-simulator/","findingId":"description-too-long","meta":"Free tool finding · warning","aliases":["description too long","Description exceeds the preview target"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Description exceeds the preview target Description exceeds the preview target Trim the description to the preview target while preserving the page benefit and primary topic.","passages":["Trim the description to the preview target while preserving the page benefit and primary topic."],"popular":0,"url":"https://patrickstox.com/tools/serp-simulator/#finding-description-too-long","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Page and Website Authority Checker","desc":"Compare page- and domain-level Moz, Ahrefs, OpenPageRank, and Common Crawl authority metrics without blending provider scores.","snippetText":"Compare page- and domain-level Moz, Ahrefs, OpenPageRank, and Common Crawl authority metrics without blending provider scores.","href":"/tools/domain-rating-checker/","meta":"Free tool","aliases":[],"toolCategories":["site-health","forecasting-roi"],"taxonomy":["site-health","forecasting-roi"],"text":"page authority domain authority domain rating moz da moz pa ahrefs dr openpagerank common crawl backlinks authority","passages":[],"popular":0,"url":"https://patrickstox.com/tools/domain-rating-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page and Website Authority Checker — Relative backlink authority is very low","desc":"Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect.","snippetText":"Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect.","href":"/tools/domain-rating-checker/#finding-very-low","parentHref":"/tools/domain-rating-checker/","findingId":"very-low","meta":"Free tool finding · high-opportunity","aliases":["very low","Relative backlink authority is very low"],"toolCategories":["site-health","forecasting-roi"],"taxonomy":["site-health","forecasting-roi"],"text":"Relative backlink authority is very low Relative backlink authority is very low Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect.","passages":["Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect."],"popular":0,"url":"https://patrickstox.com/tools/domain-rating-checker/#finding-very-low","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page and Website Authority Checker — Relative backlink authority is still early","desc":"Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect.","snippetText":"Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect.","href":"/tools/domain-rating-checker/#finding-low","parentHref":"/tools/domain-rating-checker/","findingId":"low","meta":"Free tool finding · opportunity","aliases":["low","Relative backlink authority is still early"],"toolCategories":["site-health","forecasting-roi"],"taxonomy":["site-health","forecasting-roi"],"text":"Relative backlink authority is still early Relative backlink authority is still early Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect.","passages":["Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect."],"popular":0,"url":"https://patrickstox.com/tools/domain-rating-checker/#finding-low","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page and Website Authority Checker — Relative backlink authority is moderate","desc":"Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect.","snippetText":"Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect.","href":"/tools/domain-rating-checker/#finding-moderate","parentHref":"/tools/domain-rating-checker/","findingId":"moderate","meta":"Free tool finding · info","aliases":["moderate","Relative backlink authority is moderate"],"toolCategories":["site-health","forecasting-roi"],"taxonomy":["site-health","forecasting-roi"],"text":"Relative backlink authority is moderate Relative backlink authority is moderate Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect.","passages":["Treat the band as a relative backlink-profile benchmark, compare it with relevant competitors, and investigate referring-domain quality; do not use the score as a standalone defect."],"popular":0,"url":"https://patrickstox.com/tools/domain-rating-checker/#finding-moderate","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Entity Coverage Analyzer","desc":"Extract likely page entities, reconcile selected matches, and draft transparent about/mentions JSON-LD.","snippetText":"Extract likely page entities, reconcile selected matches, and draft transparent about/mentions JSON-LD.","href":"/tools/entity-coverage-analyzer/","meta":"Free tool","aliases":[],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"entities knowledge graph wikidata schema","passages":[],"popular":0,"url":"https://patrickstox.com/tools/entity-coverage-analyzer/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Entity Coverage Analyzer — Likely entity has not been reconciled","desc":"Review candidate identities and attach the correct stable Knowledge Graph ID before generating entity references.","snippetText":"Review candidate identities and attach the correct stable Knowledge Graph ID before generating entity references.","href":"/tools/entity-coverage-analyzer/#finding-unreconciled-entity","parentHref":"/tools/entity-coverage-analyzer/","findingId":"unreconciled-entity","meta":"Free tool finding · warning","aliases":["unreconciled entity","Likely entity has not been reconciled"],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"Likely entity has not been reconciled Likely entity has not been reconciled Review candidate identities and attach the correct stable Knowledge Graph ID before generating entity references.","passages":["Review candidate identities and attach the correct stable Knowledge Graph ID before generating entity references."],"popular":0,"url":"https://patrickstox.com/tools/entity-coverage-analyzer/#finding-unreconciled-entity","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Entity Coverage Analyzer — Important expected entity is absent","desc":"Add accurate coverage of the expected entity where it materially helps answer the page’s topic.","snippetText":"Add accurate coverage of the expected entity where it materially helps answer the page’s topic.","href":"/tools/entity-coverage-analyzer/#finding-missing-important-entity","parentHref":"/tools/entity-coverage-analyzer/","findingId":"missing-important-entity","meta":"Free tool finding · warning","aliases":["missing important entity","Important expected entity is absent"],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"Important expected entity is absent Important expected entity is absent Add accurate coverage of the expected entity where it materially helps answer the page’s topic.","passages":["Add accurate coverage of the expected entity where it materially helps answer the page’s topic."],"popular":0,"url":"https://patrickstox.com/tools/entity-coverage-analyzer/#finding-missing-important-entity","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Entity Coverage Analyzer — Entity candidate maps to multiple identities","desc":"Disambiguate the name with type and context, then select the verified entity ID rather than the first match.","snippetText":"Disambiguate the name with type and context, then select the verified entity ID rather than the first match.","href":"/tools/entity-coverage-analyzer/#finding-ambiguous-entity","parentHref":"/tools/entity-coverage-analyzer/","findingId":"ambiguous-entity","meta":"Free tool finding · warning","aliases":["ambiguous entity","Entity candidate maps to multiple identities"],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"Entity candidate maps to multiple identities Entity candidate maps to multiple identities Disambiguate the name with type and context, then select the verified entity ID rather than the first match.","passages":["Disambiguate the name with type and context, then select the verified entity ID rather than the first match."],"popular":0,"url":"https://patrickstox.com/tools/entity-coverage-analyzer/#finding-ambiguous-entity","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Entity Coverage Analyzer — Entity coverage is sparse","desc":"Add missing topic-critical entities and relationships based on the page’s actual subject, not raw mention counts.","snippetText":"Add missing topic-critical entities and relationships based on the page’s actual subject, not raw mention counts.","href":"/tools/entity-coverage-analyzer/#finding-low-coverage","parentHref":"/tools/entity-coverage-analyzer/","findingId":"low-coverage","meta":"Free tool finding · info","aliases":["low coverage","Entity coverage is sparse"],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"Entity coverage is sparse Entity coverage is sparse Add missing topic-critical entities and relationships based on the page’s actual subject, not raw mention counts.","passages":["Add missing topic-critical entities and relationships based on the page’s actual subject, not raw mention counts."],"popular":0,"url":"https://patrickstox.com/tools/entity-coverage-analyzer/#finding-low-coverage","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Keyword Idea Generator","desc":"Build transparent question, comparison, and modifier planning ideas with local clustering and no invented volumes.","snippetText":"Build transparent question, comparison, and modifier planning ideas with local clustering and no invented volumes.","href":"/tools/keyword-idea-generator/","meta":"Free tool","aliases":[],"toolCategories":["keywords-demand","ai-visibility"],"taxonomy":["keywords-demand","ai-visibility"],"text":"keyword-research questions autocomplete content-strategy","passages":[],"popular":0,"url":"https://patrickstox.com/tools/keyword-idea-generator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Keyword Idea Generator — Keyword idea is heuristic and unverified","desc":"Validate the suggested terms in first-party Search Console, paid-search, or keyword-volume data before prioritizing them.","snippetText":"Validate the suggested terms in first-party Search Console, paid-search, or keyword-volume data before prioritizing them.","href":"/tools/keyword-idea-generator/#finding-heuristic-unverified","parentHref":"/tools/keyword-idea-generator/","findingId":"heuristic-unverified","meta":"Free tool finding · info","aliases":["heuristic unverified","Keyword idea is heuristic and unverified"],"toolCategories":["keywords-demand","ai-visibility"],"taxonomy":["keywords-demand","ai-visibility"],"text":"Keyword idea is heuristic and unverified Keyword idea is heuristic and unverified Validate the suggested terms in first-party Search Console, paid-search, or keyword-volume data before prioritizing them.","passages":["Validate the suggested terms in first-party Search Console, paid-search, or keyword-volume data before prioritizing them."],"popular":0,"url":"https://patrickstox.com/tools/keyword-idea-generator/#finding-heuristic-unverified","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Keyword Idea Generator — Idea set has high near-duplicate overlap","desc":"Consolidate ideas in the repeated planning cluster into one topic brief, then keep separate variants only when query or SERP evidence supports a distinct page.","snippetText":"Consolidate ideas in the repeated planning cluster into one topic brief, then keep separate variants only when query or SERP evidence supports a distinct page.","href":"/tools/keyword-idea-generator/#finding-high-idea-overlap","parentHref":"/tools/keyword-idea-generator/","findingId":"high-idea-overlap","meta":"Free tool finding · info","aliases":["high idea overlap","Idea set has high near-duplicate overlap"],"toolCategories":["keywords-demand","ai-visibility"],"taxonomy":["keywords-demand","ai-visibility"],"text":"Idea set has high near-duplicate overlap Idea set has high near-duplicate overlap Consolidate ideas in the repeated planning cluster into one topic brief, then keep separate variants only when query or SERP evidence supports a distinct page.","passages":["Consolidate ideas in the repeated planning cluster into one topic brief, then keep separate variants only when query or SERP evidence supports a distinct page."],"popular":0,"url":"https://patrickstox.com/tools/keyword-idea-generator/#finding-high-idea-overlap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Brand Suggest Auditor","desc":"Review reputation and comparison query framings around a brand without overstating them as live suggestions.","snippetText":"Review reputation and comparison query framings around a brand without overstating them as live suggestions.","href":"/tools/brand-suggest-auditor/","meta":"Free tool","aliases":[],"toolCategories":["keywords-demand","ppc-seo"],"taxonomy":["keywords-demand","ppc-seo"],"text":"brand search reputation suggestions reviews","passages":[],"popular":0,"url":"https://patrickstox.com/tools/brand-suggest-auditor/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand Suggest Auditor — Brand query framing suggests a negative concern","desc":"Manually check the generated concern query, then address verified recurring concerns with an accurate support, policy, or reputation page rather than reacting to the heuristic alone.","snippetText":"Manually check the generated concern query, then address verified recurring concerns with an accurate support, policy, or reputation page rather than reacting to the heuristic alone.","href":"/tools/brand-suggest-auditor/#finding-negative-framing","parentHref":"/tools/brand-suggest-auditor/","findingId":"negative-framing","meta":"Free tool finding · high","aliases":["negative framing","Brand query framing suggests a negative concern"],"toolCategories":["keywords-demand","ppc-seo"],"taxonomy":["keywords-demand","ppc-seo"],"text":"Brand query framing suggests a negative concern Brand query framing suggests a negative concern Manually check the generated concern query, then address verified recurring concerns with an accurate support, policy, or reputation page rather than reacting to the heuristic alone.","passages":["Manually check the generated concern query, then address verified recurring concerns with an accurate support, policy, or reputation page rather than reacting to the heuristic alone."],"popular":0,"url":"https://patrickstox.com/tools/brand-suggest-auditor/#finding-negative-framing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand Suggest Auditor — Brand is framed against a competitor","desc":"Review the generated competitor comparison manually and publish a factual comparison page only when the framing reflects real customer research.","snippetText":"Review the generated competitor comparison manually and publish a factual comparison page only when the framing reflects real customer research.","href":"/tools/brand-suggest-auditor/#finding-comparison-framing","parentHref":"/tools/brand-suggest-auditor/","findingId":"comparison-framing","meta":"Free tool finding · warning","aliases":["comparison framing","Brand is framed against a competitor"],"toolCategories":["keywords-demand","ppc-seo"],"taxonomy":["keywords-demand","ppc-seo"],"text":"Brand is framed against a competitor Brand is framed against a competitor Review the generated competitor comparison manually and publish a factual comparison page only when the framing reflects real customer research.","passages":["Review the generated competitor comparison manually and publish a factual comparison page only when the framing reflects real customer research."],"popular":0,"url":"https://patrickstox.com/tools/brand-suggest-auditor/#finding-comparison-framing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand Suggest Auditor — Brand query raises legitimacy or safety concerns","desc":"Verify whether legitimacy or safety questions actually appear in search/support data, then strengthen transparent company, security, review, or returns information tied to the confirmed concern.","snippetText":"Verify whether legitimacy or safety questions actually appear in search/support data, then strengthen transparent company, security, review, or returns information tied to the confirmed concern.","href":"/tools/brand-suggest-auditor/#finding-trust-framing","parentHref":"/tools/brand-suggest-auditor/","findingId":"trust-framing","meta":"Free tool finding · high","aliases":["trust framing","Brand query raises legitimacy or safety concerns"],"toolCategories":["keywords-demand","ppc-seo"],"taxonomy":["keywords-demand","ppc-seo"],"text":"Brand query raises legitimacy or safety concerns Brand query raises legitimacy or safety concerns Verify whether legitimacy or safety questions actually appear in search/support data, then strengthen transparent company, security, review, or returns information tied to the confirmed concern.","passages":["Verify whether legitimacy or safety questions actually appear in search/support data, then strengthen transparent company, security, review, or returns information tied to the confirmed concern."],"popular":0,"url":"https://patrickstox.com/tools/brand-suggest-auditor/#finding-trust-framing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand Suggest Auditor — Generated brand-risk query needs manual verification","desc":"Check the prompt in a clean search session and corroborate it with Search Console, support, or survey evidence before mapping it to content.","snippetText":"Check the prompt in a clean search session and corroborate it with Search Console, support, or survey evidence before mapping it to content.","href":"/tools/brand-suggest-auditor/#finding-manual-verification","parentHref":"/tools/brand-suggest-auditor/","findingId":"manual-verification","meta":"Free tool finding · info","aliases":["manual verification","Generated brand-risk query needs manual verification"],"toolCategories":["keywords-demand","ppc-seo"],"taxonomy":["keywords-demand","ppc-seo"],"text":"Generated brand-risk query needs manual verification Generated brand-risk query needs manual verification Check the prompt in a clean search session and corroborate it with Search Console, support, or survey evidence before mapping it to content.","passages":["Check the prompt in a clean search session and corroborate it with Search Console, support, or survey evidence before mapping it to content."],"popular":0,"url":"https://patrickstox.com/tools/brand-suggest-auditor/#finding-manual-verification","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"AI Content Brief Generator","desc":"Assemble an exportable brief while preserving which research inputs are observed, heuristic, or not evaluated.","snippetText":"Assemble an exportable brief while preserving which research inputs are observed, heuristic, or not evaluated.","href":"/tools/ai-content-brief-generator/","meta":"Free tool","aliases":[],"toolCategories":["on-page-content","ai-visibility"],"taxonomy":["on-page-content","ai-visibility"],"text":"content brief ai search entities keywords","passages":[],"popular":0,"url":"https://patrickstox.com/tools/ai-content-brief-generator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Content Brief Generator — Brief contains an uncovered validation topic","desc":"Add a dedicated brief section or question that directly covers the flagged topic and defines what evidence the writer must include.","snippetText":"Add a dedicated brief section or question that directly covers the flagged topic and defines what evidence the writer must include.","href":"/tools/ai-content-brief-generator/#finding-uncovered-topic","parentHref":"/tools/ai-content-brief-generator/","findingId":"uncovered-topic","meta":"Free tool finding · warning","aliases":["uncovered topic","Brief contains an uncovered validation topic"],"toolCategories":["on-page-content","ai-visibility"],"taxonomy":["on-page-content","ai-visibility"],"text":"Brief contains an uncovered validation topic Brief contains an uncovered validation topic Add a dedicated brief section or question that directly covers the flagged topic and defines what evidence the writer must include.","passages":["Add a dedicated brief section or question that directly covers the flagged topic and defines what evidence the writer must include."],"popular":0,"url":"https://patrickstox.com/tools/ai-content-brief-generator/#finding-uncovered-topic","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Content Brief Generator — Brief lacks an evidence/source plan","desc":"List the primary source, first-party data, expert input, or reproducible test needed for each important claim before drafting.","snippetText":"List the primary source, first-party data, expert input, or reproducible test needed for each important claim before drafting.","href":"/tools/ai-content-brief-generator/#finding-weak-evidence-plan","parentHref":"/tools/ai-content-brief-generator/","findingId":"weak-evidence-plan","meta":"Free tool finding · warning","aliases":["weak evidence plan","Brief lacks an evidence/source plan"],"toolCategories":["on-page-content","ai-visibility"],"taxonomy":["on-page-content","ai-visibility"],"text":"Brief lacks an evidence/source plan Brief lacks an evidence/source plan List the primary source, first-party data, expert input, or reproducible test needed for each important claim before drafting.","passages":["List the primary source, first-party data, expert input, or reproducible test needed for each important claim before drafting."],"popular":0,"url":"https://patrickstox.com/tools/ai-content-brief-generator/#finding-weak-evidence-plan","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Content Brief Generator — Brief does not cover a required intent","desc":"Add a section whose format and answer satisfy the omitted intent—informational, comparison, transactional, or navigational—without diluting the primary query.","snippetText":"Add a section whose format and answer satisfy the omitted intent—informational, comparison, transactional, or navigational—without diluting the primary query.","href":"/tools/ai-content-brief-generator/#finding-missing-intent","parentHref":"/tools/ai-content-brief-generator/","findingId":"missing-intent","meta":"Free tool finding · warning","aliases":["missing intent","Brief does not cover a required intent"],"toolCategories":["on-page-content","ai-visibility"],"taxonomy":["on-page-content","ai-visibility"],"text":"Brief does not cover a required intent Brief does not cover a required intent Add a section whose format and answer satisfy the omitted intent—informational, comparison, transactional, or navigational—without diluting the primary query.","passages":["Add a section whose format and answer satisfy the omitted intent—informational, comparison, transactional, or navigational—without diluting the primary query."],"popular":0,"url":"https://patrickstox.com/tools/ai-content-brief-generator/#finding-missing-intent","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Content Brief Generator — Brief sections overlap","desc":"Merge sections that answer the same intent, keep the stronger heading, and move any unique evidence requirements into that single outline item.","snippetText":"Merge sections that answer the same intent, keep the stronger heading, and move any unique evidence requirements into that single outline item.","href":"/tools/ai-content-brief-generator/#finding-duplicate-section","parentHref":"/tools/ai-content-brief-generator/","findingId":"duplicate-section","meta":"Free tool finding · info","aliases":["duplicate section","Brief sections overlap"],"toolCategories":["on-page-content","ai-visibility"],"taxonomy":["on-page-content","ai-visibility"],"text":"Brief sections overlap Brief sections overlap Merge sections that answer the same intent, keep the stronger heading, and move any unique evidence requirements into that single outline item.","passages":["Merge sections that answer the same intent, keep the stronger heading, and move any unique evidence requirements into that single outline item."],"popular":0,"url":"https://patrickstox.com/tools/ai-content-brief-generator/#finding-duplicate-section","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Local SERP Generator","desc":"Build a Google search link for a manual city or coordinate, country, language, and device context — without scraping results.","snippetText":"Build a Google search link for a manual city or coordinate, country, language, and device context — without scraping results.","href":"/tools/local-serp-checker/","meta":"Free tool","aliases":[],"toolCategories":["vertical-seo","serp-snippets","international-seo"],"taxonomy":["vertical-seo","serp-snippets","international-seo"],"text":"local serp uule international seo google location","passages":[],"popular":0,"url":"https://patrickstox.com/tools/local-serp-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Local SERP Generator — Location uses a place-name approximation","desc":"Add verified latitude and longitude when the comparison requires an exact point, then verify Google honored the hint in a signed-out device-appropriate session.","snippetText":"Add verified latitude and longitude when the comparison requires an exact point, then verify Google honored the hint in a signed-out device-appropriate session.","href":"/tools/local-serp-checker/#finding-coordinates-missing","parentHref":"/tools/local-serp-checker/","findingId":"coordinates-missing","meta":"Free tool finding · warning","aliases":["coordinates missing","Location uses a place-name approximation"],"toolCategories":["vertical-seo","serp-snippets","international-seo"],"taxonomy":["vertical-seo","serp-snippets","international-seo"],"text":"Location uses a place-name approximation Location uses a place-name approximation Add verified latitude and longitude when the comparison requires an exact point, then verify Google honored the hint in a signed-out device-appropriate session.","passages":["Add verified latitude and longitude when the comparison requires an exact point, then verify Google honored the hint in a signed-out device-appropriate session."],"popular":0,"url":"https://patrickstox.com/tools/local-serp-checker/#finding-coordinates-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Local SERP Generator — Device or language uses a default assumption","desc":"Choose the intended device and language, then open the URL in a matching signed-out browsing context.","snippetText":"Choose the intended device and language, then open the URL in a matching signed-out browsing context.","href":"/tools/local-serp-checker/#finding-device-default","parentHref":"/tools/local-serp-checker/","findingId":"device-default","meta":"Free tool finding · info","aliases":["device default","Device or language uses a default assumption"],"toolCategories":["vertical-seo","serp-snippets","international-seo"],"taxonomy":["vertical-seo","serp-snippets","international-seo"],"text":"Device or language uses a default assumption Device or language uses a default assumption Choose the intended device and language, then open the URL in a matching signed-out browsing context.","passages":["Choose the intended device and language, then open the URL in a matching signed-out browsing context."],"popular":0,"url":"https://patrickstox.com/tools/local-serp-checker/#finding-device-default","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Local SERP Generator — Imported local result positions changed","desc":"Verify both exports use the same query, location, device, source, and result depth, then investigate the URLs that moved or left the later snapshot.","snippetText":"Verify both exports use the same query, location, device, source, and result depth, then investigate the URLs that moved or left the later snapshot.","href":"/tools/local-serp-checker/#finding-result-position-change","parentHref":"/tools/local-serp-checker/","findingId":"result-position-change","meta":"Free tool finding · warning","aliases":["result position change","Imported local result positions changed"],"toolCategories":["vertical-seo","serp-snippets","international-seo"],"taxonomy":["vertical-seo","serp-snippets","international-seo"],"text":"Imported local result positions changed Imported local result positions changed Verify both exports use the same query, location, device, source, and result depth, then investigate the URLs that moved or left the later snapshot.","passages":["Verify both exports use the same query, location, device, source, and result depth, then investigate the URLs that moved or left the later snapshot."],"popular":0,"url":"https://patrickstox.com/tools/local-serp-checker/#finding-result-position-change","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"CMS & Tech Detector","desc":"Inspect a public page's visible HTML and selected response headers for CMS, framework, CDN, and analytics fingerprints.","snippetText":"Inspect a public page's visible HTML and selected response headers for CMS, framework, CDN, and analytics fingerprints.","href":"/tools/tech-stack-checker/","meta":"Free tool","aliases":[],"toolCategories":["site-health","crawling-indexing"],"taxonomy":["site-health","crawling-indexing"],"text":"cms detector tech stack wordpress framework","passages":[],"popular":0,"url":"https://patrickstox.com/tools/tech-stack-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"CMS & Tech Detector — CMS fingerprint is publicly visible","desc":"If CMS disclosure is unintended, remove generator metadata and public version markers while keeping required assets functional.","snippetText":"If CMS disclosure is unintended, remove generator metadata and public version markers while keeping required assets functional.","href":"/tools/tech-stack-checker/#finding-cms-detected","parentHref":"/tools/tech-stack-checker/","findingId":"cms-detected","meta":"Free tool finding · info","aliases":["cms detected","CMS fingerprint is publicly visible"],"toolCategories":["site-health","crawling-indexing"],"taxonomy":["site-health","crawling-indexing"],"text":"CMS fingerprint is publicly visible CMS fingerprint is publicly visible If CMS disclosure is unintended, remove generator metadata and public version markers while keeping required assets functional.","passages":["If CMS disclosure is unintended, remove generator metadata and public version markers while keeping required assets functional."],"popular":0,"url":"https://patrickstox.com/tools/tech-stack-checker/#finding-cms-detected","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"CMS & Tech Detector — Framework fingerprint is publicly visible","desc":"If framework disclosure creates risk, suppress version-specific headers and signatures and keep the framework fully patched.","snippetText":"If framework disclosure creates risk, suppress version-specific headers and signatures and keep the framework fully patched.","href":"/tools/tech-stack-checker/#finding-framework-detected","parentHref":"/tools/tech-stack-checker/","findingId":"framework-detected","meta":"Free tool finding · info","aliases":["framework detected","Framework fingerprint is publicly visible"],"toolCategories":["site-health","crawling-indexing"],"taxonomy":["site-health","crawling-indexing"],"text":"Framework fingerprint is publicly visible Framework fingerprint is publicly visible If framework disclosure creates risk, suppress version-specific headers and signatures and keep the framework fully patched.","passages":["If framework disclosure creates risk, suppress version-specific headers and signatures and keep the framework fully patched."],"popular":0,"url":"https://patrickstox.com/tools/tech-stack-checker/#finding-framework-detected","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"CMS & Tech Detector — Analytics or tag-manager fingerprint is visible","desc":"Audit every detected analytics and tag-manager script, remove unused tags, and gate nonessential tracking behind consent where required.","snippetText":"Audit every detected analytics and tag-manager script, remove unused tags, and gate nonessential tracking behind consent where required.","href":"/tools/tech-stack-checker/#finding-analytics-detected","parentHref":"/tools/tech-stack-checker/","findingId":"analytics-detected","meta":"Free tool finding · info","aliases":["analytics detected","Analytics or tag-manager fingerprint is visible"],"toolCategories":["site-health","crawling-indexing"],"taxonomy":["site-health","crawling-indexing"],"text":"Analytics or tag-manager fingerprint is visible Analytics or tag-manager fingerprint is visible Audit every detected analytics and tag-manager script, remove unused tags, and gate nonessential tracking behind consent where required.","passages":["Audit every detected analytics and tag-manager script, remove unused tags, and gate nonessential tracking behind consent where required."],"popular":0,"url":"https://patrickstox.com/tools/tech-stack-checker/#finding-analytics-detected","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"CMS & Tech Detector — Server technology is disclosed in headers","desc":"Remove or generalize Server and X-Powered-By headers at the origin or proxy, and patch the disclosed software.","snippetText":"Remove or generalize Server and X-Powered-By headers at the origin or proxy, and patch the disclosed software.","href":"/tools/tech-stack-checker/#finding-server-header-disclosure","parentHref":"/tools/tech-stack-checker/","findingId":"server-header-disclosure","meta":"Free tool finding · warning","aliases":["server header disclosure","Server technology is disclosed in headers"],"toolCategories":["site-health","crawling-indexing"],"taxonomy":["site-health","crawling-indexing"],"text":"Server technology is disclosed in headers Server technology is disclosed in headers Remove or generalize Server and X-Powered-By headers at the origin or proxy, and patch the disclosed software.","passages":["Remove or generalize Server and X-Powered-By headers at the origin or proxy, and patch the disclosed software."],"popular":0,"url":"https://patrickstox.com/tools/tech-stack-checker/#finding-server-header-disclosure","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"CMS & Tech Detector — Technology fingerprints conflict","desc":"Inspect the conflicting headers, markup, and assets, then remove stale signatures so the reported stack matches production.","snippetText":"Inspect the conflicting headers, markup, and assets, then remove stale signatures so the reported stack matches production.","href":"/tools/tech-stack-checker/#finding-conflicting-signals","parentHref":"/tools/tech-stack-checker/","findingId":"conflicting-signals","meta":"Free tool finding · warning","aliases":["conflicting signals","Technology fingerprints conflict"],"toolCategories":["site-health","crawling-indexing"],"taxonomy":["site-health","crawling-indexing"],"text":"Technology fingerprints conflict Technology fingerprints conflict Inspect the conflicting headers, markup, and assets, then remove stale signatures so the reported stack matches production.","passages":["Inspect the conflicting headers, markup, and assets, then remove stale signatures so the reported stack matches production."],"popular":0,"url":"https://patrickstox.com/tools/tech-stack-checker/#finding-conflicting-signals","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Schema Markup Generator","desc":"Free JSON-LD generator with 19 focused forms plus all 921 vendored Schema.org types. Browse inherited properties and expected ranges, use honest Google/Bing/retired badges, compose @graphs, and export six output formats.","snippetText":"Free JSON-LD generator with 19 focused forms plus all 921 vendored Schema.org types. Browse inherited properties and expected ranges, use honest Google/Bing/retired badges, compose @graphs, and export six output formats.","href":"/tools/schema-generator/","meta":"Free tool","aliases":[],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"schema structured data json-ld rich results generator","passages":[],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Required schema field is missing","desc":"Fill every field marked Required for the selected schema type; for nested or repeated groups, complete each item before copying the JSON-LD.","snippetText":"Fill every field marked Required for the selected schema type; for nested or repeated groups, complete each item before copying the JSON-LD.","href":"/tools/schema-generator/#finding-required-field-missing","parentHref":"/tools/schema-generator/","findingId":"required-field-missing","meta":"Free tool finding · error","aliases":["required field missing","Required schema field is missing"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Required schema field is missing Required schema field is missing Fill every field marked Required for the selected schema type; for nested or repeated groups, complete each item before copying the JSON-LD. rule:schema.structured-data-validity","passages":["Fill every field marked Required for the selected schema type; for nested or repeated groups, complete each item before copying the JSON-LD."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-required-field-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Schema URL field is invalid","desc":"Replace the field value with an absolute http:// or https:// URL that resolves to the intended page or asset.","snippetText":"Replace the field value with an absolute http:// or https:// URL that resolves to the intended page or asset.","href":"/tools/schema-generator/#finding-invalid-url","parentHref":"/tools/schema-generator/","findingId":"invalid-url","meta":"Free tool finding · error","aliases":["invalid url","Schema URL field is invalid"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Schema URL field is invalid Schema URL field is invalid Replace the field value with an absolute http:// or https:// URL that resolves to the intended page or asset. rule:schema.structured-data-validity","passages":["Replace the field value with an absolute http:// or https:// URL that resolves to the intended page or asset."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-invalid-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Article headline exceeds 110 characters","desc":"Shorten the Article headline to 110 characters or fewer while keeping the page’s visible headline and schema headline consistent.","snippetText":"Shorten the Article headline to 110 characters or fewer while keeping the page’s visible headline and schema headline consistent.","href":"/tools/schema-generator/#finding-article-headline-long","parentHref":"/tools/schema-generator/","findingId":"article-headline-long","meta":"Free tool finding · warning","aliases":["article headline long","Article headline exceeds 110 characters"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Article headline exceeds 110 characters Article headline exceeds 110 characters Shorten the Article headline to 110 characters or fewer while keeping the page’s visible headline and schema headline consistent. rule:schema.structured-data-validity","passages":["Shorten the Article headline to 110 characters or fewer while keeping the page’s visible headline and schema headline consistent."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-article-headline-long","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Product lacks Offer, Review, or AggregateRating evidence","desc":"Add at least one valid Product offers, review, or aggregateRating object backed by information visibly present on the product page.","snippetText":"Add at least one valid Product offers, review, or aggregateRating object backed by information visibly present on the product page.","href":"/tools/schema-generator/#finding-product-evidence-missing","parentHref":"/tools/schema-generator/","findingId":"product-evidence-missing","meta":"Free tool finding · error","aliases":["product evidence missing","Product lacks Offer, Review, or AggregateRating evidence"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Product lacks Offer, Review, or AggregateRating evidence Product lacks Offer, Review, or AggregateRating evidence Add at least one valid Product offers, review, or aggregateRating object backed by information visibly present on the product page. rule:schema.structured-data-validity","passages":["Add at least one valid Product offers, review, or aggregateRating object backed by information visibly present on the product page."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-product-evidence-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Aggregate rating lacks ratingCount or reviewCount","desc":"Add ratingCount or reviewCount to aggregateRating using the count actually displayed on the page.","snippetText":"Add ratingCount or reviewCount to aggregateRating using the count actually displayed on the page.","href":"/tools/schema-generator/#finding-rating-count-missing","parentHref":"/tools/schema-generator/","findingId":"rating-count-missing","meta":"Free tool finding · error","aliases":["rating count missing","Aggregate rating lacks ratingCount or reviewCount"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Aggregate rating lacks ratingCount or reviewCount Aggregate rating lacks ratingCount or reviewCount Add ratingCount or reviewCount to aggregateRating using the count actually displayed on the page. rule:schema.structured-data-validity","passages":["Add ratingCount or reviewCount to aggregateRating using the count actually displayed on the page."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-rating-count-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Rating value exceeds best rating","desc":"Set ratingValue within the declared scale, or correct bestRating so it matches the rating system shown to users.","snippetText":"Set ratingValue within the declared scale, or correct bestRating so it matches the rating system shown to users.","href":"/tools/schema-generator/#finding-rating-out-of-range","parentHref":"/tools/schema-generator/","findingId":"rating-out-of-range","meta":"Free tool finding · error","aliases":["rating out of range","Rating value exceeds best rating"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Rating value exceeds best rating Rating value exceeds best rating Set ratingValue within the declared scale, or correct bestRating so it matches the rating system shown to users. rule:schema.structured-data-validity","passages":["Set ratingValue within the declared scale, or correct bestRating so it matches the rating system shown to users."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-rating-out-of-range","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Breadcrumb name is missing","desc":"Give every BreadcrumbList item a concise name matching the visible breadcrumb label.","snippetText":"Give every BreadcrumbList item a concise name matching the visible breadcrumb label.","href":"/tools/schema-generator/#finding-breadcrumb-name-missing","parentHref":"/tools/schema-generator/","findingId":"breadcrumb-name-missing","meta":"Free tool finding · error","aliases":["breadcrumb name missing","Breadcrumb name is missing"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Breadcrumb name is missing Breadcrumb name is missing Give every BreadcrumbList item a concise name matching the visible breadcrumb label. rule:schema.structured-data-validity","passages":["Give every BreadcrumbList item a concise name matching the visible breadcrumb label."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-breadcrumb-name-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Non-final breadcrumb URL is missing","desc":"Add an absolute URL for each non-final breadcrumb item; only the last item may omit its URL.","snippetText":"Add an absolute URL for each non-final breadcrumb item; only the last item may omit its URL.","href":"/tools/schema-generator/#finding-breadcrumb-url-missing","parentHref":"/tools/schema-generator/","findingId":"breadcrumb-url-missing","meta":"Free tool finding · error","aliases":["breadcrumb url missing","Non-final breadcrumb URL is missing"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Non-final breadcrumb URL is missing Non-final breadcrumb URL is missing Add an absolute URL for each non-final breadcrumb item; only the last item may omit its URL. rule:schema.structured-data-validity","passages":["Add an absolute URL for each non-final breadcrumb item; only the last item may omit its URL."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-breadcrumb-url-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Breadcrumb URL is invalid","desc":"Replace the breadcrumb value with a valid absolute http:// or https:// URL for that hierarchy level.","snippetText":"Replace the breadcrumb value with a valid absolute http:// or https:// URL for that hierarchy level.","href":"/tools/schema-generator/#finding-breadcrumb-url-invalid","parentHref":"/tools/schema-generator/","findingId":"breadcrumb-url-invalid","meta":"Free tool finding · error","aliases":["breadcrumb url invalid","Breadcrumb URL is invalid"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Breadcrumb URL is invalid Breadcrumb URL is invalid Replace the breadcrumb value with a valid absolute http:// or https:// URL for that hierarchy level. rule:schema.structured-data-validity","passages":["Replace the breadcrumb value with a valid absolute http:// or https:// URL for that hierarchy level."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-breadcrumb-url-invalid","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Commerce feed has an error-level validation issue","desc":"Correct every error-level field shown in the Commerce feed meter before exporting, including required identifiers, valid enumerations, prices, and URLs.","snippetText":"Correct every error-level field shown in the Commerce feed meter before exporting, including required identifiers, valid enumerations, prices, and URLs.","href":"/tools/schema-generator/#finding-commerce-feed-error","parentHref":"/tools/schema-generator/","findingId":"commerce-feed-error","meta":"Free tool finding · error","aliases":["commerce feed error","Commerce feed has an error-level validation issue"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Commerce feed has an error-level validation issue Commerce feed has an error-level validation issue Correct every error-level field shown in the Commerce feed meter before exporting, including required identifiers, valid enumerations, prices, and URLs. rule:schema.structured-data-validity","passages":["Correct every error-level field shown in the Commerce feed meter before exporting, including required identifiers, valid enumerations, prices, and URLs."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-commerce-feed-error","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Schema Markup Generator — Recommended schema field is missing","desc":"Add the specifically flagged recommended property when the page has trustworthy source data for it; do not invent a value solely to clear the warning.","snippetText":"Add the specifically flagged recommended property when the page has trustworthy source data for it; do not invent a value solely to clear the warning.","href":"/tools/schema-generator/#finding-recommended-field-missing","parentHref":"/tools/schema-generator/","findingId":"recommended-field-missing","meta":"Free tool finding · warning","aliases":["recommended field missing","Recommended schema field is missing"],"toolCategories":["structured-data"],"taxonomy":["structured-data"],"text":"Recommended schema field is missing Recommended schema field is missing Add the specifically flagged recommended property when the page has trustworthy source data for it; do not invent a value solely to clear the warning. rule:schema.structured-data-validity","passages":["Add the specifically flagged recommended property when the page has trustworthy source data for it; do not invent a value solely to clear the warning."],"popular":0,"url":"https://patrickstox.com/tools/schema-generator/#finding-recommended-field-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Redirect Chain Mapper","desc":"Trace every hop of a redirect chain — status codes, what changed at each step (HTTPS, www, slash, domain, path), a severity verdict, meta-refresh detection, and cleanup rules exportable for Cloudflare, .htaccess, and nginx. Single URL or batch of 8.","snippetText":"Trace every hop of a redirect chain — status codes, what changed at each step (HTTPS, www, slash, domain, path), a severity verdict, meta-refresh detection, and cleanup rules exportable for Cloudflare, .htaccess, and nginx. Single URL or batch of 8.","href":"/tools/redirect-chain-mapper/","meta":"Free tool","aliases":["accepts url","produces url","produces report","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"redirects redirect chain 301 technical seo site migration accepts url produces url produces report generic http html apache nginx cloudflare workers rules wordpress shopify nextjs vercel","passages":["accepts url","produces url","produces report","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/redirect-chain-mapper/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Chain Mapper — Redirect chain has an unnecessary hop","desc":"Change the first redirect to point directly to the final 2xx URL and update internal links to that destination.","snippetText":"Change the first redirect to point directly to the final 2xx URL and update internal links to that destination.","href":"/tools/redirect-chain-mapper/#finding-extra-hop","parentHref":"/tools/redirect-chain-mapper/","findingId":"extra-hop","meta":"Free tool finding · warning","aliases":["extra hop","Redirect chain has an unnecessary hop"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Redirect chain has an unnecessary hop Redirect chain has an unnecessary hop Change the first redirect to point directly to the final 2xx URL and update internal links to that destination. rule:redirects.chain-resolution","passages":["Change the first redirect to point directly to the final 2xx URL and update internal links to that destination."],"popular":0,"url":"https://patrickstox.com/tools/redirect-chain-mapper/#finding-extra-hop","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Chain Mapper — Redirect chain loops","desc":"Delete or rewrite the circular rules so every source reaches one live final URL without revisiting a prior hop.","snippetText":"Delete or rewrite the circular rules so every source reaches one live final URL without revisiting a prior hop.","href":"/tools/redirect-chain-mapper/#finding-loop","parentHref":"/tools/redirect-chain-mapper/","findingId":"loop","meta":"Free tool finding · critical","aliases":["loop","Redirect chain loops"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Redirect chain loops Redirect chain loops Delete or rewrite the circular rules so every source reaches one live final URL without revisiting a prior hop. rule:redirects.chain-resolution","passages":["Delete or rewrite the circular rules so every source reaches one live final URL without revisiting a prior hop."],"popular":0,"url":"https://patrickstox.com/tools/redirect-chain-mapper/#finding-loop","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Chain Mapper — Redirect chain ends on an error response","desc":"Restore the final page or replace the last Location target with the closest valid 2xx destination.","snippetText":"Restore the final page or replace the last Location target with the closest valid 2xx destination.","href":"/tools/redirect-chain-mapper/#finding-broken-target","parentHref":"/tools/redirect-chain-mapper/","findingId":"broken-target","meta":"Free tool finding · critical","aliases":["broken target","Redirect chain ends on an error response"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Redirect chain ends on an error response Redirect chain ends on an error response Restore the final page or replace the last Location target with the closest valid 2xx destination. rule:redirects.chain-resolution","passages":["Restore the final page or replace the last Location target with the closest valid 2xx destination."],"popular":0,"url":"https://patrickstox.com/tools/redirect-chain-mapper/#finding-broken-target","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Chain Mapper — Redirect downgrades from HTTPS to HTTP","desc":"Change the downgrade hop to its HTTPS destination and verify no later Location header returns to HTTP.","snippetText":"Change the downgrade hop to its HTTPS destination and verify no later Location header returns to HTTP.","href":"/tools/redirect-chain-mapper/#finding-https-downgrade","parentHref":"/tools/redirect-chain-mapper/","findingId":"https-downgrade","meta":"Free tool finding · critical","aliases":["https downgrade","Redirect downgrades from HTTPS to HTTP"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Redirect downgrades from HTTPS to HTTP Redirect downgrades from HTTPS to HTTP Change the downgrade hop to its HTTPS destination and verify no later Location header returns to HTTP. rule:redirects.chain-resolution","passages":["Change the downgrade hop to its HTTPS destination and verify no later Location header returns to HTTP."],"popular":0,"url":"https://patrickstox.com/tools/redirect-chain-mapper/#finding-https-downgrade","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Chain Mapper — Redirect crosses domains","desc":"Verify the host change is intentional and owned; otherwise redirect to the correct same-domain destination and preserve the original path intent.","snippetText":"Verify the host change is intentional and owned; otherwise redirect to the correct same-domain destination and preserve the original path intent.","href":"/tools/redirect-chain-mapper/#finding-cross-domain","parentHref":"/tools/redirect-chain-mapper/","findingId":"cross-domain","meta":"Free tool finding · warning","aliases":["cross domain","Redirect crosses domains"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Redirect crosses domains Redirect crosses domains Verify the host change is intentional and owned; otherwise redirect to the correct same-domain destination and preserve the original path intent. rule:redirects.chain-resolution","passages":["Verify the host change is intentional and owned; otherwise redirect to the correct same-domain destination and preserve the original path intent."],"popular":0,"url":"https://patrickstox.com/tools/redirect-chain-mapper/#finding-cross-domain","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Chain Mapper — Page uses a meta refresh","desc":"Implement the move as a server-side 301/308 and remove the meta refresh from the source HTML.","snippetText":"Implement the move as a server-side 301/308 and remove the meta refresh from the source HTML.","href":"/tools/redirect-chain-mapper/#finding-meta-refresh","parentHref":"/tools/redirect-chain-mapper/","findingId":"meta-refresh","meta":"Free tool finding · warning","aliases":["meta refresh","Page uses a meta refresh"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Page uses a meta refresh Page uses a meta refresh Implement the move as a server-side 301/308 and remove the meta refresh from the source HTML. rule:redirects.chain-resolution","passages":["Implement the move as a server-side 301/308 and remove the meta refresh from the source HTML."],"popular":0,"url":"https://patrickstox.com/tools/redirect-chain-mapper/#finding-meta-refresh","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Chain Mapper — Redirect chain exceeds the trace limit","desc":"Trace the chain at the server/CDN ruleset, then collapse all discovered intermediates into one redirect to the confirmed final URL.","snippetText":"Trace the chain at the server/CDN ruleset, then collapse all discovered intermediates into one redirect to the confirmed final URL.","href":"/tools/redirect-chain-mapper/#finding-hop-limit","parentHref":"/tools/redirect-chain-mapper/","findingId":"hop-limit","meta":"Free tool finding · critical","aliases":["hop limit","Redirect chain exceeds the trace limit"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Redirect chain exceeds the trace limit Redirect chain exceeds the trace limit Trace the chain at the server/CDN ruleset, then collapse all discovered intermediates into one redirect to the confirmed final URL. rule:redirects.chain-resolution","passages":["Trace the chain at the server/CDN ruleset, then collapse all discovered intermediates into one redirect to the confirmed final URL."],"popular":0,"url":"https://patrickstox.com/tools/redirect-chain-mapper/#finding-hop-limit","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Redirect Checker","desc":"Check where a URL redirects — final status code, every hop in the chain, and the destination — for one URL or a quick batch. A fast, no-frills redirect checker; for per-hop cleanup rules use the Redirect Chain Mapper, and for hundreds of URLs use the Bulk HTTP Status Code Checker.","snippetText":"Check where a URL redirects — final status code, every hop in the chain, and the destination — for one URL or a quick batch. A fast, no-frills redirect checker; for per-hop cleanup rules use the Redirect Chain Mapper, and for hundreds of URLs use the Bulk HTTP Status Code Checker.","href":"/tools/redirect-checker/","meta":"Free tool","aliases":["accepts url","produces url","produces report","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel","http redirect test","url redirect test","redirect status"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"redirects redirect checker 301 302 http status accepts url produces url produces report generic http html apache nginx cloudflare workers rules wordpress shopify nextjs vercel","passages":["accepts url","produces url","produces report","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"popular":4,"url":"https://patrickstox.com/tools/redirect-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Checker — Redirect uses two hops","desc":"Replace both redirects with one server-side 301/308 from the original URL directly to the final destination.","snippetText":"Replace both redirects with one server-side 301/308 from the original URL directly to the final destination.","href":"/tools/redirect-checker/#finding-minor-chain","parentHref":"/tools/redirect-checker/","findingId":"minor-chain","meta":"Free tool finding · yellow","aliases":["minor chain","Redirect uses two hops"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Redirect uses two hops Redirect uses two hops Replace both redirects with one server-side 301/308 from the original URL directly to the final destination. rule:redirects.chain-resolution","passages":["Replace both redirects with one server-side 301/308 from the original URL directly to the final destination."],"popular":0,"url":"https://patrickstox.com/tools/redirect-checker/#finding-minor-chain","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Checker — Redirect chain is long","desc":"Update every controllable source and redirect rule to point directly at the final live URL, eliminating intermediate hops.","snippetText":"Update every controllable source and redirect rule to point directly at the final live URL, eliminating intermediate hops.","href":"/tools/redirect-checker/#finding-long-chain","parentHref":"/tools/redirect-checker/","findingId":"long-chain","meta":"Free tool finding · orange","aliases":["long chain","Redirect chain is long"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Redirect chain is long Redirect chain is long Update every controllable source and redirect rule to point directly at the final live URL, eliminating intermediate hops. rule:redirects.chain-resolution","passages":["Update every controllable source and redirect rule to point directly at the final live URL, eliminating intermediate hops."],"popular":0,"url":"https://patrickstox.com/tools/redirect-checker/#finding-long-chain","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Checker — Redirect loop detected","desc":"Remove the circular rule and make each URL resolve through at most one redirect to a live destination outside the cycle.","snippetText":"Remove the circular rule and make each URL resolve through at most one redirect to a live destination outside the cycle.","href":"/tools/redirect-checker/#finding-loop","parentHref":"/tools/redirect-checker/","findingId":"loop","meta":"Free tool finding · red","aliases":["loop","Redirect loop detected"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Redirect loop detected Redirect loop detected Remove the circular rule and make each URL resolve through at most one redirect to a live destination outside the cycle. rule:redirects.chain-resolution","passages":["Remove the circular rule and make each URL resolve through at most one redirect to a live destination outside the cycle."],"popular":0,"url":"https://patrickstox.com/tools/redirect-checker/#finding-loop","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Checker — Redirect downgrades to HTTP","desc":"Change the offending Location header to the HTTPS version and ensure subsequent hops stay on HTTPS.","snippetText":"Change the offending Location header to the HTTPS version and ensure subsequent hops stay on HTTPS.","href":"/tools/redirect-checker/#finding-https-downgrade","parentHref":"/tools/redirect-checker/","findingId":"https-downgrade","meta":"Free tool finding · red","aliases":["https downgrade","Redirect downgrades to HTTP"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Redirect downgrades to HTTP Redirect downgrades to HTTP Change the offending Location header to the HTTPS version and ensure subsequent hops stay on HTTPS. rule:redirects.chain-resolution","passages":["Change the offending Location header to the HTTPS version and ensure subsequent hops stay on HTTPS."],"popular":0,"url":"https://patrickstox.com/tools/redirect-checker/#finding-https-downgrade","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Checker — Final destination is broken","desc":"Restore a 2xx response at the intended destination or redirect the source directly to the closest live replacement.","snippetText":"Restore a 2xx response at the intended destination or redirect the source directly to the closest live replacement.","href":"/tools/redirect-checker/#finding-broken-final","parentHref":"/tools/redirect-checker/","findingId":"broken-final","meta":"Free tool finding · red","aliases":["broken final","Final destination is broken"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Final destination is broken Final destination is broken Restore a 2xx response at the intended destination or redirect the source directly to the closest live replacement. rule:redirects.chain-resolution","passages":["Restore a 2xx response at the intended destination or redirect the source directly to the closest live replacement."],"popular":0,"url":"https://patrickstox.com/tools/redirect-checker/#finding-broken-final","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Checker — Meta refresh redirect detected","desc":"Replace the HTML meta refresh with an HTTP 301/308 redirect, and update links to use the final URL.","snippetText":"Replace the HTML meta refresh with an HTTP 301/308 redirect, and update links to use the final URL.","href":"/tools/redirect-checker/#finding-meta-refresh","parentHref":"/tools/redirect-checker/","findingId":"meta-refresh","meta":"Free tool finding · orange","aliases":["meta refresh","Meta refresh redirect detected"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Meta refresh redirect detected Meta refresh redirect detected Replace the HTML meta refresh with an HTTP 301/308 redirect, and update links to use the final URL. rule:redirects.chain-resolution","passages":["Replace the HTML meta refresh with an HTTP 301/308 redirect, and update links to use the final URL."],"popular":0,"url":"https://patrickstox.com/tools/redirect-checker/#finding-meta-refresh","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Checker — Redirect changes domain","desc":"Confirm the destination domain is intentional, then use a permanent server-side redirect and preserve ownership, path intent, and canonical signals across the move.","snippetText":"Confirm the destination domain is intentional, then use a permanent server-side redirect and preserve ownership, path intent, and canonical signals across the move.","href":"/tools/redirect-checker/#finding-domain-change","parentHref":"/tools/redirect-checker/","findingId":"domain-change","meta":"Free tool finding · yellow","aliases":["domain change","Redirect changes domain"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Redirect changes domain Redirect changes domain Confirm the destination domain is intentional, then use a permanent server-side redirect and preserve ownership, path intent, and canonical signals across the move. rule:redirects.chain-resolution","passages":["Confirm the destination domain is intentional, then use a permanent server-side redirect and preserve ownership, path intent, and canonical signals across the move."],"popular":0,"url":"https://patrickstox.com/tools/redirect-checker/#finding-domain-change","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Checker — Redirect changes query parameters","desc":"Preserve required query parameters in the Location value and deliberately remove only tracking or obsolete parameters that do not affect destination content.","snippetText":"Preserve required query parameters in the Location value and deliberately remove only tracking or obsolete parameters that do not affect destination content.","href":"/tools/redirect-checker/#finding-query-change","parentHref":"/tools/redirect-checker/","findingId":"query-change","meta":"Free tool finding · yellow","aliases":["query change","Redirect changes query parameters"],"toolCategories":["redirects-migrations","crawling-indexing"],"taxonomy":["redirects-migrations","crawling-indexing"],"text":"Redirect changes query parameters Redirect changes query parameters Preserve required query parameters in the Location value and deliberately remove only tracking or obsolete parameters that do not affect destination content. rule:redirects.chain-resolution","passages":["Preserve required query parameters in the Location value and deliberately remove only tracking or obsolete parameters that do not affect destination content."],"popular":0,"url":"https://patrickstox.com/tools/redirect-checker/#finding-query-change","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"SEO ROI Calculator","desc":"Model the revenue impact of an SEO investment — content, links, technical, or a full program — with conservative/optimistic scenarios, a break-even chart, and a paid-ads comparison. Runs entirely in your browser.","snippetText":"Model the revenue impact of an SEO investment — content, links, technical, or a full program — with conservative/optimistic scenarios, a break-even chart, and a paid-ads comparison. Runs entirely in your browser.","href":"/tools/seo-roi-calculator/","meta":"Free tool","aliases":[],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"roi seo roi measurement reporting business case","passages":[],"popular":0,"url":"https://patrickstox.com/tools/seo-roi-calculator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO ROI Calculator — Projected SEO ROI is negative","desc":"Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback.","snippetText":"Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback.","href":"/tools/seo-roi-calculator/#finding-negative-roi","parentHref":"/tools/seo-roi-calculator/","findingId":"negative-roi","meta":"Free tool finding · high-risk","aliases":["negative roi","Projected SEO ROI is negative"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Projected SEO ROI is negative Projected SEO ROI is negative Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback.","passages":["Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback."],"popular":0,"url":"https://patrickstox.com/tools/seo-roi-calculator/#finding-negative-roi","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO ROI Calculator — Break-even is delayed","desc":"Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback.","snippetText":"Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback.","href":"/tools/seo-roi-calculator/#finding-slow-break-even","parentHref":"/tools/seo-roi-calculator/","findingId":"slow-break-even","meta":"Free tool finding · warning","aliases":["slow break even","Break-even is delayed"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Break-even is delayed Break-even is delayed Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback.","passages":["Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback."],"popular":0,"url":"https://patrickstox.com/tools/seo-roi-calculator/#finding-slow-break-even","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO ROI Calculator — Projection does not break even in the modeled period","desc":"Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback.","snippetText":"Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback.","href":"/tools/seo-roi-calculator/#finding-no-break-even","parentHref":"/tools/seo-roi-calculator/","findingId":"no-break-even","meta":"Free tool finding · high-risk","aliases":["no break even","Projection does not break even in the modeled period"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Projection does not break even in the modeled period Projection does not break even in the modeled period Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback.","passages":["Test a lower cost, longer horizon, faster ramp, or evidence-backed uplift; do not approve the case until the conservative assumptions meet the required payback."],"popular":0,"url":"https://patrickstox.com/tools/seo-roi-calculator/#finding-no-break-even","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO ROI Calculator — Outcome is highly sensitive to one assumption","desc":"Replace the named high-impact assumption with measured CRM or analytics data and rerun the model.","snippetText":"Replace the named high-impact assumption with measured CRM or analytics data and rerun the model.","href":"/tools/seo-roi-calculator/#finding-assumption-sensitive","parentHref":"/tools/seo-roi-calculator/","findingId":"assumption-sensitive","meta":"Free tool finding · warning","aliases":["assumption sensitive","Outcome is highly sensitive to one assumption"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Outcome is highly sensitive to one assumption Outcome is highly sensitive to one assumption Replace the named high-impact assumption with measured CRM or analytics data and rerun the model.","passages":["Replace the named high-impact assumption with measured CRM or analytics data and rerun the model."],"popular":0,"url":"https://patrickstox.com/tools/seo-roi-calculator/#finding-assumption-sensitive","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Enterprise SEO ROI Calculator","desc":"Model your SEO program as an acquisition channel: organic CAC, gross-margin LTV (optionally NPV-discounted), CAC payback, and a cohort-based gross-profit vs. cost chart. Runs entirely in your browser.","snippetText":"Model your SEO program as an acquisition channel: organic CAC, gross-margin LTV (optionally NPV-discounted), CAC payback, and a cohort-based gross-profit vs. cost chart. Runs entirely in your browser.","href":"/tools/enterprise-seo-ltv-cac-calculator/","meta":"Free tool","aliases":[],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"roi ltv cac enterprise seo measurement","passages":[],"popular":0,"url":"https://patrickstox.com/tools/enterprise-seo-ltv-cac-calculator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Enterprise SEO ROI Calculator — Modeled LTV:CAC is below target","desc":"Raise gross-margin lifetime value or lower acquisition cost by improving retention, conversion, deal value, or delivery efficiency before scaling.","snippetText":"Raise gross-margin lifetime value or lower acquisition cost by improving retention, conversion, deal value, or delivery efficiency before scaling.","href":"/tools/enterprise-seo-ltv-cac-calculator/#finding-ltv-cac-low","parentHref":"/tools/enterprise-seo-ltv-cac-calculator/","findingId":"ltv-cac-low","meta":"Free tool finding · high-risk","aliases":["ltv cac low","Modeled LTV:CAC is below target"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Modeled LTV:CAC is below target Modeled LTV:CAC is below target Raise gross-margin lifetime value or lower acquisition cost by improving retention, conversion, deal value, or delivery efficiency before scaling.","passages":["Raise gross-margin lifetime value or lower acquisition cost by improving retention, conversion, deal value, or delivery efficiency before scaling."],"popular":0,"url":"https://patrickstox.com/tools/enterprise-seo-ltv-cac-calculator/#finding-ltv-cac-low","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Enterprise SEO ROI Calculator — Modeled LTV:CAC is borderline","desc":"Stress-test churn, margin, conversion, and ramp assumptions and improve the weakest driver before approving more acquisition spend.","snippetText":"Stress-test churn, margin, conversion, and ramp assumptions and improve the weakest driver before approving more acquisition spend.","href":"/tools/enterprise-seo-ltv-cac-calculator/#finding-ltv-cac-borderline","parentHref":"/tools/enterprise-seo-ltv-cac-calculator/","findingId":"ltv-cac-borderline","meta":"Free tool finding · warning","aliases":["ltv cac borderline","Modeled LTV:CAC is borderline"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Modeled LTV:CAC is borderline Modeled LTV:CAC is borderline Stress-test churn, margin, conversion, and ramp assumptions and improve the weakest driver before approving more acquisition spend.","passages":["Stress-test churn, margin, conversion, and ramp assumptions and improve the weakest driver before approving more acquisition spend."],"popular":0,"url":"https://patrickstox.com/tools/enterprise-seo-ltv-cac-calculator/#finding-ltv-cac-borderline","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Enterprise SEO ROI Calculator — CAC payback period is long","desc":"Shorten CAC payback by reducing acquisition cost, accelerating ramp, or increasing early gross-margin revenue per acquired customer.","snippetText":"Shorten CAC payback by reducing acquisition cost, accelerating ramp, or increasing early gross-margin revenue per acquired customer.","href":"/tools/enterprise-seo-ltv-cac-calculator/#finding-payback-long","parentHref":"/tools/enterprise-seo-ltv-cac-calculator/","findingId":"payback-long","meta":"Free tool finding · warning","aliases":["payback long","CAC payback period is long"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"CAC payback period is long CAC payback period is long Shorten CAC payback by reducing acquisition cost, accelerating ramp, or increasing early gross-margin revenue per acquired customer.","passages":["Shorten CAC payback by reducing acquisition cost, accelerating ramp, or increasing early gross-margin revenue per acquired customer."],"popular":0,"url":"https://patrickstox.com/tools/enterprise-seo-ltv-cac-calculator/#finding-payback-long","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Enterprise SEO ROI Calculator — Model misses user-defined decision guardrails","desc":"Verify each input against measured funnel and finance data first; if the measured model still misses your guardrails, change or reject the plan instead of tuning assumptions to force a pass.","snippetText":"Verify each input against measured funnel and finance data first; if the measured model still misses your guardrails, change or reject the plan instead of tuning assumptions to force a pass.","href":"/tools/enterprise-seo-ltv-cac-calculator/#finding-assumptions-outside-guardrails","parentHref":"/tools/enterprise-seo-ltv-cac-calculator/","findingId":"assumptions-outside-guardrails","meta":"Free tool finding · warning","aliases":["assumptions outside guardrails","Model misses user-defined decision guardrails"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Model misses user-defined decision guardrails Model misses user-defined decision guardrails Verify each input against measured funnel and finance data first; if the measured model still misses your guardrails, change or reject the plan instead of tuning assumptions to force a pass.","passages":["Verify each input against measured funnel and finance data first; if the measured model still misses your guardrails, change or reject the plan instead of tuning assumptions to force a pass."],"popular":0,"url":"https://patrickstox.com/tools/enterprise-seo-ltv-cac-calculator/#finding-assumptions-outside-guardrails","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"HTTP Status & Redirect Checker","desc":"Paste up to 500 URLs — status codes, full redirect chains, final destinations, per-hop and total latency, response-header evidence, canonical checks, and redirect-system clues. Filter, compare snapshots, and export CSV. No signup, nothing stored.","snippetText":"Paste up to 500 URLs — status codes, full redirect chains, final destinations, per-hop and total latency, response-header evidence, canonical checks, and redirect-system clues. Filter, compare snapshots, and export CSV. No signup, nothing stored.","href":"/tools/http-status-checker/","meta":"Free tool","aliases":["accepts url","accepts urls","produces report","produces url","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"toolCategories":["site-health","crawling-indexing","redirects-migrations"],"taxonomy":["site-health","crawling-indexing","redirects-migrations"],"text":"status codes redirects redirect checker redirect chain http technical seo site migration accepts url accepts urls produces report produces url generic http html apache nginx cloudflare workers rules wordpress shopify nextjs vercel","passages":["accepts url","accepts urls","produces report","produces url","generic http html","apache","nginx","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/http-status-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Status & Redirect Checker — URL returns a redirect","desc":"Update internal links to the final URL and use one intentional server-side redirect for obsolete addresses.","snippetText":"Update internal links to the final URL and use one intentional server-side redirect for obsolete addresses.","href":"/tools/http-status-checker/#finding-redirect","parentHref":"/tools/http-status-checker/","findingId":"redirect","meta":"Free tool finding · warning","aliases":["redirect","URL returns a redirect"],"toolCategories":["site-health","crawling-indexing","redirects-migrations"],"taxonomy":["site-health","crawling-indexing","redirects-migrations"],"text":"URL returns a redirect URL returns a redirect Update internal links to the final URL and use one intentional server-side redirect for obsolete addresses. rule:redirects.chain-resolution","passages":["Update internal links to the final URL and use one intentional server-side redirect for obsolete addresses."],"popular":0,"url":"https://patrickstox.com/tools/http-status-checker/#finding-redirect","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Status & Redirect Checker — URL returns a 4xx response","desc":"Correct the URL or restore the resource; return 410 only when permanent removal is intentional.","snippetText":"Correct the URL or restore the resource; return 410 only when permanent removal is intentional.","href":"/tools/http-status-checker/#finding-client-error","parentHref":"/tools/http-status-checker/","findingId":"client-error","meta":"Free tool finding · fail","aliases":["client error","URL returns a 4xx response"],"toolCategories":["site-health","crawling-indexing","redirects-migrations"],"taxonomy":["site-health","crawling-indexing","redirects-migrations"],"text":"URL returns a 4xx response URL returns a 4xx response Correct the URL or restore the resource; return 410 only when permanent removal is intentional.","passages":["Correct the URL or restore the resource; return 410 only when permanent removal is intentional."],"popular":0,"url":"https://patrickstox.com/tools/http-status-checker/#finding-client-error","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Status & Redirect Checker — URL returns a 5xx response","desc":"Fix the application, origin, or upstream failure until the URL returns a stable successful response.","snippetText":"Fix the application, origin, or upstream failure until the URL returns a stable successful response.","href":"/tools/http-status-checker/#finding-server-error","parentHref":"/tools/http-status-checker/","findingId":"server-error","meta":"Free tool finding · fail","aliases":["server error","URL returns a 5xx response"],"toolCategories":["site-health","crawling-indexing","redirects-migrations"],"taxonomy":["site-health","crawling-indexing","redirects-migrations"],"text":"URL returns a 5xx response URL returns a 5xx response Fix the application, origin, or upstream failure until the URL returns a stable successful response.","passages":["Fix the application, origin, or upstream failure until the URL returns a stable successful response."],"popular":0,"url":"https://patrickstox.com/tools/http-status-checker/#finding-server-error","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Status & Redirect Checker — URL has no usable HTTP response","desc":"Resolve the DNS, TLS, timeout, or connection problem so the URL returns a usable HTTP response.","snippetText":"Resolve the DNS, TLS, timeout, or connection problem so the URL returns a usable HTTP response.","href":"/tools/http-status-checker/#finding-soft-failure","parentHref":"/tools/http-status-checker/","findingId":"soft-failure","meta":"Free tool finding · fail","aliases":["soft failure","URL has no usable HTTP response"],"toolCategories":["site-health","crawling-indexing","redirects-migrations"],"taxonomy":["site-health","crawling-indexing","redirects-migrations"],"text":"URL has no usable HTTP response URL has no usable HTTP response Resolve the DNS, TLS, timeout, or connection problem so the URL returns a usable HTTP response.","passages":["Resolve the DNS, TLS, timeout, or connection problem so the URL returns a usable HTTP response."],"popular":0,"url":"https://patrickstox.com/tools/http-status-checker/#finding-soft-failure","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Status & Redirect Checker — URL enters a redirect loop","desc":"Change the conflicting redirect rules to one acyclic path ending at a live final URL.","snippetText":"Change the conflicting redirect rules to one acyclic path ending at a live final URL.","href":"/tools/http-status-checker/#finding-redirect-loop","parentHref":"/tools/http-status-checker/","findingId":"redirect-loop","meta":"Free tool finding · fail","aliases":["redirect loop","URL enters a redirect loop"],"toolCategories":["site-health","crawling-indexing","redirects-migrations"],"taxonomy":["site-health","crawling-indexing","redirects-migrations"],"text":"URL enters a redirect loop URL enters a redirect loop Change the conflicting redirect rules to one acyclic path ending at a live final URL. rule:redirects.chain-resolution","passages":["Change the conflicting redirect rules to one acyclic path ending at a live final URL."],"popular":0,"url":"https://patrickstox.com/tools/http-status-checker/#finding-redirect-loop","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Status & Redirect Checker — Final URL resolves to a different host","desc":"Point the redirect to the intended canonical host or update the source URL if the cross-host move is deliberate.","snippetText":"Point the redirect to the intended canonical host or update the source URL if the cross-host move is deliberate.","href":"/tools/http-status-checker/#finding-mixed-final-host","parentHref":"/tools/http-status-checker/","findingId":"mixed-final-host","meta":"Free tool finding · warning","aliases":["mixed final host","Final URL resolves to a different host"],"toolCategories":["site-health","crawling-indexing","redirects-migrations"],"taxonomy":["site-health","crawling-indexing","redirects-migrations"],"text":"Final URL resolves to a different host Final URL resolves to a different host Point the redirect to the intended canonical host or update the source URL if the cross-host move is deliberate. rule:redirects.chain-resolution","passages":["Point the redirect to the intended canonical host or update the source URL if the cross-host move is deliberate."],"popular":0,"url":"https://patrickstox.com/tools/http-status-checker/#finding-mixed-final-host","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"HTTP Header Checker","desc":"Inspect complete response headers across every redirect hop, with separate security and SEO grades, CDN/edge fingerprints, compression details, and a staging-versus-production diff.","snippetText":"Inspect complete response headers across every redirect hop, with separate security and SEO grades, CDN/edge fingerprints, compression details, and a staging-versus-production diff.","href":"/tools/http-header-checker/","meta":"Free tool","aliases":[],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"cdn technical-seo hsts csp cache-control","passages":[],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — HSTS is missing","desc":"Serve Strict-Transport-Security on HTTPS responses, starting with a tested max-age and expanding to includeSubDomains only when every subdomain is HTTPS-ready.","snippetText":"Serve Strict-Transport-Security on HTTPS responses, starting with a tested max-age and expanding to includeSubDomains only when every subdomain is HTTPS-ready.","href":"/tools/http-header-checker/#finding-hsts-missing","parentHref":"/tools/http-header-checker/","findingId":"hsts-missing","meta":"Free tool finding · fail","aliases":["hsts missing","HSTS is missing"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"HSTS is missing HSTS is missing Serve Strict-Transport-Security on HTTPS responses, starting with a tested max-age and expanding to includeSubDomains only when every subdomain is HTTPS-ready.","passages":["Serve Strict-Transport-Security on HTTPS responses, starting with a tested max-age and expanding to includeSubDomains only when every subdomain is HTTPS-ready."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-hsts-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — HSTS lifetime is short","desc":"Raise Strict-Transport-Security max-age to at least 31,536,000 seconds after confirming HTTPS works across the covered hosts.","snippetText":"Raise Strict-Transport-Security max-age to at least 31,536,000 seconds after confirming HTTPS works across the covered hosts.","href":"/tools/http-header-checker/#finding-hsts-short","parentHref":"/tools/http-header-checker/","findingId":"hsts-short","meta":"Free tool finding · warn","aliases":["hsts short","HSTS lifetime is short"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"HSTS lifetime is short HSTS lifetime is short Raise Strict-Transport-Security max-age to at least 31,536,000 seconds after confirming HTTPS works across the covered hosts.","passages":["Raise Strict-Transport-Security max-age to at least 31,536,000 seconds after confirming HTTPS works across the covered hosts."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-hsts-short","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Content Security Policy is missing","desc":"Add a Content-Security-Policy that allowlists the scripts, styles, images, frames, and connections the page actually needs, then tighten it from report-only to enforcement.","snippetText":"Add a Content-Security-Policy that allowlists the scripts, styles, images, frames, and connections the page actually needs, then tighten it from report-only to enforcement.","href":"/tools/http-header-checker/#finding-csp-missing","parentHref":"/tools/http-header-checker/","findingId":"csp-missing","meta":"Free tool finding · fail","aliases":["csp missing","Content Security Policy is missing"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Content Security Policy is missing Content Security Policy is missing Add a Content-Security-Policy that allowlists the scripts, styles, images, frames, and connections the page actually needs, then tighten it from report-only to enforcement.","passages":["Add a Content-Security-Policy that allowlists the scripts, styles, images, frames, and connections the page actually needs, then tighten it from report-only to enforcement."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-csp-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Framing protection is missing","desc":"Set Content-Security-Policy frame-ancestors to the origins allowed to embed the page, or use X-Frame-Options: DENY when embedding is never allowed.","snippetText":"Set Content-Security-Policy frame-ancestors to the origins allowed to embed the page, or use X-Frame-Options: DENY when embedding is never allowed.","href":"/tools/http-header-checker/#finding-clickjacking-missing","parentHref":"/tools/http-header-checker/","findingId":"clickjacking-missing","meta":"Free tool finding · warn","aliases":["clickjacking missing","Framing protection is missing"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Framing protection is missing Framing protection is missing Set Content-Security-Policy frame-ancestors to the origins allowed to embed the page, or use X-Frame-Options: DENY when embedding is never allowed.","passages":["Set Content-Security-Policy frame-ancestors to the origins allowed to embed the page, or use X-Frame-Options: DENY when embedding is never allowed."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-clickjacking-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Referrer-Policy is missing","desc":"Set Referrer-Policy to strict-origin-when-cross-origin, or a stricter policy that still supports the site’s analytics requirements.","snippetText":"Set Referrer-Policy to strict-origin-when-cross-origin, or a stricter policy that still supports the site’s analytics requirements.","href":"/tools/http-header-checker/#finding-referrer-missing","parentHref":"/tools/http-header-checker/","findingId":"referrer-missing","meta":"Free tool finding · warn","aliases":["referrer missing","Referrer-Policy is missing"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Referrer-Policy is missing Referrer-Policy is missing Set Referrer-Policy to strict-origin-when-cross-origin, or a stricter policy that still supports the site’s analytics requirements.","passages":["Set Referrer-Policy to strict-origin-when-cross-origin, or a stricter policy that still supports the site’s analytics requirements."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-referrer-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Referrer policy leaks full URLs","desc":"Replace unsafe-url or origin-when-cross-origin with strict-origin-when-cross-origin so cross-origin requests do not expose full paths and query strings.","snippetText":"Replace unsafe-url or origin-when-cross-origin with strict-origin-when-cross-origin so cross-origin requests do not expose full paths and query strings.","href":"/tools/http-header-checker/#finding-referrer-unsafe","parentHref":"/tools/http-header-checker/","findingId":"referrer-unsafe","meta":"Free tool finding · warn","aliases":["referrer unsafe","Referrer policy leaks full URLs"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Referrer policy leaks full URLs Referrer policy leaks full URLs Replace unsafe-url or origin-when-cross-origin with strict-origin-when-cross-origin so cross-origin requests do not expose full paths and query strings.","passages":["Replace unsafe-url or origin-when-cross-origin with strict-origin-when-cross-origin so cross-origin requests do not expose full paths and query strings."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-referrer-unsafe","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Cross-Origin Embedder Policy is missing","desc":"If the page needs cross-origin isolation, set Cross-Origin-Embedder-Policy: require-corp and ensure every embedded cross-origin resource opts in; otherwise document that isolation is not required.","snippetText":"If the page needs cross-origin isolation, set Cross-Origin-Embedder-Policy: require-corp and ensure every embedded cross-origin resource opts in; otherwise document that isolation is not required.","href":"/tools/http-header-checker/#finding-cross-origin-embedder-policy-missing","parentHref":"/tools/http-header-checker/","findingId":"cross-origin-embedder-policy-missing","meta":"Free tool finding · info","aliases":["cross origin embedder policy missing","Cross-Origin Embedder Policy is missing"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Cross-Origin Embedder Policy is missing Cross-Origin Embedder Policy is missing If the page needs cross-origin isolation, set Cross-Origin-Embedder-Policy: require-corp and ensure every embedded cross-origin resource opts in; otherwise document that isolation is not required.","passages":["If the page needs cross-origin isolation, set Cross-Origin-Embedder-Policy: require-corp and ensure every embedded cross-origin resource opts in; otherwise document that isolation is not required."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-cross-origin-embedder-policy-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Multiple HTTP canonicals are present","desc":"Emit exactly one HTTP Link header with rel=\"canonical\" for the preferred URL and remove conflicting canonical targets at the edge or origin.","snippetText":"Emit exactly one HTTP Link header with rel=\"canonical\" for the preferred URL and remove conflicting canonical targets at the edge or origin.","href":"/tools/http-header-checker/#finding-canonical-multiple","parentHref":"/tools/http-header-checker/","findingId":"canonical-multiple","meta":"Free tool finding · fail","aliases":["canonical multiple","Multiple HTTP canonicals are present"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Multiple HTTP canonicals are present Multiple HTTP canonicals are present Emit exactly one HTTP Link header with rel=\"canonical\" for the preferred URL and remove conflicting canonical targets at the edge or origin.","passages":["Emit exactly one HTTP Link header with rel=\"canonical\" for the preferred URL and remove conflicting canonical targets at the edge or origin."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-canonical-multiple","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Vary star prevents useful caching","desc":"Replace Vary: * with only the request headers that actually change the response, such as Accept-Encoding or Accept-Language, so caches can reuse it.","snippetText":"Replace Vary: * with only the request headers that actually change the response, such as Accept-Encoding or Accept-Language, so caches can reuse it.","href":"/tools/http-header-checker/#finding-vary-star","parentHref":"/tools/http-header-checker/","findingId":"vary-star","meta":"Free tool finding · fail","aliases":["vary star","Vary star prevents useful caching"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Vary star prevents useful caching Vary star prevents useful caching Replace Vary: * with only the request headers that actually change the response, such as Accept-Encoding or Accept-Language, so caches can reuse it.","passages":["Replace Vary: * with only the request headers that actually change the response, such as Accept-Encoding or Accept-Language, so caches can reuse it."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-vary-star","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Response varies by user agent","desc":"Stop varying the full response on User-Agent where possible; use feature detection or a narrowly normalized device signal and confirm crawlers receive equivalent primary content.","snippetText":"Stop varying the full response on User-Agent where possible; use feature detection or a narrowly normalized device signal and confirm crawlers receive equivalent primary content.","href":"/tools/http-header-checker/#finding-vary-user-agent","parentHref":"/tools/http-header-checker/","findingId":"vary-user-agent","meta":"Free tool finding · warn","aliases":["vary user agent","Response varies by user agent"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Response varies by user agent Response varies by user agent Stop varying the full response on User-Agent where possible; use feature detection or a narrowly normalized device signal and confirm crawlers receive equivalent primary content.","passages":["Stop varying the full response on User-Agent where possible; use feature detection or a narrowly normalized device signal and confirm crawlers receive equivalent primary content."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-vary-user-agent","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Googlebot receives restrictive caching","desc":"Remove no-store/private caching sent specifically to Googlebot unless the content is genuinely personalized, and return the same cacheable public representation users receive.","snippetText":"Remove no-store/private caching sent specifically to Googlebot unless the content is genuinely personalized, and return the same cacheable public representation users receive.","href":"/tools/http-header-checker/#finding-googlebot-cache","parentHref":"/tools/http-header-checker/","findingId":"googlebot-cache","meta":"Free tool finding · warn","aliases":["googlebot cache","Googlebot receives restrictive caching"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Googlebot receives restrictive caching Googlebot receives restrictive caching Remove no-store/private caching sent specifically to Googlebot unless the content is genuinely personalized, and return the same cacheable public representation users receive.","passages":["Remove no-store/private caching sent specifically to Googlebot unless the content is genuinely personalized, and return the same cacheable public representation users receive."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-googlebot-cache","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — Cache-Control is absent","desc":"Set an explicit Cache-Control policy appropriate to the resource, using public max-age/s-maxage for reusable content or no-store for truly sensitive responses.","snippetText":"Set an explicit Cache-Control policy appropriate to the resource, using public max-age/s-maxage for reusable content or no-store for truly sensitive responses.","href":"/tools/http-header-checker/#finding-cache-control-none","parentHref":"/tools/http-header-checker/","findingId":"cache-control-none","meta":"Free tool finding · info","aliases":["cache control none","Cache-Control is absent"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Cache-Control is absent Cache-Control is absent Set an explicit Cache-Control policy appropriate to the resource, using public max-age/s-maxage for reusable content or no-store for truly sensitive responses.","passages":["Set an explicit Cache-Control policy appropriate to the resource, using public max-age/s-maxage for reusable content or no-store for truly sensitive responses."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-cache-control-none","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — ETag is absent","desc":"Add a stable ETag or Last-Modified validator for cacheable responses so clients can revalidate without downloading unchanged content.","snippetText":"Add a stable ETag or Last-Modified validator for cacheable responses so clients can revalidate without downloading unchanged content.","href":"/tools/http-header-checker/#finding-etag-none","parentHref":"/tools/http-header-checker/","findingId":"etag-none","meta":"Free tool finding · info","aliases":["etag none","ETag is absent"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"ETag is absent ETag is absent Add a stable ETag or Last-Modified validator for cacheable responses so clients can revalidate without downloading unchanged content.","passages":["Add a stable ETag or Last-Modified validator for cacheable responses so clients can revalidate without downloading unchanged content."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-etag-none","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HTTP Header Checker — X-Robots-Tag blocks indexing","desc":"Remove noindex from the X-Robots-Tag on URLs intended for search, then verify the final response and request recrawling.","snippetText":"Remove noindex from the X-Robots-Tag on URLs intended for search, then verify the final response and request recrawling.","href":"/tools/http-header-checker/#finding-robots-noindex","parentHref":"/tools/http-header-checker/","findingId":"robots-noindex","meta":"Free tool finding · fail","aliases":["robots noindex","X-Robots-Tag blocks indexing"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"X-Robots-Tag blocks indexing X-Robots-Tag blocks indexing Remove noindex from the X-Robots-Tag on URLs intended for search, then verify the final response and request recrawling.","passages":["Remove noindex from the X-Robots-Tag on URLs intended for search, then verify the final response and request recrawling."],"popular":0,"url":"https://patrickstox.com/tools/http-header-checker/#finding-robots-noindex","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"DNS Checker","desc":"Compare A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, SRV, and PTR answers from Cloudflare and Google to spot DNS propagation differences.","snippetText":"Compare A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, SRV, and PTR answers from Cloudflare and Google to spot DNS propagation differences.","href":"/tools/dns-checker/","meta":"Free tool","aliases":["accepts url","produces url","produces report","generic http html"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"technical-seo cdn https accepts url produces url produces report generic http html","passages":["accepts url","produces url","produces report","generic http html"],"popular":0,"url":"https://patrickstox.com/tools/dns-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"DNS Checker — Requested DNS record is missing","desc":"Publish the requested record type at the exact queried name, then verify it from multiple resolvers.","snippetText":"Publish the requested record type at the exact queried name, then verify it from multiple resolvers.","href":"/tools/dns-checker/#finding-no-answer","parentHref":"/tools/dns-checker/","findingId":"no-answer","meta":"Free tool finding · fail","aliases":["no answer","Requested DNS record is missing"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Requested DNS record is missing Requested DNS record is missing Publish the requested record type at the exact queried name, then verify it from multiple resolvers.","passages":["Publish the requested record type at the exact queried name, then verify it from multiple resolvers."],"popular":0,"url":"https://patrickstox.com/tools/dns-checker/#finding-no-answer","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"DNS Checker — Domain does not exist in DNS","desc":"Correct the queried hostname or create its authoritative DNS zone and required records.","snippetText":"Correct the queried hostname or create its authoritative DNS zone and required records.","href":"/tools/dns-checker/#finding-nxdomain","parentHref":"/tools/dns-checker/","findingId":"nxdomain","meta":"Free tool finding · fail","aliases":["nxdomain","Domain does not exist in DNS"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Domain does not exist in DNS Domain does not exist in DNS Correct the queried hostname or create its authoritative DNS zone and required records.","passages":["Correct the queried hostname or create its authoritative DNS zone and required records."],"popular":0,"url":"https://patrickstox.com/tools/dns-checker/#finding-nxdomain","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"DNS Checker — Authoritative DNS lookup fails","desc":"Repair delegation, DNSSEC, or authoritative nameserver failures until recursive resolvers return a valid answer.","snippetText":"Repair delegation, DNSSEC, or authoritative nameserver failures until recursive resolvers return a valid answer.","href":"/tools/dns-checker/#finding-servfail","parentHref":"/tools/dns-checker/","findingId":"servfail","meta":"Free tool finding · fail","aliases":["servfail","Authoritative DNS lookup fails"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Authoritative DNS lookup fails Authoritative DNS lookup fails Repair delegation, DNSSEC, or authoritative nameserver failures until recursive resolvers return a valid answer.","passages":["Repair delegation, DNSSEC, or authoritative nameserver failures until recursive resolvers return a valid answer."],"popular":0,"url":"https://patrickstox.com/tools/dns-checker/#finding-servfail","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"DNS Checker — SPF record is missing","desc":"Publish one SPF TXT record at the mail-sending domain that authorizes only the required senders.","snippetText":"Publish one SPF TXT record at the mail-sending domain that authorizes only the required senders.","href":"/tools/dns-checker/#finding-spf-missing","parentHref":"/tools/dns-checker/","findingId":"spf-missing","meta":"Free tool finding · warn","aliases":["spf missing","SPF record is missing"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"SPF record is missing SPF record is missing Publish one SPF TXT record at the mail-sending domain that authorizes only the required senders.","passages":["Publish one SPF TXT record at the mail-sending domain that authorizes only the required senders."],"popular":0,"url":"https://patrickstox.com/tools/dns-checker/#finding-spf-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"DNS Checker — DMARC record is not found at this name","desc":"Publish a DMARC TXT record at _dmarc on the organizational domain, starting with a monitored policy if needed.","snippetText":"Publish a DMARC TXT record at _dmarc on the organizational domain, starting with a monitored policy if needed.","href":"/tools/dns-checker/#finding-dmarc-missing","parentHref":"/tools/dns-checker/","findingId":"dmarc-missing","meta":"Free tool finding · info","aliases":["dmarc missing","DMARC record is not found at this name"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"DMARC record is not found at this name DMARC record is not found at this name Publish a DMARC TXT record at _dmarc on the organizational domain, starting with a monitored policy if needed.","passages":["Publish a DMARC TXT record at _dmarc on the organizational domain, starting with a monitored policy if needed."],"popular":0,"url":"https://patrickstox.com/tools/dns-checker/#finding-dmarc-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"DNS Checker — CAA record is absent","desc":"Publish CAA records for the certificate authorities allowed to issue certificates for the domain.","snippetText":"Publish CAA records for the certificate authorities allowed to issue certificates for the domain.","href":"/tools/dns-checker/#finding-caa-none","parentHref":"/tools/dns-checker/","findingId":"caa-none","meta":"Free tool finding · info","aliases":["caa none","CAA record is absent"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"CAA record is absent CAA record is absent Publish CAA records for the certificate authorities allowed to issue certificates for the domain.","passages":["Publish CAA records for the certificate authorities allowed to issue certificates for the domain."],"popular":0,"url":"https://patrickstox.com/tools/dns-checker/#finding-caa-none","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"DNS Checker — Resolvers return inconsistent answers","desc":"Align authoritative answers and wait for TTL propagation until major resolvers return the same record set.","snippetText":"Align authoritative answers and wait for TTL propagation until major resolvers return the same record set.","href":"/tools/dns-checker/#finding-mixed-resolvers","parentHref":"/tools/dns-checker/","findingId":"mixed-resolvers","meta":"Free tool finding · warning","aliases":["mixed resolvers","Resolvers return inconsistent answers"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Resolvers return inconsistent answers Resolvers return inconsistent answers Align authoritative answers and wait for TTL propagation until major resolvers return the same record set.","passages":["Align authoritative answers and wait for TTL propagation until major resolvers return the same record set."],"popular":0,"url":"https://patrickstox.com/tools/dns-checker/#finding-mixed-resolvers","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Whois / RDAP Lookup","desc":"Look up registrar, registration and expiry dates, nameservers, EPP domain-lock statuses, and privacy-redacted registrant information via RDAP.","snippetText":"Look up registrar, registration and expiry dates, nameservers, EPP domain-lock statuses, and privacy-redacted registrant information via RDAP.","href":"/tools/whois-lookup/","meta":"Free tool","aliases":["accepts url","produces report","generic http html"],"toolCategories":["site-health"],"taxonomy":["site-health"],"text":"technical-seo https tls accepts url produces report generic http html","passages":["accepts url","produces report","generic http html"],"popular":0,"url":"https://patrickstox.com/tools/whois-lookup/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Whois / RDAP Lookup — Domain has serverHold status","desc":"Contact the registrar or registry to resolve the serverHold cause before expecting DNS publication to resume.","snippetText":"Contact the registrar or registry to resolve the serverHold cause before expecting DNS publication to resume.","href":"/tools/whois-lookup/#finding-server-hold","parentHref":"/tools/whois-lookup/","findingId":"server-hold","meta":"Free tool finding · fail","aliases":["server hold","Domain has serverHold status"],"toolCategories":["site-health"],"taxonomy":["site-health"],"text":"Domain has serverHold status Domain has serverHold status Contact the registrar or registry to resolve the serverHold cause before expecting DNS publication to resume.","passages":["Contact the registrar or registry to resolve the serverHold cause before expecting DNS publication to resume."],"popular":0,"url":"https://patrickstox.com/tools/whois-lookup/#finding-server-hold","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Whois / RDAP Lookup — Domain has clientHold status","desc":"Resolve the registrar’s clientHold condition, then confirm the status clears and authoritative DNS answers return.","snippetText":"Resolve the registrar’s clientHold condition, then confirm the status clears and authoritative DNS answers return.","href":"/tools/whois-lookup/#finding-client-hold","parentHref":"/tools/whois-lookup/","findingId":"client-hold","meta":"Free tool finding · fail","aliases":["client hold","Domain has clientHold status"],"toolCategories":["site-health"],"taxonomy":["site-health"],"text":"Domain has clientHold status Domain has clientHold status Resolve the registrar’s clientHold condition, then confirm the status clears and authoritative DNS answers return.","passages":["Resolve the registrar’s clientHold condition, then confirm the status clears and authoritative DNS answers return."],"popular":0,"url":"https://patrickstox.com/tools/whois-lookup/#finding-client-hold","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Whois / RDAP Lookup — Domain is in redemption period","desc":"Request domain restoration through the registrar and pay any redemption fee before the redemption period ends.","snippetText":"Request domain restoration through the registrar and pay any redemption fee before the redemption period ends.","href":"/tools/whois-lookup/#finding-redemption","parentHref":"/tools/whois-lookup/","findingId":"redemption","meta":"Free tool finding · critical","aliases":["redemption","Domain is in redemption period"],"toolCategories":["site-health"],"taxonomy":["site-health"],"text":"Domain is in redemption period Domain is in redemption period Request domain restoration through the registrar and pay any redemption fee before the redemption period ends.","passages":["Request domain restoration through the registrar and pay any redemption fee before the redemption period ends."],"popular":0,"url":"https://patrickstox.com/tools/whois-lookup/#finding-redemption","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Whois / RDAP Lookup — Domain is pending deletion","desc":"Confirm whether restoration is still possible; otherwise monitor the registry drop because ordinary renewal is no longer available.","snippetText":"Confirm whether restoration is still possible; otherwise monitor the registry drop because ordinary renewal is no longer available.","href":"/tools/whois-lookup/#finding-pending-delete","parentHref":"/tools/whois-lookup/","findingId":"pending-delete","meta":"Free tool finding · critical","aliases":["pending delete","Domain is pending deletion"],"toolCategories":["site-health"],"taxonomy":["site-health"],"text":"Domain is pending deletion Domain is pending deletion Confirm whether restoration is still possible; otherwise monitor the registry drop because ordinary renewal is no longer available.","passages":["Confirm whether restoration is still possible; otherwise monitor the registry drop because ordinary renewal is no longer available."],"popular":0,"url":"https://patrickstox.com/tools/whois-lookup/#finding-pending-delete","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Whois / RDAP Lookup — Domain registration expires soon","desc":"Renew the domain now, enable auto-renew with valid payment details, and verify the updated RDAP expiration date.","snippetText":"Renew the domain now, enable auto-renew with valid payment details, and verify the updated RDAP expiration date.","href":"/tools/whois-lookup/#finding-expires-soon","parentHref":"/tools/whois-lookup/","findingId":"expires-soon","meta":"Free tool finding · warning","aliases":["expires soon","Domain registration expires soon"],"toolCategories":["site-health"],"taxonomy":["site-health"],"text":"Domain registration expires soon Domain registration expires soon Renew the domain now, enable auto-renew with valid payment details, and verify the updated RDAP expiration date.","passages":["Renew the domain now, enable auto-renew with valid payment details, and verify the updated RDAP expiration date."],"popular":0,"url":"https://patrickstox.com/tools/whois-lookup/#finding-expires-soon","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Whois / RDAP Lookup — Registration identity is redacted","desc":"Use authenticated registrar records for ownership verification because public RDAP redaction is normal and cannot be repaired on the website.","snippetText":"Use authenticated registrar records for ownership verification because public RDAP redaction is normal and cannot be repaired on the website.","href":"/tools/whois-lookup/#finding-registrant-redacted","parentHref":"/tools/whois-lookup/","findingId":"registrant-redacted","meta":"Free tool finding · info","aliases":["registrant redacted","Registration identity is redacted"],"toolCategories":["site-health"],"taxonomy":["site-health"],"text":"Registration identity is redacted Registration identity is redacted Use authenticated registrar records for ownership verification because public RDAP redaction is normal and cannot be repaired on the website.","passages":["Use authenticated registrar records for ownership verification because public RDAP redaction is normal and cannot be repaired on the website."],"popular":0,"url":"https://patrickstox.com/tools/whois-lookup/#finding-registrant-redacted","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Whois / RDAP Lookup — DNSSEC is not indicated","desc":"Enable DNSSEC at the DNS provider, publish the DS record through the registrar, and verify the chain of trust.","snippetText":"Enable DNSSEC at the DNS provider, publish the DS record through the registrar, and verify the chain of trust.","href":"/tools/whois-lookup/#finding-no-dnssec","parentHref":"/tools/whois-lookup/","findingId":"no-dnssec","meta":"Free tool finding · info","aliases":["no dnssec","DNSSEC is not indicated"],"toolCategories":["site-health"],"taxonomy":["site-health"],"text":"DNSSEC is not indicated DNSSEC is not indicated Enable DNSSEC at the DNS provider, publish the DS record through the registrar, and verify the chain of trust.","passages":["Enable DNSSEC at the DNS provider, publish the DS record through the registrar, and verify the chain of trust."],"popular":0,"url":"https://patrickstox.com/tools/whois-lookup/#finding-no-dnssec","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Hosting Checker","desc":"Find a domain's public IP network, CDN or edge platform, DNS and mail-host evidence, and response transfer facts without pretending a proxy reveals the origin.","snippetText":"Find a domain's public IP network, CDN or edge platform, DNS and mail-host evidence, and response transfer facts without pretending a proxy reveals the origin.","href":"/tools/hosting-checker/","meta":"Free tool","aliases":["accepts url","produces url","produces report","generic http html"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"cdn technical-seo web-performance accepts url produces url produces report generic http html","passages":["accepts url","produces url","produces report","generic http html"],"popular":0,"url":"https://patrickstox.com/tools/hosting-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Hosting Checker — CDN evidence obscures the origin host","desc":"Check account, DNS history, and origin-only records rather than treating the CDN edge network as the hosting provider.","snippetText":"Check account, DNS history, and origin-only records rather than treating the CDN edge network as the hosting provider.","href":"/tools/hosting-checker/#finding-cdn-obscures-origin","parentHref":"/tools/hosting-checker/","findingId":"cdn-obscures-origin","meta":"Free tool finding · warning","aliases":["cdn obscures origin","CDN evidence obscures the origin host"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"CDN evidence obscures the origin host CDN evidence obscures the origin host Check account, DNS history, and origin-only records rather than treating the CDN edge network as the hosting provider.","passages":["Check account, DNS history, and origin-only records rather than treating the CDN edge network as the hosting provider."],"popular":0,"url":"https://patrickstox.com/tools/hosting-checker/#finding-cdn-obscures-origin","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Hosting Checker — Hosting provider cannot be identified","desc":"Confirm the provider from billing, infrastructure configuration, or origin DNS because public signals are insufficient to identify it.","snippetText":"Confirm the provider from billing, infrastructure configuration, or origin DNS because public signals are insufficient to identify it.","href":"/tools/hosting-checker/#finding-unknown-provider","parentHref":"/tools/hosting-checker/","findingId":"unknown-provider","meta":"Free tool finding · info","aliases":["unknown provider","Hosting provider cannot be identified"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Hosting provider cannot be identified Hosting provider cannot be identified Confirm the provider from billing, infrastructure configuration, or origin DNS because public signals are insufficient to identify it.","passages":["Confirm the provider from billing, infrastructure configuration, or origin DNS because public signals are insufficient to identify it."],"popular":0,"url":"https://patrickstox.com/tools/hosting-checker/#finding-unknown-provider","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Hosting Checker — DNS and header provider signals conflict","desc":"Verify the active origin in DNS and deployment settings, then remove stale provider records and headers.","snippetText":"Verify the active origin in DNS and deployment settings, then remove stale provider records and headers.","href":"/tools/hosting-checker/#finding-conflicting-provider-evidence","parentHref":"/tools/hosting-checker/","findingId":"conflicting-provider-evidence","meta":"Free tool finding · warning","aliases":["conflicting provider evidence","DNS and header provider signals conflict"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"DNS and header provider signals conflict DNS and header provider signals conflict Verify the active origin in DNS and deployment settings, then remove stale provider records and headers.","passages":["Verify the active origin in DNS and deployment settings, then remove stale provider records and headers."],"popular":0,"url":"https://patrickstox.com/tools/hosting-checker/#finding-conflicting-provider-evidence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Hosting Checker — Detected network is a shared edge provider","desc":"Treat the detected network as a proxy or CDN and use origin configuration or account records to identify the underlying host.","snippetText":"Treat the detected network as a proxy or CDN and use origin configuration or account records to identify the underlying host.","href":"/tools/hosting-checker/#finding-shared-edge","parentHref":"/tools/hosting-checker/","findingId":"shared-edge","meta":"Free tool finding · info","aliases":["shared edge","Detected network is a shared edge provider"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Detected network is a shared edge provider Detected network is a shared edge provider Treat the detected network as a proxy or CDN and use origin configuration or account records to identify the underlying host.","passages":["Treat the detected network as a proxy or CDN and use origin configuration or account records to identify the underlying host."],"popular":0,"url":"https://patrickstox.com/tools/hosting-checker/#finding-shared-edge","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Website Down Checker","desc":"Check whether one URL or a small sample is reachable right now from one Cloudflare location, with response timing, redirects, DNS fallback evidence, and connection-status details.","snippetText":"Check whether one URL or a small sample is reachable right now from one Cloudflare location, with response timing, redirects, DNS fallback evidence, and connection-status details.","href":"/tools/website-down-checker/","meta":"Free tool","aliases":[],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"http-status-codes technical-seo indexing","passages":[],"popular":0,"url":"https://patrickstox.com/tools/website-down-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Down Checker — Domain does not resolve","desc":"Restore valid authoritative A, AAAA, or CNAME records for the hostname and confirm they resolve from multiple networks.","snippetText":"Restore valid authoritative A, AAAA, or CNAME records for the hostname and confirm they resolve from multiple networks.","href":"/tools/website-down-checker/#finding-dns-down","parentHref":"/tools/website-down-checker/","findingId":"dns-down","meta":"Free tool finding · critical","aliases":["dns down","Domain does not resolve"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Domain does not resolve Domain does not resolve Restore valid authoritative A, AAAA, or CNAME records for the hostname and confirm they resolve from multiple networks.","passages":["Restore valid authoritative A, AAAA, or CNAME records for the hostname and confirm they resolve from multiple networks."],"popular":0,"url":"https://patrickstox.com/tools/website-down-checker/#finding-dns-down","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Down Checker — Origin connection fails","desc":"Restore origin connectivity by checking server health, firewall rules, listening ports, and upstream proxy configuration.","snippetText":"Restore origin connectivity by checking server health, firewall rules, listening ports, and upstream proxy configuration.","href":"/tools/website-down-checker/#finding-connection-down","parentHref":"/tools/website-down-checker/","findingId":"connection-down","meta":"Free tool finding · critical","aliases":["connection down","Origin connection fails"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Origin connection fails Origin connection fails Restore origin connectivity by checking server health, firewall rules, listening ports, and upstream proxy configuration.","passages":["Restore origin connectivity by checking server health, firewall rules, listening ports, and upstream proxy configuration."],"popular":0,"url":"https://patrickstox.com/tools/website-down-checker/#finding-connection-down","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Down Checker — Website returns a server error","desc":"Inspect origin and application logs for the failing request, correct the 5xx cause, and verify a stable successful response.","snippetText":"Inspect origin and application logs for the failing request, correct the 5xx cause, and verify a stable successful response.","href":"/tools/website-down-checker/#finding-server-error","parentHref":"/tools/website-down-checker/","findingId":"server-error","meta":"Free tool finding · critical","aliases":["server error","Website returns a server error"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Website returns a server error Website returns a server error Inspect origin and application logs for the failing request, correct the 5xx cause, and verify a stable successful response.","passages":["Inspect origin and application logs for the failing request, correct the 5xx cause, and verify a stable successful response."],"popular":0,"url":"https://patrickstox.com/tools/website-down-checker/#finding-server-error","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Down Checker — Website returns a maintenance response","desc":"End the maintenance window or serve a deliberate 503 with Retry-After, then restore the normal page when work completes.","snippetText":"End the maintenance window or serve a deliberate 503 with Retry-After, then restore the normal page when work completes.","href":"/tools/website-down-checker/#finding-maintenance","parentHref":"/tools/website-down-checker/","findingId":"maintenance","meta":"Free tool finding · warning","aliases":["maintenance","Website returns a maintenance response"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Website returns a maintenance response Website returns a maintenance response End the maintenance window or serve a deliberate 503 with Retry-After, then restore the normal page when work completes.","passages":["End the maintenance window or serve a deliberate 503 with Retry-After, then restore the normal page when work completes."],"popular":0,"url":"https://patrickstox.com/tools/website-down-checker/#finding-maintenance","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Down Checker — Website does not reach a healthy final URL","desc":"Remove the redirect loop or broken hop and make the requested URL reach one healthy canonical destination directly.","snippetText":"Remove the redirect loop or broken hop and make the requested URL reach one healthy canonical destination directly.","href":"/tools/website-down-checker/#finding-redirect-problem","parentHref":"/tools/website-down-checker/","findingId":"redirect-problem","meta":"Free tool finding · fail","aliases":["redirect problem","Website does not reach a healthy final URL"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Website does not reach a healthy final URL Website does not reach a healthy final URL Remove the redirect loop or broken hop and make the requested URL reach one healthy canonical destination directly.","passages":["Remove the redirect loop or broken hop and make the requested URL reach one healthy canonical destination directly."],"popular":0,"url":"https://patrickstox.com/tools/website-down-checker/#finding-redirect-problem","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Down Checker — Website response is unusually slow","desc":"Profile the origin, cache repeatable work, and reduce backend or upstream latency until the endpoint responds within its target budget.","snippetText":"Profile the origin, cache repeatable work, and reduce backend or upstream latency until the endpoint responds within its target budget.","href":"/tools/website-down-checker/#finding-slow-response","parentHref":"/tools/website-down-checker/","findingId":"slow-response","meta":"Free tool finding · warning","aliases":["slow response","Website response is unusually slow"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Website response is unusually slow Website response is unusually slow Profile the origin, cache repeatable work, and reduce backend or upstream latency until the endpoint responds within its target budget.","passages":["Profile the origin, cache repeatable work, and reduce backend or upstream latency until the endpoint responds within its target budget."],"popular":0,"url":"https://patrickstox.com/tools/website-down-checker/#finding-slow-response","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Website Safety & Security Checker","desc":"Get an honest, graded security snapshot: response headers, insecure resource and form signals, security.txt, registry age, fetch/TLS outcome, and optional Google Web Risk advisory evidence.","snippetText":"Get an honest, graded security snapshot: response headers, insecure resource and form signals, security.txt, registry age, fetch/TLS outcome, and optional Google Web Risk advisory evidence.","href":"/tools/website-safety-checker/","meta":"Free tool","aliases":[],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"website safety security headers safe browsing security.txt mixed content","passages":[],"popular":0,"url":"https://patrickstox.com/tools/website-safety-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Safety & Security Checker — Page is not served over HTTPS","desc":"Serve the page and all canonical assets over HTTPS, then redirect HTTP requests directly to the HTTPS URL.","snippetText":"Serve the page and all canonical assets over HTTPS, then redirect HTTP requests directly to the HTTPS URL.","href":"/tools/website-safety-checker/#finding-http-only","parentHref":"/tools/website-safety-checker/","findingId":"http-only","meta":"Free tool finding · fail","aliases":["http only","Page is not served over HTTPS"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Page is not served over HTTPS Page is not served over HTTPS Serve the page and all canonical assets over HTTPS, then redirect HTTP requests directly to the HTTPS URL.","passages":["Serve the page and all canonical assets over HTTPS, then redirect HTTP requests directly to the HTTPS URL."],"popular":0,"url":"https://patrickstox.com/tools/website-safety-checker/#finding-http-only","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Safety & Security Checker — HTTPS page loads an insecure resource","desc":"Replace every HTTP subresource with a working HTTPS URL or remove the insecure dependency.","snippetText":"Replace every HTTP subresource with a working HTTPS URL or remove the insecure dependency.","href":"/tools/website-safety-checker/#finding-mixed-resource","parentHref":"/tools/website-safety-checker/","findingId":"mixed-resource","meta":"Free tool finding · fail","aliases":["mixed resource","HTTPS page loads an insecure resource"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"HTTPS page loads an insecure resource HTTPS page loads an insecure resource Replace every HTTP subresource with a working HTTPS URL or remove the insecure dependency.","passages":["Replace every HTTP subresource with a working HTTPS URL or remove the insecure dependency."],"popular":0,"url":"https://patrickstox.com/tools/website-safety-checker/#finding-mixed-resource","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Safety & Security Checker — Form submits to an insecure URL","desc":"Change the form action to an HTTPS endpoint and confirm no redirect sends submitted data back over HTTP.","snippetText":"Change the form action to an HTTPS endpoint and confirm no redirect sends submitted data back over HTTP.","href":"/tools/website-safety-checker/#finding-insecure-form","parentHref":"/tools/website-safety-checker/","findingId":"insecure-form","meta":"Free tool finding · fail","aliases":["insecure form","Form submits to an insecure URL"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Form submits to an insecure URL Form submits to an insecure URL Change the form action to an HTTPS endpoint and confirm no redirect sends submitted data back over HTTP.","passages":["Change the form action to an HTTPS endpoint and confirm no redirect sends submitted data back over HTTP."],"popular":0,"url":"https://patrickstox.com/tools/website-safety-checker/#finding-insecure-form","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Safety & Security Checker — Protective security header is missing","desc":"Add the specifically reported protective header at the origin or edge with a policy tested against the site’s required resources.","snippetText":"Add the specifically reported protective header at the origin or edge with a policy tested against the site’s required resources.","href":"/tools/website-safety-checker/#finding-security-header-gap","parentHref":"/tools/website-safety-checker/","findingId":"security-header-gap","meta":"Free tool finding · warning","aliases":["security header gap","Protective security header is missing"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Protective security header is missing Protective security header is missing Add the specifically reported protective header at the origin or edge with a policy tested against the site’s required resources.","passages":["Add the specifically reported protective header at the origin or edge with a policy tested against the site’s required resources."],"popular":0,"url":"https://patrickstox.com/tools/website-safety-checker/#finding-security-header-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Safety & Security Checker — TLS certificate signal needs attention","desc":"Repair or renew the certificate and TLS chain, then confirm the HTTPS handshake succeeds.","snippetText":"Repair or renew the certificate and TLS chain, then confirm the HTTPS handshake succeeds.","href":"/tools/website-safety-checker/#finding-certificate-warning","parentHref":"/tools/website-safety-checker/","findingId":"certificate-warning","meta":"Free tool finding · fail","aliases":["certificate warning","TLS certificate signal needs attention"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"TLS certificate signal needs attention TLS certificate signal needs attention Repair or renew the certificate and TLS chain, then confirm the HTTPS handshake succeeds.","passages":["Repair or renew the certificate and TLS chain, then confirm the HTTPS handshake succeeds."],"popular":0,"url":"https://patrickstox.com/tools/website-safety-checker/#finding-certificate-warning","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Website Safety & Security Checker — Safe URL redirects to an insecure destination","desc":"Keep every redirect hop and the final destination on HTTPS.","snippetText":"Keep every redirect hop and the final destination on HTTPS.","href":"/tools/website-safety-checker/#finding-unsafe-redirect","parentHref":"/tools/website-safety-checker/","findingId":"unsafe-redirect","meta":"Free tool finding · fail","aliases":["unsafe redirect","Safe URL redirects to an insecure destination"],"toolCategories":["site-health","performance","crawling-indexing"],"taxonomy":["site-health","performance","crawling-indexing"],"text":"Safe URL redirects to an insecure destination Safe URL redirects to an insecure destination Keep every redirect hop and the final destination on HTTPS.","passages":["Keep every redirect hop and the final destination on HTTPS."],"popular":0,"url":"https://patrickstox.com/tools/website-safety-checker/#finding-unsafe-redirect","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Domain Report","desc":"Run one bounded report for public DNS, registry RDAP data, hosting evidence, reachability, and website safety signals, with each section linked to its focused tool.","snippetText":"Run one bounded report for public DNS, registry RDAP data, hosting evidence, reachability, and website safety signals, with each section linked to its focused tool.","href":"/tools/domain-report/","meta":"Free tool","aliases":[],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"domain report dns whois hosting website safety cdn","passages":[],"popular":0,"url":"https://patrickstox.com/tools/domain-report/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Domain Report — DNS section failed","desc":"Repair the domain’s delegation or authoritative DNS response, then rerun the report after propagation.","snippetText":"Repair the domain’s delegation or authoritative DNS response, then rerun the report after propagation.","href":"/tools/domain-report/#finding-dns-failed","parentHref":"/tools/domain-report/","findingId":"dns-failed","meta":"Free tool finding · fail","aliases":["dns failed","DNS section failed"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"DNS section failed DNS section failed Repair the domain’s delegation or authoritative DNS response, then rerun the report after propagation.","passages":["Repair the domain’s delegation or authoritative DNS response, then rerun the report after propagation."],"popular":0,"url":"https://patrickstox.com/tools/domain-report/#finding-dns-failed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Domain Report — Registration status needs attention","desc":"Review the flagged RDAP status with the registrar and renew, unlock, or correct registration data as appropriate.","snippetText":"Review the flagged RDAP status with the registrar and renew, unlock, or correct registration data as appropriate.","href":"/tools/domain-report/#finding-rdap-risk","parentHref":"/tools/domain-report/","findingId":"rdap-risk","meta":"Free tool finding · fail","aliases":["rdap risk","Registration status needs attention"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Registration status needs attention Registration status needs attention Review the flagged RDAP status with the registrar and renew, unlock, or correct registration data as appropriate.","passages":["Review the flagged RDAP status with the registrar and renew, unlock, or correct registration data as appropriate."],"popular":0,"url":"https://patrickstox.com/tools/domain-report/#finding-rdap-risk","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Domain Report — Origin host is not identified","desc":"Confirm the origin using your DNS/CDN configuration or hosting account because public signals do not identify it reliably.","snippetText":"Confirm the origin using your DNS/CDN configuration or hosting account because public signals do not identify it reliably.","href":"/tools/domain-report/#finding-hosting-unknown","parentHref":"/tools/domain-report/","findingId":"hosting-unknown","meta":"Free tool finding · warning","aliases":["hosting unknown","Origin host is not identified"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Origin host is not identified Origin host is not identified Confirm the origin using your DNS/CDN configuration or hosting account because public signals do not identify it reliably.","passages":["Confirm the origin using your DNS/CDN configuration or hosting account because public signals do not identify it reliably."],"popular":0,"url":"https://patrickstox.com/tools/domain-report/#finding-hosting-unknown","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Domain Report — Availability section failed","desc":"Restore a reachable HTTPS response at the checked host and resolve any DNS, TLS, timeout, or origin error.","snippetText":"Restore a reachable HTTPS response at the checked host and resolve any DNS, TLS, timeout, or origin error.","href":"/tools/domain-report/#finding-availability-failed","parentHref":"/tools/domain-report/","findingId":"availability-failed","meta":"Free tool finding · fail","aliases":["availability failed","Availability section failed"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Availability section failed Availability section failed Restore a reachable HTTPS response at the checked host and resolve any DNS, TLS, timeout, or origin error.","passages":["Restore a reachable HTTPS response at the checked host and resolve any DNS, TLS, timeout, or origin error."],"popular":0,"url":"https://patrickstox.com/tools/domain-report/#finding-availability-failed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Domain Report — Safety section failed","desc":"Investigate the named safety signal, remove compromised or deceptive content, and request review from the relevant provider.","snippetText":"Investigate the named safety signal, remove compromised or deceptive content, and request review from the relevant provider.","href":"/tools/domain-report/#finding-safety-failed","parentHref":"/tools/domain-report/","findingId":"safety-failed","meta":"Free tool finding · fail","aliases":["safety failed","Safety section failed"],"toolCategories":["site-health","crawling-indexing","performance"],"taxonomy":["site-health","crawling-indexing","performance"],"text":"Safety section failed Safety section failed Investigate the named safety signal, remove compromised or deceptive content, and request review from the relevant provider.","passages":["Investigate the named safety signal, remove compromised or deceptive content, and request review from the relevant provider."],"popular":0,"url":"https://patrickstox.com/tools/domain-report/#finding-safety-failed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Accessibility Tester","desc":"Run a browser-rendered axe-core WCAG 2.2 A/AA audit, grouped by severity with affected selectors and focused repair guidance. Automated checks are a starting point, not a complete accessibility review.","snippetText":"Run a browser-rendered axe-core WCAG 2.2 A/AA audit, grouped by severity with affected selectors and focused repair guidance. Automated checks are a starting point, not a complete accessibility review.","href":"/tools/accessibility-checker/","meta":"Free tool","aliases":[],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"accessibility wcag axe color contrast aria","passages":[],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Accessibility Tester — Image lacks an accessible text alternative","desc":"Add concise alt text that conveys the image’s purpose, or alt=\"\" when the image is purely decorative.","snippetText":"Add concise alt text that conveys the image’s purpose, or alt=\"\" when the image is purely decorative.","href":"/tools/accessibility-checker/#finding-image-alt","parentHref":"/tools/accessibility-checker/","findingId":"image-alt","meta":"Free tool finding · fail","aliases":["image alt","Image lacks an accessible text alternative"],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"Image lacks an accessible text alternative Image lacks an accessible text alternative Add concise alt text that conveys the image’s purpose, or alt=\"\" when the image is purely decorative.","passages":["Add concise alt text that conveys the image’s purpose, or alt=\"\" when the image is purely decorative."],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/#finding-image-alt","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Accessibility Tester — Form control lacks a label","desc":"Associate a visible label with the control using for/id, or supply an accurate accessible name with aria-label/aria-labelledby when no visible label fits.","snippetText":"Associate a visible label with the control using for/id, or supply an accurate accessible name with aria-label/aria-labelledby when no visible label fits.","href":"/tools/accessibility-checker/#finding-form-label","parentHref":"/tools/accessibility-checker/","findingId":"form-label","meta":"Free tool finding · fail","aliases":["form label","Form control lacks a label"],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"Form control lacks a label Form control lacks a label Associate a visible label with the control using for/id, or supply an accurate accessible name with aria-label/aria-labelledby when no visible label fits.","passages":["Associate a visible label with the control using for/id, or supply an accurate accessible name with aria-label/aria-labelledby when no visible label fits."],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/#finding-form-label","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Accessibility Tester — Button lacks an accessible name","desc":"Give the button visible text or an accessible name that describes the action, including icon-only controls.","snippetText":"Give the button visible text or an accessible name that describes the action, including icon-only controls.","href":"/tools/accessibility-checker/#finding-button-name","parentHref":"/tools/accessibility-checker/","findingId":"button-name","meta":"Free tool finding · fail","aliases":["button name","Button lacks an accessible name"],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"Button lacks an accessible name Button lacks an accessible name Give the button visible text or an accessible name that describes the action, including icon-only controls.","passages":["Give the button visible text or an accessible name that describes the action, including icon-only controls."],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/#finding-button-name","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Accessibility Tester — Link lacks an accessible name","desc":"Give the link meaningful text or an accessible name that identifies its destination instead of relying on an unlabeled icon.","snippetText":"Give the link meaningful text or an accessible name that identifies its destination instead of relying on an unlabeled icon.","href":"/tools/accessibility-checker/#finding-link-name","parentHref":"/tools/accessibility-checker/","findingId":"link-name","meta":"Free tool finding · fail","aliases":["link name","Link lacks an accessible name"],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"Link lacks an accessible name Link lacks an accessible name Give the link meaningful text or an accessible name that identifies its destination instead of relying on an unlabeled icon.","passages":["Give the link meaningful text or an accessible name that identifies its destination instead of relying on an unlabeled icon."],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/#finding-link-name","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Accessibility Tester — Heading levels are skipped","desc":"Restructure headings into a logical outline without skipping levels merely for visual sizing; use CSS for appearance.","snippetText":"Restructure headings into a logical outline without skipping levels merely for visual sizing; use CSS for appearance.","href":"/tools/accessibility-checker/#finding-heading-order","parentHref":"/tools/accessibility-checker/","findingId":"heading-order","meta":"Free tool finding · warning","aliases":["heading order","Heading levels are skipped"],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"Heading levels are skipped Heading levels are skipped Restructure headings into a logical outline without skipping levels merely for visual sizing; use CSS for appearance.","passages":["Restructure headings into a logical outline without skipping levels merely for visual sizing; use CSS for appearance."],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/#finding-heading-order","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Accessibility Tester — Document language is missing","desc":"Set the root html lang attribute to the page’s primary BCP 47 language tag, and mark passages that switch language.","snippetText":"Set the root html lang attribute to the page’s primary BCP 47 language tag, and mark passages that switch language.","href":"/tools/accessibility-checker/#finding-document-language","parentHref":"/tools/accessibility-checker/","findingId":"document-language","meta":"Free tool finding · warning","aliases":["document language","Document language is missing"],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"Document language is missing Document language is missing Set the root html lang attribute to the page’s primary BCP 47 language tag, and mark passages that switch language.","passages":["Set the root html lang attribute to the page’s primary BCP 47 language tag, and mark passages that switch language."],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/#finding-document-language","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Accessibility Tester — Duplicate element IDs are present","desc":"Make every id unique and update labels, ARIA references, fragments, and scripts that referenced the renamed element.","snippetText":"Make every id unique and update labels, ARIA references, fragments, and scripts that referenced the renamed element.","href":"/tools/accessibility-checker/#finding-duplicate-id","parentHref":"/tools/accessibility-checker/","findingId":"duplicate-id","meta":"Free tool finding · warning","aliases":["duplicate id","Duplicate element IDs are present"],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"Duplicate element IDs are present Duplicate element IDs are present Make every id unique and update labels, ARIA references, fragments, and scripts that referenced the renamed element.","passages":["Make every id unique and update labels, ARIA references, fragments, and scripts that referenced the renamed element."],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/#finding-duplicate-id","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Accessibility Tester — Text color contrast fails","desc":"Adjust foreground or background colors until the measured ratio meets WCAG AA for the affected text size and state.","snippetText":"Adjust foreground or background colors until the measured ratio meets WCAG AA for the affected text size and state.","href":"/tools/accessibility-checker/#finding-color-contrast","parentHref":"/tools/accessibility-checker/","findingId":"color-contrast","meta":"Free tool finding · fail","aliases":["color contrast","Text color contrast fails"],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"Text color contrast fails Text color contrast fails Adjust foreground or background colors until the measured ratio meets WCAG AA for the affected text size and state.","passages":["Adjust foreground or background colors until the measured ratio meets WCAG AA for the affected text size and state."],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/#finding-color-contrast","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Accessibility Tester — Keyboard behavior requires manual verification","desc":"Tab through every interactive control, test activation and focus order, and fix any unreachable, trapped, or invisible focus state before sign-off.","snippetText":"Tab through every interactive control, test activation and focus order, and fix any unreachable, trapped, or invisible focus state before sign-off.","href":"/tools/accessibility-checker/#finding-keyboard-manual","parentHref":"/tools/accessibility-checker/","findingId":"keyboard-manual","meta":"Free tool finding · info","aliases":["keyboard manual","Keyboard behavior requires manual verification"],"toolCategories":["accessibility","performance","on-page-content"],"taxonomy":["accessibility","performance","on-page-content"],"text":"Keyboard behavior requires manual verification Keyboard behavior requires manual verification Tab through every interactive control, test activation and focus order, and fix any unreachable, trapped, or invisible focus state before sign-off.","passages":["Tab through every interactive control, test activation and focus order, and fix any unreachable, trapped, or invisible focus state before sign-off."],"popular":0,"url":"https://patrickstox.com/tools/accessibility-checker/#finding-keyboard-manual","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Googlebot Verifier","desc":"Check whether an IP claiming to be Googlebot, Bingbot, GPTBot, ClaudeBot, or another crawler is genuine — published IP ranges plus forward-confirmed reverse DNS, with the real network owner named for spoofers. IPs are checked in memory and never stored.","snippetText":"Check whether an IP claiming to be Googlebot, Bingbot, GPTBot, ClaudeBot, or another crawler is genuine — published IP ranges plus forward-confirmed reverse DNS, with the real network owner named for spoofers. IPs are checked in memory and never stored.","href":"/tools/bot-verifier/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"crawlers googlebot log analysis bot verification technical seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/bot-verifier/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Googlebot Verifier — Crawler IP is outside the operator’s published range","desc":"Treat the crawler as unverified and block or investigate it until its IP matches a published range.","snippetText":"Treat the crawler as unverified and block or investigate it until its IP matches a published range.","href":"/tools/bot-verifier/#finding-published-range-mismatch","parentHref":"/tools/bot-verifier/","findingId":"published-range-mismatch","meta":"Free tool finding · fail","aliases":["published range mismatch","Crawler IP is outside the operator’s published range"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler IP is outside the operator’s published range Crawler IP is outside the operator’s published range Treat the crawler as unverified and block or investigate it until its IP matches a published range.","passages":["Treat the crawler as unverified and block or investigate it until its IP matches a published range."],"popular":0,"url":"https://patrickstox.com/tools/bot-verifier/#finding-published-range-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Googlebot Verifier — Reverse DNS does not match the claimed crawler","desc":"Treat the request as unverified unless reverse DNS ends in the crawler operator’s published domain; block or investigate mismatches.","snippetText":"Treat the request as unverified unless reverse DNS ends in the crawler operator’s published domain; block or investigate mismatches.","href":"/tools/bot-verifier/#finding-rdns-mismatch","parentHref":"/tools/bot-verifier/","findingId":"rdns-mismatch","meta":"Free tool finding · fail","aliases":["rdns mismatch","Reverse DNS does not match the claimed crawler"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Reverse DNS does not match the claimed crawler Reverse DNS does not match the claimed crawler Treat the request as unverified unless reverse DNS ends in the crawler operator’s published domain; block or investigate mismatches.","passages":["Treat the request as unverified unless reverse DNS ends in the crawler operator’s published domain; block or investigate mismatches."],"popular":0,"url":"https://patrickstox.com/tools/bot-verifier/#finding-rdns-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Googlebot Verifier — Forward DNS does not confirm the reverse host","desc":"Resolve the reverse-DNS hostname and require it to map back to the requesting IP before trusting the crawler.","snippetText":"Resolve the reverse-DNS hostname and require it to map back to the requesting IP before trusting the crawler.","href":"/tools/bot-verifier/#finding-forward-confirmation-mismatch","parentHref":"/tools/bot-verifier/","findingId":"forward-confirmation-mismatch","meta":"Free tool finding · fail","aliases":["forward confirmation mismatch","Forward DNS does not confirm the reverse host"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Forward DNS does not confirm the reverse host Forward DNS does not confirm the reverse host Resolve the reverse-DNS hostname and require it to map back to the requesting IP before trusting the crawler.","passages":["Resolve the reverse-DNS hostname and require it to map back to the requesting IP before trusting the crawler."],"popular":0,"url":"https://patrickstox.com/tools/bot-verifier/#finding-forward-confirmation-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Googlebot Verifier — Crawler identity cannot be verified conclusively","desc":"Collect the missing evidence and treat the result as unverified until it can be confirmed.","snippetText":"Collect the missing evidence and treat the result as unverified until it can be confirmed.","href":"/tools/bot-verifier/#finding-identity-uncertain","parentHref":"/tools/bot-verifier/","findingId":"identity-uncertain","meta":"Free tool finding · warning","aliases":["identity uncertain","Crawler identity cannot be verified conclusively"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler identity cannot be verified conclusively Crawler identity cannot be verified conclusively Collect the missing evidence and treat the result as unverified until it can be confirmed.","passages":["Collect the missing evidence and treat the result as unverified until it can be confirmed."],"popular":0,"url":"https://patrickstox.com/tools/bot-verifier/#finding-identity-uncertain","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Googlebot Verifier — Published range snapshot is stale","desc":"Refresh the operator range snapshot and rerun verification before trusting the IP verdict.","snippetText":"Refresh the operator range snapshot and rerun verification before trusting the IP verdict.","href":"/tools/bot-verifier/#finding-range-stale","parentHref":"/tools/bot-verifier/","findingId":"range-stale","meta":"Free tool finding · warning","aliases":["range stale","Published range snapshot is stale"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Published range snapshot is stale Published range snapshot is stale Refresh the operator range snapshot and rerun verification before trusting the IP verdict.","passages":["Refresh the operator range snapshot and rerun verification before trusting the IP verdict."],"popular":0,"url":"https://patrickstox.com/tools/bot-verifier/#finding-range-stale","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"hreflang Generator + Linter","desc":"Enter your URL × locale matrix and get bidirectional hreflang markup as head tags, sitemap XML (auto-split past 50,000 URLs), and Link headers — linted live for wrong region codes, duplicates, and missing fallbacks. Runs entirely in your browser.","snippetText":"Enter your URL × locale matrix and get bidirectional hreflang markup as head tags, sitemap XML (auto-split past 50,000 URLs), and Link headers — linted live for wrong region codes, duplicates, and missing fallbacks. Runs entirely in your browser.","href":"/tools/hreflang-generator/","meta":"Free tool","aliases":["Hreflang Cluster Generator","international tags","language annotations","alternate language tags"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"hreflang international seo sitemap generator technical seo Compatibility route for the unified hreflang generator and linter, with the same reciprocal-cluster workflow and exports. hreflang international seo language targeting generator","passages":[],"popular":0,"url":"https://patrickstox.com/tools/hreflang-generator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"hreflang Generator + Linter — Language code is invalid","desc":"Replace the language subtag with a valid ISO 639-1 code, such as en, fr, or de.","snippetText":"Replace the language subtag with a valid ISO 639-1 code, such as en, fr, or de.","href":"/tools/hreflang-generator/#finding-invalid-language","parentHref":"/tools/hreflang-generator/","findingId":"invalid-language","meta":"Free tool finding · error","aliases":["invalid language","Language code is invalid"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Language code is invalid Language code is invalid Replace the language subtag with a valid ISO 639-1 code, such as en, fr, or de. rule:hreflang.locale-validity","passages":["Replace the language subtag with a valid ISO 639-1 code, such as en, fr, or de."],"popular":0,"url":"https://patrickstox.com/tools/hreflang-generator/#finding-invalid-language","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"hreflang Generator + Linter — Region code is invalid","desc":"Replace the region subtag with a valid ISO 3166-1 alpha-2 code in uppercase, such as US or GB.","snippetText":"Replace the region subtag with a valid ISO 3166-1 alpha-2 code in uppercase, such as US or GB.","href":"/tools/hreflang-generator/#finding-invalid-region","parentHref":"/tools/hreflang-generator/","findingId":"invalid-region","meta":"Free tool finding · error","aliases":["invalid region","Region code is invalid"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Region code is invalid Region code is invalid Replace the region subtag with a valid ISO 3166-1 alpha-2 code in uppercase, such as US or GB. rule:hreflang.locale-validity","passages":["Replace the region subtag with a valid ISO 3166-1 alpha-2 code in uppercase, such as US or GB."],"popular":0,"url":"https://patrickstox.com/tools/hreflang-generator/#finding-invalid-region","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"hreflang Generator + Linter — hreflang uses an underscore instead of a hyphen","desc":"Change the locale separator from an underscore to a hyphen, for example en_US to en-US.","snippetText":"Change the locale separator from an underscore to a hyphen, for example en_US to en-US.","href":"/tools/hreflang-generator/#finding-underscore-syntax","parentHref":"/tools/hreflang-generator/","findingId":"underscore-syntax","meta":"Free tool finding · error","aliases":["underscore syntax","hreflang uses an underscore instead of a hyphen"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"hreflang uses an underscore instead of a hyphen hreflang uses an underscore instead of a hyphen Change the locale separator from an underscore to a hyphen, for example en_US to en-US. rule:hreflang.locale-validity","passages":["Change the locale separator from an underscore to a hyphen, for example en_US to en-US."],"popular":0,"url":"https://patrickstox.com/tools/hreflang-generator/#finding-underscore-syntax","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"hreflang Generator + Linter — Locale is duplicated","desc":"Keep one alternate per language-region value and remove or merge the duplicate locale row.","snippetText":"Keep one alternate per language-region value and remove or merge the duplicate locale row.","href":"/tools/hreflang-generator/#finding-duplicate-locale","parentHref":"/tools/hreflang-generator/","findingId":"duplicate-locale","meta":"Free tool finding · error","aliases":["duplicate locale","Locale is duplicated"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Locale is duplicated Locale is duplicated Keep one alternate per language-region value and remove or merge the duplicate locale row. rule:hreflang.locale-validity","passages":["Keep one alternate per language-region value and remove or merge the duplicate locale row."],"popular":0,"url":"https://patrickstox.com/tools/hreflang-generator/#finding-duplicate-locale","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"hreflang Generator + Linter — URL is assigned to multiple locales","desc":"Assign each alternate URL to its actual locale and remove any second locale that points to the identical localized page.","snippetText":"Assign each alternate URL to its actual locale and remove any second locale that points to the identical localized page.","href":"/tools/hreflang-generator/#finding-duplicate-url","parentHref":"/tools/hreflang-generator/","findingId":"duplicate-url","meta":"Free tool finding · warning","aliases":["duplicate url","URL is assigned to multiple locales"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"URL is assigned to multiple locales URL is assigned to multiple locales Assign each alternate URL to its actual locale and remove any second locale that points to the identical localized page. rule:hreflang.locale-validity","passages":["Assign each alternate URL to its actual locale and remove any second locale that points to the identical localized page."],"popular":0,"url":"https://patrickstox.com/tools/hreflang-generator/#finding-duplicate-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"hreflang Generator + Linter — x-default alternate is missing","desc":"Add one x-default alternate pointing to the neutral language selector or the most appropriate default page for unmatched users.","snippetText":"Add one x-default alternate pointing to the neutral language selector or the most appropriate default page for unmatched users.","href":"/tools/hreflang-generator/#finding-missing-x-default","parentHref":"/tools/hreflang-generator/","findingId":"missing-x-default","meta":"Free tool finding · warning","aliases":["missing x default","x-default alternate is missing"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"x-default alternate is missing x-default alternate is missing Add one x-default alternate pointing to the neutral language selector or the most appropriate default page for unmatched users. rule:hreflang.locale-validity","passages":["Add one x-default alternate pointing to the neutral language selector or the most appropriate default page for unmatched users."],"popular":0,"url":"https://patrickstox.com/tools/hreflang-generator/#finding-missing-x-default","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"hreflang Generator + Linter — Alternate URL is invalid","desc":"Correct the alternate to a parseable http:// or https:// URL without spaces or malformed characters.","snippetText":"Correct the alternate to a parseable http:// or https:// URL without spaces or malformed characters.","href":"/tools/hreflang-generator/#finding-invalid-url","parentHref":"/tools/hreflang-generator/","findingId":"invalid-url","meta":"Free tool finding · error","aliases":["invalid url","Alternate URL is invalid"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Alternate URL is invalid Alternate URL is invalid Correct the alternate to a parseable http:// or https:// URL without spaces or malformed characters. rule:hreflang.locale-validity","passages":["Correct the alternate to a parseable http:// or https:// URL without spaces or malformed characters."],"popular":0,"url":"https://patrickstox.com/tools/hreflang-generator/#finding-invalid-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"hreflang Generator + Linter — Alternate URL is not absolute","desc":"Expand the relative alternate into its full canonical https:// URL, including hostname and path.","snippetText":"Expand the relative alternate into its full canonical https:// URL, including hostname and path.","href":"/tools/hreflang-generator/#finding-non-absolute-url","parentHref":"/tools/hreflang-generator/","findingId":"non-absolute-url","meta":"Free tool finding · error","aliases":["non absolute url","Alternate URL is not absolute"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Alternate URL is not absolute Alternate URL is not absolute Expand the relative alternate into its full canonical https:// URL, including hostname and path. rule:hreflang.locale-validity","passages":["Expand the relative alternate into its full canonical https:// URL, including hostname and path."],"popular":0,"url":"https://patrickstox.com/tools/hreflang-generator/#finding-non-absolute-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"returntag - hreflang checker","desc":"Enter one URL or an XML sitemap and the returntag - hreflang checker crawls the whole hreflang cluster — missing return tags, broken targets, self-reference and x-default checks, language-code validation, and head vs Link header vs sitemap disagreements — on an interactive cluster map with CSV export. The check Search Console's International Targeting report used to run.","snippetText":"Enter one URL or an XML sitemap and the returntag - hreflang checker crawls the whole hreflang cluster — missing return tags, broken targets, self-reference and x-default checks, language-code validation, and head vs Link header vs sitemap disagreements — on an interactive cluster map with CSV export. The check Search Console's International Targeting report used to run.","href":"/tools/returntag/","meta":"Free tool","aliases":[],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"hreflang international seo return tags x-default technical seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/returntag/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"returntag - hreflang checker — Alternate page is missing its reciprocal return tag","desc":"Add the source page to the target page’s hreflang set with the matching locale so the alternate relationship is reciprocal.","snippetText":"Add the source page to the target page’s hreflang set with the matching locale so the alternate relationship is reciprocal.","href":"/tools/returntag/#finding-missing-return","parentHref":"/tools/returntag/","findingId":"missing-return","meta":"Free tool finding · error","aliases":["missing return","Alternate page is missing its reciprocal return tag"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Alternate page is missing its reciprocal return tag Alternate page is missing its reciprocal return tag Add the source page to the target page’s hreflang set with the matching locale so the alternate relationship is reciprocal. rule:hreflang.locale-validity","passages":["Add the source page to the target page’s hreflang set with the matching locale so the alternate relationship is reciprocal."],"popular":0,"url":"https://patrickstox.com/tools/returntag/#finding-missing-return","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"returntag - hreflang checker — Page is missing a self-referencing hreflang","desc":"Add a self-referencing hreflang entry using the page’s own locale and canonical URL.","snippetText":"Add a self-referencing hreflang entry using the page’s own locale and canonical URL.","href":"/tools/returntag/#finding-missing-self","parentHref":"/tools/returntag/","findingId":"missing-self","meta":"Free tool finding · warning","aliases":["missing self","Page is missing a self-referencing hreflang"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Page is missing a self-referencing hreflang Page is missing a self-referencing hreflang Add a self-referencing hreflang entry using the page’s own locale and canonical URL. rule:hreflang.locale-validity","passages":["Add a self-referencing hreflang entry using the page’s own locale and canonical URL."],"popular":0,"url":"https://patrickstox.com/tools/returntag/#finding-missing-self","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"returntag - hreflang checker — hreflang code is invalid","desc":"Replace the hreflang value with a valid language code, optionally followed by a valid region using a hyphen, or use x-default.","snippetText":"Replace the hreflang value with a valid language code, optionally followed by a valid region using a hyphen, or use x-default.","href":"/tools/returntag/#finding-invalid-code","parentHref":"/tools/returntag/","findingId":"invalid-code","meta":"Free tool finding · error","aliases":["invalid code","hreflang code is invalid"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"hreflang code is invalid hreflang code is invalid Replace the hreflang value with a valid language code, optionally followed by a valid region using a hyphen, or use x-default. rule:hreflang.locale-validity","passages":["Replace the hreflang value with a valid language code, optionally followed by a valid region using a hyphen, or use x-default."],"popular":0,"url":"https://patrickstox.com/tools/returntag/#finding-invalid-code","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"returntag - hreflang checker — Page declares the same locale more than once","desc":"Keep one canonical alternate URL for the locale on that page and remove the duplicate declaration.","snippetText":"Keep one canonical alternate URL for the locale on that page and remove the duplicate declaration.","href":"/tools/returntag/#finding-duplicate-code","parentHref":"/tools/returntag/","findingId":"duplicate-code","meta":"Free tool finding · warning","aliases":["duplicate code","Page declares the same locale more than once"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Page declares the same locale more than once Page declares the same locale more than once Keep one canonical alternate URL for the locale on that page and remove the duplicate declaration. rule:hreflang.locale-validity","passages":["Keep one canonical alternate URL for the locale on that page and remove the duplicate declaration."],"popular":0,"url":"https://patrickstox.com/tools/returntag/#finding-duplicate-code","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"returntag - hreflang checker — Alternate target is not a live 2xx page","desc":"Restore the alternate URL to a crawlable 2xx response or replace it everywhere in the cluster with a live localized page.","snippetText":"Restore the alternate URL to a crawlable 2xx response or replace it everywhere in the cluster with a live localized page.","href":"/tools/returntag/#finding-target-non-200","parentHref":"/tools/returntag/","findingId":"target-non-200","meta":"Free tool finding · error","aliases":["target non 200","Alternate target is not a live 2xx page"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Alternate target is not a live 2xx page Alternate target is not a live 2xx page Restore the alternate URL to a crawlable 2xx response or replace it everywhere in the cluster with a live localized page. rule:hreflang.locale-validity","passages":["Restore the alternate URL to a crawlable 2xx response or replace it everywhere in the cluster with a live localized page."],"popular":0,"url":"https://patrickstox.com/tools/returntag/#finding-target-non-200","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"returntag - hreflang checker — Alternate target redirects","desc":"Update every hreflang reference to the redirect’s final 2xx URL and make that final URL self-reference.","snippetText":"Update every hreflang reference to the redirect’s final 2xx URL and make that final URL self-reference.","href":"/tools/returntag/#finding-redirected-target","parentHref":"/tools/returntag/","findingId":"redirected-target","meta":"Free tool finding · warning","aliases":["redirected target","Alternate target redirects"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Alternate target redirects Alternate target redirects Update every hreflang reference to the redirect’s final 2xx URL and make that final URL self-reference. rule:hreflang.locale-validity","passages":["Update every hreflang reference to the redirect’s final 2xx URL and make that final URL self-reference."],"popular":0,"url":"https://patrickstox.com/tools/returntag/#finding-redirected-target","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"returntag - hreflang checker — Alternate target canonicalizes elsewhere","desc":"Align the alternate’s canonical with its own hreflang URL, or remove that alternate if it is intentionally canonicalized to another page.","snippetText":"Align the alternate’s canonical with its own hreflang URL, or remove that alternate if it is intentionally canonicalized to another page.","href":"/tools/returntag/#finding-canonical-conflict","parentHref":"/tools/returntag/","findingId":"canonical-conflict","meta":"Free tool finding · error","aliases":["canonical conflict","Alternate target canonicalizes elsewhere"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Alternate target canonicalizes elsewhere Alternate target canonicalizes elsewhere Align the alternate’s canonical with its own hreflang URL, or remove that alternate if it is intentionally canonicalized to another page. rule:hreflang.locale-validity","passages":["Align the alternate’s canonical with its own hreflang URL, or remove that alternate if it is intentionally canonicalized to another page."],"popular":0,"url":"https://patrickstox.com/tools/returntag/#finding-canonical-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"returntag - hreflang checker — Pages disagree on cluster membership","desc":"Make every page in the intended language cluster publish the same complete set of alternate URLs and reciprocal locale codes.","snippetText":"Make every page in the intended language cluster publish the same complete set of alternate URLs and reciprocal locale codes.","href":"/tools/returntag/#finding-cluster-split","parentHref":"/tools/returntag/","findingId":"cluster-split","meta":"Free tool finding · error","aliases":["cluster split","Pages disagree on cluster membership"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Pages disagree on cluster membership Pages disagree on cluster membership Make every page in the intended language cluster publish the same complete set of alternate URLs and reciprocal locale codes. rule:hreflang.locale-validity","passages":["Make every page in the intended language cluster publish the same complete set of alternate URLs and reciprocal locale codes."],"popular":0,"url":"https://patrickstox.com/tools/returntag/#finding-cluster-split","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"returntag - hreflang checker — Cluster has no x-default page","desc":"Add the same x-default URL to every member of the cluster, usually pointing to a locale selector or global default.","snippetText":"Add the same x-default URL to every member of the cluster, usually pointing to a locale selector or global default.","href":"/tools/returntag/#finding-x-default-gap","parentHref":"/tools/returntag/","findingId":"x-default-gap","meta":"Free tool finding · info","aliases":["x default gap","Cluster has no x-default page"],"toolCategories":["international-seo"],"taxonomy":["international-seo"],"text":"Cluster has no x-default page Cluster has no x-default page Add the same x-default URL to every member of the cluster, usually pointing to a locale selector or global default. rule:hreflang.locale-validity","passages":["Add the same x-default URL to every member of the cluster, usually pointing to a locale selector or global default."],"popular":0,"url":"https://patrickstox.com/tools/returntag/#finding-x-default-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Raw vs. Rendered HTML Checker","desc":"See what's in your page's initial HTML versus after JavaScript runs — headless-Chrome rendering only when the page actually needs it, a rendering-strategy verdict (SSR / prerendered / CSR / hybrid), ~15 calibrated JavaScript-SEO checks (noindex, canonicals, robots.txt blocking, links, soft 404s), a side-by-side raw-vs-rendered diff, and shareable reports.","snippetText":"See what's in your page's initial HTML versus after JavaScript runs — headless-Chrome rendering only when the page actually needs it, a rendering-strategy verdict (SSR / prerendered / CSR / hybrid), ~15 calibrated JavaScript-SEO checks (noindex, canonicals, robots.txt blocking, links, soft 404s), a side-by-side raw-vs-rendered diff, and shareable reports.","href":"/tools/render-gap/","meta":"Free tool","aliases":["accepts url","produces url","produces report","generic http html","wordpress","shopify","nextjs vercel","javascript seo tester"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"javascript seo rendering googlebot technical seo indexing accepts url produces url produces report generic http html wordpress shopify nextjs vercel","passages":["accepts url","produces url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/render-gap/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Initial document head closes unexpectedly early","desc":"Fix the malformed head markup so metadata stays inside one valid <head> element in the initial HTML.","snippetText":"Fix the malformed head markup so metadata stays inside one valid <head> element in the initial HTML.","href":"/tools/render-gap/#finding-head-terminated-early","parentHref":"/tools/render-gap/","findingId":"head-terminated-early","meta":"Free tool finding · warning","aliases":["head terminated early","Initial document head closes unexpectedly early"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Initial document head closes unexpectedly early Initial document head closes unexpectedly early Fix the malformed head markup so metadata stays inside one valid <head> element in the initial HTML.","passages":["Fix the malformed head markup so metadata stays inside one valid <head> element in the initial HTML."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-head-terminated-early","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Title is missing","desc":"Add one concise, unique <title> to the initial HTML that names the page’s primary topic.","snippetText":"Add one concise, unique <title> to the initial HTML that names the page’s primary topic.","href":"/tools/render-gap/#finding-title-missing","parentHref":"/tools/render-gap/","findingId":"title-missing","meta":"Free tool finding · fail","aliases":["title missing","Title is missing"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Title is missing Title is missing Add one concise, unique <title> to the initial HTML that names the page’s primary topic.","passages":["Add one concise, unique <title> to the initial HTML that names the page’s primary topic."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-title-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Title changes after rendering","desc":"Make the server and rendered <title> values identical unless the client-side change is deliberately required.","snippetText":"Make the server and rendered <title> values identical unless the client-side change is deliberately required.","href":"/tools/render-gap/#finding-title-changed","parentHref":"/tools/render-gap/","findingId":"title-changed","meta":"Free tool finding · warning","aliases":["title changed","Title changes after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Title changes after rendering Title changes after rendering Make the server and rendered <title> values identical unless the client-side change is deliberately required.","passages":["Make the server and rendered <title> values identical unless the client-side change is deliberately required."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-title-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Title appears only after JavaScript","desc":"Emit the final <title> in the initial HTML instead of relying on JavaScript to insert it.","snippetText":"Emit the final <title> in the initial HTML instead of relying on JavaScript to insert it.","href":"/tools/render-gap/#finding-title-js-only","parentHref":"/tools/render-gap/","findingId":"title-js-only","meta":"Free tool finding · fail","aliases":["title js only","Title appears only after JavaScript"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Title appears only after JavaScript Title appears only after JavaScript Emit the final <title> in the initial HTML instead of relying on JavaScript to insert it.","passages":["Emit the final <title> in the initial HTML instead of relying on JavaScript to insert it."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-title-js-only","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Meta description is missing","desc":"Add a page-specific meta description to the initial HTML that accurately summarizes the content.","snippetText":"Add a page-specific meta description to the initial HTML that accurately summarizes the content.","href":"/tools/render-gap/#finding-description-missing","parentHref":"/tools/render-gap/","findingId":"description-missing","meta":"Free tool finding · warning","aliases":["description missing","Meta description is missing"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Meta description is missing Meta description is missing Add a page-specific meta description to the initial HTML that accurately summarizes the content.","passages":["Add a page-specific meta description to the initial HTML that accurately summarizes the content."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-description-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Meta description changes after rendering","desc":"Align the initial and rendered meta descriptions so crawlers receive one consistent summary.","snippetText":"Align the initial and rendered meta descriptions so crawlers receive one consistent summary.","href":"/tools/render-gap/#finding-description-changed","parentHref":"/tools/render-gap/","findingId":"description-changed","meta":"Free tool finding · warning","aliases":["description changed","Meta description changes after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Meta description changes after rendering Meta description changes after rendering Align the initial and rendered meta descriptions so crawlers receive one consistent summary.","passages":["Align the initial and rendered meta descriptions so crawlers receive one consistent summary."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-description-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Initial and rendered canonicals conflict","desc":"Choose the preferred absolute URL and make the initial and rendered canonical tags point to it.","snippetText":"Choose the preferred absolute URL and make the initial and rendered canonical tags point to it.","href":"/tools/render-gap/#finding-canonical-conflict","parentHref":"/tools/render-gap/","findingId":"canonical-conflict","meta":"Free tool finding · fail","aliases":["canonical conflict","Initial and rendered canonicals conflict"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Initial and rendered canonicals conflict Initial and rendered canonicals conflict Choose the preferred absolute URL and make the initial and rendered canonical tags point to it.","passages":["Choose the preferred absolute URL and make the initial and rendered canonical tags point to it."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-canonical-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — JavaScript overwrites the canonical","desc":"Keep one canonical in the initial HTML and stop client code from replacing it after render.","snippetText":"Keep one canonical in the initial HTML and stop client code from replacing it after render.","href":"/tools/render-gap/#finding-canonical-overwritten","parentHref":"/tools/render-gap/","findingId":"canonical-overwritten","meta":"Free tool finding · fail","aliases":["canonical overwritten","JavaScript overwrites the canonical"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"JavaScript overwrites the canonical JavaScript overwrites the canonical Keep one canonical in the initial HTML and stop client code from replacing it after render.","passages":["Keep one canonical in the initial HTML and stop client code from replacing it after render."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-canonical-overwritten","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Canonical exists only after rendering","desc":"Move the canonical tag into the initial HTML instead of adding it only after JavaScript runs.","snippetText":"Move the canonical tag into the initial HTML instead of adding it only after JavaScript runs.","href":"/tools/render-gap/#finding-canonical-js-added","parentHref":"/tools/render-gap/","findingId":"canonical-js-added","meta":"Free tool finding · warning","aliases":["canonical js added","Canonical exists only after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Canonical exists only after rendering Canonical exists only after rendering Move the canonical tag into the initial HTML instead of adding it only after JavaScript runs.","passages":["Move the canonical tag into the initial HTML instead of adding it only after JavaScript runs."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-canonical-js-added","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — JavaScript removes noindex","desc":"Remove noindex from the initial server response when the page should be indexed; do not rely on JavaScript to undo it.","snippetText":"Remove noindex from the initial server response when the page should be indexed; do not rely on JavaScript to undo it.","href":"/tools/render-gap/#finding-robots-noindex-removed","parentHref":"/tools/render-gap/","findingId":"robots-noindex-removed","meta":"Free tool finding · fail","aliases":["robots noindex removed","JavaScript removes noindex"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"JavaScript removes noindex JavaScript removes noindex Remove noindex from the initial server response when the page should be indexed; do not rely on JavaScript to undo it.","passages":["Remove noindex from the initial server response when the page should be indexed; do not rely on JavaScript to undo it."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-robots-noindex-removed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — JavaScript adds noindex","desc":"Stop client code from adding noindex to pages that should remain indexable.","snippetText":"Stop client code from adding noindex to pages that should remain indexable.","href":"/tools/render-gap/#finding-robots-noindex-rendered","parentHref":"/tools/render-gap/","findingId":"robots-noindex-rendered","meta":"Free tool finding · warn","aliases":["robots noindex rendered","JavaScript adds noindex"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"JavaScript adds noindex JavaScript adds noindex Stop client code from adding noindex to pages that should remain indexable.","passages":["Stop client code from adding noindex to pages that should remain indexable."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-robots-noindex-rendered","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Noindex remains after rendering","desc":"Remove the noindex directive from both initial and rendered HTML when the page should be indexed.","snippetText":"Remove the noindex directive from both initial and rendered HTML when the page should be indexed.","href":"/tools/render-gap/#finding-robots-noindex","parentHref":"/tools/render-gap/","findingId":"robots-noindex","meta":"Free tool finding · fail","aliases":["robots noindex","Noindex remains after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Noindex remains after rendering Noindex remains after rendering Remove the noindex directive from both initial and rendered HTML when the page should be indexed.","passages":["Remove the noindex directive from both initial and rendered HTML when the page should be indexed."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-robots-noindex","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Nofollow remains after rendering","desc":"Remove nofollow when crawlers should follow the page’s links, or scope it only to links that require it.","snippetText":"Remove nofollow when crawlers should follow the page’s links, or scope it only to links that require it.","href":"/tools/render-gap/#finding-robots-nofollow","parentHref":"/tools/render-gap/","findingId":"robots-nofollow","meta":"Free tool finding · warning","aliases":["robots nofollow","Nofollow remains after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Nofollow remains after rendering Nofollow remains after rendering Remove nofollow when crawlers should follow the page’s links, or scope it only to links that require it.","passages":["Remove nofollow when crawlers should follow the page’s links, or scope it only to links that require it."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-robots-nofollow","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — hreflang appears only after rendering","desc":"Emit every hreflang annotation in the initial HTML or HTTP headers instead of adding it only with JavaScript.","snippetText":"Emit every hreflang annotation in the initial HTML or HTTP headers instead of adding it only with JavaScript.","href":"/tools/render-gap/#finding-hreflang-js-added","parentHref":"/tools/render-gap/","findingId":"hreflang-js-added","meta":"Free tool finding · warning","aliases":["hreflang js added","hreflang appears only after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"hreflang appears only after rendering hreflang appears only after rendering Emit every hreflang annotation in the initial HTML or HTTP headers instead of adding it only with JavaScript.","passages":["Emit every hreflang annotation in the initial HTML or HTTP headers instead of adding it only with JavaScript."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-hreflang-js-added","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — hreflang changes after rendering","desc":"Make the initial and rendered hreflang sets identical, reciprocal, and pointed at the intended locale URLs.","snippetText":"Make the initial and rendered hreflang sets identical, reciprocal, and pointed at the intended locale URLs.","href":"/tools/render-gap/#finding-hreflang-render-drift","parentHref":"/tools/render-gap/","findingId":"hreflang-render-drift","meta":"Free tool finding · warning","aliases":["hreflang render drift","hreflang changes after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"hreflang changes after rendering hreflang changes after rendering Make the initial and rendered hreflang sets identical, reciprocal, and pointed at the intended locale URLs.","passages":["Make the initial and rendered hreflang sets identical, reciprocal, and pointed at the intended locale URLs."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-hreflang-render-drift","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Important content appears only after rendering","desc":"Server-render or statically generate the important copy so it exists in the initial HTML.","snippetText":"Server-render or statically generate the important copy so it exists in the initial HTML.","href":"/tools/render-gap/#finding-content-js-dependent","parentHref":"/tools/render-gap/","findingId":"content-js-dependent","meta":"Free tool finding · fail","aliases":["content js dependent","Important content appears only after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Important content appears only after rendering Important content appears only after rendering Server-render or statically generate the important copy so it exists in the initial HTML.","passages":["Server-render or statically generate the important copy so it exists in the initial HTML."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-content-js-dependent","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Substantial content is added after rendering","desc":"Move the essential JavaScript-added copy into initial HTML and leave only nonessential enhancements to the client.","snippetText":"Move the essential JavaScript-added copy into initial HTML and leave only nonessential enhancements to the client.","href":"/tools/render-gap/#finding-content-partly-js","parentHref":"/tools/render-gap/","findingId":"content-partly-js","meta":"Free tool finding · warning","aliases":["content partly js","Substantial content is added after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Substantial content is added after rendering Substantial content is added after rendering Move the essential JavaScript-added copy into initial HTML and leave only nonessential enhancements to the client.","passages":["Move the essential JavaScript-added copy into initial HTML and leave only nonessential enhancements to the client."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-content-partly-js","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Important links appear only after rendering","desc":"Expose important destinations as ordinary <a href> links in the initial HTML.","snippetText":"Expose important destinations as ordinary <a href> links in the initial HTML.","href":"/tools/render-gap/#finding-links-js-added","parentHref":"/tools/render-gap/","findingId":"links-js-added","meta":"Free tool finding · warning","aliases":["links js added","Important links appear only after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Important links appear only after rendering Important links appear only after rendering Expose important destinations as ordinary <a href> links in the initial HTML.","passages":["Expose important destinations as ordinary <a href> links in the initial HTML."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-links-js-added","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Rendered links are not crawlable URLs","desc":"Replace onclick, javascript:, or button navigation with crawlable <a href> URLs.","snippetText":"Replace onclick, javascript:, or button navigation with crawlable <a href> URLs.","href":"/tools/render-gap/#finding-links-bad-format","parentHref":"/tools/render-gap/","findingId":"links-bad-format","meta":"Free tool finding · fail","aliases":["links bad format","Rendered links are not crawlable URLs"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Rendered links are not crawlable URLs Rendered links are not crawlable URLs Replace onclick, javascript:, or button navigation with crawlable <a href> URLs.","passages":["Replace onclick, javascript:, or button navigation with crawlable <a href> URLs."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-links-bad-format","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Rendered images lack alt attributes","desc":"Add concise alt text to meaningful rendered images and empty alt attributes to decorative ones.","snippetText":"Add concise alt text to meaningful rendered images and empty alt attributes to decorative ones.","href":"/tools/render-gap/#finding-alt-missing","parentHref":"/tools/render-gap/","findingId":"alt-missing","meta":"Free tool finding · warning","aliases":["alt missing","Rendered images lack alt attributes"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Rendered images lack alt attributes Rendered images lack alt attributes Add concise alt text to meaningful rendered images and empty alt attributes to decorative ones.","passages":["Add concise alt text to meaningful rendered images and empty alt attributes to decorative ones."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-alt-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Robots.txt blocks rendering resources","desc":"Allow Googlebot to fetch the blocked JavaScript, CSS, or data resources required to render the page.","snippetText":"Allow Googlebot to fetch the blocked JavaScript, CSS, or data resources required to render the page.","href":"/tools/render-gap/#finding-robots-blocks-resources","parentHref":"/tools/render-gap/","findingId":"robots-blocks-resources","meta":"Free tool finding · fail","aliases":["robots blocks resources","Robots.txt blocks rendering resources"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Robots.txt blocks rendering resources Robots.txt blocks rendering resources Allow Googlebot to fetch the blocked JavaScript, CSS, or data resources required to render the page.","passages":["Allow Googlebot to fetch the blocked JavaScript, CSS, or data resources required to render the page."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-robots-blocks-resources","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Rendering produces console errors","desc":"Fix the named client-side exception and confirm essential content still renders on a cold load.","snippetText":"Fix the named client-side exception and confirm essential content still renders on a cold load.","href":"/tools/render-gap/#finding-render-console-errors","parentHref":"/tools/render-gap/","findingId":"render-console-errors","meta":"Free tool finding · warning","aliases":["render console errors","Rendering produces console errors"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Rendering produces console errors Rendering produces console errors Fix the named client-side exception and confirm essential content still renders on a cold load.","passages":["Fix the named client-side exception and confirm essential content still renders on a cold load."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-render-console-errors","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Rendering has failed resource requests","desc":"Restore, correctly route, or remove each failed resource request required by the rendered output.","snippetText":"Restore, correctly route, or remove each failed resource request required by the rendered output.","href":"/tools/render-gap/#finding-render-failed-requests","parentHref":"/tools/render-gap/","findingId":"render-failed-requests","meta":"Free tool finding · warning","aliases":["render failed requests","Rendering has failed resource requests"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Rendering has failed resource requests Rendering has failed resource requests Restore, correctly route, or remove each failed resource request required by the rendered output.","passages":["Restore, correctly route, or remove each failed resource request required by the rendered output."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-render-failed-requests","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Important content is hidden in the rendered DOM","desc":"Make the important DOM content visibly available by default or through an accessible expandable control.","snippetText":"Make the important DOM content visibly available by default or through an accessible expandable control.","href":"/tools/render-gap/#finding-hidden-content-in-dom","parentHref":"/tools/render-gap/","findingId":"hidden-content-in-dom","meta":"Free tool finding · warning","aliases":["hidden content in dom","Important content is hidden in the rendered DOM"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Important content is hidden in the rendered DOM Important content is hidden in the rendered DOM Make the important DOM content visibly available by default or through an accessible expandable control.","passages":["Make the important DOM content visibly available by default or through an accessible expandable control."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-hidden-content-in-dom","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Important content requires interaction","desc":"Put the full content in the loaded DOM or give it a crawlable URL instead of requiring a click or scroll.","snippetText":"Put the full content in the loaded DOM or give it a crawlable URL instead of requiring a click or scroll.","href":"/tools/render-gap/#finding-content-behind-interaction","parentHref":"/tools/render-gap/","findingId":"content-behind-interaction","meta":"Free tool finding · warning","aliases":["content behind interaction","Important content requires interaction"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Important content requires interaction Important content requires interaction Put the full content in the loaded DOM or give it a crawlable URL instead of requiring a click or scroll.","passages":["Put the full content in the loaded DOM or give it a crawlable URL instead of requiring a click or scroll."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-content-behind-interaction","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Rendered page looks like a soft 404","desc":"Return 404/410 for a missing page, or replace the thin error-like body with substantive content at the 200 URL.","snippetText":"Return 404/410 for a missing page, or replace the thin error-like body with substantive content at the 200 URL.","href":"/tools/render-gap/#finding-soft-404","parentHref":"/tools/render-gap/","findingId":"soft-404","meta":"Free tool finding · fail","aliases":["soft 404","Rendered page looks like a soft 404"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Rendered page looks like a soft 404 Rendered page looks like a soft 404 Return 404/410 for a missing page, or replace the thin error-like body with substantive content at the 200 URL.","passages":["Return 404/410 for a missing page, or replace the thin error-like body with substantive content at the 200 URL."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-soft-404","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — JavaScript redirects the page","desc":"Replace the JavaScript redirect with an appropriate server-side 3xx response to the final URL.","snippetText":"Replace the JavaScript redirect with an appropriate server-side 3xx response to the final URL.","href":"/tools/render-gap/#finding-js-redirect","parentHref":"/tools/render-gap/","findingId":"js-redirect","meta":"Free tool finding · warning","aliases":["js redirect","JavaScript redirects the page"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"JavaScript redirects the page JavaScript redirects the page Replace the JavaScript redirect with an appropriate server-side 3xx response to the final URL.","passages":["Replace the JavaScript redirect with an appropriate server-side 3xx response to the final URL."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-js-redirect","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Structured data is absent","desc":"Add accurate JSON-LD for the page’s primary supported entity when structured data is appropriate.","snippetText":"Add accurate JSON-LD for the page’s primary supported entity when structured data is appropriate.","href":"/tools/render-gap/#finding-structured-data-none","parentHref":"/tools/render-gap/","findingId":"structured-data-none","meta":"Free tool finding · info","aliases":["structured data none","Structured data is absent"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Structured data is absent Structured data is absent Add accurate JSON-LD for the page’s primary supported entity when structured data is appropriate.","passages":["Add accurate JSON-LD for the page’s primary supported entity when structured data is appropriate."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-structured-data-none","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Structured data appears only after rendering","desc":"Emit the validated JSON-LD in initial HTML instead of inserting it only after JavaScript runs.","snippetText":"Emit the validated JSON-LD in initial HTML instead of inserting it only after JavaScript runs.","href":"/tools/render-gap/#finding-structured-data-js-added","parentHref":"/tools/render-gap/","findingId":"structured-data-js-added","meta":"Free tool finding · warning","aliases":["structured data js added","Structured data appears only after rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Structured data appears only after rendering Structured data appears only after rendering Emit the validated JSON-LD in initial HTML instead of inserting it only after JavaScript runs.","passages":["Emit the validated JSON-LD in initial HTML instead of inserting it only after JavaScript runs."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-structured-data-js-added","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Page depends on a WebSocket during render","desc":"Render essential content without requiring an open WebSocket, and provide a resilient HTTP or server-rendered fallback.","snippetText":"Render essential content without requiring an open WebSocket, and provide a resilient HTTP or server-rendered fallback.","href":"/tools/render-gap/#finding-websocket-usage","parentHref":"/tools/render-gap/","findingId":"websocket-usage","meta":"Free tool finding · info","aliases":["websocket usage","Page depends on a WebSocket during render"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Page depends on a WebSocket during render Page depends on a WebSocket during render Render essential content without requiring an open WebSocket, and provide a resilient HTTP or server-rendered fallback.","passages":["Render essential content without requiring an open WebSocket, and provide a resilient HTTP or server-rendered fallback."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-websocket-usage","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Viewport meta tag is missing","desc":"Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> to the initial head.","snippetText":"Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> to the initial head.","href":"/tools/render-gap/#finding-viewport-missing","parentHref":"/tools/render-gap/","findingId":"viewport-missing","meta":"Free tool finding · warning","aliases":["viewport missing","Viewport meta tag is missing"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Viewport meta tag is missing Viewport meta tag is missing Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> to the initial head.","passages":["Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> to the initial head."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-viewport-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Critical content depends on client rendering","desc":"Server-render or prerender the title, H1, links, and primary content in the initial HTML.","snippetText":"Server-render or prerender the title, H1, links, and primary content in the initial HTML.","href":"/tools/render-gap/#finding-render-strategy","parentHref":"/tools/render-gap/","findingId":"render-strategy","meta":"Free tool finding · fail","aliases":["render strategy","Critical content depends on client rendering"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Critical content depends on client rendering Critical content depends on client rendering Server-render or prerender the title, H1, links, and primary content in the initial HTML.","passages":["Server-render or prerender the title, H1, links, and primary content in the initial HTML."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-render-strategy","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Page relies on hash routing","desc":"Switch the router to history-mode paths that the server can resolve without a URL fragment.","snippetText":"Switch the router to history-mode paths that the server can resolve without a URL fragment.","href":"/tools/render-gap/#finding-hash-routing","parentHref":"/tools/render-gap/","findingId":"hash-routing","meta":"Free tool finding · warning","aliases":["hash routing","Page relies on hash routing"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Page relies on hash routing Page relies on hash routing Switch the router to history-mode paths that the server can resolve without a URL fragment.","passages":["Switch the router to history-mode paths that the server can resolve without a URL fragment."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-hash-routing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Title element is outside the HTML head","desc":"Move the title into the document head and keep exactly one non-empty title value there.","snippetText":"Move the title into the document head and keep exactly one non-empty title value there.","href":"/tools/render-gap/#finding-title-invalid-placement","parentHref":"/tools/render-gap/","findingId":"title-invalid-placement","meta":"Free tool finding · warning","aliases":["title invalid placement","Title element is outside the HTML head"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Title element is outside the HTML head Title element is outside the HTML head Move the title into the document head and keep exactly one non-empty title value there.","passages":["Move the title into the document head and keep exactly one non-empty title value there."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-title-invalid-placement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Canonical element is outside the HTML head","desc":"Move the intended canonical link into the document head and remove body-level canonical declarations.","snippetText":"Move the intended canonical link into the document head and remove body-level canonical declarations.","href":"/tools/render-gap/#finding-canonical-invalid-placement","parentHref":"/tools/render-gap/","findingId":"canonical-invalid-placement","meta":"Free tool finding · warning","aliases":["canonical invalid placement","Canonical element is outside the HTML head"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Canonical element is outside the HTML head Canonical element is outside the HTML head Move the intended canonical link into the document head and remove body-level canonical declarations.","passages":["Move the intended canonical link into the document head and remove body-level canonical declarations."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-canonical-invalid-placement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Raw vs. Rendered HTML Checker — Initial HTML contains conflicting canonicals","desc":"Emit one canonical URL in the initial HTML instead of relying on JavaScript to repair conflicting declarations.","snippetText":"Emit one canonical URL in the initial HTML instead of relying on JavaScript to repair conflicting declarations.","href":"/tools/render-gap/#finding-canonical-raw-conflict","parentHref":"/tools/render-gap/","findingId":"canonical-raw-conflict","meta":"Free tool finding · warning","aliases":["canonical raw conflict","Initial HTML contains conflicting canonicals"],"toolCategories":["rendering-js","crawling-indexing"],"taxonomy":["rendering-js","crawling-indexing"],"text":"Initial HTML contains conflicting canonicals Initial HTML contains conflicting canonicals Emit one canonical URL in the initial HTML instead of relying on JavaScript to repair conflicting declarations.","passages":["Emit one canonical URL in the initial HTML instead of relying on JavaScript to repair conflicting declarations."],"popular":0,"url":"https://patrickstox.com/tools/render-gap/#finding-canonical-raw-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker","desc":"One sentence tells you whether a page passes Core Web Vitals and what to fix first — real Chrome user data (CrUX) with a Lighthouse lab fallback, mobile and desktop side by side, loudly-labeled data sources, and prioritized diagnostic fixes. Plus a bulk origin scorecard with CSV export.","snippetText":"One sentence tells you whether a page passes Core Web Vitals and what to fix first — real Chrome user data (CrUX) with a Lighthouse lab fallback, mobile and desktop side by side, loudly-labeled data sources, and prioritized diagnostic fixes. Plus a bulk origin scorecard with CSV export.","href":"/tools/cwv-checker/","meta":"Free tool","aliases":["Page Speed & Core Web Vitals Checker","accepts url","produces url","produces report","generic http html","wordpress","shopify","nextjs vercel","site speed","website speed","performance test","core web vitals test","cwv checker"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"core web vitals page speed lcp inp cls Legacy search alias for the unified Page Speed Test & Core Web Vitals Checker. The production route permanently redirects to the canonical checker so there is one engine and one result page. page speed core web vitals lighthouse web performance technical seo accepts url produces url produces report generic http html wordpress shopify nextjs vercel","passages":["accepts url","produces url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"popular":2,"url":"https://patrickstox.com/tools/cwv-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — LCP is poor","desc":"Cut LCP below 2.5 seconds by optimizing the measured LCP element and its critical delivery path, then verify with fresh field data.","snippetText":"Cut LCP below 2.5 seconds by optimizing the measured LCP element and its critical delivery path, then verify with fresh field data.","href":"/tools/cwv-checker/#finding-lcp-poor","parentHref":"/tools/cwv-checker/","findingId":"lcp-poor","meta":"Free tool finding · fail","aliases":["lcp poor","LCP is poor"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"LCP is poor LCP is poor Cut LCP below 2.5 seconds by optimizing the measured LCP element and its critical delivery path, then verify with fresh field data. rule:performance.core-web-vitals","passages":["Cut LCP below 2.5 seconds by optimizing the measured LCP element and its critical delivery path, then verify with fresh field data."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-lcp-poor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — LCP needs improvement","desc":"Bring LCP below 2.5 seconds by prioritizing the measured LCP element and removing delay from its delivery path.","snippetText":"Bring LCP below 2.5 seconds by prioritizing the measured LCP element and removing delay from its delivery path.","href":"/tools/cwv-checker/#finding-lcp-needs-improvement","parentHref":"/tools/cwv-checker/","findingId":"lcp-needs-improvement","meta":"Free tool finding · warning","aliases":["lcp needs improvement","LCP needs improvement"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"LCP needs improvement LCP needs improvement Bring LCP below 2.5 seconds by prioritizing the measured LCP element and removing delay from its delivery path. rule:performance.core-web-vitals","passages":["Bring LCP below 2.5 seconds by prioritizing the measured LCP element and removing delay from its delivery path."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-lcp-needs-improvement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — INP is poor","desc":"Cut INP below 200 ms by shortening the longest interaction tasks and reducing JavaScript work on the main thread.","snippetText":"Cut INP below 200 ms by shortening the longest interaction tasks and reducing JavaScript work on the main thread.","href":"/tools/cwv-checker/#finding-inp-poor","parentHref":"/tools/cwv-checker/","findingId":"inp-poor","meta":"Free tool finding · fail","aliases":["inp poor","INP is poor"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"INP is poor INP is poor Cut INP below 200 ms by shortening the longest interaction tasks and reducing JavaScript work on the main thread. rule:performance.core-web-vitals","passages":["Cut INP below 200 ms by shortening the longest interaction tasks and reducing JavaScript work on the main thread."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-inp-poor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — INP needs improvement","desc":"Bring INP below 200 ms by breaking up long interaction handlers and yielding main-thread work.","snippetText":"Bring INP below 200 ms by breaking up long interaction handlers and yielding main-thread work.","href":"/tools/cwv-checker/#finding-inp-needs-improvement","parentHref":"/tools/cwv-checker/","findingId":"inp-needs-improvement","meta":"Free tool finding · warning","aliases":["inp needs improvement","INP needs improvement"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"INP needs improvement INP needs improvement Bring INP below 200 ms by breaking up long interaction handlers and yielding main-thread work. rule:performance.core-web-vitals","passages":["Bring INP below 200 ms by breaking up long interaction handlers and yielding main-thread work."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-inp-needs-improvement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — CLS is poor","desc":"Cut CLS below 0.1 by reserving space for shifting elements and preventing late font or content swaps.","snippetText":"Cut CLS below 0.1 by reserving space for shifting elements and preventing late font or content swaps.","href":"/tools/cwv-checker/#finding-cls-poor","parentHref":"/tools/cwv-checker/","findingId":"cls-poor","meta":"Free tool finding · fail","aliases":["cls poor","CLS is poor"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"CLS is poor CLS is poor Cut CLS below 0.1 by reserving space for shifting elements and preventing late font or content swaps. rule:performance.core-web-vitals","passages":["Cut CLS below 0.1 by reserving space for shifting elements and preventing late font or content swaps."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-cls-poor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — CLS needs improvement","desc":"Bring CLS below 0.1 by adding stable dimensions and placeholders for elements that move after first paint.","snippetText":"Bring CLS below 0.1 by adding stable dimensions and placeholders for elements that move after first paint.","href":"/tools/cwv-checker/#finding-cls-needs-improvement","parentHref":"/tools/cwv-checker/","findingId":"cls-needs-improvement","meta":"Free tool finding · warning","aliases":["cls needs improvement","CLS needs improvement"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"CLS needs improvement CLS needs improvement Bring CLS below 0.1 by adding stable dimensions and placeholders for elements that move after first paint. rule:performance.core-web-vitals","passages":["Bring CLS below 0.1 by adding stable dimensions and placeholders for elements that move after first paint."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-cls-needs-improvement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Render-blocking resources may delay LCP","desc":"Inline critical CSS and defer non-critical stylesheets or scripts that block the LCP resource from rendering.","snippetText":"Inline critical CSS and defer non-critical stylesheets or scripts that block the LCP resource from rendering.","href":"/tools/cwv-checker/#finding-lcp-render-blocking","parentHref":"/tools/cwv-checker/","findingId":"lcp-render-blocking","meta":"Free tool finding · warning","aliases":["lcp render blocking","Render-blocking resources may delay LCP"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Render-blocking resources may delay LCP Render-blocking resources may delay LCP Inline critical CSS and defer non-critical stylesheets or scripts that block the LCP resource from rendering. rule:performance.core-web-vitals","passages":["Inline critical CSS and defer non-critical stylesheets or scripts that block the LCP resource from rendering."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-lcp-render-blocking","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Server response may delay LCP","desc":"Reduce initial server response time with caching, faster backend work, and a CDN near users before optimizing the LCP asset.","snippetText":"Reduce initial server response time with caching, faster backend work, and a CDN near users before optimizing the LCP asset.","href":"/tools/cwv-checker/#finding-lcp-server-response","parentHref":"/tools/cwv-checker/","findingId":"lcp-server-response","meta":"Free tool finding · warning","aliases":["lcp server response","Server response may delay LCP"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Server response may delay LCP Server response may delay LCP Reduce initial server response time with caching, faster backend work, and a CDN near users before optimizing the LCP asset. rule:performance.core-web-vitals","passages":["Reduce initial server response time with caching, faster backend work, and a CDN near users before optimizing the LCP asset."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-lcp-server-response","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Image delivery may delay LCP","desc":"Resize and compress the LCP image, serve a modern format with srcset, and preload it when discovery is late.","snippetText":"Resize and compress the LCP image, serve a modern format with srcset, and preload it when discovery is late.","href":"/tools/cwv-checker/#finding-lcp-images","parentHref":"/tools/cwv-checker/","findingId":"lcp-images","meta":"Free tool finding · warning","aliases":["lcp images","Image delivery may delay LCP"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Image delivery may delay LCP Image delivery may delay LCP Resize and compress the LCP image, serve a modern format with srcset, and preload it when discovery is late. rule:performance.core-web-vitals","passages":["Resize and compress the LCP image, serve a modern format with srcset, and preload it when discovery is late."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-lcp-images","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Critical origin lacks preconnect","desc":"Add preconnect only for the critical third-party origin that serves the LCP resource, including crossorigin when required.","snippetText":"Add preconnect only for the critical third-party origin that serves the LCP resource, including crossorigin when required.","href":"/tools/cwv-checker/#finding-lcp-preconnect","parentHref":"/tools/cwv-checker/","findingId":"lcp-preconnect","meta":"Free tool finding · info","aliases":["lcp preconnect","Critical origin lacks preconnect"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Critical origin lacks preconnect Critical origin lacks preconnect Add preconnect only for the critical third-party origin that serves the LCP resource, including crossorigin when required. rule:performance.core-web-vitals","passages":["Add preconnect only for the critical third-party origin that serves the LCP resource, including crossorigin when required."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-lcp-preconnect","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Third-party code contributes to INP","desc":"Defer or delay non-critical tag managers, chat, analytics, and testing scripts until after the first interaction, and remove unused vendors.","snippetText":"Defer or delay non-critical tag managers, chat, analytics, and testing scripts until after the first interaction, and remove unused vendors.","href":"/tools/cwv-checker/#finding-inp-third-party","parentHref":"/tools/cwv-checker/","findingId":"inp-third-party","meta":"Free tool finding · warning","aliases":["inp third party","Third-party code contributes to INP"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Third-party code contributes to INP Third-party code contributes to INP Defer or delay non-critical tag managers, chat, analytics, and testing scripts until after the first interaction, and remove unused vendors. rule:performance.core-web-vitals","passages":["Defer or delay non-critical tag managers, chat, analytics, and testing scripts until after the first interaction, and remove unused vendors."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-inp-third-party","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Main-thread work contributes to INP","desc":"Break long main-thread tasks into smaller chunks, move heavy computation to a worker, and minimize synchronous layout work.","snippetText":"Break long main-thread tasks into smaller chunks, move heavy computation to a worker, and minimize synchronous layout work.","href":"/tools/cwv-checker/#finding-inp-mainthread","parentHref":"/tools/cwv-checker/","findingId":"inp-mainthread","meta":"Free tool finding · warning","aliases":["inp mainthread","Main-thread work contributes to INP"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Main-thread work contributes to INP Main-thread work contributes to INP Break long main-thread tasks into smaller chunks, move heavy computation to a worker, and minimize synchronous layout work. rule:performance.core-web-vitals","passages":["Break long main-thread tasks into smaller chunks, move heavy computation to a worker, and minimize synchronous layout work."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-inp-mainthread","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Unused JavaScript contributes to INP","desc":"Code-split by route and component so the page downloads, parses, and executes only JavaScript needed for the current view.","snippetText":"Code-split by route and component so the page downloads, parses, and executes only JavaScript needed for the current view.","href":"/tools/cwv-checker/#finding-inp-unused-js","parentHref":"/tools/cwv-checker/","findingId":"inp-unused-js","meta":"Free tool finding · warning","aliases":["inp unused js","Unused JavaScript contributes to INP"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Unused JavaScript contributes to INP Unused JavaScript contributes to INP Code-split by route and component so the page downloads, parses, and executes only JavaScript needed for the current view. rule:performance.core-web-vitals","passages":["Code-split by route and component so the page downloads, parses, and executes only JavaScript needed for the current view."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-inp-unused-js","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Layout-shift elements contribute to CLS","desc":"Give the reported images, embeds, ads, and injected regions explicit dimensions or reserved placeholders before they load.","snippetText":"Give the reported images, embeds, ads, and injected regions explicit dimensions or reserved placeholders before they load.","href":"/tools/cwv-checker/#finding-cls-shift-elements","parentHref":"/tools/cwv-checker/","findingId":"cls-shift-elements","meta":"Free tool finding · warning","aliases":["cls shift elements","Layout-shift elements contribute to CLS"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Layout-shift elements contribute to CLS Layout-shift elements contribute to CLS Give the reported images, embeds, ads, and injected regions explicit dimensions or reserved placeholders before they load. rule:performance.core-web-vitals","passages":["Give the reported images, embeds, ads, and injected regions explicit dimensions or reserved placeholders before they load."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-cls-shift-elements","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Font loading contributes to CLS","desc":"Preload critical fonts, use metric-compatible fallbacks, and choose font-display behavior that avoids a late layout-changing swap.","snippetText":"Preload critical fonts, use metric-compatible fallbacks, and choose font-display behavior that avoids a late layout-changing swap.","href":"/tools/cwv-checker/#finding-cls-font-display","parentHref":"/tools/cwv-checker/","findingId":"cls-font-display","meta":"Free tool finding · warning","aliases":["cls font display","Font loading contributes to CLS"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Font loading contributes to CLS Font loading contributes to CLS Preload critical fonts, use metric-compatible fallbacks, and choose font-display behavior that avoids a late layout-changing swap. rule:performance.core-web-vitals","passages":["Preload critical fonts, use metric-compatible fallbacks, and choose font-display behavior that avoids a late layout-changing swap."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-cls-font-display","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Page Speed Test & Core Web Vitals Checker — Lab and field performance disagree","desc":"Use the Lighthouse trace to diagnose the simulated-run bottleneck, then monitor the matching CrUX metric before claiming or closing a real-user regression.","snippetText":"Use the Lighthouse trace to diagnose the simulated-run bottleneck, then monitor the matching CrUX metric before claiming or closing a real-user regression.","href":"/tools/cwv-checker/#finding-lab-field-disagree","parentHref":"/tools/cwv-checker/","findingId":"lab-field-disagree","meta":"Free tool finding · warning","aliases":["lab field disagree","Lab and field performance disagree"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Lab and field performance disagree Lab and field performance disagree Use the Lighthouse trace to diagnose the simulated-run bottleneck, then monitor the matching CrUX metric before claiming or closing a real-user regression. rule:performance.core-web-vitals","passages":["Use the Lighthouse trace to diagnose the simulated-run bottleneck, then monitor the matching CrUX metric before claiming or closing a real-user regression."],"popular":0,"url":"https://patrickstox.com/tools/cwv-checker/#finding-lab-field-disagree","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Google Knowledge Graph Explorer","desc":"See whether Google's Knowledge Graph knows a person, company, or brand — the entity's name, types, description, and machine ID — with a step-by-step playbook if it doesn't, copy-paste schema.org JSON-LD if it does, and a side-by-side comparison of two entities.","snippetText":"See whether Google's Knowledge Graph knows a person, company, or brand — the entity's name, types, description, and machine ID — with a step-by-step playbook if it doesn't, copy-paste schema.org JSON-LD if it does, and a side-by-side comparison of two entities.","href":"/tools/kg-explorer/","meta":"Free tool","aliases":[],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"knowledge graph entities entity seo schema knowledge panel","passages":[],"popular":0,"url":"https://patrickstox.com/tools/kg-explorer/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Knowledge Graph Explorer — Entity is absent from Knowledge Graph results","desc":"Try the entity’s official name and distinguishing context, then document the unmatched state instead of inventing an ID.","snippetText":"Try the entity’s official name and distinguishing context, then document the unmatched state instead of inventing an ID.","href":"/tools/kg-explorer/#finding-no-results","parentHref":"/tools/kg-explorer/","findingId":"no-results","meta":"Free tool finding · warning","aliases":["no results","Entity is absent from Knowledge Graph results"],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"Entity is absent from Knowledge Graph results Entity is absent from Knowledge Graph results Try the entity’s official name and distinguishing context, then document the unmatched state instead of inventing an ID.","passages":["Try the entity’s official name and distinguishing context, then document the unmatched state instead of inventing an ID."],"popular":0,"url":"https://patrickstox.com/tools/kg-explorer/#finding-no-results","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Knowledge Graph Explorer — Multiple Knowledge Graph entities match","desc":"Compare type, description, and identifiers, then select only the result that matches the intended real-world entity.","snippetText":"Compare type, description, and identifiers, then select only the result that matches the intended real-world entity.","href":"/tools/kg-explorer/#finding-ambiguous-results","parentHref":"/tools/kg-explorer/","findingId":"ambiguous-results","meta":"Free tool finding · warning","aliases":["ambiguous results","Multiple Knowledge Graph entities match"],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"Multiple Knowledge Graph entities match Multiple Knowledge Graph entities match Compare type, description, and identifiers, then select only the result that matches the intended real-world entity.","passages":["Compare type, description, and identifiers, then select only the result that matches the intended real-world entity."],"popular":0,"url":"https://patrickstox.com/tools/kg-explorer/#finding-ambiguous-results","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Knowledge Graph Explorer — Entity type does not match the intended subject","desc":"Refine the query with the intended entity type or choose a result whose type matches the subject.","snippetText":"Refine the query with the intended entity type or choose a result whose type matches the subject.","href":"/tools/kg-explorer/#finding-weak-type-match","parentHref":"/tools/kg-explorer/","findingId":"weak-type-match","meta":"Free tool finding · warning","aliases":["weak type match","Entity type does not match the intended subject"],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"Entity type does not match the intended subject Entity type does not match the intended subject Refine the query with the intended entity type or choose a result whose type matches the subject.","passages":["Refine the query with the intended entity type or choose a result whose type matches the subject."],"popular":0,"url":"https://patrickstox.com/tools/kg-explorer/#finding-weak-type-match","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Knowledge Graph Explorer — Entity result lacks a useful description","desc":"Verify the entity through its type and identifiers, and avoid relying on an absent description for disambiguation.","snippetText":"Verify the entity through its type and identifiers, and avoid relying on an absent description for disambiguation.","href":"/tools/kg-explorer/#finding-missing-description","parentHref":"/tools/kg-explorer/","findingId":"missing-description","meta":"Free tool finding · info","aliases":["missing description","Entity result lacks a useful description"],"toolCategories":["structured-data","ai-visibility"],"taxonomy":["structured-data","ai-visibility"],"text":"Entity result lacks a useful description Entity result lacks a useful description Verify the entity through its type and identifiers, and avoid relying on an absent description for disambiguation.","passages":["Verify the entity through its type and identifiers, and avoid relying on an absent description for disambiguation."],"popular":0,"url":"https://patrickstox.com/tools/kg-explorer/#finding-missing-description","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Mobile-Friendly Tester","desc":"Run a seven-part mobile-layout diagnostic — a 0–100 product score for viewport, responsive CSS, fixed widths, font sizes, images, page weight, and plugins, plus a separate phone-viewport preview.","snippetText":"Run a seven-part mobile-layout diagnostic — a 0–100 product score for viewport, responsive CSS, fixed widths, font sizes, images, page weight, and plugins, plus a separate phone-viewport preview.","href":"/tools/mobile-friendly-tester/","meta":"Free tool","aliases":["accepts url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"toolCategories":["performance","accessibility"],"taxonomy":["performance","accessibility"],"text":"mobile friendly mobile seo viewport responsive design technical seo accepts url produces report generic http html wordpress shopify nextjs vercel","passages":["accepts url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/mobile-friendly-tester/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Mobile-Friendly Tester — Viewport meta tag is missing or invalid","desc":"Add a valid width=device-width viewport meta tag to the initial HTML head.","snippetText":"Add a valid width=device-width viewport meta tag to the initial HTML head.","href":"/tools/mobile-friendly-tester/#finding-viewport","parentHref":"/tools/mobile-friendly-tester/","findingId":"viewport","meta":"Free tool finding · fail","aliases":["viewport","Viewport meta tag is missing or invalid"],"toolCategories":["performance","accessibility"],"taxonomy":["performance","accessibility"],"text":"Viewport meta tag is missing or invalid Viewport meta tag is missing or invalid Add a valid width=device-width viewport meta tag to the initial HTML head.","passages":["Add a valid width=device-width viewport meta tag to the initial HTML head."],"popular":0,"url":"https://patrickstox.com/tools/mobile-friendly-tester/#finding-viewport","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Mobile-Friendly Tester — Responsive CSS signals are missing","desc":"Add responsive CSS breakpoints that adapt layout and typography to narrow viewports.","snippetText":"Add responsive CSS breakpoints that adapt layout and typography to narrow viewports.","href":"/tools/mobile-friendly-tester/#finding-media-queries","parentHref":"/tools/mobile-friendly-tester/","findingId":"media-queries","meta":"Free tool finding · warning","aliases":["media queries","Responsive CSS signals are missing"],"toolCategories":["performance","accessibility"],"taxonomy":["performance","accessibility"],"text":"Responsive CSS signals are missing Responsive CSS signals are missing Add responsive CSS breakpoints that adapt layout and typography to narrow viewports.","passages":["Add responsive CSS breakpoints that adapt layout and typography to narrow viewports."],"popular":0,"url":"https://patrickstox.com/tools/mobile-friendly-tester/#finding-media-queries","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Mobile-Friendly Tester — Fixed-width content exceeds the viewport","desc":"Replace viewport-breaking fixed widths with fluid max-width, percentage, grid, or flex sizing.","snippetText":"Replace viewport-breaking fixed widths with fluid max-width, percentage, grid, or flex sizing.","href":"/tools/mobile-friendly-tester/#finding-fixed-width","parentHref":"/tools/mobile-friendly-tester/","findingId":"fixed-width","meta":"Free tool finding · fail","aliases":["fixed width","Fixed-width content exceeds the viewport"],"toolCategories":["performance","accessibility"],"taxonomy":["performance","accessibility"],"text":"Fixed-width content exceeds the viewport Fixed-width content exceeds the viewport Replace viewport-breaking fixed widths with fluid max-width, percentage, grid, or flex sizing.","passages":["Replace viewport-breaking fixed widths with fluid max-width, percentage, grid, or flex sizing."],"popular":0,"url":"https://patrickstox.com/tools/mobile-friendly-tester/#finding-fixed-width","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Mobile-Friendly Tester — Text is too small for mobile reading","desc":"Raise mobile body text to a readable base size and avoid essential text below 12 CSS pixels.","snippetText":"Raise mobile body text to a readable base size and avoid essential text below 12 CSS pixels.","href":"/tools/mobile-friendly-tester/#finding-font-size","parentHref":"/tools/mobile-friendly-tester/","findingId":"font-size","meta":"Free tool finding · warning","aliases":["font size","Text is too small for mobile reading"],"toolCategories":["performance","accessibility"],"taxonomy":["performance","accessibility"],"text":"Text is too small for mobile reading Text is too small for mobile reading Raise mobile body text to a readable base size and avoid essential text below 12 CSS pixels.","passages":["Raise mobile body text to a readable base size and avoid essential text below 12 CSS pixels."],"popular":0,"url":"https://patrickstox.com/tools/mobile-friendly-tester/#finding-font-size","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Mobile-Friendly Tester — Images are not sized responsively","desc":"Constrain images with max-width:100% and height:auto, and provide responsive sources where useful.","snippetText":"Constrain images with max-width:100% and height:auto, and provide responsive sources where useful.","href":"/tools/mobile-friendly-tester/#finding-responsive-images","parentHref":"/tools/mobile-friendly-tester/","findingId":"responsive-images","meta":"Free tool finding · warning","aliases":["responsive images","Images are not sized responsively"],"toolCategories":["performance","accessibility"],"taxonomy":["performance","accessibility"],"text":"Images are not sized responsively Images are not sized responsively Constrain images with max-width:100% and height:auto, and provide responsive sources where useful.","passages":["Constrain images with max-width:100% and height:auto, and provide responsive sources where useful."],"popular":0,"url":"https://patrickstox.com/tools/mobile-friendly-tester/#finding-responsive-images","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Mobile-Friendly Tester — HTML page weight is high","desc":"Remove unnecessary inline payload, compress assets, and defer noncritical resources to reduce mobile transfer cost.","snippetText":"Remove unnecessary inline payload, compress assets, and defer noncritical resources to reduce mobile transfer cost.","href":"/tools/mobile-friendly-tester/#finding-page-weight","parentHref":"/tools/mobile-friendly-tester/","findingId":"page-weight","meta":"Free tool finding · warning","aliases":["page weight","HTML page weight is high"],"toolCategories":["performance","accessibility"],"taxonomy":["performance","accessibility"],"text":"HTML page weight is high HTML page weight is high Remove unnecessary inline payload, compress assets, and defer noncritical resources to reduce mobile transfer cost.","passages":["Remove unnecessary inline payload, compress assets, and defer noncritical resources to reduce mobile transfer cost."],"popular":0,"url":"https://patrickstox.com/tools/mobile-friendly-tester/#finding-page-weight","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Mobile-Friendly Tester — Incompatible plugin content is present","desc":"Replace Flash, Java applets, or other unsupported plugin content with native HTML, CSS, and JavaScript.","snippetText":"Replace Flash, Java applets, or other unsupported plugin content with native HTML, CSS, and JavaScript.","href":"/tools/mobile-friendly-tester/#finding-plugins","parentHref":"/tools/mobile-friendly-tester/","findingId":"plugins","meta":"Free tool finding · fail","aliases":["plugins","Incompatible plugin content is present"],"toolCategories":["performance","accessibility"],"taxonomy":["performance","accessibility"],"text":"Incompatible plugin content is present Incompatible plugin content is present Replace Flash, Java applets, or other unsupported plugin content with native HTML, CSS, and JavaScript.","passages":["Replace Flash, Java applets, or other unsupported plugin content with native HTML, CSS, and JavaScript."],"popular":0,"url":"https://patrickstox.com/tools/mobile-friendly-tester/#finding-plugins","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Core Web Vitals History & Competitor Comparison","desc":"Chart 40 weeks of real-Chrome-user Core Web Vitals — p75 LCP, INP, CLS, FCP, and TTFB from the Chrome UX Report — and compare up to 5 origins or URLs on one chart. Plus a competitor Leaderboard that ranks curated groups of SEO and page-speed tools on each metric. Pass/fail scorecards, mobile vs desktop, shareable links, CSV export.","snippetText":"Chart 40 weeks of real-Chrome-user Core Web Vitals — p75 LCP, INP, CLS, FCP, and TTFB from the Chrome UX Report — and compare up to 5 origins or URLs on one chart. Plus a competitor Leaderboard that ranks curated groups of SEO and page-speed tools on each metric. Pass/fail scorecards, mobile vs desktop, shareable links, CSV export.","href":"/tools/crux-tracker/","meta":"Free tool","aliases":[],"toolCategories":["performance"],"taxonomy":["performance"],"text":"core web vitals crux page speed lcp competitor analysis","passages":[],"popular":0,"url":"https://patrickstox.com/tools/crux-tracker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Core Web Vitals History & Competitor Comparison — LCP is in the poor band","desc":"Identify the recurring LCP element on affected templates, reduce its server/render/resource delay, and confirm improvement in a later CrUX period.","snippetText":"Identify the recurring LCP element on affected templates, reduce its server/render/resource delay, and confirm improvement in a later CrUX period.","href":"/tools/crux-tracker/#finding-lcp-poor","parentHref":"/tools/crux-tracker/","findingId":"lcp-poor","meta":"Free tool finding · fail","aliases":["lcp poor","LCP is in the poor band"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"LCP is in the poor band LCP is in the poor band Identify the recurring LCP element on affected templates, reduce its server/render/resource delay, and confirm improvement in a later CrUX period. rule:performance.core-web-vitals","passages":["Identify the recurring LCP element on affected templates, reduce its server/render/resource delay, and confirm improvement in a later CrUX period."],"popular":0,"url":"https://patrickstox.com/tools/crux-tracker/#finding-lcp-poor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Core Web Vitals History & Competitor Comparison — LCP needs improvement","desc":"Identify the recurring LCP element on affected templates, reduce its server/render/resource delay, and confirm improvement in a later CrUX period.","snippetText":"Identify the recurring LCP element on affected templates, reduce its server/render/resource delay, and confirm improvement in a later CrUX period.","href":"/tools/crux-tracker/#finding-lcp-needs-improvement","parentHref":"/tools/crux-tracker/","findingId":"lcp-needs-improvement","meta":"Free tool finding · warning","aliases":["lcp needs improvement","LCP needs improvement"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"LCP needs improvement LCP needs improvement Identify the recurring LCP element on affected templates, reduce its server/render/resource delay, and confirm improvement in a later CrUX period. rule:performance.core-web-vitals","passages":["Identify the recurring LCP element on affected templates, reduce its server/render/resource delay, and confirm improvement in a later CrUX period."],"popular":0,"url":"https://patrickstox.com/tools/crux-tracker/#finding-lcp-needs-improvement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Core Web Vitals History & Competitor Comparison — INP is in the poor band","desc":"Profile slow interactions, split long main-thread tasks, and confirm the p75 INP trend in later field-data periods.","snippetText":"Profile slow interactions, split long main-thread tasks, and confirm the p75 INP trend in later field-data periods.","href":"/tools/crux-tracker/#finding-inp-poor","parentHref":"/tools/crux-tracker/","findingId":"inp-poor","meta":"Free tool finding · fail","aliases":["inp poor","INP is in the poor band"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"INP is in the poor band INP is in the poor band Profile slow interactions, split long main-thread tasks, and confirm the p75 INP trend in later field-data periods. rule:performance.core-web-vitals","passages":["Profile slow interactions, split long main-thread tasks, and confirm the p75 INP trend in later field-data periods."],"popular":0,"url":"https://patrickstox.com/tools/crux-tracker/#finding-inp-poor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Core Web Vitals History & Competitor Comparison — INP needs improvement","desc":"Profile slow interactions, split long main-thread tasks, and confirm the p75 INP trend in later field-data periods.","snippetText":"Profile slow interactions, split long main-thread tasks, and confirm the p75 INP trend in later field-data periods.","href":"/tools/crux-tracker/#finding-inp-needs-improvement","parentHref":"/tools/crux-tracker/","findingId":"inp-needs-improvement","meta":"Free tool finding · warning","aliases":["inp needs improvement","INP needs improvement"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"INP needs improvement INP needs improvement Profile slow interactions, split long main-thread tasks, and confirm the p75 INP trend in later field-data periods. rule:performance.core-web-vitals","passages":["Profile slow interactions, split long main-thread tasks, and confirm the p75 INP trend in later field-data periods."],"popular":0,"url":"https://patrickstox.com/tools/crux-tracker/#finding-inp-needs-improvement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Core Web Vitals History & Competitor Comparison — CLS is in the poor band","desc":"Reserve layout space for media and injected UI, then confirm the p75 CLS trend in later field-data periods.","snippetText":"Reserve layout space for media and injected UI, then confirm the p75 CLS trend in later field-data periods.","href":"/tools/crux-tracker/#finding-cls-poor","parentHref":"/tools/crux-tracker/","findingId":"cls-poor","meta":"Free tool finding · fail","aliases":["cls poor","CLS is in the poor band"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"CLS is in the poor band CLS is in the poor band Reserve layout space for media and injected UI, then confirm the p75 CLS trend in later field-data periods. rule:performance.core-web-vitals","passages":["Reserve layout space for media and injected UI, then confirm the p75 CLS trend in later field-data periods."],"popular":0,"url":"https://patrickstox.com/tools/crux-tracker/#finding-cls-poor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Core Web Vitals History & Competitor Comparison — CLS needs improvement","desc":"Reserve layout space for media and injected UI, then confirm the p75 CLS trend in later field-data periods.","snippetText":"Reserve layout space for media and injected UI, then confirm the p75 CLS trend in later field-data periods.","href":"/tools/crux-tracker/#finding-cls-needs-improvement","parentHref":"/tools/crux-tracker/","findingId":"cls-needs-improvement","meta":"Free tool finding · warning","aliases":["cls needs improvement","CLS needs improvement"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"CLS needs improvement CLS needs improvement Reserve layout space for media and injected UI, then confirm the p75 CLS trend in later field-data periods. rule:performance.core-web-vitals","passages":["Reserve layout space for media and injected UI, then confirm the p75 CLS trend in later field-data periods."],"popular":0,"url":"https://patrickstox.com/tools/crux-tracker/#finding-cls-needs-improvement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Core Web Vitals History & Competitor Comparison — Metric trend is worsening","desc":"Address the component driving the decline and confirm improvement with a fresh period.","snippetText":"Address the component driving the decline and confirm improvement with a fresh period.","href":"/tools/crux-tracker/#finding-metric-regressing","parentHref":"/tools/crux-tracker/","findingId":"metric-regressing","meta":"Free tool finding · warning","aliases":["metric regressing","Metric trend is worsening"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"Metric trend is worsening Metric trend is worsening Address the component driving the decline and confirm improvement with a fresh period. rule:performance.core-web-vitals","passages":["Address the component driving the decline and confirm improvement with a fresh period."],"popular":0,"url":"https://patrickstox.com/tools/crux-tracker/#finding-metric-regressing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Core Web Vitals History & Competitor Comparison — CrUX history is incomplete","desc":"Try the bare origin for a larger sample and wait for enough real Chrome traffic; do not infer a pass from missing history.","snippetText":"Try the bare origin for a larger sample and wait for enough real Chrome traffic; do not infer a pass from missing history.","href":"/tools/crux-tracker/#finding-field-data-sparse","parentHref":"/tools/crux-tracker/","findingId":"field-data-sparse","meta":"Free tool finding · info","aliases":["field data sparse","CrUX history is incomplete"],"toolCategories":["performance"],"taxonomy":["performance"],"text":"CrUX history is incomplete CrUX history is incomplete Try the bare origin for a larger sample and wait for enough real Chrome traffic; do not infer a pass from missing history. rule:performance.core-web-vitals","passages":["Try the bare origin for a larger sample and wait for enough real Chrome traffic; do not infer a pass from missing history."],"popular":0,"url":"https://patrickstox.com/tools/crux-tracker/#finding-field-data-sparse","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"SEO Forecast","desc":"Upload GSC, GA4, Ahrefs, Semrush, or Adobe time series and forecast it with backtested models — Google algorithm updates handled as level shifts, migration/anomaly detection, honest prediction intervals from your own history, and a seasonality explainer. Everything runs in your browser.","snippetText":"Upload GSC, GA4, Ahrefs, Semrush, or Adobe time series and forecast it with backtested models — Google algorithm updates handled as level shifts, migration/anomaly detection, honest prediction intervals from your own history, and a seasonality explainer. Everything runs in your browser.","href":"/tools/seo-forecast/","meta":"Free tool","aliases":[],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"forecasting traffic forecast google algorithm updates seo reporting analytics","passages":[],"popular":0,"url":"https://patrickstox.com/tools/seo-forecast/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Forecast — Traffic has a lasting level shift","desc":"Identify the deployment, migration, algorithm event, or tracking change at the shift date and model pre- and post-shift periods separately after correcting the cause.","snippetText":"Identify the deployment, migration, algorithm event, or tracking change at the shift date and model pre- and post-shift periods separately after correcting the cause.","href":"/tools/seo-forecast/#finding-level-shift","parentHref":"/tools/seo-forecast/","findingId":"level-shift","meta":"Free tool finding · warning","aliases":["level shift","Traffic has a lasting level shift"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Traffic has a lasting level shift Traffic has a lasting level shift Identify the deployment, migration, algorithm event, or tracking change at the shift date and model pre- and post-shift periods separately after correcting the cause.","passages":["Identify the deployment, migration, algorithm event, or tracking change at the shift date and model pre- and post-shift periods separately after correcting the cause."],"popular":0,"url":"https://patrickstox.com/tools/seo-forecast/#finding-level-shift","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Forecast — Labeled event has a negative estimated impact","desc":"Segment the affected pages and queries around the labeled event, reverse or repair the causal change where evidence supports it, and measure against an unaffected comparison segment.","snippetText":"Segment the affected pages and queries around the labeled event, reverse or repair the causal change where evidence supports it, and measure against an unaffected comparison segment.","href":"/tools/seo-forecast/#finding-event-impact-negative","parentHref":"/tools/seo-forecast/","findingId":"event-impact-negative","meta":"Free tool finding · fail","aliases":["event impact negative","Labeled event has a negative estimated impact"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Labeled event has a negative estimated impact Labeled event has a negative estimated impact Segment the affected pages and queries around the labeled event, reverse or repair the causal change where evidence supports it, and measure against an unaffected comparison segment.","passages":["Segment the affected pages and queries around the labeled event, reverse or repair the causal change where evidence supports it, and measure against an unaffected comparison segment."],"popular":0,"url":"https://patrickstox.com/tools/seo-forecast/#finding-event-impact-negative","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Forecast — History is too short for a stable forecast","desc":"Provide at least one full seasonal cycle of consistent-period data when possible, or shorten the forecast horizon and label the estimate as unstable.","snippetText":"Provide at least one full seasonal cycle of consistent-period data when possible, or shorten the forecast horizon and label the estimate as unstable.","href":"/tools/seo-forecast/#finding-insufficient-history","parentHref":"/tools/seo-forecast/","findingId":"insufficient-history","meta":"Free tool finding · warning","aliases":["insufficient history","History is too short for a stable forecast"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"History is too short for a stable forecast History is too short for a stable forecast Provide at least one full seasonal cycle of consistent-period data when possible, or shorten the forecast horizon and label the estimate as unstable.","passages":["Provide at least one full seasonal cycle of consistent-period data when possible, or shorten the forecast horizon and label the estimate as unstable."],"popular":0,"url":"https://patrickstox.com/tools/seo-forecast/#finding-insufficient-history","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Forecast — Forecast is strongly seasonal","desc":"Compare the same seasonal period year over year and plan against the seasonal baseline instead of the latest point alone.","snippetText":"Compare the same seasonal period year over year and plan against the seasonal baseline instead of the latest point alone.","href":"/tools/seo-forecast/#finding-seasonality-strong","parentHref":"/tools/seo-forecast/","findingId":"seasonality-strong","meta":"Free tool finding · info","aliases":["seasonality strong","Forecast is strongly seasonal"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Forecast is strongly seasonal Forecast is strongly seasonal Compare the same seasonal period year over year and plan against the seasonal baseline instead of the latest point alone.","passages":["Compare the same seasonal period year over year and plan against the seasonal baseline instead of the latest point alone."],"popular":0,"url":"https://patrickstox.com/tools/seo-forecast/#finding-seasonality-strong","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Forecast — Forecast uncertainty interval is wide","desc":"Shorten the forecast horizon or add cleaner history before using the midpoint for planning.","snippetText":"Shorten the forecast horizon or add cleaner history before using the midpoint for planning.","href":"/tools/seo-forecast/#finding-wide-interval","parentHref":"/tools/seo-forecast/","findingId":"wide-interval","meta":"Free tool finding · warning","aliases":["wide interval","Forecast uncertainty interval is wide"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Forecast uncertainty interval is wide Forecast uncertainty interval is wide Shorten the forecast horizon or add cleaner history before using the midpoint for planning.","passages":["Shorten the forecast horizon or add cleaner history before using the midpoint for planning."],"popular":0,"url":"https://patrickstox.com/tools/seo-forecast/#finding-wide-interval","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"SEO Forecast — Backtest accuracy is weak","desc":"Use the prediction interval, test a baseline model, and collect more consistent history before relying on the forecast.","snippetText":"Use the prediction interval, test a baseline model, and collect more consistent history before relying on the forecast.","href":"/tools/seo-forecast/#finding-backtest-weak","parentHref":"/tools/seo-forecast/","findingId":"backtest-weak","meta":"Free tool finding · warning","aliases":["backtest weak","Backtest accuracy is weak"],"toolCategories":["forecasting-roi"],"taxonomy":["forecasting-roi"],"text":"Backtest accuracy is weak Backtest accuracy is weak Use the prediction interval, test a baseline model, and collect more consistent history before relying on the forecast.","passages":["Use the prediction interval, test a baseline model, and collect more consistent history before relying on the forecast."],"popular":0,"url":"https://patrickstox.com/tools/seo-forecast/#finding-backtest-weak","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"AI Search Volume Estimator","desc":"Turn traditional Google keyword volume into an estimated AI search volume — per system (ChatGPT, Gemini, Perplexity, Copilot) and overall — with editable, sourced market-share and behavior adjustments and Google AI Overviews shown separately. Single keyword or bulk CSV, runs entirely in your browser.","snippetText":"Turn traditional Google keyword volume into an estimated AI search volume — per system (ChatGPT, Gemini, Perplexity, Copilot) and overall — with editable, sourced market-share and behavior adjustments and Google AI Overviews shown separately. Single keyword or bulk CSV, runs entirely in your browser.","href":"/tools/ai-search-volume/","meta":"Free tool","aliases":[],"toolCategories":["keywords-demand","ai-visibility","forecasting-roi"],"taxonomy":["keywords-demand","ai-visibility","forecasting-roi"],"text":"ai search llm seo search volume chatgpt market share","passages":[],"popular":0,"url":"https://patrickstox.com/tools/ai-search-volume/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Search Volume Estimator — AI demand is modeled rather than measured","desc":"Treat the output as a scenario range, replace defaults with documented assumptions, and validate decisions against observed first-party demand data.","snippetText":"Treat the output as a scenario range, replace defaults with documented assumptions, and validate decisions against observed first-party demand data.","href":"/tools/ai-search-volume/#finding-modeled-not-measured","parentHref":"/tools/ai-search-volume/","findingId":"modeled-not-measured","meta":"Free tool finding · info","aliases":["modeled not measured","AI demand is modeled rather than measured"],"toolCategories":["keywords-demand","ai-visibility","forecasting-roi"],"taxonomy":["keywords-demand","ai-visibility","forecasting-roi"],"text":"AI demand is modeled rather than measured AI demand is modeled rather than measured Treat the output as a scenario range, replace defaults with documented assumptions, and validate decisions against observed first-party demand data.","passages":["Treat the output as a scenario range, replace defaults with documented assumptions, and validate decisions against observed first-party demand data."],"popular":0,"url":"https://patrickstox.com/tools/ai-search-volume/#finding-modeled-not-measured","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Search Volume Estimator — Estimated demand range is wide","desc":"Treat the output as a scenario range, replace defaults with documented assumptions, and validate decisions against observed first-party demand data.","snippetText":"Treat the output as a scenario range, replace defaults with documented assumptions, and validate decisions against observed first-party demand data.","href":"/tools/ai-search-volume/#finding-wide-range","parentHref":"/tools/ai-search-volume/","findingId":"wide-range","meta":"Free tool finding · warning","aliases":["wide range","Estimated demand range is wide"],"toolCategories":["keywords-demand","ai-visibility","forecasting-roi"],"taxonomy":["keywords-demand","ai-visibility","forecasting-roi"],"text":"Estimated demand range is wide Estimated demand range is wide Treat the output as a scenario range, replace defaults with documented assumptions, and validate decisions against observed first-party demand data.","passages":["Treat the output as a scenario range, replace defaults with documented assumptions, and validate decisions against observed first-party demand data."],"popular":0,"url":"https://patrickstox.com/tools/ai-search-volume/#finding-wide-range","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Log File Analyzer","desc":"Drop a server access log and see crawl budget by bot and section, status-code waste, an AI-vs-search breakdown, and a spoofer report that names impostors faking a crawler user-agent. Parses nginx, Apache, IIS/W3C, and JSON logs entirely in your browser — nothing is uploaded.","snippetText":"Drop a server access log and see crawl budget by bot and section, status-code waste, an AI-vs-search breakdown, and a spoofer report that names impostors faking a crawler user-agent. Parses nginx, Apache, IIS/W3C, and JSON logs entirely in your browser — nothing is uploaded.","href":"/tools/log-file-analyzer/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"log analysis crawl budget googlebot ai crawlers technical seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Log File Analyzer — Crawler claim is outside the operator’s published range","desc":"Treat the crawler as unverified and block or investigate it until its IP matches the operator’s published range.","snippetText":"Treat the crawler as unverified and block or investigate it until its IP matches the operator’s published range.","href":"/tools/log-file-analyzer/#finding-spoofed-bot","parentHref":"/tools/log-file-analyzer/","findingId":"spoofed-bot","meta":"Free tool finding · high","aliases":["spoofed bot","Crawler claim is outside the operator’s published range"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler claim is outside the operator’s published range Crawler claim is outside the operator’s published range Treat the crawler as unverified and block or investigate it until its IP matches the operator’s published range.","passages":["Treat the crawler as unverified and block or investigate it until its IP matches the operator’s published range."],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/#finding-spoofed-bot","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Log File Analyzer — Crawler spends requests on non-useful URLs","desc":"Disallow or canonicalize low-value parameter, filter, search, and duplicate URLs, then strengthen links to the URLs crawlers should prioritize.","snippetText":"Disallow or canonicalize low-value parameter, filter, search, and duplicate URLs, then strengthen links to the URLs crawlers should prioritize.","href":"/tools/log-file-analyzer/#finding-wasted-crawl","parentHref":"/tools/log-file-analyzer/","findingId":"wasted-crawl","meta":"Free tool finding · high","aliases":["wasted crawl","Crawler spends requests on non-useful URLs"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler spends requests on non-useful URLs Crawler spends requests on non-useful URLs Disallow or canonicalize low-value parameter, filter, search, and duplicate URLs, then strengthen links to the URLs crawlers should prioritize.","passages":["Disallow or canonicalize low-value parameter, filter, search, and duplicate URLs, then strengthen links to the URLs crawlers should prioritize."],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/#finding-wasted-crawl","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Log File Analyzer — Crawler repeatedly receives error responses","desc":"Repair or redirect the most-requested crawler URLs returning 4xx/5xx responses and remove internal links to URLs that should stay gone.","snippetText":"Repair or redirect the most-requested crawler URLs returning 4xx/5xx responses and remove internal links to URLs that should stay gone.","href":"/tools/log-file-analyzer/#finding-error-status","parentHref":"/tools/log-file-analyzer/","findingId":"error-status","meta":"Free tool finding · high","aliases":["error status","Crawler repeatedly receives error responses"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler repeatedly receives error responses Crawler repeatedly receives error responses Repair or redirect the most-requested crawler URLs returning 4xx/5xx responses and remove internal links to URLs that should stay gone.","passages":["Repair or redirect the most-requested crawler URLs returning 4xx/5xx responses and remove internal links to URLs that should stay gone."],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/#finding-error-status","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Log File Analyzer — Crawler encounters excessive redirects","desc":"Update internal links and sitemap entries to point directly to final URLs, and collapse redirect chains to one hop.","snippetText":"Update internal links and sitemap entries to point directly to final URLs, and collapse redirect chains to one hop.","href":"/tools/log-file-analyzer/#finding-redirect-volume","parentHref":"/tools/log-file-analyzer/","findingId":"redirect-volume","meta":"Free tool finding · medium","aliases":["redirect volume","Crawler encounters excessive redirects"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler encounters excessive redirects Crawler encounters excessive redirects Update internal links and sitemap entries to point directly to final URLs, and collapse redirect chains to one hop.","passages":["Update internal links and sitemap entries to point directly to final URLs, and collapse redirect chains to one hop."],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/#finding-redirect-volume","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Log File Analyzer — Crawler visits URL outside the expected URL set","desc":"Either add the crawler-discovered URL to the canonical internal-link and sitemap set or redirect/remove it if it is unintended.","snippetText":"Either add the crawler-discovered URL to the canonical internal-link and sitemap set or redirect/remove it if it is unintended.","href":"/tools/log-file-analyzer/#finding-orphan-url","parentHref":"/tools/log-file-analyzer/","findingId":"orphan-url","meta":"Free tool finding · medium","aliases":["orphan url","Crawler visits URL outside the expected URL set"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler visits URL outside the expected URL set Crawler visits URL outside the expected URL set Either add the crawler-discovered URL to the canonical internal-link and sitemap set or redirect/remove it if it is unintended.","passages":["Either add the crawler-discovered URL to the canonical internal-link and sitemap set or redirect/remove it if it is unintended."],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/#finding-orphan-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Log File Analyzer — Expected important URL has no crawler hits","desc":"Add crawlable internal links and a canonical sitemap entry for the expected URL, then check robots and authentication barriers.","snippetText":"Add crawlable internal links and a canonical sitemap entry for the expected URL, then check robots and authentication barriers.","href":"/tools/log-file-analyzer/#finding-important-url-unseen","parentHref":"/tools/log-file-analyzer/","findingId":"important-url-unseen","meta":"Free tool finding · medium","aliases":["important url unseen","Expected important URL has no crawler hits"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Expected important URL has no crawler hits Expected important URL has no crawler hits Add crawlable internal links and a canonical sitemap entry for the expected URL, then check robots and authentication barriers.","passages":["Add crawlable internal links and a canonical sitemap entry for the expected URL, then check robots and authentication barriers."],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/#finding-important-url-unseen","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Log File Analyzer — Crawler activity drops materially","desc":"Compare the drop date with robots, status, sitemap, deployment, and server-capacity changes, then restore the affected crawl path.","snippetText":"Compare the drop date with robots, status, sitemap, deployment, and server-capacity changes, then restore the affected crawl path.","href":"/tools/log-file-analyzer/#finding-crawl-drop","parentHref":"/tools/log-file-analyzer/","findingId":"crawl-drop","meta":"Free tool finding · high","aliases":["crawl drop","Crawler activity drops materially"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler activity drops materially Crawler activity drops materially Compare the drop date with robots, status, sitemap, deployment, and server-capacity changes, then restore the affected crawl path.","passages":["Compare the drop date with robots, status, sitemap, deployment, and server-capacity changes, then restore the affected crawl path."],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/#finding-crawl-drop","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Log File Analyzer — Crawler activity spikes materially","desc":"Identify the URL pattern causing the spike and contain newly exposed parameters, traps, redirects, or duplicate crawl paths.","snippetText":"Identify the URL pattern causing the spike and contain newly exposed parameters, traps, redirects, or duplicate crawl paths.","href":"/tools/log-file-analyzer/#finding-crawl-spike","parentHref":"/tools/log-file-analyzer/","findingId":"crawl-spike","meta":"Free tool finding · medium","aliases":["crawl spike","Crawler activity spikes materially"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler activity spikes materially Crawler activity spikes materially Identify the URL pattern causing the spike and contain newly exposed parameters, traps, redirects, or duplicate crawl paths.","passages":["Identify the URL pattern causing the spike and contain newly exposed parameters, traps, redirects, or duplicate crawl paths."],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/#finding-crawl-spike","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Log File Analyzer — Crawler response times are slow","desc":"Cache or optimize the slowest crawler endpoints and reduce origin latency before requesting a fresh crawl.","snippetText":"Cache or optimize the slowest crawler endpoints and reduce origin latency before requesting a fresh crawl.","href":"/tools/log-file-analyzer/#finding-slow-response","parentHref":"/tools/log-file-analyzer/","findingId":"slow-response","meta":"Free tool finding · medium","aliases":["slow response","Crawler response times are slow"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Crawler response times are slow Crawler response times are slow Cache or optimize the slowest crawler endpoints and reduce origin latency before requesting a fresh crawl.","passages":["Cache or optimize the slowest crawler endpoints and reduce origin latency before requesting a fresh crawl."],"popular":0,"url":"https://patrickstox.com/tools/log-file-analyzer/#finding-slow-response","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Redirect Map Builder","desc":"Plan a site migration: paste old and new URLs and get a suggested 301 map — each row scored into a confidence tier with a plain reason, an override dropdown, a first-class unmatched bucket, a 410 kill-list, chain-flattening so the map never creates the chains it prevents, and platform-accurate exports for Apache, nginx, and Cloudflare. Optional metadata-only content matching closes the last-mile gaps. Structural matching runs entirely in your browser.","snippetText":"Plan a site migration: paste old and new URLs and get a suggested 301 map — each row scored into a confidence tier with a plain reason, an override dropdown, a first-class unmatched bucket, a 410 kill-list, chain-flattening so the map never creates the chains it prevents, and platform-accurate exports for Apache, nginx, and Cloudflare. Optional metadata-only content matching closes the last-mile gaps. Structural matching runs entirely in your browser.","href":"/tools/redirect-map-builder/","meta":"Free tool","aliases":[],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"redirects redirect map 301 site migration url mapping","passages":[],"popular":0,"url":"https://patrickstox.com/tools/redirect-map-builder/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Map Builder — Legacy URL has no redirect match","desc":"Choose the closest destination with equivalent intent and content, or deliberately return 410 when no useful replacement exists.","snippetText":"Choose the closest destination with equivalent intent and content, or deliberately return 410 when no useful replacement exists.","href":"/tools/redirect-map-builder/#finding-unmatched","parentHref":"/tools/redirect-map-builder/","findingId":"unmatched","meta":"Free tool finding · high","aliases":["unmatched","Legacy URL has no redirect match"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Legacy URL has no redirect match Legacy URL has no redirect match Choose the closest destination with equivalent intent and content, or deliberately return 410 when no useful replacement exists. rule:redirects.chain-resolution","passages":["Choose the closest destination with equivalent intent and content, or deliberately return 410 when no useful replacement exists."],"popular":0,"url":"https://patrickstox.com/tools/redirect-map-builder/#finding-unmatched","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Map Builder — Legacy URL already exists on the destination site","desc":"Do not redirect a legacy URL that already resolves on the destination site; keep it live or explicitly decide which version should be canonical.","snippetText":"Do not redirect a legacy URL that already resolves on the destination site; keep it live or explicitly decide which version should be canonical.","href":"/tools/redirect-map-builder/#finding-exists","parentHref":"/tools/redirect-map-builder/","findingId":"exists","meta":"Free tool finding · info","aliases":["exists","Legacy URL already exists on the destination site"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Legacy URL already exists on the destination site Legacy URL already exists on the destination site Do not redirect a legacy URL that already resolves on the destination site; keep it live or explicitly decide which version should be canonical. rule:redirects.chain-resolution","passages":["Do not redirect a legacy URL that already resolves on the destination site; keep it live or explicitly decide which version should be canonical."],"popular":0,"url":"https://patrickstox.com/tools/redirect-map-builder/#finding-exists","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Map Builder — Proposed map creates a redirect loop","desc":"Change one side of the proposed circular mapping so every source points to a destination that never redirects back.","snippetText":"Change one side of the proposed circular mapping so every source points to a destination that never redirects back.","href":"/tools/redirect-map-builder/#finding-loop","parentHref":"/tools/redirect-map-builder/","findingId":"loop","meta":"Free tool finding · fail","aliases":["loop","Proposed map creates a redirect loop"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Proposed map creates a redirect loop Proposed map creates a redirect loop Change one side of the proposed circular mapping so every source points to a destination that never redirects back. rule:redirects.chain-resolution","passages":["Change one side of the proposed circular mapping so every source points to a destination that never redirects back."],"popular":0,"url":"https://patrickstox.com/tools/redirect-map-builder/#finding-loop","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Map Builder — Proposed destination creates a redirect chain","desc":"Replace the proposed destination with the chain’s final live URL before exporting the redirect map.","snippetText":"Replace the proposed destination with the chain’s final live URL before exporting the redirect map.","href":"/tools/redirect-map-builder/#finding-chain","parentHref":"/tools/redirect-map-builder/","findingId":"chain","meta":"Free tool finding · fail","aliases":["chain","Proposed destination creates a redirect chain"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Proposed destination creates a redirect chain Proposed destination creates a redirect chain Replace the proposed destination with the chain’s final live URL before exporting the redirect map. rule:redirects.chain-resolution","passages":["Replace the proposed destination with the chain’s final live URL before exporting the redirect map."],"popular":0,"url":"https://patrickstox.com/tools/redirect-map-builder/#finding-chain","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Map Builder — Redirect match confidence is low","desc":"Choose a verified equivalent destination manually or mark the old URL 410 when no replacement exists.","snippetText":"Choose a verified equivalent destination manually or mark the old URL 410 when no replacement exists.","href":"/tools/redirect-map-builder/#finding-weak-match","parentHref":"/tools/redirect-map-builder/","findingId":"weak-match","meta":"Free tool finding · warning","aliases":["weak match","Redirect match confidence is low"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Redirect match confidence is low Redirect match confidence is low Choose a verified equivalent destination manually or mark the old URL 410 when no replacement exists. rule:redirects.chain-resolution","passages":["Choose a verified equivalent destination manually or mark the old URL 410 when no replacement exists."],"popular":0,"url":"https://patrickstox.com/tools/redirect-map-builder/#finding-weak-match","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Map Builder — Multiple destinations have similar match confidence","desc":"Review the equally ranked candidates and manually select the destination that preserves the old page’s intent.","snippetText":"Review the equally ranked candidates and manually select the destination that preserves the old page’s intent.","href":"/tools/redirect-map-builder/#finding-ambiguous","parentHref":"/tools/redirect-map-builder/","findingId":"ambiguous","meta":"Free tool finding · warning","aliases":["ambiguous","Multiple destinations have similar match confidence"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Multiple destinations have similar match confidence Multiple destinations have similar match confidence Review the equally ranked candidates and manually select the destination that preserves the old page’s intent. rule:redirects.chain-resolution","passages":["Review the equally ranked candidates and manually select the destination that preserves the old page’s intent."],"popular":0,"url":"https://patrickstox.com/tools/redirect-map-builder/#finding-ambiguous","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Map Builder — Multiple legacy URLs map to one destination","desc":"Confirm each consolidation is intentional and maps to a true equivalent rather than a generic page.","snippetText":"Confirm each consolidation is intentional and maps to a true equivalent rather than a generic page.","href":"/tools/redirect-map-builder/#finding-many-to-one","parentHref":"/tools/redirect-map-builder/","findingId":"many-to-one","meta":"Free tool finding · warning","aliases":["many to one","Multiple legacy URLs map to one destination"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Multiple legacy URLs map to one destination Multiple legacy URLs map to one destination Confirm each consolidation is intentional and maps to a true equivalent rather than a generic page. rule:redirects.chain-resolution","passages":["Confirm each consolidation is intentional and maps to a true equivalent rather than a generic page."],"popular":0,"url":"https://patrickstox.com/tools/redirect-map-builder/#finding-many-to-one","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Redirect Map Builder — Matched pages have weak content similarity","desc":"Compare the old and proposed pages’ title, H1, and main topic, then choose the closest true replacement.","snippetText":"Compare the old and proposed pages’ title, H1, and main topic, then choose the closest true replacement.","href":"/tools/redirect-map-builder/#finding-content-mismatch","parentHref":"/tools/redirect-map-builder/","findingId":"content-mismatch","meta":"Free tool finding · warning","aliases":["content mismatch","Matched pages have weak content similarity"],"toolCategories":["redirects-migrations"],"taxonomy":["redirects-migrations"],"text":"Matched pages have weak content similarity Matched pages have weak content similarity Compare the old and proposed pages’ title, H1, and main topic, then choose the closest true replacement. rule:redirects.chain-resolution","passages":["Compare the old and proposed pages’ title, H1, and main topic, then choose the closest true replacement."],"popular":0,"url":"https://patrickstox.com/tools/redirect-map-builder/#finding-content-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"llms.txt Generator + Validator","desc":"Generate a well-formed llms.txt that points LLMs at your key pages, or paste/fetch one and check it's valid — H1, summary, well-formed absolute links, duplicates, and off-site flags. Loud and honest that llms.txt is a community proposal, not an official standard AI crawlers are documented to read. Runs entirely in your browser.","snippetText":"Generate a well-formed llms.txt that points LLMs at your key pages, or paste/fetch one and check it's valid — H1, summary, well-formed absolute links, duplicates, and off-site flags. Loud and honest that llms.txt is a community proposal, not an official standard AI crawlers are documented to read. Runs entirely in your browser.","href":"/tools/llms-txt/","meta":"Free tool","aliases":[],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"llms.txt ai search llm seo generative engine optimization geo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — File contains multiple H1 titles","desc":"Keep exactly one H1 for the site name and convert additional top-level headings to H2 sections.","snippetText":"Keep exactly one H1 for the site name and convert additional top-level headings to H2 sections.","href":"/tools/llms-txt/#finding-multiple-h1","parentHref":"/tools/llms-txt/","findingId":"multiple-h1","meta":"Free tool finding · error","aliases":["multiple h1","File contains multiple H1 titles"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"File contains multiple H1 titles File contains multiple H1 titles Keep exactly one H1 for the site name and convert additional top-level headings to H2 sections.","passages":["Keep exactly one H1 for the site name and convert additional top-level headings to H2 sections."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-multiple-h1","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — Link URL is relative","desc":"Replace the relative link with a fully qualified HTTPS URL that a crawler can fetch directly.","snippetText":"Replace the relative link with a fully qualified HTTPS URL that a crawler can fetch directly.","href":"/tools/llms-txt/#finding-relative-url","parentHref":"/tools/llms-txt/","findingId":"relative-url","meta":"Free tool finding · error","aliases":["relative url","Link URL is relative"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Link URL is relative Link URL is relative Replace the relative link with a fully qualified HTTPS URL that a crawler can fetch directly.","passages":["Replace the relative link with a fully qualified HTTPS URL that a crawler can fetch directly."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-relative-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — Link URL is invalid","desc":"Correct the malformed link target to a valid absolute HTTPS URL.","snippetText":"Correct the malformed link target to a valid absolute HTTPS URL.","href":"/tools/llms-txt/#finding-invalid-url","parentHref":"/tools/llms-txt/","findingId":"invalid-url","meta":"Free tool finding · error","aliases":["invalid url","Link URL is invalid"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Link URL is invalid Link URL is invalid Correct the malformed link target to a valid absolute HTTPS URL.","passages":["Correct the malformed link target to a valid absolute HTTPS URL."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-invalid-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — Link URL uses HTTP","desc":"Change the HTTP link to its working HTTPS equivalent.","snippetText":"Change the HTTP link to its working HTTPS equivalent.","href":"/tools/llms-txt/#finding-insecure-url","parentHref":"/tools/llms-txt/","findingId":"insecure-url","meta":"Free tool finding · warning","aliases":["insecure url","Link URL uses HTTP"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Link URL uses HTTP Link URL uses HTTP Change the HTTP link to its working HTTPS equivalent.","passages":["Change the HTTP link to its working HTTPS equivalent."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-insecure-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — Link points to another host","desc":"Remove the off-host link or place it in the llms.txt file owned by that host.","snippetText":"Remove the off-host link or place it in the llms.txt file owned by that host.","href":"/tools/llms-txt/#finding-offsite-link","parentHref":"/tools/llms-txt/","findingId":"offsite-link","meta":"Free tool finding · info","aliases":["offsite link","Link points to another host"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Link points to another host Link points to another host Remove the off-host link or place it in the llms.txt file owned by that host.","passages":["Remove the off-host link or place it in the llms.txt file owned by that host."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-offsite-link","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — File has no H1 title","desc":"Add exactly one # H1 at the top containing the site or project name.","snippetText":"Add exactly one # H1 at the top containing the site or project name.","href":"/tools/llms-txt/#finding-no-h1","parentHref":"/tools/llms-txt/","findingId":"no-h1","meta":"Free tool finding · error","aliases":["no h1","File has no H1 title"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"File has no H1 title File has no H1 title Add exactly one # H1 at the top containing the site or project name.","passages":["Add exactly one # H1 at the top containing the site or project name."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-no-h1","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — File has no summary blockquote","desc":"Add a short > blockquote summary immediately after the H1.","snippetText":"Add a short > blockquote summary immediately after the H1.","href":"/tools/llms-txt/#finding-no-summary","parentHref":"/tools/llms-txt/","findingId":"no-summary","meta":"Free tool finding · warning","aliases":["no summary","File has no summary blockquote"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"File has no summary blockquote File has no summary blockquote Add a short > blockquote summary immediately after the H1.","passages":["Add a short > blockquote summary immediately after the H1."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-no-summary","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — Summary is not directly after the title","desc":"Move the summary blockquote directly below the H1 before any section heading.","snippetText":"Move the summary blockquote directly below the H1 before any section heading.","href":"/tools/llms-txt/#finding-summary-placement","parentHref":"/tools/llms-txt/","findingId":"summary-placement","meta":"Free tool finding · info","aliases":["summary placement","Summary is not directly after the title"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Summary is not directly after the title Summary is not directly after the title Move the summary blockquote directly below the H1 before any section heading.","passages":["Move the summary blockquote directly below the H1 before any section heading."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-summary-placement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — No sections contain links","desc":"Add useful absolute HTTPS links beneath descriptive H2 section headings.","snippetText":"Add useful absolute HTTPS links beneath descriptive H2 section headings.","href":"/tools/llms-txt/#finding-no-links","parentHref":"/tools/llms-txt/","findingId":"no-links","meta":"Free tool finding · warning","aliases":["no links","No sections contain links"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"No sections contain links No sections contain links Add useful absolute HTTPS links beneath descriptive H2 section headings.","passages":["Add useful absolute HTTPS links beneath descriptive H2 section headings."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-no-links","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — Optional section is not last","desc":"Move the ## Optional section after every required or primary link section.","snippetText":"Move the ## Optional section after every required or primary link section.","href":"/tools/llms-txt/#finding-optional-not-last","parentHref":"/tools/llms-txt/","findingId":"optional-not-last","meta":"Free tool finding · warning","aliases":["optional not last","Optional section is not last"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Optional section is not last Optional section is not last Move the ## Optional section after every required or primary link section.","passages":["Move the ## Optional section after every required or primary link section."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-optional-not-last","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — Link URL is duplicated","desc":"Keep the URL once under its most relevant section and remove duplicate entries.","snippetText":"Keep the URL once under its most relevant section and remove duplicate entries.","href":"/tools/llms-txt/#finding-duplicate-url","parentHref":"/tools/llms-txt/","findingId":"duplicate-url","meta":"Free tool finding · warning","aliases":["duplicate url","Link URL is duplicated"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"Link URL is duplicated Link URL is duplicated Keep the URL once under its most relevant section and remove duplicate entries.","passages":["Keep the URL once under its most relevant section and remove duplicate entries."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-duplicate-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — File is too large for a concise map","desc":"Trim low-value links and descriptions until the file is a concise map under roughly 20 KiB.","snippetText":"Trim low-value links and descriptions until the file is a concise map under roughly 20 KiB.","href":"/tools/llms-txt/#finding-large-file","parentHref":"/tools/llms-txt/","findingId":"large-file","meta":"Free tool finding · info","aliases":["large file","File is too large for a concise map"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"File is too large for a concise map File is too large for a concise map Trim low-value links and descriptions until the file is a concise map under roughly 20 KiB.","passages":["Trim low-value links and descriptions until the file is a concise map under roughly 20 KiB."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-large-file","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"llms.txt Generator + Validator — File is empty","desc":"Add one H1, a short summary, and grouped absolute HTTPS links to the site’s key resources.","snippetText":"Add one H1, a short summary, and grouped absolute HTTPS links to the site’s key resources.","href":"/tools/llms-txt/#finding-empty-file","parentHref":"/tools/llms-txt/","findingId":"empty-file","meta":"Free tool finding · error","aliases":["empty file","File is empty"],"toolCategories":["ai-crawlers-agents"],"taxonomy":["ai-crawlers-agents"],"text":"File is empty File is empty Add one H1, a short summary, and grouped absolute HTTPS links to the site’s key resources.","passages":["Add one H1, a short summary, and grouped absolute HTTPS links to the site’s key resources."],"popular":0,"url":"https://patrickstox.com/tools/llms-txt/#finding-empty-file","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"AI-Crawler Access Checker","desc":"Enter a URL and see, for every major AI crawler — GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and more — whether your robots.txt allows or blocks it, the exact winning rule, and whether an llms.txt exists. Matcher ported from Google's open-source robots.txt parser. Includes a copy-paste posture generator and the Googlebot/AI-Overviews coupling spelled out.","snippetText":"Enter a URL and see, for every major AI crawler — GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and more — whether your robots.txt allows or blocks it, the exact winning rule, and whether an llms.txt exists. Matcher ported from Google's open-source robots.txt parser. Includes a copy-paste posture generator and the Googlebot/AI-Overviews coupling spelled out.","href":"/tools/ai-crawler-checker/","meta":"Free tool","aliases":["accepts url","produces url","produces report","generic http html","cloudflare workers rules","wordpress","shopify","nextjs vercel","ai bot access","chatgpt crawler","llm crawler","ai robots"],"toolCategories":["ai-crawlers-agents","crawling-indexing"],"taxonomy":["ai-crawlers-agents","crawling-indexing"],"text":"ai crawlers gptbot claudebot robots.txt ai search accepts url produces url produces report generic http html cloudflare workers rules wordpress shopify nextjs vercel","passages":["accepts url","produces url","produces report","generic http html","cloudflare workers rules","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/ai-crawler-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI-Crawler Access Checker — Selected AI crawler is blocked","desc":"Remove or narrow the selected AI crawler’s Disallow rule for content you intend it to access, then retest that exact user-agent and path.","snippetText":"Remove or narrow the selected AI crawler’s Disallow rule for content you intend it to access, then retest that exact user-agent and path.","href":"/tools/ai-crawler-checker/#finding-crawler-blocked","parentHref":"/tools/ai-crawler-checker/","findingId":"crawler-blocked","meta":"Free tool finding · fail","aliases":["crawler blocked","Selected AI crawler is blocked"],"toolCategories":["ai-crawlers-agents","crawling-indexing"],"taxonomy":["ai-crawlers-agents","crawling-indexing"],"text":"Selected AI crawler is blocked Selected AI crawler is blocked Remove or narrow the selected AI crawler’s Disallow rule for content you intend it to access, then retest that exact user-agent and path. rule:robots.access-policy","passages":["Remove or narrow the selected AI crawler’s Disallow rule for content you intend it to access, then retest that exact user-agent and path."],"popular":0,"url":"https://patrickstox.com/tools/ai-crawler-checker/#finding-crawler-blocked","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI-Crawler Access Checker — Selected AI crawler is blocked on some paths","desc":"Review each blocked path and narrow the crawler-specific Disallow patterns so only intentionally private sections remain excluded.","snippetText":"Review each blocked path and narrow the crawler-specific Disallow patterns so only intentionally private sections remain excluded.","href":"/tools/ai-crawler-checker/#finding-crawler-partially-blocked","parentHref":"/tools/ai-crawler-checker/","findingId":"crawler-partially-blocked","meta":"Free tool finding · warning","aliases":["crawler partially blocked","Selected AI crawler is blocked on some paths"],"toolCategories":["ai-crawlers-agents","crawling-indexing"],"taxonomy":["ai-crawlers-agents","crawling-indexing"],"text":"Selected AI crawler is blocked on some paths Selected AI crawler is blocked on some paths Review each blocked path and narrow the crawler-specific Disallow patterns so only intentionally private sections remain excluded. rule:robots.access-policy","passages":["Review each blocked path and narrow the crawler-specific Disallow patterns so only intentionally private sections remain excluded."],"popular":0,"url":"https://patrickstox.com/tools/ai-crawler-checker/#finding-crawler-partially-blocked","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI-Crawler Access Checker — Wildcard rules block AI crawlers","desc":"Adjust the User-agent: * group because its Disallow rules also apply to AI crawlers without a more specific applicable policy.","snippetText":"Adjust the User-agent: * group because its Disallow rules also apply to AI crawlers without a more specific applicable policy.","href":"/tools/ai-crawler-checker/#finding-wildcard-blocked","parentHref":"/tools/ai-crawler-checker/","findingId":"wildcard-blocked","meta":"Free tool finding · fail","aliases":["wildcard blocked","Wildcard rules block AI crawlers"],"toolCategories":["ai-crawlers-agents","crawling-indexing"],"taxonomy":["ai-crawlers-agents","crawling-indexing"],"text":"Wildcard rules block AI crawlers Wildcard rules block AI crawlers Adjust the User-agent: * group because its Disallow rules also apply to AI crawlers without a more specific applicable policy. rule:robots.access-policy","passages":["Adjust the User-agent: * group because its Disallow rules also apply to AI crawlers without a more specific applicable policy."],"popular":0,"url":"https://patrickstox.com/tools/ai-crawler-checker/#finding-wildcard-blocked","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI-Crawler Access Checker — Specific and wildcard crawler policies conflict","desc":"Consolidate wildcard and crawler-specific groups into an intentional precedence-safe policy, then test representative allowed and blocked paths.","snippetText":"Consolidate wildcard and crawler-specific groups into an intentional precedence-safe policy, then test representative allowed and blocked paths.","href":"/tools/ai-crawler-checker/#finding-policy-conflict","parentHref":"/tools/ai-crawler-checker/","findingId":"policy-conflict","meta":"Free tool finding · warning","aliases":["policy conflict","Specific and wildcard crawler policies conflict"],"toolCategories":["ai-crawlers-agents","crawling-indexing"],"taxonomy":["ai-crawlers-agents","crawling-indexing"],"text":"Specific and wildcard crawler policies conflict Specific and wildcard crawler policies conflict Consolidate wildcard and crawler-specific groups into an intentional precedence-safe policy, then test representative allowed and blocked paths. rule:robots.access-policy","passages":["Consolidate wildcard and crawler-specific groups into an intentional precedence-safe policy, then test representative allowed and blocked paths."],"popular":0,"url":"https://patrickstox.com/tools/ai-crawler-checker/#finding-policy-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI-Crawler Access Checker — Crawler is not in the current roster","desc":"Confirm the bot’s published user-agent and operator documentation before adding a dedicated group or changing access rules.","snippetText":"Confirm the bot’s published user-agent and operator documentation before adding a dedicated group or changing access rules.","href":"/tools/ai-crawler-checker/#finding-unknown-crawler","parentHref":"/tools/ai-crawler-checker/","findingId":"unknown-crawler","meta":"Free tool finding · info","aliases":["unknown crawler","Crawler is not in the current roster"],"toolCategories":["ai-crawlers-agents","crawling-indexing"],"taxonomy":["ai-crawlers-agents","crawling-indexing"],"text":"Crawler is not in the current roster Crawler is not in the current roster Confirm the bot’s published user-agent and operator documentation before adding a dedicated group or changing access rules. rule:robots.access-policy","passages":["Confirm the bot’s published user-agent and operator documentation before adding a dedicated group or changing access rules."],"popular":0,"url":"https://patrickstox.com/tools/ai-crawler-checker/#finding-unknown-crawler","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"AI Search Readiness Report","desc":"See independently whether AI crawlers can retrieve your page, and which future use, citation, and representation checks are still unavailable — with visible stage weights and no single AI score.","snippetText":"See independently whether AI crawlers can retrieve your page, and which future use, citation, and representation checks are still unavailable — with visible stage weights and no single AI score.","href":"/tools/ai-search-readiness-report/","meta":"Free tool","aliases":["accepts url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"toolCategories":["ai-visibility","crawling-indexing"],"taxonomy":["ai-visibility","crawling-indexing"],"text":"ai search generative engine optimization ai crawlers llms.txt geo accepts url produces report generic http html wordpress shopify nextjs vercel","passages":["accepts url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/ai-search-readiness-report/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Search Readiness Report — AI crawler access is blocked","desc":"Remove or narrow the matching robots.txt rule for AI crawlers you intentionally allow to access this content.","snippetText":"Remove or narrow the matching robots.txt rule for AI crawlers you intentionally allow to access this content.","href":"/tools/ai-search-readiness-report/#finding-crawler-posture","parentHref":"/tools/ai-search-readiness-report/","findingId":"crawler-posture","meta":"Free tool finding · fail","aliases":["crawler posture","AI crawler access is blocked"],"toolCategories":["ai-visibility","crawling-indexing"],"taxonomy":["ai-visibility","crawling-indexing"],"text":"AI crawler access is blocked AI crawler access is blocked Remove or narrow the matching robots.txt rule for AI crawlers you intentionally allow to access this content.","passages":["Remove or narrow the matching robots.txt rule for AI crawlers you intentionally allow to access this content."],"popular":0,"url":"https://patrickstox.com/tools/ai-search-readiness-report/#finding-crawler-posture","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Search Readiness Report — Readiness module has insufficient evidence","desc":"Provide the missing crawl, content, or authority evidence and rerun the module before drawing a readiness conclusion.","snippetText":"Provide the missing crawl, content, or authority evidence and rerun the module before drawing a readiness conclusion.","href":"/tools/ai-search-readiness-report/#finding-module-unavailable","parentHref":"/tools/ai-search-readiness-report/","findingId":"module-unavailable","meta":"Free tool finding · not-evaluated","aliases":["module unavailable","Readiness module has insufficient evidence"],"toolCategories":["ai-visibility","crawling-indexing"],"taxonomy":["ai-visibility","crawling-indexing"],"text":"Readiness module has insufficient evidence Readiness module has insufficient evidence Provide the missing crawl, content, or authority evidence and rerun the module before drawing a readiness conclusion.","passages":["Provide the missing crawl, content, or authority evidence and rerun the module before drawing a readiness conclusion."],"popular":0,"url":"https://patrickstox.com/tools/ai-search-readiness-report/#finding-module-unavailable","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Search Readiness Report — Important content depends on rendering","desc":"Put meaningful title, heading, and primary copy in the server-delivered HTML.","snippetText":"Put meaningful title, heading, and primary copy in the server-delivered HTML.","href":"/tools/ai-search-readiness-report/#finding-rendering-readiness","parentHref":"/tools/ai-search-readiness-report/","findingId":"rendering-readiness","meta":"Free tool finding · fail","aliases":["rendering readiness","Important content depends on rendering"],"toolCategories":["ai-visibility","crawling-indexing"],"taxonomy":["ai-visibility","crawling-indexing"],"text":"Important content depends on rendering Important content depends on rendering Put meaningful title, heading, and primary copy in the server-delivered HTML.","passages":["Put meaningful title, heading, and primary copy in the server-delivered HTML."],"popular":0,"url":"https://patrickstox.com/tools/ai-search-readiness-report/#finding-rendering-readiness","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Search Readiness Report — Content is not answer-ready","desc":"Lead with a direct answer and add visible author and freshness evidence where relevant.","snippetText":"Lead with a direct answer and add visible author and freshness evidence where relevant.","href":"/tools/ai-search-readiness-report/#finding-answer-readiness","parentHref":"/tools/ai-search-readiness-report/","findingId":"answer-readiness","meta":"Free tool finding · warning","aliases":["answer readiness","Content is not answer-ready"],"toolCategories":["ai-visibility","crawling-indexing"],"taxonomy":["ai-visibility","crawling-indexing"],"text":"Content is not answer-ready Content is not answer-ready Lead with a direct answer and add visible author and freshness evidence where relevant.","passages":["Lead with a direct answer and add visible author and freshness evidence where relevant."],"popular":0,"url":"https://patrickstox.com/tools/ai-search-readiness-report/#finding-answer-readiness","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Search Readiness Report — Entity evidence is weak","desc":"Name the primary entities consistently, reconcile them to stable identifiers, and support them with explicit facts.","snippetText":"Name the primary entities consistently, reconcile them to stable identifiers, and support them with explicit facts.","href":"/tools/ai-search-readiness-report/#finding-entity-evidence","parentHref":"/tools/ai-search-readiness-report/","findingId":"entity-evidence","meta":"Free tool finding · warning","aliases":["entity evidence","Entity evidence is weak"],"toolCategories":["ai-visibility","crawling-indexing"],"taxonomy":["ai-visibility","crawling-indexing"],"text":"Entity evidence is weak Entity evidence is weak Name the primary entities consistently, reconcile them to stable identifiers, and support them with explicit facts.","passages":["Name the primary entities consistently, reconcile them to stable identifiers, and support them with explicit facts."],"popular":0,"url":"https://patrickstox.com/tools/ai-search-readiness-report/#finding-entity-evidence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Search Readiness Report — Citation evidence is insufficient","desc":"Place a direct primary source beside each factual claim and recheck aging evidence.","snippetText":"Place a direct primary source beside each factual claim and recheck aging evidence.","href":"/tools/ai-search-readiness-report/#finding-citation-evidence","parentHref":"/tools/ai-search-readiness-report/","findingId":"citation-evidence","meta":"Free tool finding · warning","aliases":["citation evidence","Citation evidence is insufficient"],"toolCategories":["ai-visibility","crawling-indexing"],"taxonomy":["ai-visibility","crawling-indexing"],"text":"Citation evidence is insufficient Citation evidence is insufficient Place a direct primary source beside each factual claim and recheck aging evidence.","passages":["Place a direct primary source beside each factual claim and recheck aging evidence."],"popular":0,"url":"https://patrickstox.com/tools/ai-search-readiness-report/#finding-citation-evidence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Chunk Tester","desc":"Paste content or a URL and see how a retrieval system would split it into the chunks AI answer engines actually retrieve and cite — colored chunk bands, token estimates, and flags for chunks that retrieve badly (too long, no heading context, dangling pronouns, split tables and lists). Adjustable chunk size and overlap; runs in your browser.","snippetText":"Paste content or a URL and see how a retrieval system would split it into the chunks AI answer engines actually retrieve and cite — colored chunk bands, token estimates, and flags for chunks that retrieve badly (too long, no heading context, dangling pronouns, split tables and lists). Adjustable chunk size and overlap; runs in your browser.","href":"/tools/chunk-tester/","meta":"Free tool","aliases":[],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"chunking ai search retrieval generative engine optimization on-page","passages":[],"popular":0,"url":"https://patrickstox.com/tools/chunk-tester/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Chunk Tester — Key answer is split across chunks","desc":"Move the complete answer into one chunk or repeat the essential context at the boundary.","snippetText":"Move the complete answer into one chunk or repeat the essential context at the boundary.","href":"/tools/chunk-tester/#finding-answer-split-across-chunks","parentHref":"/tools/chunk-tester/","findingId":"answer-split-across-chunks","meta":"Free tool finding · fail","aliases":["answer split across chunks","Key answer is split across chunks"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Key answer is split across chunks Key answer is split across chunks Move the complete answer into one chunk or repeat the essential context at the boundary. rule:content.retrieval-chunk-quality","passages":["Move the complete answer into one chunk or repeat the essential context at the boundary."],"popular":0,"url":"https://patrickstox.com/tools/chunk-tester/#finding-answer-split-across-chunks","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Chunk Tester — Chunk lacks nearby supporting context","desc":"Add the nearby definitions, entities, or qualifiers the chunk needs to remain meaningful in isolation.","snippetText":"Add the nearby definitions, entities, or qualifiers the chunk needs to remain meaningful in isolation.","href":"/tools/chunk-tester/#finding-low-context-overlap","parentHref":"/tools/chunk-tester/","findingId":"low-context-overlap","meta":"Free tool finding · warning","aliases":["low context overlap","Chunk lacks nearby supporting context"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Chunk lacks nearby supporting context Chunk lacks nearby supporting context Add the nearby definitions, entities, or qualifiers the chunk needs to remain meaningful in isolation. rule:content.retrieval-chunk-quality","passages":["Add the nearby definitions, entities, or qualifiers the chunk needs to remain meaningful in isolation."],"popular":0,"url":"https://patrickstox.com/tools/chunk-tester/#finding-low-context-overlap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Chunk Tester — Chunk has no heading context","desc":"Include the nearest descriptive heading in the chunk metadata or chunk text.","snippetText":"Include the nearest descriptive heading in the chunk metadata or chunk text.","href":"/tools/chunk-tester/#finding-no-heading-context","parentHref":"/tools/chunk-tester/","findingId":"no-heading-context","meta":"Free tool finding · warning","aliases":["no heading context","Chunk has no heading context"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Chunk has no heading context Chunk has no heading context Include the nearest descriptive heading in the chunk metadata or chunk text. rule:content.retrieval-chunk-quality","passages":["Include the nearest descriptive heading in the chunk metadata or chunk text."],"popular":0,"url":"https://patrickstox.com/tools/chunk-tester/#finding-no-heading-context","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Chunk Tester — Chunk opens with context-dependent language","desc":"Rewrite the opening to name the subject instead of beginning with a pronoun or backward reference.","snippetText":"Rewrite the opening to name the subject instead of beginning with a pronoun or backward reference.","href":"/tools/chunk-tester/#finding-context-dependent-opener","parentHref":"/tools/chunk-tester/","findingId":"context-dependent-opener","meta":"Free tool finding · warning","aliases":["context dependent opener","Chunk opens with context-dependent language"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Chunk opens with context-dependent language Chunk opens with context-dependent language Rewrite the opening to name the subject instead of beginning with a pronoun or backward reference. rule:content.retrieval-chunk-quality","passages":["Rewrite the opening to name the subject instead of beginning with a pronoun or backward reference."],"popular":0,"url":"https://patrickstox.com/tools/chunk-tester/#finding-context-dependent-opener","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Chunk Tester — List or table structure is split across chunks","desc":"Keep the list or table header and its complete rows together within the same chunk.","snippetText":"Keep the list or table header and its complete rows together within the same chunk.","href":"/tools/chunk-tester/#finding-split-structure","parentHref":"/tools/chunk-tester/","findingId":"split-structure","meta":"Free tool finding · warning","aliases":["split structure","List or table structure is split across chunks"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"List or table structure is split across chunks List or table structure is split across chunks Keep the list or table header and its complete rows together within the same chunk. rule:content.retrieval-chunk-quality","passages":["Keep the list or table header and its complete rows together within the same chunk."],"popular":0,"url":"https://patrickstox.com/tools/chunk-tester/#finding-split-structure","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Chunk Tester — Heading is separated from its content","desc":"Attach the heading to its first substantive paragraph by adjusting the chunk boundary.","snippetText":"Attach the heading to its first substantive paragraph by adjusting the chunk boundary.","href":"/tools/chunk-tester/#finding-orphan-heading","parentHref":"/tools/chunk-tester/","findingId":"orphan-heading","meta":"Free tool finding · warning","aliases":["orphan heading","Heading is separated from its content"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Heading is separated from its content Heading is separated from its content Attach the heading to its first substantive paragraph by adjusting the chunk boundary. rule:content.retrieval-chunk-quality","passages":["Attach the heading to its first substantive paragraph by adjusting the chunk boundary."],"popular":0,"url":"https://patrickstox.com/tools/chunk-tester/#finding-orphan-heading","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Quotable Sentence Finder","desc":"Find the self-contained, specific sentences an AI answer engine can quote, and inspect six familiar readability formulas. Paste mode stays in your browser.","snippetText":"Find the self-contained, specific sentences an AI answer engine can quote, and inspect six familiar readability formulas. Paste mode stays in your browser.","href":"/tools/quotable-sentence-finder/","meta":"Free tool","aliases":[],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"quotability readability ai search on-page","passages":[],"popular":0,"url":"https://patrickstox.com/tools/quotable-sentence-finder/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotable Sentence Finder — Sentence depends on surrounding context","desc":"Rewrite the sentence so it names its subject and remains accurate without the surrounding paragraph.","snippetText":"Rewrite the sentence so it names its subject and remains accurate without the surrounding paragraph.","href":"/tools/quotable-sentence-finder/#finding-context-dependent","parentHref":"/tools/quotable-sentence-finder/","findingId":"context-dependent","meta":"Free tool finding · warning","aliases":["context dependent","Sentence depends on surrounding context"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Sentence depends on surrounding context Sentence depends on surrounding context Rewrite the sentence so it names its subject and remains accurate without the surrounding paragraph.","passages":["Rewrite the sentence so it names its subject and remains accurate without the surrounding paragraph."],"popular":0,"url":"https://patrickstox.com/tools/quotable-sentence-finder/#finding-context-dependent","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotable Sentence Finder — Sentence does not name its subject","desc":"Replace pronouns or vague references with the specific person, organization, concept, or object being discussed.","snippetText":"Replace pronouns or vague references with the specific person, organization, concept, or object being discussed.","href":"/tools/quotable-sentence-finder/#finding-subject-implicit","parentHref":"/tools/quotable-sentence-finder/","findingId":"subject-implicit","meta":"Free tool finding · warning","aliases":["subject implicit","Sentence does not name its subject"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Sentence does not name its subject Sentence does not name its subject Replace pronouns or vague references with the specific person, organization, concept, or object being discussed.","passages":["Replace pronouns or vague references with the specific person, organization, concept, or object being discussed."],"popular":0,"url":"https://patrickstox.com/tools/quotable-sentence-finder/#finding-subject-implicit","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotable Sentence Finder — Sentence makes a vague claim","desc":"Replace vague qualifiers with a precise, bounded, and attributable statement.","snippetText":"Replace vague qualifiers with a precise, bounded, and attributable statement.","href":"/tools/quotable-sentence-finder/#finding-claim-vague","parentHref":"/tools/quotable-sentence-finder/","findingId":"claim-vague","meta":"Free tool finding · warning","aliases":["claim vague","Sentence makes a vague claim"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Sentence makes a vague claim Sentence makes a vague claim Replace vague qualifiers with a precise, bounded, and attributable statement.","passages":["Replace vague qualifiers with a precise, bounded, and attributable statement."],"popular":0,"url":"https://patrickstox.com/tools/quotable-sentence-finder/#finding-claim-vague","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotable Sentence Finder — Sentence lacks specific evidence","desc":"Add the relevant number, source, date, example, or citation directly beside the claim.","snippetText":"Add the relevant number, source, date, example, or citation directly beside the claim.","href":"/tools/quotable-sentence-finder/#finding-evidence-missing","parentHref":"/tools/quotable-sentence-finder/","findingId":"evidence-missing","meta":"Free tool finding · warning","aliases":["evidence missing","Sentence lacks specific evidence"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Sentence lacks specific evidence Sentence lacks specific evidence Add the relevant number, source, date, example, or citation directly beside the claim.","passages":["Add the relevant number, source, date, example, or citation directly beside the claim."],"popular":0,"url":"https://patrickstox.com/tools/quotable-sentence-finder/#finding-evidence-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotable Sentence Finder — Sentence is too long to quote cleanly","desc":"Split the sentence into one focused claim and move secondary qualifications into a separate sentence.","snippetText":"Split the sentence into one focused claim and move secondary qualifications into a separate sentence.","href":"/tools/quotable-sentence-finder/#finding-too-long","parentHref":"/tools/quotable-sentence-finder/","findingId":"too-long","meta":"Free tool finding · info","aliases":["too long","Sentence is too long to quote cleanly"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Sentence is too long to quote cleanly Sentence is too long to quote cleanly Split the sentence into one focused claim and move secondary qualifications into a separate sentence.","passages":["Split the sentence into one focused claim and move secondary qualifications into a separate sentence."],"popular":0,"url":"https://patrickstox.com/tools/quotable-sentence-finder/#finding-too-long","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotable Sentence Finder — No sentence is strongly self-contained","desc":"Add one concise, self-contained sentence that states the section’s strongest supported takeaway.","snippetText":"Add one concise, self-contained sentence that states the section’s strongest supported takeaway.","href":"/tools/quotable-sentence-finder/#finding-no-strong-candidate","parentHref":"/tools/quotable-sentence-finder/","findingId":"no-strong-candidate","meta":"Free tool finding · warning","aliases":["no strong candidate","No sentence is strongly self-contained"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"No sentence is strongly self-contained No sentence is strongly self-contained Add one concise, self-contained sentence that states the section’s strongest supported takeaway.","passages":["Add one concise, self-contained sentence that states the section’s strongest supported takeaway."],"popular":0,"url":"https://patrickstox.com/tools/quotable-sentence-finder/#finding-no-strong-candidate","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"AI Citation Readiness Checker","desc":"Separate citability from retrieval evidence, with transparent named weights and a per-model freshness-adjusted view.","snippetText":"Separate citability from retrieval evidence, with transparent named weights and a per-model freshness-adjusted view.","href":"/tools/answer-ready-grader/","meta":"Free tool","aliases":[],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"ai search citations content quality aeo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/answer-ready-grader/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Citation Readiness Checker — Direct answer is not near the start","desc":"Place a concise, accurate answer immediately after the relevant question or section heading.","snippetText":"Place a concise, accurate answer immediately after the relevant question or section heading.","href":"/tools/answer-ready-grader/#finding-direct-answer","parentHref":"/tools/answer-ready-grader/","findingId":"direct-answer","meta":"Free tool finding · warning","aliases":["direct answer","Direct answer is not near the start"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Direct answer is not near the start Direct answer is not near the start Place a concise, accurate answer immediately after the relevant question or section heading.","passages":["Place a concise, accurate answer immediately after the relevant question or section heading."],"popular":0,"url":"https://patrickstox.com/tools/answer-ready-grader/#finding-direct-answer","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Citation Readiness Checker — Visible update date is missing","desc":"Show a truthful published or updated date and revise the content when the subject has materially changed.","snippetText":"Show a truthful published or updated date and revise the content when the subject has materially changed.","href":"/tools/answer-ready-grader/#finding-freshness","parentHref":"/tools/answer-ready-grader/","findingId":"freshness","meta":"Free tool finding · warning","aliases":["freshness","Visible update date is missing"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Visible update date is missing Visible update date is missing Show a truthful published or updated date and revise the content when the subject has materially changed.","passages":["Show a truthful published or updated date and revise the content when the subject has materially changed."],"popular":0,"url":"https://patrickstox.com/tools/answer-ready-grader/#finding-freshness","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Citation Readiness Checker — Author or reviewer signal is missing","desc":"Add a real author or reviewer byline with relevant qualifications and a profile link.","snippetText":"Add a real author or reviewer byline with relevant qualifications and a profile link.","href":"/tools/answer-ready-grader/#finding-author","parentHref":"/tools/answer-ready-grader/","findingId":"author","meta":"Free tool finding · warning","aliases":["author","Author or reviewer signal is missing"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Author or reviewer signal is missing Author or reviewer signal is missing Add a real author or reviewer byline with relevant qualifications and a profile link.","passages":["Add a real author or reviewer byline with relevant qualifications and a profile link."],"popular":0,"url":"https://patrickstox.com/tools/answer-ready-grader/#finding-author","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Citation Readiness Checker — Retrieval evidence is missing","desc":"Supply rank, authority, and indexation evidence before treating retrievability as evaluated.","snippetText":"Supply rank, authority, and indexation evidence before treating retrievability as evaluated.","href":"/tools/answer-ready-grader/#finding-retrieval-evidence","parentHref":"/tools/answer-ready-grader/","findingId":"retrieval-evidence","meta":"Free tool finding · not-evaluated","aliases":["retrieval evidence","Retrieval evidence is missing"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Retrieval evidence is missing Retrieval evidence is missing Supply rank, authority, and indexation evidence before treating retrievability as evaluated.","passages":["Supply rank, authority, and indexation evidence before treating retrievability as evaluated."],"popular":0,"url":"https://patrickstox.com/tools/answer-ready-grader/#finding-retrieval-evidence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Citation Readiness Checker — Claims lack citation support","desc":"Attach authoritative citations directly to factual claims that readers need to verify.","snippetText":"Attach authoritative citations directly to factual claims that readers need to verify.","href":"/tools/answer-ready-grader/#finding-citation-support","parentHref":"/tools/answer-ready-grader/","findingId":"citation-support","meta":"Free tool finding · warning","aliases":["citation support","Claims lack citation support"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Claims lack citation support Claims lack citation support Attach authoritative citations directly to factual claims that readers need to verify.","passages":["Attach authoritative citations directly to factual claims that readers need to verify."],"popular":0,"url":"https://patrickstox.com/tools/answer-ready-grader/#finding-citation-support","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Citation Readiness Checker — Citability score is low","desc":"Rewrite the strongest answer passage to be direct, self-contained, specific, and supported by evidence.","snippetText":"Rewrite the strongest answer passage to be direct, self-contained, specific, and supported by evidence.","href":"/tools/answer-ready-grader/#finding-low-citability","parentHref":"/tools/answer-ready-grader/","findingId":"low-citability","meta":"Free tool finding · warning","aliases":["low citability","Citability score is low"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Citability score is low Citability score is low Rewrite the strongest answer passage to be direct, self-contained, specific, and supported by evidence.","passages":["Rewrite the strongest answer passage to be direct, self-contained, specific, and supported by evidence."],"popular":0,"url":"https://patrickstox.com/tools/answer-ready-grader/#finding-low-citability","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Citation Gap Checker","desc":"Spot unsupported numerical and research-style claims, aging statistics, and citations that need human verification.","snippetText":"Spot unsupported numerical and research-style claims, aging statistics, and citations that need human verification.","href":"/tools/citation-gap-checker/","meta":"Free tool","aliases":[],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"citations evidence ai search content audit","passages":[],"popular":0,"url":"https://patrickstox.com/tools/citation-gap-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Citation Gap Checker — Factual claim has no adjacent source","desc":"Add a relevant authoritative citation directly beside the factual claim.","snippetText":"Add a relevant authoritative citation directly beside the factual claim.","href":"/tools/citation-gap-checker/#finding-gap","parentHref":"/tools/citation-gap-checker/","findingId":"gap","meta":"Free tool finding · warning","aliases":["gap","Factual claim has no adjacent source"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Factual claim has no adjacent source Factual claim has no adjacent source Add a relevant authoritative citation directly beside the factual claim.","passages":["Add a relevant authoritative citation directly beside the factual claim."],"popular":0,"url":"https://patrickstox.com/tools/citation-gap-checker/#finding-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Citation Gap Checker — Numeric claim relies on aging evidence","desc":"Replace or supplement the aging evidence with a current authoritative source.","snippetText":"Replace or supplement the aging evidence with a current authoritative source.","href":"/tools/citation-gap-checker/#finding-aging-evidence","parentHref":"/tools/citation-gap-checker/","findingId":"aging-evidence","meta":"Free tool finding · warning","aliases":["aging evidence","Numeric claim relies on aging evidence"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Numeric claim relies on aging evidence Numeric claim relies on aging evidence Replace or supplement the aging evidence with a current authoritative source.","passages":["Replace or supplement the aging evidence with a current authoritative source."],"popular":0,"url":"https://patrickstox.com/tools/citation-gap-checker/#finding-aging-evidence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Citation Gap Checker — Citation link is broken","desc":"Replace or repair the citation URL and rerun the live status check until it returns a successful response.","snippetText":"Replace or repair the citation URL and rerun the live status check until it returns a successful response.","href":"/tools/citation-gap-checker/#finding-broken-citation","parentHref":"/tools/citation-gap-checker/","findingId":"broken-citation","meta":"Free tool finding · fail","aliases":["broken citation","Citation link is broken"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Citation link is broken Citation link is broken Replace or repair the citation URL and rerun the live status check until it returns a successful response.","passages":["Replace or repair the citation URL and rerun the live status check until it returns a successful response."],"popular":0,"url":"https://patrickstox.com/tools/citation-gap-checker/#finding-broken-citation","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Citation Gap Checker — Citation needs verification","desc":"Open and verify the cited source or DOI, then replace it with a direct valid reference if it cannot be confirmed.","snippetText":"Open and verify the cited source or DOI, then replace it with a direct valid reference if it cannot be confirmed.","href":"/tools/citation-gap-checker/#finding-possible-fabrication","parentHref":"/tools/citation-gap-checker/","findingId":"possible-fabrication","meta":"Free tool finding · high","aliases":["possible fabrication","Citation needs verification"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Citation needs verification Citation needs verification Open and verify the cited source or DOI, then replace it with a direct valid reference if it cannot be confirmed.","passages":["Open and verify the cited source or DOI, then replace it with a direct valid reference if it cannot be confirmed."],"popular":0,"url":"https://patrickstox.com/tools/citation-gap-checker/#finding-possible-fabrication","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"AI Content Audit","desc":"Run one deterministic GEO/AEO audit across extractability, answer-ready structure, and citation trust, with a transparent 0–100 score and a prioritized fix list.","snippetText":"Run one deterministic GEO/AEO audit across extractability, answer-ready structure, and citation trust, with a transparent 0–100 score and a prioritized fix list.","href":"/tools/ai-content-audit/","meta":"Free tool","aliases":[],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"ai search geo aeo content audit citations","passages":[],"popular":0,"url":"https://patrickstox.com/tools/ai-content-audit/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"AI Answer Preview","desc":"Simulate a context-only answer from your page and flag answer sentences that do not match a source passage.","snippetText":"Simulate a context-only answer from your page and flag answer sentences that do not match a source passage.","href":"/tools/ai-answer-preview/","meta":"Free tool","aliases":[],"toolCategories":["ai-visibility","serp-snippets"],"taxonomy":["ai-visibility","serp-snippets"],"text":"ai search citations content audit retrieval","passages":[],"popular":0,"url":"https://patrickstox.com/tools/ai-answer-preview/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Answer Preview — Generated sentence lacks matching source support","desc":"Add a source passage that directly supports the sentence’s claim, qualify it to match the evidence, or remove it.","snippetText":"Add a source passage that directly supports the sentence’s claim, qualify it to match the evidence, or remove it.","href":"/tools/ai-answer-preview/#finding-unsupported-sentence","parentHref":"/tools/ai-answer-preview/","findingId":"unsupported-sentence","meta":"Free tool finding · fail","aliases":["unsupported sentence","Generated sentence lacks matching source support"],"toolCategories":["ai-visibility","serp-snippets"],"taxonomy":["ai-visibility","serp-snippets"],"text":"Generated sentence lacks matching source support Generated sentence lacks matching source support Add a source passage that directly supports the sentence’s claim, qualify it to match the evidence, or remove it.","passages":["Add a source passage that directly supports the sentence’s claim, qualify it to match the evidence, or remove it."],"popular":0,"url":"https://patrickstox.com/tools/ai-answer-preview/#finding-unsupported-sentence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Answer Preview — Generated sentence has only weak lexical support","desc":"Rewrite the source or answer so the generated sentence clearly matches an explicit supporting passage.","snippetText":"Rewrite the source or answer so the generated sentence clearly matches an explicit supporting passage.","href":"/tools/ai-answer-preview/#finding-weak-support","parentHref":"/tools/ai-answer-preview/","findingId":"weak-support","meta":"Free tool finding · warning","aliases":["weak support","Generated sentence has only weak lexical support"],"toolCategories":["ai-visibility","serp-snippets"],"taxonomy":["ai-visibility","serp-snippets"],"text":"Generated sentence has only weak lexical support Generated sentence has only weak lexical support Rewrite the source or answer so the generated sentence clearly matches an explicit supporting passage.","passages":["Rewrite the source or answer so the generated sentence clearly matches an explicit supporting passage."],"popular":0,"url":"https://patrickstox.com/tools/ai-answer-preview/#finding-weak-support","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Answer Preview — Supplied source passage is not represented in the answer","desc":"Revise the answer to use the strongest query-relevant supplied passage.","snippetText":"Revise the answer to use the strongest query-relevant supplied passage.","href":"/tools/ai-answer-preview/#finding-source-unused","parentHref":"/tools/ai-answer-preview/","findingId":"source-unused","meta":"Free tool finding · info","aliases":["source unused","Supplied source passage is not represented in the answer"],"toolCategories":["ai-visibility","serp-snippets"],"taxonomy":["ai-visibility","serp-snippets"],"text":"Supplied source passage is not represented in the answer Supplied source passage is not represented in the answer Revise the answer to use the strongest query-relevant supplied passage.","passages":["Revise the answer to use the strongest query-relevant supplied passage."],"popular":0,"url":"https://patrickstox.com/tools/ai-answer-preview/#finding-source-unused","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Answer Preview — Requested question is only partially answered","desc":"Add a direct response to the missing parts of the question.","snippetText":"Add a direct response to the missing parts of the question.","href":"/tools/ai-answer-preview/#finding-coverage-gap","parentHref":"/tools/ai-answer-preview/","findingId":"coverage-gap","meta":"Free tool finding · warning","aliases":["coverage gap","Requested question is only partially answered"],"toolCategories":["ai-visibility","serp-snippets"],"taxonomy":["ai-visibility","serp-snippets"],"text":"Requested question is only partially answered Requested question is only partially answered Add a direct response to the missing parts of the question.","passages":["Add a direct response to the missing parts of the question."],"popular":0,"url":"https://patrickstox.com/tools/ai-answer-preview/#finding-coverage-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Content Completeness Audit","desc":"Audit 14 useful content formats with deterministic presence checks and optional, explicitly enabled editorial AI gating.","snippetText":"Audit 14 useful content formats with deterministic presence checks and optional, explicitly enabled editorial AI gating.","href":"/tools/content-completeness-audit/","meta":"Free tool","aliases":[],"toolCategories":["on-page-content","ai-visibility"],"taxonomy":["on-page-content","ai-visibility"],"text":"content completeness content audit editorial review content gaps","passages":[],"popular":0,"url":"https://patrickstox.com/tools/content-completeness-audit/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Query Fan-Out Simulator","desc":"Generate labelled sub-query approximations around a question and check page coverage without claiming to observe a private search system.","snippetText":"Generate labelled sub-query approximations around a question and check page coverage without claiming to observe a private search system.","href":"/tools/query-fan-out/","meta":"Free tool","aliases":[],"toolCategories":["ai-visibility","keywords-demand"],"taxonomy":["ai-visibility","keywords-demand"],"text":"ai search query fan-out content audit retrieval","passages":[],"popular":0,"url":"https://patrickstox.com/tools/query-fan-out/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Query Fan-Out Simulator — Page leaves a sub-query uncovered","desc":"Add a self-contained passage that directly answers the uncovered sub-query in the answer format its intent requires.","snippetText":"Add a self-contained passage that directly answers the uncovered sub-query in the answer format its intent requires.","href":"/tools/query-fan-out/#finding-subquery-uncovered","parentHref":"/tools/query-fan-out/","findingId":"subquery-uncovered","meta":"Free tool finding · warning","aliases":["subquery uncovered","Page leaves a sub-query uncovered"],"toolCategories":["ai-visibility","keywords-demand"],"taxonomy":["ai-visibility","keywords-demand"],"text":"Page leaves a sub-query uncovered Page leaves a sub-query uncovered Add a self-contained passage that directly answers the uncovered sub-query in the answer format its intent requires.","passages":["Add a self-contained passage that directly answers the uncovered sub-query in the answer format its intent requires."],"popular":0,"url":"https://patrickstox.com/tools/query-fan-out/#finding-subquery-uncovered","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Query Fan-Out Simulator — Page only partially covers a sub-query","desc":"Expand the best matching passage with the missing criteria, steps, entities, or evidence needed to answer the full sub-query.","snippetText":"Expand the best matching passage with the missing criteria, steps, entities, or evidence needed to answer the full sub-query.","href":"/tools/query-fan-out/#finding-subquery-partial","parentHref":"/tools/query-fan-out/","findingId":"subquery-partial","meta":"Free tool finding · info","aliases":["subquery partial","Page only partially covers a sub-query"],"toolCategories":["ai-visibility","keywords-demand"],"taxonomy":["ai-visibility","keywords-demand"],"text":"Page only partially covers a sub-query Page only partially covers a sub-query Expand the best matching passage with the missing criteria, steps, entities, or evidence needed to answer the full sub-query.","passages":["Expand the best matching passage with the missing criteria, steps, entities, or evidence needed to answer the full sub-query."],"popular":0,"url":"https://patrickstox.com/tools/query-fan-out/#finding-subquery-partial","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Query Fan-Out Simulator — Best matching passage is weak","desc":"Rewrite the matching passage with a direct answer, precise query terms, and supporting evidence that stands on its own.","snippetText":"Rewrite the matching passage with a direct answer, precise query terms, and supporting evidence that stands on its own.","href":"/tools/query-fan-out/#finding-weak-passage","parentHref":"/tools/query-fan-out/","findingId":"weak-passage","meta":"Free tool finding · warning","aliases":["weak passage","Best matching passage is weak"],"toolCategories":["ai-visibility","keywords-demand"],"taxonomy":["ai-visibility","keywords-demand"],"text":"Best matching passage is weak Best matching passage is weak Rewrite the matching passage with a direct answer, precise query terms, and supporting evidence that stands on its own.","passages":["Rewrite the matching passage with a direct answer, precise query terms, and supporting evidence that stands on its own."],"popular":0,"url":"https://patrickstox.com/tools/query-fan-out/#finding-weak-passage","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Query Fan-Out Simulator — Fan-out branches overlap","desc":"Merge overlapping branches into one distinct question or rewrite them so each branch covers a separate intent.","snippetText":"Merge overlapping branches into one distinct question or rewrite them so each branch covers a separate intent.","href":"/tools/query-fan-out/#finding-duplicate-subquery","parentHref":"/tools/query-fan-out/","findingId":"duplicate-subquery","meta":"Free tool finding · info","aliases":["duplicate subquery","Fan-out branches overlap"],"toolCategories":["ai-visibility","keywords-demand"],"taxonomy":["ai-visibility","keywords-demand"],"text":"Fan-out branches overlap Fan-out branches overlap Merge overlapping branches into one distinct question or rewrite them so each branch covers a separate intent.","passages":["Merge overlapping branches into one distinct question or rewrite them so each branch covers a separate intent."],"popular":0,"url":"https://patrickstox.com/tools/query-fan-out/#finding-duplicate-subquery","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"AI Brand Visibility Checker","desc":"Sample a labelled model response about a brand, distinguish mentions from citations, and save local snapshots for comparison.","snippetText":"Sample a labelled model response about a brand, distinguish mentions from citations, and save local snapshots for comparison.","href":"/tools/ai-brand-visibility/","meta":"Free tool","aliases":[],"toolCategories":["ai-visibility"],"taxonomy":["ai-visibility"],"text":"ai search brand visibility citations entities","passages":[],"popular":0,"url":"https://patrickstox.com/tools/ai-brand-visibility/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Brand Visibility Checker — Known brand fact is missing from the sampled answer","desc":"Publish the missing fact consistently on authoritative first-party pages and profiles using clear entity-and-attribute wording.","snippetText":"Publish the missing fact consistently on authoritative first-party pages and profiles using clear entity-and-attribute wording.","href":"/tools/ai-brand-visibility/#finding-brand-fact-missing","parentHref":"/tools/ai-brand-visibility/","findingId":"brand-fact-missing","meta":"Free tool finding · warning","aliases":["brand fact missing","Known brand fact is missing from the sampled answer"],"toolCategories":["ai-visibility"],"taxonomy":["ai-visibility"],"text":"Known brand fact is missing from the sampled answer Known brand fact is missing from the sampled answer Publish the missing fact consistently on authoritative first-party pages and profiles using clear entity-and-attribute wording.","passages":["Publish the missing fact consistently on authoritative first-party pages and profiles using clear entity-and-attribute wording."],"popular":0,"url":"https://patrickstox.com/tools/ai-brand-visibility/#finding-brand-fact-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Brand Visibility Checker — Sampled answer contradicts a known brand fact","desc":"Correct the conflicting fact across first-party and trusted third-party sources, then retest multiple model samples.","snippetText":"Correct the conflicting fact across first-party and trusted third-party sources, then retest multiple model samples.","href":"/tools/ai-brand-visibility/#finding-brand-fact-wrong","parentHref":"/tools/ai-brand-visibility/","findingId":"brand-fact-wrong","meta":"Free tool finding · fail","aliases":["brand fact wrong","Sampled answer contradicts a known brand fact"],"toolCategories":["ai-visibility"],"taxonomy":["ai-visibility"],"text":"Sampled answer contradicts a known brand fact Sampled answer contradicts a known brand fact Correct the conflicting fact across first-party and trusted third-party sources, then retest multiple model samples.","passages":["Correct the conflicting fact across first-party and trusted third-party sources, then retest multiple model samples."],"popular":0,"url":"https://patrickstox.com/tools/ai-brand-visibility/#finding-brand-fact-wrong","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Brand Visibility Checker — Competitor receives stronger coverage","desc":"Build authoritative category content and independent mentions that clearly connect the brand to the tested use case.","snippetText":"Build authoritative category content and independent mentions that clearly connect the brand to the tested use case.","href":"/tools/ai-brand-visibility/#finding-competitor-overrepresented","parentHref":"/tools/ai-brand-visibility/","findingId":"competitor-overrepresented","meta":"Free tool finding · warning","aliases":["competitor overrepresented","Competitor receives stronger coverage"],"toolCategories":["ai-visibility"],"taxonomy":["ai-visibility"],"text":"Competitor receives stronger coverage Competitor receives stronger coverage Build authoritative category content and independent mentions that clearly connect the brand to the tested use case.","passages":["Build authoritative category content and independent mentions that clearly connect the brand to the tested use case."],"popular":0,"url":"https://patrickstox.com/tools/ai-brand-visibility/#finding-competitor-overrepresented","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Brand Visibility Checker — Answer lacks authoritative source support","desc":"Support the answer’s important brand claims with crawlable first-party evidence and corroborating authoritative sources.","snippetText":"Support the answer’s important brand claims with crawlable first-party evidence and corroborating authoritative sources.","href":"/tools/ai-brand-visibility/#finding-source-gap","parentHref":"/tools/ai-brand-visibility/","findingId":"source-gap","meta":"Free tool finding · warning","aliases":["source gap","Answer lacks authoritative source support"],"toolCategories":["ai-visibility"],"taxonomy":["ai-visibility"],"text":"Answer lacks authoritative source support Answer lacks authoritative source support Support the answer’s important brand claims with crawlable first-party evidence and corroborating authoritative sources.","passages":["Support the answer’s important brand claims with crawlable first-party evidence and corroborating authoritative sources."],"popular":0,"url":"https://patrickstox.com/tools/ai-brand-visibility/#finding-source-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Brand Visibility Checker — Model samples disagree materially","desc":"Run more samples across prompts and models, then act only on facts or visibility gaps that repeat consistently.","snippetText":"Run more samples across prompts and models, then act only on facts or visibility gaps that repeat consistently.","href":"/tools/ai-brand-visibility/#finding-sample-variance","parentHref":"/tools/ai-brand-visibility/","findingId":"sample-variance","meta":"Free tool finding · info","aliases":["sample variance","Model samples disagree materially"],"toolCategories":["ai-visibility"],"taxonomy":["ai-visibility"],"text":"Model samples disagree materially Model samples disagree materially Run more samples across prompts and models, then act only on facts or visibility gaps that repeat consistently.","passages":["Run more samples across prompts and models, then act only on facts or visibility gaps that repeat consistently."],"popular":0,"url":"https://patrickstox.com/tools/ai-brand-visibility/#finding-sample-variance","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Meta Title Generator","desc":"Generate five SEO title-tag options with AI, then compare their measured widths with approximate desktop and mobile SERP-preview guidance. Each variant is scored for keyword placement and length; you also get a matching meta description and a copy-ready tag block. Quick, paste-content, fetch-URL, and small bulk (≤10) modes. Falls back to editable templates when AI is off.","snippetText":"Generate five SEO title-tag options with AI, then compare their measured widths with approximate desktop and mobile SERP-preview guidance. Each variant is scored for keyword placement and length; you also get a matching meta description and a copy-ready tag block. Quick, paste-content, fetch-URL, and small bulk (≤10) modes. Falls back to editable templates when AI is off.","href":"/tools/meta-title-generator/","meta":"Free tool","aliases":[],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"title tag meta title serp ai on-page","passages":[],"popular":0,"url":"https://patrickstox.com/tools/meta-title-generator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Meta Title Generator — Generated title is too wide","desc":"Shorten the title until it fits the tool’s width target while preserving the primary topic and distinguishing detail.","snippetText":"Shorten the title until it fits the tool’s width target while preserving the primary topic and distinguishing detail.","href":"/tools/meta-title-generator/#finding-too-long","parentHref":"/tools/meta-title-generator/","findingId":"too-long","meta":"Free tool finding · warning","aliases":["too long","Generated title is too wide"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"Generated title is too wide Generated title is too wide Shorten the title until it fits the tool’s width target while preserving the primary topic and distinguishing detail.","passages":["Shorten the title until it fits the tool’s width target while preserving the primary topic and distinguishing detail."],"popular":0,"url":"https://patrickstox.com/tools/meta-title-generator/#finding-too-long","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Meta Title Generator — Generated title duplicates another candidate","desc":"Keep one version and rewrite the duplicate around a different benefit, audience, or proof point.","snippetText":"Keep one version and rewrite the duplicate around a different benefit, audience, or proof point.","href":"/tools/meta-title-generator/#finding-duplicate-candidate","parentHref":"/tools/meta-title-generator/","findingId":"duplicate-candidate","meta":"Free tool finding · info","aliases":["duplicate candidate","Generated title duplicates another candidate"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"Generated title duplicates another candidate Generated title duplicates another candidate Keep one version and rewrite the duplicate around a different benefit, audience, or proof point.","passages":["Keep one version and rewrite the duplicate around a different benefit, audience, or proof point."],"popular":0,"url":"https://patrickstox.com/tools/meta-title-generator/#finding-duplicate-candidate","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Meta Title Generator — Generated title is too short","desc":"Add the page’s specific topic, value, or differentiator while staying within the pixel limit.","snippetText":"Add the page’s specific topic, value, or differentiator while staying within the pixel limit.","href":"/tools/meta-title-generator/#finding-too-short","parentHref":"/tools/meta-title-generator/","findingId":"too-short","meta":"Free tool finding · warning","aliases":["too short","Generated title is too short"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"Generated title is too short Generated title is too short Add the page’s specific topic, value, or differentiator while staying within the pixel limit.","passages":["Add the page’s specific topic, value, or differentiator while staying within the pixel limit."],"popular":0,"url":"https://patrickstox.com/tools/meta-title-generator/#finding-too-short","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Meta Title Generator — Generated title omits the primary topic","desc":"Include the primary topic naturally in the title, preferably near the front.","snippetText":"Include the primary topic naturally in the title, preferably near the front.","href":"/tools/meta-title-generator/#finding-topic-missing","parentHref":"/tools/meta-title-generator/","findingId":"topic-missing","meta":"Free tool finding · warning","aliases":["topic missing","Generated title omits the primary topic"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"Generated title omits the primary topic Generated title omits the primary topic Include the primary topic naturally in the title, preferably near the front.","passages":["Include the primary topic naturally in the title, preferably near the front."],"popular":0,"url":"https://patrickstox.com/tools/meta-title-generator/#finding-topic-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Meta Description Generator","desc":"Generate five meta-description options with AI, then compare their measured widths with approximate desktop and mobile SERP-preview guidance. Variants are scored for the keyword, a call to action, and length; you also get a matching title tag and a copy-ready tag block. Quick, paste-content, fetch-URL, and small bulk (≤10) modes. Falls back to editable templates when AI is off.","snippetText":"Generate five meta-description options with AI, then compare their measured widths with approximate desktop and mobile SERP-preview guidance. Variants are scored for the keyword, a call to action, and length; you also get a matching title tag and a copy-ready tag block. Quick, paste-content, fetch-URL, and small bulk (≤10) modes. Falls back to editable templates when AI is off.","href":"/tools/meta-description-generator/","meta":"Free tool","aliases":["serp description writer","description tag generator"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"meta description meta tags serp ai on-page","passages":[],"popular":0,"url":"https://patrickstox.com/tools/meta-description-generator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Meta Description Generator — Generated description is empty","desc":"Provide a primary topic and meaningful page summary, then generate a nonempty description that reflects the page.","snippetText":"Provide a primary topic and meaningful page summary, then generate a nonempty description that reflects the page.","href":"/tools/meta-description-generator/#finding-empty","parentHref":"/tools/meta-description-generator/","findingId":"empty","meta":"Free tool finding · fail","aliases":["empty","Generated description is empty"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"Generated description is empty Generated description is empty Provide a primary topic and meaningful page summary, then generate a nonempty description that reflects the page.","passages":["Provide a primary topic and meaningful page summary, then generate a nonempty description that reflects the page."],"popular":0,"url":"https://patrickstox.com/tools/meta-description-generator/#finding-empty","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Meta Description Generator — Generated description is too short","desc":"Expand the description toward 140–160 characters with one clear benefit and a useful differentiator.","snippetText":"Expand the description toward 140–160 characters with one clear benefit and a useful differentiator.","href":"/tools/meta-description-generator/#finding-too-short","parentHref":"/tools/meta-description-generator/","findingId":"too-short","meta":"Free tool finding · warning","aliases":["too short","Generated description is too short"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"Generated description is too short Generated description is too short Expand the description toward 140–160 characters with one clear benefit and a useful differentiator.","passages":["Expand the description toward 140–160 characters with one clear benefit and a useful differentiator."],"popular":0,"url":"https://patrickstox.com/tools/meta-description-generator/#finding-too-short","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Meta Description Generator — Generated description is likely to truncate","desc":"Trim the description toward 140–160 characters while preserving the primary topic, benefit, and soft call to action.","snippetText":"Trim the description toward 140–160 characters while preserving the primary topic, benefit, and soft call to action.","href":"/tools/meta-description-generator/#finding-too-long","parentHref":"/tools/meta-description-generator/","findingId":"too-long","meta":"Free tool finding · warning","aliases":["too long","Generated description is likely to truncate"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"Generated description is likely to truncate Generated description is likely to truncate Trim the description toward 140–160 characters while preserving the primary topic, benefit, and soft call to action.","passages":["Trim the description toward 140–160 characters while preserving the primary topic, benefit, and soft call to action."],"popular":0,"url":"https://patrickstox.com/tools/meta-description-generator/#finding-too-long","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Meta Description Generator — Generated description omits the primary topic","desc":"Include the page’s primary topic naturally near the start of the description without repeating it mechanically.","snippetText":"Include the page’s primary topic naturally near the start of the description without repeating it mechanically.","href":"/tools/meta-description-generator/#finding-topic-missing","parentHref":"/tools/meta-description-generator/","findingId":"topic-missing","meta":"Free tool finding · warning","aliases":["topic missing","Generated description omits the primary topic"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"Generated description omits the primary topic Generated description omits the primary topic Include the page’s primary topic naturally near the start of the description without repeating it mechanically.","passages":["Include the page’s primary topic naturally near the start of the description without repeating it mechanically."],"popular":0,"url":"https://patrickstox.com/tools/meta-description-generator/#finding-topic-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Meta Description Generator — Generated description duplicates another candidate","desc":"Rewrite the duplicate candidate with a distinct benefit, audience, or proof point instead of publishing interchangeable descriptions.","snippetText":"Rewrite the duplicate candidate with a distinct benefit, audience, or proof point instead of publishing interchangeable descriptions.","href":"/tools/meta-description-generator/#finding-duplicate-candidate","parentHref":"/tools/meta-description-generator/","findingId":"duplicate-candidate","meta":"Free tool finding · info","aliases":["duplicate candidate","Generated description duplicates another candidate"],"toolCategories":["serp-snippets","ai-visibility"],"taxonomy":["serp-snippets","ai-visibility"],"text":"Generated description duplicates another candidate Generated description duplicates another candidate Rewrite the duplicate candidate with a distinct benefit, audience, or proof point instead of publishing interchangeable descriptions.","passages":["Rewrite the duplicate candidate with a distinct benefit, audience, or proof point instead of publishing interchangeable descriptions."],"popular":0,"url":"https://patrickstox.com/tools/meta-description-generator/#finding-duplicate-candidate","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Google Search Console Hidden Query Estimator","desc":"Upload a Search Console performance export plus an Ahrefs or Semrush keyword export, and see which queries plausibly explain the clicks and impressions GSC hides below its privacy threshold — per-page confidence-tiered estimates, CSV export. Runs entirely in your browser.","snippetText":"Upload a Search Console performance export plus an Ahrefs or Semrush keyword export, and see which queries plausibly explain the clicks and impressions GSC hides below its privacy threshold — per-page confidence-tiered estimates, CSV export. Runs entirely in your browser.","href":"/tools/hidden-query-finder/","meta":"Free tool","aliases":[],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"google search console hidden queries keyword research organic search ahrefs semrush","passages":[],"popular":0,"url":"https://patrickstox.com/tools/hidden-query-finder/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Search Console Hidden Query Estimator — Page receives clicks from queries missing in the export","desc":"Create or expand a page section that directly answers the hidden query cluster and links it to the best matching landing page.","snippetText":"Create or expand a page section that directly answers the hidden query cluster and links it to the best matching landing page.","href":"/tools/hidden-query-finder/#finding-hidden-demand","parentHref":"/tools/hidden-query-finder/","findingId":"hidden-demand","meta":"Free tool finding · opportunity","aliases":["hidden demand","Page receives clicks from queries missing in the export"],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"Page receives clicks from queries missing in the export Page receives clicks from queries missing in the export Create or expand a page section that directly answers the hidden query cluster and links it to the best matching landing page.","passages":["Create or expand a page section that directly answers the hidden query cluster and links it to the best matching landing page."],"popular":0,"url":"https://patrickstox.com/tools/hidden-query-finder/#finding-hidden-demand","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Search Console Hidden Query Estimator — Estimated hidden-query share is high","desc":"Prioritize the cluster with the largest estimated hidden share and validate it with paid search, first-party search, or impression data.","snippetText":"Prioritize the cluster with the largest estimated hidden share and validate it with paid search, first-party search, or impression data.","href":"/tools/hidden-query-finder/#finding-high-hidden-share","parentHref":"/tools/hidden-query-finder/","findingId":"high-hidden-share","meta":"Free tool finding · warning","aliases":["high hidden share","Estimated hidden-query share is high"],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"Estimated hidden-query share is high Estimated hidden-query share is high Prioritize the cluster with the largest estimated hidden share and validate it with paid search, first-party search, or impression data.","passages":["Prioritize the cluster with the largest estimated hidden share and validate it with paid search, first-party search, or impression data."],"popular":0,"url":"https://patrickstox.com/tools/hidden-query-finder/#finding-high-hidden-share","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Search Console Hidden Query Estimator — Hidden demand is concentrated on one page","desc":"Expand the concentrated page around its distinct query intents or split truly different intents into dedicated, internally linked pages.","snippetText":"Expand the concentrated page around its distinct query intents or split truly different intents into dedicated, internally linked pages.","href":"/tools/hidden-query-finder/#finding-page-concentration","parentHref":"/tools/hidden-query-finder/","findingId":"page-concentration","meta":"Free tool finding · info","aliases":["page concentration","Hidden demand is concentrated on one page"],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"Hidden demand is concentrated on one page Hidden demand is concentrated on one page Expand the concentrated page around its distinct query intents or split truly different intents into dedicated, internally linked pages.","passages":["Expand the concentrated page around its distinct query intents or split truly different intents into dedicated, internally linked pages."],"popular":0,"url":"https://patrickstox.com/tools/hidden-query-finder/#finding-page-concentration","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Search Console Hidden Query Estimator — Estimate is based on sparse query rows","desc":"Collect more representative search-term data or corroborating first-party demand before creating content for this inferred query.","snippetText":"Collect more representative search-term data or corroborating first-party demand before creating content for this inferred query.","href":"/tools/hidden-query-finder/#finding-weak-evidence","parentHref":"/tools/hidden-query-finder/","findingId":"weak-evidence","meta":"Free tool finding · warning","aliases":["weak evidence","Estimate is based on sparse query rows"],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"Estimate is based on sparse query rows Estimate is based on sparse query rows Collect more representative search-term data or corroborating first-party demand before creating content for this inferred query.","passages":["Collect more representative search-term data or corroborating first-party demand before creating content for this inferred query."],"popular":0,"url":"https://patrickstox.com/tools/hidden-query-finder/#finding-weak-evidence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"robots.txt Generator","desc":"Build a copy-ready robots.txt with grouped search, AI-training, assistant, and archive-crawler presets; optionally add a documented Bingbot crawl-delay; test a bot against sample URLs using a Google-style matcher. Runs entirely in your browser.","snippetText":"Build a copy-ready robots.txt with grouped search, AI-training, assistant, and archive-crawler presets; optionally add a documented Bingbot crawl-delay; test a bot against sample URLs using a Google-style matcher. Runs entirely in your browser.","href":"/tools/robots-txt-generator/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"robots.txt robots generator crawling bots ai crawlers","passages":[],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-generator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Generator — Generated policy blocks a selected AI crawler","desc":"Remove the selected crawler’s Disallow rule, or narrow it to only the paths that should remain unavailable to that AI crawler.","snippetText":"Remove the selected crawler’s Disallow rule, or narrow it to only the paths that should remain unavailable to that AI crawler.","href":"/tools/robots-txt-generator/#finding-ai-crawler-blocked","parentHref":"/tools/robots-txt-generator/","findingId":"ai-crawler-blocked","meta":"Free tool finding · warning","aliases":["ai crawler blocked","Generated policy blocks a selected AI crawler"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Generated policy blocks a selected AI crawler Generated policy blocks a selected AI crawler Remove the selected crawler’s Disallow rule, or narrow it to only the paths that should remain unavailable to that AI crawler.","passages":["Remove the selected crawler’s Disallow rule, or narrow it to only the paths that should remain unavailable to that AI crawler."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-generator/#finding-ai-crawler-blocked","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Generator — Generated policy blocks a search crawler","desc":"Remove or narrow the Googlebot/Bingbot Disallow rule so pages intended for organic search are crawlable.","snippetText":"Remove or narrow the Googlebot/Bingbot Disallow rule so pages intended for organic search are crawlable.","href":"/tools/robots-txt-generator/#finding-search-crawler-blocked","parentHref":"/tools/robots-txt-generator/","findingId":"search-crawler-blocked","meta":"Free tool finding · high","aliases":["search crawler blocked","Generated policy blocks a search crawler"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Generated policy blocks a search crawler Generated policy blocks a search crawler Remove or narrow the Googlebot/Bingbot Disallow rule so pages intended for organic search are crawlable.","passages":["Remove or narrow the Googlebot/Bingbot Disallow rule so pages intended for organic search are crawlable."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-generator/#finding-search-crawler-blocked","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Generator — Sensitive path is not disallowed","desc":"Add explicit Disallow rules for non-public admin, staging, cart, or internal-search paths, while protecting truly sensitive data with authentication rather than robots.txt.","snippetText":"Add explicit Disallow rules for non-public admin, staging, cart, or internal-search paths, while protecting truly sensitive data with authentication rather than robots.txt.","href":"/tools/robots-txt-generator/#finding-sensitive-path-exposed","parentHref":"/tools/robots-txt-generator/","findingId":"sensitive-path-exposed","meta":"Free tool finding · warning","aliases":["sensitive path exposed","Sensitive path is not disallowed"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Sensitive path is not disallowed Sensitive path is not disallowed Add explicit Disallow rules for non-public admin, staging, cart, or internal-search paths, while protecting truly sensitive data with authentication rather than robots.txt.","passages":["Add explicit Disallow rules for non-public admin, staging, cart, or internal-search paths, while protecting truly sensitive data with authentication rather than robots.txt."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-generator/#finding-sensitive-path-exposed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Generator — Generated file has no sitemap declaration","desc":"Add an absolute Sitemap: https://…/sitemap.xml declaration pointing to the canonical, publicly fetchable sitemap or sitemap index.","snippetText":"Add an absolute Sitemap: https://…/sitemap.xml declaration pointing to the canonical, publicly fetchable sitemap or sitemap index.","href":"/tools/robots-txt-generator/#finding-sitemap-missing","parentHref":"/tools/robots-txt-generator/","findingId":"sitemap-missing","meta":"Free tool finding · info","aliases":["sitemap missing","Generated file has no sitemap declaration"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Generated file has no sitemap declaration Generated file has no sitemap declaration Add an absolute Sitemap: https://…/sitemap.xml declaration pointing to the canonical, publicly fetchable sitemap or sitemap index.","passages":["Add an absolute Sitemap: https://…/sitemap.xml declaration pointing to the canonical, publicly fetchable sitemap or sitemap index."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-generator/#finding-sitemap-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"robots.txt Generator — Generated groups contain conflicting rules","desc":"Combine rules for the same user-agent into one group and resolve overlapping Allow/Disallow paths to express one intentional policy.","snippetText":"Combine rules for the same user-agent into one group and resolve overlapping Allow/Disallow paths to express one intentional policy.","href":"/tools/robots-txt-generator/#finding-policy-conflict","parentHref":"/tools/robots-txt-generator/","findingId":"policy-conflict","meta":"Free tool finding · warning","aliases":["policy conflict","Generated groups contain conflicting rules"],"toolCategories":["crawling-indexing","ai-crawlers-agents"],"taxonomy":["crawling-indexing","ai-crawlers-agents"],"text":"Generated groups contain conflicting rules Generated groups contain conflicting rules Combine rules for the same user-agent into one group and resolve overlapping Allow/Disallow paths to express one intentional policy.","passages":["Combine rules for the same user-agent into one group and resolve overlapping Allow/Disallow paths to express one intentional policy."],"popular":0,"url":"https://patrickstox.com/tools/robots-txt-generator/#finding-policy-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Color Contrast Checker","desc":"Check WCAG 2.2 AA and AAA contrast for any foreground/background pair, find nearest passing colors, and audit CSS or design-token palettes locally in your browser.","snippetText":"Check WCAG 2.2 AA and AAA contrast for any foreground/background pair, find nearest passing colors, and audit CSS or design-token palettes locally in your browser.","href":"/tools/color-contrast-checker/","meta":"Free tool","aliases":[],"toolCategories":["accessibility"],"taxonomy":["accessibility"],"text":"color contrast wcag accessibility design tokens aa aaa","passages":[],"popular":0,"url":"https://patrickstox.com/tools/color-contrast-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Color Contrast Checker — Color pair fails WCAG AA for normal text","desc":"Change the foreground or background until normal text reaches at least 4.5:1 contrast, then retest hover, focus, disabled, and visited states.","snippetText":"Change the foreground or background until normal text reaches at least 4.5:1 contrast, then retest hover, focus, disabled, and visited states.","href":"/tools/color-contrast-checker/#finding-aa-normal-fail","parentHref":"/tools/color-contrast-checker/","findingId":"aa-normal-fail","meta":"Free tool finding · fail","aliases":["aa normal fail","Color pair fails WCAG AA for normal text"],"toolCategories":["accessibility"],"taxonomy":["accessibility"],"text":"Color pair fails WCAG AA for normal text Color pair fails WCAG AA for normal text Change the foreground or background until normal text reaches at least 4.5:1 contrast, then retest hover, focus, disabled, and visited states.","passages":["Change the foreground or background until normal text reaches at least 4.5:1 contrast, then retest hover, focus, disabled, and visited states."],"popular":0,"url":"https://patrickstox.com/tools/color-contrast-checker/#finding-aa-normal-fail","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Color Contrast Checker — Color pair fails WCAG AA for large text","desc":"Change the color pair until text at least 24px regular or 18.66px bold reaches 3:1 contrast.","snippetText":"Change the color pair until text at least 24px regular or 18.66px bold reaches 3:1 contrast.","href":"/tools/color-contrast-checker/#finding-aa-large-fail","parentHref":"/tools/color-contrast-checker/","findingId":"aa-large-fail","meta":"Free tool finding · fail","aliases":["aa large fail","Color pair fails WCAG AA for large text"],"toolCategories":["accessibility"],"taxonomy":["accessibility"],"text":"Color pair fails WCAG AA for large text Color pair fails WCAG AA for large text Change the color pair until text at least 24px regular or 18.66px bold reaches 3:1 contrast.","passages":["Change the color pair until text at least 24px regular or 18.66px bold reaches 3:1 contrast."],"popular":0,"url":"https://patrickstox.com/tools/color-contrast-checker/#finding-aa-large-fail","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Color Contrast Checker — Color pair fails WCAG AAA for normal text","desc":"Adjust the color pair until normal text reaches 7:1 contrast when AAA is the project requirement.","snippetText":"Adjust the color pair until normal text reaches 7:1 contrast when AAA is the project requirement.","href":"/tools/color-contrast-checker/#finding-aaa-normal-fail","parentHref":"/tools/color-contrast-checker/","findingId":"aaa-normal-fail","meta":"Free tool finding · warning","aliases":["aaa normal fail","Color pair fails WCAG AAA for normal text"],"toolCategories":["accessibility"],"taxonomy":["accessibility"],"text":"Color pair fails WCAG AAA for normal text Color pair fails WCAG AAA for normal text Adjust the color pair until normal text reaches 7:1 contrast when AAA is the project requirement.","passages":["Adjust the color pair until normal text reaches 7:1 contrast when AAA is the project requirement."],"popular":0,"url":"https://patrickstox.com/tools/color-contrast-checker/#finding-aaa-normal-fail","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Color Contrast Checker — Color pair fails WCAG AAA for large text","desc":"Adjust the color pair until qualifying large text reaches 4.5:1 contrast when AAA is required.","snippetText":"Adjust the color pair until qualifying large text reaches 4.5:1 contrast when AAA is required.","href":"/tools/color-contrast-checker/#finding-aaa-large-fail","parentHref":"/tools/color-contrast-checker/","findingId":"aaa-large-fail","meta":"Free tool finding · warning","aliases":["aaa large fail","Color pair fails WCAG AAA for large text"],"toolCategories":["accessibility"],"taxonomy":["accessibility"],"text":"Color pair fails WCAG AAA for large text Color pair fails WCAG AAA for large text Adjust the color pair until qualifying large text reaches 4.5:1 contrast when AAA is required.","passages":["Adjust the color pair until qualifying large text reaches 4.5:1 contrast when AAA is required."],"popular":0,"url":"https://patrickstox.com/tools/color-contrast-checker/#finding-aaa-large-fail","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Color Contrast Checker — Color pair fails non-text contrast guidance","desc":"Raise the contrast of essential icons, focus indicators, control boundaries, and graphical objects to at least 3:1 against adjacent colors.","snippetText":"Raise the contrast of essential icons, focus indicators, control boundaries, and graphical objects to at least 3:1 against adjacent colors.","href":"/tools/color-contrast-checker/#finding-non-text-fail","parentHref":"/tools/color-contrast-checker/","findingId":"non-text-fail","meta":"Free tool finding · warning","aliases":["non text fail","Color pair fails non-text contrast guidance"],"toolCategories":["accessibility"],"taxonomy":["accessibility"],"text":"Color pair fails non-text contrast guidance Color pair fails non-text contrast guidance Raise the contrast of essential icons, focus indicators, control boundaries, and graphical objects to at least 3:1 against adjacent colors.","passages":["Raise the contrast of essential icons, focus indicators, control boundaries, and graphical objects to at least 3:1 against adjacent colors."],"popular":0,"url":"https://patrickstox.com/tools/color-contrast-checker/#finding-non-text-fail","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Google Ads Hidden Search Terms Estimator","desc":"Upload a Google Ads search-terms report plus a GSC queries export or Ahrefs/Semrush keyword export, and see which on-theme queries never show up as a visible search term — likely folded into the \"(other)\" aggregate row — with match rationale and a negative-keyword side output. Runs entirely in your browser.","snippetText":"Upload a Google Ads search-terms report plus a GSC queries export or Ahrefs/Semrush keyword export, and see which on-theme queries never show up as a visible search term — likely folded into the \"(other)\" aggregate row — with match rationale and a negative-keyword side output. Runs entirely in your browser.","href":"/tools/ppc-search-terms-decoder/","meta":"Free tool","aliases":[],"toolCategories":["ppc","keywords-demand"],"taxonomy":["ppc","keywords-demand"],"text":"google ads ppc search terms negative keywords keyword research","passages":[],"popular":0,"url":"https://patrickstox.com/tools/ppc-search-terms-decoder/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Ads Hidden Search Terms Estimator — Hidden search term is a likely negative keyword","desc":"Add the irrelevant query or its safe root as a negative keyword at the narrowest appropriate scope.","snippetText":"Add the irrelevant query or its safe root as a negative keyword at the narrowest appropriate scope.","href":"/tools/ppc-search-terms-decoder/#finding-likely-negative","parentHref":"/tools/ppc-search-terms-decoder/","findingId":"likely-negative","meta":"Free tool finding · opportunity","aliases":["likely negative","Hidden search term is a likely negative keyword"],"toolCategories":["ppc","keywords-demand"],"taxonomy":["ppc","keywords-demand"],"text":"Hidden search term is a likely negative keyword Hidden search term is a likely negative keyword Add the irrelevant query or its safe root as a negative keyword at the narrowest appropriate scope.","passages":["Add the irrelevant query or its safe root as a negative keyword at the narrowest appropriate scope."],"popular":0,"url":"https://patrickstox.com/tools/ppc-search-terms-decoder/#finding-likely-negative","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Ads Hidden Search Terms Estimator — Search term has low landing-page relevance","desc":"Route the term to a more relevant landing page or tighten keyword and ad targeting to exclude it.","snippetText":"Route the term to a more relevant landing page or tighten keyword and ad targeting to exclude it.","href":"/tools/ppc-search-terms-decoder/#finding-low-relevance","parentHref":"/tools/ppc-search-terms-decoder/","findingId":"low-relevance","meta":"Free tool finding · warning","aliases":["low relevance","Search term has low landing-page relevance"],"toolCategories":["ppc","keywords-demand"],"taxonomy":["ppc","keywords-demand"],"text":"Search term has low landing-page relevance Search term has low landing-page relevance Route the term to a more relevant landing page or tighten keyword and ad targeting to exclude it.","passages":["Route the term to a more relevant landing page or tighten keyword and ad targeting to exclude it."],"popular":0,"url":"https://patrickstox.com/tools/ppc-search-terms-decoder/#finding-low-relevance","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Ads Hidden Search Terms Estimator — Search term spent without converting","desc":"Pause or negate the term unless conversion tracking and intent review justify continued spend.","snippetText":"Pause or negate the term unless conversion tracking and intent review justify continued spend.","href":"/tools/ppc-search-terms-decoder/#finding-wasted-spend","parentHref":"/tools/ppc-search-terms-decoder/","findingId":"wasted-spend","meta":"Free tool finding · high","aliases":["wasted spend","Search term spent without converting"],"toolCategories":["ppc","keywords-demand"],"taxonomy":["ppc","keywords-demand"],"text":"Search term spent without converting Search term spent without converting Pause or negate the term unless conversion tracking and intent review justify continued spend.","passages":["Pause or negate the term unless conversion tracking and intent review justify continued spend."],"popular":0,"url":"https://patrickstox.com/tools/ppc-search-terms-decoder/#finding-wasted-spend","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Ads Hidden Search Terms Estimator — Query exposes match-type leakage","desc":"Tighten match types and add negatives for the leaked query pattern without blocking proven converting variants.","snippetText":"Tighten match types and add negatives for the leaked query pattern without blocking proven converting variants.","href":"/tools/ppc-search-terms-decoder/#finding-match-type-leakage","parentHref":"/tools/ppc-search-terms-decoder/","findingId":"match-type-leakage","meta":"Free tool finding · warning","aliases":["match type leakage","Query exposes match-type leakage"],"toolCategories":["ppc","keywords-demand"],"taxonomy":["ppc","keywords-demand"],"text":"Query exposes match-type leakage Query exposes match-type leakage Tighten match types and add negatives for the leaked query pattern without blocking proven converting variants.","passages":["Tighten match types and add negatives for the leaked query pattern without blocking proven converting variants."],"popular":0,"url":"https://patrickstox.com/tools/ppc-search-terms-decoder/#finding-match-type-leakage","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"GSC Regex Builder & Tester","desc":"Lint RE2 regex syntax and test Search Console filters against your own query list in the browser.","snippetText":"Lint RE2 regex syntax and test Search Console filters against your own query list in the browser.","href":"/tools/gsc-regex-tester/","meta":"Free tool","aliases":["search console regex","google search console regex","gsc filter"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"gsc regex re2","passages":[],"popular":0,"url":"https://patrickstox.com/tools/gsc-regex-tester/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"GSC Regex Builder & Tester — Regex misses an intended query","desc":"Adjust the pattern to include the missed query while rerunning the full intended and excluded test set.","snippetText":"Adjust the pattern to include the missed query while rerunning the full intended and excluded test set.","href":"/tools/gsc-regex-tester/#finding-false-negative","parentHref":"/tools/gsc-regex-tester/","findingId":"false-negative","meta":"Free tool finding · warning","aliases":["false negative","Regex misses an intended query"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Regex misses an intended query Regex misses an intended query Adjust the pattern to include the missed query while rerunning the full intended and excluded test set.","passages":["Adjust the pattern to include the missed query while rerunning the full intended and excluded test set."],"popular":0,"url":"https://patrickstox.com/tools/gsc-regex-tester/#finding-false-negative","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"GSC Regex Builder & Tester — Regex matches an unintended query","desc":"Add a boundary, exclusion, or more specific token so the unintended query no longer matches.","snippetText":"Add a boundary, exclusion, or more specific token so the unintended query no longer matches.","href":"/tools/gsc-regex-tester/#finding-false-positive","parentHref":"/tools/gsc-regex-tester/","findingId":"false-positive","meta":"Free tool finding · warning","aliases":["false positive","Regex matches an unintended query"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Regex matches an unintended query Regex matches an unintended query Add a boundary, exclusion, or more specific token so the unintended query no longer matches.","passages":["Add a boundary, exclusion, or more specific token so the unintended query no longer matches."],"popular":0,"url":"https://patrickstox.com/tools/gsc-regex-tester/#finding-false-positive","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"GSC Regex Builder & Tester — Regex is broader than intended","desc":"Replace broad wildcards with explicit terms and boundaries that describe only the intended query set.","snippetText":"Replace broad wildcards with explicit terms and boundaries that describe only the intended query set.","href":"/tools/gsc-regex-tester/#finding-overbroad-pattern","parentHref":"/tools/gsc-regex-tester/","findingId":"overbroad-pattern","meta":"Free tool finding · warning","aliases":["overbroad pattern","Regex is broader than intended"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Regex is broader than intended Regex is broader than intended Replace broad wildcards with explicit terms and boundaries that describe only the intended query set.","passages":["Replace broad wildcards with explicit terms and boundaries that describe only the intended query set."],"popular":0,"url":"https://patrickstox.com/tools/gsc-regex-tester/#finding-overbroad-pattern","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"GSC Regex Builder & Tester — Regex anchors exclude valid queries","desc":"Remove or reposition ^ and $ anchors so they match the intended whole-query or substring behavior.","snippetText":"Remove or reposition ^ and $ anchors so they match the intended whole-query or substring behavior.","href":"/tools/gsc-regex-tester/#finding-anchor-mismatch","parentHref":"/tools/gsc-regex-tester/","findingId":"anchor-mismatch","meta":"Free tool finding · warning","aliases":["anchor mismatch","Regex anchors exclude valid queries"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Regex anchors exclude valid queries Regex anchors exclude valid queries Remove or reposition ^ and $ anchors so they match the intended whole-query or substring behavior.","passages":["Remove or reposition ^ and $ anchors so they match the intended whole-query or substring behavior."],"popular":0,"url":"https://patrickstox.com/tools/gsc-regex-tester/#finding-anchor-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"GSC Regex Builder & Tester — Case handling changes the match set","desc":"Normalize case or enable case-insensitive matching when capitalization should not change membership.","snippetText":"Normalize case or enable case-insensitive matching when capitalization should not change membership.","href":"/tools/gsc-regex-tester/#finding-case-mismatch","parentHref":"/tools/gsc-regex-tester/","findingId":"case-mismatch","meta":"Free tool finding · info","aliases":["case mismatch","Case handling changes the match set"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Case handling changes the match set Case handling changes the match set Normalize case or enable case-insensitive matching when capitalization should not change membership.","passages":["Normalize case or enable case-insensitive matching when capitalization should not change membership."],"popular":0,"url":"https://patrickstox.com/tools/gsc-regex-tester/#finding-case-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Brand/Non-Brand Splitter","desc":"Split GSC or Ads query rows into typo-tolerant brand and non-brand CSVs locally in your browser.","snippetText":"Split GSC or Ads query rows into typo-tolerant brand and non-brand CSVs locally in your browser.","href":"/tools/brand-nonbrand-splitter/","meta":"Free tool","aliases":[],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"brand gsc google ads queries","passages":[],"popular":0,"url":"https://patrickstox.com/tools/brand-nonbrand-splitter/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand/Non-Brand Splitter — Fuzzy brand matches need review","desc":"Review every fuzzy-only row and add or remove brand terms before using the split in reporting.","snippetText":"Review every fuzzy-only row and add or remove brand terms before using the split in reporting.","href":"/tools/brand-nonbrand-splitter/#finding-fuzzy-brand","parentHref":"/tools/brand-nonbrand-splitter/","findingId":"fuzzy-brand","meta":"Free tool finding · warning","aliases":["fuzzy brand","Fuzzy brand matches need review"],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"Fuzzy brand matches need review Fuzzy brand matches need review Review every fuzzy-only row and add or remove brand terms before using the split in reporting.","passages":["Review every fuzzy-only row and add or remove brand terms before using the split in reporting."],"popular":0,"url":"https://patrickstox.com/tools/brand-nonbrand-splitter/#finding-fuzzy-brand","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand/Non-Brand Splitter — Reviewed brand query was classified as non-brand","desc":"Verify the imported review label, then add a confirmed brand term that matches the query and rerun the split.","snippetText":"Verify the imported review label, then add a confirmed brand term that matches the query and rerun the split.","href":"/tools/brand-nonbrand-splitter/#finding-reviewed-brand-classified-nonbrand","parentHref":"/tools/brand-nonbrand-splitter/","findingId":"reviewed-brand-classified-nonbrand","meta":"Free tool finding · warning","aliases":["reviewed brand classified nonbrand","Reviewed brand query was classified as non-brand"],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"Reviewed brand query was classified as non-brand Reviewed brand query was classified as non-brand Verify the imported review label, then add a confirmed brand term that matches the query and rerun the split.","passages":["Verify the imported review label, then add a confirmed brand term that matches the query and rerun the split."],"popular":0,"url":"https://patrickstox.com/tools/brand-nonbrand-splitter/#finding-reviewed-brand-classified-nonbrand","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand/Non-Brand Splitter — Reviewed non-brand query was classified as brand","desc":"Verify the imported review label, then remove or narrow the brand term that matched this query and rerun the split.","snippetText":"Verify the imported review label, then remove or narrow the brand term that matched this query and rerun the split.","href":"/tools/brand-nonbrand-splitter/#finding-reviewed-nonbrand-classified-brand","parentHref":"/tools/brand-nonbrand-splitter/","findingId":"reviewed-nonbrand-classified-brand","meta":"Free tool finding · warning","aliases":["reviewed nonbrand classified brand","Reviewed non-brand query was classified as brand"],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"Reviewed non-brand query was classified as brand Reviewed non-brand query was classified as brand Verify the imported review label, then remove or narrow the brand term that matched this query and rerun the split.","passages":["Verify the imported review label, then remove or narrow the brand term that matched this query and rerun the split."],"popular":0,"url":"https://patrickstox.com/tools/brand-nonbrand-splitter/#finding-reviewed-nonbrand-classified-brand","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand/Non-Brand Splitter — Candidate brand variant needs review","desc":"Confirm the repeated term is an owned brand, product, or alias before adding it to the brand-term list and rerunning the split.","snippetText":"Confirm the repeated term is an owned brand, product, or alias before adding it to the brand-term list and rerunning the split.","href":"/tools/brand-nonbrand-splitter/#finding-candidate-brand-variant","parentHref":"/tools/brand-nonbrand-splitter/","findingId":"candidate-brand-variant","meta":"Free tool finding · info","aliases":["candidate brand variant","Candidate brand variant needs review"],"toolCategories":["keywords-demand","forecasting-roi"],"taxonomy":["keywords-demand","forecasting-roi"],"text":"Candidate brand variant needs review Candidate brand variant needs review Confirm the repeated term is an owned brand, product, or alias before adding it to the brand-term list and rerunning the split.","passages":["Confirm the repeated term is an owned brand, product, or alias before adding it to the brand-term list and rerunning the split."],"popular":0,"url":"https://patrickstox.com/tools/brand-nonbrand-splitter/#finding-candidate-brand-variant","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Brand Bid Decider","desc":"Compare Ads and organic brand signals, with transparent test-pausing and holdout guidance.","snippetText":"Compare Ads and organic brand signals, with transparent test-pausing and holdout guidance.","href":"/tools/brand-bid-decider/","meta":"Free tool","aliases":[],"toolCategories":["ppc-seo","forecasting-roi"],"taxonomy":["ppc-seo","forecasting-roi"],"text":"brand ppc incrementality technical-seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/brand-bid-decider/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand Bid Decider — Paid brand traffic overlaps a strong organic result","desc":"Run a geo or audience holdout that pauses brand ads only where organic position and CTR are already strong, then compare total incremental conversions—not channel-reported clicks.","snippetText":"Run a geo or audience holdout that pauses brand ads only where organic position and CTR are already strong, then compare total incremental conversions—not channel-reported clicks.","href":"/tools/brand-bid-decider/#finding-high-overlap","parentHref":"/tools/brand-bid-decider/","findingId":"high-overlap","meta":"Free tool finding · opportunity","aliases":["high overlap","Paid brand traffic overlaps a strong organic result"],"toolCategories":["ppc-seo","forecasting-roi"],"taxonomy":["ppc-seo","forecasting-roi"],"text":"Paid brand traffic overlaps a strong organic result Paid brand traffic overlaps a strong organic result Run a geo or audience holdout that pauses brand ads only where organic position and CTR are already strong, then compare total incremental conversions—not channel-reported clicks.","passages":["Run a geo or audience holdout that pauses brand ads only where organic position and CTR are already strong, then compare total incremental conversions—not channel-reported clicks."],"popular":0,"url":"https://patrickstox.com/tools/brand-bid-decider/#finding-high-overlap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand Bid Decider — Paid brand incrementality is unproven","desc":"Keep bids stable while running a powered holdout with conversion lag and seasonality controls; change spend only after measuring total incremental outcomes.","snippetText":"Keep bids stable while running a powered holdout with conversion lag and seasonality controls; change spend only after measuring total incremental outcomes.","href":"/tools/brand-bid-decider/#finding-incrementality-unknown","parentHref":"/tools/brand-bid-decider/","findingId":"incrementality-unknown","meta":"Free tool finding · warning","aliases":["incrementality unknown","Paid brand incrementality is unproven"],"toolCategories":["ppc-seo","forecasting-roi"],"taxonomy":["ppc-seo","forecasting-roi"],"text":"Paid brand incrementality is unproven Paid brand incrementality is unproven Keep bids stable while running a powered holdout with conversion lag and seasonality controls; change spend only after measuring total incremental outcomes.","passages":["Keep bids stable while running a powered holdout with conversion lag and seasonality controls; change spend only after measuring total incremental outcomes."],"popular":0,"url":"https://patrickstox.com/tools/brand-bid-decider/#finding-incrementality-unknown","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand Bid Decider — Competitor pressure argues against pausing bids","desc":"Keep defensive coverage on contested brand queries and test narrower match, geography, device, or schedule reductions instead of a full pause.","snippetText":"Keep defensive coverage on contested brand queries and test narrower match, geography, device, or schedule reductions instead of a full pause.","href":"/tools/brand-bid-decider/#finding-competitor-pressure","parentHref":"/tools/brand-bid-decider/","findingId":"competitor-pressure","meta":"Free tool finding · warning","aliases":["competitor pressure","Competitor pressure argues against pausing bids"],"toolCategories":["ppc-seo","forecasting-roi"],"taxonomy":["ppc-seo","forecasting-roi"],"text":"Competitor pressure argues against pausing bids Competitor pressure argues against pausing bids Keep defensive coverage on contested brand queries and test narrower match, geography, device, or schedule reductions instead of a full pause.","passages":["Keep defensive coverage on contested brand queries and test narrower match, geography, device, or schedule reductions instead of a full pause."],"popular":0,"url":"https://patrickstox.com/tools/brand-bid-decider/#finding-competitor-pressure","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Brand Bid Decider — Organic coverage is too weak to reduce bids","desc":"Improve the brand result’s ranking, snippet, sitelinks, and landing-page coverage before testing lower paid-brand exposure.","snippetText":"Improve the brand result’s ranking, snippet, sitelinks, and landing-page coverage before testing lower paid-brand exposure.","href":"/tools/brand-bid-decider/#finding-organic-weak","parentHref":"/tools/brand-bid-decider/","findingId":"organic-weak","meta":"Free tool finding · high","aliases":["organic weak","Organic coverage is too weak to reduce bids"],"toolCategories":["ppc-seo","forecasting-roi"],"taxonomy":["ppc-seo","forecasting-roi"],"text":"Organic coverage is too weak to reduce bids Organic coverage is too weak to reduce bids Improve the brand result’s ranking, snippet, sitelinks, and landing-page coverage before testing lower paid-brand exposure.","passages":["Improve the brand result’s ranking, snippet, sitelinks, and landing-page coverage before testing lower paid-brand exposure."],"popular":0,"url":"https://patrickstox.com/tools/brand-bid-decider/#finding-organic-weak","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Paid/Organic Overlap Quadrant","desc":"Join Ads and GSC data into paid-only, organic-only, strong-both, and weak actions.","snippetText":"Join Ads and GSC data into paid-only, organic-only, strong-both, and weak actions.","href":"/tools/paid-organic-overlap/","meta":"Free tool","aliases":["accepts csv","produces csv","produces report","generic http html"],"toolCategories":["ppc-seo"],"taxonomy":["ppc-seo"],"text":"ppc gsc content gap accepts csv produces csv produces report generic http html","passages":["accepts csv","produces csv","produces report","generic http html"],"popular":0,"url":"https://patrickstox.com/tools/paid-organic-overlap/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Paid/Organic Overlap Quadrant — Paid and organic cover the same query","desc":"Run a paid holdout on overlapping non-brand queries and trim bids only where organic traffic preserves incremental conversions.","snippetText":"Run a paid holdout on overlapping non-brand queries and trim bids only where organic traffic preserves incremental conversions.","href":"/tools/paid-organic-overlap/#finding-paid-organic-overlap","parentHref":"/tools/paid-organic-overlap/","findingId":"paid-organic-overlap","meta":"Free tool finding · opportunity","aliases":["paid organic overlap","Paid and organic cover the same query"],"toolCategories":["ppc-seo"],"taxonomy":["ppc-seo"],"text":"Paid and organic cover the same query Paid and organic cover the same query Run a paid holdout on overlapping non-brand queries and trim bids only where organic traffic preserves incremental conversions.","passages":["Run a paid holdout on overlapping non-brand queries and trim bids only where organic traffic preserves incremental conversions."],"popular":0,"url":"https://patrickstox.com/tools/paid-organic-overlap/#finding-paid-organic-overlap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Paid/Organic Overlap Quadrant — Paid query lacks organic coverage","desc":"Create or improve an organic landing page for the proven paid query and connect it through relevant internal links.","snippetText":"Create or improve an organic landing page for the proven paid query and connect it through relevant internal links.","href":"/tools/paid-organic-overlap/#finding-paid-only","parentHref":"/tools/paid-organic-overlap/","findingId":"paid-only","meta":"Free tool finding · opportunity","aliases":["paid only","Paid query lacks organic coverage"],"toolCategories":["ppc-seo"],"taxonomy":["ppc-seo"],"text":"Paid query lacks organic coverage Paid query lacks organic coverage Create or improve an organic landing page for the proven paid query and connect it through relevant internal links.","passages":["Create or improve an organic landing page for the proven paid query and connect it through relevant internal links."],"popular":0,"url":"https://patrickstox.com/tools/paid-organic-overlap/#finding-paid-only","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Paid/Organic Overlap Quadrant — Organic query has no paid coverage","desc":"Test paid coverage only when conversion value and incrementality justify adding spend to the strong organic result.","snippetText":"Test paid coverage only when conversion value and incrementality justify adding spend to the strong organic result.","href":"/tools/paid-organic-overlap/#finding-organic-only","parentHref":"/tools/paid-organic-overlap/","findingId":"organic-only","meta":"Free tool finding · info","aliases":["organic only","Organic query has no paid coverage"],"toolCategories":["ppc-seo"],"taxonomy":["ppc-seo"],"text":"Organic query has no paid coverage Organic query has no paid coverage Test paid coverage only when conversion value and incrementality justify adding spend to the strong organic result.","passages":["Test paid coverage only when conversion value and incrementality justify adding spend to the strong organic result."],"popular":0,"url":"https://patrickstox.com/tools/paid-organic-overlap/#finding-organic-only","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Paid/Organic Overlap Quadrant — Both paid and organic performance are weak","desc":"Deprioritize the query until demand or landing-page coverage improves, then retest both channels against the same intent.","snippetText":"Deprioritize the query until demand or landing-page coverage improves, then retest both channels against the same intent.","href":"/tools/paid-organic-overlap/#finding-neither-strong","parentHref":"/tools/paid-organic-overlap/","findingId":"neither-strong","meta":"Free tool finding · warning","aliases":["neither strong","Both paid and organic performance are weak"],"toolCategories":["ppc-seo"],"taxonomy":["ppc-seo"],"text":"Both paid and organic performance are weak Both paid and organic performance are weak Deprioritize the query until demand or landing-page coverage improves, then retest both channels against the same intent.","passages":["Deprioritize the query until demand or landing-page coverage improves, then retest both channels against the same intent."],"popular":0,"url":"https://patrickstox.com/tools/paid-organic-overlap/#finding-neither-strong","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Negative Keyword Generator","desc":"Review high-spend, zero-conversion off-theme terms as Ads negative candidates.","snippetText":"Review high-spend, zero-conversion off-theme terms as Ads negative candidates.","href":"/tools/negative-keyword-generator/","meta":"Free tool","aliases":[],"toolCategories":["ppc"],"taxonomy":["ppc"],"text":"ppc negative keywords technical-seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/negative-keyword-generator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Negative Keyword Generator — Search term spent without converting","desc":"Check attribution lag and business value; if the term is truly wasteful, add the reviewed negative and monitor spend.","snippetText":"Check attribution lag and business value; if the term is truly wasteful, add the reviewed negative and monitor spend.","href":"/tools/negative-keyword-generator/#finding-zero-conversion-waste","parentHref":"/tools/negative-keyword-generator/","findingId":"zero-conversion-waste","meta":"Free tool finding · high","aliases":["zero conversion waste","Search term spent without converting"],"toolCategories":["ppc"],"taxonomy":["ppc"],"text":"Search term spent without converting Search term spent without converting Check attribution lag and business value; if the term is truly wasteful, add the reviewed negative and monitor spend.","passages":["Check attribution lag and business value; if the term is truly wasteful, add the reviewed negative and monitor spend."],"popular":0,"url":"https://patrickstox.com/tools/negative-keyword-generator/#finding-zero-conversion-waste","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Negative Keyword Generator — Search term has weak theme overlap","desc":"Confirm the supplied GSC theme is representative before excluding the off-theme term.","snippetText":"Confirm the supplied GSC theme is representative before excluding the off-theme term.","href":"/tools/negative-keyword-generator/#finding-low-theme-overlap","parentHref":"/tools/negative-keyword-generator/","findingId":"low-theme-overlap","meta":"Free tool finding · warning","aliases":["low theme overlap","Search term has weak theme overlap"],"toolCategories":["ppc"],"taxonomy":["ppc"],"text":"Search term has weak theme overlap Search term has weak theme overlap Confirm the supplied GSC theme is representative before excluding the off-theme term.","passages":["Confirm the supplied GSC theme is representative before excluding the off-theme term."],"popular":0,"url":"https://patrickstox.com/tools/negative-keyword-generator/#finding-low-theme-overlap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Negative Keyword Generator — Suggested negative may block useful traffic","desc":"Do not add the single-word phrase negative until you confirm it will not block valuable searches.","snippetText":"Do not add the single-word phrase negative until you confirm it will not block valuable searches.","href":"/tools/negative-keyword-generator/#finding-broad-blocking-risk","parentHref":"/tools/negative-keyword-generator/","findingId":"broad-blocking-risk","meta":"Free tool finding · review","aliases":["broad blocking risk","Suggested negative may block useful traffic"],"toolCategories":["ppc"],"taxonomy":["ppc"],"text":"Suggested negative may block useful traffic Suggested negative may block useful traffic Do not add the single-word phrase negative until you confirm it will not block valuable searches.","passages":["Do not add the single-word phrase negative until you confirm it will not block valuable searches."],"popular":0,"url":"https://patrickstox.com/tools/negative-keyword-generator/#finding-broad-blocking-risk","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Negative Keyword Generator — Multi-word term is suggested as an exact negative","desc":"Review close variants, then add the multi-word term as an exact negative if its intent is irrelevant.","snippetText":"Review close variants, then add the multi-word term as an exact negative if its intent is irrelevant.","href":"/tools/negative-keyword-generator/#finding-exact-negative","parentHref":"/tools/negative-keyword-generator/","findingId":"exact-negative","meta":"Free tool finding · opportunity","aliases":["exact negative","Multi-word term is suggested as an exact negative"],"toolCategories":["ppc"],"taxonomy":["ppc"],"text":"Multi-word term is suggested as an exact negative Multi-word term is suggested as an exact negative Review close variants, then add the multi-word term as an exact negative if its intent is irrelevant.","passages":["Review close variants, then add the multi-word term as an exact negative if its intent is irrelevant."],"popular":0,"url":"https://patrickstox.com/tools/negative-keyword-generator/#finding-exact-negative","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Negative Keyword Generator — Single-word term is suggested as a phrase negative","desc":"Expand the single word against useful queries before adding it as a phrase negative.","snippetText":"Expand the single word against useful queries before adding it as a phrase negative.","href":"/tools/negative-keyword-generator/#finding-phrase-negative","parentHref":"/tools/negative-keyword-generator/","findingId":"phrase-negative","meta":"Free tool finding · review","aliases":["phrase negative","Single-word term is suggested as a phrase negative"],"toolCategories":["ppc"],"taxonomy":["ppc"],"text":"Single-word term is suggested as a phrase negative Single-word term is suggested as a phrase negative Expand the single word against useful queries before adding it as a phrase negative.","passages":["Expand the single word against useful queries before adding it as a phrase negative."],"popular":0,"url":"https://patrickstox.com/tools/negative-keyword-generator/#finding-phrase-negative","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Which Pages Should I Work On?","desc":"Rank GSC pages by striking-distance, CTR-gap, and decay opportunity.","snippetText":"Rank GSC pages by striking-distance, CTR-gap, and decay opportunity.","href":"/tools/which-pages-should-i-work-on/","meta":"Free tool","aliases":[],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"gsc opportunity ctr","passages":[],"popular":0,"url":"https://patrickstox.com/tools/which-pages-should-i-work-on/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Which Pages Should I Work On? — High-impression query is within striking distance","desc":"Improve the page’s intent match, internal links, and missing supporting sections to move its queries from positions 5–20 into stronger visibility.","snippetText":"Improve the page’s intent match, internal links, and missing supporting sections to move its queries from positions 5–20 into stronger visibility.","href":"/tools/which-pages-should-i-work-on/#finding-striking-distance","parentHref":"/tools/which-pages-should-i-work-on/","findingId":"striking-distance","meta":"Free tool finding · opportunity","aliases":["striking distance","High-impression query is within striking distance"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"High-impression query is within striking distance High-impression query is within striking distance Improve the page’s intent match, internal links, and missing supporting sections to move its queries from positions 5–20 into stronger visibility.","passages":["Improve the page’s intent match, internal links, and missing supporting sections to move its queries from positions 5–20 into stronger visibility."],"popular":0,"url":"https://patrickstox.com/tools/which-pages-should-i-work-on/#finding-striking-distance","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Which Pages Should I Work On? — Page has low CTR for its position","desc":"Rewrite the title and description to match the dominant query intent and differentiate the result, then compare CTR at similar positions.","snippetText":"Rewrite the title and description to match the dominant query intent and differentiate the result, then compare CTR at similar positions.","href":"/tools/which-pages-should-i-work-on/#finding-low-ctr","parentHref":"/tools/which-pages-should-i-work-on/","findingId":"low-ctr","meta":"Free tool finding · opportunity","aliases":["low ctr","Page has low CTR for its position"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Page has low CTR for its position Page has low CTR for its position Rewrite the title and description to match the dominant query intent and differentiate the result, then compare CTR at similar positions.","passages":["Rewrite the title and description to match the dominant query intent and differentiate the result, then compare CTR at similar positions."],"popular":0,"url":"https://patrickstox.com/tools/which-pages-should-i-work-on/#finding-low-ctr","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Which Pages Should I Work On? — Page has declining clicks","desc":"Segment the decline by query and page, compare rankings and SERP changes, then repair lost relevance, links, or technical accessibility.","snippetText":"Segment the decline by query and page, compare rankings and SERP changes, then repair lost relevance, links, or technical accessibility.","href":"/tools/which-pages-should-i-work-on/#finding-traffic-decline","parentHref":"/tools/which-pages-should-i-work-on/","findingId":"traffic-decline","meta":"Free tool finding · warning","aliases":["traffic decline","Page has declining clicks"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Page has declining clicks Page has declining clicks Segment the decline by query and page, compare rankings and SERP changes, then repair lost relevance, links, or technical accessibility.","passages":["Segment the decline by query and page, compare rankings and SERP changes, then repair lost relevance, links, or technical accessibility."],"popular":0,"url":"https://patrickstox.com/tools/which-pages-should-i-work-on/#finding-traffic-decline","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Which Pages Should I Work On? — Page has high impressions but few clicks","desc":"Align the snippet and opening content with high-impression queries, then test whether clicks improve without a ranking change.","snippetText":"Align the snippet and opening content with high-impression queries, then test whether clicks improve without a ranking change.","href":"/tools/which-pages-should-i-work-on/#finding-high-impression-low-click","parentHref":"/tools/which-pages-should-i-work-on/","findingId":"high-impression-low-click","meta":"Free tool finding · opportunity","aliases":["high impression low click","Page has high impressions but few clicks"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Page has high impressions but few clicks Page has high impressions but few clicks Align the snippet and opening content with high-impression queries, then test whether clicks improve without a ranking change.","passages":["Align the snippet and opening content with high-impression queries, then test whether clicks improve without a ranking change."],"popular":0,"url":"https://patrickstox.com/tools/which-pages-should-i-work-on/#finding-high-impression-low-click","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"PPC → SEO Arbitrage Prioritizer","desc":"Prioritize paid terms where organic improvements could replace spend, plus converting paid-only content briefs.","snippetText":"Prioritize paid terms where organic improvements could replace spend, plus converting paid-only content briefs.","href":"/tools/ppc-seo-arbitrage/","meta":"Free tool","aliases":["accepts csv","produces report","generic http html"],"toolCategories":["ppc-seo","forecasting-roi","on-page-content"],"taxonomy":["ppc-seo","forecasting-roi","on-page-content"],"text":"ppc seo gsc content brief accepts csv produces report generic http html","passages":["accepts csv","produces report","generic http html"],"popular":0,"url":"https://patrickstox.com/tools/ppc-seo-arbitrage/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"PPC → SEO Arbitrage Prioritizer — Paid spend can be displaced by an organic page","desc":"Test reducing paid coverage on non-brand terms where the organic page already converts, while holding out a control to measure incrementality.","snippetText":"Test reducing paid coverage on non-brand terms where the organic page already converts, while holding out a control to measure incrementality.","href":"/tools/ppc-seo-arbitrage/#finding-high-arbitrage","parentHref":"/tools/ppc-seo-arbitrage/","findingId":"high-arbitrage","meta":"Free tool finding · opportunity","aliases":["high arbitrage","Paid spend can be displaced by an organic page"],"toolCategories":["ppc-seo","forecasting-roi","on-page-content"],"taxonomy":["ppc-seo","forecasting-roi","on-page-content"],"text":"Paid spend can be displaced by an organic page Paid spend can be displaced by an organic page Test reducing paid coverage on non-brand terms where the organic page already converts, while holding out a control to measure incrementality.","passages":["Test reducing paid coverage on non-brand terms where the organic page already converts, while holding out a control to measure incrementality."],"popular":0,"url":"https://patrickstox.com/tools/ppc-seo-arbitrage/#finding-high-arbitrage","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"PPC → SEO Arbitrage Prioritizer — Organic page ranks below the target position","desc":"Improve the mapped organic page until it reaches the modeled target position before counting paid-spend displacement as achievable.","snippetText":"Improve the mapped organic page until it reaches the modeled target position before counting paid-spend displacement as achievable.","href":"/tools/ppc-seo-arbitrage/#finding-ranking-gap","parentHref":"/tools/ppc-seo-arbitrage/","findingId":"ranking-gap","meta":"Free tool finding · warning","aliases":["ranking gap","Organic page ranks below the target position"],"toolCategories":["ppc-seo","forecasting-roi","on-page-content"],"taxonomy":["ppc-seo","forecasting-roi","on-page-content"],"text":"Organic page ranks below the target position Organic page ranks below the target position Improve the mapped organic page until it reaches the modeled target position before counting paid-spend displacement as achievable.","passages":["Improve the mapped organic page until it reaches the modeled target position before counting paid-spend displacement as achievable."],"popular":0,"url":"https://patrickstox.com/tools/ppc-seo-arbitrage/#finding-ranking-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"PPC → SEO Arbitrage Prioritizer — Projected savings rely on weak conversion value","desc":"Replace assumed conversion value with observed margin-adjusted conversion data before using projected savings for budget decisions.","snippetText":"Replace assumed conversion value with observed margin-adjusted conversion data before using projected savings for budget decisions.","href":"/tools/ppc-seo-arbitrage/#finding-weak-conversion-value","parentHref":"/tools/ppc-seo-arbitrage/","findingId":"weak-conversion-value","meta":"Free tool finding · warning","aliases":["weak conversion value","Projected savings rely on weak conversion value"],"toolCategories":["ppc-seo","forecasting-roi","on-page-content"],"taxonomy":["ppc-seo","forecasting-roi","on-page-content"],"text":"Projected savings rely on weak conversion value Projected savings rely on weak conversion value Replace assumed conversion value with observed margin-adjusted conversion data before using projected savings for budget decisions.","passages":["Replace assumed conversion value with observed margin-adjusted conversion data before using projected savings for budget decisions."],"popular":0,"url":"https://patrickstox.com/tools/ppc-seo-arbitrage/#finding-weak-conversion-value","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"PPC → SEO Arbitrage Prioritizer — Arbitrage opportunity has low evidence confidence","desc":"Increase matched query, conversion, and ranking evidence and run a paid holdout before acting on the opportunity estimate.","snippetText":"Increase matched query, conversion, and ranking evidence and run a paid holdout before acting on the opportunity estimate.","href":"/tools/ppc-seo-arbitrage/#finding-low-confidence","parentHref":"/tools/ppc-seo-arbitrage/","findingId":"low-confidence","meta":"Free tool finding · review","aliases":["low confidence","Arbitrage opportunity has low evidence confidence"],"toolCategories":["ppc-seo","forecasting-roi","on-page-content"],"taxonomy":["ppc-seo","forecasting-roi","on-page-content"],"text":"Arbitrage opportunity has low evidence confidence Arbitrage opportunity has low evidence confidence Increase matched query, conversion, and ranking evidence and run a paid holdout before acting on the opportunity estimate.","passages":["Increase matched query, conversion, and ranking evidence and run a paid holdout before acting on the opportunity estimate."],"popular":0,"url":"https://patrickstox.com/tools/ppc-seo-arbitrage/#finding-low-confidence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"RSA ↔ Title Tag Cross-Pollinator","desc":"Compare RSA headline signals and title tags by landing page to uncover unused copy angles.","snippetText":"Compare RSA headline signals and title tags by landing page to uncover unused copy angles.","href":"/tools/rsa-title-cross-pollinator/","meta":"Free tool","aliases":[],"toolCategories":["ppc-seo","serp-snippets"],"taxonomy":["ppc-seo","serp-snippets"],"text":"google ads rsa title tags ctr","passages":[],"popular":0,"url":"https://patrickstox.com/tools/rsa-title-cross-pollinator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"RSA ↔ Title Tag Cross-Pollinator — Strong RSA message is missing from the organic title","desc":"Draft a title test that incorporates the proven RSA message while preserving search intent and page accuracy.","snippetText":"Draft a title test that incorporates the proven RSA message while preserving search intent and page accuracy.","href":"/tools/rsa-title-cross-pollinator/#finding-ad-message-missing","parentHref":"/tools/rsa-title-cross-pollinator/","findingId":"ad-message-missing","meta":"Free tool finding · opportunity","aliases":["ad message missing","Strong RSA message is missing from the organic title"],"toolCategories":["ppc-seo","serp-snippets"],"taxonomy":["ppc-seo","serp-snippets"],"text":"Strong RSA message is missing from the organic title Strong RSA message is missing from the organic title Draft a title test that incorporates the proven RSA message while preserving search intent and page accuracy.","passages":["Draft a title test that incorporates the proven RSA message while preserving search intent and page accuracy."],"popular":0,"url":"https://patrickstox.com/tools/rsa-title-cross-pollinator/#finding-ad-message-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"RSA ↔ Title Tag Cross-Pollinator — Suggested title exceeds the safe length band","desc":"Edit the suggested title into the safe length band without removing its differentiating message.","snippetText":"Edit the suggested title into the safe length band without removing its differentiating message.","href":"/tools/rsa-title-cross-pollinator/#finding-title-too-long","parentHref":"/tools/rsa-title-cross-pollinator/","findingId":"title-too-long","meta":"Free tool finding · warning","aliases":["title too long","Suggested title exceeds the safe length band"],"toolCategories":["ppc-seo","serp-snippets"],"taxonomy":["ppc-seo","serp-snippets"],"text":"Suggested title exceeds the safe length band Suggested title exceeds the safe length band Edit the suggested title into the safe length band without removing its differentiating message.","passages":["Edit the suggested title into the safe length band without removing its differentiating message."],"popular":0,"url":"https://patrickstox.com/tools/rsa-title-cross-pollinator/#finding-title-too-long","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"RSA ↔ Title Tag Cross-Pollinator — Organic title has low overlap with proven ad messaging","desc":"Test the strongest relevant RSA phrase in the organic title instead of copying the full ad headline unchanged.","snippetText":"Test the strongest relevant RSA phrase in the organic title instead of copying the full ad headline unchanged.","href":"/tools/rsa-title-cross-pollinator/#finding-low-token-overlap","parentHref":"/tools/rsa-title-cross-pollinator/","findingId":"low-token-overlap","meta":"Free tool finding · opportunity","aliases":["low token overlap","Organic title has low overlap with proven ad messaging"],"toolCategories":["ppc-seo","serp-snippets"],"taxonomy":["ppc-seo","serp-snippets"],"text":"Organic title has low overlap with proven ad messaging Organic title has low overlap with proven ad messaging Test the strongest relevant RSA phrase in the organic title instead of copying the full ad headline unchanged.","passages":["Test the strongest relevant RSA phrase in the organic title instead of copying the full ad headline unchanged."],"popular":0,"url":"https://patrickstox.com/tools/rsa-title-cross-pollinator/#finding-low-token-overlap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"RSA ↔ Title Tag Cross-Pollinator — RSA headline evidence is weak","desc":"Collect stronger CTR or asset-label evidence before using the RSA headline as an organic-title hypothesis.","snippetText":"Collect stronger CTR or asset-label evidence before using the RSA headline as an organic-title hypothesis.","href":"/tools/rsa-title-cross-pollinator/#finding-headline-signal-weak","parentHref":"/tools/rsa-title-cross-pollinator/","findingId":"headline-signal-weak","meta":"Free tool finding · review","aliases":["headline signal weak","RSA headline evidence is weak"],"toolCategories":["ppc-seo","serp-snippets"],"taxonomy":["ppc-seo","serp-snippets"],"text":"RSA headline evidence is weak RSA headline evidence is weak Collect stronger CTR or asset-label evidence before using the RSA headline as an organic-title hypothesis.","passages":["Collect stronger CTR or asset-label evidence before using the RSA headline as an organic-title hypothesis."],"popular":0,"url":"https://patrickstox.com/tools/rsa-title-cross-pollinator/#finding-headline-signal-weak","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Landing-Page Mismatch Finder","desc":"Compare paid landing pages with GSC organic results for the same terms.","snippetText":"Compare paid landing pages with GSC organic results for the same terms.","href":"/tools/landing-page-mismatch-finder/","meta":"Free tool","aliases":["accepts csv","produces csv","produces report","generic http html"],"toolCategories":["ppc-seo"],"taxonomy":["ppc-seo"],"text":"ppc landing page gsc accepts csv produces csv produces report generic http html","passages":["accepts csv","produces csv","produces report","generic http html"],"popular":0,"url":"https://patrickstox.com/tools/landing-page-mismatch-finder/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Landing-Page Mismatch Finder — Paid and organic use different landing pages","desc":"Test the organic page as the paid destination when intent matches, or document the conversion reason for keeping separate landing pages.","snippetText":"Test the organic page as the paid destination when intent matches, or document the conversion reason for keeping separate landing pages.","href":"/tools/landing-page-mismatch-finder/#finding-different-page","parentHref":"/tools/landing-page-mismatch-finder/","findingId":"different-page","meta":"Free tool finding · warning","aliases":["different page","Paid and organic use different landing pages"],"toolCategories":["ppc-seo"],"taxonomy":["ppc-seo"],"text":"Paid and organic use different landing pages Paid and organic use different landing pages Test the organic page as the paid destination when intent matches, or document the conversion reason for keeping separate landing pages.","passages":["Test the organic page as the paid destination when intent matches, or document the conversion reason for keeping separate landing pages."],"popular":0,"url":"https://patrickstox.com/tools/landing-page-mismatch-finder/#finding-different-page","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Landing-Page Mismatch Finder — Query is split across multiple organic pages","desc":"Consolidate competing organic pages or differentiate their intent, then point internal links and canonical signals to the chosen target.","snippetText":"Consolidate competing organic pages or differentiate their intent, then point internal links and canonical signals to the chosen target.","href":"/tools/landing-page-mismatch-finder/#finding-splitting","parentHref":"/tools/landing-page-mismatch-finder/","findingId":"splitting","meta":"Free tool finding · warning","aliases":["splitting","Query is split across multiple organic pages"],"toolCategories":["ppc-seo"],"taxonomy":["ppc-seo"],"text":"Query is split across multiple organic pages Query is split across multiple organic pages Consolidate competing organic pages or differentiate their intent, then point internal links and canonical signals to the chosen target.","passages":["Consolidate competing organic pages or differentiate their intent, then point internal links and canonical signals to the chosen target."],"popular":0,"url":"https://patrickstox.com/tools/landing-page-mismatch-finder/#finding-splitting","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Landing-Page Mismatch Finder — Paid landing page has no organic presence","desc":"Check indexability and intent coverage for the paid landing page, then create or improve the organic page mapped to that query.","snippetText":"Check indexability and intent coverage for the paid landing page, then create or improve the organic page mapped to that query.","href":"/tools/landing-page-mismatch-finder/#finding-no-organic-presence","parentHref":"/tools/landing-page-mismatch-finder/","findingId":"no-organic-presence","meta":"Free tool finding · opportunity","aliases":["no organic presence","Paid landing page has no organic presence"],"toolCategories":["ppc-seo"],"taxonomy":["ppc-seo"],"text":"Paid landing page has no organic presence Paid landing page has no organic presence Check indexability and intent coverage for the paid landing page, then create or improve the organic page mapped to that query.","passages":["Check indexability and intent coverage for the paid landing page, then create or improve the organic page mapped to that query."],"popular":0,"url":"https://patrickstox.com/tools/landing-page-mismatch-finder/#finding-no-organic-presence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Auction Insights Trend Visualizer","desc":"Inspect competitor impression-share and overlap trends, including censored values.","snippetText":"Inspect competitor impression-share and overlap trends, including censored values.","href":"/tools/auction-insights-trends/","meta":"Free tool","aliases":[],"toolCategories":["ppc","forecasting-roi"],"taxonomy":["ppc","forecasting-roi"],"text":"google ads auction insights ppc technical-seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/auction-insights-trends/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Auction Insights Trend Visualizer — A competitor’s impression share is rising","desc":"Confirm the export scope is unchanged, then investigate the competitor’s auctions, overlap, and your lost impression-share causes.","snippetText":"Confirm the export scope is unchanged, then investigate the competitor’s auctions, overlap, and your lost impression-share causes.","href":"/tools/auction-insights-trends/#finding-competitor-share-rising","parentHref":"/tools/auction-insights-trends/","findingId":"competitor-share-rising","meta":"Free tool finding · warning","aliases":["competitor share rising","A competitor’s impression share is rising"],"toolCategories":["ppc","forecasting-roi"],"taxonomy":["ppc","forecasting-roi"],"text":"A competitor’s impression share is rising A competitor’s impression share is rising Confirm the export scope is unchanged, then investigate the competitor’s auctions, overlap, and your lost impression-share causes.","passages":["Confirm the export scope is unchanged, then investigate the competitor’s auctions, overlap, and your lost impression-share causes."],"popular":0,"url":"https://patrickstox.com/tools/auction-insights-trends/#finding-competitor-share-rising","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Auction Insights Trend Visualizer — Your outranking share is declining","desc":"Review bids, quality, targeting, and auction scope where your outranking share declined.","snippetText":"Review bids, quality, targeting, and auction scope where your outranking share declined.","href":"/tools/auction-insights-trends/#finding-outranking-loss","parentHref":"/tools/auction-insights-trends/","findingId":"outranking-loss","meta":"Free tool finding · warning","aliases":["outranking loss","Your outranking share is declining"],"toolCategories":["ppc","forecasting-roi"],"taxonomy":["ppc","forecasting-roi"],"text":"Your outranking share is declining Your outranking share is declining Review bids, quality, targeting, and auction scope where your outranking share declined.","passages":["Review bids, quality, targeting, and auction scope where your outranking share declined."],"popular":0,"url":"https://patrickstox.com/tools/auction-insights-trends/#finding-outranking-loss","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Auction Insights Trend Visualizer — A competitor’s top-of-page rate declined","desc":"Confirm the export scope, compare the competitor’s impression share and overlap, and do not treat this alone as evidence that your ad rank worsened.","snippetText":"Confirm the export scope, compare the competitor’s impression share and overlap, and do not treat this alone as evidence that your ad rank worsened.","href":"/tools/auction-insights-trends/#finding-top-rate-loss","parentHref":"/tools/auction-insights-trends/","findingId":"top-rate-loss","meta":"Free tool finding · info","aliases":["top rate loss","A competitor’s top-of-page rate declined"],"toolCategories":["ppc","forecasting-roi"],"taxonomy":["ppc","forecasting-roi"],"text":"A competitor’s top-of-page rate declined A competitor’s top-of-page rate declined Confirm the export scope, compare the competitor’s impression share and overlap, and do not treat this alone as evidence that your ad rank worsened.","passages":["Confirm the export scope, compare the competitor’s impression share and overlap, and do not treat this alone as evidence that your ad rank worsened."],"popular":0,"url":"https://patrickstox.com/tools/auction-insights-trends/#finding-top-rate-loss","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Auction Insights Trend Visualizer — Auction trend is highly volatile","desc":"Segment the period by campaign or market change and avoid treating the unstable series as one steady trend.","snippetText":"Segment the period by campaign or market change and avoid treating the unstable series as one steady trend.","href":"/tools/auction-insights-trends/#finding-volatile-trend","parentHref":"/tools/auction-insights-trends/","findingId":"volatile-trend","meta":"Free tool finding · info","aliases":["volatile trend","Auction trend is highly volatile"],"toolCategories":["ppc","forecasting-roi"],"taxonomy":["ppc","forecasting-roi"],"text":"Auction trend is highly volatile Auction trend is highly volatile Segment the period by campaign or market change and avoid treating the unstable series as one steady trend.","passages":["Segment the period by campaign or market change and avoid treating the unstable series as one steady trend."],"popular":0,"url":"https://patrickstox.com/tools/auction-insights-trends/#finding-volatile-trend","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Auction Insights Trend Visualizer — Imported Google Ads data shows budget pressure","desc":"Confirm the two reports use the same scope, then review campaign budgets and Search lost IS (budget) by date before changing bids or spend.","snippetText":"Confirm the two reports use the same scope, then review campaign budgets and Search lost IS (budget) by date before changing bids or spend.","href":"/tools/auction-insights-trends/#finding-budget-pressure","parentHref":"/tools/auction-insights-trends/","findingId":"budget-pressure","meta":"Free tool finding · warning","aliases":["budget pressure","Imported Google Ads data shows budget pressure"],"toolCategories":["ppc","forecasting-roi"],"taxonomy":["ppc","forecasting-roi"],"text":"Imported Google Ads data shows budget pressure Imported Google Ads data shows budget pressure Confirm the two reports use the same scope, then review campaign budgets and Search lost IS (budget) by date before changing bids or spend.","passages":["Confirm the two reports use the same scope, then review campaign budgets and Search lost IS (budget) by date before changing bids or spend."],"popular":0,"url":"https://patrickstox.com/tools/auction-insights-trends/#finding-budget-pressure","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Content Gap Analyzer","desc":"Cluster competitor keyword wins into page-level content opportunities.","snippetText":"Cluster competitor keyword wins into page-level content opportunities.","href":"/tools/content-gap-analyzer/","meta":"Free tool","aliases":[],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"content gap keywords competitor technical-seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/content-gap-analyzer/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Content Gap Analyzer — Competitor ranks for a topic your site does not","desc":"Create or expand a page that directly satisfies the missing search intent, using the competitor ranking only as evidence of demand—not as copy to imitate.","snippetText":"Create or expand a page that directly satisfies the missing search intent, using the competitor ranking only as evidence of demand—not as copy to imitate.","href":"/tools/content-gap-analyzer/#finding-missing-topic","parentHref":"/tools/content-gap-analyzer/","findingId":"missing-topic","meta":"Free tool finding · opportunity","aliases":["missing topic","Competitor ranks for a topic your site does not"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Competitor ranks for a topic your site does not Competitor ranks for a topic your site does not Create or expand a page that directly satisfies the missing search intent, using the competitor ranking only as evidence of demand—not as copy to imitate.","passages":["Create or expand a page that directly satisfies the missing search intent, using the competitor ranking only as evidence of demand—not as copy to imitate."],"popular":0,"url":"https://patrickstox.com/tools/content-gap-analyzer/#finding-missing-topic","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Content Gap Analyzer — Your ranking coverage is materially weaker","desc":"Strengthen the existing relevant page with the missing subtopics, original evidence, and internal links instead of creating a competing duplicate page.","snippetText":"Strengthen the existing relevant page with the missing subtopics, original evidence, and internal links instead of creating a competing duplicate page.","href":"/tools/content-gap-analyzer/#finding-weak-coverage","parentHref":"/tools/content-gap-analyzer/","findingId":"weak-coverage","meta":"Free tool finding · opportunity","aliases":["weak coverage","Your ranking coverage is materially weaker"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Your ranking coverage is materially weaker Your ranking coverage is materially weaker Strengthen the existing relevant page with the missing subtopics, original evidence, and internal links instead of creating a competing duplicate page.","passages":["Strengthen the existing relevant page with the missing subtopics, original evidence, and internal links instead of creating a competing duplicate page."],"popular":0,"url":"https://patrickstox.com/tools/content-gap-analyzer/#finding-weak-coverage","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Content Gap Analyzer — Multiple competitors rank where your site does not","desc":"Prioritize one intent-matched page for the gap, study what the ranking pages collectively satisfy, and add differentiated evidence or utility they lack.","snippetText":"Prioritize one intent-matched page for the gap, study what the ranking pages collectively satisfy, and add differentiated evidence or utility they lack.","href":"/tools/content-gap-analyzer/#finding-competitor-dominance","parentHref":"/tools/content-gap-analyzer/","findingId":"competitor-dominance","meta":"Free tool finding · high-opportunity","aliases":["competitor dominance","Multiple competitors rank where your site does not"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Multiple competitors rank where your site does not Multiple competitors rank where your site does not Prioritize one intent-matched page for the gap, study what the ranking pages collectively satisfy, and add differentiated evidence or utility they lack.","passages":["Prioritize one intent-matched page for the gap, study what the ranking pages collectively satisfy, and add differentiated evidence or utility they lack."],"popular":0,"url":"https://patrickstox.com/tools/content-gap-analyzer/#finding-competitor-dominance","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Content Gap Analyzer — Gap keywords cluster into the same intent","desc":"Map keywords in the same intent cluster to one primary page and merge or redirect overlapping pages that would compete with it.","snippetText":"Map keywords in the same intent cluster to one primary page and merge or redirect overlapping pages that would compete with it.","href":"/tools/content-gap-analyzer/#finding-duplicate-intent","parentHref":"/tools/content-gap-analyzer/","findingId":"duplicate-intent","meta":"Free tool finding · info","aliases":["duplicate intent","Gap keywords cluster into the same intent"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Gap keywords cluster into the same intent Gap keywords cluster into the same intent Map keywords in the same intent cluster to one primary page and merge or redirect overlapping pages that would compete with it.","passages":["Map keywords in the same intent cluster to one primary page and merge or redirect overlapping pages that would compete with it."],"popular":0,"url":"https://patrickstox.com/tools/content-gap-analyzer/#finding-duplicate-intent","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Google Search Console CSV Analyzer","desc":"Explore page-query pivots, template-like URL segments, topics, custom CTR curves, cannibalization, and opportunities from uploads or an optional read-only browser session.","snippetText":"Explore page-query pivots, template-like URL segments, topics, custom CTR curves, cannibalization, and opportunities from uploads or an optional read-only browser session.","href":"/tools/gsc-workbench/","meta":"Free tool","aliases":[],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"gsc cannibalization ctr","passages":[],"popular":0,"url":"https://patrickstox.com/tools/gsc-workbench/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Search Console CSV Analyzer — One query is split across multiple pages","desc":"Choose one primary URL for the query intent, consolidate overlapping content and internal signals, and redirect only when the secondary page has no distinct purpose.","snippetText":"Choose one primary URL for the query intent, consolidate overlapping content and internal signals, and redirect only when the secondary page has no distinct purpose.","href":"/tools/gsc-workbench/#finding-cannibalization","parentHref":"/tools/gsc-workbench/","findingId":"cannibalization","meta":"Free tool finding · warning","aliases":["cannibalization","One query is split across multiple pages"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"One query is split across multiple pages One query is split across multiple pages Choose one primary URL for the query intent, consolidate overlapping content and internal signals, and redirect only when the secondary page has no distinct purpose.","passages":["Choose one primary URL for the query intent, consolidate overlapping content and internal signals, and redirect only when the secondary page has no distinct purpose."],"popular":0,"url":"https://patrickstox.com/tools/gsc-workbench/#finding-cannibalization","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Search Console CSV Analyzer — Query ranks within striking distance","desc":"Improve the ranking page’s intent coverage, internal links, and snippet for the flagged query while preserving content already earning positions near page one.","snippetText":"Improve the ranking page’s intent coverage, internal links, and snippet for the flagged query while preserving content already earning positions near page one.","href":"/tools/gsc-workbench/#finding-striking-distance","parentHref":"/tools/gsc-workbench/","findingId":"striking-distance","meta":"Free tool finding · opportunity","aliases":["striking distance","Query ranks within striking distance"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Query ranks within striking distance Query ranks within striking distance Improve the ranking page’s intent coverage, internal links, and snippet for the flagged query while preserving content already earning positions near page one.","passages":["Improve the ranking page’s intent coverage, internal links, and snippet for the flagged query while preserving content already earning positions near page one."],"popular":0,"url":"https://patrickstox.com/tools/gsc-workbench/#finding-striking-distance","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Search Console CSV Analyzer — CTR underperforms the position benchmark","desc":"Compare the live SERP, then rewrite the title and description to better match the query and differentiate the result without making unsupported promises.","snippetText":"Compare the live SERP, then rewrite the title and description to better match the query and differentiate the result without making unsupported promises.","href":"/tools/gsc-workbench/#finding-low-ctr","parentHref":"/tools/gsc-workbench/","findingId":"low-ctr","meta":"Free tool finding · opportunity","aliases":["low ctr","CTR underperforms the position benchmark"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"CTR underperforms the position benchmark CTR underperforms the position benchmark Compare the live SERP, then rewrite the title and description to better match the query and differentiate the result without making unsupported promises.","passages":["Compare the live SERP, then rewrite the title and description to better match the query and differentiate the result without making unsupported promises."],"popular":0,"url":"https://patrickstox.com/tools/gsc-workbench/#finding-low-ctr","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Search Console CSV Analyzer — Query traffic is declining","desc":"Compare pages, devices, countries, and dates for the query to distinguish ranking loss from demand change, then fix the affected page or snippet signal.","snippetText":"Compare pages, devices, countries, and dates for the query to distinguish ranking loss from demand change, then fix the affected page or snippet signal.","href":"/tools/gsc-workbench/#finding-declining-query","parentHref":"/tools/gsc-workbench/","findingId":"declining-query","meta":"Free tool finding · warning","aliases":["declining query","Query traffic is declining"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Query traffic is declining Query traffic is declining Compare pages, devices, countries, and dates for the query to distinguish ranking loss from demand change, then fix the affected page or snippet signal.","passages":["Compare pages, devices, countries, and dates for the query to distinguish ranking loss from demand change, then fix the affected page or snippet signal."],"popular":0,"url":"https://patrickstox.com/tools/gsc-workbench/#finding-declining-query","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Google Search Console CSV Analyzer — Page traffic is declining","desc":"Segment the page’s losing queries and inspect indexing, content, links, SERP changes, and seasonality before updating the specific cause.","snippetText":"Segment the page’s losing queries and inspect indexing, content, links, SERP changes, and seasonality before updating the specific cause.","href":"/tools/gsc-workbench/#finding-declining-page","parentHref":"/tools/gsc-workbench/","findingId":"declining-page","meta":"Free tool finding · warning","aliases":["declining page","Page traffic is declining"],"toolCategories":["keywords-demand"],"taxonomy":["keywords-demand"],"text":"Page traffic is declining Page traffic is declining Segment the page’s losing queries and inspect indexing, content, links, SERP changes, and seasonality before updating the specific cause.","passages":["Segment the page’s losing queries and inspect indexing, content, links, SERP changes, and seasonality before updating the specific cause."],"popular":0,"url":"https://patrickstox.com/tools/gsc-workbench/#finding-declining-page","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Open Graph & Social Preview","desc":"Fetch a page as a real crawler or browser user-agent, preview its Open Graph and X cards across nine surfaces, verify the image, and edit copy-ready meta tags locally.","snippetText":"Fetch a page as a real crawler or browser user-agent, preview its Open Graph and X cards across nine surfaces, verify the image, and edit copy-ready meta tags locally.","href":"/tools/social-preview/","meta":"Free tool","aliases":[],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"open graph social preview og tags twitter cards social media","passages":[],"popular":0,"url":"https://patrickstox.com/tools/social-preview/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Open Graph & Social Preview — Social title is missing","desc":"Add an og:title and matching Twitter title that accurately identify the shared page.","snippetText":"Add an og:title and matching Twitter title that accurately identify the shared page.","href":"/tools/social-preview/#finding-title-missing","parentHref":"/tools/social-preview/","findingId":"title-missing","meta":"Free tool finding · fail","aliases":["title missing","Social title is missing"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Social title is missing Social title is missing Add an og:title and matching Twitter title that accurately identify the shared page.","passages":["Add an og:title and matching Twitter title that accurately identify the shared page."],"popular":0,"url":"https://patrickstox.com/tools/social-preview/#finding-title-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Open Graph & Social Preview — Social description is missing","desc":"Add a concise og:description and matching Twitter description that summarize the page.","snippetText":"Add a concise og:description and matching Twitter description that summarize the page.","href":"/tools/social-preview/#finding-description-missing","parentHref":"/tools/social-preview/","findingId":"description-missing","meta":"Free tool finding · warning","aliases":["description missing","Social description is missing"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Social description is missing Social description is missing Add a concise og:description and matching Twitter description that summarize the page.","passages":["Add a concise og:description and matching Twitter description that summarize the page."],"popular":0,"url":"https://patrickstox.com/tools/social-preview/#finding-description-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Open Graph & Social Preview — Social image is missing","desc":"Add an absolute HTTPS og:image and matching Twitter image with a publicly fetchable response.","snippetText":"Add an absolute HTTPS og:image and matching Twitter image with a publicly fetchable response.","href":"/tools/social-preview/#finding-image-missing","parentHref":"/tools/social-preview/","findingId":"image-missing","meta":"Free tool finding · fail","aliases":["image missing","Social image is missing"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Social image is missing Social image is missing Add an absolute HTTPS og:image and matching Twitter image with a publicly fetchable response.","passages":["Add an absolute HTTPS og:image and matching Twitter image with a publicly fetchable response."],"popular":0,"url":"https://patrickstox.com/tools/social-preview/#finding-image-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Open Graph & Social Preview — Social image ratio does not fit the platform","desc":"Crop the social image to about 1.91:1 at 1200 × 630 pixels, then refresh platform caches.","snippetText":"Crop the social image to about 1.91:1 at 1200 × 630 pixels, then refresh platform caches.","href":"/tools/social-preview/#finding-image-ratio","parentHref":"/tools/social-preview/","findingId":"image-ratio","meta":"Free tool finding · warning","aliases":["image ratio","Social image ratio does not fit the platform"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Social image ratio does not fit the platform Social image ratio does not fit the platform Crop the social image to about 1.91:1 at 1200 × 630 pixels, then refresh platform caches.","passages":["Crop the social image to about 1.91:1 at 1200 × 630 pixels, then refresh platform caches."],"popular":0,"url":"https://patrickstox.com/tools/social-preview/#finding-image-ratio","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Open Graph & Social Preview — Social title exceeds a platform limit","desc":"Shorten the social title while preserving its main subject until affected previews no longer truncate it.","snippetText":"Shorten the social title while preserving its main subject until affected previews no longer truncate it.","href":"/tools/social-preview/#finding-title-long","parentHref":"/tools/social-preview/","findingId":"title-long","meta":"Free tool finding · warning","aliases":["title long","Social title exceeds a platform limit"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Social title exceeds a platform limit Social title exceeds a platform limit Shorten the social title while preserving its main subject until affected previews no longer truncate it.","passages":["Shorten the social title while preserving its main subject until affected previews no longer truncate it."],"popular":0,"url":"https://patrickstox.com/tools/social-preview/#finding-title-long","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Open Graph & Social Preview — Social description exceeds a platform limit","desc":"Shorten the social description so its main message appears before each affected platform’s truncation point.","snippetText":"Shorten the social description so its main message appears before each affected platform’s truncation point.","href":"/tools/social-preview/#finding-description-long","parentHref":"/tools/social-preview/","findingId":"description-long","meta":"Free tool finding · info","aliases":["description long","Social description exceeds a platform limit"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Social description exceeds a platform limit Social description exceeds a platform limit Shorten the social description so its main message appears before each affected platform’s truncation point.","passages":["Shorten the social description so its main message appears before each affected platform’s truncation point."],"popular":0,"url":"https://patrickstox.com/tools/social-preview/#finding-description-long","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Open Graph & Social Preview — Twitter card type is missing","desc":"Add an appropriate twitter:card value and verify the resulting X card with the platform inspector.","snippetText":"Add an appropriate twitter:card value and verify the resulting X card with the platform inspector.","href":"/tools/social-preview/#finding-twitter-card-missing","parentHref":"/tools/social-preview/","findingId":"twitter-card-missing","meta":"Free tool finding · info","aliases":["twitter card missing","Twitter card type is missing"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Twitter card type is missing Twitter card type is missing Add an appropriate twitter:card value and verify the resulting X card with the platform inspector.","passages":["Add an appropriate twitter:card value and verify the resulting X card with the platform inspector."],"popular":0,"url":"https://patrickstox.com/tools/social-preview/#finding-twitter-card-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Open Graph & Social Preview — Platform preview uses generic metadata fallback","desc":"Add platform-specific Open Graph or Twitter metadata when the generic HTML title or description produces the wrong share card.","snippetText":"Add platform-specific Open Graph or Twitter metadata when the generic HTML title or description produces the wrong share card.","href":"/tools/social-preview/#finding-platform-fallback","parentHref":"/tools/social-preview/","findingId":"platform-fallback","meta":"Free tool finding · info","aliases":["platform fallback","Platform preview uses generic metadata fallback"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Platform preview uses generic metadata fallback Platform preview uses generic metadata fallback Add platform-specific Open Graph or Twitter metadata when the generic HTML title or description produces the wrong share card.","passages":["Add platform-specific Open Graph or Twitter metadata when the generic HTML title or description produces the wrong share card."],"popular":0,"url":"https://patrickstox.com/tools/social-preview/#finding-platform-fallback","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Favicon Checker","desc":"Inspect favicon, Apple touch icon, mask icon, manifest, and Microsoft tile declarations, with coverage gaps and surface previews.","snippetText":"Inspect favicon, Apple touch icon, mask icon, manifest, and Microsoft tile declarations, with coverage gaps and surface previews.","href":"/tools/favicon-checker/","meta":"Free tool","aliases":[],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"favicon apple touch icon web manifest technical seo serp","passages":[],"popular":0,"url":"https://patrickstox.com/tools/favicon-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Favicon Checker — No favicon declaration is found","desc":"Publish a valid favicon and declare it with a reachable link rel=icon URL in the document head.","snippetText":"Publish a valid favicon and declare it with a reachable link rel=icon URL in the document head.","href":"/tools/favicon-checker/#finding-favicon-missing","parentHref":"/tools/favicon-checker/","findingId":"favicon-missing","meta":"Free tool finding · fail","aliases":["favicon missing","No favicon declaration is found"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"No favicon declaration is found No favicon declaration is found Publish a valid favicon and declare it with a reachable link rel=icon URL in the document head.","passages":["Publish a valid favicon and declare it with a reachable link rel=icon URL in the document head."],"popular":0,"url":"https://patrickstox.com/tools/favicon-checker/#finding-favicon-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Favicon Checker — SVG favicon is missing","desc":"Add an SVG rel=icon declaration for scalable modern-browser coverage while retaining a raster fallback.","snippetText":"Add an SVG rel=icon declaration for scalable modern-browser coverage while retaining a raster fallback.","href":"/tools/favicon-checker/#finding-svg-missing","parentHref":"/tools/favicon-checker/","findingId":"svg-missing","meta":"Free tool finding · info","aliases":["svg missing","SVG favicon is missing"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"SVG favicon is missing SVG favicon is missing Add an SVG rel=icon declaration for scalable modern-browser coverage while retaining a raster fallback.","passages":["Add an SVG rel=icon declaration for scalable modern-browser coverage while retaining a raster fallback."],"popular":0,"url":"https://patrickstox.com/tools/favicon-checker/#finding-svg-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Favicon Checker — Apple touch icon is missing","desc":"Publish a 180×180 Apple touch icon and declare it with link rel=apple-touch-icon.","snippetText":"Publish a 180×180 Apple touch icon and declare it with link rel=apple-touch-icon.","href":"/tools/favicon-checker/#finding-apple-touch-missing","parentHref":"/tools/favicon-checker/","findingId":"apple-touch-missing","meta":"Free tool finding · warning","aliases":["apple touch missing","Apple touch icon is missing"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Apple touch icon is missing Apple touch icon is missing Publish a 180×180 Apple touch icon and declare it with link rel=apple-touch-icon.","passages":["Publish a 180×180 Apple touch icon and declare it with link rel=apple-touch-icon."],"popular":0,"url":"https://patrickstox.com/tools/favicon-checker/#finding-apple-touch-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Favicon Checker — Web app manifest is missing","desc":"Publish a web app manifest with valid icon entries and link it from the document head when installable-app coverage is intended.","snippetText":"Publish a web app manifest with valid icon entries and link it from the document head when installable-app coverage is intended.","href":"/tools/favicon-checker/#finding-manifest-missing","parentHref":"/tools/favicon-checker/","findingId":"manifest-missing","meta":"Free tool finding · info","aliases":["manifest missing","Web app manifest is missing"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Web app manifest is missing Web app manifest is missing Publish a web app manifest with valid icon entries and link it from the document head when installable-app coverage is intended.","passages":["Publish a web app manifest with valid icon entries and link it from the document head when installable-app coverage is intended."],"popular":0,"url":"https://patrickstox.com/tools/favicon-checker/#finding-manifest-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Favicon Checker — Favicon URL is invalid","desc":"Replace the malformed icon reference with a valid absolute or document-relative URL that resolves from the page.","snippetText":"Replace the malformed icon reference with a valid absolute or document-relative URL that resolves from the page.","href":"/tools/favicon-checker/#finding-icon-url-invalid","parentHref":"/tools/favicon-checker/","findingId":"icon-url-invalid","meta":"Free tool finding · fail","aliases":["icon url invalid","Favicon URL is invalid"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Favicon URL is invalid Favicon URL is invalid Replace the malformed icon reference with a valid absolute or document-relative URL that resolves from the page.","passages":["Replace the malformed icon reference with a valid absolute or document-relative URL that resolves from the page."],"popular":0,"url":"https://patrickstox.com/tools/favicon-checker/#finding-icon-url-invalid","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Favicon Checker — Declared favicon does not load","desc":"Restore the declared icon URL so it returns an image successfully, or replace the declaration with a reachable asset.","snippetText":"Restore the declared icon URL so it returns an image successfully, or replace the declaration with a reachable asset.","href":"/tools/favicon-checker/#finding-icon-unreachable","parentHref":"/tools/favicon-checker/","findingId":"icon-unreachable","meta":"Free tool finding · fail","aliases":["icon unreachable","Declared favicon does not load"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Declared favicon does not load Declared favicon does not load Restore the declared icon URL so it returns an image successfully, or replace the declaration with a reachable asset.","passages":["Restore the declared icon URL so it returns an image successfully, or replace the declaration with a reachable asset."],"popular":0,"url":"https://patrickstox.com/tools/favicon-checker/#finding-icon-unreachable","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Favicon Checker — Declared icon sizes leave a coverage gap","desc":"Add raster icons for the missing declared sizes, including a 32×32 browser icon and 180×180 touch icon where applicable.","snippetText":"Add raster icons for the missing declared sizes, including a 32×32 browser icon and 180×180 touch icon where applicable.","href":"/tools/favicon-checker/#finding-size-gap","parentHref":"/tools/favicon-checker/","findingId":"size-gap","meta":"Free tool finding · warning","aliases":["size gap","Declared icon sizes leave a coverage gap"],"toolCategories":["serp-snippets"],"taxonomy":["serp-snippets"],"text":"Declared icon sizes leave a coverage gap Declared icon sizes leave a coverage gap Add raster icons for the missing declared sizes, including a 32×32 browser icon and 180×180 touch icon where applicable.","passages":["Add raster icons for the missing declared sizes, including a 32×32 browser icon and 180×180 touch icon where applicable."],"popular":0,"url":"https://patrickstox.com/tools/favicon-checker/#finding-size-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"XML Sitemap Generator","desc":"Generate an XML sitemap from a capped, robots-respecting same-site crawl. Noindex, off-canonical, failed, and uncertain URLs remain visibly separate; lastmod dates are emitted only when the page provides evidence.","snippetText":"Generate an XML sitemap from a capped, robots-respecting same-site crawl. Noindex, off-canonical, failed, and uncertain URLs remain visibly separate; lastmod dates are emitted only when the page provides evidence.","href":"/tools/xml-sitemap-generator/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"xml sitemap sitemap generator crawling indexing technical seo","passages":[],"popular":5,"url":"https://patrickstox.com/tools/xml-sitemap-generator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Generator — Noindex page is excluded from the sitemap","desc":"Remove noindex if the page should be indexed; otherwise keep it excluded from the sitemap.","snippetText":"Remove noindex if the page should be indexed; otherwise keep it excluded from the sitemap.","href":"/tools/xml-sitemap-generator/#finding-noindex-excluded","parentHref":"/tools/xml-sitemap-generator/","findingId":"noindex-excluded","meta":"Free tool finding · warning","aliases":["noindex excluded","Noindex page is excluded from the sitemap"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Noindex page is excluded from the sitemap Noindex page is excluded from the sitemap Remove noindex if the page should be indexed; otherwise keep it excluded from the sitemap. rule:sitemap.xml-validity","passages":["Remove noindex if the page should be indexed; otherwise keep it excluded from the sitemap."],"popular":0,"url":"https://patrickstox.com/tools/xml-sitemap-generator/#finding-noindex-excluded","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Generator — Non-200 page is excluded from the sitemap","desc":"Restore a direct 200 response for the canonical page or leave the non-200 URL out of the sitemap.","snippetText":"Restore a direct 200 response for the canonical page or leave the non-200 URL out of the sitemap.","href":"/tools/xml-sitemap-generator/#finding-non-200-excluded","parentHref":"/tools/xml-sitemap-generator/","findingId":"non-200-excluded","meta":"Free tool finding · warning","aliases":["non 200 excluded","Non-200 page is excluded from the sitemap"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Non-200 page is excluded from the sitemap Non-200 page is excluded from the sitemap Restore a direct 200 response for the canonical page or leave the non-200 URL out of the sitemap. rule:sitemap.xml-validity","passages":["Restore a direct 200 response for the canonical page or leave the non-200 URL out of the sitemap."],"popular":0,"url":"https://patrickstox.com/tools/xml-sitemap-generator/#finding-non-200-excluded","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Generator — Page canonicalized elsewhere is excluded","desc":"Include only the canonical destination and keep the URL canonicalized elsewhere out of the sitemap.","snippetText":"Include only the canonical destination and keep the URL canonicalized elsewhere out of the sitemap.","href":"/tools/xml-sitemap-generator/#finding-canonical-other-excluded","parentHref":"/tools/xml-sitemap-generator/","findingId":"canonical-other-excluded","meta":"Free tool finding · warning","aliases":["canonical other excluded","Page canonicalized elsewhere is excluded"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Page canonicalized elsewhere is excluded Page canonicalized elsewhere is excluded Include only the canonical destination and keep the URL canonicalized elsewhere out of the sitemap. rule:sitemap.xml-validity","passages":["Include only the canonical destination and keep the URL canonicalized elsewhere out of the sitemap."],"popular":0,"url":"https://patrickstox.com/tools/xml-sitemap-generator/#finding-canonical-other-excluded","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Generator — Duplicate URL is removed","desc":"Keep one normalized canonical URL entry and remove duplicate spellings or parameter variants.","snippetText":"Keep one normalized canonical URL entry and remove duplicate spellings or parameter variants.","href":"/tools/xml-sitemap-generator/#finding-duplicate-url","parentHref":"/tools/xml-sitemap-generator/","findingId":"duplicate-url","meta":"Free tool finding · info","aliases":["duplicate url","Duplicate URL is removed"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Duplicate URL is removed Duplicate URL is removed Keep one normalized canonical URL entry and remove duplicate spellings or parameter variants. rule:sitemap.xml-validity","passages":["Keep one normalized canonical URL entry and remove duplicate spellings or parameter variants."],"popular":0,"url":"https://patrickstox.com/tools/xml-sitemap-generator/#finding-duplicate-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Generator — Invalid URL is excluded","desc":"Correct the malformed absolute URL before adding it to the sitemap.","snippetText":"Correct the malformed absolute URL before adding it to the sitemap.","href":"/tools/xml-sitemap-generator/#finding-invalid-url","parentHref":"/tools/xml-sitemap-generator/","findingId":"invalid-url","meta":"Free tool finding · warning","aliases":["invalid url","Invalid URL is excluded"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Invalid URL is excluded Invalid URL is excluded Correct the malformed absolute URL before adding it to the sitemap. rule:sitemap.xml-validity","passages":["Correct the malformed absolute URL before adding it to the sitemap."],"popular":0,"url":"https://patrickstox.com/tools/xml-sitemap-generator/#finding-invalid-url","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"XML Sitemap Generator — Cross-host URL is excluded","desc":"Generate a separate sitemap for the other verified host and keep this sitemap host-specific.","snippetText":"Generate a separate sitemap for the other verified host and keep this sitemap host-specific.","href":"/tools/xml-sitemap-generator/#finding-cross-host","parentHref":"/tools/xml-sitemap-generator/","findingId":"cross-host","meta":"Free tool finding · warning","aliases":["cross host","Cross-host URL is excluded"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Cross-host URL is excluded Cross-host URL is excluded Generate a separate sitemap for the other verified host and keep this sitemap host-specific. rule:sitemap.xml-validity","passages":["Generate a separate sitemap for the other verified host and keep this sitemap host-specific."],"popular":0,"url":"https://patrickstox.com/tools/xml-sitemap-generator/#finding-cross-host","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Wayback Change History","desc":"Load cached archive snapshots and compare text changes over time.","snippetText":"Load cached archive snapshots and compare text changes over time.","href":"/tools/wayback-change-history/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"wayback archive history technical-seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/wayback-change-history/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Wayback Change History — Archived text changed materially","desc":"Compare the archived wording with the intended release, then restore omitted copy or document the approved content change.","snippetText":"Compare the archived wording with the intended release, then restore omitted copy or document the approved content change.","href":"/tools/wayback-change-history/#finding-text-change","parentHref":"/tools/wayback-change-history/","findingId":"text-change","meta":"Free tool finding · info","aliases":["text change","Archived text changed materially"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Archived text changed materially Archived text changed materially Compare the archived wording with the intended release, then restore omitted copy or document the approved content change.","passages":["Compare the archived wording with the intended release, then restore omitted copy or document the approved content change."],"popular":0,"url":"https://patrickstox.com/tools/wayback-change-history/#finding-text-change","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Wayback Change History — Material content was removed","desc":"Confirm the removal was intentional; otherwise restore the missing production copy and verify it on the live page.","snippetText":"Confirm the removal was intentional; otherwise restore the missing production copy and verify it on the live page.","href":"/tools/wayback-change-history/#finding-content-removed","parentHref":"/tools/wayback-change-history/","findingId":"content-removed","meta":"Free tool finding · warning","aliases":["content removed","Material content was removed"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Material content was removed Material content was removed Confirm the removal was intentional; otherwise restore the missing production copy and verify it on the live page.","passages":["Confirm the removal was intentional; otherwise restore the missing production copy and verify it on the live page."],"popular":0,"url":"https://patrickstox.com/tools/wayback-change-history/#finding-content-removed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Wayback Change History — Archived page title changed","desc":"Confirm whether the archived title change was intentional and restore the preferred title if it was not.","snippetText":"Confirm whether the archived title change was intentional and restore the preferred title if it was not.","href":"/tools/wayback-change-history/#finding-title-change","parentHref":"/tools/wayback-change-history/","findingId":"title-change","meta":"Free tool finding · warning","aliases":["title change","Archived page title changed"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Archived page title changed Archived page title changed Confirm whether the archived title change was intentional and restore the preferred title if it was not.","passages":["Confirm whether the archived title change was intentional and restore the preferred title if it was not."],"popular":0,"url":"https://patrickstox.com/tools/wayback-change-history/#finding-title-change","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Wayback Change History — Archived canonical changed","desc":"Align the live canonical with the intended preferred URL and verify redirects, links, and sitemap entries agree.","snippetText":"Align the live canonical with the intended preferred URL and verify redirects, links, and sitemap entries agree.","href":"/tools/wayback-change-history/#finding-canonical-change","parentHref":"/tools/wayback-change-history/","findingId":"canonical-change","meta":"Free tool finding · warning","aliases":["canonical change","Archived canonical changed"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Archived canonical changed Archived canonical changed Align the live canonical with the intended preferred URL and verify redirects, links, and sitemap entries agree.","passages":["Align the live canonical with the intended preferred URL and verify redirects, links, and sitemap entries agree."],"popular":0,"url":"https://patrickstox.com/tools/wayback-change-history/#finding-canonical-change","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Wayback Change History — Archived HTTP status changed","desc":"Confirm the current URL returns the intended status and repair accidental redirects or error responses.","snippetText":"Confirm the current URL returns the intended status and repair accidental redirects or error responses.","href":"/tools/wayback-change-history/#finding-status-change","parentHref":"/tools/wayback-change-history/","findingId":"status-change","meta":"Free tool finding · warning","aliases":["status change","Archived HTTP status changed"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Archived HTTP status changed Archived HTTP status changed Confirm the current URL returns the intended status and repair accidental redirects or error responses.","passages":["Confirm the current URL returns the intended status and repair accidental redirects or error responses."],"popular":0,"url":"https://patrickstox.com/tools/wayback-change-history/#finding-status-change","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Wayback Change History — Archive history contains a long capture gap","desc":"Use other dated evidence for the uncovered interval; the archive cannot prove what appeared between captures.","snippetText":"Use other dated evidence for the uncovered interval; the archive cannot prove what appeared between captures.","href":"/tools/wayback-change-history/#finding-capture-gap","parentHref":"/tools/wayback-change-history/","findingId":"capture-gap","meta":"Free tool finding · info","aliases":["capture gap","Archive history contains a long capture gap"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Archive history contains a long capture gap Archive history contains a long capture gap Use other dated evidence for the uncovered interval; the archive cannot prove what appeared between captures.","passages":["Use other dated evidence for the uncovered interval; the archive cannot prove what appeared between captures."],"popular":0,"url":"https://patrickstox.com/tools/wayback-change-history/#finding-capture-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Historical Page Comparison","desc":"Compare one bounded Common Crawl capture with the current page’s metadata, canonicals, robots directives, structured-data types, word count, and extracted-text changes; source HTTP statuses remain separate observations.","snippetText":"Compare one bounded Common Crawl capture with the current page’s metadata, canonicals, robots directives, structured-data types, word count, and extracted-text changes; source HTTP statuses remain separate observations.","href":"/tools/historical-page-comparison/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"common crawl archive page history content changes technical seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/historical-page-comparison/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"HAR Analyzer","desc":"Analyze a HAR locally for failures, redirects, transfer weight, timings, cache evidence, third parties, and tag requests without uploading the capture.","snippetText":"Analyze a HAR locally for failures, redirects, transfer weight, timings, cache evidence, third parties, and tag requests without uploading the capture.","href":"/tools/har-analyzer/","meta":"Free tool","aliases":["accepts json","produces json","produces csv","produces report","generic http html"],"toolCategories":["performance","site-health"],"taxonomy":["performance","site-health"],"text":"har network performance cache analytics tags privacy accepts json produces json produces csv produces report generic http html","passages":["accepts json","produces json","produces csv","produces report","generic http html"],"popular":0,"url":"https://patrickstox.com/tools/har-analyzer/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HAR Analyzer — One or more requests failed","desc":"Reproduce each intended failed request, then repair its URL, availability, or server response so the required resource returns an appropriate success status.","snippetText":"Reproduce each intended failed request, then repair its URL, availability, or server response so the required resource returns an appropriate success status.","href":"/tools/har-analyzer/#finding-failed-request","parentHref":"/tools/har-analyzer/","findingId":"failed-request","meta":"Free tool finding · fail","aliases":["failed request","One or more requests failed"],"toolCategories":["performance","site-health"],"taxonomy":["performance","site-health"],"text":"One or more requests failed One or more requests failed Reproduce each intended failed request, then repair its URL, availability, or server response so the required resource returns an appropriate success status. article:chrome-devtools-performance","passages":["Reproduce each intended failed request, then repair its URL, availability, or server response so the required resource returns an appropriate success status."],"popular":0,"url":"https://patrickstox.com/tools/har-analyzer/#finding-failed-request","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HAR Analyzer — One or more requests returned a redirect","desc":"For unnecessary redirects, update the initiating page or request to use the final URL directly; preserve redirects that are intentional and correctly targeted.","snippetText":"For unnecessary redirects, update the initiating page or request to use the final URL directly; preserve redirects that are intentional and correctly targeted.","href":"/tools/har-analyzer/#finding-redirect-response","parentHref":"/tools/har-analyzer/","findingId":"redirect-response","meta":"Free tool finding · warning","aliases":["redirect response","One or more requests returned a redirect"],"toolCategories":["performance","site-health"],"taxonomy":["performance","site-health"],"text":"One or more requests returned a redirect One or more requests returned a redirect For unnecessary redirects, update the initiating page or request to use the final URL directly; preserve redirects that are intentional and correctly targeted. article:redirects","passages":["For unnecessary redirects, update the initiating page or request to use the final URL directly; preserve redirects that are intentional and correctly targeted."],"popular":0,"url":"https://patrickstox.com/tools/har-analyzer/#finding-redirect-response","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"HAR Analyzer — One or more responses contain explicit cache-miss evidence","desc":"Confirm each miss is expected for private or uncacheable content; otherwise correct the response or edge-cache policy and verify a later request records a hit.","snippetText":"Confirm each miss is expected for private or uncacheable content; otherwise correct the response or edge-cache policy and verify a later request records a hit.","href":"/tools/har-analyzer/#finding-explicit-cache-miss","parentHref":"/tools/har-analyzer/","findingId":"explicit-cache-miss","meta":"Free tool finding · info","aliases":["explicit cache miss","One or more responses contain explicit cache-miss evidence"],"toolCategories":["performance","site-health"],"taxonomy":["performance","site-health"],"text":"One or more responses contain explicit cache-miss evidence One or more responses contain explicit cache-miss evidence Confirm each miss is expected for private or uncacheable content; otherwise correct the response or edge-cache policy and verify a later request records a hit. article:caching","passages":["Confirm each miss is expected for private or uncacheable content; otherwise correct the response or edge-cache policy and verify a later request records a hit."],"popular":0,"url":"https://patrickstox.com/tools/har-analyzer/#finding-explicit-cache-miss","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Heading Structure Checker","desc":"Paste HTML or fetch a public page to visualize its heading hierarchy, catch skipped levels and empty headings, compare its H1 with the title, and preview a table of contents.","snippetText":"Paste HTML or fetch a public page to visualize its heading hierarchy, catch skipped levels and empty headings, compare its H1 with the title, and preview a table of contents.","href":"/tools/heading-structure-checker/","meta":"Free tool","aliases":[],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"html-seo technical-seo on-page","passages":[],"popular":0,"url":"https://patrickstox.com/tools/heading-structure-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Heading Structure Checker — H1 heading is missing","desc":"Add one descriptive H1 that states the page’s primary topic.","snippetText":"Add one descriptive H1 that states the page’s primary topic.","href":"/tools/heading-structure-checker/#finding-headings-missing-h1","parentHref":"/tools/heading-structure-checker/","findingId":"headings/missing-h1","meta":"Free tool finding · warn","aliases":["headings/missing h1","H1 heading is missing"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"H1 heading is missing H1 heading is missing Add one descriptive H1 that states the page’s primary topic.","passages":["Add one descriptive H1 that states the page’s primary topic."],"popular":0,"url":"https://patrickstox.com/tools/heading-structure-checker/#finding-headings-missing-h1","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Heading Structure Checker — Multiple H1 headings are present","desc":"Keep one primary H1 and change subordinate section titles to the appropriate lower heading levels.","snippetText":"Keep one primary H1 and change subordinate section titles to the appropriate lower heading levels.","href":"/tools/heading-structure-checker/#finding-headings-multiple-h1","parentHref":"/tools/heading-structure-checker/","findingId":"headings/multiple-h1","meta":"Free tool finding · info","aliases":["headings/multiple h1","Multiple H1 headings are present"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"Multiple H1 headings are present Multiple H1 headings are present Keep one primary H1 and change subordinate section titles to the appropriate lower heading levels.","passages":["Keep one primary H1 and change subordinate section titles to the appropriate lower heading levels."],"popular":0,"url":"https://patrickstox.com/tools/heading-structure-checker/#finding-headings-multiple-h1","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Heading Structure Checker — Heading outline skips a level","desc":"Change headings to a sequential hierarchy without jumping from H1 to H3 or similar gaps.","snippetText":"Change headings to a sequential hierarchy without jumping from H1 to H3 or similar gaps.","href":"/tools/heading-structure-checker/#finding-headings-skipped-level","parentHref":"/tools/heading-structure-checker/","findingId":"headings/skipped-level","meta":"Free tool finding · warn","aliases":["headings/skipped level","Heading outline skips a level"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"Heading outline skips a level Heading outline skips a level Change headings to a sequential hierarchy without jumping from H1 to H3 or similar gaps.","passages":["Change headings to a sequential hierarchy without jumping from H1 to H3 or similar gaps."],"popular":0,"url":"https://patrickstox.com/tools/heading-structure-checker/#finding-headings-skipped-level","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Heading Structure Checker — H1 and title have almost no topic overlap","desc":"Rewrite the H1 to cover the same primary topic as the title while describing the on-page content naturally.","snippetText":"Rewrite the H1 to cover the same primary topic as the title while describing the on-page content naturally.","href":"/tools/heading-structure-checker/#finding-headings-h1-equals-title","parentHref":"/tools/heading-structure-checker/","findingId":"headings/h1-equals-title","meta":"Free tool finding · warn","aliases":["headings/h1 equals title","H1 and title have almost no topic overlap"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"H1 and title have almost no topic overlap H1 and title have almost no topic overlap Rewrite the H1 to cover the same primary topic as the title while describing the on-page content naturally.","passages":["Rewrite the H1 to cover the same primary topic as the title while describing the on-page content naturally."],"popular":0,"url":"https://patrickstox.com/tools/heading-structure-checker/#finding-headings-h1-equals-title","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Heading Structure Checker — Empty heading is present","desc":"Add descriptive text to the heading or remove the empty heading element.","snippetText":"Add descriptive text to the heading or remove the empty heading element.","href":"/tools/heading-structure-checker/#finding-headings-empty-heading","parentHref":"/tools/heading-structure-checker/","findingId":"headings/empty-heading","meta":"Free tool finding · warn","aliases":["headings/empty heading","Empty heading is present"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"Empty heading is present Empty heading is present Add descriptive text to the heading or remove the empty heading element.","passages":["Add descriptive text to the heading or remove the empty heading element."],"popular":0,"url":"https://patrickstox.com/tools/heading-structure-checker/#finding-headings-empty-heading","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Heading Structure Checker — No question-style headings are present","desc":"Use question-style headings for genuine user questions where direct-answer sections would be useful.","snippetText":"Use question-style headings for genuine user questions where direct-answer sections would be useful.","href":"/tools/heading-structure-checker/#finding-headings-question-headings","parentHref":"/tools/heading-structure-checker/","findingId":"headings/question-headings","meta":"Free tool finding · info","aliases":["headings/question headings","No question-style headings are present"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"No question-style headings are present No question-style headings are present Use question-style headings for genuine user questions where direct-answer sections would be useful.","passages":["Use question-style headings for genuine user questions where direct-answer sections would be useful."],"popular":0,"url":"https://patrickstox.com/tools/heading-structure-checker/#finding-headings-question-headings","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Heading Structure Checker — Heading fragment links are missing, unstable, duplicate, or broken","desc":"Give headings unique stable IDs and update fragment links so each points to an existing heading.","snippetText":"Give headings unique stable IDs and update fragment links so each points to an existing heading.","href":"/tools/heading-structure-checker/#finding-headings-fragment-readiness","parentHref":"/tools/heading-structure-checker/","findingId":"headings/fragment-readiness","meta":"Free tool finding · warn","aliases":["headings/fragment readiness","Heading fragment links are missing, unstable, duplicate, or broken"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"Heading fragment links are missing, unstable, duplicate, or broken Heading fragment links are missing, unstable, duplicate, or broken Give headings unique stable IDs and update fragment links so each points to an existing heading.","passages":["Give headings unique stable IDs and update fragment links so each points to an existing heading."],"popular":0,"url":"https://patrickstox.com/tools/heading-structure-checker/#finding-headings-fragment-readiness","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Link Analyzer","desc":"Inspect a page’s links and linked resources with source locations, calibrated anchor-text findings, and optional batched HTTP status checks.","snippetText":"Inspect a page’s links and linked resources with source locations, calibrated anchor-text findings, and optional batched HTTP status checks.","href":"/tools/link-analyzer/","meta":"Free tool","aliases":[],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"html-seo technical-seo on-page","passages":[],"popular":0,"url":"https://patrickstox.com/tools/link-analyzer/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Link Analyzer — Link is empty or non-navigational","desc":"Add visible text or an accessible name that describes the destination; remove the element if it is not meant to navigate.","snippetText":"Add visible text or an accessible name that describes the destination; remove the element if it is not meant to navigate.","href":"/tools/link-analyzer/#finding-empty-anchor","parentHref":"/tools/link-analyzer/","findingId":"empty-anchor","meta":"Free tool finding · warn","aliases":["empty anchor","Link is empty or non-navigational"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Link is empty or non-navigational Link is empty or non-navigational Add visible text or an accessible name that describes the destination; remove the element if it is not meant to navigate.","passages":["Add visible text or an accessible name that describes the destination; remove the element if it is not meant to navigate."],"popular":0,"url":"https://patrickstox.com/tools/link-analyzer/#finding-empty-anchor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Link Analyzer — Link uses generic anchor text","desc":"Replace generic text such as “click here” with concise wording that identifies the destination or action in context.","snippetText":"Replace generic text such as “click here” with concise wording that identifies the destination or action in context.","href":"/tools/link-analyzer/#finding-generic-anchor","parentHref":"/tools/link-analyzer/","findingId":"generic-anchor","meta":"Free tool finding · info","aliases":["generic anchor","Link uses generic anchor text"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Link uses generic anchor text Link uses generic anchor text Replace generic text such as “click here” with concise wording that identifies the destination or action in context.","passages":["Replace generic text such as “click here” with concise wording that identifies the destination or action in context."],"popular":0,"url":"https://patrickstox.com/tools/link-analyzer/#finding-generic-anchor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Link Analyzer — Same anchor label points to different targets","desc":"Use distinct anchor wording when identical labels lead to different destinations, or consolidate the links when they serve the same intent.","snippetText":"Use distinct anchor wording when identical labels lead to different destinations, or consolidate the links when they serve the same intent.","href":"/tools/link-analyzer/#finding-duplicate-anchor-target","parentHref":"/tools/link-analyzer/","findingId":"duplicate-anchor-target","meta":"Free tool finding · warn","aliases":["duplicate anchor target","Same anchor label points to different targets"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Same anchor label points to different targets Same anchor label points to different targets Use distinct anchor wording when identical labels lead to different destinations, or consolidate the links when they serve the same intent.","passages":["Use distinct anchor wording when identical labels lead to different destinations, or consolidate the links when they serve the same intent."],"popular":0,"url":"https://patrickstox.com/tools/link-analyzer/#finding-duplicate-anchor-target","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Link Analyzer — Internal link uses nofollow","desc":"Remove rel=\"nofollow\" from ordinary internal navigation unless there is a documented reason not to endorse or crawl that destination.","snippetText":"Remove rel=\"nofollow\" from ordinary internal navigation unless there is a documented reason not to endorse or crawl that destination.","href":"/tools/link-analyzer/#finding-nofollow-internal","parentHref":"/tools/link-analyzer/","findingId":"nofollow-internal","meta":"Free tool finding · info","aliases":["nofollow internal","Internal link uses nofollow"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Internal link uses nofollow Internal link uses nofollow Remove rel=\"nofollow\" from ordinary internal navigation unless there is a documented reason not to endorse or crawl that destination.","passages":["Remove rel=\"nofollow\" from ordinary internal navigation unless there is a documented reason not to endorse or crawl that destination."],"popular":0,"url":"https://patrickstox.com/tools/link-analyzer/#finding-nofollow-internal","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Link Analyzer — Internal link target is broken","desc":"Correct the href to the live internal URL or restore the missing destination, then update other links that use the same broken target.","snippetText":"Correct the href to the live internal URL or restore the missing destination, then update other links that use the same broken target.","href":"/tools/link-analyzer/#finding-broken-internal","parentHref":"/tools/link-analyzer/","findingId":"broken-internal","meta":"Free tool finding · fail","aliases":["broken internal","Internal link target is broken"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Internal link target is broken Internal link target is broken Correct the href to the live internal URL or restore the missing destination, then update other links that use the same broken target.","passages":["Correct the href to the live internal URL or restore the missing destination, then update other links that use the same broken target."],"popular":0,"url":"https://patrickstox.com/tools/link-analyzer/#finding-broken-internal","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Link Analyzer — Internal link target redirects","desc":"Update the internal link href to the final 200 URL so crawlers and users skip the redirect hop.","snippetText":"Update the internal link href to the final 200 URL so crawlers and users skip the redirect hop.","href":"/tools/link-analyzer/#finding-redirected-internal","parentHref":"/tools/link-analyzer/","findingId":"redirected-internal","meta":"Free tool finding · warning","aliases":["redirected internal","Internal link target redirects"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Internal link target redirects Internal link target redirects Update the internal link href to the final 200 URL so crawlers and users skip the redirect hop.","passages":["Update the internal link href to the final 200 URL so crawlers and users skip the redirect hop."],"popular":0,"url":"https://patrickstox.com/tools/link-analyzer/#finding-redirected-internal","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Image SEO Checker","desc":"Audit raw HTML image signals: alt attributes, lazy-loading hints, fetch priority, source formats, and ImageObject markup.","snippetText":"Audit raw HTML image signals: alt attributes, lazy-loading hints, fetch priority, source formats, and ImageObject markup.","href":"/tools/image-seo-checker/","meta":"Free tool","aliases":[],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"html-seo technical-seo on-page","passages":[],"popular":0,"url":"https://patrickstox.com/tools/image-seo-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Image SEO Checker — Image lacks an alt attribute","desc":"Add concise alt text that communicates each meaningful image’s purpose, and use empty alt attributes for decorative images.","snippetText":"Add concise alt text that communicates each meaningful image’s purpose, and use empty alt attributes for decorative images.","href":"/tools/image-seo-checker/#finding-images-alt-coverage","parentHref":"/tools/image-seo-checker/","findingId":"images/alt-coverage","meta":"Free tool finding · warn","aliases":["images/alt coverage","Image lacks an alt attribute"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"Image lacks an alt attribute Image lacks an alt attribute Add concise alt text that communicates each meaningful image’s purpose, and use empty alt attributes for decorative images.","passages":["Add concise alt text that communicates each meaningful image’s purpose, and use empty alt attributes for decorative images."],"popular":0,"url":"https://patrickstox.com/tools/image-seo-checker/#finding-images-alt-coverage","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Image SEO Checker — First image is lazy-loaded and may be LCP","desc":"Confirm the actual LCP element first, then remove lazy loading from the above-the-fold LCP image if this image is responsible.","snippetText":"Confirm the actual LCP element first, then remove lazy loading from the above-the-fold LCP image if this image is responsible.","href":"/tools/image-seo-checker/#finding-images-lazy-likely-lcp","parentHref":"/tools/image-seo-checker/","findingId":"images/lazy-likely-lcp","meta":"Free tool finding · warn","aliases":["images/lazy likely lcp","First image is lazy-loaded and may be LCP"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"First image is lazy-loaded and may be LCP First image is lazy-loaded and may be LCP Confirm the actual LCP element first, then remove lazy loading from the above-the-fold LCP image if this image is responsible.","passages":["Confirm the actual LCP element first, then remove lazy loading from the above-the-fold LCP image if this image is responsible."],"popular":0,"url":"https://patrickstox.com/tools/image-seo-checker/#finding-images-lazy-likely-lcp","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Image SEO Checker — Likely-LCP image lacks high fetch priority","desc":"Add fetchpriority=high only if performance testing confirms the first image is the above-the-fold LCP image.","snippetText":"Add fetchpriority=high only if performance testing confirms the first image is the above-the-fold LCP image.","href":"/tools/image-seo-checker/#finding-images-fetchpriority","parentHref":"/tools/image-seo-checker/","findingId":"images/fetchpriority","meta":"Free tool finding · info","aliases":["images/fetchpriority","Likely-LCP image lacks high fetch priority"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"Likely-LCP image lacks high fetch priority Likely-LCP image lacks high fetch priority Add fetchpriority=high only if performance testing confirms the first image is the above-the-fold LCP image.","passages":["Add fetchpriority=high only if performance testing confirms the first image is the above-the-fold LCP image."],"popular":0,"url":"https://patrickstox.com/tools/image-seo-checker/#finding-images-fetchpriority","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Image SEO Checker — Image uses a legacy source format","desc":"Compare transfer size and quality, then serve an AVIF or WebP source with a compatible fallback when it materially reduces bytes.","snippetText":"Compare transfer size and quality, then serve an AVIF or WebP source with a compatible fallback when it materially reduces bytes.","href":"/tools/image-seo-checker/#finding-images-legacy-format","parentHref":"/tools/image-seo-checker/","findingId":"images/legacy-format","meta":"Free tool finding · info","aliases":["images/legacy format","Image uses a legacy source format"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"Image uses a legacy source format Image uses a legacy source format Compare transfer size and quality, then serve an AVIF or WebP source with a compatible fallback when it materially reduces bytes.","passages":["Compare transfer size and quality, then serve an AVIF or WebP source with a compatible fallback when it materially reduces bytes."],"popular":0,"url":"https://patrickstox.com/tools/image-seo-checker/#finding-images-legacy-format","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Image SEO Checker — ImageObject markup is absent","desc":"Add ImageObject only for a primary image that benefits from structured description, and keep its URL and metadata accurate.","snippetText":"Add ImageObject only for a primary image that benefits from structured description, and keep its URL and metadata accurate.","href":"/tools/image-seo-checker/#finding-images-image-object","parentHref":"/tools/image-seo-checker/","findingId":"images/image-object","meta":"Free tool finding · info","aliases":["images/image object","ImageObject markup is absent"],"toolCategories":["on-page-content","accessibility"],"taxonomy":["on-page-content","accessibility"],"text":"ImageObject markup is absent ImageObject markup is absent Add ImageObject only for a primary image that benefits from structured description, and keep its URL and metadata accurate.","passages":["Add ImageObject only for a primary image that benefits from structured description, and keep its URL and metadata accurate."],"popular":0,"url":"https://patrickstox.com/tools/image-seo-checker/#finding-images-image-object","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"On-Page SEO Checker","desc":"A prioritized top-five on-page memo plus advanced raw-HTML checks for headings, links, images, favicons, and social metadata.","snippetText":"A prioritized top-five on-page memo plus advanced raw-HTML checks for headings, links, images, favicons, and social metadata.","href":"/tools/on-page-seo-checker/","meta":"Free tool","aliases":["accepts url","produces url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"html-seo technical-seo on-page accepts url produces url produces report generic http html wordpress shopify nextjs vercel","passages":["accepts url","produces url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"popular":1,"url":"https://patrickstox.com/tools/on-page-seo-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Primary H1 is missing","desc":"Add one descriptive H1 that clearly states the page’s primary topic.","snippetText":"Add one descriptive H1 that clearly states the page’s primary topic.","href":"/tools/on-page-seo-checker/#finding-headings-missing-h1","parentHref":"/tools/on-page-seo-checker/","findingId":"headings/missing-h1","meta":"Free tool finding · warn","aliases":["headings/missing h1","Primary H1 is missing"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Primary H1 is missing Primary H1 is missing Add one descriptive H1 that clearly states the page’s primary topic. rule:page.indexability-signals","passages":["Add one descriptive H1 that clearly states the page’s primary topic."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-headings-missing-h1","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Heading hierarchy skips levels","desc":"Restructure headings into a sequential hierarchy that reflects section nesting.","snippetText":"Restructure headings into a sequential hierarchy that reflects section nesting.","href":"/tools/on-page-seo-checker/#finding-headings-skipped-level","parentHref":"/tools/on-page-seo-checker/","findingId":"headings/skipped-level","meta":"Free tool finding · warn","aliases":["headings/skipped level","Heading hierarchy skips levels"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Heading hierarchy skips levels Heading hierarchy skips levels Restructure headings into a sequential hierarchy that reflects section nesting.","passages":["Restructure headings into a sequential hierarchy that reflects section nesting."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-headings-skipped-level","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Low visible text volume","desc":"Review whether the observed text is complete for the page’s purpose. Add useful information only when something material is missing; do not pad the word count.","snippetText":"Review whether the observed text is complete for the page’s purpose. Add useful information only when something material is missing; do not pad the word count.","href":"/tools/on-page-seo-checker/#finding-content-thin-content","parentHref":"/tools/on-page-seo-checker/","findingId":"content/thin-content","meta":"Free tool finding · info","aliases":["content/thin content","Low visible text volume"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Low visible text volume Low visible text volume Review whether the observed text is complete for the page’s purpose. Add useful information only when something material is missing; do not pad the word count.","passages":["Review whether the observed text is complete for the page’s purpose. Add useful information only when something material is missing; do not pad the word count."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-content-thin-content","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Title is near-duplicate of another signal","desc":"Differentiate the title from competing page signals so it uniquely identifies this page’s intent.","snippetText":"Differentiate the title from competing page signals so it uniquely identifies this page’s intent.","href":"/tools/on-page-seo-checker/#finding-content-near-duplicate-title","parentHref":"/tools/on-page-seo-checker/","findingId":"content/near-duplicate-title","meta":"Free tool finding · warning","aliases":["content/near duplicate title","Title is near-duplicate of another signal"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Title is near-duplicate of another signal Title is near-duplicate of another signal Differentiate the title from competing page signals so it uniquely identifies this page’s intent.","passages":["Differentiate the title from competing page signals so it uniquely identifies this page’s intent."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-content-near-duplicate-title","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Images lack alt attributes","desc":"Add concise alt text to meaningful images and empty alt attributes to decorative images.","snippetText":"Add concise alt text to meaningful images and empty alt attributes to decorative images.","href":"/tools/on-page-seo-checker/#finding-images-alt-coverage","parentHref":"/tools/on-page-seo-checker/","findingId":"images/alt-coverage","meta":"Free tool finding · warn","aliases":["images/alt coverage","Images lack alt attributes"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Images lack alt attributes Images lack alt attributes Add concise alt text to meaningful images and empty alt attributes to decorative images.","passages":["Add concise alt text to meaningful images and empty alt attributes to decorative images."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-images-alt-coverage","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Links are non-navigational","desc":"Give each navigational link a valid href and descriptive accessible text, or use a button for non-navigation actions.","snippetText":"Give each navigational link a valid href and descriptive accessible text, or use a button for non-navigation actions.","href":"/tools/on-page-seo-checker/#finding-links-empty-anchor","parentHref":"/tools/on-page-seo-checker/","findingId":"links/empty-anchor","meta":"Free tool finding · warn","aliases":["links/empty anchor","Links are non-navigational"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Links are non-navigational Links are non-navigational Give each navigational link a valid href and descriptive accessible text, or use a button for non-navigation actions.","passages":["Give each navigational link a valid href and descriptive accessible text, or use a button for non-navigation actions."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-links-empty-anchor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Title element is missing","desc":"Add one non-empty, page-specific title element in the initial HTML.","snippetText":"Add one non-empty, page-specific title element in the initial HTML.","href":"/tools/on-page-seo-checker/#finding-meta-title-missing","parentHref":"/tools/on-page-seo-checker/","findingId":"meta/title-missing","meta":"Free tool finding · fail","aliases":["meta/title missing","Title element is missing"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Title element is missing Title element is missing Add one non-empty, page-specific title element in the initial HTML. rule:page.indexability-signals","passages":["Add one non-empty, page-specific title element in the initial HTML."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-meta-title-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Meta description is missing","desc":"Add a concise page-specific meta description in the initial HTML.","snippetText":"Add a concise page-specific meta description in the initial HTML.","href":"/tools/on-page-seo-checker/#finding-meta-description-missing","parentHref":"/tools/on-page-seo-checker/","findingId":"meta/description-missing","meta":"Free tool finding · warn","aliases":["meta/description missing","Meta description is missing"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Meta description is missing Meta description is missing Add a concise page-specific meta description in the initial HTML. rule:page.indexability-signals","passages":["Add a concise page-specific meta description in the initial HTML."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-meta-description-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Noindex directive is present","desc":"Remove noindex from pages meant to be indexed, or keep it only when exclusion is intentional.","snippetText":"Remove noindex from pages meant to be indexed, or keep it only when exclusion is intentional.","href":"/tools/on-page-seo-checker/#finding-indexability-noindex","parentHref":"/tools/on-page-seo-checker/","findingId":"indexability/noindex","meta":"Free tool finding · fail","aliases":["indexability/noindex","Noindex directive is present"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Noindex directive is present Noindex directive is present Remove noindex from pages meant to be indexed, or keep it only when exclusion is intentional. rule:page.indexability-signals","passages":["Remove noindex from pages meant to be indexed, or keep it only when exclusion is intentional."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-indexability-noindex","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Canonical is missing","desc":"Add one absolute rel=canonical URL for the preferred indexable version.","snippetText":"Add one absolute rel=canonical URL for the preferred indexable version.","href":"/tools/on-page-seo-checker/#finding-canonical-missing","parentHref":"/tools/on-page-seo-checker/","findingId":"canonical/missing","meta":"Free tool finding · warning","aliases":["canonical/missing","Canonical is missing"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Canonical is missing Canonical is missing Add one absolute rel=canonical URL for the preferred indexable version. rule:page.indexability-signals","passages":["Add one absolute rel=canonical URL for the preferred indexable version."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-canonical-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Structured data is absent","desc":"Add supported structured data only when it accurately describes visible page content.","snippetText":"Add supported structured data only when it accurately describes visible page content.","href":"/tools/on-page-seo-checker/#finding-schema-none","parentHref":"/tools/on-page-seo-checker/","findingId":"schema/none","meta":"Free tool finding · info","aliases":["schema/none","Structured data is absent"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Structured data is absent Structured data is absent Add supported structured data only when it accurately describes visible page content. rule:schema.structured-data-validity","passages":["Add supported structured data only when it accurately describes visible page content."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-schema-none","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Title elements contain conflicting values","desc":"Keep one non-empty title element in the document head and remove every competing title value.","snippetText":"Keep one non-empty title element in the document head and remove every competing title value.","href":"/tools/on-page-seo-checker/#finding-meta-title-multiple","parentHref":"/tools/on-page-seo-checker/","findingId":"meta/title-multiple","meta":"Free tool finding · fail","aliases":["meta/title multiple","Title elements contain conflicting values"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Title elements contain conflicting values Title elements contain conflicting values Keep one non-empty title element in the document head and remove every competing title value. rule:page.indexability-signals","passages":["Keep one non-empty title element in the document head and remove every competing title value."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-meta-title-multiple","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Robots directive is outside the HTML head","desc":"Move the intended robots meta directive into the document head and remove ineffective body declarations.","snippetText":"Move the intended robots meta directive into the document head and remove ineffective body declarations.","href":"/tools/on-page-seo-checker/#finding-indexability-directive-placement","parentHref":"/tools/on-page-seo-checker/","findingId":"indexability/directive-placement","meta":"Free tool finding · warning","aliases":["indexability/directive placement","Robots directive is outside the HTML head"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Robots directive is outside the HTML head Robots directive is outside the HTML head Move the intended robots meta directive into the document head and remove ineffective body declarations. rule:page.indexability-signals","passages":["Move the intended robots meta directive into the document head and remove ineffective body declarations."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-indexability-directive-placement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Robots directive combination is ineffective","desc":"Add the prerequisite robots directive or remove the ineffective token, then verify the effective Googlebot policy.","snippetText":"Add the prerequisite robots directive or remove the ineffective token, then verify the effective Googlebot policy.","href":"/tools/on-page-seo-checker/#finding-indexability-directive-combination","parentHref":"/tools/on-page-seo-checker/","findingId":"indexability/directive-combination","meta":"Free tool finding · warning","aliases":["indexability/directive combination","Robots directive combination is ineffective"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Robots directive combination is ineffective Robots directive combination is ineffective Add the prerequisite robots directive or remove the ineffective token, then verify the effective Googlebot policy. rule:page.indexability-signals","passages":["Add the prerequisite robots directive or remove the ineffective token, then verify the effective Googlebot policy."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-indexability-directive-combination","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Canonical element is outside the HTML head","desc":"Move the intended canonical link into the document head and remove body-level canonical declarations.","snippetText":"Move the intended canonical link into the document head and remove body-level canonical declarations.","href":"/tools/on-page-seo-checker/#finding-canonical-placement","parentHref":"/tools/on-page-seo-checker/","findingId":"canonical/placement","meta":"Free tool finding · warning","aliases":["canonical/placement","Canonical element is outside the HTML head"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Canonical element is outside the HTML head Canonical element is outside the HTML head Move the intended canonical link into the document head and remove body-level canonical declarations. rule:page.indexability-signals","passages":["Move the intended canonical link into the document head and remove body-level canonical declarations."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-canonical-placement","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Noindex and canonical are combined","desc":"Confirm whether exclusion or consolidation is intended, then remove the signal that conflicts with that outcome.","snippetText":"Confirm whether exclusion or consolidation is intended, then remove the signal that conflicts with that outcome.","href":"/tools/on-page-seo-checker/#finding-indexability-noindex-canonical","parentHref":"/tools/on-page-seo-checker/","findingId":"indexability/noindex-canonical","meta":"Free tool finding · warning","aliases":["indexability/noindex canonical","Noindex and canonical are combined"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Noindex and canonical are combined Noindex and canonical are combined Confirm whether exclusion or consolidation is intended, then remove the signal that conflicts with that outcome. rule:page.indexability-signals","passages":["Confirm whether exclusion or consolidation is intended, then remove the signal that conflicts with that outcome."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-indexability-noindex-canonical","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"On-Page SEO Checker — Robots.txt prevents Googlebot from seeing noindex","desc":"Allow Googlebot to crawl the page while noindex removal is required, then verify that the directive can be processed.","snippetText":"Allow Googlebot to crawl the page while noindex removal is required, then verify that the directive can be processed.","href":"/tools/on-page-seo-checker/#finding-indexability-robots-block-noindex","parentHref":"/tools/on-page-seo-checker/","findingId":"indexability/robots-block-noindex","meta":"Free tool finding · warning","aliases":["indexability/robots block noindex","Robots.txt prevents Googlebot from seeing noindex"],"toolCategories":["on-page-content"],"taxonomy":["on-page-content"],"text":"Robots.txt prevents Googlebot from seeing noindex Robots.txt prevents Googlebot from seeing noindex Allow Googlebot to crawl the page while noindex removal is required, then verify that the directive can be processed. rule:page.indexability-signals","passages":["Allow Googlebot to crawl the page while noindex removal is required, then verify that the directive can be processed."],"popular":0,"url":"https://patrickstox.com/tools/on-page-seo-checker/#finding-indexability-robots-block-noindex","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Agent Readiness Checker","desc":"Check public MCP, agent-card, llms.txt, security, and Content-Signals discovery markers.","snippetText":"Check public MCP, agent-card, llms.txt, security, and Content-Signals discovery markers.","href":"/tools/agent-readiness-checker/","meta":"Free tool","aliases":[],"toolCategories":["ai-crawlers-agents","ai-visibility"],"taxonomy":["ai-crawlers-agents","ai-visibility"],"text":"mcp ai agents agentic seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/agent-readiness-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Agent Readiness Checker — Agent discovery file is missing","desc":"Publish the A2A 1.0 /.well-known/agent-card.json resource as public valid JSON describing the agent endpoint and supported capabilities.","snippetText":"Publish the A2A 1.0 /.well-known/agent-card.json resource as public valid JSON describing the agent endpoint and supported capabilities.","href":"/tools/agent-readiness-checker/#finding-agent-json-missing","parentHref":"/tools/agent-readiness-checker/","findingId":"agent-json-missing","meta":"Free tool finding · fail","aliases":["agent json missing","Agent discovery file is missing"],"toolCategories":["ai-crawlers-agents","ai-visibility"],"taxonomy":["ai-crawlers-agents","ai-visibility"],"text":"Agent discovery file is missing Agent discovery file is missing Publish the A2A 1.0 /.well-known/agent-card.json resource as public valid JSON describing the agent endpoint and supported capabilities.","passages":["Publish the A2A 1.0 /.well-known/agent-card.json resource as public valid JSON describing the agent endpoint and supported capabilities."],"popular":0,"url":"https://patrickstox.com/tools/agent-readiness-checker/#finding-agent-json-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Agent Readiness Checker — Agent discovery JSON is malformed","desc":"Fix the JSON syntax and required discovery structure in /.well-known/agent-card.json, then confirm it returns parseable JSON with a 2xx status.","snippetText":"Fix the JSON syntax and required discovery structure in /.well-known/agent-card.json, then confirm it returns parseable JSON with a 2xx status.","href":"/tools/agent-readiness-checker/#finding-agent-json-malformed","parentHref":"/tools/agent-readiness-checker/","findingId":"agent-json-malformed","meta":"Free tool finding · fail","aliases":["agent json malformed","Agent discovery JSON is malformed"],"toolCategories":["ai-crawlers-agents","ai-visibility"],"taxonomy":["ai-crawlers-agents","ai-visibility"],"text":"Agent discovery JSON is malformed Agent discovery JSON is malformed Fix the JSON syntax and required discovery structure in /.well-known/agent-card.json, then confirm it returns parseable JSON with a 2xx status.","passages":["Fix the JSON syntax and required discovery structure in /.well-known/agent-card.json, then confirm it returns parseable JSON with a 2xx status."],"popular":0,"url":"https://patrickstox.com/tools/agent-readiness-checker/#finding-agent-json-malformed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Agent Readiness Checker — MCP discovery file is missing","desc":"Publish /.well-known/mcp.json as public valid JSON that identifies the MCP server endpoint and supported transport.","snippetText":"Publish /.well-known/mcp.json as public valid JSON that identifies the MCP server endpoint and supported transport.","href":"/tools/agent-readiness-checker/#finding-mcp-json-missing","parentHref":"/tools/agent-readiness-checker/","findingId":"mcp-json-missing","meta":"Free tool finding · fail","aliases":["mcp json missing","MCP discovery file is missing"],"toolCategories":["ai-crawlers-agents","ai-visibility"],"taxonomy":["ai-crawlers-agents","ai-visibility"],"text":"MCP discovery file is missing MCP discovery file is missing Publish /.well-known/mcp.json as public valid JSON that identifies the MCP server endpoint and supported transport.","passages":["Publish /.well-known/mcp.json as public valid JSON that identifies the MCP server endpoint and supported transport."],"popular":0,"url":"https://patrickstox.com/tools/agent-readiness-checker/#finding-mcp-json-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Agent Readiness Checker — MCP discovery JSON is malformed","desc":"Correct the syntax and discovery fields in /.well-known/mcp.json, then verify the file parses and its declared endpoint is reachable.","snippetText":"Correct the syntax and discovery fields in /.well-known/mcp.json, then verify the file parses and its declared endpoint is reachable.","href":"/tools/agent-readiness-checker/#finding-mcp-json-malformed","parentHref":"/tools/agent-readiness-checker/","findingId":"mcp-json-malformed","meta":"Free tool finding · fail","aliases":["mcp json malformed","MCP discovery JSON is malformed"],"toolCategories":["ai-crawlers-agents","ai-visibility"],"taxonomy":["ai-crawlers-agents","ai-visibility"],"text":"MCP discovery JSON is malformed MCP discovery JSON is malformed Correct the syntax and discovery fields in /.well-known/mcp.json, then verify the file parses and its declared endpoint is reachable.","passages":["Correct the syntax and discovery fields in /.well-known/mcp.json, then verify the file parses and its declared endpoint is reachable."],"popular":0,"url":"https://patrickstox.com/tools/agent-readiness-checker/#finding-mcp-json-malformed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Agent Readiness Checker — Declared agent endpoint is unreachable","desc":"Fix the declared endpoint URL, DNS/TLS, authentication exposure, or server response so an external client receives the expected 2xx handshake.","snippetText":"Fix the declared endpoint URL, DNS/TLS, authentication exposure, or server response so an external client receives the expected 2xx handshake.","href":"/tools/agent-readiness-checker/#finding-endpoint-unreachable","parentHref":"/tools/agent-readiness-checker/","findingId":"endpoint-unreachable","meta":"Free tool finding · fail","aliases":["endpoint unreachable","Declared agent endpoint is unreachable"],"toolCategories":["ai-crawlers-agents","ai-visibility"],"taxonomy":["ai-crawlers-agents","ai-visibility"],"text":"Declared agent endpoint is unreachable Declared agent endpoint is unreachable Fix the declared endpoint URL, DNS/TLS, authentication exposure, or server response so an external client receives the expected 2xx handshake.","passages":["Fix the declared endpoint URL, DNS/TLS, authentication exposure, or server response so an external client receives the expected 2xx handshake."],"popular":0,"url":"https://patrickstox.com/tools/agent-readiness-checker/#finding-endpoint-unreachable","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Agent Readiness Checker — Discovery document omits expected capabilities","desc":"Add the omitted, genuinely supported capability to the discovery document and implement it at the declared endpoint before advertising it.","snippetText":"Add the omitted, genuinely supported capability to the discovery document and implement it at the declared endpoint before advertising it.","href":"/tools/agent-readiness-checker/#finding-capability-gap","parentHref":"/tools/agent-readiness-checker/","findingId":"capability-gap","meta":"Free tool finding · warning","aliases":["capability gap","Discovery document omits expected capabilities"],"toolCategories":["ai-crawlers-agents","ai-visibility"],"taxonomy":["ai-crawlers-agents","ai-visibility"],"text":"Discovery document omits expected capabilities Discovery document omits expected capabilities Add the omitted, genuinely supported capability to the discovery document and implement it at the declared endpoint before advertising it.","passages":["Add the omitted, genuinely supported capability to the discovery document and implement it at the declared endpoint before advertising it."],"popular":0,"url":"https://patrickstox.com/tools/agent-readiness-checker/#finding-capability-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Agent Readiness Checker — Authentication requirements are unclear","desc":"State the authentication scheme, token location, required scopes, and unauthenticated discovery behavior in the discovery document.","snippetText":"State the authentication scheme, token location, required scopes, and unauthenticated discovery behavior in the discovery document.","href":"/tools/agent-readiness-checker/#finding-auth-unclear","parentHref":"/tools/agent-readiness-checker/","findingId":"auth-unclear","meta":"Free tool finding · warning","aliases":["auth unclear","Authentication requirements are unclear"],"toolCategories":["ai-crawlers-agents","ai-visibility"],"taxonomy":["ai-crawlers-agents","ai-visibility"],"text":"Authentication requirements are unclear Authentication requirements are unclear State the authentication scheme, token location, required scopes, and unauthenticated discovery behavior in the discovery document.","passages":["State the authentication scheme, token location, required scopes, and unauthenticated discovery behavior in the discovery document."],"popular":0,"url":"https://patrickstox.com/tools/agent-readiness-checker/#finding-auth-unclear","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"IndexNow Submitter","desc":"Validate and explicitly submit a same-host URL list to IndexNow; Google does not use IndexNow.","snippetText":"Validate and explicitly submit a same-host URL list to IndexNow; Google does not use IndexNow.","href":"/tools/indexnow-submitter/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"indexnow indexing technical-seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/indexnow-submitter/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"IndexNow Submitter — Published IndexNow key does not match","desc":"Publish the exact submitted IndexNow key at the declared key-location URL, then verify the public file contents match byte for byte.","snippetText":"Publish the exact submitted IndexNow key at the declared key-location URL, then verify the public file contents match byte for byte.","href":"/tools/indexnow-submitter/#finding-key-mismatch","parentHref":"/tools/indexnow-submitter/","findingId":"key-mismatch","meta":"Free tool finding · fail","aliases":["key mismatch","Published IndexNow key does not match"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Published IndexNow key does not match Published IndexNow key does not match Publish the exact submitted IndexNow key at the declared key-location URL, then verify the public file contents match byte for byte.","passages":["Publish the exact submitted IndexNow key at the declared key-location URL, then verify the public file contents match byte for byte."],"popular":0,"url":"https://patrickstox.com/tools/indexnow-submitter/#finding-key-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"IndexNow Submitter — Submitted URL host differs from key host","desc":"Submit each host separately with the key published on that same host.","snippetText":"Submit each host separately with the key published on that same host.","href":"/tools/indexnow-submitter/#finding-host-mismatch","parentHref":"/tools/indexnow-submitter/","findingId":"host-mismatch","meta":"Free tool finding · fail","aliases":["host mismatch","Submitted URL host differs from key host"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Submitted URL host differs from key host Submitted URL host differs from key host Submit each host separately with the key published on that same host.","passages":["Submit each host separately with the key published on that same host."],"popular":0,"url":"https://patrickstox.com/tools/indexnow-submitter/#finding-host-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Quotability & Entity-Preserving Rewriter","desc":"Rewrite one paragraph for citability or preserve a declared entity/keyword set; not a general paraphraser.","snippetText":"Rewrite one paragraph for citability or preserve a declared entity/keyword set; not a general paraphraser.","href":"/tools/quotability-rewriter/","meta":"Free tool","aliases":[],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"quotability ai search content quality","passages":[],"popular":0,"url":"https://patrickstox.com/tools/quotability-rewriter/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotability & Entity-Preserving Rewriter — Original sentence has an implicit subject","desc":"Name the person, company, product, or concept performing the action so the sentence remains clear when quoted alone.","snippetText":"Name the person, company, product, or concept performing the action so the sentence remains clear when quoted alone.","href":"/tools/quotability-rewriter/#finding-subject-implicit","parentHref":"/tools/quotability-rewriter/","findingId":"subject-implicit","meta":"Free tool finding · warning","aliases":["subject implicit","Original sentence has an implicit subject"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Original sentence has an implicit subject Original sentence has an implicit subject Name the person, company, product, or concept performing the action so the sentence remains clear when quoted alone.","passages":["Name the person, company, product, or concept performing the action so the sentence remains clear when quoted alone."],"popular":0,"url":"https://patrickstox.com/tools/quotability-rewriter/#finding-subject-implicit","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotability & Entity-Preserving Rewriter — Original sentence is indirect","desc":"Put the supported claim in a direct subject–verb statement, removing throat-clearing language without strengthening its certainty.","snippetText":"Put the supported claim in a direct subject–verb statement, removing throat-clearing language without strengthening its certainty.","href":"/tools/quotability-rewriter/#finding-claim-indirect","parentHref":"/tools/quotability-rewriter/","findingId":"claim-indirect","meta":"Free tool finding · warning","aliases":["claim indirect","Original sentence is indirect"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Original sentence is indirect Original sentence is indirect Put the supported claim in a direct subject–verb statement, removing throat-clearing language without strengthening its certainty.","passages":["Put the supported claim in a direct subject–verb statement, removing throat-clearing language without strengthening its certainty."],"popular":0,"url":"https://patrickstox.com/tools/quotability-rewriter/#finding-claim-indirect","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotability & Entity-Preserving Rewriter — Original sentence depends on surrounding context","desc":"Replace pronouns and vague references with the named subject and enough scope, date, or comparison context for the sentence to stand alone.","snippetText":"Replace pronouns and vague references with the named subject and enough scope, date, or comparison context for the sentence to stand alone.","href":"/tools/quotability-rewriter/#finding-context-dependent","parentHref":"/tools/quotability-rewriter/","findingId":"context-dependent","meta":"Free tool finding · warning","aliases":["context dependent","Original sentence depends on surrounding context"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Original sentence depends on surrounding context Original sentence depends on surrounding context Replace pronouns and vague references with the named subject and enough scope, date, or comparison context for the sentence to stand alone.","passages":["Replace pronouns and vague references with the named subject and enough scope, date, or comparison context for the sentence to stand alone."],"popular":0,"url":"https://patrickstox.com/tools/quotability-rewriter/#finding-context-dependent","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotability & Entity-Preserving Rewriter — Rewrite drops a required entity","desc":"Restore every required named entity exactly where it remains factually relevant, then compare the rewrite with the source.","snippetText":"Restore every required named entity exactly where it remains factually relevant, then compare the rewrite with the source.","href":"/tools/quotability-rewriter/#finding-entity-dropped","parentHref":"/tools/quotability-rewriter/","findingId":"entity-dropped","meta":"Free tool finding · fail","aliases":["entity dropped","Rewrite drops a required entity"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Rewrite drops a required entity Rewrite drops a required entity Restore every required named entity exactly where it remains factually relevant, then compare the rewrite with the source.","passages":["Restore every required named entity exactly where it remains factually relevant, then compare the rewrite with the source."],"popular":0,"url":"https://patrickstox.com/tools/quotability-rewriter/#finding-entity-dropped","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotability & Entity-Preserving Rewriter — Rewrite drops a required term","desc":"Restore the required term without changing its meaning or stuffing it into an unrelated clause, then rerun preservation checking.","snippetText":"Restore the required term without changing its meaning or stuffing it into an unrelated clause, then rerun preservation checking.","href":"/tools/quotability-rewriter/#finding-term-dropped","parentHref":"/tools/quotability-rewriter/","findingId":"term-dropped","meta":"Free tool finding · fail","aliases":["term dropped","Rewrite drops a required term"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Rewrite drops a required term Rewrite drops a required term Restore the required term without changing its meaning or stuffing it into an unrelated clause, then rerun preservation checking.","passages":["Restore the required term without changing its meaning or stuffing it into an unrelated clause, then rerun preservation checking."],"popular":0,"url":"https://patrickstox.com/tools/quotability-rewriter/#finding-term-dropped","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Quotability & Entity-Preserving Rewriter — Rewrite loses a factual qualification","desc":"Restore limiting words such as “may,” the population, timeframe, or conditions so the rewritten claim is no broader than the source.","snippetText":"Restore limiting words such as “may,” the population, timeframe, or conditions so the rewritten claim is no broader than the source.","href":"/tools/quotability-rewriter/#finding-qualification-dropped","parentHref":"/tools/quotability-rewriter/","findingId":"qualification-dropped","meta":"Free tool finding · fail","aliases":["qualification dropped","Rewrite loses a factual qualification"],"toolCategories":["ai-visibility","on-page-content"],"taxonomy":["ai-visibility","on-page-content"],"text":"Rewrite loses a factual qualification Rewrite loses a factual qualification Restore limiting words such as “may,” the population, timeframe, or conditions so the rewritten claim is no broader than the source.","passages":["Restore limiting words such as “may,” the population, timeframe, or conditions so the rewritten claim is no broader than the source."],"popular":0,"url":"https://patrickstox.com/tools/quotability-rewriter/#finding-qualification-dropped","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"AI Commerce Validator","desc":"Validate public agentic-commerce discovery and XML/TSV merchant-feed readiness against a dated local baseline.","snippetText":"Validate public agentic-commerce discovery and XML/TSV merchant-feed readiness against a dated local baseline.","href":"/tools/ai-commerce-validator/","meta":"Free tool","aliases":[],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"agentic commerce merchant feed ai shopping ai search","passages":[],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Commerce Validator — Commerce discovery file is invalid","desc":"Publish valid JSON at the discovery location and declare a public checkout or discovery endpoint in the supported field.","snippetText":"Publish valid JSON at the discovery location and declare a public checkout or discovery endpoint in the supported field.","href":"/tools/ai-commerce-validator/#finding-discovery-invalid","parentHref":"/tools/ai-commerce-validator/","findingId":"discovery-invalid","meta":"Free tool finding · fail","aliases":["discovery invalid","Commerce discovery file is invalid"],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"Commerce discovery file is invalid Commerce discovery file is invalid Publish valid JSON at the discovery location and declare a public checkout or discovery endpoint in the supported field.","passages":["Publish valid JSON at the discovery location and declare a public checkout or discovery endpoint in the supported field."],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/#finding-discovery-invalid","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Commerce Validator — Product feed item lacks a stable identifier","desc":"Give every feed item a stable, unique product identifier that remains unchanged across feed refreshes.","snippetText":"Give every feed item a stable, unique product identifier that remains unchanged across feed refreshes.","href":"/tools/ai-commerce-validator/#finding-product-id-missing","parentHref":"/tools/ai-commerce-validator/","findingId":"product-id-missing","meta":"Free tool finding · error","aliases":["product id missing","Product feed item lacks a stable identifier"],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"Product feed item lacks a stable identifier Product feed item lacks a stable identifier Give every feed item a stable, unique product identifier that remains unchanged across feed refreshes.","passages":["Give every feed item a stable, unique product identifier that remains unchanged across feed refreshes."],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/#finding-product-id-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Commerce Validator — Product title is missing","desc":"Add a nonempty, product-specific title to every feed item rather than relying on a category or brand alone.","snippetText":"Add a nonempty, product-specific title to every feed item rather than relying on a category or brand alone.","href":"/tools/ai-commerce-validator/#finding-title-missing","parentHref":"/tools/ai-commerce-validator/","findingId":"title-missing","meta":"Free tool finding · error","aliases":["title missing","Product title is missing"],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"Product title is missing Product title is missing Add a nonempty, product-specific title to every feed item rather than relying on a category or brand alone.","passages":["Add a nonempty, product-specific title to every feed item rather than relying on a category or brand alone."],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/#finding-title-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Commerce Validator — Product price is missing or invalid","desc":"Supply a numeric product price in the feed’s expected format and pair it with a valid currency when required.","snippetText":"Supply a numeric product price in the feed’s expected format and pair it with a valid currency when required.","href":"/tools/ai-commerce-validator/#finding-price-invalid","parentHref":"/tools/ai-commerce-validator/","findingId":"price-invalid","meta":"Free tool finding · error","aliases":["price invalid","Product price is missing or invalid"],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"Product price is missing or invalid Product price is missing or invalid Supply a numeric product price in the feed’s expected format and pair it with a valid currency when required.","passages":["Supply a numeric product price in the feed’s expected format and pair it with a valid currency when required."],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/#finding-price-invalid","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Commerce Validator — Product availability is missing or invalid","desc":"Map each item to a supported availability value and keep it synchronized with the purchasable product page.","snippetText":"Map each item to a supported availability value and keep it synchronized with the purchasable product page.","href":"/tools/ai-commerce-validator/#finding-availability-invalid","parentHref":"/tools/ai-commerce-validator/","findingId":"availability-invalid","meta":"Free tool finding · error","aliases":["availability invalid","Product availability is missing or invalid"],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"Product availability is missing or invalid Product availability is missing or invalid Map each item to a supported availability value and keep it synchronized with the purchasable product page.","passages":["Map each item to a supported availability value and keep it synchronized with the purchasable product page."],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/#finding-availability-invalid","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Commerce Validator — Product URL is missing or invalid","desc":"Add a fully qualified, reachable canonical product URL for every feed item.","snippetText":"Add a fully qualified, reachable canonical product URL for every feed item.","href":"/tools/ai-commerce-validator/#finding-url-invalid","parentHref":"/tools/ai-commerce-validator/","findingId":"url-invalid","meta":"Free tool finding · error","aliases":["url invalid","Product URL is missing or invalid"],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"Product URL is missing or invalid Product URL is missing or invalid Add a fully qualified, reachable canonical product URL for every feed item.","passages":["Add a fully qualified, reachable canonical product URL for every feed item."],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/#finding-url-invalid","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Commerce Validator — Product image URL is missing or invalid","desc":"Supply an absolute HTTP(S) product image URL for every affected feed row.","snippetText":"Supply an absolute HTTP(S) product image URL for every affected feed row.","href":"/tools/ai-commerce-validator/#finding-image-invalid","parentHref":"/tools/ai-commerce-validator/","findingId":"image-invalid","meta":"Free tool finding · warning","aliases":["image invalid","Product image URL is missing or invalid"],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"Product image URL is missing or invalid Product image URL is missing or invalid Supply an absolute HTTP(S) product image URL for every affected feed row.","passages":["Supply an absolute HTTP(S) product image URL for every affected feed row."],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/#finding-image-invalid","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Commerce Validator — Product identifier is duplicated","desc":"Give every product row one unique stable ID and merge or remove duplicate records.","snippetText":"Give every product row one unique stable ID and merge or remove duplicate records.","href":"/tools/ai-commerce-validator/#finding-duplicate-product","parentHref":"/tools/ai-commerce-validator/","findingId":"duplicate-product","meta":"Free tool finding · error","aliases":["duplicate product","Product identifier is duplicated"],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"Product identifier is duplicated Product identifier is duplicated Give every product row one unique stable ID and merge or remove duplicate records.","passages":["Give every product row one unique stable ID and merge or remove duplicate records."],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/#finding-duplicate-product","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"AI Commerce Validator — Discovery feed location conflicts with the expected feed","desc":"Update the discovery feed URL or the expected merchant feed location so both values identify the same canonical feed, then validate again.","snippetText":"Update the discovery feed URL or the expected merchant feed location so both values identify the same canonical feed, then validate again.","href":"/tools/ai-commerce-validator/#finding-feed-discovery-mismatch","parentHref":"/tools/ai-commerce-validator/","findingId":"feed-discovery-mismatch","meta":"Free tool finding · warning","aliases":["feed discovery mismatch","Discovery feed location conflicts with the expected feed"],"toolCategories":["vertical-seo","ai-visibility","structured-data"],"taxonomy":["vertical-seo","ai-visibility","structured-data"],"text":"Discovery feed location conflicts with the expected feed Discovery feed location conflicts with the expected feed Update the discovery feed URL or the expected merchant feed location so both values identify the same canonical feed, then validate again.","passages":["Update the discovery feed URL or the expected merchant feed location so both values identify the same canonical feed, then validate again."],"popular":0,"url":"https://patrickstox.com/tools/ai-commerce-validator/#finding-feed-discovery-mismatch","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Video SEO Checker","desc":"Audit VideoObject, thumbnail, key-moment, and embed signals in raw HTML.","snippetText":"Audit VideoObject, thumbnail, key-moment, and embed signals in raw HTML.","href":"/tools/video-seo-checker/","meta":"Free tool","aliases":[],"toolCategories":["vertical-seo","on-page-content","structured-data"],"taxonomy":["vertical-seo","on-page-content","structured-data"],"text":"video seo video schema key moments","passages":[],"popular":0,"url":"https://patrickstox.com/tools/video-seo-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Video SEO Checker — VideoObject markup is missing","desc":"Add VideoObject JSON-LD for the primary video with matching name, description, thumbnailUrl, uploadDate, and contentUrl or embedUrl.","snippetText":"Add VideoObject JSON-LD for the primary video with matching name, description, thumbnailUrl, uploadDate, and contentUrl or embedUrl.","href":"/tools/video-seo-checker/#finding-video-video-object","parentHref":"/tools/video-seo-checker/","findingId":"video/video-object","meta":"Free tool finding · warn","aliases":["video/video object","VideoObject markup is missing"],"toolCategories":["vertical-seo","on-page-content","structured-data"],"taxonomy":["vertical-seo","on-page-content","structured-data"],"text":"VideoObject markup is missing VideoObject markup is missing Add VideoObject JSON-LD for the primary video with matching name, description, thumbnailUrl, uploadDate, and contentUrl or embedUrl.","passages":["Add VideoObject JSON-LD for the primary video with matching name, description, thumbnailUrl, uploadDate, and contentUrl or embedUrl."],"popular":0,"url":"https://patrickstox.com/tools/video-seo-checker/#finding-video-video-object","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Video SEO Checker — VideoObject is missing a required property","desc":"Provide all four Google-required VideoObject properties — name, description, thumbnailUrl, and uploadDate — matching the visible video.","snippetText":"Provide all four Google-required VideoObject properties — name, description, thumbnailUrl, and uploadDate — matching the visible video.","href":"/tools/video-seo-checker/#finding-video-required-properties","parentHref":"/tools/video-seo-checker/","findingId":"video/required-properties","meta":"Free tool finding · fail","aliases":["video/required properties","VideoObject is missing a required property"],"toolCategories":["vertical-seo","on-page-content","structured-data"],"taxonomy":["vertical-seo","on-page-content","structured-data"],"text":"VideoObject is missing a required property VideoObject is missing a required property Provide all four Google-required VideoObject properties — name, description, thumbnailUrl, and uploadDate — matching the visible video.","passages":["Provide all four Google-required VideoObject properties — name, description, thumbnailUrl, and uploadDate — matching the visible video."],"popular":0,"url":"https://patrickstox.com/tools/video-seo-checker/#finding-video-required-properties","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Video SEO Checker — Key-moment markup is missing","desc":"Add Clip markup or SeekToAction only when the player supports stable timestamps and the segments accurately match the video.","snippetText":"Add Clip markup or SeekToAction only when the player supports stable timestamps and the segments accurately match the video.","href":"/tools/video-seo-checker/#finding-video-key-moments","parentHref":"/tools/video-seo-checker/","findingId":"video/key-moments","meta":"Free tool finding · info","aliases":["video/key moments","Key-moment markup is missing"],"toolCategories":["vertical-seo","on-page-content","structured-data"],"taxonomy":["vertical-seo","on-page-content","structured-data"],"text":"Key-moment markup is missing Key-moment markup is missing Add Clip markup or SeekToAction only when the player supports stable timestamps and the segments accurately match the video.","passages":["Add Clip markup or SeekToAction only when the player supports stable timestamps and the segments accurately match the video."],"popular":0,"url":"https://patrickstox.com/tools/video-seo-checker/#finding-video-key-moments","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Video SEO Checker — Video iframe lacks lazy loading or a facade","desc":"Lazy-load the offscreen iframe or replace it with a click-to-load facade so the player does not block the initial page load.","snippetText":"Lazy-load the offscreen iframe or replace it with a click-to-load facade so the player does not block the initial page load.","href":"/tools/video-seo-checker/#finding-video-embed-hygiene","parentHref":"/tools/video-seo-checker/","findingId":"video/embed-hygiene","meta":"Free tool finding · info","aliases":["video/embed hygiene","Video iframe lacks lazy loading or a facade"],"toolCategories":["vertical-seo","on-page-content","structured-data"],"taxonomy":["vertical-seo","on-page-content","structured-data"],"text":"Video iframe lacks lazy loading or a facade Video iframe lacks lazy loading or a facade Lazy-load the offscreen iframe or replace it with a click-to-load facade so the player does not block the initial page load.","passages":["Lazy-load the offscreen iframe or replace it with a click-to-load facade so the player does not block the initial page load."],"popular":0,"url":"https://patrickstox.com/tools/video-seo-checker/#finding-video-embed-hygiene","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Video SEO Checker — Video cannot be established as main content","desc":"Place the video prominently as the page’s main content with supporting text and complete VideoObject markup.","snippetText":"Place the video prominently as the page’s main content with supporting text and complete VideoObject markup.","href":"/tools/video-seo-checker/#finding-video-main-content","parentHref":"/tools/video-seo-checker/","findingId":"video/main-content","meta":"Free tool finding · info","aliases":["video/main content","Video cannot be established as main content"],"toolCategories":["vertical-seo","on-page-content","structured-data"],"taxonomy":["vertical-seo","on-page-content","structured-data"],"text":"Video cannot be established as main content Video cannot be established as main content Place the video prominently as the page’s main content with supporting text and complete VideoObject markup.","passages":["Place the video prominently as the page’s main content with supporting text and complete VideoObject markup."],"popular":0,"url":"https://patrickstox.com/tools/video-seo-checker/#finding-video-main-content","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"PDP SEO Checker","desc":"Audit raw product schema, price, availability, and visible-price consistency.","snippetText":"Audit raw product schema, price, availability, and visible-price consistency.","href":"/tools/pdp-seo-checker/","meta":"Free tool","aliases":[],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"product schema ecommerce seo product page","passages":[],"popular":0,"url":"https://patrickstox.com/tools/pdp-seo-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"PDP SEO Checker — Product schema is missing","desc":"Add Product JSON-LD that accurately identifies the visible product and its current offer.","snippetText":"Add Product JSON-LD that accurately identifies the visible product and its current offer.","href":"/tools/pdp-seo-checker/#finding-pdp-product-schema","parentHref":"/tools/pdp-seo-checker/","findingId":"pdp/product-schema","meta":"Free tool finding · warn","aliases":["pdp/product schema","Product schema is missing"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"Product schema is missing Product schema is missing Add Product JSON-LD that accurately identifies the visible product and its current offer.","passages":["Add Product JSON-LD that accurately identifies the visible product and its current offer."],"popular":0,"url":"https://patrickstox.com/tools/pdp-seo-checker/#finding-pdp-product-schema","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"PDP SEO Checker — Offer price is missing from schema","desc":"Add the current numeric price and currency to the Product offer and keep them synchronized with visible content.","snippetText":"Add the current numeric price and currency to the Product offer and keep them synchronized with visible content.","href":"/tools/pdp-seo-checker/#finding-pdp-offer-price","parentHref":"/tools/pdp-seo-checker/","findingId":"pdp/offer-price","meta":"Free tool finding · warn","aliases":["pdp/offer price","Offer price is missing from schema"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"Offer price is missing from schema Offer price is missing from schema Add the current numeric price and currency to the Product offer and keep them synchronized with visible content.","passages":["Add the current numeric price and currency to the Product offer and keep them synchronized with visible content."],"popular":0,"url":"https://patrickstox.com/tools/pdp-seo-checker/#finding-pdp-offer-price","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"PDP SEO Checker — Availability is missing from schema","desc":"Add the correct schema.org availability URL to the Offer and match the visible stock state.","snippetText":"Add the correct schema.org availability URL to the Offer and match the visible stock state.","href":"/tools/pdp-seo-checker/#finding-pdp-availability","parentHref":"/tools/pdp-seo-checker/","findingId":"pdp/availability","meta":"Free tool finding · warn","aliases":["pdp/availability","Availability is missing from schema"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"Availability is missing from schema Availability is missing from schema Add the correct schema.org availability URL to the Offer and match the visible stock state.","passages":["Add the correct schema.org availability URL to the Offer and match the visible stock state."],"popular":0,"url":"https://patrickstox.com/tools/pdp-seo-checker/#finding-pdp-availability","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"PDP SEO Checker — Schema and visible prices disagree","desc":"Make the visible price, Product JSON-LD, and offer currency represent the same current purchasable offer.","snippetText":"Make the visible price, Product JSON-LD, and offer currency represent the same current purchasable offer.","href":"/tools/pdp-seo-checker/#finding-pdp-price-consistency","parentHref":"/tools/pdp-seo-checker/","findingId":"pdp/price-consistency","meta":"Free tool finding · warn","aliases":["pdp/price consistency","Schema and visible prices disagree"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"Schema and visible prices disagree Schema and visible prices disagree Make the visible price, Product JSON-LD, and offer currency represent the same current purchasable offer.","passages":["Make the visible price, Product JSON-LD, and offer currency represent the same current purchasable offer."],"popular":0,"url":"https://patrickstox.com/tools/pdp-seo-checker/#finding-pdp-price-consistency","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"News SEO Checker","desc":"Audit raw NewsArticle schema, publication-date, and author signals.","snippetText":"Audit raw NewsArticle schema, publication-date, and author signals.","href":"/tools/news-seo-checker/","meta":"Free tool","aliases":[],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"news seo newsarticle top stories","passages":[],"popular":0,"url":"https://patrickstox.com/tools/news-seo-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"News SEO Checker — Article schema is missing","desc":"Add an Article, NewsArticle, or BlogPosting JSON-LD entity that describes the visible story and its canonical URL.","snippetText":"Add an Article, NewsArticle, or BlogPosting JSON-LD entity that describes the visible story and its canonical URL.","href":"/tools/news-seo-checker/#finding-news-article-schema","parentHref":"/tools/news-seo-checker/","findingId":"news/article-schema","meta":"Free tool finding · warn","aliases":["news/article schema","Article schema is missing"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"Article schema is missing Article schema is missing Add an Article, NewsArticle, or BlogPosting JSON-LD entity that describes the visible story and its canonical URL.","passages":["Add an Article, NewsArticle, or BlogPosting JSON-LD entity that describes the visible story and its canonical URL."],"popular":0,"url":"https://patrickstox.com/tools/news-seo-checker/#finding-news-article-schema","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"News SEO Checker — Schema and visible publication dates disagree","desc":"Make datePublished and dateModified match the dates visibly shown to readers, including correct timezone offsets.","snippetText":"Make datePublished and dateModified match the dates visibly shown to readers, including correct timezone offsets.","href":"/tools/news-seo-checker/#finding-news-date-honesty","parentHref":"/tools/news-seo-checker/","findingId":"news/date-honesty","meta":"Free tool finding · warn","aliases":["news/date honesty","Schema and visible publication dates disagree"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"Schema and visible publication dates disagree Schema and visible publication dates disagree Make datePublished and dateModified match the dates visibly shown to readers, including correct timezone offsets.","passages":["Make datePublished and dateModified match the dates visibly shown to readers, including correct timezone offsets."],"popular":0,"url":"https://patrickstox.com/tools/news-seo-checker/#finding-news-date-honesty","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"News SEO Checker — Schema author is missing","desc":"Add an author Person or Organization with a stable name and URL that matches the visible byline.","snippetText":"Add an author Person or Organization with a stable name and URL that matches the visible byline.","href":"/tools/news-seo-checker/#finding-news-author","parentHref":"/tools/news-seo-checker/","findingId":"news/author","meta":"Free tool finding · info","aliases":["news/author","Schema author is missing"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"Schema author is missing Schema author is missing Add an author Person or Organization with a stable name and URL that matches the visible byline.","passages":["Add an author Person or Organization with a stable name and URL that matches the visible byline."],"popular":0,"url":"https://patrickstox.com/tools/news-seo-checker/#finding-news-author","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Local SEO Checker","desc":"Audit raw LocalBusiness schema and visible NAP/service-area signals.","snippetText":"Audit raw LocalBusiness schema and visible NAP/service-area signals.","href":"/tools/local-seo-checker/","meta":"Free tool","aliases":[],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"local seo localbusiness nap","passages":[],"popular":0,"url":"https://patrickstox.com/tools/local-seo-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Local SEO Checker — LocalBusiness schema is missing","desc":"Add valid LocalBusiness JSON-LD with the specific subtype, name, address, telephone, URL, and applicable opening hours.","snippetText":"Add valid LocalBusiness JSON-LD with the specific subtype, name, address, telephone, URL, and applicable opening hours.","href":"/tools/local-seo-checker/#finding-local-schema","parentHref":"/tools/local-seo-checker/","findingId":"local/schema","meta":"Free tool finding · warn","aliases":["local/schema","LocalBusiness schema is missing"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"LocalBusiness schema is missing LocalBusiness schema is missing Add valid LocalBusiness JSON-LD with the specific subtype, name, address, telephone, URL, and applicable opening hours.","passages":["Add valid LocalBusiness JSON-LD with the specific subtype, name, address, telephone, URL, and applicable opening hours."],"popular":0,"url":"https://patrickstox.com/tools/local-seo-checker/#finding-local-schema","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Local SEO Checker — Visible name, address, or phone signals are incomplete","desc":"Display a consistent business name, postal address, and local phone number in crawlable page content and structured data.","snippetText":"Display a consistent business name, postal address, and local phone number in crawlable page content and structured data.","href":"/tools/local-seo-checker/#finding-local-nap","parentHref":"/tools/local-seo-checker/","findingId":"local/nap","meta":"Free tool finding · warn","aliases":["local/nap","Visible name, address, or phone signals are incomplete"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"Visible name, address, or phone signals are incomplete Visible name, address, or phone signals are incomplete Display a consistent business name, postal address, and local phone number in crawlable page content and structured data.","passages":["Display a consistent business name, postal address, and local phone number in crawlable page content and structured data."],"popular":0,"url":"https://patrickstox.com/tools/local-seo-checker/#finding-local-nap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Local SEO Checker — Visible service-area signal is missing","desc":"State the cities or regions served in visible copy and represent the service area accurately in LocalBusiness markup where applicable.","snippetText":"State the cities or regions served in visible copy and represent the service area accurately in LocalBusiness markup where applicable.","href":"/tools/local-seo-checker/#finding-local-service-area","parentHref":"/tools/local-seo-checker/","findingId":"local/service-area","meta":"Free tool finding · info","aliases":["local/service area","Visible service-area signal is missing"],"toolCategories":["vertical-seo","structured-data","on-page-content"],"taxonomy":["vertical-seo","structured-data","on-page-content"],"text":"Visible service-area signal is missing Visible service-area signal is missing State the cities or regions served in visible copy and represent the service area accurately in LocalBusiness markup where applicable.","passages":["State the cities or regions served in visible copy and represent the service area accurately in LocalBusiness markup where applicable."],"popular":0,"url":"https://patrickstox.com/tools/local-seo-checker/#finding-local-service-area","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Internal Link Cluster Visualizer","desc":"Analyze a bounded supplied internal-link graph, orphans, PageRank, and lexical missing-link suggestions.","snippetText":"Analyze a bounded supplied internal-link graph, orphans, PageRank, and lexical missing-link suggestions.","href":"/tools/cluster-visualizer/","meta":"Free tool","aliases":[],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"internal links site architecture pagerank","passages":[],"popular":0,"url":"https://patrickstox.com/tools/cluster-visualizer/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Internal Link Cluster Visualizer — Page has no internal links from the cluster","desc":"Add at least one crawlable contextual link to the orphan from a relevant indexed cluster page, and link back where it helps navigation.","snippetText":"Add at least one crawlable contextual link to the orphan from a relevant indexed cluster page, and link back where it helps navigation.","href":"/tools/cluster-visualizer/#finding-orphan","parentHref":"/tools/cluster-visualizer/","findingId":"orphan","meta":"Free tool finding · high","aliases":["orphan","Page has no internal links from the cluster"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Page has no internal links from the cluster Page has no internal links from the cluster Add at least one crawlable contextual link to the orphan from a relevant indexed cluster page, and link back where it helps navigation.","passages":["Add at least one crawlable contextual link to the orphan from a relevant indexed cluster page, and link back where it helps navigation."],"popular":0,"url":"https://patrickstox.com/tools/cluster-visualizer/#finding-orphan","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Internal Link Cluster Visualizer — Page is isolated from its topic cluster","desc":"Connect the page to its nearest topic cluster with descriptive links from and to the cluster hub or closely related pages.","snippetText":"Connect the page to its nearest topic cluster with descriptive links from and to the cluster hub or closely related pages.","href":"/tools/cluster-visualizer/#finding-isolated","parentHref":"/tools/cluster-visualizer/","findingId":"isolated","meta":"Free tool finding · high","aliases":["isolated","Page is isolated from its topic cluster"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Page is isolated from its topic cluster Page is isolated from its topic cluster Connect the page to its nearest topic cluster with descriptive links from and to the cluster hub or closely related pages.","passages":["Connect the page to its nearest topic cluster with descriptive links from and to the cluster hub or closely related pages."],"popular":0,"url":"https://patrickstox.com/tools/cluster-visualizer/#finding-isolated","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Internal Link Cluster Visualizer — Page has weak internal-link connectivity","desc":"Add a small number of relevant contextual links from stronger cluster pages and replace low-information anchors with topic-specific text.","snippetText":"Add a small number of relevant contextual links from stronger cluster pages and replace low-information anchors with topic-specific text.","href":"/tools/cluster-visualizer/#finding-weakly-connected","parentHref":"/tools/cluster-visualizer/","findingId":"weakly-connected","meta":"Free tool finding · warning","aliases":["weakly connected","Page has weak internal-link connectivity"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Page has weak internal-link connectivity Page has weak internal-link connectivity Add a small number of relevant contextual links from stronger cluster pages and replace low-information anchors with topic-specific text.","passages":["Add a small number of relevant contextual links from stronger cluster pages and replace low-information anchors with topic-specific text."],"popular":0,"url":"https://patrickstox.com/tools/cluster-visualizer/#finding-weakly-connected","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Internal Link Cluster Visualizer — Cluster depends heavily on one bridge page","desc":"Add direct links between the subgroups currently dependent on the bridge so one page is not the sole path connecting the cluster.","snippetText":"Add direct links between the subgroups currently dependent on the bridge so one page is not the sole path connecting the cluster.","href":"/tools/cluster-visualizer/#finding-bridge-page","parentHref":"/tools/cluster-visualizer/","findingId":"bridge-page","meta":"Free tool finding · warning","aliases":["bridge page","Cluster depends heavily on one bridge page"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Cluster depends heavily on one bridge page Cluster depends heavily on one bridge page Add direct links between the subgroups currently dependent on the bridge so one page is not the sole path connecting the cluster.","passages":["Add direct links between the subgroups currently dependent on the bridge so one page is not the sole path connecting the cluster."],"popular":0,"url":"https://patrickstox.com/tools/cluster-visualizer/#finding-bridge-page","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Internal Link Cluster Visualizer — Topic graph is split into disconnected components","desc":"Choose the intended hub and add relevant cross-component links so the disconnected topic groups form one navigable cluster.","snippetText":"Choose the intended hub and add relevant cross-component links so the disconnected topic groups form one navigable cluster.","href":"/tools/cluster-visualizer/#finding-cluster-split","parentHref":"/tools/cluster-visualizer/","findingId":"cluster-split","meta":"Free tool finding · warning","aliases":["cluster split","Topic graph is split into disconnected components"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Topic graph is split into disconnected components Topic graph is split into disconnected components Choose the intended hub and add relevant cross-component links so the disconnected topic groups form one navigable cluster.","passages":["Choose the intended hub and add relevant cross-component links so the disconnected topic groups form one navigable cluster."],"popular":0,"url":"https://patrickstox.com/tools/cluster-visualizer/#finding-cluster-split","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Internal Link Cluster Visualizer — Page cannot be assigned to a topic cluster","desc":"Assign the page to a clear topic and connect it to that topic’s hub; if it serves no distinct intent, consolidate or remove it.","snippetText":"Assign the page to a clear topic and connect it to that topic’s hub; if it serves no distinct intent, consolidate or remove it.","href":"/tools/cluster-visualizer/#finding-unclassified","parentHref":"/tools/cluster-visualizer/","findingId":"unclassified","meta":"Free tool finding · info","aliases":["unclassified","Page cannot be assigned to a topic cluster"],"toolCategories":["on-page-content","crawling-indexing"],"taxonomy":["on-page-content","crawling-indexing"],"text":"Page cannot be assigned to a topic cluster Page cannot be assigned to a topic cluster Assign the page to a clear topic and connect it to that topic’s hub; if it serves no distinct intent, consolidate or remove it.","passages":["Assign the page to a clear topic and connect it to that topic’s hub; if it serves no distinct intent, consolidate or remove it."],"popular":0,"url":"https://patrickstox.com/tools/cluster-visualizer/#finding-unclassified","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Faceted Navigation Auditor","desc":"Classify supplied parameter URLs, surface crawl traps, and advise on facet controls.","snippetText":"Classify supplied parameter URLs, surface crawl traps, and advise on facet controls.","href":"/tools/faceted-navigation-auditor/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"faceted navigation crawl budget parameters","passages":[],"popular":0,"url":"https://patrickstox.com/tools/faceted-navigation-auditor/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Faceted Navigation Auditor — Filter parameter creates crawlable duplication","desc":"Allow only valuable filter combinations to be indexed and canonicalize or block low-value variants consistently.","snippetText":"Allow only valuable filter combinations to be indexed and canonicalize or block low-value variants consistently.","href":"/tools/faceted-navigation-auditor/#finding-filter-duplication","parentHref":"/tools/faceted-navigation-auditor/","findingId":"filter-duplication","meta":"Free tool finding · high","aliases":["filter duplication","Filter parameter creates crawlable duplication"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Filter parameter creates crawlable duplication Filter parameter creates crawlable duplication Allow only valuable filter combinations to be indexed and canonicalize or block low-value variants consistently.","passages":["Allow only valuable filter combinations to be indexed and canonicalize or block low-value variants consistently."],"popular":0,"url":"https://patrickstox.com/tools/faceted-navigation-auditor/#finding-filter-duplication","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Faceted Navigation Auditor — Sort parameter creates duplicate URL variants","desc":"Canonicalize sort-order URLs to the unsorted category and keep sort links out of crawlable index paths.","snippetText":"Canonicalize sort-order URLs to the unsorted category and keep sort links out of crawlable index paths.","href":"/tools/faceted-navigation-auditor/#finding-sort-duplication","parentHref":"/tools/faceted-navigation-auditor/","findingId":"sort-duplication","meta":"Free tool finding · warning","aliases":["sort duplication","Sort parameter creates duplicate URL variants"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Sort parameter creates duplicate URL variants Sort parameter creates duplicate URL variants Canonicalize sort-order URLs to the unsorted category and keep sort links out of crawlable index paths.","passages":["Canonicalize sort-order URLs to the unsorted category and keep sort links out of crawlable index paths."],"popular":0,"url":"https://patrickstox.com/tools/faceted-navigation-auditor/#finding-sort-duplication","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Faceted Navigation Auditor — Pagination pattern expands crawl space","desc":"Keep paginated URLs crawlable only when they expose unique products, with stable links and self-canonicals.","snippetText":"Keep paginated URLs crawlable only when they expose unique products, with stable links and self-canonicals.","href":"/tools/faceted-navigation-auditor/#finding-pagination-pattern","parentHref":"/tools/faceted-navigation-auditor/","findingId":"pagination-pattern","meta":"Free tool finding · info","aliases":["pagination pattern","Pagination pattern expands crawl space"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Pagination pattern expands crawl space Pagination pattern expands crawl space Keep paginated URLs crawlable only when they expose unique products, with stable links and self-canonicals.","passages":["Keep paginated URLs crawlable only when they expose unique products, with stable links and self-canonicals."],"popular":0,"url":"https://patrickstox.com/tools/faceted-navigation-auditor/#finding-pagination-pattern","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Faceted Navigation Auditor — Tracking parameter creates indexable variants","desc":"Strip tracking parameters from internal links and canonicalize parameterized variants to the clean URL.","snippetText":"Strip tracking parameters from internal links and canonicalize parameterized variants to the clean URL.","href":"/tools/faceted-navigation-auditor/#finding-tracking-parameter","parentHref":"/tools/faceted-navigation-auditor/","findingId":"tracking-parameter","meta":"Free tool finding · warning","aliases":["tracking parameter","Tracking parameter creates indexable variants"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Tracking parameter creates indexable variants Tracking parameter creates indexable variants Strip tracking parameters from internal links and canonicalize parameterized variants to the clean URL.","passages":["Strip tracking parameters from internal links and canonicalize parameterized variants to the clean URL."],"popular":0,"url":"https://patrickstox.com/tools/faceted-navigation-auditor/#finding-tracking-parameter","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Faceted Navigation Auditor — Facet variant lacks canonical consolidation","desc":"Add a canonical from the low-value facet variant to the preferred indexable category URL.","snippetText":"Add a canonical from the low-value facet variant to the preferred indexable category URL.","href":"/tools/faceted-navigation-auditor/#finding-canonical-gap","parentHref":"/tools/faceted-navigation-auditor/","findingId":"canonical-gap","meta":"Free tool finding · warning","aliases":["canonical gap","Facet variant lacks canonical consolidation"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Facet variant lacks canonical consolidation Facet variant lacks canonical consolidation Add a canonical from the low-value facet variant to the preferred indexable category URL.","passages":["Add a canonical from the low-value facet variant to the preferred indexable category URL."],"popular":0,"url":"https://patrickstox.com/tools/faceted-navigation-auditor/#finding-canonical-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Faceted Navigation Auditor — Low-value facet remains indexable","desc":"Noindex or otherwise remove low-value facet combinations from indexable crawl paths while preserving useful categories.","snippetText":"Noindex or otherwise remove low-value facet combinations from indexable crawl paths while preserving useful categories.","href":"/tools/faceted-navigation-auditor/#finding-indexability-gap","parentHref":"/tools/faceted-navigation-auditor/","findingId":"indexability-gap","meta":"Free tool finding · warning","aliases":["indexability gap","Low-value facet remains indexable"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Low-value facet remains indexable Low-value facet remains indexable Noindex or otherwise remove low-value facet combinations from indexable crawl paths while preserving useful categories.","passages":["Noindex or otherwise remove low-value facet combinations from indexable crawl paths while preserving useful categories."],"popular":0,"url":"https://patrickstox.com/tools/faceted-navigation-auditor/#finding-indexability-gap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Faceted Navigation Auditor — Calendar URL pattern creates a crawl trap","desc":"Limit crawlable calendar paths and expose only useful date pages through internal links and indexable URLs.","snippetText":"Limit crawlable calendar paths and expose only useful date pages through internal links and indexable URLs.","href":"/tools/faceted-navigation-auditor/#finding-calendar-trap","parentHref":"/tools/faceted-navigation-auditor/","findingId":"calendar-trap","meta":"Free tool finding · high","aliases":["calendar trap","Calendar URL pattern creates a crawl trap"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Calendar URL pattern creates a crawl trap Calendar URL pattern creates a crawl trap Limit crawlable calendar paths and expose only useful date pages through internal links and indexable URLs.","passages":["Limit crawlable calendar paths and expose only useful date pages through internal links and indexable URLs."],"popular":0,"url":"https://patrickstox.com/tools/faceted-navigation-auditor/#finding-calendar-trap","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Faceted Navigation Auditor — Parameter pattern has high cardinality","desc":"Consolidate or block low-value generated variants and keep a bounded set of crawlable landing pages.","snippetText":"Consolidate or block low-value generated variants and keep a bounded set of crawlable landing pages.","href":"/tools/faceted-navigation-auditor/#finding-high-cardinality","parentHref":"/tools/faceted-navigation-auditor/","findingId":"high-cardinality","meta":"Free tool finding · high","aliases":["high cardinality","Parameter pattern has high cardinality"],"toolCategories":["crawling-indexing"],"taxonomy":["crawling-indexing"],"text":"Parameter pattern has high cardinality Parameter pattern has high cardinality Consolidate or block low-value generated variants and keep a bounded set of crawlable landing pages.","passages":["Consolidate or block low-value generated variants and keep a bounded set of crawlable landing pages."],"popular":0,"url":"https://patrickstox.com/tools/faceted-navigation-auditor/#finding-high-cardinality","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Staging vs. Production SEO Diff","desc":"Compare matched release URLs across redirects, canonicals, robots directives, hreflang, selected headers, schema eligibility, and raw or optionally rendered content with honest not-evaluated states.","snippetText":"Compare matched release URLs across redirects, canonicals, robots directives, hreflang, selected headers, schema eligibility, and raw or optionally rendered content with honest not-evaluated states.","href":"/tools/staging-production-seo-diff/","meta":"Free tool","aliases":["accepts url","produces url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"staging seo release qa seo diff schema rendering accepts url produces url produces report generic http html wordpress shopify nextjs vercel","passages":["accepts url","produces url","produces report","generic http html","wordpress","shopify","nextjs vercel"],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — HTTP status changed between environments","desc":"Make production return the intended status code, or document the release change before promoting the staging response behavior.","snippetText":"Make production return the intended status code, or document the release change before promoting the staging response behavior.","href":"/tools/staging-production-seo-diff/#finding-status-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"status-changed","meta":"Free tool finding · fail","aliases":["status changed","HTTP status changed between environments"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"HTTP status changed between environments HTTP status changed between environments Make production return the intended status code, or document the release change before promoting the staging response behavior.","passages":["Make production return the intended status code, or document the release change before promoting the staging response behavior."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-status-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — Title changed between staging and production","desc":"Replace or supplement the aging evidence with a current authoritative source.","snippetText":"Replace or supplement the aging evidence with a current authoritative source.","href":"/tools/staging-production-seo-diff/#finding-title-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"title-changed","meta":"Free tool finding · warning","aliases":["title changed","Title changed between staging and production"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"Title changed between staging and production Title changed between staging and production Replace or supplement the aging evidence with a current authoritative source.","passages":["Replace or supplement the aging evidence with a current authoritative source."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-title-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — Meta description changed","desc":"Restore the approved meta description or update the release specification so staging and production use the same intended copy.","snippetText":"Restore the approved meta description or update the release specification so staging and production use the same intended copy.","href":"/tools/staging-production-seo-diff/#finding-description-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"description-changed","meta":"Free tool finding · warning","aliases":["description changed","Meta description changed"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"Meta description changed Meta description changed Restore the approved meta description or update the release specification so staging and production use the same intended copy.","passages":["Restore the approved meta description or update the release specification so staging and production use the same intended copy."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-description-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — Canonical changed","desc":"Point both environments at the approved canonical target before release, accounting for the expected staging-to-production hostname change.","snippetText":"Point both environments at the approved canonical target before release, accounting for the expected staging-to-production hostname change.","href":"/tools/staging-production-seo-diff/#finding-canonical-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"canonical-changed","meta":"Free tool finding · fail","aliases":["canonical changed","Canonical changed"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"Canonical changed Canonical changed Point both environments at the approved canonical target before release, accounting for the expected staging-to-production hostname change.","passages":["Point both environments at the approved canonical target before release, accounting for the expected staging-to-production hostname change."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-canonical-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — Robots directives changed","desc":"Align robots meta and X-Robots-Tag directives with the release plan so production is not accidentally blocked or exposed.","snippetText":"Align robots meta and X-Robots-Tag directives with the release plan so production is not accidentally blocked or exposed.","href":"/tools/staging-production-seo-diff/#finding-robots-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"robots-changed","meta":"Free tool finding · fail","aliases":["robots changed","Robots directives changed"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"Robots directives changed Robots directives changed Align robots meta and X-Robots-Tag directives with the release plan so production is not accidentally blocked or exposed.","passages":["Align robots meta and X-Robots-Tag directives with the release plan so production is not accidentally blocked or exposed."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-robots-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — hreflang annotations changed","desc":"Restore the intended hreflang set and make production annotations reference the final reciprocal production URLs.","snippetText":"Restore the intended hreflang set and make production annotations reference the final reciprocal production URLs.","href":"/tools/staging-production-seo-diff/#finding-hreflang-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"hreflang-changed","meta":"Free tool finding · warning","aliases":["hreflang changed","hreflang annotations changed"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"hreflang annotations changed hreflang annotations changed Restore the intended hreflang set and make production annotations reference the final reciprocal production URLs.","passages":["Restore the intended hreflang set and make production annotations reference the final reciprocal production URLs."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-hreflang-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — Heading structure changed","desc":"Restore the approved heading hierarchy or confirm the new headings preserve the page topic and section structure before release.","snippetText":"Restore the approved heading hierarchy or confirm the new headings preserve the page topic and section structure before release.","href":"/tools/staging-production-seo-diff/#finding-heading-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"heading-changed","meta":"Free tool finding · warning","aliases":["heading changed","Heading structure changed"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"Heading structure changed Heading structure changed Restore the approved heading hierarchy or confirm the new headings preserve the page topic and section structure before release.","passages":["Restore the approved heading hierarchy or confirm the new headings preserve the page topic and section structure before release."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-heading-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — Visible content changed materially","desc":"Review the changed production copy against the approved release and restore any missing or unintended visible content.","snippetText":"Review the changed production copy against the approved release and restore any missing or unintended visible content.","href":"/tools/staging-production-seo-diff/#finding-content-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"content-changed","meta":"Free tool finding · warning","aliases":["content changed","Visible content changed materially"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"Visible content changed materially Visible content changed materially Review the changed production copy against the approved release and restore any missing or unintended visible content.","passages":["Review the changed production copy against the approved release and restore any missing or unintended visible content."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-content-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — Structured data entities changed","desc":"Restore the approved structured-data entities and required properties, substituting final production URLs where expected.","snippetText":"Restore the approved structured-data entities and required properties, substituting final production URLs where expected.","href":"/tools/staging-production-seo-diff/#finding-structured-data-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"structured-data-changed","meta":"Free tool finding · warning","aliases":["structured data changed","Structured data entities changed"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"Structured data entities changed Structured data entities changed Restore the approved structured-data entities and required properties, substituting final production URLs where expected.","passages":["Restore the approved structured-data entities and required properties, substituting final production URLs where expected."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-structured-data-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Staging vs. Production SEO Diff — Internal links changed materially","desc":"Restore missing internal links or approve the changed destinations, then verify production links resolve directly to final URLs.","snippetText":"Restore missing internal links or approve the changed destinations, then verify production links resolve directly to final URLs.","href":"/tools/staging-production-seo-diff/#finding-links-changed","parentHref":"/tools/staging-production-seo-diff/","findingId":"links-changed","meta":"Free tool finding · warning","aliases":["links changed","Internal links changed materially"],"toolCategories":["site-health","rendering-js","structured-data"],"taxonomy":["site-health","rendering-js","structured-data"],"text":"Internal links changed materially Internal links changed materially Restore missing internal links or approve the changed destinations, then verify production links resolve directly to final URLs.","passages":["Restore missing internal links or approve the changed destinations, then verify production links resolve directly to final URLs."],"popular":0,"url":"https://patrickstox.com/tools/staging-production-seo-diff/#finding-links-changed","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Scout Site Audit Free","desc":"Run a bounded same-site raw-HTML crawl, group technical SEO findings by detector, and export an honest coverage report.","snippetText":"Run a bounded same-site raw-HTML crawl, group technical SEO findings by detector, and export an honest coverage report.","href":"/tools/site-audit-lite/","meta":"Free tool","aliases":[],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"site audit technical seo crawl on-page seo","passages":[],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — Title is missing","desc":"Add a concise, unique title that describes the page, then rerun the check.","snippetText":"Add a concise, unique title that describes the page, then rerun the check.","href":"/tools/site-audit-lite/#finding-meta-title-missing","parentHref":"/tools/site-audit-lite/","findingId":"meta/title-missing","meta":"Free tool finding · fail","aliases":["meta/title missing","Title is missing"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"Title is missing Title is missing Add a concise, unique title that describes the page, then rerun the check. rule:page.indexability-signals","passages":["Add a concise, unique title that describes the page, then rerun the check."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-meta-title-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — H1 is missing","desc":"Add one descriptive H1 that states the page’s primary topic, then rerun the analysis.","snippetText":"Add one descriptive H1 that states the page’s primary topic, then rerun the analysis.","href":"/tools/site-audit-lite/#finding-headings-missing-h1","parentHref":"/tools/site-audit-lite/","findingId":"headings/missing-h1","meta":"Free tool finding · warning","aliases":["headings/missing h1","H1 is missing"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"H1 is missing H1 is missing Add one descriptive H1 that states the page’s primary topic, then rerun the analysis. rule:page.indexability-signals","passages":["Add one descriptive H1 that states the page’s primary topic, then rerun the analysis."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-headings-missing-h1","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — Non-navigational links are present","desc":"Replace empty, hash-only, or javascript links with real destination URLs; use buttons for actions that do not navigate.","snippetText":"Replace empty, hash-only, or javascript links with real destination URLs; use buttons for actions that do not navigate.","href":"/tools/site-audit-lite/#finding-links-empty-anchor","parentHref":"/tools/site-audit-lite/","findingId":"links/empty-anchor","meta":"Free tool finding · warning","aliases":["links/empty anchor","Non-navigational links are present"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"Non-navigational links are present Non-navigational links are present Replace empty, hash-only, or javascript links with real destination URLs; use buttons for actions that do not navigate.","passages":["Replace empty, hash-only, or javascript links with real destination URLs; use buttons for actions that do not navigate."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-links-empty-anchor","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — Images lack alt attributes","desc":"Add concise alternative text that communicates each meaningful image’s purpose.","snippetText":"Add concise alternative text that communicates each meaningful image’s purpose.","href":"/tools/site-audit-lite/#finding-images-alt-coverage","parentHref":"/tools/site-audit-lite/","findingId":"images/alt-coverage","meta":"Free tool finding · warning","aliases":["images/alt coverage","Images lack alt attributes"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"Images lack alt attributes Images lack alt attributes Add concise alternative text that communicates each meaningful image’s purpose.","passages":["Add concise alternative text that communicates each meaningful image’s purpose."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-images-alt-coverage","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — Low visible text volume","desc":"Review whether the observed text is complete for the page’s purpose. Add useful information only when something material is missing; do not pad the word count.","snippetText":"Review whether the observed text is complete for the page’s purpose. Add useful information only when something material is missing; do not pad the word count.","href":"/tools/site-audit-lite/#finding-content-thin-content","parentHref":"/tools/site-audit-lite/","findingId":"content/thin-content","meta":"Free tool finding · info","aliases":["content/thin content","Low visible text volume"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"Low visible text volume Low visible text volume Review whether the observed text is complete for the page’s purpose. Add useful information only when something material is missing; do not pad the word count.","passages":["Review whether the observed text is complete for the page’s purpose. Add useful information only when something material is missing; do not pad the word count."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-content-thin-content","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — Page returns a non-200 response","desc":"Restore an intended live page to 200, or update internal links to the correct final URL.","snippetText":"Restore an intended live page to 200, or update internal links to the correct final URL.","href":"/tools/site-audit-lite/#finding-http-non-200","parentHref":"/tools/site-audit-lite/","findingId":"http/non-200","meta":"Free tool finding · fail","aliases":["http/non 200","Page returns a non-200 response"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"Page returns a non-200 response Page returns a non-200 response Restore an intended live page to 200, or update internal links to the correct final URL.","passages":["Restore an intended live page to 200, or update internal links to the correct final URL."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-http-non-200","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — Page is blocked from indexing","desc":"Remove noindex from pages meant to be indexed, or keep it only when exclusion is intentional.","snippetText":"Remove noindex from pages meant to be indexed, or keep it only when exclusion is intentional.","href":"/tools/site-audit-lite/#finding-indexability-noindex","parentHref":"/tools/site-audit-lite/","findingId":"indexability/noindex","meta":"Free tool finding · fail","aliases":["indexability/noindex","Page is blocked from indexing"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"Page is blocked from indexing Page is blocked from indexing Remove noindex from pages meant to be indexed, or keep it only when exclusion is intentional. rule:page.indexability-signals","passages":["Remove noindex from pages meant to be indexed, or keep it only when exclusion is intentional."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-indexability-noindex","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — Canonical signals conflict","desc":"Return one canonical URL and make HTML and HTTP Link canonical signals agree.","snippetText":"Return one canonical URL and make HTML and HTTP Link canonical signals agree.","href":"/tools/site-audit-lite/#finding-canonical-conflict","parentHref":"/tools/site-audit-lite/","findingId":"canonical/conflict","meta":"Free tool finding · fail","aliases":["canonical/conflict","Canonical signals conflict"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"Canonical signals conflict Canonical signals conflict Return one canonical URL and make HTML and HTTP Link canonical signals agree. rule:page.indexability-signals","passages":["Return one canonical URL and make HTML and HTTP Link canonical signals agree."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-canonical-conflict","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — Meta description is missing","desc":"Add a concise page-specific meta description to each affected template or page.","snippetText":"Add a concise page-specific meta description to each affected template or page.","href":"/tools/site-audit-lite/#finding-meta-description-missing","parentHref":"/tools/site-audit-lite/","findingId":"meta/description-missing","meta":"Free tool finding · warning","aliases":["meta/description missing","Meta description is missing"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"Meta description is missing Meta description is missing Add a concise page-specific meta description to each affected template or page. rule:page.indexability-signals","passages":["Add a concise page-specific meta description to each affected template or page."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-meta-description-missing","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Scout Site Audit Free — Structured data is absent","desc":"Add supported structured data only to pages whose visible content satisfies the markup requirements.","snippetText":"Add supported structured data only to pages whose visible content satisfies the markup requirements.","href":"/tools/site-audit-lite/#finding-schema-none","parentHref":"/tools/site-audit-lite/","findingId":"schema/none","meta":"Free tool finding · info","aliases":["schema/none","Structured data is absent"],"toolCategories":["crawling-indexing","on-page-content"],"taxonomy":["crawling-indexing","on-page-content"],"text":"Structured data is absent Structured data is absent Add supported structured data only to pages whose visible content satisfies the markup requirements. rule:schema.structured-data-validity","passages":["Add supported structured data only to pages whose visible content satisfies the markup requirements."],"popular":0,"url":"https://patrickstox.com/tools/site-audit-lite/#finding-schema-none","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Semantic Site Map","desc":"Explore this site's build-time semantic center, topic coherence, article outliers, and nearest editorial neighbors.","snippetText":"Explore this site's build-time semantic center, topic coherence, article outliers, and nearest editorial neighbors.","href":"/tools/siteradius/","meta":"Free tool","aliases":[],"toolCategories":["structured-data","on-page-content"],"taxonomy":["structured-data","on-page-content"],"text":"semantic site map topic clusters content strategy embeddings internal links","passages":[],"popular":0,"url":"https://patrickstox.com/tools/siteradius/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Semantic Site Map — Eligible corpus is too small for comparison","desc":"Publish or approve enough eligible human-reviewed articles for a meaningful comparison, then rebuild the report.","snippetText":"Publish or approve enough eligible human-reviewed articles for a meaningful comparison, then rebuild the report.","href":"/tools/siteradius/#finding-corpus-too-small","parentHref":"/tools/siteradius/","findingId":"corpus-too-small","meta":"Free tool finding · not-evaluated","aliases":["corpus too small","Eligible corpus is too small for comparison"],"toolCategories":["structured-data","on-page-content"],"taxonomy":["structured-data","on-page-content"],"text":"Eligible corpus is too small for comparison Eligible corpus is too small for comparison Publish or approve enough eligible human-reviewed articles for a meaningful comparison, then rebuild the report.","passages":["Publish or approve enough eligible human-reviewed articles for a meaningful comparison, then rebuild the report."],"popular":0,"url":"https://patrickstox.com/tools/siteradius/#finding-corpus-too-small","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Semantic Site Map — Article is far from the corpus topic center","desc":"Review whether the article intentionally expands the site’s scope; connect it to the relevant topic or revise its focus if not.","snippetText":"Review whether the article intentionally expands the site’s scope; connect it to the relevant topic or revise its focus if not.","href":"/tools/siteradius/#finding-topic-outlier","parentHref":"/tools/siteradius/","findingId":"topic-outlier","meta":"Free tool finding · warning","aliases":["topic outlier","Article is far from the corpus topic center"],"toolCategories":["structured-data","on-page-content"],"taxonomy":["structured-data","on-page-content"],"text":"Article is far from the corpus topic center Article is far from the corpus topic center Review whether the article intentionally expands the site’s scope; connect it to the relevant topic or revise its focus if not.","passages":["Review whether the article intentionally expands the site’s scope; connect it to the relevant topic or revise its focus if not."],"popular":0,"url":"https://patrickstox.com/tools/siteradius/#finding-topic-outlier","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Semantic Site Map — Article is distant from its nearest content cluster","desc":"Review the article against its assigned cluster and clarify its topic or cluster placement when the distance is unintended.","snippetText":"Review the article against its assigned cluster and clarify its topic or cluster placement when the distance is unintended.","href":"/tools/siteradius/#finding-cluster-outlier","parentHref":"/tools/siteradius/","findingId":"cluster-outlier","meta":"Free tool finding · warning","aliases":["cluster outlier","Article is distant from its nearest content cluster"],"toolCategories":["structured-data","on-page-content"],"taxonomy":["structured-data","on-page-content"],"text":"Article is distant from its nearest content cluster Article is distant from its nearest content cluster Review the article against its assigned cluster and clarify its topic or cluster placement when the distance is unintended.","passages":["Review the article against its assigned cluster and clarify its topic or cluster placement when the distance is unintended."],"popular":0,"url":"https://patrickstox.com/tools/siteradius/#finding-cluster-outlier","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Semantic Site Map — Corpus is split across weakly connected topic groups","desc":"Create deliberate editorial bridges between genuinely related topic groups instead of forcing unrelated clusters together.","snippetText":"Create deliberate editorial bridges between genuinely related topic groups instead of forcing unrelated clusters together.","href":"/tools/siteradius/#finding-cluster-fragmentation","parentHref":"/tools/siteradius/","findingId":"cluster-fragmentation","meta":"Free tool finding · info","aliases":["cluster fragmentation","Corpus is split across weakly connected topic groups"],"toolCategories":["structured-data","on-page-content"],"taxonomy":["structured-data","on-page-content"],"text":"Corpus is split across weakly connected topic groups Corpus is split across weakly connected topic groups Create deliberate editorial bridges between genuinely related topic groups instead of forcing unrelated clusters together.","passages":["Create deliberate editorial bridges between genuinely related topic groups instead of forcing unrelated clusters together."],"popular":0,"url":"https://patrickstox.com/tools/siteradius/#finding-cluster-fragmentation","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool-finding","contentType":"tool","title":"Semantic Site Map — Corpus has low topical coherence","desc":"Review the broadest clusters and split or refocus pages only where the model’s evidence matches editorial intent.","snippetText":"Review the broadest clusters and split or refocus pages only where the model’s evidence matches editorial intent.","href":"/tools/siteradius/#finding-low-coherence","parentHref":"/tools/siteradius/","findingId":"low-coherence","meta":"Free tool finding · warning","aliases":["low coherence","Corpus has low topical coherence"],"toolCategories":["structured-data","on-page-content"],"taxonomy":["structured-data","on-page-content"],"text":"Corpus has low topical coherence Corpus has low topical coherence Review the broadest clusters and split or refocus pages only where the model’s evidence matches editorial intent.","passages":["Review the broadest clusters and split or refocus pages only where the model’s evidence matches editorial intent."],"popular":0,"url":"https://patrickstox.com/tools/siteradius/#finding-low-coherence","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Commodity Content / Information Gain Checker","desc":"Compare one page with 3–5 competitors to inspect deterministic overlap, unique statements, and an artifact-bound Experience proxy.","snippetText":"Compare one page with 3–5 competitors to inspect deterministic overlap, unique statements, and an artifact-bound Experience proxy.","href":"/tools/commodity-content-checker/","meta":"Free tool","aliases":[],"toolCategories":["on-page-content","ai-visibility"],"taxonomy":["on-page-content","ai-visibility"],"text":"information gain commodity content content audit competitor ai search","passages":[],"popular":0,"url":"https://patrickstox.com/tools/commodity-content-checker/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"tools","kind":"tool","contentType":"tool","title":"Pre-publish Comparison","desc":"Compare draft and live HTML locally across normalized head signals, heading outlines, and structured data with honest not-evaluated states.","snippetText":"Compare draft and live HTML locally across normalized head signals, heading outlines, and structured data with honest not-evaluated states.","href":"/tools/prepublish-comparison/","meta":"Free tool","aliases":[],"toolCategories":["site-health","on-page-content"],"taxonomy":["site-health","on-page-content"],"text":"pre-publish seo release qa html diff canonical hreflang","passages":[],"popular":0,"url":"https://patrickstox.com/tools/prepublish-comparison/","pillar":null},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Content Hub","desc":"Articles, guides, research, talks, podcasts, and newsletters about SEO.","href":"/content/","text":"content articles guides research talks podcasts newsletters seo","snippetText":"Articles, guides, research, talks, podcasts, and newsletters about SEO.","aliases":[],"popular":0,"url":"https://patrickstox.com/content/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Free SEO Tools","desc":"Free technical SEO, content, performance, and search marketing tools.","href":"/tools/","text":"free seo tools checkers generators validators","snippetText":"Free technical SEO, content, performance, and search marketing tools.","aliases":[],"popular":0,"url":"https://patrickstox.com/tools/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"SEO Services","desc":"Technical SEO consulting, audits, strategy, and advisory services.","href":"/services/","text":"services consulting audits strategy advisory","snippetText":"Technical SEO consulting, audits, strategy, and advisory services.","aliases":[],"popular":0,"url":"https://patrickstox.com/services/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Contact Patrick Stox","desc":"Get in touch about consulting, speaking, product advice, or collaboration.","href":"/contact/","text":"contact email consulting speaking collaboration","snippetText":"Get in touch about consulting, speaking, product advice, or collaboration.","aliases":[],"popular":0,"url":"https://patrickstox.com/contact/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Expert panel","desc":"Verified industry experts who annotate articles and answer reader questions.","href":"/experts/","text":"experts annotations answers leaderboard community","snippetText":"Verified industry experts who annotate articles and answer reader questions.","aliases":[],"popular":0,"url":"https://patrickstox.com/experts/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Expert bounty board","desc":"Open reader questions where verified experts can contribute answers.","href":"/experts/bounty/","text":"expert questions answers bounty board community","snippetText":"Open reader questions where verified experts can contribute answers.","aliases":[],"popular":0,"url":"https://patrickstox.com/experts/bounty/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Thought Leadership","desc":"Opinions, predictions, and where the search industry is heading.","href":"/thought-leadership/","text":"thought leadership opinions predictions","snippetText":"Opinions, predictions, and where the search industry is heading.","aliases":[],"popular":0,"url":"https://patrickstox.com/thought-leadership/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Crawler & AI bot reference","desc":"Search, AI training, and AI-search crawlers, published ranges, and verification guidance.","href":"/bots/","text":"bots crawlers user agents ip ranges ai search","snippetText":"Search, AI training, and AI-search crawlers, published ranges, and verification guidance.","aliases":[],"popular":0,"url":"https://patrickstox.com/bots/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Site stats","desc":"Open, first-party stats for patrickstox.com.","href":"/stats/","text":"analytics traffic content reactions performance","snippetText":"Open, first-party stats for patrickstox.com.","aliases":[],"popular":0,"url":"https://patrickstox.com/stats/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Site graph","desc":"Explore the site structure, internal links, and content relationships.","href":"/site-graph/","text":"graph internal links pagerank content relationships","snippetText":"Explore the site structure, internal links, and content relationships.","aliases":[],"popular":0,"url":"https://patrickstox.com/site-graph/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"For agents","desc":"Markdown endpoints and JSON indexes for agents.","href":"/for-agents/","text":"agents llm markdown json","snippetText":"Markdown endpoints and JSON indexes for agents.","aliases":[],"popular":0,"url":"https://patrickstox.com/for-agents/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Patrick Stox Tools Fetcher","desc":"How user-triggered SEO tool requests identify themselves and how site owners can block them.","href":"/fetcher/","text":"fetcher user agent crawler tools requests blocking","snippetText":"How user-triggered SEO tool requests identify themselves and how site owners can block them.","aliases":[],"popular":0,"url":"https://patrickstox.com/fetcher/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"About Patrick Stox","desc":"SEO consultant, product advisor, speaker, author, and community builder.","href":"/about/","text":"patrick stox biography experience","snippetText":"SEO consultant, product advisor, speaker, author, and community builder.","aliases":[],"popular":0,"url":"https://patrickstox.com/about/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Workspace","desc":"A local-first workspace for moving SEO findings through investigation and action.","href":"/workspace/","text":"workspace projects findings action plans seo","snippetText":"A local-first workspace for moving SEO findings through investigation and action.","aliases":[],"popular":0,"url":"https://patrickstox.com/workspace/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Traverse Watchtower","desc":"Monitor important technical SEO signals and review public Patrick Stox site history.","href":"/watchtower/","text":"watchtower monitoring technical seo changes alerts history","snippetText":"Monitor important technical SEO signals and review public Patrick Stox site history.","aliases":[],"popular":0,"url":"https://patrickstox.com/watchtower/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Privacy Policy","desc":"How this site handles analytics, submitted information, and privacy choices.","href":"/privacy/","text":"privacy data analytics consent policy","snippetText":"How this site handles analytics, submitted information, and privacy choices.","aliases":[],"popular":0,"url":"https://patrickstox.com/privacy/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Terms of Use","desc":"Terms governing use of this site and its tools.","href":"/terms/","text":"terms use legal tools","snippetText":"Terms governing use of this site and its tools.","aliases":[],"popular":0,"url":"https://patrickstox.com/terms/","pillar":null,"taxonomy":[],"toolCategories":[]},{"schemaVersion":2,"lang":"en","segment":"pages","kind":"page","contentType":"page","meta":"Site page","passages":[],"title":"Changelog","desc":"Release notes and a history of improvements to this site.","href":"/changelog/","text":"release notes site changes updates improvements history","snippetText":"Release notes and a history of improvements to this site.","aliases":[],"popular":0,"url":"https://patrickstox.com/changelog/","pillar":null,"taxonomy":[],"toolCategories":[]}]}