- Datafabrik: Dockerfile fix, agentorkestrering fungerar - Vision: Identify-modell, FAISS, OCR alla testade - API: Alla 7 integrationstester passerade - Upplösare: Entitetsupplösning verifierad
8.9 KiB
Landvex SEO Fixes - Actionable Commands
K8: Canonical Fix (CRITICAL)
CloudFront Function Approach (Recommended - fixes ALL pages at once)
Create a CloudFront Function to rewrite canonical headers:
function handler(event) {
var request = event.request;
var response = event.response;
// Replace www.landvex.com with landvex.com in response headers
if (response.headers && response.headers['link']) {
for (var i = 0; i < response.headers['link'].length; i++) {
response.headers['link'][i].value = response.headers['link'][i].value.replace(/www\.landvex\.com/g, 'landvex.com');
}
}
return response;
}
Alternative: S3 Batch Fix Commands
If you have AWS CLI access to the S3 bucket:
# Download all HTML files
aws s3 sync s3://landvex-prod/ ./landvex-html/ --exclude "*" --include "*.html"
# Replace all www.landvex.com with landvex.com
find ./landvex-html/ -name "*.html" -exec sed -i 's/www\.landvex\.com/landvex.com/g' {} +
# Upload back
aws s3 sync ./landvex-html/ s3://landvex-prod/ --exclude "*" --include "*.html"
Pages confirmed with wrong canonical:
- /methodology/ → https://www.landvex.com/methodology/
- /enterprise/ → https://www.landvex.com/enterprise/
- /about/ → https://www.landvex.com/about/
- /careers/ → https://www.landvex.com/careers/
- /contact/ → https://www.landvex.com/contact/
- /privacy/ → https://www.landvex.com/privacy/
- /terms/ → https://www.landvex.com/terms/
- /security/ → https://www.landvex.com/security/
- /trust/ → https://www.landvex.com/trust/
- /compliance/ → https://www.landvex.com/compliance/
- /cookie-policy/ → https://www.landvex.com/cookie-policy/
- /dpa/ → https://www.landvex.com/dpa/
- /data-lineage/ → https://www.landvex.com/data-lineage/
- /data-quality/ → https://www.landvex.com/data-quality/
- /subprocessors/ → https://www.landvex.com/subprocessors/
- /sla/ → https://www.landvex.com/sla/
- /reports/ → https://www.landvex.com/reports/
- /pilot/ → https://www.landvex.com/pilot/
- /blog/ → https://www.landvex.com/insights/
- /accessibility/ → https://www.landvex.com/accessibility/
- /verticals/* (all 6 verticals)
- /intelligence/* (all 10 indexes)
- /cities/* (all 11 cities)
- /insights/* (all articles)
K6: /comparison Fix
Option A: 301 Redirect (Recommended)
Add to CloudFront function or S3 redirect:
/comparison → 301 → /
S3 redirect metadata:
aws s3api put-object \
--bucket landvex-prod \
--key comparison \
--website-redirect-location / \
--content-type text/html
Option B: Remove from Navigation
Remove this from the nav dropdown on all pages:
<div class="dd-label">Compare</div>
<a href="/comparison/">
Compare →
...
</a>
K7: /intelligence-map Content-Type
# Check current metadata
aws s3api head-object --bucket landvex-prod --key intelligence-map
# Fix if needed
aws s3 cp s3://landvex-prod/intelligence-map s3://landvex-prod/intelligence-map \
--metadata-directive REPLACE \
--content-type "text/html; charset=utf-8" \
--cache-control "max-age=3600"
H15: Taxonomy Fix
File: /methodology/
Change:
<p class="hero-sub">Five interlocked layers — from global field observation to verified intelligence.</p>
To:
<p class="hero-sub">Six interlocked layers — from global field observation to verified intelligence.</p>
Verify the 6 dimensions are consistently listed:
- Opportunity
- Growth
- Commercial Vitality
- Infrastructure Stability
- Tourism Potential
- Investment Confidence
H16: Location → Investment Attractiveness
File: / (homepage)
Change:
<a class="vertical-card" href="/intelligence/investment-attractiveness-index/">
<h3>Location Attractiveness Index</h3>
To:
<a class="vertical-card" href="/intelligence/investment-attractiveness-index/">
<h3>Investment Attractiveness Index</h3>
H30: Pipeline Numbering
Current State:
- Methodology: 5 layers (01-05)
- Enterprise: 4 steps (1-4)
- Discovery call
- Pilot definition
- Pilot delivery
- Enterprise subscription
- How it works: 4 steps (1-4)
Recommended Fix:
Option A: Add step 5 to Enterprise (RECOMMENDED) Add after step 4:
<div class="process-step">
<div class="step-num">5</div>
<h3>Scale & Optimize</h3>
<p>Continuous intelligence delivery with quarterly reviews, expanded coverage, and integration into your decision workflows.</p>
</div>
Update CSS:
.process-steps {
grid-template-columns: repeat(5, 1fr);
}
Option B: Standardize all to 4 steps Change Methodology from 5 to 4 layers by merging "Contradiction Engine" and "Red Team Analysis"
H12: Navigation Standardization
Standard Nav (apply to ALL pages):
<nav>
<a href="/" class="nav-logo">LandveX</a>
<div class="nav-links">
<a href="/#how-it-works">How it works</a>
<div class="nav-dropdown">
<a href="/#verticals">Verticals</a>
<div class="nav-dropdown-menu">
<a href="/verticals/municipalities/">Municipalities</a>
<a href="/verticals/infrastructure/">Infrastructure</a>
<a href="/verticals/property/">Property & Real Estate</a>
<a href="/verticals/retail/">Retail & F&B</a>
<a href="/verticals/insurance/">Insurance</a>
<a href="/verticals/security/">Security</a>
</div>
</div>
<a href="/methodology/">Intelligence</a>
<a href="/#cities">Cities</a>
<a href="/insights/">Insights</a>
<a href="/enterprise/">Enterprise</a>
<a href="/#contact">Contact</a>
</div>
<a href="/#contact" class="btn btn-outline">Get in touch →</a>
</nav>
Pages needing nav fix:
- /methodology/ (currently minimal nav)
- /enterprise/ (has different structure)
- /verticals/* (has minimal "Back to Landvex" nav)
- /insights/* (need to verify)
- /intelligence/* (need to verify)
K9: Standardization
Copyright Format (apply to ALL footers):
<div class="footer-copy">© 2026 Landvex Inc. · Landvex AB (org.nr 559141-7042)</div>
HQ Format (apply consistently):
Landvex Inc. · Houston, Texas (US) · Landvex AB · Org.nr 559141-7042 · Tyresö, Sweden (EU)
Status Banner (add to all pages or remove from methodology):
<div style="background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:12px 18px;margin:16px 0;font-size:.875rem;color:#92400e;">
<strong>Pre-launch:</strong> All documentation describes the system as designed for August 2026 launch. No live intelligence is being generated or sold at this time.
</div>
TLS/Security Statement (add to footer on all pages):
<div style="font-size:11px;color:var(--text-muted,#aaa);margin-top:4px">
All data stored and processed on AWS eu-north-1 (Stockholm). TLS 1.3 encrypted. GDPR compliant.
</div>
Additional Issues Found
Intelligence Index Canonicals Pointing to Home
These pages have canonical pointing to / instead of themselves:
- /intelligence/development-forecast-index/
- /intelligence/risk-resilience-index/
Fix: Change canonical to self-referencing:
<link rel="canonical" href="https://landvex.com/intelligence/development-forecast-index/">
<link rel="canonical" href="https://landvex.com/intelligence/risk-resilience-index/">
CloudFront Cache Errors
Response shows: x-cache: Error from cloudfront
This may indicate cache configuration issues that should be investigated.
/comparison is Duplicate Content
Diff between / and /comparison shows identical content. This should be 301 redirected.
Quick Verification Commands
# Check canonical on any page
curl -s https://landvex.com/PAGE/ | grep canonical
# Check all pages for www in canonical
for page in methodology enterprise about contact privacy terms security; do
echo "=== $page ==="
curl -s https://landvex.com/$page/ | grep canonical
done
# Check Content-Type
curl -sI https://landvex.com/intelligence-map | grep content-type
# Check redirect chain
curl -sIL https://www.landvex.com/methodology/ | grep -E "(HTTP|Location)"
# Check for CloudFront cache errors
curl -sI https://landvex.com/ | grep x-cache
# Check all intelligence indexes
for idx in city-health infrastructure-risk investment-attractiveness commercial-opportunity development-forecast growth-velocity neighbourhood-quality risk-resilience urban-growth; do
echo "=== $idx ==="
curl -s https://landvex.com/intelligence/$idx-index/ | grep canonical
done
Priority Order
- P0 - K8 (Canonicals): Fix immediately - affects SEO indexing
- P1 - K6 (/comparison): 301 redirect or remove
- P1 - K7 (Content-Type): Fix if confirmed
- P2 - H15/H16/H30: Content consistency
- P2 - H12: Navigation standardization
- P3 - K9: Footer/standardization