SEO guidelines every website should follow
Search engine optimization has a reputation for being complicated, but a big part of it comes down to fundamentals. Search engines crawl millions of pages every day and reward the ones that are well structured, fast and easy to understand. The surprising part is how many websites, including professionally built ones, still fail at the basics and quietly lose positions in search results because of it.
These fundamentals are not hard to implement. Most of them require nothing more than clean HTML, a few meta tags and correct server configuration. This article covers the essential requirements every website should comply with, along with practical examples showing how to get them right and how to verify them.
Page titles and meta descriptions
The title tag is still one of the strongest on page signals. It tells search engines what the page is about and it is the first thing users see in search results. Every page needs a unique title that describes its content, ideally between 50 and 60 characters so it does not get truncated in the results page. The most important keywords should appear at the beginning, since both users and search engines give more weight to the start of the title. Stuffing keywords or reusing the same title across the site are common mistakes that hurt more than they help.
The meta description does not directly influence rankings, but it heavily influences click through rate. A clear, relevant description around 150 to 160 characters acts as free advertising space in the results page. When it is missing, search engines generate one from the page content, and the result is often a random snippet that convinces nobody to click. Google also rewrites descriptions it considers irrelevant to the query, so the best defense is writing one that genuinely summarizes the page.
<head>
<title>Basic SEO Guidelines Every Website Should Follow</title>
<meta name="description" content="Essential SEO requirements for every website: heading structure, canonical links, image optimization, sitemaps and structured data, with practical examples.">
</head>
Keep in mind that each page competes on its own. Duplicated titles and descriptions across multiple URLs dilute relevance and make it harder for search engines to decide which page to show for a given query. Tools like Google Search Console report duplicated and truncated titles across the whole site, which makes auditing straightforward.
Heading structure
Headings give a page its skeleton. Search engines use them to understand the hierarchy of the content, and screen readers rely on them for navigation. The rule is simple: one h1 per page describing the main topic, followed by h2 elements for sections and h3 elements for subsections, always in order and without skipping levels.
In practice, many websites break this constantly. Pages with multiple h1 tags, headings chosen for their font size instead of their meaning, or an h4 appearing right after an h1 are everywhere. A particularly common case is the site logo wrapped in an h1 on every page, which tells search engines that every single page is about the company name. Styling belongs in CSS, structure belongs in HTML, and mixing those two responsibilities is what causes most heading problems.
<h1>Basic SEO guidelines</h1>
<h2>Page titles and meta descriptions</h2>
<p>...</p>
<h2>Heading structure</h2>
<h3>Common mistakes</h3>
<p>...</p>
Headings also feed featured snippets. When a page answers a question under a clear, descriptive heading, Google frequently lifts that block straight into position zero. A quick way to audit the structure is to strip the page down to its headings only, using browser extensions or the accessibility tree in developer tools. If the outline reads like a coherent table of contents, the structure is correct.
Canonical links and duplicate content
Duplicate content is one of the most frequent causes of ranking problems, and it usually happens without anyone noticing. The same page is often reachable through several URLs: with and without trailing slash, with tracking parameters, through http and https, or via www and non www variants. Search engines see each variant as a separate page and split the ranking signals between them, so instead of one strong page the site ends up with several weak ones.
The canonical link solves this by declaring which URL is the official one. Every page should include it, even when no duplicates exist, because it protects the page from parameters added by third parties, such as UTM tags from newsletters and social networks.
<link rel="canonical" href="https://www.hibit.dev/posts/288/seo-guidelines-every-website-should-follow">
The canonical URL must be absolute, must point to a page that returns a 200 status code and must be consistent with the URLs used in the sitemap and internal links. A canonical pointing to a redirect or a 404 sends contradictory signals and gets ignored. The declaration should also be complemented at the server level with permanent redirects, so only one variant of each URL is actually reachable.
# Redirect non www to www with a single permanent redirect
server {
listen 443 ssl;
server_name hibit.dev;
return 301 https://www.hibit.dev$request_uri;
}
Redirect chains deserve attention here too. Every extra hop wastes crawl budget and loses a small amount of link equity, so old URLs should redirect to their final destination in one step, not through a chain of intermediate redirects accumulated over years of migrations.
URL structure and internal linking
Clean URLs are easier to read, easier to share and easier to rank. A good URL is short, lowercase, uses hyphens as word separators and describes the content without query strings or numeric identifiers. Once published, a URL should stay stable forever, and when a change is unavoidable, a 301 redirect must preserve the accumulated signals.
Good: https://www.hibit.dev/posts/288/seo-guidelines-every-website-should-follow
Bad: https://www.hibit.dev/index.php?page_id=4821&cat=7
Internal linking is the most underused SEO tool available. Links between related pages distribute authority through the site, help crawlers discover deep content and tell search engines which pages matter most. Descriptive anchor text is part of the signal: a link saying SEO guidelines every website should follow carries meaning, a link saying click here carries none. Important pages should be reachable within three clicks from the homepage, because pages buried deeper get crawled less often and rank worse.
Orphan pages, meaning pages with no internal links pointing to them, are a silent problem. They may exist in the sitemap, but the lack of internal references signals low importance. Crawling tools detect them quickly, and fixing them is usually a matter of adding contextual links from related articles.
Image optimization
Images are usually the heaviest resources on a page and one of the most neglected. Two aspects matter here: how images are described and how they are delivered. On the description side, every meaningful image needs an alt attribute. It makes the content accessible, gives search engines context and allows images to rank in image search, which can be a real traffic source for technical content. Descriptive file names help too, since sleep-mode-current-measurement.webp says considerably more than IMG_8842.webp.
On the delivery side, images should be compressed, served in modern formats like WebP or AVIF and sized appropriately for their container. Explicit width and height attributes let the browser reserve space before the image loads, preventing layout shifts. The srcset attribute allows serving different resolutions to different screens, so a phone does not download an image sized for a 4K monitor.
<img
src="/images/seo-guidelines-cover-800.webp"
srcset="/images/seo-guidelines-cover-400.webp 400w,
/images/seo-guidelines-cover-800.webp 800w"
sizes="(max-width: 600px) 400px, 800px"
alt="Diagram of the basic SEO elements of a web page"
width="800"
height="450"
loading="lazy">
Lazy loading should apply to images below the fold only. Applying it to the main image at the top of the page delays its rendering and works against the user experience it was supposed to improve. A page full of 3 MB PNG screenshots can easily weigh ten times more than it should, so automating compression in the build or upload pipeline removes the human factor and keeps the problem from coming back.
Mobile friendliness
Google uses the mobile version of a page to decide what gets indexed and how it ranks, a practice known as mobile first indexing. A site that looks great on a monitor but breaks on a phone is ranked based on the broken version. The starting point is the viewport meta tag, which tells the browser to render the page at the device width instead of pretending to be a desktop screen.
<meta name="viewport" content="width=device-width, initial-scale=1">
Beyond the viewport, the requirements are practical: a base font size of at least 16 pixels so text is readable without zooming, tap targets of roughly 48 by 48 pixels so buttons can be pressed with a finger, no horizontal scrolling and no intrusive popups covering the content on arrival, which Google penalizes explicitly.
There is one consequence of mobile first indexing that catches many sites off guard. Content hidden on mobile through display none, or sections that simply do not exist in the mobile layout, are invisible to search engines. If the desktop version has rich content and the mobile version is a stripped down summary, the stripped down summary is what gets indexed and ranked. Content collapsed behind accordions or tabs is fine, since it exists in the HTML, but content removed entirely from the mobile markup is gone.
Sitemaps and robots.txt
Search engines discover pages by following links, but a sitemap makes the process explicit. It lists every URL that should be indexed along with its last modification date, helping crawlers find new and updated content faster. The sitemap should only contain canonical, indexable URLs that return a 200 status code. Including redirects, 404 pages or URLs blocked by robots.txt sends mixed signals and degrades the trust search engines put in the file.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.hibit.dev/posts/288/seo-guidelines-every-website-should-follow</loc>
<lastmod>2026-08-03</lastmod>
</url>
</urlset>
The lastmod value should reflect real content changes. Updating it on every deployment for pages that did not change trains crawlers to ignore it. Sites with more than 50,000 URLs need a sitemap index splitting the list into multiple files, and the sitemap should be submitted through Google Search Console, where indexing errors are reported per URL.
The robots.txt file plays the opposite role, telling crawlers what to skip. It should block administrative areas, internal search results and other pages with no search value, and it should reference the sitemap location.
User-agent: *
Disallow: /admin/
Disallow: /search
Sitemap: https://www.example.com/sitemap.xml
One clarification that trips people up constantly: robots.txt controls crawling, not indexing. A page blocked in robots.txt can still appear in search results if other sites link to it, just without a description. Removing a page from the index requires a noindex meta tag, and that tag only works if the page is crawlable, so blocking it in robots.txt at the same time prevents the noindex from ever being seen. The most destructive mistake in this area remains deploying a staging robots.txt with a blanket disallow rule to production, which removes the entire site from search results.
<!-- Keep out of the index but let crawlers follow the links -->
<meta name="robots" content="noindex, follow">
Structured data
Structured data describes the page content in a format search engines can parse without guessing. It powers rich results like article snippets with dates, product cards with ratings and prices, breadcrumbs, FAQ blocks and how to instructions. Those enhanced results take more space in the results page and attract more clicks than plain blue links, so they are worth the small effort they require.
The recommended format is JSON-LD placed in the head of the page, since it keeps the markup separate from the visible HTML. The schema.org vocabulary covers hundreds of types, but a handful of them do most of the work: Article for posts, Product for e-commerce, BreadcrumbList for navigation, FAQPage for question sections and Organization or WebSite for the homepage.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "SEO guidelines every website should follow",
"datePublished": "2026-08-03",
"dateModified": "2026-08-03",
"image": "https://www.hibit.dev/images/seo-guidelines-cover.webp",
"author": {
"@type": "Person",
"name": "HiBit"
}
}
</script>
The markup must reflect the actual page content. Marking up reviews that do not exist or dates that do not match is treated as spam and can trigger manual penalties that remove all rich results from the site. Google's Rich Results Test validates the markup and shows exactly which enhancements the page qualifies for, and Search Console reports structured data errors across the whole site as they appear.
HTTPS and technical hygiene
HTTPS has been a ranking signal since 2014 and a baseline expectation ever since browsers started marking plain http pages as not secure. The migration must be complete: every http URL redirecting to its https equivalent with a 301, no mixed content warnings from resources still loaded over http, and internal links updated to the secure protocol.
Status codes are part of the same hygiene. Pages that no longer exist should return a real 404 or 410, not a 200 with a "not found" message, a pattern known as a soft 404 that wastes crawl budget and pollutes the index. Moved content gets a 301 to its new location. Server errors in the 5xx range, when they persist, cause search engines to slow down crawling and eventually drop pages from the index, so monitoring them matters beyond user experience.
For multilingual sites, hreflang annotations tell search engines which language version to show to which audience, preventing the Spanish version from ranking in French results. Each version must reference all the others, including itself, and the annotations must be reciprocal or they get ignored.
<link rel="alternate" hreflang="en" href="https://www.hibit.dev/en/posts/basic-seo-guidelines">
<link rel="alternate" hreflang="es" href="https://www.hibit.dev/es/posts/guia-basica-seo">
<link rel="alternate" hreflang="x-default" href="https://www.hibit.dev/en/posts/basic-seo-guidelines">
None of these items is difficult individually. The difficulty is remembering all of them, which is why a periodic technical audit with a crawler catches regressions that accumulate silently between releases.
Conclusion
Search engines reward clarity, and every guideline covered here exists to remove ambiguity about what a page is and how it should be treated. Most of it comes down to consistency and attention to details that are easy to overlook, rather than deep technical skill. Sites that get these fundamentals right build a stable base that every other optimization effort can stand on, while sites that skip them are working against themselves in search results without realizing it.
0 Comments