SEO Fundamentals Cheat Sheet
Covers essential meta tags, structured data with JSON-LD, key on-page ranking factors, and a technical SEO checklist.
Structured Data (JSON-LD)
Helping search engines understand page content.
<script type="application/ld+json">{ "@context": "https://schema.org", "@type": "Article", "headline": "How Grid Works", "author": { "@type": "Person", "name": "Jane Doe" }, "datePublished": "2026-07-01", "image": "https://example.com/cover.jpg"}</script>
On-Page SEO Factors
Elements you control directly on each page.
- Title tag- the single strongest on-page ranking signal; keep it unique per page
- H1- one per page, describes the primary topic, ideally includes the target keyword
- Internal linking- links between your own pages pass authority and help crawlers discover content
- Image alt text- describes images for accessibility and for image search results
- URL structure- short, descriptive, hyphen-separated paths, e.g. /blog/css-grid-guide
- Content depth / E-E-A-T- Experience, Expertise, Authoritativeness, and Trustworthiness signals search engines weigh
Technical SEO Checklist
Site-wide factors that affect crawling and indexing.
- robots.txt- controls which paths crawlers are allowed to access
- sitemap.xml- lists indexable URLs to aid discovery; typically submitted via Search Console
- Core Web Vitals- LCP, INP, and CLS, performance metrics that factor into ranking
- Canonical tags- prevent duplicate-content penalties across similar or duplicate URLs
- Mobile-friendliness- Google indexes the mobile version of a page first (mobile-first indexing)
- HTTPS- a baseline ranking signal and a prerequisite for many modern web APIs
hreflang for International & Multi-Language SEO
Telling search engines which language/region variant to serve for a query.
<link rel="alternate" hreflang="en-us" href="https://example.com/us/" /><link rel="alternate" hreflang="en-gb" href="https://example.com/uk/" /><link rel="alternate" hreflang="fr" href="https://example.com/fr/" /><link rel="alternate" hreflang="x-default" href="https://example.com/" /><!-- Rules: - hreflang tags must be reciprocal: every page must link back to every other variant - x-default is the fallback shown when no other hreflang matches the user's locale - Combine with self-referencing hreflang (the page must link to itself too) -->
Advanced Robots Meta Directives
Fine-grained control over snippets and indexing beyond index/noindex.
<meta name="robots" content="noindex, nofollow" /><!-- Limit how much of the page Google may show in a snippet --><meta name="robots" content="max-snippet:160, max-image-preview:large, max-video-preview:30" /><!-- Prevent Google from serving a cached copy of the page --><meta name="robots" content="noarchive" /><!-- Bot-specific overrides take precedence over the generic robots tag --><meta name="googlebot" content="noindex" /><meta name="bingbot" content="index" /><!-- Non-HTML resources (PDFs, images) use the X-Robots-Tag HTTP header instead --><!-- X-Robots-Tag: noindex, nofollow -->
Sitemap Index & lastmod Hygiene
Splitting large sites into multiple sitemaps and keeping freshness signals accurate.
<!-- sitemap-index.xml: points to per-section sitemaps, each capped at 50k URLs / 50MB --><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>https://example.com/sitemap-blog.xml</loc> <lastmod>2026-07-01</lastmod> </sitemap> <sitemap> <loc>https://example.com/sitemap-products.xml</loc> <lastmod>2026-07-15</lastmod> </sitemap></sitemapindex><!-- lastmod must reflect a REAL content change, not the build timestamp - Google downweights sitemaps whose lastmod is inaccurate or always "today" -->
Crawl Budget & JS Rendering Concepts
Site-scale factors that matter once a site grows past a few thousand pages.
- Crawl budget- the number of URLs Googlebot will crawl on your site in a given period; wasted on low-value/duplicate pages it never reaches new content
- Faceted navigation traps- filter/sort URL combinations can generate near-infinite duplicate URLs; block via robots.txt or parameter handling, not just canonical tags
- Two-phase indexing- Google crawls HTML first, queues JS-rendered pages for a second rendering pass that can lag by days; critical content should be in server-rendered HTML
- Log file analysis- reviewing server logs for actual Googlebot hits reveals crawl waste that Search Console's sampled data misses
- Orphan pages- pages with no internal links pointing to them are hard to crawl and rank even if they're in the sitemap
- Soft 404s- pages that return HTTP 200 but show "not found" content confuse crawlers into indexing empty pages
Pagination Handling for SEO
Avoiding duplicate/thin content across paginated series since rel=next/prev was deprecated.
<!-- Google deprecated rel="next"/"prev" in 2019 - each paginated page is now treated as its own indexable entity. Best practice today: --><!-- 1. Self-referencing canonical on each page (don't canonicalize page 2 to page 1) --><link rel="canonical" href="https://example.com/blog?page=2" /><!-- 2. Unique, descriptive title per page --><title>Blog - Page 2 of 14 | SkillVeris</title><!-- 3. Optionally offer a single "view all" page for crawlers/users who want everything, and canonicalize component pages to it only if content is genuinely equivalent -->
A canonical tag is a hint, not a directive: Google can and does choose a different canonical URL if your internal linking, sitemap, and redirects disagree with the tag, so keep all three signals consistent.