TSO
Technical SEO Optimization
Lock down permalinks, canonicals, robots meta, lowercase URLs, and clean redirects so every page has one canonical, indexable address with no duplication.
- Set permalinks to a clean slug pattern with one trailing-slash policy sitewide
- Add a self-referencing canonical link to every indexable page head
- Add an index, follow robots meta with image-preview and snippet directives
- Force lowercase URLs in server config to prevent case-duplicate indexing
- Resolve www/non-www and http/https with single 301 redirects, no chains
- 301-redirect or 410 thin, duplicate, or orphan pages flagged in Search Console
Validation: Screaming Frog crawl shows zero duplicate canonicals, zero redirect chains, zero mixed-case URLs.
ARC
Site Architecture Optimization
Keep every page within three clicks of the homepage, add breadcrumbs and an HTML sitemap, and use hub-and-spoke topical clusters with descriptive anchors.
- Limit every page to a maximum of three clicks from the homepage
- Add breadcrumb navigation with BreadcrumbList JSON-LD on every non-homepage template
- Build a public HTML sitemap listing top-level sections and key pages
- Implement hub-and-spoke topical clusters with bidirectional pillar/sub-page links
- Use descriptive anchor text on internal links, never click here or read more alone
- Keep URL slugs under sixty characters with hyphens and no stop words
Validation: Crawl depth report shows zero pages beyond depth three and breadcrumbs validate in Rich Results Test.
MTO
Meta Tag Optimization
Write unique titles, descriptions, Open Graph, Twitter Card, theme color, and language meta tags per page so SERP previews and social shares render correctly.
- Write unique title tags 50 to 60 characters with primary keyword near the front
- Write unique meta descriptions 140 to 160 characters in active voice with a CTA
- Add full Open Graph set including og:title, description, image, type, and url
- Add Twitter Card tags including summary_large_image, title, description, and image
- Add a theme-color meta tag matching brand color for mobile browser chrome
- Add Content-Language meta and html lang attribute for language signals
Validation: Every URL renders correctly in metatags.io and OpenGraph.xyz previews.
SDO
Structured Data Optimization
Insert Organization, WebSite, LocalBusiness, Article, Service, and FAQ JSON-LD with absolute @id values so schema graphs validate and link cleanly across pages.
- Insert Organization and WebSite JSON-LD with SearchAction in the head of every page
- Add LocalBusiness schema with full NAP, hours, geo coordinates, and areaServed
- Add Article plus Author Person plus datePublished and dateModified on article pages
- Add Service schema with provider, areaServed, and hasOfferCatalog on service pages
- Add FAQPage JSON-LD only where content genuinely answers user questions
- Use absolute URLs in all @id values so schema graphs link cleanly across types
Validation: Every page passes Google Rich Results Test and Schema.org validator with zero errors.
XSO
XML Sitemap Optimization
Generate a dynamic XML sitemap with accurate lastmod, exclude noindex URLs, split when oversized, and submit it through Search Console and Bing Webmaster Tools.
- Enable a dynamic XML sitemap via the active SEO plugin or framework module
- Confirm lastmod updates on every content edit, not only on first publish
- Split sitemaps when over 50,000 URLs or 50MB into a sitemap index file
- Exclude noindex pages, redirects, and parameter URLs from the sitemap
- Add separate image and video sitemaps where applicable
- Submit sitemap URLs in Google Search Console and Bing Webmaster Tools
Validation: Sitemap returns 200, validates as XML, and every listed URL is indexable.
RPO
Robots Protocol Optimization
Maintain an explicit robots.txt with bot-specific rules, sitemap declaration, no blocked CSS or JS, and tested syntax through Search Console.
- Create an exact robots.txt at root with allow, disallow, and sitemap directives
- Add explicit user-agent rules for GPTBot, ClaudeBot, and PerplexityBot per client preference
- Block known scraper bots only when the client requests it, not by default
- Never block CSS, JS, or image directories needed for rendering
- Test robots.txt in Google Search Console tester before deploying
Validation: robots.txt returns 200 plain text and Search Console tester shows zero blocked critical resources.
RDO
Redirect Optimization
Maintain a clean redirect map with 301s applied at server level, no chains, no JS-based redirects, and 410s used for permanently retired URLs.
- Add 301 redirects only via server config, never JavaScript or meta refresh
- Eliminate redirect chains so every redirect points directly to the final URL
- Fix every 404 in Search Console Coverage with a 301 to the most relevant live URL
- Use 302 only for true temporary redirects like A/B tests or seasonal pages
- Maintain a redirect map spreadsheet for every site migration or restructure
Validation: Screaming Frog shows zero chains, zero 302s on permanent moves, and zero 4xx in the sitemap.
EEA
E-E-A-T Entity Optimization
Build out Person and Organization schema with sameAs to authoritative profiles, link Wikidata and Knowledge Graph nodes, and claim Google Business Profile.
- Add Person JSON-LD for the business owner with sameAs to Wikidata, LinkedIn, and socials
- Reference your Wikidata Q-ID in author schema across all editorial content
- Add a knowsAbout array to Person schema listing topical expertise areas
- Build an author page per content contributor with bio, credentials, photo, and social links
- Cross-link Organization schema to founder Person schema via founder property
- Claim and complete Google Business Profile with verified ownership
Validation: Person schema validates, Wikidata entry resolves, and knowledge panel candidate eligibility is confirmed.
INO
IndexNow Optimization
Wire IndexNow API key submission into publish hooks so Bing and Yandex receive instant pings for new and updated URLs.
- Generate an IndexNow API key and place it at the matching .txt file at root
- Install IndexNow plugin or add a publish-hook API call in the CMS
- Submit every new and updated URL via POST on save or publish
- Use the urlList batch endpoint for bulk submissions during migrations
- Monitor submission logs to confirm 200 responses from Bing and Yandex
Validation: Test submission returns HTTP 200 and URL appears in Bing index within 24 hours.
LMO
llms.txt Optimization
Publish llms.txt and llms-full.txt with site purpose, key URLs, and rules so AI crawlers can find context and citation-friendly markdown content.
- Create llms.txt at root with site purpose, key URLs, and crawler rules
- Create an expanded llms-full.txt with full markdown context for AI training and retrieval
- Reference both files from robots.txt via Sitemap-style declarations
- Format llms.txt per the emerging spec with H1 title, blockquote summary, and sectioned link lists
- Update on major content additions so AI crawlers retrieve fresh context
Validation: Both files return 200 plain text and llms.txt validates against the current spec.