Blocking and Exclusions
Blocking and exclusion rules remove products from search results entirely, ensuring they never appear regardless of relevance or other ranking factors.
Overview
Blocking and exclusions provide hard filters that completely remove products from search results. Use these when products should never appear, regardless of search query or user context.
Use Cases
- Out of stock: Remove products with zero inventory
- Policy compliance: Block products that violate policies (age restrictions, regional bans)
- Quality control: Exclude products with poor quality scores or missing data
- Legal restrictions: Block products that can't be sold in certain regions
- Vendor restrictions: Exclude products from specific vendors or suppliers
- Discontinued items: Remove products that are no longer available
Blocking Types
Product-Level Blocking
Block specific products by ID or SKU:
{
"type": "block",
"products": ["prod_123", "prod_456"],
"reason": "discontinued"
}
Attribute-Based Blocking
Block products matching certain attributes:
{
"type": "block",
"condition": {
"inventory": { "eq": 0 }
},
"reason": "out_of_stock"
}
Category-Level Blocking
Block entire categories:
{
"type": "block",
"categories": ["discontinued", "recalled"],
"reason": "policy"
}
Brand-Level Blocking
Block all products from specific brands:
{
"type": "block",
"brands": ["brand_x"],
"reason": "vendor_restriction"
}
Exclusion Rules
Exclusions are similar to blocks but can be more nuanced:
Conditional Exclusions
Exclude products conditionally:
{
"type": "exclude",
"condition": {
"quality_score": { "lt": 0.5 },
"missing_images": true
},
"reason": "low_quality"
}
Query-Specific Exclusions
Exclude products only for specific queries:
{
"type": "exclude",
"product_id": "prod_123",
"queries": ["kids toys"],
"reason": "age_restriction"
}
Segment-Specific Exclusions
Exclude products for specific customer segments:
{
"type": "exclude",
"product_id": "prod_123",
"segments": ["under_18"],
"reason": "age_restriction"
}
Regional Exclusions
Block products based on geographic location:
{
"type": "exclude",
"product_id": "prod_123",
"regions": ["EU"],
"reason": "gdpr_compliance"
}
Inventory-Based Blocking
Automatically block out-of-stock items:
{
"type": "block",
"condition": {
"inventory": { "eq": 0 }
},
"reason": "out_of_stock",
"auto_apply": true
}
Quality-Based Exclusions
Exclude products with quality issues:
{
"type": "exclude",
"condition": {
"or": [
{ "missing_title": true },
{ "missing_images": true },
{ "quality_score": { "lt": 0.3 } }
]
},
"reason": "data_quality"
}
Temporary Blocks
Block products for a specific time period:
{
"type": "block",
"product_id": "prod_123",
"date_range": {
"start": "2024-01-01",
"end": "2024-01-31"
},
"reason": "maintenance"
}
Best Practices
- Use sparingly: Blocking removes products entirely—ensure it's necessary
- Document reasons: Always specify why products are blocked
- Monitor impact: Track how blocking affects result counts and user experience
- Set up alerts: Get notified when blocking rules remove too many results
- Use fallbacks: Combine with fallback strategies to handle low result counts
- Review regularly: Periodically review blocked products to ensure they should remain blocked
Fallback Behavior
When blocking removes too many results:
- Relax rules: Automatically relax blocking rules if result count is too low
- Show alternatives: Display similar products that aren't blocked
- Inform users: Show messages explaining why results are limited
Related Topics
- Boost and Bury - For score adjustments that influence position without removing items
- Campaign Rules - For time-bound promotions that might include temporary exclusions
- Compliance Rules - Policy-based blocking and exclusions