How to Check If Your SEO Is Working, and Why It Is Not Instant
SEO work is slow to show, so it is easy to lose faith in it or to keep paying for it without proof. The good news is that you do not have to guess. Search engines leave a clear trail: your server logs show when Googlebot fetched the pages you changed, Search Console shows whether they were indexed and how often they appeared in results, and your analytics shows whether those visits did anything useful. This guide shows you which numbers to watch at each stage, in the order they move, how long each stage usually takes, and how to set up a simple monthly check so you can tell a real improvement from normal noise, a seasonal swing or a reporting change.
- What working SEO actually looks like
- Why SEO does not produce instant results
- The metrics that tell you SEO is working
- How to check, with the reports and commands
- A realistic timeline and what to expect each month
- A worked example
- The fix, step by step
- Edge cases worth knowing
- Keeping the measurement honest
- Questions and answers
What working SEO actually looks like
SEO does not switch on like an advert. It moves through a chain of stages, and each stage has to happen before the next one can. When people say their SEO is not working, they are usually looking at the last link in the chain, sales or enquiries, while the problem, or the progress, sits further up.
- Crawled. Googlebot fetches the page you created or changed.
- Indexed. Google decides the page is worth keeping and stores it.
- Shown. The page starts appearing in results. Search Console counts each appearance as an impression.
- Climbing. Average position improves for the queries you care about.
- Clicked. Visitors choose your result. Clicks and click-through rate rise.
- Converting. Those visitors phone, book, buy or fill in a form.
So the honest answer to whether your SEO is working is a question back: which stage has moved? Impressions rising while clicks stay flat is real progress, because it means Google is testing your pages for more searches. Clicks rising with no enquiries points at the page or the offer, not at SEO.
Why SEO does not produce instant results
Several delays stack up between publishing a change and seeing traffic from it. None of them can be skipped, though some can be shortened.
| Delay | Typical length | Why it happens |
|---|---|---|
| Recrawl | Hours to several weeks | Google revisits pages at its own pace. Popular, well-linked pages are fetched more often than deep or new ones. |
| Indexing decision | Days to weeks | New pages can sit as discovered or crawled but not indexed while Google judges their value. |
| Ranking settles | Weeks to months | Positions for a new page often jump about before they settle, as Google gathers signals. |
| Authority builds | Months | Links and mentions from other sites accumulate slowly, and they are found and counted slowly too. |
| Reporting lag | About two days | Search Console data is usually a couple of days behind, so the last days of a chart are incomplete. |
Google's own guidance on hiring an SEO says that in most cases it takes four months to a year to put improvements in place and then see the benefit. A brand-new domain with no links sits at the slow end. An established site fixing a technical fault, such as a noindex tag left on key pages, can recover within days of the next crawl, because the authority was already there.
Competition matters as much as effort. A plumber in a small town competing with five local firms can see movement in weeks. A new online shop targeting national product terms is up against sites with years of links and content, and its realistic first goal is long-tail searches, not the head term.
The metrics that tell you SEO is working
Use a small set of numbers and read them together. Each one on its own can mislead.
In Google Search Console
- Impressions. How often any of your pages appeared in results. This moves first, often weeks before clicks.
- Clicks. Visits from Google Search. This is the closest Search Console gets to traffic.
- Average CTR. Clicks divided by impressions. It falls naturally when impressions grow for new, lower-ranked queries, so a dropping CTR is not always bad news.
- Average position. The mean of your highest position each time you appeared. It can worsen while traffic grows, because you start appearing for many new queries at position 40.
- Indexed pages. In the Page indexing report, the count of indexed pages should match the pages you want found. See how to check a page is indexed.
In Google Analytics 4
- Organic Search sessions in Reports, Acquisition, Traffic acquisition, using the session default channel group.
- Landing pages in Reports, Engagement, Landing page, filtered to organic sessions, so you can see which pages people arrive on.
- Key events such as form submissions, calls or purchases from organic sessions. This is the number that pays the bills.
On your own server
Your access logs are the only first-hand record of crawling. Search Console's crawl data is sampled and summarised; the log shows every request with its date and status code. When you publish or fix a page, the log tells you exactly when Googlebot came back for it.
How to check, with the reports and commands
Start with Search Console. In the Performance report, select Search results, tick all four metric boxes, and set the date range to compare the last three months with the previous three months. Then switch to the Queries tab and sort by the change in clicks. Repeat on the Pages tab.
Separate brand searches from the rest. People typing your business name would find you anyway, so growth there says little about SEO. Add a query filter, choose Custom (regex), select Doesn't match regex and enter your brand name and common misspellings:
example bakery|examplebakery|example bakry
What remains is non-brand search, the clearest measure of SEO progress. The branded keywords guide explains why this split matters.
Confirm Googlebot has seen your changes
On your server, search the access log for Googlebot requests to the page you changed. On a typical nginx or Apache server, or a Plesk domain, it looks like this:
sudo grep "Googlebot" /var/log/nginx/access.log | grep "/services/boiler-repair" | tail -5
# Plesk keeps per-domain logs here
sudo grep "Googlebot" /var/www/vhosts/example.com/logs/access_ssl_log | awk '{print $4, $7, $9}' | tail -20
Anyone can put Googlebot in a user agent, so verify a sample IP address with a reverse then forward DNS lookup. A genuine crawler resolves to a googlebot.com or google.com host:
host 66.249.66.1
# 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.
host crawl-66-249-66-1.googlebot.com
# crawl-66-249-66-1.googlebot.com has address 66.249.66.1
Finally, check the page returns what you expect to a crawler. A 200 status, no noindex header and the right canonical are the basics:
curl -sI -A "Googlebot" https://example.com/services/boiler-repair | grep -iE "^HTTP|x-robots-tag|location"
A realistic timeline and what to expect each month
These ranges are typical for a small business site with a handful of competitors. They are not promises, and a fiercely competitive market can double them.
| After | What you should be able to see | If you cannot |
|---|---|---|
| 1 to 2 weeks | Googlebot has fetched changed pages in your logs; URL Inspection shows a recent crawl date | Check internal links, the sitemap and robots.txt |
| 2 to 6 weeks | New pages indexed; first impressions for long-tail queries | Look at the Page indexing report for the reason given |
| 2 to 4 months | Impressions clearly up on the comparison; positions settling; first non-brand clicks growing | Review content depth against the pages that do rank |
| 4 to 12 months | Non-brand clicks and organic key events up year on year | Look at authority: links, mentions and local signals |
Compare like with like. A garden centre that compares March with January will always see growth, SEO or not. Use the year-on-year comparison once you have 13 months of data; Search Console keeps 16 months, which is enough for one full year-on-year view.
If your scores in audit tools improve but traffic does not, read why scores and traffic can diverge. Technical scores measure readiness, not demand.
A worked example
Example Bakery rewrote its five product category pages and added a new page on celebration cakes in early March. In April the owner felt nothing had happened, because orders were flat.
The log check showed Googlebot fetched all six pages within nine days. URL Inspection confirmed the new page was indexed on 21 March. In Search Console, comparing April with February, impressions were up from 4,100 to 7,900, clicks from 210 to 260, average CTR down from 5.1% to 3.3%, and average position down from 14.2 to 19.6.
On the surface, position and CTR got worse. Filtering out brand queries told the real story: non-brand impressions had tripled, mostly for queries like birthday cake delivery near me, where the bakery was showing at positions 15 to 30. That is stage three of the chain. The job for May was to improve those pages so they moved onto page one, with clearer headings, delivery-area details and better internal links from the homepage.
By July, non-brand clicks had doubled and GA4 showed 34 cake enquiries from organic sessions against 11 in February. The SEO had been working in April. It just had not reached the stage the owner was watching.
The fix, step by step
Step 1
Write down a baseline
Before judging anything, record where you started. Note non-brand clicks, impressions, indexed pages and organic key events for the last full three months, plus the date and URL of every change you have made. Keep it in a simple spreadsheet with one row per month. Confirm it worked by checking you could hand the sheet to someone else and they could see exactly what changed and when, without asking you.
Step 2
Confirm Googlebot fetched the changed pages
Search your server access log for Googlebot requests to each page you changed, using grep with the page path. Note the first date after your change and the status code returned, which should be 200. Verify one IP address with host to confirm it resolves to googlebot.com. If there is no visit after two weeks, add an internal link from a busy page and resubmit the sitemap, then check the log again a few days later.
Step 3
Check each page is indexed
Paste each changed URL into URL Inspection in Search Console. Read the verdict, the last crawl date and the Google-selected canonical. A page that says URL is on Google is in the index. If it says crawled or discovered but not indexed, the page is not yet worth showing in Google's view, so improve its content and links before expecting traffic. Recheck the verdict after the next crawl appears in your logs.
Step 4
Compare impressions over three months
In the Performance report, compare the last three months with the previous three. Tick impressions, clicks, CTR and position. Rising impressions mean Google is showing your pages for more searches, which is the first visible sign that SEO is working. Ignore the last two days of the chart because the data is incomplete. Confirm the trend by checking the same rise appears on the Pages tab for the pages you actually worked on.
Step 5
Filter out brand searches
Add a query filter using Custom (regex), choose the option that excludes matches, and enter your brand name and common misspellings separated by a pipe, such as example bakery|examplebakery. The remaining figures show non-brand search, which is what SEO work should grow. Save the comparison so you can reopen it next month. If non-brand impressions rise while brand searches stay flat, your content is reaching new people.
Step 6
Check positions for your target queries
Keep a list of around 20 queries that matter to your business. Look each one up on the Queries tab and note its average position each month. Positions moving from the 30s into the teens are progress even with few clicks, because page two gets almost no traffic. Do not use manual searches for this, since personalisation and location change what you see from one check to the next.
Step 7
Link organic visits to enquiries in GA4
In GA4, open Traffic acquisition, filter to the Organic Search channel and add your key events, such as form submissions or calls. Then open the Landing page report with the same filter. This shows which pages bring visitors who act. If organic sessions rise but key events do not, the problem is the page or the offer, and the fix is clearer calls to action rather than more SEO work.
Step 8
Judge against a fair comparison
Before you decide the work has failed, compare year on year once you have 13 months of data, so seasonal swings cancel out. Check for confirmed Google updates in the period and for tracking changes, such as a missing GA4 tag. Allow at least four months for new pages on an established site and longer for a new domain. Write your conclusion in the spreadsheet so next month starts from facts.
Edge cases worth knowing
- AI Overviews and zero-click results. Your page can be cited or shown without being clicked. Impressions grow while clicks lag. Look at queries where you hold a top position but CTR is low before assuming you are failing.
- Analytics consent. In the UK and EU, visitors who decline analytics cookies may not be counted in GA4, or only modelled. Search Console clicks are counted by Google and are not affected, so the two will not match.
- Algorithm updates. A drop that lines up with a confirmed Google update is about how Google weighs pages, not about your latest change. See ranking recovery.
- Tracking breaks. A theme update that removes the GA4 tag looks exactly like a traffic collapse. If Search Console clicks are steady and GA4 drops to zero overnight, check the tag first.
- Anonymised queries. Search Console hides very rare queries for privacy, so the Queries tab total is lower than the chart total. That is normal.
Keeping the measurement honest
Set up one simple monthly routine and stick to it, rather than checking daily and reacting to noise.
- Record the date and page of every SEO change in a shared spreadsheet.
- Each month, note non-brand clicks and impressions, indexed page count and organic key events.
- Check the access log for Googlebot visits to anything you changed that month.
- Compare month on month for direction and year on year for truth.
- Keep a list of 20 target queries and their Search Console position, not a manual spot check.
The real traffic audit guide shows how to bring these numbers into one view, and the guide to improving website SEO covers what to change when a stage stalls.
1. How do I know if my SEO is working?
Your SEO is working when non-brand impressions in Google Search Console rise, followed by clicks, and then by enquiries or sales from organic visits in your analytics. Check them in that order, because each stage depends on the one before. Use your server logs to confirm Googlebot has fetched the pages you changed, and URL Inspection to confirm they are indexed. Compare three months against the previous three, and year on year once you have the data, so that seasonal swings and normal day-to-day noise do not mislead you.
2. Why does SEO not produce instant results?
SEO is not instant because several delays stack up that you cannot skip: Google has to recrawl the page, decide to index it, test it against other pages for each query and gather signals such as links before positions settle. Each step can take days to weeks. Authority from other sites builds over months. Search Console data also runs about two days behind. An established site fixing a technical fault can recover quickly, but new content on a new domain usually needs four months to a year to show its full effect.
3. How long does SEO take to work for a small business?
For a small local business with modest competition, you can usually see first impressions within a few weeks and meaningful non-brand clicks within two to four months. Google's own guidance says improvements and their benefit typically take four months to a year. A new domain, a national market or a very competitive sector sits at the slower end of that range. Fixing a technical blocker such as a noindex tag on an established site can show results within days of the next crawl, because the trust was already there.
4. Which Search Console metrics show SEO progress?
Impressions, clicks, click-through rate and average position in the Performance report show SEO progress, along with the count of indexed pages in the Page indexing report. Impressions usually move first. Average position and click-through rate can look worse while you are growing, because you start appearing for many new queries at lower positions, which drags the averages down. Read all four together, filter out brand searches, and compare equal periods rather than looking at one week on its own.
5. Is a drop in average position always bad?
No, a drop in average position is often a sign of growth rather than decline. Average position is calculated across every query you appear for, so when Google starts showing your pages for hundreds of new long-tail searches at positions 30 to 50, the average falls even if your main terms hold steady or improve. Check whether impressions and the number of queries have risen at the same time. If they have, the lower average simply reflects reach. If impressions and clicks also fell, investigate further.
6. Why do Search Console and Google Analytics show different numbers?
Search Console and Google Analytics count different things, so they will never match exactly. Search Console counts clicks on Google results, recorded by Google. GA4 counts sessions recorded by a tag on your page, which can be blocked by consent choices, ad blockers or slow loading, and it groups visits from all search engines into organic. In the UK and EU, cookie consent rules mean some visitors are not measured at all. Use Search Console for search performance and GA4 for what visitors do afterwards.
7. How can I tell if Google has crawled my updated page?
The most reliable way is to search your server access log for Googlebot requests to that page, which shows the exact date, time and status code of each visit. Verify the IP address with a reverse DNS lookup to confirm it is really Google. URL Inspection in Search Console also shows the last crawl date and can display the crawled version of the page. If the log shows no visit two weeks after the change, add internal links to the page and resubmit your sitemap.
The Real Traffic Audit on aiwebpageseo.com puts your search visibility, indexed pages and organic visits side by side, so you can see which stage of the chain has moved and which has stalled.
Open Real Traffic Audit Fixes โ