On-page SEO is everything you control on the page itself: the title, the headings, the copy, the images, the internal links, and the markup describing all of it.
It is also the area with the most accumulated folklore, because it is the most visible and therefore the most written about. Keyword density targets, exact match repetition, LSI keywords, and various heading rules survive in checklists long after they stopped corresponding to anything.
The Title Tag Is Still the Single Highest Leverage Element
Nothing else on the page carries comparable weight relative to how easy it is to change.
Put the primary term near the front, because both readers and truncation favour the left. Keep it under roughly sixty characters so it survives display without being cut. Write it as something a person would click rather than as a keyword string.
Google rewrites titles frequently, which some people read as evidence titles no longer matter. The correct reading is that Google rewrites titles it judges unhelpful, and a title that accurately describes the page and matches its query is less likely to be replaced. Keyword stuffed titles get rewritten most.
Every page needs a unique title. Duplicate titles across a site are a signal that pages are undifferentiated, and they make it harder for Google to work out which page answers which query.
Meta Descriptions Do Not Rank and Still Matter
Meta description has not been a ranking factor for many years and saying so is not a reason to skip it.
It influences click through rate from the results page, which is a real outcome even without being a direct ranking input. A description that accurately previews the answer earns clicks a generic one does not.
Google rewrites these even more often than titles, usually pulling a passage from the page that matches the query. That is an argument for having good passages in the page rather than for skipping the description.
One H1, Then Headings That Describe Content
One H1 per page carrying the primary topic. The hierarchy below it should reflect actual structure rather than being chosen for visual size.
The rule worth following is that headings should be readable as an outline. If someone read only your headings, would they know what the page covers and roughly what it concludes. Most pages fail this because headings are labels rather than statements.
Compare a heading reading Benefits against one reading Support response times dropped from fourteen hours to three. The second carries information, matches a more specific query, and works as an extraction target for the reasons covered in the BLUF guide.
Skipping heading levels for styling reasons breaks the outline. Style with CSS and keep the hierarchy honest.
Keyword Density Is Not a Thing
There is no target percentage. There never was a published one. The concept survives because it is easy to measure, which is a poor reason to optimise for something.
What matters is whether the page comprehensively covers the topic in natural language. A page that genuinely answers a question will contain the relevant vocabulary without anyone counting occurrences, and a page that needs keyword injection to hit a density target is a page that did not cover the topic.
Use the primary term in the title, the H1, the opening paragraph, and wherever it naturally appears afterward. That is the whole guidance.
Exact match repetition is actively counterproductive. Modern retrieval resolves synonyms and related concepts, so repeating a phrase verbatim adds nothing while making the copy worse.
The First Hundred Words Carry Disproportionate Weight
Both for readers deciding whether to stay and for extraction. Content that opens with context and buries the answer three paragraphs down loses on both counts.
State the answer, then explain. This is the structural principle covered in the BLUF guide linked above, and it is the single content change with the widest effect across both classic ranking and AI citation.
It is also the change most resisted, because writers are trained to build toward a conclusion. Search does not reward that structure.
URL Structure, Briefly
Short, readable, containing the primary term, using hyphens between words. That is the entire requirement.
What matters more is stability. Changing URLs to improve them requires redirects and loses some signal in the process, so a mediocre URL on an established page is usually better left alone. Get it right on new pages and stop optimising old ones.
Avoid deep nesting where it serves no purpose. A URL with five path segments implies a hierarchy that usually does not exist, and it correlates with the click depth problems covered in the technical audit guide.
Internal Links Are the Most Underused On-Page Element
Most on-page checklists mention internal linking once and move on, which understates it considerably.
Internal links do three jobs: they let crawlers discover pages, they distribute authority between pages, and they establish topical relationships. Audits routinely find a substantial share of pages with no internal links pointing at them at all.
Use descriptive anchor text naming the destination topic rather than click here. Link the first meaningful mention of a concept rather than every occurrence. Link from high authority pages to pages you want to rank, since that is where the signal is.
The internal linking guide covers the architecture in more depth. The on-page version is simply: link deliberately, and check that your important pages actually receive links.
Images
Alt text describing the image, written for someone who cannot see it. That is its function and the SEO benefit follows from doing it properly rather than from inserting keywords.
Descriptive filenames rather than IMG_4471. Explicit width and height attributes, which prevents the layout shift that fails Cumulative Layout Shift. Modern formats and lazy loading below the fold.
The image guide covers the visual search dimension. For classic on-page purposes, alt text and file size do most of the work.
Schema Markup
Not a direct ranking factor and worth implementing anyway, because it enables rich results and it removes ambiguity about what a page is.
Article or BlogPosting for content, Product and Offer for commerce, Organization site wide with a stable identifier. The schema guide covers the full set.
The one rule that matters more than which types you use: schema must match visible content. Markup asserting a price that differs from the page is worse than no markup at all.
Content Depth Without Padding
Longer content correlates with better rankings and correlation is doing a lot of work in that sentence. Longer content tends to cover topics more completely, and completeness is what ranks.
Writing to a word count produces padding, which is the commodity content problem covered in the non-commodity content guide. A page should be as long as the topic requires.
The useful test is whether a reader finishing the page would have remaining questions a competitor answers. That is a completeness check rather than a length check, and it produces better decisions.
What I Would Actually Prioritise
Title tags across your top pages, because the effort is minutes and the effect is real.
Opening paragraphs restructured to lead with the answer, because it improves both ranking and extraction and requires no new research.
Internal links to pages that currently receive none.
Everything else after those three. Most on-page checklists invert this order and spend effort on meta descriptions and alt text before fixing titles and openings.
Verifying the Page Is Readable at All
On-page work assumes the page reaches crawlers intact. Where content depends on JavaScript rendering, it may not, per the rendering guide.
The NotionCue AI Crawler Audit reports what crawlers actually receive from a URL, which confirms your on-page elements exist in the server response rather than only in the rendered DOM.
Start your free NotionCue trial and verify a page you have optimised carefully. Discovering that carefully written content is invisible to crawlers is common and it invalidates everything above it.
Quick audit worth running: export your title tags and sort them alphabetically. Duplicates surface immediately, and most sites have more than they expect, usually from paginated archives and filtered views.
Common Questions
How often should on-page elements be updated?
Titles and descriptions when performance data suggests they are underperforming, which Search Console shows through impressions without clicks. Content when it becomes factually outdated, per the refresh workflow guide.
Does exact keyword placement in the first sentence matter?
Naming the topic early helps both readers and matching. Forcing an exact phrase awkwardly into the first sentence helps neither. Write the sentence that answers the question and the term will appear naturally.
Should every page have schema?
Every page should have at minimum an Organization reference and an appropriate content type. Adding every available schema type to every page produces noise rather than signal.