How SolvedSeek works
A look inside an independent search engine for Shopify stores.
SolvedSeek is an independent, specialised search engine and directory for Shopify stores. There is no Google API behind it and no Bing results in disguise. Instead of indexing the whole web, we keep a focused directory of real Shopify storefronts, each listed by its own brand domain, so you find shops rather than noise. We discover stores from public crawl data, build our own index of their homepages, rank results with our own algorithms, and run our own models to understand what each page is actually about. Here is how it all fits together.
On this page
The stack
Everything that answers your search runs on our own server. There are no cloud functions and no third-party search service behind the scenes.
PHP 8.2+
Handles every search query, renders the pages, and runs the web interface. Built from scratch, with no frameworks.
Background workers
Quiet background processes that discover stores, verify storefronts, render JavaScript pages, generate embeddings, and calculate rankings.
MySQL / MariaDB
Stores every page, link, embedding and authority score. Full-text indexes power keyword matching at speed.
No frameworks. The search engine, router, template layer and database layer are all written by hand. No Laravel, no Express, no React. Every line is purpose-built for search.
From discovery to ranking
Every store in the index travels through the same five stages, from the moment we find it to the moment it appears in your results.
Discover
We find Shopify storefronts by reading Common Crawl, the free public archive of the web, and picking them out by their technical fingerprints, such as Shopify's own response headers and CDN assets. At this stage we read a public dataset rather than crawling live sites, so we can find stores right across the open web without putting load on anyone's servers. Store owners can also submit a shop directly, and submitted sites move to the front of the queue.
Crawl
We then crawl each store's real homepage ourselves, gently and over HTTPS, always checking robots.txt first. We record the title, description, body text and outbound links, and we index the brand domain rather than the technical myshopify.com address. Pages behind CAPTCHAs or bot walls are detected and skipped politely.
Render
A lot of modern shops load their content with JavaScript. When the crawler spots a JavaScript-heavy page, it hands it to a render queue, where a headless Chromium browser loads the page fully, just as a real visitor would, and pulls out the final content.
Understand
Each page goes through three layers of understanding. First, language detection uses trigram analysis to work out which language the page is written in. Second, entity extraction identifies the main topics, such as the products, materials and places the shop deals in. Third, an embedding model turns the text into a mathematical meaning fingerprint that powers semantic search.
Rank
At search time, every matching store is scored on a transparent blend of keyword relevance, semantic meaning, domain authority and listing completeness, then ordered. Nothing is pre-baked, and nothing is pay to rank.
How ranking works
Ranking happens in two stages. First a full-text keyword search pulls back the store homepages most relevant to your query. Then those candidates are re-ordered by a single transparent score whose weights add up to 100%. There are no hidden penalties, and nothing can be bought.
How well your search matches the store's title and homepage text. The title counts for more, and scoring is damped so that keyword stuffing brings diminishing returns.
How close your query is in meaning to the store, using a local embedding model. This is why "eco-friendly trainers" can match a sustainable shoe brand even without the exact words.
A light boost from the store's Domain Rating, scored from 0 to 100. A relevant small store still outranks an irrelevant big one, because authority is a tie-breaker and not a gate. Domain Rating by Ahrefs.
A small nudge for stores with a full, useful description, so well-presented listings edge ahead.
No penalties, no paid placement. Relevance, taking text and meaning together, is around 80% of the score, and authority and completeness are light tie-breakers. We do not demote unknown stores, and ranking cannot be bought.
Browsing with no query. Filter without a search term, for example by industry, and results are ordered by Domain Rating.
Domain diversity. No single domain dominates, because results are capped at two per root domain.
Semantic search
Every store homepage is converted by a local model (all-MiniLM-L6-v2) into a 384-dimension meaning fingerprint. Your query is given the same treatment, and the similarity between the two feeds 30% of the ranking score, so meaning matters and not just keywords. Search spans all languages by default, and we do not filter out non-English stores. The semantic model runs on our own hardware, so your search queries are not sent to OpenAI, Google or any other third party.
Authority and curation
We gauge a store's standing with an external, independent signal rather than a number we invent ourselves.
Domain Rating (Ahrefs). Each store carries its Ahrefs Domain Rating, scored from 0 to 100, a widely used measure of backlink authority. It contributes a modest 15% to ranking and is shown on every listing. Domain Rating by Ahrefs.
Editorial controls. We can pin, promote, demote or block individual stores for spam control and curation. Any such adjustment is applied openly on top of the score, and it is never sold.
How we crawl
A search engine should be a good citizen of the web, so our crawler follows the rules.
SolvedSeekBot/1.0 in every request.
Sitemaps
We read and follow XML sitemaps declared in robots.txt.
By the numbers
Live figures from the index. These update every time you load the page.
282,713
Pages indexed
282,713
Stores discovered
282,713
Stores live in the index
278,999
Meaning fingerprints
98.7%
Semantic coverage
857
Searches served
The story
Building a search engine from scratch is one of the most demanding projects in software. It touches almost everything: networking, distributed systems, natural language processing, machine learning, information retrieval, web standards and database engineering.
SolvedSeek started with a simple question. Is it actually possible to build a real, independent search engine without being Google? Not a meta-search engine that queries someone else's API, and not a Bing reskin with a privacy label, but a genuine, build-your-own-index search engine, now focused entirely on Shopify stores.
The answer is yes, but it takes a great deal of work. Every part of this system has been built, tested, broken, rebuilt and refined. The crawl pipeline alone went through dozens of iterations before it could reliably handle thousands of pages a day across thousands of domains.
It has also been one of the best learning experiences of my career. I have learned more about how the web really works, from robots.txt edge cases to DNS quirks to the surprising complexity of HTML parsing, than years of building ordinary websites ever taught me.
What is next
SolvedSeek is a living project. Here is what we are working towards.
Steadily widening coverage to take in more Shopify stores, with smarter prioritisation of high-quality storefronts.
Exploring larger embedding models and deeper semantic understanding to make results even more relevant.
Giving site owners a way to see how their shop appears in the index and to work with the search engine directly.
Faster search, faster crawling and more efficient infrastructure as the index keeps growing.
Your privacy
We keep tracking to a minimum and limit it to basic performance measurement. We do not hand your browsing to third-party advertising trackers, and we do not sell your search history. The full detail, including how cookies are used and how to manage your choices, lives in our privacy policy and cookie policy.
Run a Shopify store?
Submit your shop and we will add it to the index. It really is that simple.
Submit your storePage generated 11 August 2026 at 8:28am UTC