Your position
38th percentile of 37 sites audited. The average site scores 73, the median 73.
Website audit report
1 critical and 11 high-severity issues found across 123 checks.
Scanned 2026-09-29T22:14:02+00:00 · 1 host IP · cert expires in 56 days
This report is not offered to search engines. It is reachable by link only. If you own textguru.ru you can publish or delete it.
Measured against every site SEOking has audited: a corpus that grows with each scan and cannot be reconstructed after the fact.
38th percentile of 37 sites audited. The average site scores 73, the median 73.
66 is the average for the 6 sites we have audited on custom / origin / other-dns, and you are above it.
Content is in the HTML, not built by JavaScript
100% of the sites we have audited get this right and yours does not. Of everything on this report, it is the fault that most sets you apart from your competition, which makes it the first thing worth fixing.
Our own measure of whether your domain is trusted by the systems that decide if mail reaches an inbox. No other website audit reports this. It is built from BounceZero's deliverability platform.
Your domain fails the basic checks receivers run before they trust a message.
What is pulling it down: SPF record · DMARC enforcement · DKIM signing. See the email deliverability section below.
We have measured deliverability across 255,979 domains. Yours is not among them, which simply means no one has needed to verify an address at it. The score above is from live measurements of your own DNS.
For context, 4.3% of the domains we have measured accept mail to any address, which makes their bounce behaviour unpredictable.
Loaded in a real browser at phone size. This is close to what a visitor and Google's renderer see.

The 36 faults on this report come from 16 underlying causes. Fixing a cause fixes everything under it, so this is ordered by score returned per unit of work, not by severity alone.
The 6 quickest steps here take you from 69 to about 80. That is 11 points for changes measured in minutes and hours, not weeks.
These are all records in your DNS. One editing session fixes every one of them, and it is the change most likely to stop your mail being filtered.
Fixes 4 findings: Exactly one SPF record · DMARC policy is enforced · DKIM signing is configured · BIMI logo published
Rich results — ratings, prices, FAQs, breadcrumbs — are what turn a listing into an advert, and they are decided by whether a few required properties are present. Markup that is invalid or incomplete is work already done that currently earns nothing.
Fixes 6 findings: The business is a describable entity · Content is marked up to be answered · The business is identified in structured data · Breadcrumbs are marked up · Site-wide search is declared · The entity links out to its profiles
Resilience and reputation work — lower urgency, but cheap while you are already in these systems.
Fixes 4 findings: Domain can receive email · All page resources load successfully · DNSSEC enabled · CAA record restricts certificate issuance
A subdomain pointing at a service that released it can be claimed by anyone, who then publishes on your domain. Deleting the record costs nothing and closes it immediately.
Fixes 1 finding: No lookalike domain can send mail as your brand
Pages with little unique content rarely rank and can hold back how the whole site is judged.
Fixes 3 findings: Content is in the HTML, not built by JavaScript · Navigation links are crawlable without JavaScript · Pages have enough content
Internal links decide which of your pages search engines treat as important, and the decision is usually an accident of navigation design. It costs nothing to change and it changes what ranks.
Fixes 3 findings: Every page is linked from somewhere · Every page is linked from another · Internal authority is spread, not pooled
These decide whether your pages can appear at all. Nothing else on this report matters until they are right.
Fixes 1 finding: Homepage canonical is correct
Google's guidance asks who produced a page and why they should be trusted. For advice, health, legal or financial topics an anonymous, undated page competes badly against a named one.
Fixes 3 findings: Content identifies who wrote it · There is a route to who you are · A publisher is declared in structured data
A canonical or noindex injected at runtime silently overrides what the server said, and the served HTML still looks correct to anyone reading the source.
Fixes 2 findings: Navigation does not depend on JavaScript · Content is readable without running JavaScript
Your title and description are the advert Google runs for you, free, every time someone searches.
Fixes 2 findings: Structured data present · Link previews are configured for X/Twitter
Google indexes the mobile version of your site, and these are measured in a real phone-sized browser rather than inferred. A page that scrolls sideways or needs pinching to read loses the visitor before the content matters.
Fixes 1 finding: Tap targets are big enough to hit
Image and script weight drive every speed metric you are failing. This is the slowest fix here and the one with the longest tail.
Fixes 2 findings: Images declare width and height · Images load lazily
lastmod is how Google decides what to recrawl first. A timestamp that is identical on every URL is a build date, and Google learns to ignore lastmod for the whole site once it notices.
Fixes 1 finding: Sitemap lastmod dates are meaningful
A growing share of questions are answered without a results page. Being quotable is a distribution channel, and it is usually blocked by a plugin default rather than a decision.
Fixes 1 finding: A curated summary is published for assistants
These do not share a root cause with anything else on the report.
Fixes 1 finding: Navigation is present on every page
Images are what Largest Contentful Paint usually measures, and WebP is typically a third smaller than the same JPEG. On image-led pages this is the largest saving available.
Fixes 1 finding: Images are sized for the device
Ranked by severity, then by how much score each returns.
No SPF record at all. Anyone on the internet can send email that appears to come from your domain, and your own mail is far more likely to be filtered.
How to fix: Publish an SPF record listing every service that sends your email.
The HTML your server sends contains 84 words; after JavaScript runs the page has 275. Almost none of your content exists until scripts execute. Google does render JavaScript, but it does so on a delay and not always completely, so this content is indexed late or partially — and other crawlers and preview tools never see it at all.
raw HTML: 84 words · rendered: 275 words · 3.3× more after JS
How to fix: Server-render or pre-render your main content so it is present in the initial HTML response.
No DMARC record. You have neither protection against domain spoofing nor any visibility into it.
How to fix: Publish v=DMARC1; p=none; rua=mailto:dmarc@yourdomain to start, then tighten to quarantine.
No DKIM keys found on any common selector. Without DKIM your mail cannot prove it was not altered in transit, and DMARC cannot pass on forwarded messages.
How to fix: Enable DKIM in your mail provider and publish the key it gives you.
We generated and checked 60 plausible misspellings and variants of your domain. 3 of the 4 registered variants has mail servers configured, so it is technically able to send email that reads as yours to anyone skimming a sender address. Many such domains are entirely unrelated businesses that happen to have a similar name — this is a risk to be aware of and to defend against, not evidence that anyone is doing anything.
testguru.ru [mail configured] textguru.com [mail configured] textguru.org [mail configured] text-guru.ru
How to fix: Publish DMARC at enforcement so mail claiming to be your domain is rejected outright — that is the defence that works regardless of who owns a lookalike. Then register the closest unregistered variants; they cost a few pounds a year and are the cheapest brand protection available.
Whether the connection, certificate and headers hold up.
Secure connection working.
Plain HTTP requests are redirected to the secure version.
All resources load securely.
Certificate valid for another 56 days (expires 2026-11-25).
Negotiated TLSv1.3.
HSTS is set.
Content Security Policy is set.
MIME sniffing protection is set.
Clickjacking protection is set.
Referrer policy is set.
Whether your mail reaches inboxes or spam folders.
No SPF record at all. Anyone on the internet can send email that appears to come from your domain, and your own mail is far more likely to be filtered.
Publish an SPF record listing every service that sends your email.
No DMARC record. You have neither protection against domain spoofing nor any visibility into it.
Publish v=DMARC1; p=none; rua=mailto:dmarc@yourdomain to start, then tighten to quarantine.
No DKIM keys found on any common selector. Without DKIM your mail cannot prove it was not altered in transit, and DMARC cannot pass on forwarded messages.
Enable DKIM in your mail provider and publish the key it gives you.
No MX records. This domain cannot receive email at all — messages to anyone @ this domain bounce.
Add MX records pointing at your mail provider.
No BIMI record. With DMARC at enforcement you could display your logo next to your messages in Gmail and Apple Mail.
Once DMARC is at quarantine or reject, publish a BIMI record with an SVG logo.
How fast real visitors experience the site.
0 of 1 images declare dimensions. Images without dimensions cause the page to jump as they load, which is what Cumulative Layout Shift measures.
Set width and height attributes on every image.
0 of 1 images use lazy loading.
Add loading="lazy" to images below the fold.
0 of 12 image(s) provide a srcset. Without one, a phone downloads the full desktop image and then scales it down — paying for pixels it never shows.
Add srcset and sizes so each device downloads an appropriate image.
Not available: PageSpeed API returned 429. This usually means the site does not yet have enough Chrome traffic for Google to report field data. Lab measurements below still apply.
Served with gzip compression.
Median response across 12 page(s) was 77 ms.
Homepage HTML is 8 KB.
2 external script file(s) on the homepage.
Pages may be cached by browsers and CDNs.
No raster images found on the crawled pages.
The tags, files and signals search engines read first.
The served HTML carries 84 words against 275 after JavaScript runs. Search engines render pages eventually; assistant crawlers generally do not — they fetch the HTML and read what is there. A page whose content only appears after scripts run is close to empty to them, so it cannot be quoted or cited however good the content is.
served 84 words → rendered 275
Render the main content server-side. This is the same fix as the js_content finding and it pays twice.
No Organization or Person markup. An assistant that cannot name the entity behind the site will describe the business from fragments, or not at all, which is how a competitor becomes the answer.
Add Organization JSON-LD with name, url, logo and sameAs links, so the description an assistant gives of the business is the one you wrote.
No FAQPage, HowTo or QAPage markup. When an assistant answers a question about this service, the page has nothing structured to be cited from, so the citation goes to whoever wrote the answer block.
Add FAQPage schema for the questions the page answers (the answer must appear as visible text, not only in the markup) and HowTo for process content.
No Organization markup. This is what Google assembles a knowledge panel from — the box with your logo, name and links that appears beside branded searches — and what connects your site to your social profiles. Without it Google infers your identity from third parties instead of from you.
Add Organization JSON-LD with name, url, logo and sameAs links to your social profiles.
No canonical tag, so duplicate URLs of the same page can compete.
Set a self-referencing canonical on every page.
No structured data. Google is reading your page as plain text and cannot qualify you for any rich result.
Add JSON-LD for Organization and your primary content type.
No BreadcrumbList markup. Google replaces the raw URL in your listing with a readable breadcrumb trail when this is present, which is more legible and measurably more clickable — and it is one of the cheapest rich results to earn.
Add BreadcrumbList JSON-LD to every page below the homepage.
No entity markup to attach profiles to.
Add sameAs URLs to the Google Business Profile, LinkedIn, X and any other profiles the business owns.
No WebSite markup. With a SearchAction it can give you a search box directly inside your Google listing for branded queries.
Add WebSite JSON-LD, with potentialAction/SearchAction if the site has its own search.
No twitter:card tags. Open Graph covers most platforms, but X falls back to a bare link without them, and a link with no image or title is measurably less likely to be opened.
Add twitter:card ("summary_large_image"), twitter:title and twitter:description.
No /llms.txt. It is a short, plain-text map of what a site is and which pages matter — a convention some assistants read to decide what to quote, and cheap to publish. It is not yet a standard anyone is obliged to honour, so treat it as a low-cost bet rather than a requirement.
Publish /llms.txt: a heading, one paragraph describing the business, and a linked list of your most important pages.
Not applicable — this site publishes in a single language and declares no regional or translated versions, so hreflang annotations are not needed. Adding them to a single-language site does nothing.
Not measured — not configured on this instance. Connecting Search Console adds what no crawl can see: the queries this site already appears for, where it ranks, and how many people click. It is read-only and can be disconnected at any time.
Not measured — ranking data is not configured on this instance.
Homepage is open to indexing.
Mobile viewport is declared.
Title is 36 characters.
Sitemap found listing 21 URLs.
Description is 109 characters.
robots.txt present and open to search engines.
Every canonical points at a page that is allowed to be indexed.
Canonical targets all return 200.
No page is both listed in the sitemap and marked noindex.
All structured data blocks are valid JSON.
No page relies on a directive Google is blocked from reading.
Every marked-up entity carries the properties Google requires.
12 of 12 crawled page(s) (100%) can actually be indexed.
No canonical points at a page that then canonicals somewhere else.
Every sitemap URL is its own canonical.
Every major assistant is allowed to read and cite these pages.
Every crawled page sits within four levels of the homepage (deepest: 1).
3 Open Graph tags found.
URLs use lowercase, hyphenated, extension-free paths.
0 of 12 crawled URLs carry query parameters other than tracking tags.
Language attribute present.
No model-training crawler is blocked, so this content may be used to train future models. This is a business decision rather than an SEO one, and it is separate from being cited in answers: refusing training does not remove you from AI results, and allowing it does not put you in them.
Whether pages are unique, linked and crawlable.
10 of 12 crawled pages had no internal link pointing at them. Search engines discover pages by following links, so an unlinked page is found late or not at all — and passes on none of its authority.
Link these from a relevant parent page, your navigation, or a hub page.
12 of 12 crawled pages carry under 150 words. Thin pages rarely rank and can drag down how the whole site is assessed.
Expand or consolidate thin pages so each answers a real question.
No author is named anywhere — no byline, no author metadata and no author in your structured data. Google's guidance on helpful content asks who produced it and why anyone should trust them, and for advice, health, legal or financial pages an anonymous page competes badly against one with a named, credentialed author.
Add a byline with a real name linking to an author page, and an author property in your Article or Organization markup.
10 crawled page(s) are not linked from any other page we fetched. A page reachable only from a sitemap receives no internal authority at all, and is crawled rarely — it can rank, but it starts from nothing and stays there.
textguru.ru/ocr textguru.ru/headline textguru.ru/commas textguru.ru/improve textguru.ru/poem textguru.ru/equation
Link them from a relevant hub page or from navigation, using the subject as the link text.
No link to an about, team or contact page was found in the pages crawled. These are the pages both people and search engines use to decide whether a site belongs to a real business, and their absence is one of the strongest signals of a site that is not worth trusting.
Link an About and a Contact page from your main navigation or footer.
At least one page carries fewer than three internal links, which usually means the navigation failed to render there.
Make sure header and footer navigation render server-side on every template, including error and landing pages.
One page receives more than half of all internal links found. That concentrates authority in one place while the rest of the site is starved of it.
Link deliberately to the pages you want to rank, not only to the same one from every template.
No publisher in your structured data. It ties each page back to the organisation that stands behind it, which is what carries trust from your brand to an individual article.
Add a publisher property naming your Organization, with its logo.
Not measured — no page declares a publication or modification date, so how recently the site was maintained cannot be determined. That is normal for a brochure site and worth fixing for anything article-based.
All 12 crawled pages have distinct titles.
0 of 12 crawled pages have no meta description.
0 of 12 images across the crawl have no alt attribute. Alt text is how search engines read images and how screen readers describe them.
No two crawled pages share substantially the same text.
All 12 crawled pages returned successfully.
No page answers 200 while telling the visitor nothing was found.
2 link(s) appear on nearly every page — the site-wide navigation, which is where most internal authority is allocated.
No two crawled pages appear to target the same subject.
Every page's body covers the subject its title and heading announce.
All 12 descriptions found are distinct.
0 of 59 internal link(s) use text like 'click here' or no text at all.
No phrase dominates a page's text.
0 of 12 pages do not have exactly one H1 heading.
No multi-step redirects found.
Sitemap lists 21 URLs; we reached 12 by crawling. 10 sitemap URLs were not linked from the pages we visited.
Every crawled page links onward.
Internal links concentrate authority on the pages below, in order. This is the site's own ranking of itself, derived from how it links — read it against what the business actually sells, because search engines read it the same way. Only the crawled sample is modelled, so this describes the navigation rather than every page.
What Google needs to place you in map results.
Not applicable — nothing on this site indicates a physical location customers visit: no address, phone link, opening hours, map or local business markup. Local search checks are skipped and do not affect the score. If you do serve customers from premises, publishing an address and phone number is the place to start.
DNS, hosting and delivery configuration.
We generated and checked 60 plausible misspellings and variants of your domain. 3 of the 4 registered variants has mail servers configured, so it is technically able to send email that reads as yours to anyone skimming a sender address. Many such domains are entirely unrelated businesses that happen to have a similar name — this is a risk to be aware of and to defend against, not evidence that anyone is doing anything.
testguru.ru [mail configured] textguru.com [mail configured] textguru.org [mail configured] text-guru.ru
Publish DMARC at enforcement so mail claiming to be your domain is rejected outright — that is the defence that works regardless of who owns a lookalike. Then register the closest unregistered variants; they cost a few pounds a year and are the cheapest brand protection available.
Only 0 of 21 sitemap URL(s) declare a lastmod. It is the signal Google uses to decide what to recrawl first, so without it updates are found late.
[]
Emit lastmod from the date the page content actually changed, not from the time the sitemap was generated.
DNSSEC is not enabled, so DNS answers for your domain can't be cryptographically verified.
Enable DNSSEC at your DNS provider.
No CAA record, so any certificate authority may issue certificates for your domain.
Publish a CAA record naming the certificate authority you use.
Not checked: the blocklists declined queries from this resolver, so reputation could not be confirmed either way. This is excluded from your score rather than guessed at.
Not measured — no log file supplied. Server logs are the only source that shows what Googlebot actually fetched rather than what it could fetch: which pages it spends its crawl on, which it has never asked for, and what it receives when it does.
Not measured — no whole-site crawl has been run for this domain. The audit above reasons from a sample of pages chosen to cover each template, which describes how the site is built. It cannot say how many of the site's pages are indexable, which templates are thin across every instance, or what sits too deep to be crawled — those are counts, and a sample cannot produce one.
2 nameserver(s) configured.
Checked 5 subdomain(s); none point at a cloud service that has released them.
Certificate transparency lists 5 hostname(s) for this domain and none of the development-style hosts are both live and open to indexing.
No filter, session or calendar URLs that would generate an unbounded space were found.
Every page was reached directly or in a single hop.
0 of 12 URL(s) followed during this crawl returned a redirect or an error (0%).
Your certificate covers only your own domain.
Every sitemap file is within the 50,000 URL and 50 MB limits.
0 internal link(s) are marked nofollow.
No version numbers advertised in response headers.
5 hostname(s) appear in this domain's public certificate history, issued by Let's Encrypt, GlobalSign nv-sa.
Served from AS29182 (RU-JSCIOT JSC IOT), announced in 188.120.224.0/20 — a block of 4,096 addresses.
12 page(s) were examined, chosen to cover 11 of the 21 distinct page templates found across 21 known URLs. Pages are sampled by template rather than in sitemap order, because the first pages of a sitemap are usually all the same kind — a sample of one template would describe that template rather than the site. Findings below therefore apply to the templates listed, and a fault in a template is normally a fault on every page built from it.
Who links to this site, with what text, and how that compares.
Not measured — off-page data is not configured on this instance.
The site loaded in a real browser, the way a visitor and a crawler get it.
The HTML your server sends contains 84 words; after JavaScript runs the page has 275. Almost none of your content exists until scripts execute. Google does render JavaScript, but it does so on a delay and not always completely, so this content is indexed late or partially — and other crawlers and preview tools never see it at all.
raw HTML: 84 words · rendered: 275 words · 3.3× more after JS
Server-render or pre-render your main content so it is present in the initial HTML response.
Only 4 links exist in the served HTML but 30 appear after JavaScript. Crawlers discover pages by following links — if your navigation is built by script, much of your site may never be found.
Render navigation as real <a href> elements in the initial HTML.
The served HTML exposes 4 internal links and the rendered page 30. Most of this site's navigation only exists after JavaScript runs, so pages reachable only through it are discovered late or not at all, and the link equity those links should pass is deferred with them.
served 4 → rendered 30 internal links
Emit real <a href> links in the server response for anything that should be crawled and ranked.
1 resource(s) failed to load. Missing images and stylesheets are visible to customers; missing scripts break features.
https://mc.yandex.ru/metrika/tag.js?id=112189643 (failed)
Fix or remove these URLs.
15 of 35 tappable element(s) are smaller than 48x48 pixels. On a phone that means links and buttons that are hard to hit without zooming, and mis-taps on a checkout or contact button cost conversions directly.
✦ ТекстГуру (127x30) Генератор текста (125x24) Орфография (94x24) Запятые (60x24) Перефразировать (131x24)
Give tappable elements at least 48x48 CSS pixels and 8 pixels of spacing — usually padding on the link rather than a bigger font.
What the server sends a phone matches what it sends a desktop browser.
The canonical and robots directives are the same before and after JavaScript runs.
Measured 1.0s on a simulated phone viewport. Google's threshold for 'good' is 2.5s.
Cumulative Layout Shift measured at 0.000 (good is 0.1 or less).
The page loaded without JavaScript errors.
The page fits the mobile viewport with no sideways scrolling.
0 long JavaScript task(s) blocked the main thread while loading.
0 of 44 text block(s) render below 12px on a mobile viewport.
The page made 6 network requests to load.
| Final URL | https://textguru.ru/ |
|---|---|
| Host IPs | 188.120.238.193 |
| Pages crawled | 12 of 12 attempted |
| Sitemap URLs | 21 |
| Nameservers | ns1.parken.ru, ns2.parken.ru |
| Mail servers | none |
| DKIM selectors | none found |
| TLS | TLSv1.3 · TLS_AES_128_GCM_SHA256 · issued by Let's Encrypt |
| Detected stack | custom / origin / other-dns |
| Browser render | Camoufox (stealth Firefox) · 5.0s · 275 words, 30 links after JavaScript |
BounceZero Ltd does this work: technical remediation, local SEO and email deliverability. Tell us what you want fixed and we'll reply with what it takes. No call required, no obligation.
We re-audit on a schedule and email you only when a check that was passing starts failing. That is usually a recent change to the site or its DNS, and it is findable while still fresh. No digest, no newsletter.
Monitoring means repeatedly fetching your site and emailing about it, so we ask you to prove you own textguru.ru first.