On-page SEO & GEO standard

On-Page
SEO & GEO Checklist

Every criterion the SERPUPDATE Extension uses to score a page for SEO & GEO. One scan produces two scores: SEO for Google and GEO for AI assistants.

SEO standard

Optimized for Google Search
12 SEO groups · 73 factors
01

Technical

21 factors
HTTPS / SSL Page served over HTTPS with a valid SSL certificate

Why it matters. HTTPS is a confirmed Google ranking signal and stops browsers from scaring visitors away with a 'Not secure' warning that kills trust and conversions.

ProblemThe browser stamps a red 'Not secure' label on the address bar and visitors leave on sight.

How to fixInstall an SSL certificate (Let's Encrypt is free) then add a server-level 301 rule forcing every http:// URL to https://.

ResultThe address bar shows a padlock instead of a red warning, so visitors trust the form and stay.

Standard source Google Search Central

Indexable Not blocked by noindex meta robots or X-Robots-Tag

Why it matters. If a page carries a noindex signal, Google drops it from search entirely, so even perfect content earns zero traffic.

ProblemThe page never shows up on Google despite good content because a hidden tag is dropping it from the index.

How to fixView source and delete <meta name="robots" content="noindex"> from the <head>, and remove any X-Robots-Tag: noindex server header.

ResultGoogle re-crawls it and within days the page starts appearing in search results.

Standard source Google Search Central

Canonical tag Has a valid canonical pointing to the preferred URL

Why it matters. A canonical tag tells Google which version of a page is the real one, so ranking signals concentrate on a single URL instead of splitting across duplicates.

ProblemThe same content opens at several URLs (trailing slash, tracking params) so Google splits the signals and none ranks.

How to fixAdd a self-referencing <link rel="canonical" href="..."> with the absolute https URL in the <head> of every duplicate.

ResultAll duplicates funnel their signals onto one URL, helping that page compete far harder.

Standard source Google Search Central

XML Sitemap A sitemap.xml exists and is declared in robots.txt

Why it matters. A sitemap hands Google a tidy list of every page worth indexing, so new and deep pages get discovered faster instead of waiting to be stumbled upon.

ProblemA freshly published page stays off Google for a week because the bot has not yet stumbled onto it.

How to fixGenerate a sitemap.xml listing every URL to index, place it at the site root, add a Sitemap: line to robots.txt, and submit it in Search Console.

ResultGoogle gets the full page list and indexes new and deep pages noticeably faster.

Standard source Google Search Central

robots.txt A valid robots.txt exists and does not block important content

Why it matters. robots.txt steers crawlers efficiently, but one careless rule can hide your whole site from Google, so it must allow every page you want to rank.

ProblemOne misplaced Disallow line accidentally blocks the whole site and organic traffic drops to zero after the next crawl.

How to fixPut robots.txt at the site root, Disallow only the admin and cart paths, point to the sitemap, then check it with Search Console's robots.txt Tester.

ResultCrawlers reach every page you want ranked and organic traffic is protected.

Standard source Google Search Central

Hreflang tags Hreflang declared for multilingual pages

Why it matters. Hreflang tells Google which language version to show each user, so a Vietnamese reader lands on the Vietnamese page instead of the English one and stays longer.

ProblemA Vietnamese searcher gets served the English version of the page by Google and bounces immediately.

How to fixIn each page's <head> add <link rel="alternate" hreflang="vi" href="..."> plus one line per other language, each pointing to that version's URL.

ResultGoogle routes each audience to its own language version and they stay on the page longer.

Standard source Google Search Central

Hreflang x-default / no errors Hreflang has reciprocal pairs and an x-default

Why it matters. Google ignores hreflang unless every language version points back at the others, and an x-default catches visitors whose language you do not cover, so the whole setup actually works.

ProblemHreflang is declared but Google ignores it because the versions do not point back at each other or lack a fallback.

How to fixMake each language version list all the others (including itself), then add an hreflang="x-default" line pointing to the default for uncovered languages.

ResultThe hreflang setup takes effect and language targeting actually works.

Standard source Google Search Central

Viewport meta Has a responsive viewport meta tag

Why it matters. The viewport tag makes pages fit phone screens, and since Google ranks the mobile version of your site, missing it can sink your rankings and frustrate the majority of visitors who browse on mobile.

ProblemOn a phone the page renders at desktop width with tiny text, forcing visitors to pinch and zoom.

How to fixAdd <meta name="viewport" content="width=device-width, initial-scale=1"> in the <head> so the page scales to the device width.

ResultThe page fits phone screens with legible text and aligns with Google's mobile-first ranking.

Standard source web.dev

UTF-8 charset Declares UTF-8 character encoding

Why it matters. Declaring UTF-8 guarantees Vietnamese diacritics and special symbols display correctly, so your content reads cleanly to both users and Google instead of turning into garbled characters.

ProblemVietnamese diacritics and special characters render as boxes or garbled symbols in some browsers.

How to fixPut <meta charset="utf-8"> as the very first line inside <head>, before any other tag, and save source files as UTF-8.

ResultVietnamese diacritics and special characters display correctly for both users and Google.

Standard source Mozilla MDN

HTML5 doctype Declares <!DOCTYPE html>

Why it matters. The HTML5 doctype keeps browsers in standards mode so your layout renders predictably, avoiding the quirky bugs that make a page look broken and erode trust.

ProblemThe layout renders skewed with boxes and margins jumping around because the browser falls into legacy quirks mode.

How to fixPut <!DOCTYPE html> as the very first line of the file, before the <html> tag, so the browser runs in standards mode.

ResultThe browser stays in standards mode and the layout renders consistently across browsers.

Standard source Mozilla MDN

HTML lang attribute The <html> tag has a correct lang attribute

Why it matters. The lang attribute tells search engines and screen readers what language the page is in, helping Google serve it to the right audience and pronounce it correctly for assistive tech.

ProblemScreen readers pronounce Vietnamese content with an English voice and Google targets the wrong audience.

How to fixSet the lang attribute on the opening <html> tag, e.g. <html lang="vi"> for a Vietnamese page, matching the actual content language.

ResultGoogle targets the right audience and assistive tech pronounces the content correctly.

Standard source WCAG 2.2

URL length URL is concise, not excessively long

Why it matters. Short, readable URLs are easier for users to trust and share and for Google to display fully in results, while bloated URLs look spammy and get truncated.

ProblemA long parameter-stuffed URL looks like spam, is hard to paste and share, and gets truncated in results.

How to fixTrim the URL to a few keywords separated by hyphens, drop tracking params and long IDs, and 301-redirect the old link to the new slug.

ResultURLs become trustworthy, shareable, and display in full on the search results page.

Standard source Google Search Central

Text-to-HTML ratio A healthy ratio of visible text to HTML code

Why it matters. A healthy text-to-code ratio means real content outweighs bloated markup, which helps Google and AI assistants read your message clearly and pages load faster.

ProblemThe page has a few text paragraphs but hundreds of nested divs, so Google and AI struggle to filter out the real content.

How to fixRemove redundant wrapper divs, use semantic tags (article, section, p), and move inline CSS/JS to external files so text outweighs code.

ResultGoogle and AI assistants read your message more clearly and pages load faster.

Standard source Google Search Central

No content in frames Main content is not trapped inside an iframe

Why it matters. Google credits iframe content to the source page, not yours, so trapping your main copy in a frame means your page gets none of the ranking value for it.

ProblemThe main article sits inside an iframe so Google credits it to the source page and yours earns no ranking value.

How to fixMove the main text directly into the page's own HTML instead of embedding it via <iframe>; reserve iframes for extras like maps or embedded video.

ResultGoogle indexes the full content and the page earns the ranking value for it.

Standard source Google Search Central

Favicon A favicon is declared

Why it matters. Google shows your favicon next to mobile search results, so a clean recognizable icon boosts brand recall and click-through, while a missing one leaves a generic blank that looks unprofessional.

ProblemMobile search results show a generic blank box next to the site name, looking unprofessional and hard to recognize.

How to fixAdd <link rel="icon" href="/favicon.ico"> in the <head> pointing to a 32-48px .ico or .png file placed at the site root.

ResultMobile listings carry a recognizable brand mark, aiding recall and click-through.

Standard source Google Search Central

Redirect chain No redundant redirect chains

Why it matters. Each hop in a redirect chain adds delay and slowly leaks ranking signals, so a single direct redirect keeps pages fast and preserves their SEO value.

ProblemA link hops through three or four redirects before reaching its target, each hop slowing the page and leaking link equity.

How to fixCollapse the hops into a single 301 redirect straight from the original URL to the final target, and update internal links to point directly.

ResultPages load faster and link equity consolidates instead of bleeding away.

Standard source Google Search Central

Security headers Sets CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, HSTS

Why it matters. Security headers shield visitors from clickjacking, code injection and downgrade attacks, protecting both your users and the brand reputation that underpins long-term search trust.

ProblemWithout security headers the page can be framed in a phishing overlay, injected with malicious code, or downgraded.

How to fixConfigure the server to send Content-Security-Policy, X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy, and Strict-Transport-Security.

ResultUsers and brand reputation are protected, underpinning long-term search trust.

Standard source OWASP Secure Headers

Accessibility Valid ARIA, sufficient color contrast, managed focus

Why it matters. Accessible pages serve every visitor including those using screen readers or keyboards, widen your reachable audience, and align with the usability signals Google increasingly rewards.

ProblemKeyboard users get stuck unable to tab to a button, grey-on-white text is unreadable, and the screen reader announces meaningless labels.

How to fixAdd correct ARIA roles to interactive elements, adjust text/background colors to at least 4.5:1 contrast, and set a logical tab order with a visible focus ring.

ResultEvery visitor including screen-reader and keyboard users can use the page, widening your reachable audience.

Standard source WCAG 2.2

Code quality Clean, optimized markup with few errors

Why it matters. Clean, valid markup helps browsers and Google parse your page reliably, preventing the rendering glitches and missed content that broken HTML can cause.

ProblemUnclosed tags and duplicate IDs make browsers and Google render the page wrong, sometimes swallowing a whole content block.

How to fixRun the markup through an HTML checker like the W3C Validator, close every open tag, deduplicate IDs, and drop invalid attributes.

ResultThe full page renders reliably, avoiding rendering glitches and missed content.

Standard source Mozilla MDN

Render-blocking resources Few render-blocking CSS/JS resources

Why it matters. Render-blocking files force the browser to wait before showing anything, hurting your Core Web Vitals load speed which is a direct Google ranking factor and a make-or-break for impatient visitors.

ProblemThe screen stays blank for seconds because the browser must finish downloading a stack of CSS/JS files before painting anything.

How to fixAdd defer (or async) to non-essential <script> tags and inline the above-the-fold CSS in the <head>, loading the rest asynchronously.

ResultLargest Contentful Paint improves and the speed score moves into Google's good range.

Standard source web.dev

Fonts & CSS loading Fonts use font-display swap and CSS is optimized

Why it matters. font-display swap shows readable text immediately instead of leaving a blank gap while fonts download, improving perceived speed and the Core Web Vitals that influence ranking.

ProblemOn a slow connection the text vanishes for seconds (a blank gap) while the custom font is still downloading.

How to fixAdd font-display: swap to the @font-face rule so text shows instantly in a system font then swaps to the brand font, and strip unused CSS rules.

ResultReadable text appears immediately, improving perceived speed and Core Web Vitals.

Standard source web.dev

02

Meta Tags

4 factors
Title tag 10 to 60 characters, contains the keyword, unique per page

Why it matters. The title tag is the clickable blue headline in Google results, so a clear, keyword-rich title directly drives whether people click your page or a competitor's.

ProblemSeveral pages share one vague title so they look identical in Google results, giving searchers no reason to click.

How to fixSet a unique <title> per page, put the main keyword first, and keep it 50-60 characters so Google does not truncate it.

ResultA clear headline in Google results draws clicks to your page over a competitor's.

Standard source Google Search Central

Meta description 70 to 160 characters, compelling summary

Why it matters. The meta description is the short pitch shown under your title in search results, acting like a free ad that convinces searchers your page has the answer they want.

ProblemLeaving the description blank lets Google grab a random mid-page sentence as the snippet, which reads disjointed and unconvincing.

How to fixAdd <meta name="description" content="..."> in the <head>, written in 70-160 characters that state the key benefit and a call to action.

ResultThe snippet under your title convinces searchers your page has the answer they want.

Standard source Google Search Central

Open Graph Has og:title, og:description, og:image, og:url, og:type, og:site_name

Why it matters. Open Graph tags control how your link looks when shared on Facebook, Zalo or LinkedIn, turning a plain URL into an eye-catching card that earns far more clicks.

ProblemPasting the link on Facebook or Zalo shows a bare line of text with no image and nobody bothers to click.

How to fixAdd og:title, og:description, og:url, og:type, og:site_name, and an og:image pointing to a 1200x630px image to the <head>.

ResultThe link renders as an eye-catching preview card when shared, earning more clicks.

Standard source Open Graph protocol (ogp.me)

Twitter Card twitter:card summary_large_image with title, description, image

Why it matters. Twitter Card tags make your links show up as large image previews on X (Twitter), helping posts stand out in a busy feed and pull more visitors back to your site.

ProblemA link posted on X renders as a tiny text snippet that sinks unnoticed in a busy feed.

How to fixAdd <meta name="twitter:card" content="summary_large_image"> to the <head> along with twitter:title, twitter:description, and twitter:image.

ResultThe link shows as a large image preview that stands out and pulls visitors back.

Standard source X (Twitter) Developer Docs

03

Structured Data

4 factors
Valid JSON-LD At least one syntactically valid JSON-LD block

Why it matters. A valid JSON-LD block is the machine-readable label that lets Google and AI tools understand exactly what your page is about, unlocking rich results like star ratings and FAQs.

ProblemCompetitors show star ratings and FAQs right in results while your listing is plain text and less eye-catching.

How to fixAdd a <script type="application/ld+json"> block in the <head> with schema matching the page type, then validate it with Google's Rich Results Test.

ResultGoogle and AI tools grasp the page, unlocking rich results like star ratings and FAQs.

Standard source Schema.org

Schema matches page type Primary @type matches the content (Article, Product, FAQ)

Why it matters. Using the right schema type tells search engines what kind of page they are looking at, so a product page can earn price and stock badges while an article earns author and date badges.

ProblemA product page declares Article schema so price and stock status never appear in results.

How to fixSet the "@type" field in the JSON-LD block to match the real content, e.g. Product for a sales page, FAQPage for Q&A, Article for a post.

ResultThe page earns the right badges like price and stock, or author and date.

Standard source Google Search Central

Entity schema Has Organization, WebSite or Person schema

Why it matters. Entity schema introduces your brand or author to Google as a real, recognized entity, which builds trust and can earn you a knowledge panel and a sitelinks search box.

ProblemGoogle does not recognize your brand as a real entity, so there is no knowledge panel or brand search box.

How to fixAdd an Organization JSON-LD block (or Person for an author) with name, logo, and url on the homepage, plus a WebSite block with a SearchAction.

ResultIt builds trust and can earn a knowledge panel and a sitelinks search box.

Standard source Schema.org

Clean syntax JSON-LD parses with no errors and required properties present

Why it matters. If your structured data has a missing comma or a required field left out, Google quietly ignores all of it, so clean syntax is what actually keeps your rich results showing.

ProblemRich results that used to show suddenly vanish because the JSON-LD block is missing a comma or a required field.

How to fixPaste the JSON-LD into Google's Rich Results Test, fix every syntax error, and add each required property the tool flags as missing.

ResultYour rich results stay live in search instead of vanishing.

Standard source Google Rich Results Test

04

Headings

5 factors
Exactly one H1 The page has exactly one H1

Why it matters. The single H1 is the main headline that tells both readers and search engines the one core topic of the page, so having exactly one keeps your message focused and unmistakable.

ProblemThe page has several H1 tags at once, so Google is confused about which one is the page's main topic.

How to fixKeep exactly one <h1> stating the page's main topic, demote every other large heading to <h2>, and do not use H1 for the logo.

ResultThe message stays focused and unmistakable for both readers and search engines.

Standard source Google Search Central

H1 length H1 is 20 to 70 characters

Why it matters. An H1 in the 20 to 70 character range is long enough to include your topic and keyword yet short enough to read at a glance, which helps both visitors and search engines grasp the page instantly.

ProblemA two-word H1 like 'Home' tells neither visitors nor Google anything about the page's real content.

How to fixRewrite the <h1> to 20-70 characters, long enough to carry the topic and main keyword yet readable in one glance.

ResultBoth visitors and search engines grasp the page instantly.

Standard source Moz

H2 coverage At least 3 H2 headings

Why it matters. H2 headings split your page into clear sections that are easy to skim, helping readers find what they want and giving AI tools tidy chunks to quote in answers.

ProblemThe page is one solid wall of text with no subheadings, so skimmers feel overwhelmed and leave fast.

How to fixBreak the content into at least 3 sections, each opening with an <h2> that states what that section covers.

ResultReaders find what they want more easily and AI gets tidy chunks to quote.

Standard source Google Search Central

No skipped heading levels H1 to H2 to H3 in order, no skipped levels

Why it matters. Headings that go in order (H1, then H2, then H3) create a logical outline that screen readers and search engines can follow, while jumping straight from H1 to H4 breaks that structure and hurts accessibility.

ProblemThe page jumps straight from H1 to H4, making screen readers announce heading levels out of order and breaking the outline.

How to fixOrder headings in consecutive steps H1 then H2 then H3 with no skips; if you just want smaller text, style it with CSS instead of jumping levels.

ResultScreen readers and search engines can follow a logical outline, improving accessibility.

Standard source W3C WAI (Web Accessibility Initiative)

H3 depth Has H3 when H2 exists

Why it matters. Adding H3 subpoints under your H2 sections shows depth and organization, helping readers drill into details and giving search engines a richer map of your content.

ProblemAn H2 section crams many details into one long paragraph with no sub-points, so readers cannot drill to what they need.

How to fixUnder each long <h2>, split the sub-points into separate <h3> tags, each opening one specific sub-idea.

ResultIt shows depth and organization, giving search engines a richer map of your content.

Standard source Moz

05

Keywords

5 factors
Keyword density Main keyword appears at a healthy rate (top 1, 2, 3-word phrases)

Why it matters. Mentioning your main keyword and its natural variations a reasonable number of times confirms to search engines what the page is about, so it ranks for the searches you actually care about.

ProblemThe main keyword barely appears in the copy, so search engines cannot tell what topic the page is about.

How to fixPlace the main keyword in the intro, a couple of H2 headings, and naturally through the body, plus 1-, 2-, and 3-word variations rather than exact repeats.

ResultSearch engines understand the topic and the page ranks for the searches you care about.

Standard source Ahrefs

No keyword stuffing Density stays at or below 3 percent

Why it matters. Cramming the same keyword over and over reads as spam to both people and Google, and can trigger a ranking penalty, so keeping density at or below 3 percent protects your visibility.

ProblemThe same keyword crammed into nearly every sentence reads as spam and can trigger a ranking penalty.

How to fixCount occurrences divided by total words and keep it at or below 3 percent, swapping surplus repeats for synonyms or pronouns.

ResultYou avoid penalties and protect the page's visibility in search.

Standard source Google Search Central

Keyword in title The title keyword also appears in the body

Why it matters. When the keyword you promise in the title also appears in the body text, the page delivers on its headline, which builds reader trust and reinforces relevance to search engines.

ProblemThe keyword promised in the title is absent from the body, so visitors feel misled and bounce.

How to fixUse the exact <title> keyword phrase in the opening paragraph and at least two body sections so the content matches the headline.

ResultThe page delivers on its headline, building reader trust and reinforcing relevance.

Standard source Moz

Vocabulary diversity No single word is over-repeated

Why it matters. Varied wording and synonyms make your content read naturally and help it rank for many related searches, while repeating one word endlessly sounds robotic and limits reach.

ProblemOne word repeated in nearly every sentence makes the prose sound robotic and narrows the queries the page can match.

How to fixAudit the most-repeated words and replace some with synonyms and alternate phrasing while keeping the tone natural.

ResultThe content reads more naturally and the page ranks for many related searches.

Standard source Ahrefs

Keyword emphasis The main keyword is emphasized (bold)

Why it matters. Bolding your main keyword once or twice draws the reader's eye to the page's core topic and gives a gentle signal of importance to search engines scanning the text.

ProblemThe main keyword blends into plain text, so readers skim past it without registering the page's core topic.

How to fixWrap the main keyword in a <strong> tag once or twice, ideally in the opening paragraph, to draw the eye without over-bolding.

ResultIt draws the reader's eye to the topic and signals importance to search engines.

Standard source Moz

06

Performance

3 factors
LCP (Largest Contentful Paint) Largest Contentful Paint under 2.5 seconds

Why it matters. When your main content appears fast, visitors stay instead of bouncing to a competitor, which protects both your traffic and your ad spend.

ProblemThe main content (usually the hero image) shows up too slowly, so visitors bounce to a competitor before the page finishes loading.

How to fixCompress the hero image and serve it as WebP, add fetchpriority="high" to it, and preload critical fonts and CSS to bring LCP under 2.5 seconds.

ResultVisitors stay instead of leaving, protecting both your traffic and your ad spend.

Standard source web.dev (Core Web Vitals)

INP (Interaction to Next Paint) Interaction to Next Paint under 200 ms

Why it matters. When buttons and menus react instantly to taps, the site feels trustworthy and people complete actions like checkout instead of giving up.

ProblemTapping a button or opening a menu freezes for a beat before responding, so impatient visitors abandon actions like checkout.

How to fixDefer heavy scripts (chat, tracking), break up long JS tasks, and drop unneeded third-party widgets to keep INP under 200 ms.

ResultThe page reacts instantly, feels trustworthy, and visitors complete their actions.

Standard source web.dev (Core Web Vitals)

CLS (Cumulative Layout Shift) Cumulative Layout Shift under 0.1

Why it matters. When the page stops jumping around as it loads, visitors do not accidentally tap the wrong link or button, which keeps them calm and reduces frustration.

ProblemThe page jolts as it loads, often from late ad slots or images pushing text down, making visitors misclick links.

How to fixSet width and height (or aspect-ratio) on every image, iframe, and ad slot so the browser reserves the space, keeping CLS under 0.1.

ResultThe page stays stable as it loads, keeping visitors calm and reducing misclicks.

Standard source web.dev (Core Web Vitals)

07

Content

11 factors
Reading level Flesch-Kincaid (EN) or Vietnamese readability index in the easy-to-read range

Why it matters. Content that reads easily reaches more of your audience, including busy or non-expert buyers, so your message lands instead of getting skipped.

ProblemThe prose is too academic and jargon-heavy, so busy or non-expert buyers cannot follow it and skip the message.

How to fixRewrite with shorter sentences and everyday words, defining jargon on first use, aiming at an easy reading level (around Flesch-Kincaid grade 8).

ResultThe message reaches more of your audience and visitors stay on the page longer.

Standard source Flesch-Kincaid readability

Sentence length A reasonable number of words per sentence

Why it matters. Shorter sentences are easier to scan on a phone, so readers grasp your point quickly and are more likely to keep reading to your call to action.

ProblemLong multi-clause sentences are hard to scan on a phone, so readers lose the thread and drop off mid-way.

How to fixSplit sentences longer than about 20 words into two or three shorter ones, each carrying a single idea.

ResultReaders grasp the point faster and are likelier to read through to your call to action.

Standard source Flesch-Kincaid readability

Passive voice Few passive-voice sentences

Why it matters. Active sentences name who does what, so your writing feels direct and confident, which builds trust with buyers reading your page.

ProblemToo many passive sentences make the writing roundabout and unclear about who does what, weakening reader trust.

How to fixRewrite passive sentences as active by putting the actor first, e.g. 'We ship within 24h' instead of 'Orders are shipped within 24h'.

ResultThe writing feels more direct and confident, building trust with readers.

Standard source Flesch-Kincaid readability

Vocabulary richness Varied vocabulary, not repetitive

Why it matters. Varied wording keeps content engaging and helps your page match more of the phrases people actually search for, widening your reach.

ProblemRepeating the same word makes the content monotonous and misses many phrases people actually search for.

How to fixIdentify the most frequent words and swap some for synonyms and related phrases while keeping the read smooth.

ResultThe content becomes livelier and the page matches more related searches, widening reach.

Standard source Flesch-Kincaid readability

Author and bio A named author with a bio is present

Why it matters. Showing a real author with relevant experience tells both readers and Google that a qualified person stands behind the content, raising trust and credibility.

ProblemThe article names no author, so readers and Google cannot see a qualified person standing behind the content.

How to fixAdd a real author byline with a short bio noting relevant experience, and link it to that author's own profile page.

ResultIt raises trust and credibility with both readers and Google.

Standard source Google E-E-A-T / Quality Rater Guidelines

Publish and update dates Has both datePublished and dateModified

Why it matters. Clear publish and update dates reassure readers the information is current and let Google show a fresh date in search results, which can lift click-through rates.

ProblemThe page shows only an old publish date from years ago, so it looks outdated and readers doubt it is still accurate.

How to fixDisplay both a published and an updated date on the page, and declare datePublished and dateModified in the Article JSON-LD.

ResultReaders trust the information is current and Google can display a fresh date in results.

Standard source Google Search Central

Content freshness Updated within the last 90 days

Why it matters. Regularly refreshed pages signal that your business is active and your advice is still accurate, which keeps both readers and search engines coming back.

ProblemThe page sits untouched for a year, slips in rankings, and makes visitors doubt the advice still holds.

How to fixAt least every 90 days review the figures, examples, and picks, refresh anything stale, then update the dateModified to match.

ResultThe page signals an active business and keeps both readers and search engines coming back.

Standard source Google Search Central

Expertise signals Shows credentials or subject expertise

Why it matters. Demonstrating real expertise sets you apart from generic content and makes readers more confident buying from you, especially for important or costly decisions.

ProblemThe page reads like generic content anyone could write, so it struggles to convince buyers on important or costly decisions.

How to fixAdd first-hand experience (project photos, your own data), state credentials or years of experience, and link to concrete evidence.

ResultYou stand apart from generic content and make readers more confident, especially for important decisions.

Standard source Google E-E-A-T / Quality Rater Guidelines

Citations and sources Cites reputable sources

Why it matters. Linking to trusted sources backs up your claims, so readers believe your numbers and your page reads as authoritative rather than as marketing fluff.

ProblemNumbers and claims appear with no sources, so readers doubt them and the page reads as marketing fluff.

How to fixFor each statistic or strong claim, drop an outbound link to the original reputable source (study, agency, major outlet) right at that point.

ResultReaders believe your numbers and the page reads as authoritative.

Standard source Google E-E-A-T / Quality Rater Guidelines

Trust pages Has About, Contact, Privacy, Terms pages

Why it matters. Standard trust pages reassure visitors that a real, accountable business runs the site, which is essential before anyone shares payment or personal details.

ProblemMissing Contact or Privacy pages make customers hesitate before sharing payment or personal details.

How to fixCreate About, Contact (with a real address and phone), Privacy, and Terms pages, then link them from the footer on every page.

ResultVisitors are reassured that a real, accountable business runs the site.

Standard source Google E-E-A-T / Quality Rater Guidelines

Trust content patterns Includes reviews, statistics or evidence

Why it matters. Real reviews and hard numbers turn vague promises into proof, giving hesitant buyers the reassurance they need to choose you over a rival.

ProblemThe page offers only vague promises with no reviews or numbers, leaving hesitant buyers unsure about choosing you.

How to fixInsert real customer reviews, concrete result figures, or case studies near the decision point, with names and verifiable proof.

ResultHard proof gives hesitant buyers the reassurance to choose you over a rival.

Standard source Google E-E-A-T / Quality Rater Guidelines

08

Domain Authority

1 factors
Domain Authority (Moz) High DA/PA with low Spam Score

Why it matters. A strong domain with a clean reputation ranks more easily and earns more trust, so your new pages get found faster without paying for every click.

ProblemA weak domain with a high Spam Score from junk backlinks makes new pages hard to rank and less trusted.

How to fixSubmit a disavow file via Search Console to drop the junk backlinks, then build quality links by earning mentions from reputable industry sites and press.

ResultHigh DA/PA with a low Spam Score helps new pages get found faster without paying per click.

Standard source Moz Domain Authority

09

Media

6 factors
Alt text coverage 100 percent of content images have descriptive alt text

Why it matters. Alt text lets Google and screen readers understand every image, so your pictures can rank in image search and your page stays accessible to all visitors.

ProblemContent images lack descriptions, so Google and screen readers cannot understand them and they never rank in image search.

How to fixAdd an alt attribute describing the real content of every content image; for purely decorative images use an empty alt="".

ResultImages can rank in image search and the page stays accessible to all visitors.

Standard source WCAG

Unique alt text Each image has a unique alt

Why it matters. Giving every image its own alt text describes each picture accurately instead of confusing search engines with copy-pasted labels, which helps each image get found for the right keyword.

ProblemMany different images share one copy-pasted alt line, confusing search engines so no image is described accurately.

How to fixWrite a unique alt for each image describing exactly what that one shows, instead of pasting the same line across the batch.

ResultEach image is described accurately and can be found for its own right keyword.

Standard source Google Search Central

No oversized images No image exceeds its display size

Why it matters. Serving images no bigger than they actually appear keeps pages loading fast, which means fewer visitors leave before the page even shows up.

ProblemImages download many times larger than their actual display slot, eating bandwidth and slowing the page so visitors leave.

How to fixDownscale the source image to its largest display width, and use srcset to serve smaller sizes to phone screens.

ResultPages load faster and fewer visitors leave while waiting.

Standard source web.dev (image optimization)

Smart loading Below-fold images lazy-load, above-fold images eager-load

Why it matters. Loading the first-screen image immediately and delaying the rest makes the page feel instant while saving data, so visitors see your main message without waiting.

ProblemThe page loads every image at once, or lazy-loads even the hero image, so the main message is slow to appear.

How to fixAdd loading="lazy" to images below the first screen and let the above-the-fold hero load immediately with loading="eager" or fetchpriority="high".

ResultThe page feels instant while saving data, so visitors see your main message without waiting.

Standard source web.dev (image optimization)

Modern formats Uses WebP or AVIF

Why it matters. Modern image formats look just as sharp but weigh far less than old JPEG or PNG files, so your pages load quicker and cost visitors less data.

ProblemImages are still in old JPEG or PNG, so files weigh several times more than needed, dragging the page down and costing visitors data.

How to fixConvert images to WebP or AVIF with a compression tool, and use a <picture> tag to fall back to JPEG/PNG for old browsers.

ResultImages stay sharp but weigh far less, so pages load faster and use less data.

Standard source web.dev (image optimization)

No broken images Every image loads successfully

Why it matters. A broken image icon makes your site look neglected and untrustworthy, which can push a ready-to-buy visitor to leave for a competitor.

ProblemA broken-image icon makes the site look neglected and can push a ready-to-buy visitor to a competitor.

How to fixScan the page for images returning 404, fix the src path or replace the missing file, and remove any <img> with no valid source.

ResultThe page shows no empty boxes, keeping its professional look and visitor trust.

Standard source Google Search Central

11

Conversion

4 factors
CTA and above-fold A visible CTA above the fold and a visible H1

Why it matters. Showing a clear headline and an action button before any scrolling tells visitors instantly what you offer and what to do next, which is where most conversions are won or lost.

ProblemThe action button and H1 are pushed below the fold, so arriving visitors cannot tell at once what you offer or do next.

How to fixPlace a value-stating H1 and a prominent CTA button within the visible area without scrolling, including on phone screens.

ResultVisitors instantly grasp the offer and next step, where most conversions are won or lost.

Standard source Nielsen Norman Group

Trust signals Reviews, guarantees, hotline, payment and security badges

Why it matters. Visible proof like reviews, guarantees and security badges reassures hesitant buyers that you are real and safe, which directly lifts the share of visitors who complete a purchase.

ProblemMissing visible proof like reviews or security badges leaves hesitant buyers doubting you are real and safe.

How to fixPlace real reviews, a money-back guarantee, a hotline, and payment and security badges near the action button to reassure at the decision point.

ResultHesitant buyers are reassured and the share who complete a purchase rises.

Standard source Baymard Institute

Navigation and UX Search bar, breadcrumb, sticky header, chat widget

Why it matters. Easy navigation tools like search, breadcrumbs and a sticky menu help visitors find what they need fast, so fewer give up and leave before they buy or contact you.

ProblemMissing navigation tools like search, breadcrumbs, or a sticky menu make visitors struggle to find things and leave.

How to fixAdd a header search bar, a breadcrumb at the top, a header that sticks on scroll, and a chat widget so visitors always find their way and get help.

ResultVisitors find what they need faster, so fewer give up before buying or contacting you.

Standard source Baymard Institute

Optimized forms Every field has a label, 1 to 7 fields

Why it matters. Short, clearly labeled forms feel quick and trustworthy, so more visitors finish them instead of abandoning halfway through.

ProblemA long form with many unlabeled fields feels slow and cumbersome, so visitors abandon halfway.

How to fixCut the form to 1 to 7 genuinely needed fields, attach a clear <label> to each, and drop fields that are not required at this step.

ResultThe form feels quick and trustworthy, so more visitors finish it.

Standard source Baymard Institute

12

Social

3 factors
Social profiles Links to at least 3 social platforms

Why it matters. Linking to your active social profiles shows visitors you are a real, present business and gives them more ways to follow and trust your brand.

ProblemNo links to social profiles leave visitors with no way to follow you and unsure you are a present, real business.

How to fixAdd footer links to at least 3 active social profiles (Facebook, LinkedIn, YouTube, etc.) with recognizable icons.

ResultVisitors see you are a real business and gain more ways to follow and trust your brand.

Standard source Google Search Central

Social in schema Profiles listed in Organization schema sameAs

Why it matters. Listing your social profiles in structured data helps Google confirm they belong to your brand, which can enrich your search listing and knowledge panel.

ProblemSocial profiles are not declared in schema, so Google cannot confirm they belong to your brand.

How to fixList the social profile URLs in the "sameAs" array of the Organization JSON-LD block on the homepage.

ResultGoogle confirms the profiles belong to your brand, enriching your listing and knowledge panel.

Standard source Google Search Central

Share buttons Share buttons for multiple platforms

Why it matters. Easy share buttons let happy readers spread your content with one tap, bringing free new visitors and growing your reach without extra ad spend.

ProblemWith no share buttons, readers who like the article cannot spread it easily, missing a free source of new visitors.

How to fixPlace a one-tap share button cluster for Facebook, X, LinkedIn, and copy-link at the top and bottom of the article.

ResultReaders spread your content easily, bringing new visitors and growing reach without ad spend.

Standard source Nielsen Norman Group

GEO standard

Ready for AI Search (ChatGPT, AI Overview, Perplexity)
5 pillars · 49 signals
01

Technical for AI

10 signals
Canonical for AI A canonical tag so AI can identify the master version

Why it matters. A canonical tag tells AI assistants which URL is the authoritative version, so citations point to one trusted page instead of splitting trust across duplicates.

ProblemThe same content opens at several URLs, so AI cannot tell which is the original and quotes the wrong one or skips it.

How to fixPlace a <link rel="canonical"> in the head pointing to one master URL, and reuse that same URL in your JSON-LD @id so AI consolidates on it.

ResultAI citations consolidate on one clean URL instead of splitting trust across duplicates.

Standard source Google Search Central (canonicalization guidance)

Language declaration html lang is correct so AI knows the language

Why it matters. A correct html lang attribute lets AI assistants detect the page language with certainty, so they surface the page to the right audience and quote it accurately.

ProblemWith no language declaration, AI may guess the page is English and serve Vietnamese content to the wrong audience.

How to fixSet the lang attribute on the <html> tag to the page's actual language (e.g. <html lang="vi">) and mirror it with inLanguage in the JSON-LD.

ResultAI surfaces the page to the right-language audience and quotes it accurately.

Standard source W3C (HTML lang attribute spec)

AI crawlers allowed Not blocked, no noai or noimageai meta

Why it matters. If AI crawlers are blocked, the page can never be read or cited, so removing noai and noimageai is the precondition for any AI visibility at all.

ProblemAI answers cite a rival because the ChatGPT or Perplexity bot is blocked and never reads your page.

How to fixIn robots.txt allow the GPTBot, OAI-SearchBot, PerplexityBot and ClaudeBot user-agents, and strip any noai or noimageai meta tags from the head.

ResultThe page becomes eligible for AI tools like Perplexity to read and cite with a link back.

Standard source OpenAI / Perplexity crawler documentation

Mobile friendly Responsive with a correct viewport

Why it matters. AI systems lean on mobile rendering, so a correct viewport ensures they read the same clean content a phone user sees rather than a broken desktop layout.

ProblemAI parses the mobile render, so a missing viewport makes it read a broken layout and skip the main content.

How to fixAdd <meta name="viewport" content="width=device-width, initial-scale=1"> and use fluid widths (%, max-width) so the mobile render shows the full content.

ResultAI mobile crawlers read the right content and the page can appear in AI Overview answers.

Standard source web.dev (responsive design guidance)

Clear heading hierarchy Clean heading hierarchy for AI to parse

Why it matters. A clean H1 to H2 to H3 structure gives AI a logical outline of the page, so it can extract the exact section that answers a user's question.

ProblemHeadings that jump levels stop AI from building an outline, so it summarizes wrong or skips the answering section.

How to fixOrder headings sequentially: one H1, then H2s, dropping to H3 only inside an H2, never jumping straight from H1 to H3 or H4.

ResultAI grasps the outline and extracts the exact section that answers a question rather than the whole page.

Standard source web.dev / MDN (document structure)

Heading IDs At least 30 percent of headings have an id for deep-linking

Why it matters. Heading IDs create anchor links AI can cite directly, so an assistant can send a user to the precise section rather than the top of the page.

ProblemHeadings without an id let AI link only to the page top, leaving users to scroll for the right section.

How to fixAdd a short slug id (e.g. <h2 id="pricing">) to at least 30 percent of headings so AI can cite a #section anchor straight to it.

ResultAI cites the precise section via its anchor, sending users straight to what they need.

Standard source Google AI Overview (passage-level linking)

Alt coverage for AI Images have alt so AI understands the visuals

Why it matters. Alt text turns images into machine-readable meaning, so AI can grasp what a chart or screenshot shows and fold it into an answer.

ProblemImages missing alt leave AI unable to understand what a chart or screenshot shows, so it skips the visual.

How to fixAdd an alt attribute to every content image describing what it shows in one sentence, and leave alt empty for decorative ones.

ResultAI understands what a chart or screenshot shows and can fold it into an answer.

Standard source W3C WAI (alt text guidance)

Image presence Content has supporting images

Why it matters. Supporting images signal a thorough, original resource, which AI systems favor when choosing pages worth citing over thin text-only ones.

ProblemA text-only page reads to AI as a thin resource, so it prefers to cite a rival that has supporting visuals.

How to fixInsert at least one original supporting visual (a diagram, a process screenshot, or a chart) placed right beside the content it illustrates.

ResultAI treats the page as a thorough, citation-worthy resource over plain text-only rivals.

Standard source Google Search Central (helpful content guidance)

Text-to-image ratio Enough text for AI to extract

Why it matters. AI assistants quote text, so a page needs enough written substance per image for them to extract claims and sentences worth citing.

ProblemAn image-heavy page short on text gives AI nothing to quote, because AI only cites written text.

How to fixWrite at least one explanatory paragraph under each image, spelling out the figure or claim the visual shows so AI has text to quote.

ResultAI gets real sentences and claims to quote instead of unreadable images.

Standard source Perplexity / OpenAI GEO research

Image schema ImageObject schema for the main image

Why it matters. ImageObject schema gives AI structured facts about the main image (caption, author, license), so it can attribute and reuse the visual confidently.

ProblemThe main image lacks structured data, so AI has no caption, author, or license to attribute when reusing it.

How to fixAdd a JSON-LD ImageObject for the main image with contentUrl, caption, creator and license fields pointing to that image.

ResultAI shows the image with correct attribution and reuses the visual confidently.

Standard source Schema.org (ImageObject)

02

Multi-modal

6 signals
Descriptive alt text Rich, descriptive alt, not generic

Why it matters. Detailed alt text gives AI the specific content of an image, so it can cite the data or scene shown rather than a meaningless label.

ProblemGeneric alt like "chart" tells AI nothing specific, so it is just a meaningless label that cannot be quoted.

How to fixWrite alt that names the actual data or scene (e.g. "Q2 revenue chart rising from 1.2 to 1.8 billion"), not just "chart".

ResultAI can quote the data or trend shown rather than a meaningless label.

Standard source W3C WAI (alt decision tree)

Embedded video Has video plus VideoObject schema

Why it matters. A video with VideoObject schema gives AI a transcript, thumbnail and timestamps it can read, so the page can be cited in video-rich AI answers.

ProblemA video without schema leaves AI unable to read a transcript or timestamps, so it cannot cite the page in video answers.

How to fixEmbed the video with a JSON-LD VideoObject carrying name, thumbnailUrl, uploadDate, a transcript, and a Clip array for key timestamps.

ResultThe page can be cited in video-rich AI answers with a clickable key moment.

Standard source Schema.org (VideoObject)

Infographic Includes a data image or infographic

Why it matters. A data infographic packages original numbers visually, making the page a primary source AI likes to cite when users ask for statistics.

ProblemWith no data image, AI has no visual source on the page to cite when users ask for statistics.

How to fixCreate an infographic that packages your original figures into a chart, with alt and a figcaption stating the numbers so AI can read them.

ResultThe page becomes a primary source AI likes to cite for those numbers.

Standard source Perplexity / OpenAI GEO research

Image captions Images use figcaption

Why it matters. A figcaption ties readable context directly to an image in the HTML, so AI links the visual to its explanation when interpreting the page.

ProblemImages without a figcaption stop AI from tying a visual to its explanation, so it misreads the image's purpose.

How to fixWrap each image in a <figure> tag and add a <figcaption> giving readable context directly beneath it.

ResultAI explains the image's purpose accurately because the context is tied to it.

Standard source MDN (figure and figcaption)

Sufficient visuals A rich enough number of images

Why it matters. Enough visuals signal a thorough, multi-modal resource, which AI systems treat as higher quality and more worth citing than sparse pages.

ProblemToo few images make AI judge the page sparse, so it prefers a visually rich rival to cite.

How to fixAdd a supporting image to each main section of the page (at least one per H2), every one carrying alt text and a figcaption.

ResultAI sees the page as comprehensive, higher quality and prefers it over sparse rivals.

Standard source Google Search Central (helpful content guidance)

Multimedia schema Schema for images and video

Why it matters. Combined ImageObject and VideoObject markup gives AI structured facts about every media element, so it can attribute and surface each one correctly.

ProblemImages and video without schema leave AI no data to attribute and surface each media element in an answer.

How to fixIn one JSON-LD block, declare an ImageObject for each key image and a VideoObject for each video, with url, caption and uploadDate.

ResultAI presents and attributes every media element on the page correctly.

Standard source Schema.org (ImageObject and VideoObject)

03

Structured Data for AI

10 signals
Has JSON-LD The page contains JSON-LD structured data

Why it matters. JSON-LD spells out what the page means in a machine-readable format, so AI assistants can parse facts without guessing from raw text.

ProblemWith no JSON-LD, AI must guess the page's meaning from raw text and easily gets the facts wrong.

How to fixAdd a <script type="application/ld+json"> block in the head declaring @context schema.org and an @type matching the page.

ResultAI assistants parse the facts precisely and more readily quote the page verbatim.

Standard source Schema.org

Primary schema The primary @type matches the content

Why it matters. When the declared @type matches the actual content, AI assistants classify the page correctly and trust its data instead of flagging a mismatch.

ProblemA declared @type that mismatches the real content (e.g. a product page as Article) makes AI misclassify it and drop the data.

How to fixSet the primary @type in the JSON-LD to match the real content: Product for products, Article for posts, FAQPage for Q&A pages.

ResultAI classifies the page correctly and trusts its data, e.g. surfacing price and rating directly.

Standard source Google Search Central (Structured Data Guidelines)

FAQ schema A FAQPage so AI can lift Q&A

Why it matters. FAQPage markup pairs each question with its answer explicitly, giving AI assistants ready-made Q&A blocks they can quote in a chat reply.

ProblemWithout FAQPage markup, AI quotes a rival's answer because your page has no machine-readable Q&A block.

How to fixMark up your question-answer pairs with FAQPage JSON-LD, putting a concise answer right under each question so AI can lift it.

ResultAI quotes the exact answer to a user's question and links back to the page.

Standard source Schema.org/FAQPage

Breadcrumb schema BreadcrumbList for context

Why it matters. BreadcrumbList shows where a page sits in the site hierarchy, helping AI assistants understand topic context and the page's place in a larger subject.

ProblemWithout BreadcrumbList, AI cannot tell where the page sits in the topic tree and cites it for the wrong queries.

How to fixAdd BreadcrumbList JSON-LD listing itemListElement in order from home to the current page, each with a name and item URL.

ResultAI understands the topic context and cites the page for the right specific queries.

Standard source Schema.org/BreadcrumbList

Organization Has Organization schema

Why it matters. Organization schema gives AI assistants a verified identity for the publisher, a key trust signal when deciding whose claims to cite.

ProblemWithout Organization schema, AI has no verified publisher identity and hesitates to cite an anonymous source.

How to fixAdd Organization JSON-LD with name, url, logo and sameAs links to the brand's official profiles, placed on the home page.

ResultAI treats the publisher as a known entity and cites it over anonymous sources.

Standard source Schema.org/Organization

WebSite Has WebSite schema

Why it matters. WebSite schema names the site and its search action, helping AI assistants tie individual pages to one coherent, recognizable source.

ProblemWithout WebSite schema, AI struggles to tie individual pages to one coherent source and attributes a bare URL.

How to fixAdd WebSite JSON-LD on the home page with name, url and a SearchAction so AI ties every page to the same brand.

ResultAI attributes citations to the brand by name instead of a bare URL.

Standard source Schema.org/WebSite

Multiple @types At least 3 different schema types

Why it matters. Several schema types layered on one page give AI assistants richer, cross-referenced context, raising the odds the page answers a specific query well.

ProblemA single schema type leaves AI with little cross-referenced context and it misses the page on specific queries.

How to fixLayer at least three related @types on one page via a JSON-LD @graph array (e.g. Article, an author Person, and FAQPage).

ResultAI gets several angles to cite from, raising the odds the page appears for follow-up queries too.

Standard source Google Search Central (Structured Data Guidelines)

Error-free schema JSON-LD has required props and no errors

Why it matters. Valid, complete schema parses cleanly, so AI assistants can rely on every field instead of discarding broken markup they cannot trust.

ProblemSchema missing required properties or with syntax errors makes AI discard all the markup and cede the citation.

How to fixValidate the JSON-LD in the Google Rich Results Test, add every property the @type requires, and fix all parse errors before publishing.

ResultAI relies on every field instead of dropping broken markup and ceding the citation to a rival.

Standard source Google Rich Results Test (validation guidance)

Speakable Speakable schema for voice assistants

Why it matters. Speakable marks the exact sentences best suited for text-to-speech, telling voice assistants precisely which passage to read aloud as the answer.

ProblemWithout Speakable, voice assistants cannot tell which passage to read aloud as the answer.

How to fixAdd a speakable SpeakableSpecification property to the JSON-LD, using a cssSelector or xpath that targets the summary sentence to read aloud.

ResultVoice assistants read back the marked passage when a user asks.

Standard source schema.org/Speakable

sameAs links sameAs points to authoritative profiles

Why it matters. sameAs links to Wikipedia or Wikidata let AI assistants reconcile the entity with a known knowledge-graph node, sharply boosting trust and disambiguation.

ProblemWithout sameAs, AI cannot reconcile the brand with a known entity and may confuse it with a look-alike domain.

How to fixAdd a sameAs array in the Organization or Person schema pointing to Wikipedia, Wikidata, and official social profiles.

ResultAI confirms the entity, boosting trust and citing the official site over look-alike domains.

Standard source Schema.org (sameAs property)

04

Citability

12 signals
Clear H1 A clear H1 stating the topic

Why it matters. A single clear H1 tells AI assistants the page's main subject in one line, so they match it confidently to a user's question.

ProblemA vague or missing H1 leaves AI unsure of the topic to match against a question, so it does not cite the page.

How to fixWrite a single H1 that states the topic and main keyword head-on (e.g. "SEO services for B2B companies"), not used for a logo or slogan.

ResultAI confidently matches the page to the right user question and cites it for that query.

Standard source Google Search Central (Heading guidance)

Multiple H2 At least 3 H2 to split sections

Why it matters. Multiple H2 sections break content into discrete topics, letting AI assistants pinpoint and quote the one section that answers a specific question.

ProblemFew or no H2s leave content unsegmented, so AI struggles to isolate the answer and quotes the whole page or skips it.

How to fixSplit the page into at least three H2 sections, each naming one distinct subtopic so AI can isolate the passage to quote.

ResultAI pinpoints and quotes the one section that answers a specific question.

Standard source Google Search Central (Heading guidance)

H3 detail H3 headings for subsections

Why it matters. H3 subsections add a finer layer of structure, helping AI assistants extract a precise sub-point rather than a whole broad section.

ProblemMissing H3s leave the content under each H2 sprawling, so AI grabs the whole section instead of the sub-point asked for.

How to fixBreak each long H2 section into H3 subsections, with each H3 carrying one specific sub-point so AI can extract just that.

ResultAI extracts the precise sub-point a user asked about rather than a whole broad section.

Standard source Google Search Central (Heading guidance)

Lists Bullet or numbered lists

Why it matters. Lists present steps or options as clean discrete items, the exact format AI assistants love to reformat into a bulleted answer.

ProblemPresenting steps or options as running prose makes it hard for AI to reformat them into a bulleted answer.

How to fixTurn steps into a numbered <ol> and options into a bulleted <ul>, one concise idea per item, so AI lifts the list almost verbatim.

ResultAI lifts the list almost verbatim into an answer because the items are already cleanly separated.

Standard source Perplexity citation research

Data tables Comparison or data tables

Why it matters. Tables organize facts into rows and columns AI assistants can read structurally, making comparison data easy to extract and cite accurately.

ProblemComparison data buried in prose is hard for AI to read structurally and it cites the wrong figures.

How to fixMove comparison data into a <table> with a <th> header row and clear <td> cells so AI reads each cell correctly.

ResultAI reads the right cell and answers comparison questions accurately from the table.

Standard source Perplexity citation research

Statistics Concrete numbers and statistics

Why it matters. Concrete numbers give AI assistants verifiable, quotable facts, which they prefer to cite over vague claims that cannot be pinned down.

ProblemContent with only vague claims and no numbers gives AI no verifiable facts to cite, so it skips the page.

How to fixReplace vague claims with concrete figures carrying a date and source (e.g. "cut costs 32 percent in 2024 per report X").

ResultAI quotes specific facts with their exact figures instead of skipping vague claims.

Standard source Princeton GEO research (Aggarwal et al., 2024)

Definitions Clear definition sentences for terms

Why it matters. Crisp definition sentences ("X is...") give AI assistants a self-contained answer block they can quote when a user asks what a term means.

ProblemWithout crisp definition sentences, AI has no self-contained block when users ask what a term means.

How to fixOpen each term's explanation with a standalone "X is ..." definition sentence placed right under the heading naming that term.

ResultAI quotes that definition sentence directly when a user asks what a term means.

Standard source Princeton GEO research (Aggarwal et al., 2024)

Question headings Headings phrased as questions

Why it matters. Question-style headings mirror how people actually ask AI assistants, so the heading and the text under it map cleanly onto a user query.

ProblemHeadings not phrased as questions fail to mirror how people actually ask AI, so the page is hard to cite.

How to fixPhrase some H2 or H3 headings as the exact question a user would type (e.g. "How long does SEO take to rank?") and answer it right below.

ResultThe heading and the text beneath it map cleanly onto a query, so AI cites that passage.

Standard source Google AI Overview guidance

Short paragraphs Short, scannable paragraphs

Why it matters. Short paragraphs isolate one idea each, making it easy for AI assistants to lift a self-contained chunk without dragging in unrelated text.

ProblemLong paragraphs mixing several ideas make it hard for AI to lift a self-contained chunk without unrelated text.

How to fixCut each paragraph to two or three sentences on a single idea, breaking to a new paragraph when the idea shifts so AI lifts a clean chunk.

ResultAI lifts a whole self-contained chunk into an answer without getting tangled.

Standard source Google AI Overview guidance

Direct answers A passage that answers the question directly

Why it matters. A passage that answers the question head-on, in the first sentence, gives AI assistants a ready-to-quote response without forcing them to infer.

ProblemAn answer buried under caveats forces AI to infer instead of having a ready line to quote.

How to fixAnswer the question head-on in the first sentence of the relevant passage, then add caveats and context in the sentences after.

ResultAI gets a ready-to-quote answer, beating pages that bury the answer in caveats.

Standard source Google AI Overview guidance

Short summary A short summary near the top

Why it matters. An upfront summary hands AI assistants the gist immediately, so they can cite the page's core point without parsing the whole article.

ProblemNo summary at the top forces AI to parse the whole article to extract the gist, so it may skip the page.

How to fixAdd a two-to-three-sentence TL;DR summary block right under the H1 stating the core point and the page's main answer.

ResultAI cites the page's core point immediately without parsing the whole article.

Standard source Princeton GEO research (Aggarwal et al., 2024)

Internal links Internal links that give AI context

Why it matters. Internal links connect related pages so AI assistants grasp the topic cluster, building confidence the site covers the subject in depth.

ProblemMissing internal links leave AI without the topic cluster and doubting the site covers the subject in depth.

How to fixAdd in-content text links to related pages on the site, using descriptive anchors that name the destination topic.

ResultAI grasps the topic cluster and treats the site as covering the subject in depth.

Standard source Google Search Central (Internal linking guidance)

05

E-E-A-T

11 signals
Author A verified author with a ProfilePage

Why it matters. A named, verifiable author with a ProfilePage tells AI assistants a real expert stands behind the content, a strong reason to trust and cite it.

ProblemContent with no verified author leaves AI unsure a real expert stands behind it to trust and cite.

How to fixName a real author in a byline, link to their profile page, and declare author as a Person with a ProfilePage in the JSON-LD.

ResultAI trusts and cites the content over the same text published under an anonymous name.

Standard source Google E-E-A-T

Publish date Has a datePublished

Why it matters. A datePublished anchors the content in time, letting AI assistants judge whether the information is current enough to cite for a query.

ProblemA missing datePublished leaves AI unable to anchor the content in time, so it avoids citing it for time-sensitive queries.

How to fixDeclare a datePublished field in the JSON-LD in ISO 8601 format (e.g. 2026-06-17) and show that date on the page.

ResultAI can judge whether the information is current enough to cite for a query.

Standard source Schema.org (datePublished property)

Update date Has a dateModified

Why it matters. A dateModified shows the page is actively maintained, signaling to AI assistants that its facts have been kept accurate and are safe to cite.

ProblemA missing dateModified leaves AI unsure the page is maintained, so it prefers a rival that looks fresher.

How to fixUpdate the dateModified field in the JSON-LD in ISO 8601 format on each edit, and show an "updated on ..." line on the page.

ResultAI trusts the facts are kept accurate and prefers the page over a stale rival.

Standard source Schema.org (dateModified property)

Cites sources The content cites sources

Why it matters. Citing sources shows the claims are grounded in evidence, which AI assistants reward by trusting and re-citing the page as a reliable reference.

ProblemClaims without sources make AI cautious because it sees no evidence underpinning them and hesitates to re-cite.

How to fixAfter each key claim or figure, insert a link to its named original source (a study, report, or official document).

ResultAI trusts and re-cites the page as a reliable reference.

Standard source Princeton GEO research (Aggarwal et al., 2024)

External source links Links to at least 3 different source domains

Why it matters. Linking out to several independent domains shows balanced, well-researched content, a trust signal AI assistants weigh when choosing what to cite.

ProblemLinking to no external sources makes content look one-sided and under-researched to AI.

How to fixLink out to at least three different independent, authoritative domains (e.g. official docs, academic research, industry press) at the relevant claims.

ResultAI sees the content as balanced and well-sourced and cites it over a one-sided pitch.

Standard source Google E-E-A-T

Trust pages About, Contact, Privacy, Terms exist

Why it matters. About, Contact, Privacy and Terms pages prove a real, accountable organization runs the site, a baseline trust check AI assistants apply before citing.

ProblemMissing About, Contact, Privacy and Terms pages stop AI from verifying a real organization runs the site, so it quietly skips it.

How to fixCreate all four About, Contact, Privacy and Terms pages with real content, and link to them from the footer on every page.

ResultThe site clears AI's baseline trust check instead of being quietly skipped.

Standard source Google E-E-A-T (Trustworthiness)

Experience signals Signs of real, first-hand experience

Why it matters. First-hand experience signals ("we tested", original photos) show the content comes from real practice, the "Experience" pillar AI assistants reward.

ProblemContent lacking first-hand experience signals leaves AI unsure it comes from real practice, so it prefers another roundup.

How to fixAdd first-hand experience proof such as a "we tested this" line, your own process photos, or real measured results in the content.

ResultAI prefers to cite the page over a generic spec roundup.

Standard source Google E-E-A-T (Experience)

Credentials Shows credentials or qualifications

Why it matters. Visible credentials establish the author's authority on the topic, giving AI assistants a concrete reason to trust expert claims and cite them.

ProblemShowing no credentials gives AI no concrete reason to trust the author's authority on the topic.

How to fixAdd a short bio line beside the byline stating the author's title, qualifications, or years of relevant experience in the topic.

ResultAI treats the content as an authoritative answer and favors it over an anonymous post.

Standard source Google E-E-A-T (Expertise)

Editorial process An editorial or review policy is shown

Why it matters. A published editorial or review policy shows content is fact-checked before release, raising the trust AI assistants place in every claim.

ProblemNo editorial policy leaves AI unsure whether content is fact-checked before release.

How to fixPublish an editorial policy page describing your review process, and add a "reviewed by [name] on ..." line to each article.

ResultAI treats the content as vetted and cites its claims confidently.

Standard source Google E-E-A-T (Trustworthiness)

Contact info Contact details or a contact page

Why it matters. Real contact details show the publisher is reachable and accountable, a transparency cue AI assistants read as a trust signal.

ProblemMissing real contact details make the publisher look unreachable and unaccountable to AI.

How to fixPublish a real address, phone and email on a contact page, and declare them in Organization schema via the address and contactPoint fields.

ResultThe page passes AI's accountability check instead of looking risky to cite.

Standard source Google E-E-A-T (Trustworthiness)

Freshness Content updated recently

Why it matters. Recently updated content reassures AI assistants the facts still hold, so they prefer fresh pages when answering time-sensitive questions.

ProblemContent left un-updated makes AI suspect the facts are stale and avoid citing it for time-sensitive questions.

How to fixPeriodically review the figures and examples, replace anything outdated with current data, then bump the dateModified and the visible date.

ResultAI prefers the fresh page when answering time-sensitive questions.

Standard source Google Search Central (Freshness / QDF)

Score your page against this standard

Install the SERPUPDATE Extension to audit on-page SEO right in your browser, free and instant.