Files
boc/quixzoom-domain-strategy/EXECUTION_PLAN.md
T
Bernt 6de2455917 v1.2.0: Add Global Markets footer, translated to 9 languages
- Added GLOBAL_MARKETS_TITLE to all translation files
- Updated footer with 12 markets (4 active + 8 upcoming)
- Translated market section to: zh-cn, zh-tw, ja, ko, th, vi, id, ms, hi
- Built and deployed to production
- CloudFront invalidation: I3RTMXVFDJXWLG3SYX208OP1CC
2026-07-08 19:56:03 +00:00

8.1 KiB

quiXzoom Domain Fix — Execution Plan

CURRENT STATUS SNAPSHOT

Working (200 or 301)

Domain CF ID Status Action
www.quixzoom.com EE30B9WM5ZYM7 200 Master site
quixzoom.se E1TJEEM1GIZ5YG 200 Keep
quixzoom.co.uk E2AUYZ274ZT8GF 200 Keep
quixzoom.asia EHBQ9EIYNM3O0 200 Keep
quixzoom.it E1EFRXZ2EWC5A3 301→.com Fix redirect target
quixzoom.jp ??? 301→.com Fix redirect target
quixzoom.eu E15RSE8VAS3N0N 301→.com Fix redirect target
quixzoom.nl ??? 301→/markets/nl/ Fix redirect target
quixzoom.mx ??? 301→.com Fix redirect target
quixzoom.lat ??? 301→.com Fix redirect target
quixzoom.net ??? 301→.com Keep (protects brand)
quixzoom.org ??? 301→.com Keep (protects brand)
quixzoom.tech ??? 301→.com Keep (protects brand)

Broken (No DNS)

Domain Route53 Zone CF Distribution Action
quixzoom.de Missing Create CF + S3
quixzoom.fr Missing Create CF + S3
quixzoom.in Missing Create CF + S3
quixzoom.be Missing Create CF + S3
quixzoom.pl Missing Create CF + S3
quixzoom.no Missing Create CF + S3
quixzoom.ie Missing Create CF + S3
quixzoom.at Missing Create CF + S3
quixzoom.co Missing Create CF + S3

⚠️ 404 (DNS works, no content)

Domain CF ID Issue Action
quixzoom.ch E19E88RO14MJK0 No S3 content Upload redirect
quixzoom.dk E4IYHJOWOWX8P No S3 content Upload redirect
quixzoom.fi E17ROIJVAZ5344 No S3 content Upload redirect
quixzoom.es E1V8LSW21R5DP6 No S3 content Upload redirect

SCRIPTS TO CREATE

1. create-redirect-distribution.sh

Creates CloudFront distribution + S3 bucket for redirect

#!/bin/bash
DOMAIN=$1
TARGET=$2
BUCKET="quixzoom-redirect-${DOMAIN//./-}"

# Create S3 bucket
aws s3 mb s3://$BUCKET --region us-east-1

# Configure as website with redirect
aws s3 website s3://$BUCKET --index-document index.html --error-document index.html

# Upload redirect HTML
cat > /tmp/redirect.html << EOF
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="refresh" content="0; url=$TARGET">
  <link rel="canonical" href="$TARGET">
</head>
<body>
  <p>Redirecting to <a href="$TARGET">$TARGET</a>...</p>
</body>
</html>
EOF

aws s3 cp /tmp/redirect.html s3://$BUCKET/index.html

# Create CloudFront distribution ( OAI + S3 origin )
# ... CloudFront API call ...

echo "Created: $DOMAIN$TARGET"

2. fix-route53.sh

Adds Route53 A/AAAA alias records

#!/bin/bash
DOMAIN=$1
CF_ID=$2
ZONE_ID=$(aws route53 list-hosted-zones --query "HostedZones[?Name=='$DOMAIN.'].Id" --output text | sed 's|/hostedzone/||')

# Get CloudFront domain
CF_DOMAIN=$(aws cloudfront get-distribution --id $CF_ID --query 'Distribution.DomainName' --output text)

# Create A + AAAA alias records
aws route53 change-resource-record-sets --hosted-zone-id $ZONE_ID --change-batch "{
  Changes: [
    { Action: UPSERT, ResourceRecordSet: { Name: $DOMAIN, Type: A, AliasTarget: { HostedZoneId: Z2FDTNDATAQYW2, DNSName: $CF_DOMAIN, EvaluateTargetHealth: false } } },
    { Action: UPSERT, ResourceRecordSet: { Name: $DOMAIN, Type: AAAA, AliasTarget: { HostedZoneId: Z2FDTNDATAQYW2, DNSName: $CF_DOMAIN, EvaluateTargetHealth: false } } }
  ]
}"

3. upload-redirect.sh

Uploads redirect HTML to existing 404 buckets

#!/bin/bash
DOMAIN=$1
TARGET=$2
BUCKET="quixzoom-redirect-${DOMAIN//./-}"

cat > /tmp/redirect.html << EOF
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="refresh" content="0; url=$TARGET">
  <link rel="canonical" href="$TARGET">
  <title>quiXzoom — Redirecting</title>
  <style>body{font-family:sans-serif;text-align:center;padding:40px;color:#666}</style>
</head>
<body>
  <h1>quiXzoom</h1>
  <p>Redirecting to <a href="$TARGET">$TARGET</a>...</p>
  <script>window.location.href="$TARGET";</script>
</body>
</html>
EOF

aws s3 cp /tmp/redirect.html s3://$BUCKET/index.html --content-type "text/html"

REDIRECT TARGETS (Proposed)

Domain Redirect Target Notes
quixzoom.de https://www.quixzoom.com/de-de/ German locale
quixzoom.fr https://www.quixzoom.com/fr-fr/ French locale
quixzoom.in https://www.quixzoom.com/hi-in/ Hindi locale
quixzoom.be https://www.quixzoom.com/nl-be/ Dutch (Belgium)
quixzoom.pl https://www.quixzoom.com/pl-pl/ Polish locale
quixzoom.no https://www.quixzoom.com/nb-no/ Norwegian locale
quixzoom.ie https://www.quixzoom.com/en-ie/ English (Ireland)
quixzoom.at https://www.quixzoom.com/de-at/ German (Austria)
quixzoom.co https://www.quixzoom.com/en-co/ English (Colombia)
quixzoom.ch https://www.quixzoom.com/de-ch/ German (Swiss)
quixzoom.dk https://www.quixzoom.com/da-dk/ Danish locale
quixzoom.fi https://www.quixzoom.com/fi-fi/ Finnish locale
quixzoom.es https://www.quixzoom.com/es-es/ Spanish locale
quixzoom.it https://www.quixzoom.com/it-it/ Italian locale
quixzoom.jp https://www.quixzoom.com/ja-jp/ Japanese locale
quixzoom.mx https://www.quixzoom.com/es-mx/ Spanish (Mexico)
quixzoom.lat https://www.quixzoom.com/es-419/ Spanish (LatAm)
quixzoom.nl https://www.quixzoom.com/nl-nl/ Dutch locale
quixzoom.eu https://www.quixzoom.com/en-eu/ English (EU)
quixzoom.se https://www.quixzoom.com/sv-se/ Swedish locale
quixzoom.co.uk https://www.quixzoom.com/en-gb/ English (UK)
quixzoom.asia KEEP Multi-language hub
quixzoom.net https://www.quixzoom.com/ Brand protection
quixzoom.org https://www.quixzoom.com/ Brand protection
quixzoom.tech https://www.quixzoom.com/ Brand protection

Current (Broken)

EN | 🇸🇪 Sverige | 🇳🇱 NL | 🇹🇭 TH | 🇳🇬 NG | 🇰🇪 KE

New (Microsoft-Style)

🌍 Region: Europe | Americas | Asia-Pacific | Africa
   🇸🇪 Sweden    🇺🇸 United States  🇯🇵 Japan        🇳🇬 Nigeria*
   🇬🇧 UK         🇲🇽 Mexico         🇰🇷 South Korea  🇰🇪 Kenya*
   🇩🇪 Germany*   🇧🇷 Brazil*        🇹🇭 Thailand
   🇳🇱 Netherlands* 🇨🇦 Canada*      🇻🇳 Vietnam
   🇫🇷 France*                      🇮🇩 Indonesia
   🇮🇹 Italy*                       🇮🇳 India
   🇪🇸 Spain*                       🇦🇺 Australia*
   🇨🇭 Switzerland*                 🇸🇬 Singapore*
   🇩🇰 Denmark*                     🇲🇾 Malaysia
   🇫🇮 Finland*                     🇵🇭 Philippines*
   🇧🇪 Belgium*                     🇹🇼 Taiwan
   🇵🇱 Poland*                      🇭🇰 Hong Kong*
   🇳🇴 Norway*
   🇮🇪 Ireland*
   🇦🇹 Austria*
   🇨🇴 Colombia*

   * Coming soon — Notify me

🌐 Language: English | Svenska | Deutsch | Nederlands | Français | Español | Italiano | 日本語 | 한국어 | 中文 | हिन्दी | Bahasa Indonesia | Bahasa Melayu | Tiếng Việt | ไทย

NEXT STEPS

  1. Get approval from Erik/Johan on redirect targets
  2. Create S3 buckets for missing domains
  3. Create CloudFront distributions for missing domains
  4. Add Route53 records for missing domains
  5. Upload redirect HTML to 404 domains
  6. Update footer on quixzoom.com
  7. Update footer on quixzoom.asia
  8. Update footer on quixzoom.se
  9. Update footer on quixzoom.co.uk
  10. Test all domains return proper status

ESTIMATED TIME

  • Script creation: 2 hours
  • S3/CF creation (9 domains): 3 hours
  • Route53 updates: 1 hour
  • Redirect uploads (4 domains): 30 min
  • Footer updates (4 sites): 2 hours
  • Testing: 1 hour
  • Total: ~10 hours

ESTIMATED COST

  • Route53 zones: Already paid ($25/mo for 25 zones)
  • CloudFront distributions: ~$50/mo additional
  • S3 buckets: ~$5/mo
  • Data transfer: ~$20/mo
  • Total: ~$75/mo additional