Overview
The Site Blocker feature helps you stay focused by blocking access to distracting websites. When you try to visit a blocked site, you’ll see a motivational overlay instead of the website content.Site blocking works across all tabs and windows in your browser. It’s designed to help build better browsing habits, not as a strict parental control.
How It Works
When you block a site:- The site URL is normalized and stored in IndexedDB
- When you navigate to a blocked site, a content script detects the domain
- A fullscreen blocker overlay appears with:
- The blocked site name
- A motivational message with emoji
- Your current block streak counter
- Option to close the tab or override the block
blocker.tsx:16-67, the blocker shows:
Adding Blocked Sites
Open Site Blocker
Click the Site Blocker icon in the dock at the bottom of your new tab, or use the keyboard shortcut to access settings.
Enter Website URL
Type the website URL in the input field. You can enter:
- Full URL:
https://facebook.com - Domain only:
facebook.com - Subdomain:
www.facebook.com
URL Normalization
Fromsite-blocker.store.ts:25-33, the extension normalizes URLs:
Blocking
facebook.com will block all Facebook pages, including www.facebook.com, m.facebook.com, and any subdomains.Built-in Site Categories
The Site Blocker includes pre-configured categories of commonly distracting websites. You can enable entire categories with one click.Available Categories
Fromsite-blocker.sheet.tsx:181-186:
- Social Media: Facebook, Twitter, Instagram, TikTok, Reddit, etc.
- Entertainment: YouTube, Netflix, Twitch, streaming platforms
- News: News websites and aggregators
- Shopping: E-commerce and shopping sites
- Gaming: Gaming platforms and websites
- Block Category
- Unblock Category
Bulk Operations
Fromsite-blocker.store.ts:204-264, you can use bulk operations:
Managing Blocked Sites
View Blocked Sites
Your custom blocked sites appear at the top of the Site Blocker panel under “Custom Blocked Sites”. Fromsite-blocker.sheet.tsx:177-180:
Toggle Block Status
From
site-blocker.store.ts:162-186:
Remove Blocked Sites
Block Streak Counter
The blocker overlay displays your block streak, which tracks how many times you’ve successfully stayed focused by not overriding blocks. Fromblocker.tsx:44-48:
Override Blocks (Open Anyway)
While the goal is to stay focused, you can override blocks when necessary:Click 'Open anyway'
At the bottom of the blocker overlay, click the “Open anyway” button with lock icon.
blocker.tsx:56-61:
The override is temporary for that session. The site remains in your blocked list and will be blocked again on the next visit.
Storage & Sync
Local Storage
Fromsite-blocker.store.ts:289-316, blocked sites are stored in:
- Chrome Storage: For fast access and cross-tab synchronization
- IndexedDB: For persistent storage with full site data
- Store name:
meelio:local:site-blocker
Data Structure
Each blocked site stores:Migration
Fromsite-blocker.store.ts:77-86, the store automatically migrates data from Chrome storage to IndexedDB on first load:
Limits & Quotas
Fromsite-blocker.store.ts:102:
Timer Integration
The Site Blocker works seamlessly with the Pomodoro timer:- During focus sessions, blocked sites show your active timer
- Breaking the block can be configured to pause your timer
- Timer completion notifications remind you to avoid distractions
Check
timer.store.ts for timer configuration and site blocker integration settings.Extension-Only Feature
Fromsite-blocker.sheet.tsx:193-217, site blocking requires browser extension APIs:
- Shows message: “Site blocking functionality is only available in the browser extension.”
- Provides link to install the extension
- No blocking functionality available
Privacy & Security
- All blocked site data is stored locally in your browser
- No browsing history is collected or sent to Meelio servers
- Site blocker rules are private to your browser profile
- Optional: Sync blocked sites across devices when signed in to Meelio account
Troubleshooting
Site not blocking properly
Site not blocking properly
- Check if the site URL is correctly normalized
- Verify the site’s toggle is set to “blocked” (not just added to the list)
- Refresh the page or close and reopen the tab
- Check if you’ve granted the optional host permissions
Can't add a site
Can't add a site
- Ensure the URL format is valid (e.g.,
example.comorhttps://example.com) - Check if you’ve reached the 500 site limit
- Try removing the
www.prefix if the site won’t add
Block screen not appearing
Block screen not appearing
- Verify the extension has the optional host permissions (
https://*/*) - Check if content scripts are enabled in your browser
- Try disabling and re-enabling the extension
- Check if the site uses a redirect that bypasses the blocker
Losing blocked sites after browser restart
Losing blocked sites after browser restart
- This may indicate a storage issue
- Check browser storage permissions
- Try re-adding a site to trigger migration to IndexedDB
- Check browser console for storage errors
Related Features
Pomodoro Timer
Use focused work sessions with automatic site blocking
Task Management
Plan your work before blocking distractions
Soundscapes
Add ambient sounds to enhance focus
Settings
Configure site blocker behavior and preferences