rapharehap/next.config.js

164 lines
5.8 KiB
JavaScript

/** @type {import('next').NextConfig} */
const nextConfig = {
output: "export", // keep: needed for next export
trailingSlash: true,
images: {
unoptimized: true, // ✅ needed
},
swcMinify: true, // explicit SWC minify
// experimental: {
// forceSwcTransforms: true, // use SWC only
// modern: true, // ✅ enable modern build (ES6+ for modern browsers)
// polyfillsOptimization: true // ✅ remove unnecessary polyfills
// },
async redirects() {
return [
// --- SERVICES ---
{
source: "/etobicoke-treatment-service/cardiac-rehabilitation-etobicoke/",
destination: "/etobicoke-treatment-service/cardiac-rehabilitation-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/compression-stockings-etobicoke/",
destination: "/etobicoke-treatment-service/compression-stockings-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/cranio-sacral-therapy-etobicoke/",
destination: "/etobicoke-treatment-service/cranio-sacral-therapy-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/cupping-therapy-etobicoke/",
destination: "/etobicoke-treatment-service/cupping-therapy-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/fascial-stretch-therapy-etobicoke/",
destination: "/etobicoke-treatment-service/fascial-stretch-therapy-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/gait-assessment-etobicoke/",
destination: "/etobicoke-treatment-service/gait-assessment-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/intramuscular-stimulation-ims-etobicoke/",
destination: "/etobicoke-treatment-service/intramuscular-stimulation-ims-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/kids-physiotherapy-etobicoke/",
destination: "/etobicoke-treatment-service/kids-physiotherapy-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/motor-vehicle-accident-rehabilitation-etobicoke/",
destination: "/etobicoke-treatment-service/motor-vehicle-accident-rehabilitation-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/neuro-fascial-therapy-etobicoke/",
destination: "/etobicoke-treatment-service/neuro-fascial-therapy-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/orthotics-etobicoke/",
destination: "/etobicoke-treatment-service/orthotics-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/pre-post-operative-management-etobicoke/",
destination: "/etobicoke-treatment-service/prepost-operative-management-clinic-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/psychotherapy-etobicoke/",
destination: "/etobicoke-treatment-service/psychotherapy-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/shiatsu-therapy-etobicoke/",
destination: "/etobicoke-treatment-service/shiatsu-therapy-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/shockwave-therapy-etobicoke/",
destination: "/etobicoke-treatment-service/shockwave-therapy-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/surgical-rehab-etobicoke/",
destination: "/etobicoke-treatment-service/surgical-rehab-in-etobicoke/",
permanent: true,
},
{
source: "/etobicoke-treatment-service/deep-tissue-massage-etobicoke/",
destination: "/etobicoke-treatment-service/deep-tissue-massage-in-etobicoke/",
permanent: true,
},
{
source: "/ourapproach-physiotherapy-etobicoke/",
destination: "/our-approach-physiotherapy-etobicoke/",
permanent: true,
},
// --- TEAM PAGES ---
{
source: "/our-team-physiotherapy-etobicoke/chandra-babu/",
destination: "/our-team-physiotherapy-etobicoke/chandra-babu-in-etobicoke/",
permanent: true,
},
{
source: "/our-team-physiotherapy-etobicoke/jo-anne/",
destination: "/our-team-physiotherapy-etobicoke/jo-anne-in-etobicoke/",
permanent: true,
},
];
},
async headers() {
return [
{
// ✅ Cache static assets for 1 year
source: "/:all*(woff2|ttf|eot|otf|jpg|jpeg|png|webp|svg|gif|css|js)",
headers: [
{ key: "Cache-Control", value: "public, max-age=31536000, immutable" },
],
},
{
// ✅ Cache HTML for 10 mins
source: "/:all*(html)",
headers: [
{ key: "Cache-Control", value: "public, max-age=600, must-revalidate" },
],
},
];
},
};
module.exports = nextConfig;
// next.config.js
// /** @type {import('next').NextConfig} */
// const nextConfig = {
// output: 'export', // static HTML export
// trailingSlash: true,
// images: {
// // loader: 'custom', // required by next-image-export-optimizer
// unoptimized: true, // prevents runtime optimization
// },
// transpilePackages: ['next-image-export-optimizer'],
// env: {
// nextImageExportOptimizer_imageFolderPath: '/assets/images',
// nextImageExportOptimizer_exportFolderPath: 'out',
// nextImageExportOptimizer_quality: '65',
// nextImageExportOptimizer_storePicturesInWEBP: 'true',
// },
// };
// module.exports = nextConfig;