# Ayzeo GEO + SEO

Tested up to: 6.9
Stable tag: 1.1.1
License: GPLv2 or later

WordPress plugin for Ayzeo GEO + SEO. Analyze SEO and AI readiness, run AI visibility queries, and generate optimized content pages.

## Features

### 🔍 **Advanced Website Analysis**
- Complete SEO and AI readiness analysis
- Real-time scoring and recommendations
- Comprehensive insights into your website's optimization

### 🤖 **AI Visibility Queries**
- Test how often your website is referenced in AI-generated answers
- Track your AI visibility across different search queries
- Limited to 5 queries per day per project

### ✍️ **AI-Powered Content Generation**
- Generate SEO and AI-optimized content pages
- Get actionable advice and recommendations
- Create WordPress posts directly from generated content
- Limited to 3 content pages per day per project

### 📊 **Dashboard & Analytics**
- View recent analyses and AI queries
- Embedded iFrame results from Ayzeo dashboard
- Track your optimization progress over time

### 📄 **LLMS.txt Management**
- Generate and manage your site's LLMS.txt file
- Live markdown preview editor
- Auto-generate content from website analysis
- Served automatically at `/llms.txt`

### 🔗 **WordPress Integration**
- Seamless integration with WordPress admin
- Create posts/pages directly from generated content
- Store SEO metadata and optimization data
- Modern, responsive admin interface

## Installation

### Method 1: Manual Installation

1. **Download the Plugin**
   - Download or clone this repository
   - Ensure all files are in a folder named `ayzeo-geo-seo`

2. **Upload to WordPress**
   ```bash
   # Upload the entire plugin folder to your WordPress installation
   wp-content/plugins/ayzeo-geo-seo/
   ```

3. **Activate the Plugin**
   - Go to your WordPress admin dashboard
   - Navigate to **Plugins > Installed Plugins**
   - Find "Ayzeo GEO + SEO" and click **Activate**

### Method 2: Upload via WordPress Admin

1. **Zip the Plugin**
   - Create a ZIP file of the entire plugin folder
   - Name it `ayzeo-geo-seo.zip`

2. **Upload via Admin**
   - Go to **Plugins > Add New**
   - Click **Upload Plugin**
   - Choose your ZIP file and click **Install Now**
   - Click **Activate Plugin**

## Setup & Configuration

### Step 1: Create Ayzeo Account
1. Visit [ayzeo.com](https://ayzeo.com)
2. Sign up for a free account
3. Create a new project for your website

### Step 2: Generate API Token
1. In your Ayzeo dashboard, go to **Project Settings**
2. Navigate to **API Tokens**
3. Generate a new API token for your project
4. Copy the token (you'll need it for the next step)

### Step 3: Configure Plugin
1. In WordPress admin, go to **Ayzeo GEO + SEO > Settings**
2. Paste your API token in the **API Token** field
3. Click **Test Token** to verify the connection
4. Click **Save Settings**

## Usage

### Website Analysis

1. **Navigate to Dashboard**
   - Go to **Ayzeo GEO + SEO > Dashboard**

2. **Run Analysis**
   - Enter your website URL (defaults to your site's home URL)
   - Click **Run Analysis**
   - View results in the embedded iFrame or dashboard

3. **View Results**
   - Results are stored and displayed in the "Recent Analyses" section
   - Click **View Results** to see detailed analysis in a modal

### AI Visibility Queries

1. **Run AI Query**
   - In the dashboard, use the "AI Visibility Query" form
   - Enter a search query related to your industry/niche
   - Click **Run AI Query**

2. **Review Results**
   - See how often your website is cited in AI responses
   - View search results and AI-generated content
   - Track your AI visibility over time

### Content Generation

1. **Navigate to Content Generator**
   - Go to **Ayzeo GEO + SEO > Content Pages**

2. **Generate Content**
   - Enter your content topic or keywords
   - Click **Generate Content**
   - Wait for AI to create optimized content

3. **Use Generated Content**
   - **View Details**: See full content with SEO tags and advice
   - **Copy Markdown**: Copy the content to use elsewhere
   - **Create Post**: Automatically create a WordPress post

### Creating WordPress Posts

1. **From Generated Content**
   - Click **Create Post** on any generated content
   - Configure post title, status, and type
   - Choose whether to include SEO meta tags
   - Click **Create Post**

2. **Post Options**
   - **Title**: Customize the post title
   - **Status**: Choose Draft or Publish
   - **Type**: Select Post or Page
   - **SEO Tags**: Include generated SEO metadata

## API Limits

- **AI Visibility Queries**: 5 per day per project
- **Content Generation**: 3 per day per project
- **Website Analysis**: No daily limit

## WordPress Compatibility

- **WordPress Version**: 5.0 or higher
- **PHP Version**: 7.4 or higher
- **Tested up to**: WordPress 6.9

## Security Features

- **Nonce Verification**: All AJAX requests use WordPress nonces
- **Capability Checks**: Proper user permission validation
- **Data Sanitization**: All inputs are sanitized and validated
- **Secure API Communication**: HTTPS-only API requests
- **Token Protection**: API tokens are securely stored

## Troubleshooting

### API Token Issues
- **Invalid Token**: Verify your token in Ayzeo dashboard
- **Connection Failed**: Check your internet connection and firewall
- **Token Expired**: Generate a new token in Ayzeo dashboard

### Plugin Conflicts
- **JavaScript Errors**: Check browser console for conflicts
- **CSS Issues**: Verify no theme conflicts with admin styles
- **AJAX Failures**: Ensure WordPress AJAX is functioning properly

### Performance Issues
- **Slow API Calls**: API requests may take 30-60 seconds
- **Memory Usage**: Large content generation may require adequate PHP memory
- **Database Space**: Plugin creates 3 additional database tables

## Support

### Documentation
- **Ayzeo Docs**: [ayzeo.com/faq](https://ayzeo.com/faq)
- **WordPress Codex**: [codex.wordpress.org](https://codex.wordpress.org)

### Contact Support
- **Email**: hello@ayzeo.com
- **Contact**: [ayzeo.com/contact](https://ayzeo.com/contact)

### Bug Reports
If you find bugs or have feature requests:
1. Check existing issues in the repository
2. Create a detailed bug report with steps to reproduce
3. Include WordPress version, PHP version, and plugin version

## Changelog

### Version 1.1.1
- Fixed a "414 Request-URI Too Large" error when saving long LLMS.txt content (e.g. after "Generate from Analysis"). The LLMS.txt form now uses `method="post"`, so content is never sent through the URL query string.

### Version 1.1.0
- Added LLMS.txt management with live preview editor and auto-generation from analysis
- Improved data sanitization and escaping throughout the plugin
- Improved nonce verification with proper sanitization
- Added external services documentation
- Updated Author URI and Plugin URI

### Version 1.0.0
- Initial release
- Basic API integration with Ayzeo platform
- Website analysis functionality
- AI visibility queries
- Content generation and WordPress integration
- Responsive admin interface
- Security implementations

## External services

This plugin connects to the [Ayzeo](https://ayzeo.com) API to provide SEO analysis, AI visibility testing, and content generation features. Ayzeo is a service provided by Fyrma.

**Service endpoint:** `https://ayzeo.com/api`

### What data is sent and when

All requests are authenticated using an API token that the site administrator configures in the plugin settings. The following data is transmitted:

- **Token validation** (when saving or testing the API token): The API token is sent to verify it is valid and to retrieve the associated project name and domain.
- **Website analysis** (when the user clicks "Run Analysis"): The URL of the page being analyzed is sent.
- **AI visibility query** (when the user clicks "Run AI Query"): The search query text entered by the user is sent.
- **Content generation** (when the user clicks "Generate Content"): The content topic or keywords entered by the user are sent.
- **Fetch analysis result** (when the user views a previous analysis): The analysis ID is sent to retrieve stored results.

No user personal data, visitor data, or tracking information is collected or transmitted. Only project-related data explicitly entered by the site administrator is sent.

- [Ayzeo Terms of Service](https://ayzeo.com/terms)
- [Ayzeo Privacy Policy](https://ayzeo.com/privacy)

## License

This plugin is licensed under the GPL v2 or later.

```
Copyright (C) 2026 Ayzeo

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
```

## Credits

- **Developed for**: Ayzeo GEO + SEO Platform
- **WordPress Integration**: Following WordPress coding standards
- **UI/UX**: Modern WordPress admin interface design
- **Security**: WordPress security best practices

---

**Ready to optimize your website for both search engines and AI models?**

[Get started with Ayzeo](https://ayzeo.com) and take your SEO to the next level!