Skip to content

Next.js in Hamburg

Next.js development for Hamburg logistics and publishing

A Next.js development company for Hamburg freight and publishing firms. Data that arrives in batches, millions of tracking URLs, and archives that outgrow a single sitemap.

Working day overlap
Seven hours, one hour behind Ankara, with a port that runs on a clock nobody controls
Who buys here
Freight forwarders, shipping lines, port logistics firms, and the publishers and media houses the city is also known for
What that changes
The data behind the page is a batch from a system that is not a web service, so freshness has to be shown rather than implied
Local specifics
One public URL per shipment or per archived article means URL volume, not page volume, is the engineering problem

Hamburg buys software for two quite different reasons, and the city's two industries happen to produce the same engineering problem.

The freight forwarders, shipping lines and port logistics firms need customer-facing surfaces over systems that were never designed to have one. The publishers and media houses need to put decades of archive on the public web without it collapsing under its own URL count. In both cases the interesting constraint is volume of addresses rather than volume of pages.

The data is a batch, not a feed

Most Hamburg projects start with a source system that is not a web service. A terminal operating system, a transport management system, an EDI feed, a nightly export dropped on an SFTP server.

That reality should be visible in the interface rather than hidden by it. A page that says "position as of 06:15" is trustworthy; a page that looks live over a feed updating four times a day generates support tickets every time somebody refreshes and nothing moves.

Technically it settles the caching question in a useful way. If the underlying data changes on a schedule, the page can be cached until the next batch and revalidated when it lands, which is a far cheaper design than treating every request as potentially new. What Next.js caches and when is worth reading before deciding, because the wrong default here is either a stale page nobody can clear or a page that rebuilds on every bot visit.

One URL per shipment is an SEO decision

A tracking page is the clearest example of a URL that must exist, must be fast, and must not be indexed.

It holds somebody's consignment details behind a reference number. Search engines should not have it. It should not appear in a sitemap. It should still render in well under a second for the person who pasted the number into the box, including the person doing that from a phone in a warehouse on bad signal.

Getting all three right means a deliberate robots setting on that route, exclusion from the sitemap generator rather than a filter bolted on afterwards, and a rendering strategy that does not statically cache a page keyed on personal data. Those are three separate decisions in three separate files, and the defaults get two of them wrong.

Archives that outgrow the defaults in Hamburg newsrooms

The publishing side of the city has the opposite problem: pages that should be indexed, in quantities that break the standard setup.

A sitemap file holds fifty thousand URLs, so a twenty-year archive needs a sitemap index pointing at several of them. Harder than that is the URL inflation that archives generate on their own - author pages, tag pages, year and month listings, paginated indexes - each of which is a thin page competing with the article it links to.

The fix is unglamorous and it works: decide which listings are canonical, which are paginated with proper relationships, and which should not be crawlable at all. The reasoning is in canonicals and sitemaps, and technical SEO is the engagement that usually follows.

Commercially

Scope fixed in writing before work starts, priced per project. The country-level ground - German data protection, the accessibility deadline, e-invoicing obligations - is on the Germany market page.

Invoiced by Codefacture Yazılım A.Ş. in Türkiye, in euros, by bank transfer, with no Turkish VAT because exported services are exempt.

The regulatory and commercial ground for this city is on the Germany market page.

Frequently asked questions

Our shipment data comes out of a system from 2004. Can a Hamburg logistics portal still be modern?
Yes, and the honest version is better than the pretend-live version. The source system exports on a schedule, so the page shows the data and the time it was true, and a visitor who refreshes does not get a different answer every second. Problems start when an interface implies real time over a feed that updates four times a day, because then every stale number looks like a bug.
We have two million tracking URLs. Should they be indexed?
Almost never, and the decision has to be deliberate because the default will not be. A tracking page is personal data behind a reference number - it should not be in a search index, it should not be in a sitemap, and it still has to be fast for the person who pasted the number in. That is three different settings in three different places, and it is cheap to get right and awkward to retrofit.
Our news archive goes back to 1998 and the sitemap is broken.
A sitemap holds fifty thousand URLs, so an archive of that size needs an index that points at several files rather than one list. The harder half is usually pagination and tag pages generating more URLs than there is content, which splits ranking signals across near-identical listings. Both are covered in the piece on canonicals and sitemaps.
Does the engagement work across the time difference?
Hamburg is an hour behind us, so the working days overlap almost entirely and nothing waits overnight. The useful consequence for logistics work is that a failing overnight import gets looked at during your morning rather than yours-plus-one.
Call us+1 848 272 7583WhatsApp+90 850 308 5436Emailinfo@codefacture.comContact page