URL Structure: Clean and SEO-Friendly Paths
This article explains our URL structure across different page types and how it supports SEO and user experience.
URL Patterns
Product Pages
Pattern: /p/<sku>
Example: /p/Treo-N100-8-256-2H-W6-11P
Structure: SKU directly in URL (hyphen-separated)
Benefit: Unique URL per configuration, descriptive
Query Pages
Pattern: /q/<slug>
Example: /q/mini-pc-for-office
Structure: Hyphenated query text
Benefit: Readable, SEO-friendly, shareable
Search Pages
Pattern: /q/?q=<query>
Example: /q/?q=fanless+computer
Structure: Query parameter
Benefit: Dynamic, not indexed
Part Pages
Pattern: /i/<partid>
Example: /i/N100
Structure: Part ID directly in URL
Benefit: Short, memorable
Family Pages
Pattern: /f/<family>
Example: /f/treo
Structure: Family name
Benefit: Product configurator pages
Category Pages
Pattern: /c/<category>
Example: /c/mini-pc
Structure: Category name
Benefit: Browse by category
Comparison Pages
Pattern: /c/<name>
Example: /c/treo-vs-s
Structure: Comparison name
Benefit: Side-by-side comparison
Article Pages
Pattern: /a/<slug>
Example: /a/rdp-thin-client
Structure: Article slug
Benefit: Technical documentation
Bundle Pages
Pattern: /b/<bundle-id>
Example: /b/office-bundle
Structure: Bundle identifier
Benefit: Pre-configured packages
URL Parameters
Language Selection
Parameter: ?lang=<code>
Example: /p/Treo-N100?lang=hi
Behavior: Sets language, then redirects to clean URL
Storage: Session + cookie
Currency Selection
Parameter: ?curr=<code>
Example: /p/Treo-N100?curr=USD
Behavior: Sets currency, then redirects to clean URL
Storage: Session + cookie
Filters (Query Pages)
Parameter: ?<feature>=<value>
Example: /q/mini-pc?Cores=4&Main+Memory=8
Behavior: Dynamic filtering, no redirect
Benefit: Shareable filtered views
Tracking Parameters
Parameters: gclid, gbraid, wbraid, fbclid, utm_*
Example: /p/Treo-N100?gclid=abc123
Behavior: Stored in session/cookie, removed from URL
Benefit: Clean URLs, attribution preserved
Clean URL Strategy
Parameter Removal
After processing, we redirect to clean URLs:
Before: /p/Treo-N100?lang=hi&curr=USD
After: /p/Treo-N100
Benefit: Cleaner URLs, better caching
Trailing Slash Handling
We redirect trailing slashes:
Before: /p/Treo-N100/
After: /p/Treo-N100
Benefit: Canonical URLs, no duplicate content
Case Normalization
SKUs and slugs are case-sensitive:
Valid: /p/Treo-N100
Invalid: /p/treo-n100 (404)
Benefit: Consistent URLs
SEO Considerations
Canonical URLs
Every page has a canonical URL:
<link rel="canonical" href="https://www.thinvent.in/p/Treo-N100">
Benefit: Prevents duplicate content issues
Hreflang Tags
Alternate language versions:
<link rel="alternate" hreflang="en" href="/p/Treo-N100">
<link rel="alternate" hreflang="hi" href="/p/Treo-N100?lang=hi">
Benefit: Google shows correct language version
Sitemap
All pages included in sitemap.xml:
-
Product pages
-
Query pages
-
Article pages
-
Category pages
-
Family pages
Benefit: Better crawling and indexing
Robots.txt
Production (via CloudFront): Allow all
Staging (direct access): Disallow all
Detection: CloudFront header presence
Benefit: Only production indexed
URL Redirects
Old to New
We maintain redirects for old URL patterns:
Old: /gs/<sku> (Google Shopping)
New: /p/<sku>
Status: 301 Permanent Redirect
Datasheet URLs
Pattern: /ds/<sku>.pdf
Behavior: Generate PDF on-demand
No redirect: Direct PDF response
URL Validation
SKU Validation
Before serving product page:
-
Check if SKU exists in productdb
-
Validate format (hyphen-separated)
-
Return 404 if invalid
Slug Validation
Before serving query page:
-
Check if slug exists in QueryPageV3
-
Fallback to search if not found
-
Return search results
References
Technical Concepts
-
Clean URLs - Wikipedia
-
Canonical link element - Wikipedia
Related Articles
-
Page Types - Query vs search vs product
-
SEO Pipeline - How query pages are generated
Summary
Our URL structure is clean, descriptive, and SEO-friendly:
Page types:
-
✅
/p/<sku>- Product pages -
✅
/q/<slug>- Query pages -
✅
/q/?q=<query>- Search pages -
✅
/i/<partid>- Part pages -
✅
/f/<family>- Family pages -
✅
/c/<category>- Category pages -
✅
/a/<slug>- Article pages -
✅
/b/<bundle>- Bundle pages
Parameters:
-
✅
?lang=<code>- Language (redirects to clean URL) -
✅
?curr=<code>- Currency (redirects to clean URL) -
✅
?<feature>=<value>- Filters (no redirect) -
✅
?gclid=<id>- Tracking (stored, removed from URL)
SEO:
-
✅ Canonical URLs
-
✅ Hreflang tags
-
✅ Sitemap.xml
-
✅ Robots.txt (environment-aware)
Validation:
-
✅ SKU existence check
-
✅ Slug existence check
-
✅ 404 for invalid URLs
This structure balances readability, SEO, and functionality.