I’ve recently been building a new app, which I’ll release later, and I was going through all the things that you need to do for a new site, or a new route page on the Internet, so I built an SEO checklist for a new site. Below is the list, which is valid for the first part of 2026. (Why? Because things change. Want an update? Contact me.)
1. Page Identity (<head> meta tags)
- ☐ Title tag — Unique, descriptive, under 60 characters. Put the most important keyword first.
- ☐ Meta description — 150–160 characters. Write it like ad copy — it shows in search results. Include a keyword naturally.
- ☐ Meta keywords — Less important than it used to be (Google ignores it), but Bing still reads it. Include 5–8 relevant terms.
- ☐ Meta author — Your name or organization.
- ☐ Meta robots —
content="index, follow"for pages you want indexed. Usenoindexfor admin pages, thank-you pages, etc.
2. Canonical & Duplicate Content
- ☐ Canonical link tag — Always include
<link rel="canonical" href="https://yourdomain.com/">on every page. This tells Google which version is authoritative and prevents duplicate content penalties (e.g., if your page is accessible at bothwww.and non-www.versions).
3. Open Graph Tags (Social Sharing)
These control how your page looks when shared on Facebook, LinkedIn, Slack, etc.
- ☐
og:title— Page title (can differ from the<title>tag) - ☐
og:description— Summary shown in link previews - ☐
og:type— Usuallywebsitefor root pages;articlefor blog posts - ☐
og:url— The canonical URL of the page (absolute URL with domain) - ☐
og:image— Absolute URL to a preview image. Must be absolute (crawlers fetch it externally). Recommended size: 1200×630px.
4. Twitter Card Tags
Separate from OpenGraph — Twitter/X uses these even though they’re similar.
- ☐
twitter:card— Usesummary_large_imageif you have a good image;summaryfor icon-only - ☐
twitter:title - ☐
twitter:description - ☐
twitter:image— Absolute URL; minimum 144×144px forsummary, 300×157px forsummary_large_image
5. JSON-LD Structured Data
Structured data helps Google understand what your page is, not just what it says. Use schema.org types.
- ☐ Choose the right
@typefor your page:WebSite— general sitesWebApplication— tools and appsArticle/BlogPosting— content pagesLocalBusiness— brick-and-mortarProduct— e-commerce
- ☐ Include
name,description,url - ☐ Include
authorwith@type: PersonorOrganization - ☐ For tools/apps: include
applicationCategory,operatingSystem, andoffers(even if free — setprice: "0") - ☐ Validate with Google’s Rich Results Test after deploying
6. robots.txt
- ☐ Create
/robots.txtat the domain root - ☐
Allow: /— allow crawling of your public content - ☐
Disallow:any paths that shouldn’t be indexed (API endpoints, admin areas, static asset directories) - ☐ Add
Sitemap:A directive pointing to your sitemap URL - ☐ Verify it’s accessible at
https://yourdomain.com/robots.txt
7. sitemap.xml
- ☐ Create
/sitemap.xmllisting all public pages - ☐ Each
<url>entry should include:<loc>— absolute URL<lastmod>— date last modified (ISO 8601 format:2026-03-07)<changefreq>—daily,weekly,monthly, etc.<priority>—1.0for your root page; lower for secondary pages
- ☐ Reference it in
robots.txt - ☐ Submit it to Google Search Console and Bing Webmaster Tools
8. Technical Fundamentals
- ☐ HTTPS — Non-negotiable. Google penalizes HTTP sites. Get a free cert via Let’s Encrypt if needed.
- ☐ Viewport meta tag —
<meta name="viewport" content="width=device-width, initial-scale=1.0">— required for mobile-friendliness, which is a ranking factor. - ☐ Favicon — Browsers show it in tabs and bookmarks. Use SVG for modern browsers (scales perfectly) or provide a 32×32
.icofor older ones. - ☐ Page load speed — Google uses Core Web Vitals. Minimize render-blocking JS/CSS, compress images, and use a CDN for static assets. Keep your page load time below 4 seconds.
- ☐ Language attribute —
<html lang="en">— helps screen readers and search engines understand your content language. - ☐ llms.txt file —Generate an
llms.txtfile at your domain root to improve AI bot visibility — it tells large language model crawlers what your site is about and how to use it responsibly
9. Content Structure (On-Page SEO)
- ☐ One
<h1>per page — Should contain your primary keyword. Don’t use it for decorative text. - ☐ Logical heading hierarchy —
<h1>→<h2>→<h3>. Don’t skip levels. - ☐ Alt text on all images — Describe what the image shows. Blind users and search crawlers both rely on this.
- ☐ Descriptive anchor text — “Learn more about sitemap scanning” is better than “Click here.”
10. After Launch
- ☐ Submit to Google Search Console — Add your property, verify ownership, submit your sitemap
- ☐ Submit to Bing Webmaster Tools — Separate submission; Bing also powers DuckDuckGo
- ☐ Set up analytics — Google Analytics or a privacy-friendly alternative (Plausible, Fathom)
- ☐ Check for crawl errors — Google Search Console will flag pages it can’t index
- ☐ Test social sharing — Use Facebook’s Sharing Debugger and LinkedIn Post Inspector to verify your OG tags render correctly
Quick priority order if you’re short on time: canonical → title + description → robots.txt → sitemap → OG tags → JSON-LD → Twitter Cards → the rest.
