Technical SEO Remediation
Canonical strategy for /products/ versus /collections/products/, robots.txt.liquid rules, parameter handling, pagination, sitemap hygiene and crawl-budget recovery.
Organic revenue for Amsterdam stores that have to outrank a marketplace at home and introduce themselves from scratch in Germany.
Delivered remotely for brands across Amsterdam and Netherlands.
Dutch commercial search is crowded at the top by a small number of very large domains. For most consumer categories the first screen is a marketplace, a big domestic retailer and a comparison site, which means a brand's realistic organic target is not the head term but the specific, attribute-led query where a marketplace category page has nothing useful to say. That is a collection architecture problem before it is a content problem: sub-collections built around what Dutch buyers actually type, whether that is a fabric, a wheel size, a bulb planting season or a roast profile.
Cross-border is the second, larger opportunity and it is a different job. In Germany you are an unknown foreign brand competing in a language you do not write, and the technical foundation has to be right before content can do anything. That means hreflang that pairs nl-NL, nl-BE, de-DE and en correctly, market subfolders or domains that are consistent, and localised URLs, not a German page sitting at a Dutch slug. We see more cross-border organic lost to hreflang mistakes and self-canonicalising duplicates than to any content shortfall.
Then the Shopify-specific debt, which is the same everywhere and expensive here because you are paying it in two languages. Products reachable at both /products/handle and /collections/x/products/handle, filter and sort parameters generating thousands of near-identical crawlable URLs, and collection pages that ship without a line of copy or a single internal link. Multiply that by locales and the crawl budget goes to duplicates in languages nobody searches. We fix the platform layer first, then build the pages that earn commercial search, then work on being the source an answer engine cites when someone asks it a category question in Dutch.
Dutch search behaviour has habits worth designing for. Buyers add intent words to queries, so the collection that targets a phrase with kopen or bestellen in it will out-earn a broader term with more volume. Sizing, dimensions and compatibility are typed in metric and expected in metric, and a page listing inches loses the query outright. Dutch and Flemish search the same language with different vocabulary and different retail references, which is exactly the case hreflang nl-NL and nl-BE exists to serve, and it is routinely skipped. On the answer-engine side, the interesting thing about a small language is that there is far less Dutch-language content for an assistant to draw on than English, which makes clean structured product data, unambiguous entity information and genuinely useful Dutch buying guides disproportionately likely to be the source that gets cited. That window is open now and will not stay open. We report non-branded organic separately per market, because a brand that is famous in Amsterdam and unknown in Cologne will otherwise read as one healthy number.
The same standard of work we run for every client — applied to a Amsterdam brand’s realities.
Full service detailCanonical strategy for /products/ versus /collections/products/, robots.txt.liquid rules, parameter handling, pagination, sitemap hygiene and crawl-budget recovery.
A collection map built from real search demand, including sub-collections for attributes buyers search on: size, material, use case, price band, occasion.
Titles, descriptions, image alts, Product and Offer schema with live price and availability, plus review markup that stays valid as inventory changes.
Buying guides, comparisons and category explainers targeting mid-funnel demand, each linked into the collections they support. No filler blogging.
Entity and schema work, clean extractable answers, llms.txt and citation-worthy content so ChatGPT, Perplexity and AI Overviews reference your store.
Targeted outreach for editorial links to collection and guide pages from publications your buyers actually read. No directories, no link farms.
We do not work off a rate card. Every Amsterdam engagement starts with a fixed statement of work — named deliverables, named dates, one number — written after we have looked at your store, not before. If a smaller first step would serve you better, we will say so.
Get this scopedA full crawl plus log-file analysis to find what Googlebot actually sees and where crawl budget is being spent. Findings ranked by revenue impact.
Keyword research mapped to your catalogue and margin, not to search volume alone. High-volume terms you cannot profitably serve get cut.
Technical remediation ships first. There is no point building content on a site that wastes half its crawl budget on filter URLs.
Collection landing pages and commercial content shipped on a fixed monthly cadence, each with internal links planned before it goes live.
Monthly reporting on non-branded organic revenue, index coverage and AI citations. Branded queries are excluded from every growth number we show you.
Anonymised under NDA. Figures pulled from the client’s own analytics.
8-figure DTC brand, ~140 SKUs, US + CA · Shopify Plus (migrated from Magento 2)
Magento 2 cost $9k a month in hosting, extensions and emergency dev before a single feature shipped. Mobile LCP sat at 5.4 seconds and mobile converted at less than half the desktop rate across 68% of sessions. The named constraint: 11,412 indexed URLs and a top-3 organic position on their hero category, so a migration that lost rankings would cost more than the platform ever saved.
~$7M/yr, 480 SKUs, US + EU via Shopify Markets · Shopify Plus (Shopify Markets, 3 regions)
Paid social carried 81% of revenue and CAC had climbed 44% in eighteen months. Organic sat at 2,100 sessions a month against category competitors doing ten times that, and the EU storefront duplicated the US catalogue with no hreflang at all. The named constraint: three national retailers own the head terms with link profiles this brand could not match in a year, so the plan had to win on query depth instead of authority.
“Honestly I signed for the SEO and the AI-search piece was a footnote in the proposal I skimmed. Then in March our product pages started getting quoted in ChatGPT answers for insulated growler queries, and that traffic showed up in GA4 with real purchase intent attached to it. Organic revenue is up 58% year over year and roughly a fifth of that comes from surfaces that didn't exist when we signed the contract. I still don't fully understand it. I've stopped questioning it.”
Thirty minutes with the strategist who would actually run your account. We screen-share your store, read your data live, and tell you the three highest-value things we can see from the outside.
Prefer to write it out? [email protected] gets a real reply the same business day, Mon-Fri, 9am-6pm MT.