On this page
What does average position aggregate?
Average position is the topmost position a link to your property held in a set of results, averaged across every query and impression in the selection. Google's worked example: one query shows your site at positions 2, 4 and 6 and counts as 2; another shows it at 3, 5 and 9 and counts as 3; the average is 2.5. Lower positions on the same page are ignored, and a position is only recorded when an impression is, so a result on page three that nobody reached contributes nothing.
Three details change how to read it. The chart is always aggregated by property, while the table is aggregated by page when you group by page or search appearance, so the two can legitimately disagree; Google notes that CTR and average position are generally higher by property, because only the topmost position is reported and several results from one site collapse into one impression. Every element in the results occupies a single position, so a carousel or knowledge panel gives every link inside it the same value. And Google itself calls position only a very rough indicator of how far down a result appeared.
It is not a rank any particular person saw but an average across many searches, devices, countries and queries, so it can move without anything on the site changing: appear for two thousand extra queries at positions 30 to 60 and the property-wide average worsens while every existing page keeps its place. Read position per query and per page for the queries that carry business value; the property-wide figure is a trend line at most.
How should impressions and clicks be segmented?
By query, page, country, device and date, each compared across two equal date ranges rather than read as a total. Google counts an impression when a user has seen or potentially seen a link to your site, generally whenever the item appears in the current page of results whether or not it was scrolled into view; links inside a carousel or an expandable FAQ must be scrolled to or opened. A click is any click that takes the user out of Google Search, and clicking the same link again after returning counts once. CTR is clicks divided by impressions.
Queries
The Queries tab is deliberately incomplete: anonymised queries, searched by very few people, are omitted from the table but counted in the chart totals unless a query filter is applied, the table stops at 1,000 rows, and only the most important rows are stored, so the long tail is truncated. Split brand from non-brand with a regular-expression filter on your business name; only the non-brand group says anything about SEO work. For a bilingual Malaysian audience, a second filter on Bahasa Malaysia markers such as "harga", "murah" or "servis" shows which language your visibility is growing in. The keyword research guide covers which non-brand queries deserve attention.
Pages
Grouping by page counts each URL separately, and most data is credited to the page's canonical URL: a click on a duplicate counts toward the canonical. When a page you expect is missing from the Pages tab, check its canonical in URL Inspection before concluding it has no visibility. A service page collecting impressions for questions it does not answer points to a page the site lacks.
Country and device
For a business selling locally, filter to Malaysia first: a general article can gather impressions from Indonesia or Singapore that swell the total while local clicks stay flat. The device dimension splits desktop, tablet and mobile; comparing CTR by device for the same queries shows whether a result that looks fine on a laptop is pushed down or truncated on a phone. Search type (web, image, video or news) is a separate filter, and comparisons take two countries or devices at a time.
Dates, and the data limits that shape every segment
Google labels daily data in Pacific Time in every view except the 24-hour one, so a Search Console day is not a Malaysian day. Data is usually available in two to three days, the newest points can be preliminary, and Google recommends weekly or monthly granularity for date-range comparisons so that a Monday is not set against a Saturday. Chart and table totals can differ because the chart is always by property, and page or query filters can leave match and does-not-match totals that do not add up. History is limited too; in our experience the date picker reaches back about sixteen months, so export the monthly figures you care about before they age out.
Which report observes indexing versus performance?
The Page indexing report and URL Inspection observe whether Google has stored a page; the Performance report observes whether a stored page was shown and clicked; Crawl stats observes whether Google could fetch pages at all; enhancement reports observe whether structured data on crawled pages was valid. A page can pass the first and fail the second: indexed, with zero impressions, because nothing it says is the best answer to any query. Decide which stage of the chain in how search visibility works the symptom belongs to, then open that stage's report.
| Report | What it observes | What it cannot tell you |
|---|---|---|
| Performance (Search results) | Impressions, clicks, CTR and average position by query, page, country, device, search appearance and date | Why a number moved; anything after the click; the rank one person saw |
| Page indexing | Whether each known URL is indexed and, if not, why; validation of fixes | Whether an indexed page has any visibility; one specific URL's status |
| URL Inspection | One URL as last indexed: crawl allowed, indexing allowed, declared and Google-selected canonical, last crawl date; a live test of the current page | Whether the page will appear in results; the canonical from a live test |
| Crawl stats | Requests, download size and response time over 90 days; host status for robots.txt, DNS and connectivity; discovery versus refresh crawls | Anything about ranking; Google says sites under about a thousand pages should not need it |
| Rich result and enhancement reports | Valid and invalid structured data items on a sample of crawled pages; Core Web Vitals from real-world usage | Whether a valid item is actually shown as a rich result; a complete page inventory |
In Google's words the indexing chart should show a gradually increasing count as the site grows, but Not indexed is not necessarily bad: you should not expect all URLs to be indexed, only the canonical pages. The report gives a reason for each: a noindex rule, a robots.txt block, a duplicate or alternate of an indexed canonical, a 404, a redirect. Crawled – currently not indexed means Google fetched the page and did not store it; it may or may not be indexed later and needs no resubmission. Discovered – currently not indexed means Google found the URL but rescheduled the crawl, typically to avoid overloading the site. Example lists stop at 1,000 URLs, and validating a fix typically takes up to about two weeks, sometimes much longer. A drop in indexed pages without a matching rise in errors usually means robots.txt, noindex or a login is blocking access; the robots, noindex and canonical guide explains each control.
URL Inspection shows the most recently indexed version of a page, not the live one, which may have changed since Google last saw it. The live test fetches the page now; a positive result means it can be crawled and parsed, not that it will appear in Search, and requesting indexing is a request, not a guarantee. Crawl stats, under Settings, is aimed at advanced users and available only for root-level properties; its host status turns red when robots.txt fetches, DNS resolution or server connectivity failed within the past week, and rising response times or 5xx errors there are a hosting or technical SEO problem, not a content one. Enhancement reports count items rather than pages, show a sample, and mark structured data valid (eligible for a rich result) or invalid; the Core Web Vitals report reads real-world usage data, covered in the Core Web Vitals guide.
How should a change be connected to an outcome?
Log the change with its date, compare equal date ranges either side of it with identical filters, narrow to the pages and queries the change could plausibly affect, and find a second observation that agrees before saying the change caused the outcome. Search Console can show that a metric moved after a change; it cannot show that the change moved it, and an honest report says which of the two it is showing.
Keep a change log
Record every change that could touch visibility, with its live date: content edits, new pages, title rewrites, redirects, robots.txt or noindex changes, hosting or theme changes, deployments. Add the URL Inspection last crawl date once Google has seen it; before that date, no movement can be the change's doing.
Compare equal date ranges
Compare two ranges of the same length, one ending before the change and one starting a few days after the crawl date, with identical search type, country and device filters. Allow for the data lag, leave preliminary days out, and use weekly or monthly granularity.
Segment to what the change could affect
Filter to the changed pages, then to their target queries, then to Malaysia and to mobile if that is where the audience searches. A movement that survives every narrowing is at least located; one that exists only in the property total usually belongs to a change in the mix of queries the site appears for.
Look for confirmation
Ask what else would be true if the explanation were right, and check it: a CTR change should come with an altered snippet in a live result snapshot, an indexing change should show in the Page indexing report, a crawl problem in Crawl stats and server logs. Write down the strongest alternative (seasonality, a Google ranking update, a competitor, a tracking change) and whether you could rule it out. If not, report the outcome as observed and the cause as possible.
One row per observation, never a single score, and the last column left honest: a row whose confirmation cannot be filled is a guess and is reported as one. The business, figures and dates below are invented.
| Date range | Property | Filter | Metric before | Metric after | Observation | Possible explanation | What would confirm it |
|---|---|---|---|---|---|---|---|
| Jul vs Aug 2026 | Whole property | Web; Malaysia | 18,400 impressions, 412 clicks | 22,500 impressions, 388 clicks | Impressions up 22%, clicks down 6% | New guide pages appear for broad queries at low positions; service-page clicks slipped | Group by page to locate the click loss; compare at weekly granularity |
| Jul vs Aug 2026 | Whole property | Malaysia; mobile | Average position 14.2 | Average position 19.6 | Position worse by five places | Mix effect: about 1,900 new impressions at positions 30–60 while the ten target queries hold | Filter to each target query; if each holds, it is a mix change, not a loss |
| Jul vs Aug 2026 | Whole property | Queries matching (harga|murah|servis) | 96 clicks | 171 clicks | Bahasa Malaysia queries grew faster than English | New Bahasa Malaysia service page indexed mid-August | Pages tab shows the new page holding the clicks; English clicks did not fall |
| 1–14 vs 15–28 Aug 2026 | Whole property | Page indexing report | 148 indexed pages | 121 indexed pages | 27 pages left the index, no new errors | A staging noindex rule deployed on 15 Aug; or duplicates consolidated | Reasons listed for the 27 URLs; URL Inspection on three; the 15 Aug deployment log |
| Jul vs Aug 2026 | Whole property | Country: not Malaysia | 3,100 impressions | 6,900 impressions | Overseas impressions doubled | One article ranks in Indonesia for a generic Bahasa query | Filter to Indonesia and group by page; exclude that article from the local report |
What to do next
- Open the Performance report, filter to web and Malaysia, and compare the last full month with the one before at weekly granularity. Write a worksheet row for each movement you cannot yet explain.
- Group by query with a brand filter both ways, and keep a non-brand list of the twenty queries that describe what you sell to track by position and page.
- Read the reason for every Not indexed URL you expected to be indexed, and use the technical SEO audit checklist to record what proves each fix.
- Start a change log today, even a shared document with a date column; without it, next month's movements have no candidate causes.
Where to go next
- How search visibility works →
The crawl, index and rank chain that each report on this page observes one stage of.
- Robots, noindex and canonical guide →
What to do when the Page indexing report names one of these controls as the reason a page is not indexed.
- Complete SEO audit guide →
How a month of observations becomes a prioritised list of fixes.
- How an SEO programme works →
How measurement of this kind is reported month by month through a programme.
Rather have this handled?
This is part of how we run seo programmes for Malaysian businesses. Ask us about your site — no pitch, a straight answer.
Sources and further reading
- Search Console Help — Performance report (Search results): Overview and basic setup — read 15 September 2026
- Search Console Help — What are impressions, position, and clicks? — read 15 September 2026
- Search Console Help — Performance report (Search results): About the data — read 15 September 2026
- Search Console Help — Performance report (Search results): Dimensions and data groupings — read 15 September 2026
- Search Console Help — Performance report (Search results): Advanced filtering and comparison — read 15 September 2026
- Search Console Help — Performance report (Search results): Troubleshooting data discrepancies — read 15 September 2026
- Search Console Help — Page indexing report — read 15 September 2026
- Search Console Help — URL Inspection tool — read 15 September 2026
- Search Console Help — Crawl Stats report — read 15 September 2026
- Search Console Help — Rich result report overview — read 15 September 2026
- Google Search Central — Get started with Search Console — read 15 September 2026
