Structured Answer: Regional SEO in 1C-Bitrix (in Aspro solutions — via a product-to-regions assignment property) breaks silently: from the storefront the error is invisible, while the regional subdomain loses assortment. On a real project — a store with a network of 25 regional subdomains — a single analytical database query showed: of 158 active cards, only 70 are complete, 38 are missing exactly one specific region, and another 50 are tied to a single region and populated by feeds. The fix is surgical — one operation for the “holey” group, no bulk edits. The moral: regionalization is not a set-and-forget setting, it is data that needs periodic reconciliation.
Regionalization is one of the most expensive mechanics in B2B e-commerce on Bitrix: a network of subdomains by city, each with its own products, prices and search visibility. And one of the most fragile: the product-to-region assignment lives in an infoblock property, and when a content manager enters a product past it, a feed overwrites the data, or a region was added later than the rest — the card simply disappears from the subdomain. No errors in the admin, no alerts from monitoring.
What regionalization looks like and why it breaks silently
In Aspro solutions, catalog cards are linked to regions through an infoblock property (a list type or a link to a regions infoblock). A subdomain’s storefront shows cards that include its region in that property. The logic is simple — and that is exactly why holes in it stay invisible:
- the card is active, it has a price, it shows in the main domain’s search;
- on the regional subdomain it simply does not exist;
- nobody made a mistake — the region just was not set, was not fully set, or a feed overwrote the assignment.
The client sees the symptom second-hand: “why don’t we have these items in this city?” — or doesn’t see it at all, because nobody knows what should be there.
The case: 158 cards and three states
A real project: a construction materials store, 25 regions, subdomains by city, part of the catalog populated by supplier feeds. The trigger — a client question about one of the regions. Instead of manually counting the storefront, one database query: for each active card, count how many regions it is assigned to, and group.
The result:
| Group | Cards | Regions each | What it means |
|---|---|---|---|
| Complete | 70 | all 25 | The healthy part of the catalog |
| ”Holey” branch | 38 | 24 | All missing exactly one region |
| Regional branch | 50 | only 1 | Populated by feeds, region is the same one |
Total: 158 active cards — and the catalog is effectively cut in half by one region: 38 cards of the “main” branch lack precisely it, while 50 cards of the “regional” branch exist only in it. The content manager’s complaint that “half the cards have no text” is those same 50 feed-driven entries: the feed brings the product and the price, but no descriptions.
Tellingly, the hole in all 38 cards is identical: it is the trace of a single past operation — the region was added later, and the catalog branch was copied without it. One cause, 38 consequences, half the assortment missing from the subdomain.
The query itself
The audit’s idea is to count not products but the number of regions per card. Conceptually for Bitrix it looks like this:
SELECT
cnt.regions,
COUNT(*) AS cards
FROM (
SELECT be.ID, COUNT(bep.VALUE) AS regions
FROM b_iblock_element be
JOIN b_iblock_element_property bep
ON bep.IBLOCK_ELEMENT_ID = be.ID
AND bep.IBLOCK_PROPERTY_ID = :REGION_PROPERTY_ID
WHERE be.ACTIVE = 'Y'
AND be.IBLOCK_ID = :CATALOG_IBLOCK_ID
GROUP BY be.ID
) cnt
GROUP BY cnt.regions
ORDER BY cnt.regions;
The output is the table from the case above: how many cards have 25 regions, how many have 24, how many have 1. Then a follow-up query on a specific group — and you see which exact region is missing (by comparing against the regions reference) and which cards are affected. The whole audit takes minutes; a manual storefront check would yield nothing — the “wrong” cards are simply not visible from the subdomain.
An important caveat about production databases: the query only reads. Any assignment changes are a separate step, with a backup and after reconciling the list.
Fix it surgically, not in bulk
The solution to this case has a nuance that saved us from a big mistake. The intuitive “let’s set all regions on all 88 non-complete cards” would have been harmful:
- The 38 “holey” ones are fixed by one operation: add the missing region. Exactly one INSERT over a list of IDs, the list coming from the follow-up query.
- The 50 feed-driven ones must not be touched: on the next feed load the manual assignment gets overwritten and the work vanishes. Their fate is decided at the feed level or as a task for the data supplier.
That is, half of the “problematic” cards are not fixed by hand at all — and without the audit, that is not obvious.
What this gives SEO
The direct consequences of an assignment hole:
- the regional subdomain shows half the assortment — thinner visibility, fewer pages in the index, lower conversion of regional traffic;
- the catalog is asymmetric: products identical in meaning behave differently across regions — algorithms notice;
- the regional content plan is built on an incomplete picture: “half the cards have no text” is not forgetfulness but a separate catalog branch with its own data source.
After the surgical fix, the subdomain’s assortment evens out, and further control is the same query quarterly and after every major feed load.
Conclusion
Regionalization in Bitrix is data, not a setting. Data drifts: feeds, new catalog branches, the human factor. A one-query audit is cheaper than a month of under-collected regional traffic — and it takes minutes, if you know where to look.
We include such reconciliations in regular maintenance of projects with regional networks: assignment audits, feed-branch control, subdomain assortment monitoring. If you run a network of regional sites on Bitrix and are not sure every product reaches every city — write to us, we will run the audit on your catalog.
📞 +7 (906) 311-77-69 · ✉ hello@automata.sale · 💬 Telegram: @automatasale