SEO
Help search engines and real people find your site with solid page basics, social cards, sitemaps, structured data, and performance.
SEO is really just this: helping search engines and real people find your site. It sounds mystical, but you don't need any dark magic — nail a handful of basics and you're 80% of the way there. This guide walks you through those basics one at a time.
SEO isn't a one-shot deal. It's "get the foundations right, then let them compound." A site with genuinely useful content that loads fast and gets crawled correctly will outrun clever tricks every time over the long run.
Page basics
A search engine's first impression of your page comes from a few foundational HTML tags. Every page should have:
- A unique, descriptive
<title>— the blue headline in search results. Make it different on every page, around 50–60 characters. - A
<meta name="description">— the snippet shown under the title. Around 150 characters; write it to be enticing, because it affects whether people click. - One clear
<h1>— exactly one per page, telling the engine what this page is actually about. - A canonical URL — tells the engine the "official" address for this page, so duplicates like
?ref=xxxor trailing-slash variants don't split your ranking signals.
<head>
<meta charset="utf-8" />
<title>Cheap VPS Buying Guide · Patet</title>
<meta name="description" content="Compare the top budget VPS providers in 2026: price, specs, free tiers, and use cases — launch for the least money." />
<link rel="canonical" href="https://patet.xyz/en/docs/cheap-cloud" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>Don't ship the same <title> and description on every page (many frameworks default to exactly that), and don't stuff keywords. Both duplication and stuffing get flagged as low quality.
Social share cards (Open Graph)
When someone drops your link into X, Slack, Telegram, or iMessage, that preview card with the image comes from Open Graph tags. Get them right and your links look far more professional — and get clicked more.
<!-- Open Graph -->
<meta property="og:title" content="Cheap VPS Buying Guide" />
<meta property="og:description" content="Compare top budget VPS providers and launch for the least money." />
<meta property="og:image" content="https://patet.xyz/og/cheap-cloud.png" />
<meta property="og:url" content="https://patet.xyz/en/docs/cheap-cloud" />
<meta property="og:type" content="article" />
<!-- Twitter / X -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Cheap VPS Buying Guide" />
<meta name="twitter:description" content="Compare top budget VPS providers and launch for the least money." />
<meta name="twitter:image" content="https://patet.xyz/og/cheap-cloud.png" />The key piece is the OG image: aim for 1200×630 pixels, use an absolute URL (starting with https://), and put the title text right on the image so the thumbnail speaks for itself.
Don't want to hand-write all of these? Use the SEO snippet generator — fill in a few fields and it spits out the meta, Open Graph, and Twitter tags ready to copy-paste.
robots.txt and sitemap.xml
These two files are the signposts you put up for search crawlers:
robots.txt— lives at your site root (https://yourdomain/robots.txt) and tells crawlers what they may or may not fetch, plus points them to your sitemap.sitemap.xml— lists every page you want indexed so crawlers learn your content in one shot instead of slowly discovering it.
A small-site-friendly robots.txt:
User-agent: *
Allow: /
Sitemap: https://patet.xyz/sitemap.xmlThe simplest possible sitemap.xml:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://patet.xyz/en/docs/cheap-cloud</loc>
<lastmod>2026-06-09</lastmod>
</url>
<url>
<loc>https://patet.xyz/en/docs/domain</loc>
<lastmod>2026-06-09</lastmod>
</url>
</urlset>First thing after launch: confirm you did not accidentally block your whole site. A Disallow: / in robots.txt, or a <meta name="robots" content="noindex"> on your pages, means you'll never get indexed — this is the single most common reason a new site "can't find itself" in search.
You can generate both files with the SEO snippet generator too.
Structured data (JSON-LD)
Structured data is a standardized blob of JSON that tells search engines exactly what your site or article is, giving you a shot at "rich results" (sitelinks, breadcrumbs, star ratings, and so on). The two easiest to add are WebSite and Organization:
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Patet",
"url": "https://patet.xyz",
"description": "Practical guides for taking your AI / vibe-coded project live",
"publisher": {
"@type": "Organization",
"name": "Patet",
"url": "https://patet.xyz"
}
}Drop it into a <script type="application/ld+json"> tag in your page's <head>. Once it's in, paste your URL into Google's Rich Results Test (search.google.com/test/rich-results) to confirm there are no errors.
Performance & Core Web Vitals
Faster sites rank better and convert better — this isn't superstition. Google explicitly uses loading performance (Core Web Vitals) as a ranking factor, and real users are even less patient with slow pages. A few high-impact moves:
- Optimize images — use WebP/AVIF, export at display size, and don't drop a 4000px original into a 200px slot.
- Lazy-load — add
loading="lazy"to below-the-fold images so the first screen paints sooner. - Use a CDN — serve static assets from the edge so everyone, everywhere, gets them fast. The easiest path is in Set up Cloudflare — the free tier gives you CDN and caching.
- Minimize JS — drop unused dependencies and third-party scripts; if a page can be static, skip the heavy framework.
- Measure it — run Lighthouse (built into Chrome DevTools) or PageSpeed Insights (pagespeed.web.dev) and work through its recommendations one by one.
Measure first, then fix. Lighthouse will tell you exactly "this image is too big, this JS blocks rendering" — acting on that beats optimizing on a hunch.
Get indexed
A sitemap alone isn't enough — you have to actively check in so search engines know you exist:
Set up Google Search Console
Go to search.google.com/search-console, add your site, and verify ownership (a DNS TXT record is the cleanest — a few minutes with Cloudflare). Once verified, submit your sitemap.xml, then use the URL Inspection tool to request indexing of individual pages.
Set up Bing Webmaster Tools
Go to bing.com/webmasters, add the site, and submit your sitemap there too. The good news: it can import directly from Google Search Console in one click, so you don't redo the work.
For China users: Baidu Search Resource Platform
If your audience is in mainland China, register and verify your site at ziyuan.baidu.com and submit your sitemap. Note: Baidu favors sites with a Chinese ICP filing and tends to index slower than Google, so be patient.
Indexing happens on the scale of days, not minutes. It's normal to wait days or weeks after submitting a new site — don't keep fiddling just because you can't find it the next morning.
Multilingual (hreflang)
If you have both Chinese and English versions like this site does, use hreflang to tell search engines "the same content exists in these languages." That way Chinese users get the Chinese page, English users get the English one, and the two versions don't fight each other as duplicate content.
<link rel="alternate" hreflang="en" href="https://patet.xyz/en/docs/seo" />
<link rel="alternate" hreflang="zh" href="https://patet.xyz/zh/docs/seo" />
<link rel="alternate" hreflang="x-default" href="https://patet.xyz/zh/docs/seo" />x-default says which version to fall back to when no language matches. Remember: each language version must list all the languages (including itself), pointing at each other, for it to work.
Content & links
This is the most important point — and the one with no shortcut: genuinely useful content plus a few quality backlinks beat every trick.
- Content is king — a page that truly solves a real problem naturally earns visits, time on page, and shares, and those signals matter more than any keyword stuffing.
- A few quality backlinks — links from a handful of relevant, trustworthy sites beat hundreds of links from spam.
- Avoid the cheats — buying links, keyword stuffing, hidden text, and auto-generated filler may work briefly but get clawed back by the algorithm eventually.
Honestly writing things that help people is the highest-ROI SEO there is.
Analytics
After launch you need to know whether anyone shows up, what they look at, and where they came from. Install an analytics tool — but prefer a privacy-friendly one, which respects users and sidesteps compliance headaches:
- Plausible / Umami — lightweight, cookieless, no consent banner needed; Umami can also be self-hosted.
- Cloudflare Web Analytics — if you're already on Cloudflare, flip it on for free with zero extra script weight.
- GA4 (Google Analytics) — the most full-featured and free, but heavier and comes with privacy-compliance work; use if you need it.
With real data you'll learn which content actually brings traffic, so you can spend your energy in the right places.
Checklist for this step
- Every page has a unique
<title>, meta description, one<h1>, and a canonical - Open Graph / Twitter cards plus an OG image are set up
robots.txtallows indexing and points to the sitemap;sitemap.xmlis submitted- WebSite/Organization JSON-LD is added and passes the Rich Results Test
- Performance checked with Lighthouse/PageSpeed; images optimized, lazy-loading on, CDN in place
- Site verified in Google Search Console (plus Bing / Baidu if needed) and sitemap submitted
- hreflang and x-default configured for multilingual sites
- Privacy-friendly analytics installed
See the full launch checklist.