Tailwind v4 migration, massive SEO optimization, and fixes

- Migrate to Tailwind CSS v4 with @theme, @layer, @plugin syntax
- Upgrade to Next.js 16.1, React 19.2, TypeScript 5.9.3
- Add 8 technology landing pages (Next.js, React, TypeScript, Tailwind CSS, Claude AI, Python, n8n, KI-Agenten)
- Expand SEO keywords across all locales (de/en/sr) for home, layout, cities, services
- Add tech-specific keywords to all 22 city pages
- Add FAQ schema + seoKeywords to service detail pages
- Add CollectionPage JSON-LD to blog listing
- Fix city page: dynamic region, BASE_URL canonicals, x-default hreflang
- Rewrite terms page with full German AGB, English and Serbian translations
- Remove dead crypto import and unused CSRF middleware (Edge Runtime fix)
- Remove crawlDelay from robots.ts
- Update sitemap with technology pages (~198 indexed URLs)
- Remove deprecated tailwind.config.js

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-06 20:40:19 +01:00
co-authored by Claude Opus 4.6
parent 03d6228a68
commit 62ae5140b9
35 changed files with 3111 additions and 1311 deletions
+11 -19
View File
@@ -24,8 +24,8 @@ export default defineConfig({
// Retry on CI only
retries: process.env.CI ? 2 : 0,
// Opt out of parallel tests on CI
workers: process.env.CI ? 1 : undefined,
// Limit workers to avoid overwhelming the dev server
workers: process.env.CI ? 1 : 4,
// Reporter to use
reporter: [
@@ -35,8 +35,8 @@ export default defineConfig({
// Shared settings for all projects
use: {
// Base URL to use in actions like `await page.goto('/')`
baseURL: 'http://localhost:3000',
// Base URL - uses dedicated test port to avoid conflicts with other dev servers
baseURL: 'http://localhost:3100',
// Collect trace when retrying the failed test
trace: 'on-first-retry',
@@ -45,16 +45,14 @@ export default defineConfig({
screenshot: 'only-on-failure',
},
// Configure projects - Chromium only for Lighthouse compatibility
// Configure projects for E2E testing
// Note: --remote-debugging-port removed to allow parallel test execution.
// For Lighthouse performance tests, use a separate config with a single worker.
projects: [
{
name: 'chromium',
use: {
...devices['Desktop Chrome'],
// Launch options for Lighthouse
launchOptions: {
args: ['--remote-debugging-port=9222'],
},
},
},
// Mobile Chrome for responsive testing
@@ -62,9 +60,6 @@ export default defineConfig({
name: 'mobile-chrome',
use: {
...devices['Pixel 5'],
launchOptions: {
args: ['--remote-debugging-port=9223'],
},
},
},
// Tablet viewport for responsive testing
@@ -72,18 +67,15 @@ export default defineConfig({
name: 'tablet',
use: {
viewport: { width: 768, height: 1024 },
launchOptions: {
args: ['--remote-debugging-port=9224'],
},
},
},
],
// Configure web server to start before tests
// Configure web server to start before tests on a dedicated port
webServer: {
command: 'npm run dev',
url: 'http://localhost:3000',
reuseExistingServer: !process.env.CI,
command: 'pnpm dev --port 3100',
url: 'http://localhost:3100',
reuseExistingServer: false,
timeout: 120000,
},