diff --git a/app/sites/[id]/pagespeed/page.tsx b/app/sites/[id]/pagespeed/page.tsx
index 71d3265..6ff082c 100644
--- a/app/sites/[id]/pagespeed/page.tsx
+++ b/app/sites/[id]/pagespeed/page.tsx
@@ -471,34 +471,7 @@ export default function PageSpeedPage() {
)}
- {/* Frequency selector */}
- {canEdit && config && (
-
- {(['daily', 'weekly', 'monthly'] as const).map(f => (
-
- ))}
-
- )}
- {!canEdit && config?.frequency && (
+ {config?.frequency && (
{config.frequency}
diff --git a/app/sites/[id]/settings/page.tsx b/app/sites/[id]/settings/page.tsx
index 6e1520f..3b2d05d 100644
--- a/app/sites/[id]/settings/page.tsx
+++ b/app/sites/[id]/settings/page.tsx
@@ -21,7 +21,8 @@ import { Select, Modal, Button } from '@ciphera-net/ui'
import { APP_URL } from '@/lib/api/client'
import { generatePrivacySnippet } from '@/lib/utils/privacySnippet'
import { useUnsavedChanges } from '@/lib/hooks/useUnsavedChanges'
-import { useSite, useGoals, useReportSchedules, useAlertSchedules, useSubscription, useGSCStatus, useBunnyStatus, useSessions, useBotFilterStats } from '@/lib/swr/dashboard'
+import { useSite, useGoals, useReportSchedules, useAlertSchedules, useSubscription, useGSCStatus, useBunnyStatus, useSessions, useBotFilterStats, usePageSpeedConfig } from '@/lib/swr/dashboard'
+import { updatePageSpeedConfig } from '@/lib/api/pagespeed'
import { getRetentionOptionsForPlan, formatRetentionMonths } from '@/lib/plans'
import { motion, AnimatePresence } from 'framer-motion'
import { useAuth } from '@/lib/auth/context'
@@ -130,6 +131,7 @@ export default function SiteSettingsPage() {
const [gscConnecting, setGscConnecting] = useState(false)
const [gscDisconnecting, setGscDisconnecting] = useState(false)
const { data: bunnyStatus, mutate: mutateBunnyStatus } = useBunnyStatus(siteId)
+ const { data: psiConfig, mutate: mutatePSIConfig } = usePageSpeedConfig(siteId)
const [bunnyApiKey, setBunnyApiKey] = useState('')
const [bunnyPullZones, setBunnyPullZones] = useState([])
const [bunnySelectedZone, setBunnySelectedZone] = useState(null)
@@ -1345,6 +1347,47 @@ export default function SiteSettingsPage() {
+ {/* PageSpeed Monitoring */}
+
+
PageSpeed Monitoring
+
+
+
+
Check frequency
+
+ How often PageSpeed Insights runs automated checks on your site.
+
+
+ {psiConfig?.enabled ? (
+
+
+
+
{/* Excluded Paths */}
Path Filtering