Skip to content
GET-GEO.AI
/
← All guides

// guide

Our AI visibility hasn't improved after three months of GEO — what should we check?

Dmitry Filippov

Written by: Dmitry Filippov, Founder, GET-GEO.AI
Published: 2026-09-22 · Updated: 2026-09-25

// short answer

Check access, rendering, content, company information and measurement in order. Can search crawlers reach the final URL, and is the answer available in the HTML? Then compare repeated tests with your baseline. OpenAI’s roughly 24-hour robots.txt update window is not a recrawl deadline; missing log entries alone do not prove an access fault.

  • Check access and rendering on day 1, content and company information in week 1. Record the baseline before changes, then repeat measurements and assess independent coverage.
  • OpenAI usually applies robots.txt changes within about 24 hours, without promising a visit. No search-bot hits by week 4–8 warrant checking access, page discovery and log coverage.
  • Our protocol uses 30–50 buyer questions per language and three repeats in comparable sessions. These are working guidelines, not a statistical threshold; a single screenshot cannot establish a trend.
  • On 14–15 September 2026 our 12 prompts produced 84 answers on ChatGPT, Perplexity and AI Mode; every citation of get-geo.ai came on the two 90-day-policy prompts, where our pages state a checkable commitment.
  • On 'how do we do GEO in-house' prompts ChatGPT cited developers.google.com in 12 of 12 answers and no agency site (14 September 2026); the source pool decides what your page has to beat.

Did the crawlers ever fetch the pages? (access, day 1)

Start with server logs to check which pages crawlers fetched and how the server responded. Missing entries alone do not rule out citations: assistants may use search indexes, cached information or fetchers outside your log coverage. Look for OAI-SearchBot for ChatGPT search, GPTBot for training, PerplexityBot, Claude-SearchBot, and Googlebot for AI Overviews and AI Mode. Google-Extended is a robots.txt control token, not a separate crawler.

OpenAI says robots.txt changes usually take effect within about 24 hours; this is not a deadline for visiting or citing a page. We remeasure every two to four weeks. If visits remain absent by the second check, in week 4–8, investigate access, discovery and logging before drawing conclusions. In August 2026 our site had a redirect loop between the bare and www domains, described in our own-site case. The robots.txt guide explains the individual controls. Resolve confirmed access problems before judging the effect of content changes.

  • 1. Does robots.txt permit search crawlers? Run curl -s https://yoursite.com/robots.txt. Problem: the rules applicable to OAI-SearchBot, PerplexityBot or Claude-SearchBot disallow the pages you want found. Blocking GPTBot alone is a separate training decision. Fix conflicting rules; explicit Allow groups can help, but are unnecessary if no applicable rule blocks access.
  • 2. Does the request reach an accessible final page? Run curl -sIL -A "OAI-SearchBot" https://yoursite.com/the-page. This simplified user-agent tests response headers and redirects, not a verified crawler visit. Problems include loops, 403, 429 or an unintended destination. A working redirect is not itself a fault. Keep redirects short and align the final URL with the canonical and sitemap.
  • 3. Have search bots fetched the changed pages? Run grep -i "OAI-SearchBot\|PerplexityBot\|Claude-SearchBot" access.log | grep "/the-page". Check dates, final responses and log coverage. A 3xx may be a normal redirect; follow it before diagnosing a failure. No entries by week 4–8 call for checking access and discovery, not an automatic conclusion that the fix failed.
  • 4. Does the CDN or WAF challenge permitted crawlers? Look for 403, 429 and challenge pages. Check managed rules and rate limits. Where vendors publish verification methods or IP ranges, use them to identify and allow genuine search crawlers; a matching user-agent alone does not authenticate a request.

Is the page the model sees the page you wrote? (rendering)

Check both the raw HTML response and the rendered page. View Source shows the former; Inspect shows the page after JavaScript has run. Some fetchers render JavaScript, others may not. Of 15 cited competitor pages checked on 21 September 2026, one had an empty body without JavaScript but had been cited by AI Mode on 15 September. This does not establish how AI Mode obtained its content. Serving important text in the initial HTML reduces dependence on rendering. Our ChatGPT citation guide explains the practical checks.

  • 5. Is the body text in the raw HTML? Run curl -s -A "OAI-SearchBot" https://yoursite.com/the-page | grep -c "a sentence from the first paragraph". A zero is a reason to inspect the response: encoding or markup may also prevent an exact match. A login form or consent screen hiding the text is a real obstacle. Make essential content available without interaction, using server rendering or pre-rendering where appropriate.
  • 6. Are verifiable facts easy to read? Look for the price, limit or language list in the page text. If an important fact appears only in an image, chart or PDF, add a clear text version on the relevant page. Those formats are not universally unreadable, but a text answer is easier to find and verify; it need not be in a mandatory first paragraph.
  • 7. Do canonical and sitemap name the host that serves the page? Run curl -s https://yoursite.com/the-page | grep -i 'rel="canonical"' and compare with the sitemap. Fail: a canonical on a host that redirects. Fix: one host everywhere.

Does the page answer the exact prompt? (content)

Make the answer easy to find and specific enough to verify. A short answer near the beginning helps readers; an exact opening sentence is not a documented condition for citation. OpenAI says ChatGPT typically rewrites questions into targeted search queries and may issue more specific follow-ups. This supports covering the underlying question clearly, rather than repeating its exact wording or assuming a fixed sequence of page visits.

The source pool matters as much as the page. In our run of 14 September 2026 (ChatGPT, logged out, 12 prompts, three repeats) the four prompts about doing GEO in-house were answered from developers.google.com in 12 of 12 answers with no agency site; the next day Perplexity answered them from vendor blogs and AI Mode from Reddit threads. A marketing page does not beat documentation on a documentation prompt. Our guide on why ChatGPT doesn't recommend a company ranks the seven causes; these are the content ones as checks.

  • 8. Do pages answer your important questions? Map your ten most valuable questions to the URLs that answer them. Several related questions may share a useful page. The problem is a missing or vague answer, not a repeated URL. Add a focused page where needed, with a clear heading and a concise answer, often 40–60 words, supported by verifiable details.
  • 9. Can the official page substantiate the claim? Search site:yoursite.com with the claim and inspect the sources actually linked in the assistant’s answer. A follow-up question about pages checked is not a verified retrieval log. A blog post or PDF is not automatically unsuitable. Put the relevant evidence on an accessible page and make it easy to locate.
  • 10. Is time-sensitive information current, and is the date accurate? Check the visible update date and dateModified where used. Problems include outdated prices or conditions, and a fresh date on unchanged material. A page older than a year is not automatically obsolete. Update the substance when necessary, then reflect the real change date.
  • 11. Which sources answer this question today? Classify cited domains: documentation, comparisons, forums, vendor pages or press. If your page type is absent, investigate whether it fits the question. Adapt content or revise future priorities with a recorded reason. Preserve the original question set and results so changes to the test do not create artificial improvement.

Is the entity unambiguous?

An entity is a clearly identifiable organisation. Its name, activities, market and people should be consistent across the site, profiles and Organization structured data; descriptions need not be word-for-word identical. Distinguish trading names, legal names and translated names when necessary. Ambiguity also affects terms: on 15 September 2026, Perplexity confused “GEO” with the Gene Expression Omnibus, the GEO Group and GEO union contracts in 3 of 8 answers to our what-if questions. At company level, look for incorrect categories, namesakes or another company’s facts attached to your brand.

  • 12. Does the assistant identify your company consistently? Ask “What is [company]?” in three comparable sessions per assistant. Incorrect categories, a competitor’s facts or confusion with a namesake warrant investigation. State clearly what the company does and in which market, then correct conflicting information. Different wording alone is not a failure.
  • 13. Are name variants and profiles clearly connected? Compare the site, LinkedIn, relevant directories and JSON-LD fields such as name, url, sameAs and founder. Check for conflicting facts or links to the wrong entity. Legitimate name variants and missing optional fields are not automatic faults. Use accurate names and people, and link genuine profiles where appropriate.

Are you measuring the right thing? (prompt set, clean sessions, repeats)

Our protocol uses a fixed set of 30–50 buyer questions per language, three repeats per question in sessions without personal context, and the same conditions at each remeasurement. These are practical guidelines, not a universal statistical threshold. Track citation rate, the share of questions where an assistant cites your page, and share of voice, your share of brand mentions in the same answers. Testing every two to four weeks yields three to six follow-ups by month three. Our measurement guide explains the protocol.

Spread is normal and must be known before it can be beaten: on our two 90-day-policy prompts on 14 September 2026 (ChatGPT, six answers) 18 different agency domains were cited and only one appeared in all three repeats of a prompt. A brand present in one repeat and absent in the next is unstable: measure again, do not rewrite.

  • 14. Is there a dated baseline with raw answers? Look for the day-one log: prompt, assistant, repeat, brands in order, URLs cited, screenshot. Fail: none, or one taken after work started. Fix: take one now with our free self-check protocol and compare forward.
  • 15. Are session conditions controlled, and do the questions reflect buyers? Use logged-out sessions or explicitly select Unpersonalized Temporary Chat; Temporary Chat alone does not establish that memory and instructions are excluded. Record settings. Avoid relying only on brand questions or “best [category]”. Our 30–50-question guideline is for planning. If you revise the set using sales conversations, retain the old set and explain the change.
  • 16. Are there repeated runs and both metrics for each assistant? Our protocol uses three repeats and reports citation rate and share of voice separately. One run is too weak to establish a trend, and movement within baseline variation needs caution. A change beyond that variation is worth following up; it does not alone establish statistical significance or a lasting result.
  • 17. Do other signals support the finding? In analytics, inspect utm_source=chatgpt.com and perplexity.ai referrals. In Search Console, check Generative AI performance for page-level AI Overviews and AI Mode impressions. These measure different things: impressions are not visits, and this report does not cover the Gemini app. Compare dates and pages; no fixed order requires traffic to grow before question-level visibility.

Is it corroboration, not the page? (brand mass)

If access, rendering, content and company information look sound but the same competitors keep appearing, limited independent coverage is one possible explanation. Review how many relevant independent domains describe the company and what they actually substantiate. This work often needs a quarterly planning horizon, with no guaranteed growth or citation. It is not proof that an assistant always checks the official site before seeking agreement elsewhere. Recheck question fit and measurement too. Our day-90 guide explains the three choices when results have not improved.

  • 18. Which independent domains mention the company? Search "[company]" -site:yoursite.com, excluding profiles you control, and compare the two competitors most cited in your set. Assess relevance, quality and accuracy as well as counts. A smaller number can suggest a coverage gap, but does not prove the cause. Plan suitable independent coverage and review it quarterly.
  • 19. Do cited sources describe you accurately? Group cited URLs by domain and read the relevant passages. Repeated lists that omit you, or incorrect descriptions, may point to useful outreach. Offer verifiable information about your services and market; identical wording is unnecessary. Our guide to paid list placements explains how to assess those opportunities.
  • 20. Is the stalled goal a brand-level pick in a crowded category? Check the prompts that have not moved. Fail: "best [category]" against established names, promised inside 90 days. Fix: narrow, constrained prompts next quarter; broad ones on a quarterly review.

What does a fixed one look like: our own example

A fixed one looks like a dated log entry followed by a dated citation, with the gap recorded and the limits stated. On 4 August 2026 our audit of get-geo.ai found the redirect loop described above and fixed it the same day. On 13 August, in five clean ChatGPT sessions asking for a GEO agency for a multilingual company, get-geo.ai was named five out of five times, next to 12 different competitors; a sixth run on 17 August did the same. About two months from the June launch. We cannot isolate the redirect's contribution, because the language pages went live in the same period, and six runs over two days are first reproducible citations, not a stable position; the dated sequence is in our results timeline guide.

Two later entries cover the other layers. Our what-if guide was published on 14 September 2026; on 15 September AI Mode cited it in both repeats of "what happens if GEO doesn't work after 90 days", and Perplexity (logged in, personalisation off, so not a clean session by our rule) cited it as well. The same day a remeasure of our Hindi case ran the four prompts from 3 September twice each, logged out: named in 8 of 8, first in 6 of 8, and 4th to 5th on the prompt lost 12 days earlier. One assistant, one day, our own prompts.

The table below is the checklist on one screen. If you would rather have it run for you, the free AI visibility audit is ten prompts in one language where you are invisible, the current answers, the crawler-access checks above and the specific fixes the log points to, in writing. Bring your own baseline if you have one.

The stalled-GEO checklist on one screen: what to check, where to look, what passes, what a fail means
CheckWhere to lookPassFail means
robots.txt admits the search botscurl -s https://yoursite.com/robots.txtApplicable rules permit the relevant pages; explicit Allow is optionalBlocking rules need correction; OpenAI’s ~24 hours concerns rule updates, not visits
Accessible final page on the intended hostcurl -sIL -A "OAI-SearchBot" the pageFinal response 200; destination agrees with canonical and sitemapLoops, blocking responses or wrong destination; a working redirect is not itself a fault
Search-bot hits on changed pagesAccess log, grep by user-agent and pathDated successful requests, with final responses and log coverage checkedNo entries by week 4–8: investigate access, discovery and logs; do not assume a cause
Body text in raw HTMLcurl the page and grep a sentence; View SourceText, numbers, dates in the first responseContent may be unavailable to fetchers that do not render or cannot pass an access screen
Useful answers to important questionsMap the top 10 prompts to URLs; paste the first paragraph into a blank fileClear, verifiable answers; related questions may share a URLMissing or vague answers; ten questions do not require ten distinct pages
Consistent company identity and factsSite, LinkedIn, directories, Organization JSON-LD; three brand promptsAccurate activities, names and people; legitimate variants clearly connectedConflicting facts or confusion with namesakes; different wording alone is acceptable
Baseline, clean sessions, three repeats, two metricsDay-one log; protocol; report by assistantComparable questions and conditions; our protocol: 30–50 per language, citation rate and share of voiceNo comparable baseline: 'no improvement' is an impression, not a finding
Remeasure cadenceCount of dated remeasures since day oneEvery 2–4 weeks: three to six by month threeOne measurement at month three: no trend readable either way
Independent domains that name youSearch the name excluding your site; cited domains on your setRelevant, accurate independent coverage, reviewed quarterlyA possible coverage gap; investigate alongside other causes and the day-90 options
The stalled-GEO checklist on one screen: what to check, where to look, what passes, what a fail means· Verified: 2026-09-22

Related questions

Is three months without improvement normal, or has something failed?

Three months is a point for review, not an automatic verdict. Access changes can be tested immediately, but visits and citations have no guaranteed deadline. Content and independent coverage may need longer. Compare repeated measurements with the baseline; a two-to-four-week schedule should give you three to six follow-ups by month three.

We appear in ChatGPT but not in Perplexity or AI Mode. Is that a failure?

Different source choices may explain it, but check each assistant separately. In our 14–15 September 2026 sample, developers.google.com appeared in 18 of 36 ChatGPT answers and none of 48 Perplexity and AI Mode answers. Reddit appeared in 0, 11 and 9 respectively. That sample illustrates differences; it does not diagnose your site.

Our agency sends screenshots showing we are cited. Why doesn't that settle it?

Because a screenshot has no denominator. Ask for the prompt set, the clean-session protocol, the baseline and the number of repeats, then re-run three prompts yourself, logged out. One appearance in three repeats is instability, a measurement finding; citations on prompts your buyers never ask are real and irrelevant.

The robots.txt fix went live a month ago and the logs still show no AI crawler. What now?

Check access, page discovery and log coverage rather than assuming the fix failed. OpenAI’s roughly 24-hour window concerns robots.txt rules, not a promised visit. Inspect applicable rules, the final HTTP response, redirects and CDN challenges. A normal 3xx redirect is not an error; follow it to the destination before judging access.

We blocked all bots to stay out of AI training. Does that explain it?

It may explain a search-access problem. A wildcard Disallow: / can block OAI-SearchBot along with GPTBot, unless more specific rules permit it. Search and training have separate controls at OpenAI and Anthropic. Review those rules independently. Blocking search can limit inclusion, although OpenAI describes a possible navigational-link exception; it does not guarantee every mention disappears.

How many prompts do we need before we can say it has not improved?

Our working protocol uses 30–50 buyer questions per language with three repeats and comparable session settings. This is a planning choice, not a universal threshold for statistical reliability. Ten questions, as in our free audit, provide an initial snapshot. To judge change, consider relevance, baseline variation, repeatability and the consistency of later measurements.

Everything on the checklist passes and the numbers still have not moved. What is left?

Limited independent coverage is one possibility, not the only remaining explanation. Recheck question relevance, source selection and measurement before choosing more outreach. Review relevant independent domains over quarters. Under our 90-day policy, we explain the findings and you choose a free diagnostic month, a change of scope towards corroboration, or a stop.

Related guides

Sources

  1. 01Our guide: what happens if AI visibility hasn't grown after 90 days (the day-90 table this checklist expands)
  2. 02Our guide: why ChatGPT doesn't recommend your company (seven causes, ranked)
  3. 03Our guide: how to check what AI assistants say about your company, for free (the log template)
  4. 04Our guide: robots.txt for AI crawlers, verified against vendor docs
  5. 05Our measurement guide: protocol, metrics and the 90-day policy
  6. 06Our guide: how long GEO takes, by layer, with our own dated results
  7. 07Our guide: how do you get cited by ChatGPT (served HTML, page shape, entity work)
  8. 08Our guide: how we do GEO on our own site (the bare-domain/www loop and the fix)
  9. 09Our guide: should you buy listicle placements
  10. 10Our case: we asked ChatGPT for the best Hindi GEO agency (baseline 3 September, remeasure 15 September 2026)
  11. 11OpenAI — Overview of OpenAI crawlers (OAI-SearchBot, GPTBot, ChatGPT-User; robots.txt changes applied within about 24 hours)
  12. 12OpenAI Help Center — Publishers and Developers FAQ (utm_source=chatgpt.com on referral links)
  13. 13OpenAI Help Center — Temporary Chat FAQ (Personalized and Unpersonalized modes)
  14. 14Google Search Console Help — Generative AI performance report
  15. 15OpenAI Help Center — Searching the web with ChatGPT (query rewriting, follow-up queries)

// share

LinkedInXReddit

How to cite this page

You may quote and reuse this content with attribution and a link to this page.

“Our AI visibility hasn't improved after three months of GEO — what should we check?” — GET-GEO.AI, 2026-09-25. https://get-geo.ai/en/guides/is-geo-working-checklist