Implement comprehensive homepage improvements and SEO optimization

Major homepage and SEO enhancements based on optimization document:

**Homepage Content Updates:**
- Updated H1 titles with SEO-optimized text for both RO/EN
- Enhanced hero descriptions with targeted keywords
- Improved feature descriptions for better clarity
- Updated daily verse section with keyword-rich titles
- Added new footer description with SEO focus

**SEO Implementation:**
- Added dynamic metadata generation with locale-specific SEO
- Implemented Open Graph tags for social media sharing
- Added Twitter Card metadata for enhanced sharing
- Integrated Schema.org JSON-LD structured data
- Set up hreflang tags for international SEO
- Added canonical URLs to prevent duplicate content
- Included targeted keywords for both languages

**Technical Improvements:**
- Migrated from Docker to PM2 deployment
- Removed Docker files and updated deployment scripts
- Updated README with PM2 instructions
- Fixed console log cleanup for production
- Added proper favicon with Next.js app directory
- Increased memory limit to 4GB for better performance
- Updated port configuration to 0.0.0.0:3010
- Set Romanian (/ro) as default locale with proper redirects

**Translation Updates:**
- Enhanced Romanian translations with SEO-optimized content
- Updated English translations with matching SEO improvements
- Added new 'seo' namespace for metadata translations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude Assistant
2025-09-22 18:40:21 +00:00
parent b24251eb2d
commit d4b0062521
18 changed files with 256 additions and 249 deletions

View File

@@ -1,12 +1,13 @@
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'
// Avoid importing Node-only modules in Middleware (Edge runtime)
import createIntlMiddleware from 'next-intl/middleware'
import { locales } from './i18n'
// Internationalization configuration
const intlMiddleware = createIntlMiddleware({
locales: ['ro', 'en'],
defaultLocale: 'ro'
locales: [...locales],
defaultLocale: 'ro',
localePrefix: 'always'
})
// Note: Avoid using Prisma or any Node-only APIs in Middleware.
@@ -71,10 +72,11 @@ export const config = {
// Match all pathnames except for
// - api routes
// - _next (Next.js internals)
// - _vercel
// - static files (images, etc.)
'/((?!api|_next|_vercel|.*\\..*).*)',
// However, match all pathnames within `/api`, except for the Middleware to run there
'/api/:path*',
'/dashboard/:path*'
// - favicon.ico, robots.txt, sitemap.xml
'/((?!api|_next|_vercel|.*\\..*|favicon.ico|robots.txt|sitemap.xml).*)',
// Match internationalized pathnames
'/(ro|en)/:path*'
],
}