Luxury cruises — and a website that didn't sell them
DanEri Yachts takes guests on luxury catamarans to the most beautiful bays of Greece and Cyprus. Bringing in customers from search, however, was the job of a WordPress site with all the typical ailments: thin pages with no depth, uneven content quality, fragmented URLs, outdated booking logic and almost no pages for specific destinations — exactly where real search demand lives.
An important nuance that keeps this case honest: by the time of the audit, the project had already begun migrating from old WordPress to a static architecture — and the migration itself left scars. The SEO audit revealed URL consolidation problems: canonical conflicts, lost redirects, sitemap and indexing issues. So the job wasn't just "build new pages" — it was also "diagnose and repair migration damage" and recover the money pages that had lost traffic.
Betting on organic search in travel is justified — search remains the main channel for trip planning:
Below is the path from thin content and sagging money pages to a multilingual booking platform: diagnosis, clusters, design, backend and safe deployment.
What the audit showed: demand exists, the site doesn't catch it
We built the diagnosis on Google Search Console data and demand analysis. The picture at the start (this is the diagnostic baseline the work began from — not the final results):
At destination level, demand was literally lying on the ground — the site just wasn't picking it up:
Milos: demand without clicks
8.1K impressions in 3 months — and only 0.5% CTR at an average position of ~29. People are searching, but the site sits outside the click zone.
Rhodes: almost invisible
Average position ~39 and 0 clicks in the audit window — for the destination with the biggest content potential (16 articles planned).
Cyprus: impressions without clicks
6,680 impressions — and only 0.1% CTR. The queries exist, but there are no relevant pages or snippets to answer them.
Migration damage
Canonical conflicts, lost redirects, fragmented legacy URLs and sitemap issues — all of it weighing on the money pages.
The conclusion: the problem isn't "too few articles". The problem is architecture — no destination clusters, no conversion pages for the "which cruise should I book" decision, and a technical base that needs repair after the migration. That became the plan.
The plan: repair, rebuild, scale
The work ran on all fronts at once — from migration repair to a full product platform:
Migration diagnosis and repair
Untangled the damage from the move: redirects and legacy URLs, canonical conflicts, sitemap and indexing, recovery of commercial pages.
RecoveryHugo / static architecture
Moved the site to static builds: speed, control over every page, SEO scalability and safe deployment instead of fragile WordPress.
ArchitectureContent strategy: 5 clusters · 71 articles
Topic clusters across Crete, Rhodes, Milos, Cyprus, Paleochora and Ierapetra — a plan based on GSC and search demand analysis.
ContentThe "luxury nautical" design system
Deep navy, coral, cream and ocean blue: premium cruise cards, hero sections, comparison tables, photo-led editorial layouts.
DesignMultilingual EN / RU / EL
Translation memory and runtime files (21 per language), a language switcher, localized paths and canonical/hreflang handling.
i18nThe booking platform
Supabase accounts, cruise comparison, an affiliate program, LinkTwist integration, PDF vouchers, admin roles and deployment automation.
ProductIs your site missing demand that already exists?
Get tasks, timelines and growth points for your specific project — in a couple of minutes.
271,947 words that sell cruises — not "fill the site"
We didn't "write articles" — we built a commercial content machine. Each cluster is assembled around a destination pillar page and covers the entire customer journey: from "where should we go" to "which exact cruise should we book":
- Destination guides — Rhodes, Milos, Paleochora, Ierapetra, Cyprus: pillar pages + routes, ports and cruise categories.
- Decision pages — "which cruise should you book": day vs sunset, catamaran vs party boat, Rhodes Marina vs Mandraki, Rhodes vs Symi.
- Practical guides — sea temperature by month (Rhodes, Milos, Cyprus), the best time for a cruise, "Rhodes in 4 days", beaches reachable only by boat.
- Family and occasion pages — cruises for proposals, anniversaries, holidays with kids.
- FAQ blocks and structured data — 162 pages with FAQ markup, 165 with JSON-LD; internal linking blocks in every article.
The content scale matches a serious publication — but every page works toward a booking:
And all of it in three languages. English, Russian and Greek: 21 translation memory and runtime localization files per language, a language switcher, localized paths and canonical handling. A Greek, a Russian and a Brit all see an equally polished site.
Luxury nautical: design people trust with their holiday
A template theme doesn't sell a cruise worth hundreds of euros. We built a custom design system: deep navy, coral accents, cream and ocean blue; premium cruise cards with prices and categories; visual hero sections; comparison tables; FAQ blocks; pricing grids; responsive mobile navigation and a redesigned header, footer and menu.


The goal isn't "pretty" — it's conversion: the design helps people scan, compare and commit to a booking.
From a website to a booking system with an admin panel
The project grew from "a site with articles" into a commercial platform. On Supabase we built accounts (email/password + Google sign-in), a customer dashboard with bookings, a comparison cart, an affiliate program with tracking and payout requests, super admin / admin / content manager / partner roles, CMS-like product management and discount campaigns — in total 20+ database migrations covering accounts, carts, bookings, products, discounts, security and partner reports.
Booking runs through the LinkTwist integration: date, time and guest selection, a "Buy Now" flow, admin booking views and a discrepancy comparison tool for PDF/CSV/Excel. A purchase is confirmed with a PDF e-voucher sent by email (Sendpulse-based email infrastructure), and discount campaigns — like the temporary −15% — are injected statically: the discounted price is visible right in the HTML and snippets, not only after JavaScript runs.

sem.chat: an answer in any language within ~2 seconds
DanEri Yachts' guests write from all over the world — in English, German, French, Polish, Hebrew, Russian, Greek. No human operator covers that flow across dozens of languages, let alone at night, when a tourist is planning a holiday from another time zone. So we installed sem.chat on the site — an AI chat that detects the language automatically and answers any message in about 2 seconds, 24/7.
For a booking business this is critical: questions like "is this cruise OK for kids?" or "what if it's windy?" come up right before payment. With no answer, the visitor leaves to compare competitors. An instant answer in their own language keeps the customer in the funnel: they stay longer, read on, compare and reach the booking — not the closed tab.

Infrastructure that protects every page
Content is useless if the technical base lets it down. So the SEO infrastructure is built into the build and deploy process itself:
- Hugo / static builds — 171 pages managed by the deploy config, 221 content files, staging and production deploy scripts with SFTP automation.
- Migration repair — redirects and legacy URL handling, passthroughs for category archives and nested legacy paths, canonical conflict resolution.
- Multilingual paths — localized EN/RU/EL URLs, a language switcher, hreflang handling, a canonical on every page.
- Markup — JSON-LD injection (165 pages), FAQ schema (162 pages), sitemap verification against live URLs (222 in the current sitemap).
- Environment safety — staging/production separation, staging noindex protection, GTM and the chat widget — without hurting speed.
- Media infrastructure — image manifests for 2,333 photos: control over weights, paths and alts.
In all honesty: the GSC numbers in the "Diagnosis" section are the baseline at the start of the work. The final trend should be judged on fresh Search Console data after the clusters are indexed — we don't quote it without verification.
One project — website, content, SEO and platform
The main outcome is a change of category. Instead of a thin WordPress site, DanEri Yachts now runs a single commercial system: content catches destination demand, design carries people to a decision, the platform closes the booking, and admin tools handle operations.
- A content machine built — 170 pages and 271,947 words (median 1,516), clusters of 71 articles across 5 destinations, internal linking and FAQs in every one.
- The migration healed — redirects, canonicals, sitemap and legacy paths put in order; commercial pages are recovering systematically.
- Three languages — EN/RU/EL with translation memory, localized paths and hreflang: an equally polished site for every market.
- Booking is a product — Supabase accounts, cruise comparison, the LinkTwist flow, PDF vouchers, discount campaigns, affiliates and 4 admin roles.
- Support is instant — the sem.chat AI assistant answers in any language within ~2 seconds, 24/7, and keeps visitors moving toward a booking.
- Deployment is safe — staging/production, SFTP automation, staging noindex protection, sitemap verification on every release.
What about AI search? Travel queries already get answered without a click
Travel questions — "when is the best time for Rhodes", "what's the sea temperature in Milos in May", "catamaran or party boat" — are exactly what AI Overviews, ChatGPT and Perplexity answer directly. The winner is whoever's content is structured and citable: DanEri Yachts' deep guides, FAQ markup, JSON-LD and honest practical data are ready-made sources for AI answers.
What in the project already works for AI visibility:
Deep structured content is the foundation of visibility both in classic Google and in AI search: one architecture serves both worlds.
Behind the result is the SEOquick team
A project like this isn't built by "a freelance copywriter". SEOquick has been in search marketing since 2008 and combines what's usually split across contractors: strategy, content production, development, localization, technical SEO, integrations and deployment — in one team and one process.

Nikolay Shmichkov
18 years in digital, 500+ SEO articles and podcasts. Leads strategy, priorities, and final quality control of implementations.

Anatolii Ulitovskyi
Founder of SEOquick and unmiss.com. Specializes in AI search, GEO, programmatic SEO, entity markup, and visibility growth analytics.
Similar growth stories
If this case resonated — see how we solved similar problems in other niches and regions.
BeCoin.net: from WordPress to a financial platform
7 markets, 44 locales, 10,681 URLs — development + SEO automation.
View case study →US weight-loss blog: 100K → 700K/mo.
Content and link building in the health YMYL niche with sevenfold growth.
View case study →Binary options site: from a Google filter to 40,000+/mo.
Programmatic SEO across 50,000+ pages and multilingual rollout.
View case study →BB.LV — the organic traffic leader in the Baltics
Content and a technical foundation that took a news portal to the top of its niche.
View case study →A furniture e-commerce store in Poland
International SEO: GEO adaptation, content and link building.
View case study →Promoting a medical website
Growth in the health niche with a focus on E-E-A-T, a content plan and links.
View case study →Data sources
- BrightEdge — organic search drives ~53% of site traffic (paid ~15%): brightedge.com, searchengineland.com, channel report.
- DanEri Yachts project metrics — factual repository and deploy-config data: 222 URLs in the live sitemap, 171 pages in the deploy config, 221 content files, 170 measured pages (271,947 words, median 1,516, average 1,599), 2,333 images, 165 pages with JSON-LD, 162 with FAQ markup, 21 localization files each for RU/EL, 20+ Supabase migrations, the sem.chat AI assistant (~2-second answers in the visitor's language, 24/7).
- GSC audit (diagnostic baseline) — clicks 15.6K → 8.09K, impressions 505K → 385K, CTR 3.1% → 2.1%, position 18.1 → 14.7; Milos 8.1K impressions / 0.5% CTR / pos. ~29; Rhodes pos. ~39 / 0 clicks; Cyprus 6,680 impressions / 0.1% CTR. Google Search Console data at audit time — the starting point, not the outcome.
- Google Search Central — requirements for hreflang, localized versions and sitemaps: localized versions, sitemaps, FAQ structured data.
- Backlinko — CTR by position (analysis of 4M SERPs): CTR stats, First Page Sage.
- AI search — AI Overviews, the zero-click share, ChatGPT and Perplexity audiences: SE Ranking, Superlines.
"After" screenshots — the live daneriyachts.com, taken 06/11/2026; the old version is linked in the Wayback Machine. GSC numbers are quoted strictly as the diagnostic baseline at the start of the work; the final trend should be judged on verified Search Console data. Industry figures are benchmarks that illustrate the patterns the strategy was built on.