This comprehensive checklist combines core SEO, technical site performance, social sharing, and structured data into a single "master list." The Ultimate On-Page SEO Checklist 1. Core Document Tags (R...
This comprehensive checklist combines core SEO, technical site performance, social sharing, and structured data into a single "master list."
The Ultimate On-Page SEO Checklist
1. Core Document Tags (Required)
These are the non-negotiables for every single page.
- <title>: The single most important on-page element. Keep it between 50–60 characters.
- <meta name="description">: The "ad copy" for your page. Keep it between 150–160 characters to avoid truncation.
- <meta charset="UTF-8">: Ensures text renders correctly across all browsers.
- <meta name="viewport" content="width=device-width, initial-scale=1">: A requirement for mobile-first indexing.
- <html lang="en">: (Inside the <html> tag) Vital for screen readers and search engines to identify the target audience.
2. Technical & International SEO
These tags control how crawlers interact with your site and handle performance.
- <link rel="canonical" href="...">: Prevents duplicate content by telling Google which version of a URL is the "master" copy.
- <meta name="robots" content="index, follow">: Use index, follow for public pages and noindex, nofollow for admin, thank-you, or search results pages.
- <link rel="alternate" hreflang="x" href="...">: Essential if you have versions of the site in different languages (e.g., es for Spanish, en-ca for English Canada).
- **<link rel="preconnect"> / <link rel="dns-prefetch">**: Speeds up the loading of external assets (like Google Fonts or CDNs).
- <link rel="icon" href="/favicon.ico">: Now displayed directly in Google SERPs on both mobile and desktop.
3. Social SEO (Open Graph & Twitter Cards)
These ensure your content looks professional and clickable when shared on social platforms.
Tag Purpose og:title The headline used in social snippets. og:description The summary displayed below the headline. og:image The thumbnail image (1200x630px recommended). og:type Usually website or article. twitter:card Set to summary_large_image for the most visual impact.
4. Semantic Content Structure
Google uses the hierarchy of your content to understand the context.
- <h1>: Only one per page. It should contain your primary keyword.
- **<h2> to <h6>**: Use these to break up content logically.
- <img> alt="...": Essential for accessibility and Image Search rankings.
- Internal Links: Use descriptive anchor text rather than "click here."
5. Advanced Structured Data (JSON-LD)
Schema markup helps Google generate "Rich Snippets" (stars, prices, breadcrumbs).
- Organization Schema: Defines your brand, logo, and contact info.
- Breadcrumb Schema: Changes the URL display in search results to a hierarchy (e.g., Home > Products > Solar).
- Product Schema: (If applicable) Displays price, availability, and review ratings directly in search results.
6. The "Do Not Use" List
Avoid these outdated practices:
- ❌ Meta Keywords: Google has ignored <meta name="keywords"> for over a decade.
- ❌ Multiple H1s: This confuses the content hierarchy.
- ❌ Hidden Text: Placing keywords in white text on a white background will get you penalized.
If you want your website to have all these by default check https://mangoblogger.com
Ready-to-Use HTML Head Template
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Primary Keyword | Brand Name</title> <meta name="description" content="A compelling summary of your page under 160 characters."> <link rel="canonical" href="https://www.example.com/page-url"> <meta name="robots" content="index, follow"> <link rel="icon" href="/favicon.ico"> <meta property="og:type" content="website"> <meta property="og:title" content="Page Title for Social Media"> <meta property="og:description" content="Social media specific description."> <meta property="og:image" content="https://www.example.com/social-image.jpg"> <meta property="og:url" content="https://www.example.com/page-url"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Page Title for Twitter"> <meta name="twitter:description" content="Twitter specific description."> <meta name="twitter:image" content="https://www.example.com/social-image.jpg"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Category", "item": "https://www.example.com/category" },{ "@type": "ListItem", "position": 2, "name": "Current Page", "item": "https://www.example.com/category/page" }] } </script> </head>