Skip to content

Solutions

Technical SEO in Vejle: speed, indexing and GEO

The half of SEO that is an engineering problem: speed, Core Web Vitals, indexing and structured data. The same foundation decides whether ChatGPT, Perplexity and Google’s AI answers can fetch and quote your pages, and that part is called GEO. Copywriting and link-building are a different job, and they only start paying off once this part is right.

Typically
€800–2,010

DKK 6,000–15,000

Delivery
1–3 weeks

When this makes sense

  • The site is slow and you can see it in the bounce rate
  • Google is not indexing the pages you want to be found for
  • An agency handled the content, but the technical side lagged behind
  • Search Console is reporting errors and nobody in the building reads it
  • ChatGPT or Perplexity gets what you do wrong, or has never heard of you
  • You relaunched the site and traffic fell, and nobody can say which change caused it

How it works

  1. 01

    Measure

    I baseline it with real numbers: Core Web Vitals, Lighthouse, and what Search Console actually reports.

  2. 02

    Fix

    Images, caching, JavaScript weight, server response, sitemap, canonical, hreflang, structured data and access for the AI crawlers. Fixed in the code.

  3. 03

    Document

    You get before and after numbers, and a list of what changed. So you can see what you got for the money.

What you get

  • Core Web Vitals measured before and after
  • Indexing, sitemap, canonical and hreflang
  • Structured data and an /llms.txt, so Google and the AI assistants understand the pages
  • A report on what changed and why

Which half of SEO this is

SEO is two trades that share a name. One is content and links: keyword research, writing, digital PR, outreach. The other is the engineering underneath it — whether pages load fast enough to be worth ranking, whether Google can crawl and index them at all, whether the markup describes what is on the page, and whether the site tells search engines a consistent story about which URL is the real one. This offer is the second trade only.

That boundary is worth stating plainly, because the two get sold together and the technical half is usually the neglected one. A site can have excellent content and still be invisible if its canonical tags contradict each other, if half the pages are excluded by a stray directive, or if the mobile page takes six seconds. Fixing that is what gives good content a chance to be found.

If what you need is a keyword strategy, a content calendar and link-building, I am not the supplier and I will say so in the first email rather than the third meeting. There are agencies in the region who do it well, and I am happy to name one.

What GEO is, and what can be done about it

GEO stands for generative engine optimisation, and it is about being visible in an answer rather than in a list of results. ChatGPT, Claude, Perplexity, Copilot and Google’s AI overviews fetch pages the way a search crawler does, but most of them do not run JavaScript, and they answer from the HTML they were handed. A site that assembles its content in the browser is empty to them, even though it looks right to you.

What can be done in the code is concrete enough to list. The pages have to be server-rendered, so the content is there without JavaScript. Robots.txt has to allow the assistant crawlers deliberately — a named group in that file overrides the wildcard rules for that one bot, which is an easy way to shut them out by accident. Structured data has to carry the real figures, prices and services, because an amount with markup around it is easier to quote correctly than an amount in a heading. An /llms.txt can state what the business is, what it costs and what it does not sell. And the crawlers that actually fetch something can be logged, so the question of whether any assistant has ever been past is answered from a log. The site you are reading this on runs all five parts.

Two things come with it. Nobody can sell you a place in an AI answer, and an offer that promises one is a guess with an invoice attached. And the half that is about sources other than you confirming who you are — Danish company registries, a Google Business Profile, mentions elsewhere — sits outside the code. I write down what is missing, but they are your own accounts to open.

What a review usually turns up

The recurring findings, in roughly the order they matter. Pages that return 200 with no real content, which Google files as a soft 404 and quietly drops. Canonical tags pointing somewhere other than the page you want indexed. Redirect chains where one hop would do, leaking a little signal at each step. A sitemap listing URLs that redirect, or omitting the pages that actually sell. Images served far larger than they are displayed. A robots.txt or a meta directive doing something nobody intended, which is the failure with the highest cost and the lowest visibility.

Then the speed side, which on most Danish business sites comes down to the same few things: JavaScript loaded on every page for a feature used on one, third-party scripts that block rendering, no caching in front of pages that never change, and fonts that arrive late enough to shift the layout under the reader.

On the AI side a different set of findings recurs. The content exists only inside a JavaScript bundle, so what an assistant is handed is an empty shell. A bot filter at the host or in front of the CDN turns GPTBot and PerplexityBot away long before robots.txt is read, and nobody in the building asked for that. Prices, services and opening hours live in running text or inside a PDF, where they cannot be extracted with any confidence. The markup carries none of the references to other sources that let a model risk saying who you are. And there is no log, so whether any assistant has ever fetched a page can only be answered with a guess.

None of this is exotic and none of it needs a monthly retainer to find. It needs somebody to sit down with the site, Search Console and a real device, and write down what is actually happening.

How the work is measured and handed over

The engagement typically costs DKK 6,000–15,000 ex. VAT and is delivered in 1–3 weeks. What you get is the baseline numbers, the fixes made in the code rather than added as another plugin, and the same numbers again afterwards.

The measurements are Core Web Vitals from field data where there is enough traffic for it, Lighthouse where there is not, index coverage and impressions from Search Console, and a crawl of the site before and after. Rankings are deliberately not the headline metric: they move for reasons outside this work, they differ per person and per device, and a supplier who reports them selectively can show almost anything. Speed and index health are things I can change and things you can verify.

GEO is measured three ways, because there is no ranking to read off. A fixed set of questions — the ones a customer would actually ask — goes to ChatGPT, Perplexity and Google’s AI answers before the work and again afterwards, with the answers kept, so the difference can be read rather than remembered. Traffic referred from the assistants is separated out in the analytics, so you can see whether anyone arrives that way. And the crawler log shows which assistants fetched what, and when.

I also hand over what I changed and why, written for whoever maintains the site next. If that is your own developer or another agency, the report should be enough for them to carry on without me.

Technical SEO for businesses and agencies in the Triangle Region

I am based in Vejle and take work across the Triangle Region, from Kolding and Fredericia to Middelfart, and can meet in person when that helps. Clients are typically businesses with a website or shop that is not being found even though the content is fine, and that need somebody to go into the code and the hosting and fix the cause.

The other group is marketing and SEO agencies that have produced a technical report but lack a developer to carry out the recommendations. There I deliver the fixes in the site's code, measure before and after, and leave the reporting and the client relationship with the agency if that is what you prefer.

An SEO check in the form of a technical review typically costs DKK 3,000–6,000 and gives you a ranked list of what is holding the site back. The fixes themselves typically cost DKK 6,000–15,000, depending on how much has to change and which platform the site runs on.

Common questions

Do you write the copy too?
No. I do the technical half, and it is usually the neglected one. If you need content and link-building there are agencies better at that than me, and I am happy to say who.
Can you guarantee a Google ranking?
No, and nobody can. I can guarantee measurable improvements to speed and technical health, and you can see those in black and white before and after. Rankings also depend on content and competition.
Our site is built in React or Vue. Does that make us invisible?
Not necessarily, but it is worth checking, because it is the failure that costs the most and shows the least. If the content only exists once JavaScript has run, a good number of crawlers see an empty page. Google runs JavaScript, but on a later pass and not always; most AI assistants do not run it at all. The fix is rarely a rewrite — server-rendering or pre-rendering the pages that need to be found, plus real URLs, titles and markup per page. I do that work in React, Vue and Next.js.
Can you get us mentioned in ChatGPT?
Not as a guarantee. What can be done is removing the reasons you get skipped: pages that can be read without JavaScript, crawlers that have access, prices and services carried in structured data, and an /llms.txt. Afterwards you can put the same questions to the assistants as before and see what has moved in the answers.
Should we not be blocking the AI crawlers instead?
It depends on what you sell. If the content is the product — paid articles, courses, image libraries — there is a real argument about who gets to fetch it. If you sell services or goods, blocking amounts to asking not to be named when somebody asks an assistant for a supplier. Most Danish business sites are in the second group, and the block is usually switched on without anyone deciding on it.
How is this different from what an SEO agency sells?
An agency usually sells an ongoing programme: keyword research, content production, link acquisition and a monthly report, priced as a retainer. This is a defined piece of engineering work with a start and an end, priced in hours, aimed at the part of the problem that lives in the code. The two are complementary rather than competing, and if you are already paying an agency, this is the work that makes their content able to rank.
How long before anything changes in Google?
Speed improvements are immediate and measurable the same day. Index and crawl changes depend on how often Google visits your site, which is usually days to a few weeks for a small business site. Ranking movement, where it happens at all, is slower than that and depends on competition and content as much as on anything I do. I do not put a date on it, because the date would be a guess.
Do you work with businesses in Vejle and Trekantsområdet?
Yes — the studio is in Vejle, and Kolding, Fredericia and Middelfart are close enough that a first meeting can happen in person if that is easier. The work itself is done remotely wherever you are, and clients across the rest of Denmark and the EU are normal. Being local is convenient rather than necessary, and it does not change the price.
Can you do this on a site you did not build?
Yes, and it is the usual case. WordPress, Laravel, Next.js, Vue, Shopify and most others. WordPress sites typically have the most to gain, because themes and plugins accumulate page weight that nobody has been paid to clear up. If the site turns out to need structural work rather than fixes, a technical review from DKK 3,000 is the cheaper way to find that out first.

Other things I do

Not sure which one to pick?

Send a couple of lines about what you are trying to achieve. You get a reply within 24 hours, and an honest yes or no.