LinkCheckr is a web application for verifying the status of all links on a given webpage. It checks for broken or inaccessible links and provides a summary report, making it an essential tool for web developers, SEO specialists, and website administrators.
- Efficient Link Validation: Automatically scans webpages and checks the status of every link.
- User-Friendly Interface: Clear categorization of working and broken links with easy navigation.
- Dynamic Content Handling: Uses Selenium to render JavaScript-heavy pages for accurate link extraction.
- Restricted Domain Awareness: Warns users about domains that block automated link checking.
- Verifies links dynamically loaded via JavaScript.
- Provides summaries of total, working, and broken links.
- Highlights links from restricted domains like LinkedIn or X (formerly Twitter).
- Offers a clean, responsive interface for URL submission and results display.
Follow these steps to set up and run LinkCheckr on your local machine.
-
Frontend:
- Node.js installed (Download Node.js)
- A modern web browser.
-
Backend:
- Python 3.7 or higher installed (Download Python)
- Google Chrome and ChromeDriver installed (Install ChromeDriver).
-
Clone the Repository:
git clone https://github.com/victoriaEssien/linkcheckr.git cd linkcheckr
-
Frontend Setup:
- Navigate to the
frontend
directory:cd frontend
- Install dependencies:
npm install
- Create an
.env
file in thefrontend
directory with your API base URL:VITE_API_BASE_URL=http://localhost:5000
- Start the development server:
npm run dev
- Navigate to the
-
Backend Setup:
- Navigate to the
backend
directory:cd backend
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Run the Flask server:
python app.py
- Navigate to the
-
Start the backend server:
python app.py
This starts the Flask API server at
http://localhost:5000
. -
Start the frontend:
npm run dev
The frontend will be available at
http://localhost:5173
. -
Open the application in your browser and enter a URL to check its links.
- Frontend: React, Vite, TailwindCSS, Lucide Icons
- Backend: Flask, Selenium, BeautifulSoup, Requests
- Database/State: In-memory processing
- Ensure ChromeDriver is compatible with your installed version of Google Chrome.
- Restricted domains like LinkedIn and Twitter prevent automated link checking.
- Adjust the
wait_time
parameter inapp.py
for sites with slow dynamic content loading.
Feel free to fork this repository and make your own modifications. Contributions are welcome! Submit a pull request for review.