Product Comparison Engine, Same-Category Rules, Advantages Matrix & SEO Architecture

# Product Comparison Engine, Same-Category Rules, Advantages Matrix & SEO Architecture ## 1. Overview & Core Philosophy The Pixahunt Product Comparison Engine is designed to deliver authoritative, deterministic, side-by-side hardware evaluations. It empowers users to compare processors, smartphones, graphics cards, RAM, monitors, and other tech gadgets with real-world precision. The system incorporates strict domain rules to ensure high user trust and maximize search engine rankings on Google's first page: 1. **Strict Same-Category Rule:** Cross-category comparisons (e.g. comparing a processor with a smartphone) are strictly blocked both in the user interface and at the backend routing level. 2. **Deterministic Advantages & Drawbacks Engine:** Evaluates clock speeds, physical cores, execution threads, cache memory, manufacturing process nodes (lithography), integrated graphics, and retail pricing in Bangladesh. 3. **Power & Energy Efficiency Deep-Dive:** Compares TDP (Thermal Design Power) wattage for processors/GPUs and battery capacity (mAh) for smartphones, explicitly identifying which product runs cooler, consumes less electricity, or provides longer battery life. 4. **Anti-Table-Duplication Storage:** Saved comparisons are stored in the existing unified dataset table `gadget_saas_user_pc` using `build_type = 'pc_comparison'` without creating redundant tables. 5. **High-Rank SEO Architecture:** Direct canonical URLs (`/gadget/compare/{slug-a}-vs-{slug-b}`), Breadcrumbs schema, Dual Product comparison schema, and Google Rich Snippet FAQ schema. --- ## 2. URL Routing & Canonical Structure | Route Name | HTTP Method | URL Path | Description | |---|---|---|---| | `gadget.compare` | `GET` | `/gadget/compare` | Comparison hub & category selector landing page. Accepts optional `?p1=...&p2=...`. | | `gadget.compare.direct` | `GET` | `/gadget/compare/{slug-a}-vs-{slug-b}` | Canonical, clean SEO direct comparison page. Regex: `[a-zA-Z0-9\-_]+-vs-[a-zA-Z0-9\-_]+.*` | | `gadget.compare.search` | `GET` | `/gadget/compare/search` | AJAX category-scoped product search endpoint (filters strictly by `category_id`). | | `gadget.compare.save` | `POST` | `/gadget/compare/save` | Saves comparison to `gadget_saas_user_pc` and generates shareable UUID link. | | `gadget.compare.saved` | `GET` | `/gadget/compare/saved/{uuid}` | Permanent shareable link redirecting to the comparison with saved metadata badge. | | `gadget.compare.ai-verdict` | `POST` | `/gadget/compare/ai-verdict` | Interactive consultation with Pixahunt Hardware Technician AI on user's specific workload. | --- ## 3. Strict Same-Category Constraint Cross-category comparisons dilute data integrity and damage search engine quality signals. The constraint is enforced at two levels: 1. **User Interface / Modal Switcher:** When replacing or searching for products in slot 1 or 2, the search query is strictly locked to `category_id`. Products from other categories are physically excluded from the search result dataset. 2. **Backend Resolver (`ProductComparisonService::resolveProducts`):** If a user attempts to manually request mismatched slugs via URL (e.g. `i3-550-vs-iphone-3gs`), the resolver detects `$categoryIds->count() > 1`, aborts comparison rendering, and issues an HTTP 302 redirect back to `/gadget/compare` with an informative warning notification. --- ## 4. Hardware Evaluation & Advantages Engine ### Comparative Metrics Evaluated: * **Power & Thermal TDP:** * Analyzes rated TDP in Watts (e.g. 73W vs 65W) or battery mAh. * Calculates difference and percentage: `8W (11%) lower TDP`. * Generates thermal cooling impact and electricity consumption savings in English and Bengali. * **Cores & Threads:** Identifies multi-core rendering, video editing, and multitasking horsepower (+2 Cores, +4 Threads). * **Clock Frequencies:** Base and Turbo frequencies (+0.4 GHz higher clock speed). * **Cache Memory:** L3 Smart Cache (+4 MB Cache) for lower memory latency in modern gaming. * **Fabrication Node:** Smaller lithography (e.g. 14nm vs 32nm) for superior transistor density and efficiency. * **Integrated Graphics:** Checks presence of iGPU vs CPUs requiring dedicated PCIe graphics cards. * **Retail Pricing (BDT & USD):** Real-world Bangladesh street market prices (e.g. ৳1,500 cheaper). * **Pixahunt Score & Winner Badge:** Dynamic 0–100 scoring based on specifications and editorial ratings. --- ## 5. SEO Optimization & Schema Standards for Google 1st Page ### Key Elements: * **High-CTR Title Tag:** `[Brand A] [Model A] vs [Brand B] [Model B] Comparison, Specs & Benchmarks | Pixahunt` (under 65 characters). * **Meta Description:** Focuses on search intent: clock speeds, TDP power consumption, gaming performance, and prices in Bangladesh. * **Structured Data Schemas (JSON-LD):** 1. `BreadcrumbList`: Establishes hierarchical crawl path: Home > Gadgets > [Category] > [Model A vs Model B]. 2. Dual `Product` Comparison Schema: Outlines both products with `name`, `image`, `offers`, `price`, `availability`, and `brand`. 3. `FAQPage` Rich Snippet Schema: Injects 3 high-probability search queries directly into Google search results: - "Which one is better for gaming and multitasking: [Model A] or [Model B]?" - "What is the power consumption difference between [Model A] and [Model B]?" - "What are the approximate street prices in Bangladesh?" --- ## 6. Database Storage Architecture (`gadget_saas_user_pc`) In accordance with Pixahunt's **Anti-Table-Duplication Rule**, comparisons do not use a separate table. They are persisted in the existing `gadget_saas_user_pc` table: * `build_type`: `GadgetUserPc::TYPE_PC_COMPARISON` (`pc_comparison`) * `title`: `[Model A] vs [Model B]` * `components`: JSON array containing lightweight product snapshots (id, name, model, brand, price, thumbnail, slug). * `power_specs`: JSON object with calculated TDP diff, percentage, and bilingual efficiency summaries. * `comparison_data`: JSON object with advantages, drawbacks, scores, winner, and editorial verdict. * `saved_by`: `user` (if authenticated) or `system` (if guest). * `uuid`: Unique UUID for permanent shareable URLs.