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:
@@ -8,9 +8,9 @@ const Footer = async () => {
|
||||
const currentYear = new Date().getFullYear();
|
||||
|
||||
return (
|
||||
<footer className="relative bg-zinc-800/50 backdrop-blur-sm border-t border-zinc-700/30 pt-8 pb-4 px-4">
|
||||
<footer className="relative bg-zinc-800/50 backdrop-blur-sm border-t border-zinc-700/30 pt-6 sm:pt-8 pb-4 px-4 sm:px-6 lg:px-8">
|
||||
<div className="max-w-7xl mx-auto">
|
||||
<div className="flex flex-col md:grid md:grid-cols-2 lg:grid-cols-4 gap-8">
|
||||
<div className="flex flex-col sm:grid sm:grid-cols-2 lg:grid-cols-4 gap-6 sm:gap-8">
|
||||
{/* Contact Section */}
|
||||
<div>
|
||||
<h3 className="text-white text-base font-semibold mb-3">
|
||||
@@ -92,7 +92,7 @@ const Footer = async () => {
|
||||
</div>
|
||||
|
||||
{/* Legal Section */}
|
||||
<div className="border-t border-zinc-700/30 pt-4">
|
||||
<div className="border-t sm:border-t-0 lg:border-t border-zinc-700/30 pt-4 sm:pt-0 lg:pt-4">
|
||||
<div className="flex flex-col space-y-4">
|
||||
<p className="text-zinc-400 text-xs text-left">
|
||||
© {currentYear} Damjan Savić. {t('legal.copyright')}
|
||||
|
||||
Reference in New Issue
Block a user