Canonicalization of addresses
We merge all domain variants into one, add self-referencing canonicals on every page type, and match them against the sitemap. Canonical URL check is free.
Technical SEO doesn't add visibility to a site; it removes what takes visibility away. The difference matters: if pages aren't indexed, content and links won't work, however much of them you produce. There are usually five causes, and they don't overlap. The bot doesn't reach the pages. It reaches them but sees a dozen copies of one. It sees an empty page because the content is drawn by a script. It waits for a response longer than it is willing to. Or it can't tell what the page is about because there's no structured data. Each is diagnosed separately and fixed separately. The place to start is finding out which one is yours, and that comes from data rather than assumptions.
A search crawler follows links through the site and reads page addresses, headings and markup.
Duplicates, response errors, slow pages or blocked sections stop the crawler from understanding the site correctly.
We fix addresses, indexing and speed so the right pages reach search. Measurements make it visible.
Technical SEO removes obstacles but does not guarantee rankings: those are set by competition, content and search algorithms.
We merge all domain variants into one, add self-referencing canonicals on every page type, and match them against the sitemap. Canonical URL check is free.
We count entries and unique URLs in your sitemap, find what creates the duplicates, and shut it down with redirects and canonical links. The count is free.
We count the catalog using two methods, build a site map from submaps, remove repetitions and bring deep pages to the crawl. The first slice is free.
We map your internal link graph, count pages with no incoming links, measure click depth, and diversify anchor text. The link graph review is free of charge.
We review crawl stats and what gets crawled, remove duplicates and system URLs, and speed up how fast pages are served. The first crawl assessment is free.
We check what your sitemap.xml and robots.txt actually serve, regenerate the sitemap with language versions, and submit it to Search Console. Free of charge.
We enable response compression, set separate cache rules for HTML and static files, and turn on HSTS and HTTP/2. Checking your site's headers is free.
We count images and their weight, batch convert to WebP, configure delayed loading, screen sizes and text descriptions. Calculation is free.
We measure what a smartphone receives — document size, compression, images, and scripts — then cut the excess and measure again. Testing is free, 2–3 days.
We find what exactly hurts LCP, INP, and CLS on your site, fix it, and prove the difference with repeat measurements. The first check of the causes is free.
We measure server response, full load, and page weight on three page types, find the causes of slowdowns, and give you a list of fixes. The first test is free.
We crawl every link, system file, and placeholder page, show by status code exactly what leads nowhere, and fix each broken link. The full site crawl is free.
We break down bot requests by URL, status code, and time to show where crawling goes and what the bot never sees. Checking whether your logs are usable is free.
We count old addresses, build a match map, put 301 without chains and test each rule with a sample. Counting addresses is free.
We capture the before state, build a URL redirect map, and support the launch and the first 30 days after it. A snapshot of your site before the move is free.
We check what your site tells search engines about its languages, remove markup conflicts, and get every language version into the sitemap. The check is free.
We add Product, Offer, Organization, BreadcrumbList, and industry-specific markup to your site templates and remove risky claims. Checking your markup is free.
We compare what a search bot gets with what a browser gets and make your content available without running scripts on the page. Checking the gap is free.
We count how many addresses your faceted navigation generates, close combinations without demand and open those with demand. Calculation is free.
A catalog of thousands of items, yet only a few hundred URLs in the index. The cause may be robots.txt, canonical tags, or a link structure that keeps the bot from reaching deeper pages. The first thing to check here is the server logs: they show where the bot actually went, not where it was supposed to go.
We'll review your situation in a free auditFilters, sorting, pagination and ad tracking parameters generate copies that compete with each other for the same query. The search engine chooses among them on its own, and often not the one you are promoting. This isn't a cosmetic problem: crawl budget gets spent on copies instead of new products.
Slow server response, heavy images, missing caching. Speed isn't a single number: TTFB, LCP and INP measure different things and are fixed in different ways. First you need to know which of them is poor on your site, otherwise optimization misses the target.
URLs changed, redirects were set up only partly, and some pages return 404. Of all these situations, this is the quickest to reverse: if you deal with it right away, most rankings come back. The longer you wait, the fewer of them remain.
We go through the site the way the bot does: response codes, redirects, canonical tags, click depth. In parallel we pull Search Console data and server logs, because they show actual behavior rather than an estimate.
We sort the findings into the five groups and rank them by how much each one is costing you right now. What you get is an action order, with an explanation of what each step will and won't achieve, instead of a list of remarks.
We work from the top of the list. Some fixes we do ourselves, and some your developer can handle; we tell you directly when that works out better for you. Every change is tested on a staging copy before it goes to the live site.
Some time after the fixes we crawl the site again and compare: how many URLs respond correctly, how many duplicates remain, how the number of indexed pages has changed. That is the check on the work.
These figures come from case studies on live sites: what was measured, when, and where it can be seen, with the measurement method described in each case.
This is how your store can look on a phone: a collection banner, popular products and a cart one tap away. Tap “Add to cart” and the counter in the header updates, just like in a real store.
Technical SEO removes obstacles; commercial SEO competes for queries. If pages aren't indexed or compete with each other as copies, content and links won't work, which is why the technical part usually comes first. On its own, though, it rarely lifts rankings: it gives the site back the ability to rank, and after that you need work on keywords and content.
Because they are the only source that shows where the bot actually went. Search Console gives a summary with a delay, third-party tools give their own estimate, and logs give the facts: which pages the bot reached, how many times, and what response it got. In large catalogs, that's where you see crawl budget being spent on filters instead of products.
Indexing reacts faster than rankings: changes to robots.txt and sitemaps show up within days, duplicates disappear within weeks, and rankings shift over months, and not only because of us. The quickest case to reverse is a drop after a migration: there, redirects often bring back most of the traffic within a few weeks.
Because they measure different things. A lab test runs the page under sterile conditions, while real visitors arrive on different networks and devices. So we look at separate metrics (server response, rendering, responsiveness to input) rather than a single number, and at field data as well as synthetic tests.
They hurt in two ways. First, the search engine decides on its own which copy to show, and it isn't always the one you are promoting. Second, crawling isn't unlimited: if the bot spends it on thousands of filter variants, it reaches new products later. In large catalogs the second problem usually costs more than the first.
Whichever suits you. Some fixes are server-level or template settings, and we'll do them faster. Others your developer will close in a day because they know the code. We write the list so that you can verify every item yourself against a response code, a URL or a number, rather than a line like “optimize indexing”.
It does, but not always the way people expect. The search engine first sees what came from the server, while content that a script renders afterwards is processed later and without guarantee. It's easy to check: we look at the page as the bot receives it and compare it with what a person sees. If the difference is large, that is the cause.
The most accurate place is the Pages report in Search Console: how many URLs are indexed, how many are excluded, and why. Compare that number with how many pages should be in search: if the catalog has five thousand products and the index has eight hundred, there's a problem. The site: operator in search gives only a rough number, so don't rely on it. For an individual page, use the URL Inspection tool: it shows whether the page is indexed and which version Google considers canonical.
Most often the cause is mundane: pages are blocked in robots.txt or by a noindex meta tag left over from development, or they're missing from the sitemap and no link points to them. More complex cases: the server returns an error or responds too slowly, a script renders the content and the bot sees an empty page, or dozens of copies of one page use up the crawl budget. Google may not notice a new site for weeks, and that isn't a fault yet. Which cause is yours shows up in Search Console data and server logs, not in assumptions.
Not as directly as people often think. Core Web Vitals are one of the ranking signals: among pages of equal content quality, the faster one has an edge, but speed won't lift a page with weaker content to the top. Something else is more noticeable: on a large catalog, a slow server response means the bot crawls fewer pages in the same time, and mobile visitors close the tab more often. So we measure server response and real-visitor data rather than the PageSpeed Insights score.
Describe the task in your own words — we will tell you where to start and whether you need what you came for. If you do not, we will say so.