An open API service indexing awesome lists of open source software.

https://github.com/robertdevore/editor-scanner-for-wordpress


https://github.com/robertdevore/editor-scanner-for-wordpress

Last synced: 18 days ago
JSON representation

Awesome Lists containing this project

README

          

# WordPress Editor Scanner

A Python tool to detect which WordPress editor and page builders are being used on any WordPress website.

## Features

- 🔍 **Gutenberg Editor Detection** - Identifies block-based content
- 📝 **Classic Editor Detection** - Detects TinyMCE-based editing
- 🏗️ **Page Builder Detection** - Scans for popular page builders:
- Elementor
- WPBakery (Visual Composer)
- Beaver Builder
- Divi Builder
- Oxygen Builder
- 🎨 **Colored Output** - Easy-to-read results with green/red indicators
- 🌐 **Browser Simulation** - Uses realistic headers to avoid blocking

## Installation

### Prerequisites

Make sure you have Python 3.6+ installed on your system.

### Install Dependencies

```bash
pip install requests beautifulsoup4 colorama
```

### Download the Script

```bash
git clone
# or download editorScanner.py directly
```

## Usage

Run the script from your terminal:

```bash
python editorScanner.py
```

When prompted, enter the website URL you want to scan:

```
Enter the website URL (e.g., https://example.com): https://yoursite.com
```

### Example Output

```
🔍 Scanning https://example.com

Gutenberg Editor: YES
Classic Editor: NO
Page Builders:
- Elementor : YES
- WPBakery : NO
- Beaver Builder : NO
- Divi : NO
- Oxygen : NO
```

## How It Works

The scanner analyzes the HTML source code of a WordPress website to identify:

### Gutenberg Detection
- Searches for `wp-block` classes
- Looks for WordPress REST API endpoints (`wp-json/wp/v2`)
- Identifies block-specific CSS classes

### Classic Editor Detection
- Checks for TinyMCE editor signatures
- Looks for `admin-ajax.php` references
- Only reports positive if Gutenberg is not detected

### Page Builder Detection
- **Elementor**: Searches for `elementor` in HTML
- **WPBakery**: Looks for `vc_row` classes
- **Beaver Builder**: Identifies `fl-builder` signatures
- **Divi**: Searches for `et_pb_section` classes
- **Oxygen**: Looks for `ct-section` elements

## Requirements

- Python 3.6+
- `requests` library for HTTP requests
- `beautifulsoup4` for HTML parsing
- `colorama` for colored terminal output

## Error Handling

The script includes robust error handling for:
- Network connectivity issues
- Invalid URLs
- Timeout errors (10-second limit)
- HTTP errors (404, 500, etc.)

## Browser Simulation

The tool uses realistic browser headers to avoid being blocked:
- User-Agent: Chrome 114 on Windows 10
- Accept-Language: English (US)
- Connection: Keep-alive

## Limitations

- Only detects editors/builders that leave identifiable traces in the frontend HTML
- Some heavily cached or optimized sites may not show all signatures
- Custom or lesser-known page builders may not be detected
- Requires the website to be publicly accessible

## Contributing

Feel free to submit issues or pull requests to improve the detection accuracy or add support for additional page builders.

## License

This project is open source and available under the MIT License.