yandex-performance
Yandex Performance
Report how a property stands in Yandex search (which matters mainly for Russian, Turkish, Kazakh, Belarusian and Uzbek traffic) and end with recommendations. The user's request may contain a property name or URL, a date range, a device (desktop, mobile or tablet) or a focus hint ("indexing", "queries", "problems"); honor it by going deeper on that part while still producing the full report.
Workflow
-
Resolve the property. If the user's request or the conversation names a property, use it. Site URLs use GSC formats:
sc-domain:example.comorhttps://www.example.com/. Otherwise calllist_sitesand pick the obvious match. If several plausible properties exist, ask the user which one before continuing. The Yandex tools take that same GSCsiteUrl. Yandex Webmaster tracks whole hosts, so a URL-prefix property with a path (such ashttps://example.com/blog/) is matched to its host and every figure covers the whole host; the response then says so inlimitations. -
Confirm the Yandex side. Call
list_yandex_sites(no arguments; the host list is cached for ten minutes, so a site verified a moment ago can take that long to show).sites[]rows carryhostId,url,unicodeUrl,verifiedandmainMirrorUrl, and anemptyBecauseanswer means the connected account holds no sites yet. Only a site added and verified in Yandex Webmaster itself reports data, so a host withverified: falseneeds the owner to verify it there, which can take a few days. WhenmainMirrorUrldiffers fromurl, Yandex keeps the data on the main mirror; name it. -
Read every
notConfiguredanswer. Each Yandex tool answersnotConfigured: truewith areasonand ahintinstead of an error. Tell the user what each reason means and what to do:not_connected: no Yandex account is connected to the property owner's GSC Wizard account; connect Yandex in the app.reauth: the owner must reconnect Yandex in the app, because Yandex rejected the connection or the grant predates thewebmaster:verifyscope.host_not_found: the host is not in the connected Yandex Webmaster account; add and verify it there.host_not_verified: the site is in the account but Yandex has not verified it; verify it in Yandex Webmaster and expect no data until then.owner_only: the property is shared, and Yandex reads use the owner's connection, which is not shared; only the owner can run this report. A Yandex 429 comes back as arate_limitederror whose message gives the retry delay in seconds, taken from Yandex's own reset time: wait that long before one retry and never loop. When Yandex refuses only a secondary section (the problem list, pages in search, the appeared/removed series), the tool keeps what it read and returns that section asnullwith an entry inwarningswhen the host is not verified, or empty with a warning after a rate limit or timeout; report the rest and call that section unknown, never clean or zero. Whatever the reason, still run the Google anchor in step 7.
-
Site status. Call
get_yandex_site_summarywithsiteUrl. Readsqi,pagesInSearch,excludedPages,problemCountsBySeverityandproblems[](each withcode,severityandlastChangedAt, listed most severe first: FATAL, CRITICAL, POSSIBLE_PROBLEM, RECOMMENDATION). SQI is Yandex's own composite with no Google equivalent, the severities are Yandex's taxonomy, and Yandex serves no previous period, so report a single window and never compare SQI with a Google metric. An emptyproblemsbeside awarningsentry is an unread list, not a clean one;emptyBecauseandnextStepsay which case applies. Derive the excluded share asexcludedPagesoverexcludedPagespluspagesInSearch, and say it is derived.