# Edit articles
Source: https://docs.genseo.co/articles/edit-articles
Review optional Genseo drafts for clarity, structure, and on-page quality that models can cite.
## Overview
Editing is a crucial step when you use optional content publishing. This guide covers clarity, structure, flow, on-page quality for citable pages, and formatting best practices.
## The Editing Process
### Why Edit Generated Content?
Even AI-generated content benefits from human editing to:
* **Ensure accuracy**: Verify facts and information
* **Match brand voice**: Align content with your brand
* **Improve clarity**: Make content more readable and understandable
* **Improve on-page quality**: Fine-tune on-page fields
* **Add expertise**: Include your unique insights and perspective
## Editing for Clarity
Clear content is easier to read and understand, which improves user experience and readability.
### Simplify Language
* **Use simple words**: Replace complex words with simpler alternatives when possible
* **Shorten sentences**: Break long sentences into shorter, clearer ones
* **Remove jargon**: Explain technical terms or replace them with accessible language
* **Be direct**: Get to the point without unnecessary fluff
### Improve Readability
* **Use active voice**: Prefer active voice over passive voice
* **Vary sentence length**: Mix short and long sentences for rhythm
* **Use transitions**: Connect ideas with transition words and phrases
* **Break up text**: Use paragraphs, headings, and lists to break up dense text
### Check for Clarity
Ask yourself:
* Is this sentence clear and understandable?
* Does this paragraph have a clear point?
* Will readers understand this without prior knowledge?
* Is the flow logical and easy to follow?
## Editing for Structure
Well-structured content is easier to read and better for citable pages.
### Heading Structure
Ensure proper heading hierarchy:
* **H1**: Main title (one per article)
* **H2**: Major sections
* **H3**: Subsections within H2 sections
* **H4+**: Further subdivisions as needed
Maintain a logical heading hierarchy. Don't skip from H2 to H4—use H3 in between.
### Section Organization
Organize content logically:
1. **Introduction**: Hook readers and introduce the topic
2. **Main content**: Develop the topic in clear sections
3. **Conclusion**: Summarize key points and provide next steps
### Use Lists and Formatting
Break up text with:
* **Bullet points**: For lists of items or features
* **Numbered lists**: For step-by-step instructions
* **Bold text**: For emphasis on key points
* **Italic text**: For emphasis or foreign terms
* **Code blocks**: For code examples or technical terms
## Editing for Flow
Smooth flow keeps readers engaged and makes content easier to follow.
### Logical Progression
Ensure content flows logically:
* **Start broad, get specific**: Begin with general concepts, then dive into details
* **Build on previous points**: Each section should build on the previous one
* **Use transitions**: Connect ideas with transition words and phrases
* **Maintain focus**: Stay on topic and avoid tangents
### Paragraph Structure
Structure paragraphs effectively:
* **One idea per paragraph**: Each paragraph should focus on one main idea
* **Topic sentences**: Start paragraphs with clear topic sentences
* **Supporting details**: Follow topic sentences with supporting details
* **Concluding thoughts**: End paragraphs with a conclusion or transition
### Connection Between Sections
Connect sections smoothly:
* **Use transition sentences**: Bridge gaps between sections
* **Reference previous sections**: Refer back to earlier points when relevant
* **Preview coming sections**: Hint at what's coming next when helpful
## Editing for On-page quality
on-page quality for AI citations ensures your content ranks well in search results.
### Keyword Placement
Place keywords strategically:
* **Title**: Include the primary keyword in the title
* **H1**: Use the keyword in the H1 heading
* **First paragraph**: Include the keyword early in the introduction
* **Headings**: Use variations of the keyword in H2 and H3 headings
* **Body**: Use the keyword naturally throughout the content
* **Meta description**: Include the keyword in the meta description
Don't overuse keywords. Focus on natural, readable content first, then optimize for citable pages.
### Internal Linking
Add internal links strategically:
* **Link to related content**: Link to other articles on your site
* **Use descriptive anchor text**: Make anchor text descriptive and relevant
* **Link naturally**: Place links where they make sense contextually
* **Don't over-link**: Too many links can hurt readability and readability
### Meta Elements
Optimize meta elements:
* **Title tag**: Keep under 60 characters, include primary keyword
* **Meta description**: Keep under 160 characters, include keyword and call-to-action
* **Alt text**: Add descriptive alt text to images
* **URL slug**: Use a clean, keyword-rich URL slug
## Formatting Best Practices
Good formatting improves readability and user experience.
### Use Headings Effectively
* **Clear, descriptive headings**: Make headings descriptive and informative
* **Consistent style**: Use consistent heading styles throughout
* **Proper hierarchy**: Maintain proper heading hierarchy (H1 → H2 → H3)
### Format Text
* **Bold for emphasis**: Use bold to emphasize key points
* **Italic for emphasis**: Use italic for subtle emphasis or foreign terms
* **Code formatting**: Use code formatting for technical terms, code, or file names
* **Avoid over-formatting**: Don't overuse formatting—it can be distracting
### Use Lists
* **Bullet points**: For unordered lists (features, benefits, items)
* **Numbered lists**: For ordered lists (steps, instructions, sequences)
* **Parallel structure**: Keep list items parallel in structure and style
* **Consistent formatting**: Use consistent formatting for all list items
### Add Images
* **Relevant images**: Include images that support the content
* **Descriptive alt text**: Add alt text to all images for accessibility and readability
* **Proper sizing**: Ensure images are properly sized and optimized
* **Captions**: Add captions when helpful for context
## Common Editing Issues
### Content Is Too Generic
**Problem**: Content feels generic or lacks specific insights.
**Solution**:
* Add specific examples and case studies
* Include your unique insights and expertise
* Reference real-world scenarios
* Add data and statistics when relevant
### Keyword over-optimization
**Problem**: Content is over-optimized for citable pages, hurting readability.
**Solution**:
* Remove excessive keyword usage
* Focus on natural, readable content
* Use keyword variations instead of repeating the same keyword
* Prioritize user experience over keyword stuffing optimization
### Poor Structure
**Problem**: Content lacks clear structure or organization.
**Solution**:
* Add or improve headings
* Reorganize content into logical sections
* Use lists to break up dense text
* Ensure proper heading hierarchy
### Inconsistent Tone
**Problem**: Tone varies throughout the article.
**Solution**:
* Establish a consistent tone from the start
* Review the entire article for tone consistency
* Adjust sections that don't match the intended tone
* Use a style guide if available
## Best Practices
* **Edit systematically**: Review clarity, structure, flow, and readability in that order
* **Take breaks**: Step away from content before final review
* **Read aloud**: Reading aloud helps identify awkward phrasing
* **Get feedback**: Have others review your content when possible
* **Focus on users**: Prioritize user experience over keyword stuffing optimization
* **Be consistent**: Maintain consistent style and tone throughout
## Next Steps
* Learn about [publishing articles](/articles/publish-articles) to get your content live
* Explore [on-page quality for citable pages](/technical-seo/on-page-seo) for advanced optimization
* Review [site crawlability basics](/technical-seo/technical-seo-basics) for site quality context
# Generate articles
Source: https://docs.genseo.co/articles/generate-articles
Optional AI drafts in Genseo for citable on-site pages. Core product remains prompt tracking and AI visibility.
## Overview
Article generation is **optional**. Genseo's core product is [AI visibility](/product/ai-visibility). Use articles when you need long-form pages on your domain that models can cite in answers.
Genseo can generate structured articles from your keywords. This guide explains generation settings and how briefs influence output.
## How Article Generation Works
### The Generation Process
1. **Keyword analysis**: Genseo analyzes your keyword to understand search intent and topic
2. **Content research**: The system researches the topic to gather relevant information
3. **Article structure**: Genseo creates an structured structure with headings and sections
4. **Content generation**: The AI writes the article content based on your settings
5. **on-page optimization**: The article is optimized for search engines with proper keyword placement
### What Gets Generated
Each generated article includes:
* **Title**: structured title with your target keyword
* **Introduction**: Engaging introduction that hooks readers
* **Headings**: Proper H1, H2, H3 structure for citable pages
* **Content**: Comprehensive, well-structured content
* **Conclusion**: Summary and call-to-action
* **Meta description**: meta description (if configured)
## Article Briefs and Settings
Before generating an article, you can adjust settings that influence the output.
### Tone of Voice
Choose how the article should sound:
* **Professional**: Formal, authoritative tone
* **Friendly**: Conversational, approachable tone
* **Technical**: Detailed, technical language
* **Casual**: Relaxed, informal tone
Match your tone to your brand voice and target audience. For B2B audiences, professional or technical tones often work well. For B2C, friendly or casual tones may be more appropriate.
### Article Length
Control how long the article should be:
* **Short**: 500-800 words (quick reads, simple topics)
* **Medium**: 800-1,500 words (standard blog posts)
* **Long**: 1,500-2,500 words (comprehensive guides)
* **Very long**: 2,500+ words (in-depth resources)
Longer articles often perform better for citable pages, but ensure the length matches the topic. Simple topics don't need 2,500 words, while complex topics benefit from comprehensive coverage.
### Target Audience
Define who the article is for:
* **General audience**: Broad, accessible language
* **Beginners**: Simple explanations, no jargon
* **Intermediate**: Assumes some knowledge
* **Experts**: Advanced, technical content
### Content Focus
Specify what the article should emphasize:
* **Educational**: Focus on teaching and explaining
* **How-to**: Step-by-step instructions
* **Comparison**: Compare options or approaches
* **Analysis**: Deep dive into a topic
## Custom Prompts
For advanced control, you can provide custom prompts that guide the generation process.
### What Are Prompts?
Prompts are instructions that tell Genseo exactly what you want in the article. They can include:
* Specific points to cover
* Structure requirements
* Style guidelines
* Examples to reference
### Example Prompts
**Basic prompt**:
```
Write a comprehensive guide to AI search visibility. Include sections on prompt tracking, citations, and site health. Use a professional tone and include practical examples.
```
**Detailed prompt**:
```
Create an article about content marketing for SaaS companies. Structure it as follows:
1. Introduction to content marketing
2. Why content marketing matters for SaaS
3. Content marketing strategies
4. Measuring success
5. Best practices
Use a friendly, conversational tone and include real-world examples from successful SaaS companies.
```
### Best Practices for Prompts
* **Be specific**: Clear, specific instructions produce better results
* **Define structure**: Outline the structure you want
* **Specify tone**: Include tone and style preferences
* **Provide examples**: Reference examples when helpful
* **Set expectations**: Clarify what the article should achieve
## Adjusting Before Confirming
Before confirming article generation, you can:
### Review the Brief
Check that your settings are correct:
1. Verify the keyword is correct
2. Review tone, length, and audience settings
3. Check custom prompts if provided
4. Ensure settings match your content strategy
### Make Adjustments
If something needs to change:
1. Adjust tone, length, or audience settings
2. Modify custom prompts
3. Change the target keyword if needed
4. Update content focus
### Preview Structure
Some plans allow you to preview the article structure before generation:
1. Review the proposed structure
2. Adjust sections if needed
3. Add or remove sections
4. Confirm when satisfied
## After Generation
Once the article is generated:
### Review the Content
1. **Read through**: Check the article for accuracy and quality
2. **Verify on-page fields**: Ensure proper keyword placement and structure
3. **Check tone**: Confirm the tone matches your brand
4. **Assess completeness**: Ensure all important points are covered
### Make Edits
Use the Genseo editor to:
* Revise content for clarity
* Adjust tone or style
* Add or remove sections
* Fix any errors
### Regenerate if Needed
If the article doesn't meet your needs:
1. Click **Regenerate**
2. Adjust settings or prompts
3. Generate a new version
4. Compare with the previous version
## Best Practices
### Before Generation
* **Choose the right keyword**: Ensure your keyword is specific and relevant
* **Set appropriate length**: Match length to the topic complexity
* **Match tone to audience**: Use a tone that resonates with your target audience
* **Provide clear prompts**: Give specific instructions for better results
### During Generation
* **Be patient**: Generation can take a few minutes for longer articles
* **Don't interrupt**: Let the generation process complete
* **Review settings**: Double-check settings before confirming
### After Generation
* **Always review**: Never publish without reviewing generated content
* **Edit as needed**: Make adjustments to match your brand and accuracy requirements
* **Verify on-page fields**: Check that on-page fields are properly implemented
* **Test readability**: Ensure the content is readable and engaging
## Common Issues
### Article Doesn't Match Expectations
**Problem**: The generated article doesn't match what you wanted.
**Solution**:
* Adjust your settings (tone, length, audience)
* Provide more detailed prompts
* Try regenerating with different settings
* Edit the article after generation
### Article Is Too Generic
**Problem**: The article feels generic or lacks specific insights.
**Solution**:
* Add custom prompts with specific requirements
* Specify that you want unique insights or examples
* Edit the article to add your own expertise
* Consider generating multiple versions and combining the best parts
### Structure missing
**Problem**: The article lacks proper article structure.
**Solution**:
* Verify your keyword is correctly set
* Check that on-page optimization is enabled in settings
* Edit the article to add missing on-page fields
* Contact support if generation features are not working
## Next Steps
* Learn how to [edit articles](/articles/edit-articles) to refine generated content
* Explore [publishing workflows](/articles/publish-articles) to get your content live
* Review [on-page quality for citable pages](/technical-seo/on-page-seo) to improve citable pages
# Publish articles
Source: https://docs.genseo.co/articles/publish-articles
Send optional Genseo articles to Webflow, Shopify, WordPress, Wix, Framer, or webhooks from one project.
## Overview
This guide covers publishing to your connected integration (Webflow, Shopify, WordPress, Wix, Framer, or webhooks), republishing updates, previews, and common issues such as slug conflicts.
## Publishing Workflows
### Immediate Publishing
Publish articles immediately to your connected integration.
#### For Webflow
1. Open the article you want to publish
2. Click **Publish**
3. Select **Webflow** as the destination
4. Review the preview
5. Click **Confirm**
The article will be published to your Webflow CMS immediately.
#### For Shopify
1. Open the article you want to publish
2. Click **Publish**
3. Select **Shopify** as the destination
4. Review the preview
5. Click **Confirm**
The article will be published to your Shopify blog immediately.
### Scheduled Publishing
Schedule articles for future publication.
1. Open the article you want to schedule
2. Click **Schedule**
3. Select your publish date and time
4. Choose your destination (Webflow or Shopify)
5. Click **Schedule**
The article will be published automatically at the scheduled time.
Use scheduled publishing to maintain a consistent content calendar and publish during optimal times for your audience.
## Republishing Updates
When you update an article in Genseo, you need to republish it to update the live version.
### Updating Published Articles
1. Make your edits in the Genseo editor
2. Click **Update**
3. Select **Update in \[Integration]** (Webflow or Shopify)
4. Review the changes
5. Click **Confirm**
The article will be updated in your integration, overwriting the previous version.
Genseo maintains a connection between articles and published content. Updates will automatically update the correct item in your integration.
### Handling Major Updates
For major updates that change the article significantly:
1. **Review impact**: Consider if the update changes the article's core message
2. **Check on-page fields**: Ensure on-page fields (title, slug, keywords) are still appropriate
3. **Update metadata**: Update meta descriptions and other metadata if needed
4. **Test links**: Verify internal and external links still work
5. **Republish**: Republish the updated article
## Checking Live Previews
Before publishing, review how your article will appear on your site.
### Preview in Genseo
Genseo provides a preview of how your article will look:
1. Click **Preview** before publishing
2. Review the article structure and formatting
3. Check that images and links display correctly
4. Verify on-page fields are properly formatted
### Preview in Integration
After publishing, check the live version:
#### For Webflow
1. Go to your Webflow CMS
2. Find the published article
3. Click **Preview** to see how it appears on your site
4. Check the live URL to see the public version
#### For Shopify
1. Go to your Shopify admin
2. Navigate to **Online Store** → **Blog posts**
3. Find the published article
4. Click **View** to see how it appears on your storefront
### Common Preview Issues
**Images not displaying**:
* Check that image URLs are correct
* Verify images are accessible
* Ensure images meet integration requirements
**Formatting issues**:
* Review HTML formatting in the integration
* Check that your theme supports the formatting
* Adjust formatting in the integration if needed
**Links not working**:
* Verify link URLs are correct
* Check that links use proper protocols (http\:// or https\://)
* Test links in the live version
## Avoiding Slug Conflicts
URL slugs must be unique. Conflicts occur when multiple articles try to use the same slug.
### How Genseo Handles Slugs
Genseo automatically generates slugs from article titles:
1. **Convert to lowercase**: Title is converted to lowercase
2. **Replace spaces**: Spaces are replaced with hyphens
3. **Remove special characters**: Special characters are removed or converted
4. **Handle conflicts**: If a slug exists, Genseo adds a number (e.g., `article-2`)
### Preventing Slug Conflicts
* **Use unique titles**: Ensure article titles are unique
* **Check existing slugs**: Review existing articles before creating new ones
* **Customize slugs**: Manually set slugs when needed to avoid conflicts
* **Use descriptive slugs**: Make slugs descriptive and keyword-rich
### Resolving Slug Conflicts
If you encounter a slug conflict:
1. **Edit the slug**: Manually edit the slug in Genseo before publishing
2. **Update in integration**: If already published, update the slug in your integration
3. **Use redirects**: Set up redirects if you change a published article's slug
## Common Publishing Issues
### Publishing Fails
**Problem**: Article fails to publish to your integration.
**Solution**:
* Verify your integration is properly connected
* Check that you have publish permissions in your integration
* Ensure required fields are mapped correctly
* Try publishing again after a few minutes
### Article Not Visible
**Problem**: Article is published but not visible on your site.
**Solution**:
* Check that the article is set to "Published" in your integration
* Verify your integration's publishing settings
* Ensure your site theme is configured to display the content
* Check for any caching issues
### Formatting Lost
**Problem**: Article formatting is lost when published.
**Solution**:
* Review HTML formatting in your integration
* Check that your theme supports the formatting used
* Adjust formatting in your integration's editor if needed
* Verify that Genseo is sending properly formatted HTML
### Images Not Uploading
**Problem**: Images aren't uploading to your integration.
**Solution**:
* Check that images meet file size and format requirements
* Verify image URLs are accessible
* Ensure you have sufficient storage in your integration
* Try uploading images manually if needed
## Best Practices
### Before Publishing
* **Review content**: Always review articles before publishing
* **Check preview**: Use preview to see how articles will appear
* **Verify on-page fields**: Ensure on-page fields are properly configured
* **Test links**: Verify all links work correctly
### During Publishing
* **Choose the right time**: Schedule publishing for optimal times
* **Monitor publishing**: Watch for any errors during publishing
* **Check immediately**: Verify articles appear correctly after publishing
### After Publishing
* **Review live version**: Check how articles appear on your live site
* **Test functionality**: Verify links, images, and formatting work
* **Monitor performance**: Track how articles perform over time
* **Update as needed**: Make updates based on performance and feedback
## Next Steps
* Learn about [content calendar](/calendar/content-calendar) to organize your publishing schedule
* Explore [auto-publish](/calendar/auto-publish) to automate your publishing workflow
* Review [Webflow integration](/integrations/webflow) or [Shopify integration](/integrations/shopify) for integration-specific guidance
# Affiliate program
Source: https://docs.genseo.co/billing-support/affiliate-program
Genseo affiliate commissions, referral links, attribution rules, and payout timing for partners.
## Overview
Genseo's affiliate program allows you to earn commissions by referring new customers. This guide covers commission rates, payout timing, how to share referral links, and how attribution works.
## How the Affiliate Program Works
### Earning Commissions
When you refer someone to Genseo:
1. **Share your link**: Share your unique referral link with potential customers
2. **Customer signs up**: The customer signs up using your referral link
3. **Attribution**: The sign-up is attributed to your referral
4. **Commission earned**: You earn a commission when the customer subscribes
### Commission Structure
Commissions are typically calculated as a percentage of the customer's subscription revenue.
**Example**:
* Commission rate: 20%
* Customer's monthly plan: \$100/month
* Your commission: \$20/month (for as long as the customer remains subscribed)
Commission rates and structures may vary. Check your affiliate dashboard for specific commission rates and terms.
## Commission Percentage
Commission rates vary based on the affiliate program tier and customer plan.
### Standard Commission Rates
* **Starter plans**: Typically 10-15% commission
* **Professional plans**: Typically 15-20% commission
* **Enterprise plans**: Typically 20-25% commission or custom rates
Specific commission rates may vary. Check your affiliate dashboard for your specific commission rates.
### Commission Tiers
Some affiliate programs offer tiered commission rates:
* **Bronze tier**: Base commission rate
* **Silver tier**: Higher commission rate (after reaching certain referral thresholds)
* **Gold tier**: Highest commission rate (after reaching higher referral thresholds)
## Payout Timing
Commissions are paid out according to the affiliate program's payout schedule.
### Payout Schedule
* **Monthly payouts**: Commissions are paid monthly, typically 30-60 days after the customer's payment
* **Minimum payout**: There's usually a minimum payout threshold (e.g., $50 or $100)
* **Payment method**: Payouts are made via PayPal, bank transfer, or other methods
### Payout Process
1. **Accumulate commissions**: Commissions accumulate as customers subscribe and pay
2. **Reach minimum**: When you reach the minimum payout threshold, you're eligible for payout
3. **Payout processing**: Payouts are processed according to the payout schedule
4. **Payment received**: You receive payment via your selected payment method
Monitor your affiliate dashboard to track your commission earnings and payout status.
## Referral Links
Your referral link is a unique URL that tracks sign-ups attributed to you.
### Getting Your Referral Link
1. Go to **Settings** → **Affiliate** or **Referrals**
2. Find your unique referral link
3. Copy your referral link
4. Share it with potential customers
### Using Your Referral Link
Share your referral link:
* **Email**: Include your referral link in emails to potential customers
* **Social media**: Share your referral link on social media
* **Website**: Add your referral link to your website or blog
* **Direct sharing**: Share your referral link directly with potential customers
### Referral Link Format
Your referral link typically looks like:
```
https://app.genseo.co/sign-up?ref=YOUR_REFERRAL_CODE&utm_source=docs&utm_medium=documentation&utm_campaign=affiliate-program
```
Use your referral link consistently to ensure proper attribution of sign-ups.
## Attribution Rules
Attribution determines which affiliate gets credit for a referral.
### How Attribution Works
Attribution is typically based on:
* **First click**: The first referral link the customer clicks
* **Last click**: The last referral link the customer clicks before signing up
* **Cookie duration**: How long the attribution cookie lasts (typically 30-90 days)
### Attribution Window
The attribution window determines how long a referral link remains valid:
* **Standard window**: Typically 30-90 days
* **Cookie-based**: Attribution is stored in a cookie
* **Expiration**: Attribution expires after the attribution window
### Multiple Referrals
If a customer clicks multiple referral links:
* **First click wins**: The first referral link typically gets attribution
* **Last click wins**: Some programs use last-click attribution
* **Check program rules**: Review the affiliate program rules for specific attribution rules
## Tracking Your Referrals
### Affiliate Dashboard
Monitor your referrals and commissions:
1. Go to **Settings** → **Affiliate** or **Referrals**
2. View your affiliate dashboard
3. Track:
* Number of referrals
* Commission earnings
* Payout status
* Referral links performance
### Key Metrics
Track these metrics:
* **Total referrals**: Number of customers who signed up using your link
* **Active referrals**: Number of customers currently subscribed
* **Total commissions**: Total commissions earned
* **Pending payouts**: Commissions pending payout
* **Paid out**: Commissions already paid out
## Best Practices
### Sharing Your Link
* **Be authentic**: Only share your link with people who would genuinely benefit from Genseo
* **Provide value**: Explain why Genseo is valuable, not just share the link
* **Use multiple channels**: Share your link across multiple channels (email, social media, website)
* **Track performance**: Monitor which channels and methods work best
### Building Referrals
* **Create content**: Create content about Genseo and include your referral link
* **Share experiences**: Share your experiences using Genseo
* **Provide tutorials**: Create tutorials or guides that include your referral link
* **Engage communities**: Engage in relevant communities and share your link when appropriate
### Managing Your Program
* **Monitor dashboard**: Regularly check your affiliate dashboard
* **Track performance**: Monitor which referral methods work best
* **Optimize strategy**: Adjust your referral strategy based on performance
* **Stay compliant**: Ensure you comply with affiliate program rules and terms
## Common Questions
### How long does attribution last?
Attribution typically lasts 30-90 days, depending on the affiliate program. Check your affiliate dashboard for specific attribution window details.
### Can I refer myself?
Self-referrals are typically not allowed and may result in account suspension. Only refer genuine customers.
### What happens if a customer cancels?
If a customer cancels, you typically stop earning commissions for that customer. Commission policies may vary, so check your affiliate program terms.
### How do I get paid?
Payouts are typically made monthly via PayPal, bank transfer, or other methods. You must reach the minimum payout threshold to receive payment.
## Next Steps
* Learn about [managing billing](/billing-support/manage-billing-invoices) to understand your account
* Explore [contacting support](/billing-support/contact-support) for affiliate program questions
* Review [plans and limits](/billing-support/plans-limits-upgrades) to understand Genseo's offerings
# Cancel subscription
Source: https://docs.genseo.co/billing-support/cancel-subscription
Cancel Genseo at period end, what stays active until then, and how to reactivate your account.
## Overview
This guide covers how to cancel your Genseo subscription, when the cancellation takes effect, and how to reactivate your account if you change your mind.
## Canceling Your Subscription
### Step 1: Access Billing Settings
1. Log in to your Genseo account
2. Go to **Settings** → **Billing**
3. Navigate to the **Subscription** section
### Step 2: Initiate Cancellation
1. Click **Cancel Subscription** or **Manage Subscription**
2. Review the cancellation information
3. Confirm that you want to cancel
### Step 3: Confirm Cancellation
1. You may be asked to provide a reason for canceling (optional)
2. Review the cancellation terms
3. Confirm the cancellation
Cancellation takes effect at the end of your current billing period. You'll continue to have access until then.
## Effective-at-Period-End Policy
Genseo uses an effective-at-period-end cancellation policy.
### How It Works
When you cancel your subscription:
* **Immediate effect**: Cancellation is processed immediately
* **Access continues**: You continue to have access until the end of your current billing period
* **No immediate refund**: You're not refunded for the remainder of your billing period
* **Automatic cancellation**: Your subscription automatically cancels at the end of your billing period
### Example Scenario
**Current situation**:
* Billing cycle: Monthly (resets on the 15th)
* Today's date: January 5th
* Next billing date: January 15th
**After cancellation**:
* Cancellation processed: January 5th
* Access continues until: January 15th
* Subscription ends: January 15th
* No access after: January 15th
### What Happens at the End of Your Billing Period
When your billing period ends:
1. **Subscription ends**: Your subscription is canceled
2. **Access revoked**: You lose access to paid features
3. **Data retained**: Your data is retained for a period (check data retention policy)
4. **No further charges**: You're not charged for future billing periods
## What Happens After Cancellation
### Immediate Effects
* **Cancellation confirmed**: You receive a confirmation of cancellation
* **Access continues**: You continue to have access until the end of your billing period
* **No new charges**: You won't be charged for future billing periods
### At the End of Your Billing Period
* **Access ends**: You lose access to paid features
* **Data access**: You may lose access to your data (check data retention policy)
* **Export data**: Consider exporting your data before cancellation takes effect
### Data Retention
Genseo retains your data for a period after cancellation:
* **Retention period**: Check Genseo's data retention policy for specific details
* **Data export**: Export your data before cancellation takes effect if needed
* **Data deletion**: Data may be deleted after the retention period
## Reactivating Your Subscription
If you change your mind, you can reactivate your subscription.
### Before Cancellation Takes Effect
If you cancel but want to reactivate before the end of your billing period:
1. Go to **Settings** → **Billing**
2. Click **Reactivate Subscription** or **Restore Subscription**
3. Confirm reactivation
4. Your subscription is immediately reactivated
### After Cancellation Takes Effect
If your subscription has already been canceled:
1. Log in to your Genseo account
2. Go to **Settings** → **Billing**
3. Click **Reactivate Subscription** or **Restore Subscription**
4. Select your plan and payment method
5. Confirm reactivation
6. Your subscription is reactivated, and you're charged immediately
Reactivating after cancellation may require setting up a new payment method if your previous one was removed.
## Before You Cancel
Consider these factors before canceling:
### Export Your Data
* **Export articles**: Export your articles and content
* **Export keywords**: Export your keyword lists
* **Export settings**: Export your settings and configurations
* **Save invoices**: Download and save your invoices
### Understand Impact
* **Loss of access**: You'll lose access to paid features
* **Data retention**: Understand how long your data will be retained
* **Reactivation**: Know that you can reactivate if you change your mind
### Alternatives to Cancellation
Consider alternatives before canceling:
* **Downgrade plan**: Downgrade to a lower-tier plan instead of canceling
* **Pause subscription**: Check if pausing is an option
* **Adjust usage**: Adjust your usage to fit your current plan
* **Contact support**: Contact support to discuss your needs
## Best Practices
### Before Canceling
* **Export data**: Export your data before canceling
* **Review usage**: Review your usage to understand what you'll lose
* **Consider alternatives**: Consider downgrading or pausing instead
* **Contact support**: Contact support if you have questions or concerns
### After Canceling
* **Monitor access**: Monitor when your access will end
* **Export data**: Export any remaining data before access ends
* **Save information**: Save important information and invoices
* **Stay informed**: Stay informed about Genseo updates in case you want to return
## Common Questions
### Can I get a refund if I cancel?
Refund policies vary. Typically, cancellations are effective at the end of your billing period, and you're not refunded for the remainder of your current billing period. Contact support for specific refund policies.
### What happens to my articles after I cancel?
Your articles may be retained for a period after cancellation, but you'll lose access to them. Export your articles before cancellation takes effect if you want to keep them.
### Can I cancel immediately?
Cancellation is processed immediately, but access continues until the end of your current billing period. You're not refunded for the remainder of your billing period.
### How do I reactivate after canceling?
Go to **Settings** → **Billing** → **Reactivate Subscription** to reactivate your subscription. You may need to set up a new payment method.
## Next Steps
* Learn about [managing billing](/billing-support/manage-billing-invoices) to update payment methods
* Explore [contacting support](/billing-support/contact-support) if you have questions about canceling
* Review [plans and limits](/billing-support/plans-limits-upgrades) to understand your subscription
# Contact support
Source: https://docs.genseo.co/billing-support/contact-support
Reach Genseo support by chat or email, availability, and what to include for faster help.
## Overview
Genseo offers multiple support channels to help you with questions, issues, and feedback. This guide covers how to access chat support, email support, and what to expect regarding response times.
## Chat Support
Chat support provides real-time assistance for quick questions and issues.
### Accessing Chat Support
1. **In-app chat**: Look for the chat icon in the Genseo app (usually in the bottom right corner)
2. **Click to open**: Click the chat icon to open the chat window
3. **Start conversation**: Type your question or issue and send your message
4. **Wait for response**: Wait for a support agent to respond
Chat support is typically available during business hours. Check Genseo's support hours for specific availability.
### When to Use Chat Support
Chat support is best for:
* **Quick questions**: Simple questions that need quick answers
* **Technical issues**: Immediate technical problems that need resolution
* **Account issues**: Account-related questions or problems
* **Billing questions**: Quick billing or subscription questions
### Chat Support Best Practices
* **Be specific**: Provide specific details about your question or issue
* **Include context**: Include relevant context (error messages, steps to reproduce, etc.)
* **Be patient**: Wait for a response—support agents may be helping multiple customers
* **Follow up**: Follow up if you don't receive a response within expected timeframes
## Email Support
Email support is available for more detailed questions and issues.
### Sending an Email
1. **Find email address**: Find Genseo's support email address (typically [support@genseo.co](mailto:support@genseo.co) or similar)
2. **Compose email**: Write a detailed email with your question or issue
3. **Include details**: Include relevant details (account information, error messages, steps to reproduce, etc.)
4. **Send email**: Send your email and wait for a response
### When to Use Email Support
Email support is best for:
* **Detailed questions**: Complex questions that require detailed explanations
* **Feature requests**: Suggestions for new features or improvements
* **Account issues**: Account-related issues that need detailed investigation
* **Billing disputes**: Billing or payment issues that need review
### Email Support Best Practices
* **Use clear subject lines**: Use descriptive subject lines that summarize your question or issue
* **Provide context**: Include relevant context and details in your email
* **Include screenshots**: Attach screenshots or screen recordings if they help explain your issue
* **Be patient**: Allow time for support to investigate and respond
## Response Times
Response times vary based on support channel and issue complexity.
### Chat Support Response Times
* **Typical response**: Usually within a few minutes to an hour during business hours
* **Business hours**: Faster responses during business hours
* **After hours**: Slower responses outside business hours
* **Complex issues**: May take longer for complex issues that require investigation
### Email Support Response Times
* **Typical response**: Usually within 24-48 hours
* **Business days**: Faster responses on business days
* **Weekends/holidays**: Slower responses on weekends and holidays
* **Complex issues**: May take longer for complex issues that require investigation
Response times may vary based on support volume and issue complexity. Check Genseo's support page for current response time estimates.
## Getting Help Faster
### Provide Detailed Information
Help support help you faster by providing:
* **Account information**: Your account email or username
* **Error messages**: Exact error messages you're seeing
* **Steps to reproduce**: Step-by-step instructions to reproduce the issue
* **Screenshots**: Screenshots or screen recordings of the issue
* **Browser/device info**: Browser and device information if relevant
### Check Documentation First
Before contacting support:
1. **Search documentation**: Search the documentation for answers to your question
2. **Check FAQs**: Review frequently asked questions
3. **Search knowledge base**: Search the knowledge base for similar issues
4. **Review guides**: Review relevant guides and tutorials
### Use the Right Channel
Choose the right support channel:
* **Chat for quick questions**: Use chat for quick questions that need immediate answers
* **Email for complex issues**: Use email for complex issues that need detailed investigation
* **Documentation for common questions**: Check documentation for common questions before contacting support
## Support Hours
Support availability varies by channel and plan.
### Standard Support Hours
* **Chat support**: Typically available during business hours (e.g., 9 AM - 5 PM, Monday-Friday)
* **Email support**: Available 24/7, with responses during business hours
* **Response times**: Faster responses during business hours
### Priority Support
Some plans include priority support:
* **Faster responses**: Priority support typically receives faster responses
* **Extended hours**: Priority support may have extended support hours
* **Dedicated support**: Some plans include dedicated support channels
Support hours and availability may vary. Check Genseo's support page for current support hours and availability.
## Common Support Topics
### Account Issues
* **Login problems**: Issues logging into your account
* **Account settings**: Questions about account settings
* **Password reset**: Help resetting your password
* **Account access**: Issues accessing your account
### Billing Questions
* **Payment issues**: Problems with payments or billing
* **Subscription questions**: Questions about subscriptions and plans
* **Invoice requests**: Requests for invoices or billing information
* **Refund requests**: Requests for refunds
### Technical Issues
* **Integration problems**: Issues with Webflow, Shopify, or other integrations
* **Article generation**: Problems generating articles
* **Publishing issues**: Issues publishing articles
* **Performance problems**: Slow performance or errors
### Feature Questions
* **How-to questions**: Questions about how to use features
* **Feature requests**: Suggestions for new features
* **Feature availability**: Questions about feature availability
* **Best practices**: Questions about best practices
## Best Practices
### Before Contacting Support
* **Check documentation**: Search documentation for answers first
* **Gather information**: Collect relevant information (error messages, steps to reproduce, etc.)
* **Try troubleshooting**: Try basic troubleshooting steps before contacting support
* **Be specific**: Prepare specific details about your question or issue
### When Contacting Support
* **Be clear and concise**: Clearly describe your question or issue
* **Provide context**: Include relevant context and details
* **Include screenshots**: Attach screenshots or screen recordings if helpful
* **Be patient**: Allow time for support to investigate and respond
### After Contacting Support
* **Follow up if needed**: Follow up if you don't receive a response within expected timeframes
* **Provide feedback**: Provide feedback on the support experience
* **Document solutions**: Document solutions for future reference
## Common Questions
### How do I access chat support?
Look for the chat icon in the Genseo app (usually in the bottom right corner) and click it to open the chat window.
### What's the best way to get help quickly?
Use chat support for quick questions, provide detailed information, and check documentation first before contacting support.
### How long does it take to get a response?
Response times vary: chat support typically responds within minutes to an hour during business hours, while email support typically responds within 24-48 hours.
### Can I get priority support?
Priority support is available on some plans. Check your plan details or contact support to learn more about priority support options.
## Next Steps
* Learn about [managing billing](/billing-support/manage-billing-invoices) for billing-related questions
* Explore [plans and limits](/billing-support/plans-limits-upgrades) to understand your subscription
* Review [getting started](/getting-started/how-it-works) for help getting started with Genseo
# Billing and invoices
Source: https://docs.genseo.co/billing-support/manage-billing-invoices
Update Genseo payment methods, add VAT or business details, and download invoices from the app.
## Overview
This guide covers managing your billing information, including updating payment methods, adding VAT or business information, and downloading invoices.
## Updating Payment Methods
Keep your payment method up to date to avoid service interruptions.
### Adding a Payment Method
1. Go to **Settings** → **Billing**
2. Click **Add Payment Method**
3. Enter your payment information:
* Card number
* Expiration date
* CVV
* Billing address
4. Click **Save**
Use a credit or debit card that won't expire soon to avoid payment issues.
### Updating an Existing Payment Method
1. Go to **Settings** → **Billing**
2. Find your current payment method
3. Click **Edit** or **Update**
4. Enter your updated payment information
5. Click **Save**
### Setting a Default Payment Method
If you have multiple payment methods:
1. Go to **Settings** → **Billing**
2. Find the payment method you want to set as default
3. Click **Set as Default**
4. Confirm the change
### Removing a Payment Method
1. Go to **Settings** → **Billing**
2. Find the payment method you want to remove
3. Click **Remove**
4. Confirm removal
You can't remove your default payment method if it's the only one on file. Add a new payment method first, then remove the old one.
## Adding VAT or Business Information
Add VAT numbers or business information for invoicing and tax purposes.
### Adding VAT Information
1. Go to **Settings** → **Billing**
2. Click **Tax Information** or **VAT Information**
3. Enter your VAT number
4. Select your country
5. Click **Save**
VAT information is used for invoicing and tax compliance. Ensure your VAT number is correct to avoid billing issues.
### Adding Business Information
1. Go to **Settings** → **Billing**
2. Click **Business Information**
3. Enter your business details:
* Business name
* Business address
* Tax ID or EIN
* Business type
4. Click **Save**
### Updating Business Information
1. Go to **Settings** → **Billing**
2. Find your business information
3. Click **Edit**
4. Update your business details
5. Click **Save**
## Downloading Invoices
Download invoices for your records or accounting purposes.
### Viewing Invoices
1. Go to **Settings** → **Billing**
2. Click **Invoices** or **Billing History**
3. View your invoice list
4. Click on an invoice to view details
### Downloading Invoices
1. Go to **Settings** → **Billing**
2. Click **Invoices** or **Billing History**
3. Find the invoice you want to download
4. Click **Download** or **Download PDF**
5. Save the invoice to your device
### Invoice Information
Invoices typically include:
* **Invoice number**: Unique identifier for the invoice
* **Date**: Invoice date and due date
* **Amount**: Total amount charged
* **Plan details**: Details about your plan and usage
* **Payment method**: Payment method used
* **Business information**: Your business or billing information
* **VAT information**: VAT details if applicable
### Receiving Invoice Emails
You can opt to receive invoices via email:
1. Go to **Settings** → **Billing**
2. Click **Email Preferences** or **Notifications**
3. Enable **Invoice Emails**
4. Click **Save**
Invoices will be sent to your registered email address when they're generated.
## Billing History
Review your billing history to track payments and invoices.
### Viewing Billing History
1. Go to **Settings** → **Billing**
2. Click **Billing History** or **Invoices**
3. View your payment and invoice history
4. Filter or search for specific invoices or payments
### Understanding Billing History
Your billing history shows:
* **Payment dates**: When payments were made
* **Amounts**: Amounts charged for each payment
* **Invoice numbers**: Invoice numbers for each payment
* **Plan changes**: Upgrades, downgrades, or plan changes
* **Payment status**: Status of each payment (successful, failed, pending)
## Payment Issues
### Failed Payments
If a payment fails:
1. **Check payment method**: Verify your payment method is valid and has sufficient funds
2. **Update payment method**: Update your payment method if it's expired or invalid
3. **Contact support**: Contact support if the issue persists
4. **Retry payment**: Retry the payment after updating your payment method
### Payment Disputes
If you need to dispute a charge:
1. **Review invoice**: Review the invoice to understand the charge
2. **Contact support**: Contact support to discuss the charge
3. **Provide details**: Provide details about why you're disputing the charge
4. **Wait for resolution**: Wait for support to resolve the dispute
### Refunds
Refund policies vary by plan and circumstances:
1. **Review policy**: Review Genseo's refund policy
2. **Contact support**: Contact support to request a refund
3. **Provide details**: Provide details about why you're requesting a refund
4. **Wait for processing**: Wait for the refund to be processed
## Best Practices
### Payment Management
* **Keep payment method updated**: Ensure your payment method is always current
* **Monitor billing**: Regularly review your billing history
* **Save invoices**: Download and save invoices for your records
* **Set up email notifications**: Receive invoices via email for easy access
### Business Information
* **Keep information current**: Update business information when it changes
* **Verify VAT numbers**: Ensure VAT numbers are correct for tax compliance
* **Include all required information**: Provide all required business information for invoicing
### Invoice Management
* **Download regularly**: Download invoices regularly for your records
* **Organize invoices**: Keep invoices organized for accounting purposes
* **Review for accuracy**: Review invoices for accuracy and contact support if there are issues
## Common Questions
### How do I update my billing address?
Go to **Settings** → **Billing** → **Payment Methods**, then edit your payment method to update the billing address.
### Can I get invoices in a specific format?
Invoices are typically provided as PDFs. Contact support if you need invoices in a different format.
### How do I add multiple payment methods?
Go to **Settings** → **Billing** → **Payment Methods**, then click **Add Payment Method** to add additional payment methods.
### What if I need to change my business information?
Go to **Settings** → **Billing** → **Business Information**, then edit your business information and save the changes.
## Next Steps
* Learn about [plans and limits](/billing-support/plans-limits-upgrades) to understand your billing cycle
* Explore [canceling subscriptions](/billing-support/cancel-subscription) if you need to cancel
* Review [contacting support](/billing-support/contact-support) for assistance with billing questions
# Plans and limits
Source: https://docs.genseo.co/billing-support/plans-limits-upgrades
Genseo plan tiers, usage limits for visibility and articles, upgrades, and how billing cycles reset.
## Overview
Genseo offers different plans with varying article limits and features. This guide explains monthly article limits, how upgrades affect your limits, and how billing cycles work.
## Monthly Article Limits
Each plan includes a monthly article limit that determines how many articles you can generate per month.
### How Limits Work
* **Monthly reset**: Article limits reset at the beginning of each billing cycle
* **Per account**: Limits apply to your entire account, not per user
* **Unused articles**: Unused articles don't roll over to the next month
* **Overage**: Exceeding your limit may require upgrading or waiting until the next billing cycle
### Understanding Your Limit
Check your current limit and usage:
1. Go to **Settings** → **Billing**
2. View your current plan and article limit
3. Check how many articles you've used this month
4. See how many articles remain in your current billing cycle
Monitor your article usage throughout the month to avoid hitting your limit unexpectedly.
## Upgrades and Limits
Upgrading your plan increases your monthly article limit and unlocks additional features.
### How Upgrades Work
When you upgrade your plan:
1. **Immediate effect**: Your new limit takes effect immediately
2. **Prorated billing**: You may be charged a prorated amount for the remainder of your billing cycle
3. **New limit**: Your monthly article limit increases to the new plan's limit
4. **Additional features**: You gain access to additional features included in the new plan
### Upgrading Mid-Cycle
If you upgrade mid-cycle:
* **Immediate access**: You immediately gain access to the new plan's limit
* **Prorated charge**: You're charged a prorated amount for the upgrade
* **Reset date**: Your billing cycle reset date remains the same
* **Usage tracking**: Your article usage continues from your current usage
### Example Upgrade Scenario
**Current situation**:
* Plan: Starter (20 articles/month)
* Articles used: 18 articles
* Days remaining: 10 days
**After upgrade**:
* New plan: Professional (100 articles/month)
* Articles available: 100 articles (immediate)
* Prorated charge: Applied for the upgrade
* Reset date: Remains the same (10 days)
## Billing Cycles
Billing cycles determine when your article limits reset and when you're charged.
### Monthly Billing
* **Billing period**: 30 days from your signup or upgrade date
* **Reset date**: Article limits reset on your billing date
* **Charge date**: You're charged on your billing date
* **Usage tracking**: Article usage is tracked per billing cycle
### Annual Billing
* **Billing period**: 365 days from your signup or upgrade date
* **Reset date**: Article limits reset monthly (not annually)
* **Charge date**: You're charged annually on your billing date
* **Usage tracking**: Article usage is tracked per month, with limits resetting monthly
Annual billing often includes discounts compared to monthly billing. Check pricing for current offers.
## Managing Your Limits
### Monitoring Usage
Track your article usage:
1. **Dashboard**: Check your dashboard for current usage
2. **Billing settings**: View detailed usage in billing settings
3. **Notifications**: Receive notifications when approaching your limit
4. **Usage history**: Review past usage to plan future needs
### Avoiding Limit Issues
Plan your content to avoid hitting limits:
* **Monitor usage**: Regularly check your article usage
* **Plan ahead**: Schedule content to avoid exceeding limits
* **Upgrade when needed**: Upgrade before hitting your limit
* **Optimize usage**: Use articles efficiently to maximize value
### When You Hit Your Limit
If you exceed your monthly limit:
1. **Upgrade option**: Upgrade to a higher plan for more articles
2. **Wait for reset**: Wait until your billing cycle resets
3. **Contact support**: Contact support for custom solutions
4. **Review usage**: Review your usage to optimize future content planning
## Downgrades and Limits
Downgrading your plan reduces your monthly article limit.
### How Downgrades Work
When you downgrade your plan:
1. **Effective date**: Downgrade takes effect at the end of your current billing cycle
2. **New limit**: Your monthly article limit decreases to the new plan's limit
3. **Current usage**: Your current usage remains until the billing cycle resets
4. **Feature access**: You lose access to features not included in the new plan
### Downgrading Mid-Cycle
If you downgrade mid-cycle:
* **Current cycle**: You keep your current plan's limit until the end of the billing cycle
* **Next cycle**: The new plan's limit applies at the start of the next billing cycle
* **No refund**: You're not refunded for the remainder of the current cycle
* **Feature access**: You keep feature access until the end of the current cycle
## Best Practices
### Planning Your Usage
* **Monitor regularly**: Check your usage throughout the month
* **Plan content**: Schedule content to maximize your article limit
* **Upgrade proactively**: Upgrade before hitting your limit to avoid interruptions
* **Optimize articles**: Use articles efficiently to get the most value
### Managing Billing
* **Understand cycles**: Know when your billing cycle resets
* **Track usage**: Monitor your article usage regularly
* **Plan upgrades**: Plan upgrades based on your content needs
* **Review plans**: Regularly review your plan to ensure it meets your needs
## Common Questions
### Do unused articles roll over?
No, unused articles don't roll over to the next month. Your article limit resets at the beginning of each billing cycle.
### What happens if I exceed my limit?
If you exceed your limit, you'll need to upgrade to a higher plan or wait until your billing cycle resets. Contact support for custom solutions.
### Can I upgrade mid-cycle?
Yes, you can upgrade mid-cycle. Your new limit takes effect immediately, and you're charged a prorated amount for the upgrade.
### When does my limit reset?
Your article limit resets on your billing date, which is the same date you signed up or upgraded to your current plan.
## Next Steps
* Learn about [managing billing](/billing-support/manage-billing-invoices) to update payment methods and download invoices
* Explore [canceling subscriptions](/billing-support/cancel-subscription) if you need to cancel
* Review [contacting support](/billing-support/contact-support) for assistance with billing questions
# Auto publish
Source: https://docs.genseo.co/calendar/auto-publish
Schedule automatic publishing for optional Genseo content, pause runs, or change publish dates.
## Overview
Auto-publish allows you to schedule articles for automatic publication, so you can set up your content calendar and let Genseo handle the publishing. This guide covers setting up auto-publish, managing schedules, and pausing or rescheduling content.
## How Auto-Publish Works
Auto-publish automatically publishes articles at scheduled times without manual intervention. Once you set up a schedule, Genseo will:
1. Generate articles based on your keywords
2. Schedule them for publication
3. Automatically publish them at the scheduled time
4. Notify you when articles are published
## Setting Up Auto-Publish
### Step 1: Enable Auto-Publish
1. Go to **Settings** → **Auto-Publish**
2. Toggle **Enable Auto-Publish** to on
3. Configure your default settings:
* Publishing frequency (daily, weekly, etc.)
* Default publishing time
* Default integration (Webflow or Shopify)
### Step 2: Configure Schedule
Set up your publishing schedule:
1. **Choose frequency**: How often to publish (daily, weekly, multiple times per week)
2. **Set times**: What time of day to publish
3. **Select days**: Which days of the week to publish
4. **Choose integration**: Which integration to publish to
Start with a conservative schedule (e.g., 2-3 articles per week) and increase as you build your content pipeline.
### Step 3: Add Keywords
Add keywords that will be automatically turned into articles:
1. Go to **Keywords**
2. Add keywords you want to publish
3. Keywords will be automatically used for article generation
4. Articles will be scheduled based on your auto-publish settings
## Managing Schedules
### Changing Schedules
Update your publishing schedule:
1. Go to **Settings** → **Auto-Publish**
2. Modify your schedule settings:
* Change frequency
* Adjust publishing times
* Update which days to publish
3. Click **Save**
Changes will apply to newly scheduled articles. Existing scheduled articles will keep their current schedules.
### Individual Article Schedules
Override auto-publish schedule for specific articles:
1. Open the article you want to schedule differently
2. Click **Schedule**
3. Set a custom date and time
4. Click **Schedule**
The article will be published at your custom time instead of the auto-publish schedule.
### Bulk Scheduling
Schedule multiple articles at once:
1. Go to **Calendar**
2. Select multiple articles
3. Click **Schedule**
4. Set a schedule for all selected articles
5. Click **Confirm**
All selected articles will be scheduled accordingly.
## Pausing Auto-Publish
Temporarily stop automatic publishing without deleting scheduled articles.
### Pause Auto-Publish
1. Go to **Settings** → **Auto-Publish**
2. Toggle **Enable Auto-Publish** to off
3. Click **Save**
Auto-publish will be paused, but scheduled articles will remain scheduled. You can manually publish them or resume auto-publish later.
### What Happens When Paused
When auto-publish is paused:
* **Scheduled articles remain**: Articles already scheduled will keep their schedules
* **New articles won't auto-schedule**: New articles won't be automatically scheduled
* **Manual publishing still works**: You can still manually publish articles
* **Can resume anytime**: You can re-enable auto-publish at any time
## Rescheduling Content
Change when scheduled articles will be published.
### Reschedule Individual Articles
1. Open the article you want to reschedule
2. Click **Edit Schedule**
3. Change the publication date and time
4. Click **Save**
The article will be rescheduled to the new time.
### Reschedule Multiple Articles
1. Go to **Calendar**
2. Select multiple articles
3. Click **Reschedule**
4. Set a new schedule for all selected articles
5. Click **Confirm**
All selected articles will be rescheduled.
### Cancel Schedules
Remove schedules from articles:
1. Open the article you want to unschedule
2. Click **Cancel Schedule**
3. Confirm cancellation
The article will no longer be scheduled. You can schedule it again later or publish it manually.
## Best Practices
### Planning
* **Plan ahead**: Set up auto-publish schedules weeks or months in advance
* **Balance frequency**: Don't over-publish—maintain a consistent, sustainable schedule
* **Consider your audience**: Publish when your audience is most active
* **Monitor performance**: Track which publishing times perform best
### Management
* **Review scheduled content**: Regularly review what's scheduled to ensure quality
* **Adjust as needed**: Modify schedules based on performance and feedback
* **Maintain flexibility**: Be ready to pause or adjust schedules when needed
* **Monitor automation**: Keep an eye on auto-publish to ensure it's working correctly
### Quality Control
* **Review before publishing**: Consider reviewing articles before they're auto-published
* **Set quality standards**: Establish standards for auto-published content
* **Monitor results**: Track how auto-published articles perform
* **Adjust strategy**: Modify your strategy based on performance
## Common Issues
### Articles Not Publishing
**Problem**: Scheduled articles aren't publishing automatically.
**Solution**:
* Verify auto-publish is enabled
* Check that articles are properly scheduled
* Ensure your integration is connected and working
* Review error logs for any issues
* Contact support if the problem persists
### Wrong Publishing Times
**Problem**: Articles are publishing at the wrong times.
**Solution**:
* Check your timezone settings
* Verify your schedule settings
* Ensure your integration's timezone matches
* Review individual article schedules
### Too Many Articles Scheduled
**Problem**: Too many articles are scheduled, overwhelming your content calendar.
**Solution**:
* Reduce publishing frequency
* Pause auto-publish temporarily
* Cancel some scheduled articles
* Adjust your keyword list
### Integration Issues
**Problem**: Auto-publish fails due to integration issues.
**Solution**:
* Verify your integration is properly connected
* Check integration permissions
* Test manual publishing to verify integration works
* Contact support if integration issues persist
## Next Steps
* Learn about [content calendar](/calendar/content-calendar) to organize your publishing schedule
* Explore [publishing articles](/articles/publish-articles) for manual publishing workflows
* Review [integrations](/integrations/webflow) for integration-specific guidance
# Content calendar
Source: https://docs.genseo.co/calendar/content-calendar
Schedule optional Genseo articles, track draft and published status, and see what is coming next.
## Overview
The content calendar helps you plan, organize, and track your content publishing schedule. This guide covers the calendar interface, status indicators, and how to manage your content pipeline.
## Calendar Interface
### Viewing the Calendar
The content calendar displays your content in a calendar view:
* **Month view**: See all content scheduled for the month
* **Week view**: Focus on a specific week
* **Day view**: See detailed schedule for a single day
* **List view**: See all content in a list format
### Navigating the Calendar
* **Previous/Next**: Navigate between months, weeks, or days
* **Today**: Jump to today's date
* **Filter**: Filter content by status, integration, or keyword
* **Search**: Search for specific articles or keywords
## Status Indicators
The calendar uses status indicators to show the state of each article.
### Status Types
#### Draft
Articles that haven't been generated yet or are in progress.
**Indicator**: Gray or outlined icon
**Actions available**:
* Generate article
* Edit keyword
* Delete keyword
#### Generated
Articles that have been generated but not yet published.
**Indicator**: Yellow or orange icon
**Actions available**:
* Edit article
* Publish immediately
* Schedule publishing
* Delete article
#### Scheduled
Articles that are scheduled for future publication.
**Indicator**: Blue icon
**Actions available**:
* Edit article
* Edit schedule
* Publish immediately
* Cancel schedule
#### Published
Articles that have been published.
**Indicator**: Green icon
**Actions available**:
* View article
* Edit and republish
* View analytics (if available)
#### Failed
Articles that failed to generate or publish.
**Indicator**: Red icon
**Actions available**:
* Retry generation
* Retry publishing
* Delete article
## Tracking Content
### Upcoming Content
Track content that's planned or scheduled:
1. **View scheduled articles**: See all articles scheduled for future dates
2. **Check deadlines**: Monitor upcoming publication dates
3. **Review status**: Ensure articles are on track to be published
4. **Adjust schedule**: Reschedule articles as needed
### Completed Content
Track content that's been published:
1. **View published articles**: See all published articles
2. **Review performance**: Check how articles are performing (if analytics are available)
3. **Monitor updates**: Track which articles have been updated
4. **Analyze results**: Review which content performs best
### Content Pipeline
Manage your content pipeline:
1. **Plan ahead**: Schedule content weeks or months in advance
2. **Balance workload**: Distribute content creation evenly
3. **Track progress**: Monitor how many articles are in each status
4. **Identify gaps**: Find periods with no scheduled content
## Managing Content in the Calendar
### Adding Content
Add new content to your calendar:
1. **Add keyword**: Add a keyword that will become an article
2. **Generate article**: Generate an article from a keyword
3. **Schedule publishing**: Schedule when the article will be published
### Editing Content
Edit content from the calendar:
1. **Click on article**: Click on an article in the calendar
2. **Edit article**: Make changes to the article content
3. **Edit schedule**: Change when the article will be published
4. **Update status**: Change the article status if needed
### Rescheduling Content
Change when content will be published:
1. **Select article**: Click on the article you want to reschedule
2. **Edit schedule**: Change the publication date and time
3. **Save changes**: Confirm the new schedule
### Deleting Content
Remove content from your calendar:
1. **Select article**: Click on the article you want to delete
2. **Delete**: Confirm deletion
3. **Verify removal**: Ensure the article is removed from the calendar
## Best Practices
### Planning
* **Plan ahead**: Schedule content weeks or months in advance
* **Maintain consistency**: Publish content regularly
* **Balance topics**: Mix different topics to avoid repetition
* **Consider seasonality**: Plan content around relevant seasons or events
### Tracking
* **Monitor status**: Regularly check the status of your content
* **Track progress**: Monitor how many articles are in each stage
* **Identify issues**: Quickly identify and resolve any problems
* **Review performance**: Analyze which content performs best
### Organization
* **Use filters**: Use filters to focus on specific content
* **Group by topic**: Organize content by topic or keyword cluster
* **Color code**: Use status indicators to quickly identify content state
* **Regular reviews**: Regularly review and update your calendar
## Common Issues
### Content Overlapping
**Problem**: Multiple articles scheduled for the same time.
**Solution**:
* Spread content throughout the week or month
* Adjust schedules to avoid overlaps
* Consider publishing frequency and capacity
### Missing Content
**Problem**: Gaps in your content calendar with no scheduled content.
**Solution**:
* Plan content in advance
* Use auto-publish to fill gaps
* Generate articles ahead of time
* Schedule content regularly
### Status Confusion
**Problem**: Unclear what status an article is in.
**Solution**:
* Review status indicators regularly
* Check article details for current status
* Update status manually if needed
* Contact support if status seems incorrect
## Next Steps
* Learn about [auto-publish](/calendar/auto-publish) to automate your publishing schedule
* Explore [content planning](/keywords/content-planning) to organize your content strategy
* Review [publishing articles](/articles/publish-articles) for publishing workflows
# Cursor, Claude, and more
Source: https://docs.genseo.co/chatgpt/more-ai-clients
Use the same Genseo MCP endpoint in ChatGPT today and in Cursor, Claude, and Codex as clients roll out.
The Genseo **ChatGPT app** is the primary packaged experience today: OAuth, starter prompts, and reviewer-tested flows. See [Genseo in ChatGPT](/developers/chatgpt).
The same hosted MCP server powers other clients:
```text theme={null}
https://api.genseo.co/mcp
```
## Availability
| Client | Status |
| - | - |
| **ChatGPT** | Live app with OAuth |
| **Cursor** | MCP and plugin package; marketplace experience planned |
| **Claude** | Plugin and `.mcp.json` for developer install; broader marketplace planned |
| **Codex / other MCP hosts** | Remote HTTP MCP with OAuth or API key |
Until a marketplace listing is live for Cursor or Claude, use [AI Plugins](/developers/plugins) and [MCP Server](/developers/mcp) with a project-bound API key for local development, or OAuth where the host supports it.
## Same rules everywhere
1. List projects and select **one** `project_id` per chat.
2. Prefer **stored** visibility and audit reads in conversational UIs.
3. Confirm before publish, tracking runs, or audits that consume quota.
## Developers
Full wiring, CLI stdio mode, and tool list: [Developer platform](/developers/overview), [MCP tools](/developers/mcp-tools).
# Agent Autopilot
Source: https://docs.genseo.co/developers/agent-autopilot
Enable controlled autonomous Genseo workflows in one project. Requires dashboard opt-in and role checks.
Agent Autonomy is a project-level safety switch. A user must enable it in **Project → Brand → API / Developer** before an OAuth-connected agent can run write, generation, publishing, audit, Issue or Autopilot actions without individual confirmations.
## Autonomous workflow
1. List projects and select exactly one for the chat.
2. Read Site Health, open Issues, evidence and affected pages.
3. Modify the customer website through an independently authorized CMS, shop or repository connector.
4. Mark only the fixed issue/page occurrences as done.
5. Start one recheck and poll the current audit status.
6. Treat newly detected or regressed Issues as open work.
Genseo diagnoses and verifies site and content work for AI visibility. It cannot edit an arbitrary website unless the agent also has a write-capable Webflow, Shopify, WordPress, Wix, Framer or repository connection.
## Always excluded
OAuth-connected agents cannot use this connector to manage billing, users, team permissions, raw credentials, project creation, project deletion, or other destructive deletion actions. Connecting a new CMS and approving OAuth remain human actions. Project-bound API endpoints retain keyword, post and webhook removal for deliberate non-OAuth administration, but Autopilot cannot invoke those removals.
Disabling Agent Autonomy immediately blocks subsequent OAuth write operations. Read-only inspection remains available while the OAuth grant and project membership are valid.
## Limits
* 30 requests per minute and 5,000 per UTC day for each OAuth connection or API key.
* 10 write requests per minute per connection.
* 150 requests per minute and 25,000 per UTC day across a workspace.
* One Audit/Recheck start per project every ten minutes, six per project per day and 25 per workspace per day.
* Monthly plan limits for Audit pages, keyword generation and AI costs still apply.
When a limit is reached, stop and honor `Retry-After`; do not create a rapid retry loop.
# Agent guidelines
Source: https://docs.genseo.co/developers/agent-guidelines
Rules for AI agents using Genseo: project selection, reads before writes, publish confirmation, and rate limits.
Agents can be powerful Genseo users, but they must operate inside strict project and safety boundaries.
## Required startup behavior
Every agent should call `/me`, `/projects`, `genseo me`, `genseo_me`, or `genseo_projects_list` first.
Use the response to learn:
* Which projects are authorized
* Which single Project ID the user selected for this chat
* Which domain the project represents
* Whether the key is valid
Agents must never guess Project IDs or silently switch projects. Every project tool must include the selected `project_id`.
## Project boundaries
OAuth agents may list the connected account's accessible projects. They must not access unlisted projects, combine customer data, create projects, or inspect billing. A `403 project_forbidden` response is final.
## Safe writing
When writing data:
* Prefer draft creation before publish actions.
* Read a post before patching it.
* Preserve existing user content unless the user clearly asks for replacement.
* Send only intentional changes in update requests.
* Do not retry unsafe writes blindly after network failures.
## Publishing
Publishing can affect a live website. OAuth agents can publish without per-action confirmation only after the user enables Agent Autonomy for the selected project. Credentials, integrations, billing, team access, and project deletion remain human-controlled.
## Async behavior
Treat `202 Accepted` as successful queueing. Continue by polling, reading the affected resource later, or telling the user generation is running.
## Retry behavior
* Treat `403` errors as final.
* Treat `429` errors as final until `Retry-After` has elapsed, then use exponential backoff.
* Retry temporary `5xx` errors carefully.
* Do not retry validation errors without changing the request.
* Do not retry publish calls blindly.
## Integration readiness
Before publishing, check integrations. If the API returns `integration_not_configured` or `mapping_required`, guide the user to configure the integration or save the missing mapping first.
# API keys
Source: https://docs.genseo.co/developers/api-keys
Create Genseo project API keys (gs_live_) for the Public API, CLI, and local MCP. One key, one project.
API keys are created inside the Genseo app and are always bound to one project. A key for one project cannot access another project, even when both projects are in the same workspace.
For a hosted connector that must let an agency select among multiple customer projects, use [OAuth](/developers/oauth). OAuth is account-bound, lists accessible projects, and still requires an explicit `project_id` on every project operation.
## Where to find API keys
Open the Genseo app and go to:
```text theme={null}
Project → Brand → API / Developer
```
The page shows the values a developer, CLI, or agent needs:
* **API key**: the secret token used for authentication
* **Project ID**: the only project this key can access
* **API base URL**: `https://api.genseo.co/v1`
## Create a key
1. Enter a clear key name, for example `Claude agent`, `Production CLI`, or `Zapier automation`.
2. Click **Create API key**.
3. Copy the full secret immediately.
The full secret is shown after creation. Store it in a password manager or secret manager before leaving the page.
## Key format
New keys use the `gs_live_` prefix:
```text theme={null}
gs_live_...
```
The UI may show a shortened version such as:
```text theme={null}
gs_live_Vy_kAzgxl4rg***...
```
Use the copy button to copy the full key when it is available in the app. Do not type keys manually.
## Naming rules
API key names are required. Empty names are rejected.
Names must be unique inside the same project. If a key named `CLI` already exists, create a different name such as `CLI production` or revoke the old key first.
## Scopes
Grant only the scopes required by the automation:
| Area | Read scopes | Write scopes |
| - | - | - |
| Projects | `projects:read` | `projects:write` |
| Audits and pages | `audits:read`, `pages:read` | `audits:write` |
| Issues | `issues:read` | `issues:write` |
| Opportunities | `opportunities:read` | `opportunities:write` |
| Keywords | `keywords:read` | `keywords:write`, `keywords:generate` |
| Posts | `posts:read` | `posts:write`, `posts:generate`, `posts:publish` |
| Products | `products:read` | `products:write` |
| Competitors, FAQs and CTAs | `brand-data:read` | `brand-data:write` |
| Autopilot | `autopilot:read` | `autopilot:write` |
| Integrations and webhooks | `integrations:read` | `integrations:write`, `webhooks:write` |
An API key never receives access to billing, administration, teams, account management, project creation or deletion, uploads, or raw credentials.
## Delete or revoke a key
Deleting a key revokes it immediately. Any CLI, MCP server, agent, or integration using that key will stop working.
Recommended replacement flow:
1. Create a new key.
2. Update the client, environment variable, or secret manager.
3. Test the new key with `GET /me` or `genseo me`.
4. Delete the old key.
## Safe storage
Do:
* Store keys in a secret manager, `.env` file outside version control, or your MCP client's encrypted environment storage.
* Use separate keys for production, local development, and each agent when possible.
* Revoke keys you no longer use.
Do not:
* Commit keys to Git.
* Put keys in frontend code.
* Put keys in URLs.
* Share keys in screenshots or support chats.
* Log full keys in your own application.
## MCP and plugin clients
For local Claude, Codex, Cursor, and other MCP clients, store the key in an environment variable named `GENSEO_API_KEY` or in the client's encrypted secret storage.
See [MCP Server](/developers/mcp) for client-specific configuration and [AI Plugins](/developers/plugins) for the shared Claude and Codex plugin package.
# ChatGPT app
Source: https://docs.genseo.co/developers/chatgpt
Install Genseo in ChatGPT with OAuth. Read AI visibility, site health, and drafts for one project per chat.
The Genseo ChatGPT app connects your Genseo account to ChatGPT through the hosted MCP endpoint. You sign in with OAuth, pick one project per chat, and use natural language to read **AI visibility** (prompts, trends, competitors, citations), **site health** and issues, or create drafts when your role and Agent Autonomy settings allow.
Cursor and Claude will use the same MCP endpoint as marketplace support expands. See [More AI clients](/chatgpt/more-ai-clients).
## Who this is for
* Marketers and founders who want Genseo inside ChatGPT without copying API keys.
* Teams already using Genseo who want quick summaries of audits, issues, visibility, and posts.
Developers building custom backends should use the [Public API](/developers/public-api) or [MCP server](/developers/mcp) directly.
## Connect in ChatGPT
1. Open ChatGPT and add a remote MCP connection (Developer mode or Apps, depending on your account).
2. Use this endpoint:
```text theme={null}
https://api.genseo.co/mcp
```
3. Complete browser sign-in to Genseo and approve the requested access.
4. In chat, ask: `List my accessible Genseo projects and ask which one to use.`
5. Choose one project. Every later action uses that project's ID.
Connection details and token behavior are documented under [OAuth connection](/developers/oauth).
## What you can ask
| Area | Examples |
| - | - |
| AI visibility | Visibility trend, active prompts, competitors, cited sources (stored data) |
| Site health | Health summary, open issues by severity, audit status |
| Content | List posts, create a draft, generate content, publish after you confirm |
| Keywords | List, add, or generate keyword ideas for the selected project |
Starter prompts ship with the public plugin package and match these flows.
## Rules the app follows
1. **One project per chat**: The assistant lists projects, you select one, and it sends that `project_id` on every project tool.
2. **No silent publish**: Publishing goes through your configured CMS integration. The assistant should confirm unless you have enabled autonomous publishing for that project.
3. **No account admin**: OAuth does not expose billing, team management, project creation, or project deletion.
4. **Read-only viewers**: Viewer roles cannot mutate data.
## What the app does not do
* Change subscription or billing.
* Delete projects or bypass Genseo role checks.
* Store your Genseo password inside ChatGPT (OAuth tokens only, revocable in Genseo under **Project → Brand → API / Developer → OAuth connector access**).
## Build your own client
Same endpoint and tools power Claude, Cursor, Codex, and other MCP clients. See [MCP Server](/developers/mcp), [AI Plugins](/developers/plugins), and [MCP tool reference](/developers/mcp-tools).
## Support and policies
* [Developer integrations privacy](/developers/plugin-privacy)
* [Privacy policy](https://www.genseo.co/legal/privacy-policy?utm_source=docs\&utm_medium=documentation\&utm_campaign=legal-privacy)
* [Terms](https://www.genseo.co/legal/terms?utm_source=docs\&utm_medium=documentation\&utm_campaign=legal-terms)
* Email: `support@genseo.co`
Sign up free, connect your site, then add Genseo in ChatGPT.
## Frequently asked questions
### How do I connect Genseo to ChatGPT?
Add remote MCP `https://api.genseo.co/mcp`, complete Genseo OAuth sign-in, then ask the assistant to list your projects and choose one for the conversation.
### What can I ask the Genseo ChatGPT app?
Stored AI visibility (trends, prompts, competitors, citations), site health and open site issues, post lists, drafts, and keyword ideas for the selected project. Publishing requires confirmation unless autonomous publishing is enabled for that project.
### Does the ChatGPT app work with Cursor or Claude?
The ChatGPT listing is for OpenAI's product today. Cursor and Claude connect to the same MCP endpoint; see [Cursor, Claude, and more](/chatgpt/more-ai-clients).
### Can ChatGPT change my Genseo billing or delete projects?
No. OAuth tools exclude billing, team admin, project creation, and project deletion.
# CLI
Source: https://docs.genseo.co/developers/cli
Install @genseo/cli for login, scripts, Public API calls, and a local stdio MCP bridge to Genseo.
The Genseo CLI is distributed as the public npm package `@genseo/cli`. It uses the same project-bound access model as the Public API.
## Install
Install globally when you want the `genseo` command available everywhere:
```bash theme={null}
npm install -g @genseo/cli
```
Or run without a global install:
```bash theme={null}
npx -y --package @genseo/cli genseo login
```
Use `npx` for quick tests, CI jobs, or machines where you do not want a global package. Use global install for everyday local use.
## Login
Browser-based login uses OAuth Device Flow:
```bash theme={null}
genseo login
```
The CLI prints a URL like this:
```text theme={null}
https://app.genseo.co/developer/device?user_code=ABCD-1234&utm_source=docs&utm_medium=documentation&utm_campaign=cli-device-auth
```
Open it, choose the project, and approve access. The CLI stores the returned project-bound key in:
```text theme={null}
~/.genseo/config.json
```
Manual API-key login is also supported:
```bash theme={null}
genseo login --api-key gs_live_...
```
You can also use environment variables:
```bash theme={null}
export GENSEO_API_BASE=https://api.genseo.co/v1
export GENSEO_API_KEY=gs_live_...
```
## Logout
```bash theme={null}
genseo logout
```
## Identity
```bash theme={null}
genseo me
```
Use this after login to confirm which project the CLI can access.
## Project
```bash theme={null}
genseo project get
```
The CLI intentionally works with one authorized project at a time. It does not list all projects and it does not create projects.
## Keywords
```bash theme={null}
genseo keywords list
```
```bash theme={null}
genseo keywords add "seo automation software"
```
```bash theme={null}
genseo keywords add "seo automation software" --volume 1200 --kd 34 --intent commercial
```
```bash theme={null}
genseo keywords generate
```
```bash theme={null}
genseo keywords metrics "seo automation software"
```
## Posts
```bash theme={null}
genseo posts list
```
```bash theme={null}
genseo posts create --title "AI visibility workflow"
```
```bash theme={null}
genseo posts create --title "AI visibility workflow" --keyword-id keyword_123
```
```bash theme={null}
genseo posts get post_123
```
```bash theme={null}
genseo posts update post_123 --title "Updated title" --status draft
```
```bash theme={null}
genseo posts generate post_123
```
```bash theme={null}
genseo posts publish post_123
```
Publishing requires a configured integration. Ask the user before publishing unless autonomous publishing is explicitly enabled.
## Integrations
```bash theme={null}
genseo integrations list
```
```bash theme={null}
genseo integrations fields webflow
```
```bash theme={null}
genseo integrations connect-url webflow
```
```bash theme={null}
genseo integrations mapping webflow --connection-id connection_123 --site-id site_123 --collection-id collection_123 --field-map-json '{"title":"name","content":"body"}'
```
## Webhooks
```bash theme={null}
genseo webhooks list
```
```bash theme={null}
genseo webhooks create --target-url https://example.com/hook --event post.published
```
```bash theme={null}
genseo webhooks delete webhook_123
```
## Output
Most commands return JSON. Async generation commands may return accepted responses while work continues in Genseo.
# API errors
Source: https://docs.genseo.co/developers/errors
Genseo Public API and MCP error codes, rate limits, and safe retry behavior for agents and backends.
Genseo returns stable error codes so API clients, CLIs, and agents can respond predictably.
## Error response shape
```json theme={null}
{
"error": {
"code": "project_forbidden",
"message": "This API key cannot access the requested project."
}
}
```
## Codes
| Code | Meaning | Retry behavior |
| - | - | - |
| `invalid_api_key` | Missing, malformed, or unknown project API key | Do not retry without a new key |
| `invalid_oauth_token` | The token is not a verified Genseo MCP token, has the wrong audience, or expired | Reauthorize or refresh; do not use a browser session token |
| `key_revoked` | The key was deleted or revoked | Do not retry; create a new key |
| `key_expired` | The key has expired | Do not retry; create a new key |
| `insufficient_scope` | The key cannot perform the requested action | Do not retry without changing access |
| `project_forbidden` | The request targets a different project | Final; do not retry |
| `project_required` | A project operation omitted `project_id` | Select one accessible project and retry once |
| `resource_not_found` | The resource is missing or belongs to another project | Do not assume it exists elsewhere |
| `validation_error` | Request body or parameters are invalid | Fix the request before retrying |
| `agent_autonomy_required` | An OAuth agent attempted a write while Agent Autonomy is disabled | Ask the user to enable it in the dashboard; do not retry automatically |
| `action_not_available` | An agent attempted an excluded action such as destructive deletion | Perform the action manually in Genseo if intended |
| `rate_limit_exceeded` | A credential, workspace, Audit, or Recheck limit was reached | Honor `Retry-After` and retry once after the reset |
| `rate_limit_unavailable` | Distributed request protection is temporarily unavailable | Retry later; write side effects were not started |
| `usage_limit_reached` | The project has reached an internal product limit | Wait, upgrade, or ask the user |
| `audit_already_running` | The project already has an active Audit | Poll the current Audit instead of starting another |
| `generation_already_running` | A generation job is already active | Wait and read the resource later |
| `integration_not_configured` | Publishing requires a connected provider | Configure an integration first |
| `mapping_required` | Provider field mapping is missing | Save mapping before retrying |
## Agent recommendations
* Show the stable code to the user when an action fails.
* Treat authorization and project-boundary errors as final.
* Back off on rate limits.
* Never work around a project boundary by trying another ID.
* For generation conflicts, wait before checking the post or keyword state again.
## Rate-limit responses
Rate limits are reserved before crawls, AI providers, publishing, or other chargeable side effects begin. A rejected request therefore does not start that work.
```http theme={null}
HTTP/1.1 429 Too Many Requests
Retry-After: 37
RateLimit-Limit: 30
RateLimit-Remaining: 0
RateLimit-Reset: 1788892860
Content-Type: application/json
```
```json theme={null}
{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Retry after the indicated delay.",
"details": {
"retryAfter": 37,
"resetAt": "2026-09-08T18:41:00.000Z"
}
}
}
```
MCP returns the same error details in its JSON fallback so an agent can pause for `retryAfter` seconds. Add small random jitter, retry only after the stated time, and stop after repeated failures.
# MCP server
Source: https://docs.genseo.co/developers/mcp
Configure Genseo hosted MCP (api.genseo.co/mcp): Streamable HTTP, OAuth or API key, and agent tool access.
The hosted Genseo MCP server exposes allowlisted AI visibility, site health, and content tools through Streamable HTTP. ChatGPT and other marketplace clients connect with OAuth; local clients may use a project-bound API key. Start with the [Genseo ChatGPT app](/developers/chatgpt) guide if you use ChatGPT.
## Endpoint
```text theme={null}
https://api.genseo.co/mcp
```
OAuth can list all projects available to the connected account. A chat selects one project and sends its `project_id` with every later tool call. API keys continue to expose only their bound project. MCP never exposes billing, project creation, project deletion, credentials, or internal database operations.
## Before you connect
You need:
1. A Genseo account and project.
2. OAuth support in the client, or a project-bound API key from **Project → Brand → API / Developer**.
3. An MCP client that supports Streamable HTTP or a local stdio process.
Keep the key in environment or encrypted secret storage. Never place credentials in the MCP URL.
## Claude Code
Create `.mcp.json` in your plugin or project configuration:
```json theme={null}
{
"mcpServers": {
"genseo": {
"type": "http",
"url": "https://api.genseo.co/mcp",
"headers": {
"Authorization": "Bearer ${GENSEO_API_KEY}"
}
}
}
}
```
Set the key before starting Claude Code:
```bash theme={null}
export GENSEO_API_KEY="gs_live_..."
```
Open `/mcp` and verify the `genseo` connection.
## Codex
Use an environment-backed Bearer token:
```json theme={null}
{
"mcpServers": {
"genseo": {
"type": "http",
"url": "https://api.genseo.co/mcp",
"bearer_token_env_var": "GENSEO_API_KEY"
}
}
}
```
Then set the key before starting Codex:
```bash theme={null}
export GENSEO_API_KEY="gs_live_..."
```
## Other MCP clients
Configure the same Streamable HTTP endpoint and send this request header from the client's secure credential storage:
```text theme={null}
Authorization: Bearer gs_live_...
```
Clients that do not support remote HTTP MCP can use the local CLI server described below.
## Local stdio MCP
Install the Genseo CLI globally:
```bash theme={null}
npm install -g @genseo/cli
```
Configure the client to launch `genseo-mcp`:
```json theme={null}
{
"mcpServers": {
"genseo": {
"command": "genseo-mcp",
"env": {
"GENSEO_API_BASE": "https://api.genseo.co/v1",
"GENSEO_API_KEY": "${GENSEO_API_KEY}"
}
}
}
}
```
Or run without a global installation:
```json theme={null}
{
"mcpServers": {
"genseo": {
"command": "npx",
"args": ["-y", "--package", "@genseo/cli", "genseo-mcp"],
"env": {
"GENSEO_API_BASE": "https://api.genseo.co/v1",
"GENSEO_API_KEY": "${GENSEO_API_KEY}"
}
}
}
}
```
## Verify the connection
For OAuth-capable clients, add the remote endpoint and complete the browser sign-in described in [OAuth connection](/developers/oauth). Then ask the agent:
```text theme={null}
List my Genseo projects and let me select one for this chat.
```
A successful connection calls `genseo_me` or `genseo_projects_list`. Select one returned Project ID and keep it fixed for the chat.
## Available tools
| Area | Read tools | Write tools |
| - | - | - |
| Account and project | `genseo_me`, `genseo_projects_list`, `genseo_project_get` | `genseo_project_update` |
| AI visibility | `genseo_visibility_overview`, `genseo_visibility_prompts_list`, `genseo_visibility_prompt_get`, `genseo_visibility_quota` | `genseo_visibility_prompt_create`, `genseo_visibility_prompts_create`, `genseo_visibility_prompt_archive`, `genseo_visibility_prompt_restore`, `genseo_visibility_prompt_track` |
| Audits and Issues | `genseo_audits_list`, `genseo_audit_current`, `genseo_site_health`, `genseo_pages_list`, `genseo_issues_list`, `genseo_issue_get` | `genseo_audit_start`, `genseo_audit_recheck`, `genseo_issue_update`, `genseo_issue_pages_update` |
| Opportunities | `genseo_opportunities_list`, `genseo_opportunity_get` | `genseo_opportunity_update` |
| Brand and Autopilot | `genseo_brand_list`, `genseo_autopilot_get` | `genseo_brand_create`, `genseo_autopilot_update`, `genseo_autopilot_bootstrap` |
| Keywords | `genseo_keywords_list`, `genseo_keyword_metrics` | `genseo_keywords_create`, `genseo_keywords_generate` |
| Posts | `genseo_posts_list`, `genseo_posts_get` | `genseo_posts_create_draft`, `genseo_posts_update`, `genseo_posts_generate`, `genseo_posts_publish` |
| Integrations | `genseo_integrations_list`, `genseo_integration_fields`, `genseo_integration_connect_url` | `genseo_integration_mapping_save` |
| Webhooks | `genseo_webhooks_list` | `genseo_webhooks_create`, `genseo_webhooks_delete` |
Every tool includes a human-readable title, JSON input/output schema, structured output, OAuth metadata, and safety annotations. See the complete [MCP tool reference](/developers/mcp-tools).
Removal tools are retained for project-bound API-key compatibility. OAuth-connected Autopilot calls to destructive deletion tools are rejected with `action_not_available`.
## Required agent behavior
1. Call `genseo_me` or `genseo_projects_list` first.
2. Select one returned project and include its ID in every project tool.
3. Read a post before updating it.
4. Prefer drafts before generation or publishing.
5. Check integrations before publishing.
6. Use autonomous writes only when Agent Autonomy is enabled for the selected project.
Treat authorization and project-boundary errors as final. Back off after rate limits and treat `202 Accepted` as successful queueing.
## Plugin package
For an installable package containing the MCP configuration and shared Agent Skills, use the public [Genseo MCP repository](https://github.com/Genseo-co/genseo-mcp) or follow the [AI Plugins guide](/developers/plugins).
# MCP tool reference
Source: https://docs.genseo.co/developers/mcp-tools
Reference for Genseo MCP tools: visibility, audits, issues, posts, integrations, and Autopilot with project_id rules.
Call `genseo_me` or `genseo_projects_list` first. Select one project for the chat and send its `project_id` with every project operation. Never guess or silently switch a project ID.
## Account and project
| Tool | Access | Purpose |
| - | - | - |
| `genseo_me` | read | Authorization metadata and accessible projects |
| `genseo_projects_list` | read | List projects (OAuth) or bound project (API key) |
| `genseo_project_get` | read | Read one project by `project_id` |
| `genseo_project_update` | write | Update allowlisted project settings |
## AI visibility
| Tool | Access | Purpose |
| - | - | - |
| `genseo_visibility_overview` | read | KPIs, trend, competitors, sources, setup progress |
| `genseo_visibility_prompts_list` | read | Active or archived prompts and latest metrics |
| `genseo_visibility_prompt_get` | read | One prompt with series and model responses |
| `genseo_visibility_quota` | read | Prompt quota and enabled tracking models |
| `genseo_visibility_prompt_create` | write | Create one tracked prompt (no run) |
| `genseo_visibility_prompts_create` | write | Create 1 to 50 tracked prompts (no run) |
| `genseo_visibility_prompt_archive` | write | Archive a prompt, keep history |
| `genseo_visibility_prompt_restore` | write | Restore an archived prompt |
| `genseo_visibility_prompt_track` | write | Enqueue a billable tracking run (confirm with user) |
## Audits, issues, opportunities
| Tool | Access | Purpose |
| - | - | - |
| `genseo_audits_list`, `genseo_audit_current` | read | Audit history and progress |
| `genseo_audit_start`, `genseo_audit_recheck` | write | Start crawl or recheck (async, rate limited) |
| `genseo_site_health`, `genseo_pages_list` | read | Health totals and page scores |
| `genseo_issues_list`, `genseo_issue_get` | read | Issues with evidence and pages |
| `genseo_issue_update`, `genseo_issue_pages_update` | write | Open, hide, or mark page occurrences done |
| `genseo_opportunities_list`, `genseo_opportunity_get` | read | Prioritized opportunities |
| `genseo_opportunity_update` | write | Set status open, done, or declined |
## Keywords, posts, brand
| Tool | Access | Purpose |
| - | - | - |
| `genseo_keywords_list`, `genseo_keyword_metrics` | read | Keywords and stored metrics |
| `genseo_keywords_create`, `genseo_keywords_generate`, `genseo_keyword_update`, `genseo_keyword_delete` | write | Manage keywords |
| `genseo_posts_list`, `genseo_posts_get` | read | Posts in the project |
| `genseo_posts_create_draft`, `genseo_posts_update`, `genseo_posts_generate`, `genseo_posts_publish`, `genseo_post_delete` | write | Draft, generate, publish, soft-delete |
| `genseo_brand_list`, `genseo_brand_create` | read / write | Products, competitors, FAQs, CTAs |
## Integrations, webhooks, Autopilot
| Tool | Access | Purpose |
| - | - | - |
| `genseo_integrations_list`, `genseo_integration_fields`, `genseo_integration_connect_url` | read | Readiness, fields, connect URL |
| `genseo_integration_mapping_save` | write | Save field mapping |
| `genseo_webhooks_list` | read | List webhooks |
| `genseo_webhooks_create`, `genseo_webhooks_delete` | write | Create or delete webhooks |
| `genseo_autopilot_get` | read | Autopilot config and readiness |
| `genseo_autopilot_update`, `genseo_autopilot_bootstrap` | write | Update or bootstrap Autopilot |
Every successful tool response includes machine-readable `structuredContent` and JSON text. Tool metadata describes read-only, destructive, idempotent, and open-world behavior.
OAuth-connected Autopilot calls to destructive deletion tools are rejected with `action_not_available`.
## Example: list open issues
```json theme={null}
{
"project_id": "00000000-0000-4000-8000-000000000001",
"status": "open",
"severity": "high",
"limit": 50
}
```
All IDs, domains, keys, and tokens in this documentation are placeholders.
## Related
* [Genseo ChatGPT app](/developers/chatgpt)
* [Public API](/developers/public-api)
* [Agent guidelines](/developers/agent-guidelines)
# OAuth connection
Source: https://docs.genseo.co/developers/oauth
Sign in to Genseo MCP with OAuth 2.1 and PKCE. List projects, pick one per chat, and call allowlisted tools.
Genseo supports OAuth 2.1 with PKCE for hosted MCP connections. OAuth is the recommended connection method for the [Genseo ChatGPT app](/developers/chatgpt) and other connector marketplaces because users approve access in the browser and never copy an API key into the client.
## Connection flow
1. Add `https://api.genseo.co/mcp` as the remote MCP server.
2. Sign in to Genseo in the browser consent window.
3. Review and approve the requested access.
4. The client calls `genseo_projects_list` and asks which project this chat should use.
5. Every subsequent project tool includes that exact `project_id`.
An OAuth grant can discover every project available through the connected Genseo account. It does not combine project data: membership and project access are checked again for every operation.
## OAuth metadata
Protected Resource Metadata is available at:
```text theme={null}
https://api.genseo.co/.well-known/oauth-protected-resource
```
The authorization server advertises authorization, token, PKCE and dynamic-client-registration endpoints through its OAuth metadata. Access tokens must target the resource `https://api.genseo.co/mcp`.
## Consent and revocation
The consent screen explains that the connector can list account projects and use Genseo tools only inside an explicitly selected project. Disconnect the connector in the AI client or open **Project → Brand → API / Developer → OAuth connector access** and choose **Disconnect**. Revocation invalidates that client's active sessions and refresh tokens; connecting again requires a new browser consent.
OAuth does not grant access to billing, team administration, credentials, project creation or project deletion. Live autonomous writes additionally require [Agent Autopilot](/developers/agent-autopilot) to be enabled for that project.
## API keys compared with OAuth
| Authentication | Project access | Recommended use |
| - | - | - |
| OAuth | All projects available to the signed-in account; explicit `project_id` per tool | ChatGPT and hosted connectors |
| `gs_live_` API key | Exactly one project | CLI, backend automation and local MCP clients |
The existing CLI browser Device Flow continues to create a project-bound API key and is separate from marketplace OAuth.
## Marketplace acceptance scenarios
Use placeholder accounts and IDs only. Before submission, verify these positive end-to-end scenarios:
1. A new OAuth client registers dynamically, completes PKCE S256 consent and refreshes an expired access token.
2. An agency user lists five accessible customer projects and selects one project for a chat.
3. The agent reads an Issue with evidence, fixes the page through a separate CMS connector, starts one Recheck and marks the verified occurrence done.
4. With Agent Autonomy enabled, the agent generates, schedules and publishes a post through an already connected provider.
5. Revoking and reconnecting the grant invalidates the old refresh token and produces a new working connection.
Also verify these negative scenarios:
1. An ordinary Genseo browser-session token and a token with the wrong MCP audience both receive an authentication challenge.
2. A removed workspace member cannot read the former customer's project, even with a previously valid project ID.
3. A burst above a request, write, Audit or Recheck limit receives `429` and does not start a crawl, AI request or publish action.
# Developer platform
Source: https://docs.genseo.co/developers/overview
Build on Genseo with the Public API, MCP server, and CLI. AI visibility, audits, content, and webhooks per project.
Genseo's product center is **AI search visibility (AEO/GEO)**: prompt tracking, competitors, citations. The Developer Platform exposes the same project data to your apps and agents: visibility metrics, audits, issues, opportunities, keywords, posts, webhooks, and Autopilot. Genseo is not a traditional SERP SEO rank API.
Project API keys bind to **one** project. OAuth connectors list all account projects but every call must include an explicit `project_id`.
## Choose an integration
| Integration | Best for | Start here |
| - | - | - |
| ChatGPT app | ChatGPT users (OAuth, no API key) | [Genseo ChatGPT app](/developers/chatgpt) |
| Public API | Backend apps and automation | [Public API](/developers/public-api) |
| Remote MCP | Agents, Cursor, Claude, Codex | [MCP Server](/developers/mcp) |
| OAuth | Hosted MCP sign-in | [OAuth connection](/developers/oauth) |
| CLI | Scripts, CI, local stdio MCP | [CLI](/developers/cli) |
| AI plugin | Skills plus MCP config package | [AI Plugins](/developers/plugins) |
Product guides for marketers live under the **Product** tab, starting with [AI visibility](/product/ai-visibility).
## What is included in v1
* AI visibility overview, prompts, quota, and tracked prompt management
* Public API and MCP with project-bound API keys or account-wide OAuth
* Site Audits, health, pages, Issues, evidence, and Opportunities
* Brand data and project-controlled Agent Autopilot
* Keyword listing, creation, generation, and metrics refresh
* Post listing, draft creation, reading, updating, generation, and publishing
* Integration readiness checks, field discovery, connect URLs, and field mapping
* Webhook listing, creation, and deletion
## What is intentionally not included
* Creating projects from the Public API, CLI, or MCP
* Workspace-wide API keys; account-wide access uses OAuth and current membership checks
* Usage, billing, or internal limit reporting through the Public API
* Direct database, SQL, Supabase, or internal RPC access
* Cookie-session fallback authentication
* Admin impersonation or `viewAs` behavior
## Recommended API flow
1. Connect with [OAuth](/developers/oauth), or create an API key under **Brand → API / Developer**.
2. Call `/me`, `/projects`, `genseo_me`, or `genseo_projects_list`.
3. Select exactly one returned Project ID for the chat.
4. Include that Project ID in every later project operation.
5. Create drafts before publishing.
6. Ask the user before publishing unless the user has explicitly enabled autonomous publishing.
## Base URL
```text theme={null}
https://api.genseo.co/v1
```
All v1 endpoints require a Bearer token in the `Authorization` header.
## MCP endpoint
```text theme={null}
https://api.genseo.co/mcp
```
The hosted MCP server uses Streamable HTTP. Marketplace clients use OAuth; developer installations can also use a project-bound Bearer token stored in the client's environment or secret storage.
Never place API keys in an MCP URL, source file, public repository, screenshot, or chat message.
## Open-source plugin package
The public [Genseo MCP repository](https://github.com/Genseo-co/genseo-mcp) contains the Claude and Codex plugin manifests, shared Agent Skills, and client configuration. The Genseo application and hosted MCP implementation remain separate from this distribution package.
# Developer privacy
Source: https://docs.genseo.co/developers/plugin-privacy
How Genseo processes data for the Public API, CLI, MCP server, and AI plugins. Supplements the privacy policy.
Last updated: September 8, 2026
This notice explains how Genseo processes data when you use the Genseo Public API, CLI, remote MCP server, or AI plugins for Claude, ChatGPT, Codex, and other compatible clients. It supplements the [Genseo Privacy Policy](https://www.genseo.co/legal/privacy-policy?utm_source=docs\&utm_medium=documentation\&utm_campaign=legal-privacy).
## Controller and contact
The service is provided by:
```text theme={null}
trinker media gmbh
Angelo-Eustacchio-Gasse 62
8010 Graz
Austria
```
Privacy and support requests: `support@genseo.co`
## Data processed
Developer integrations process only the data needed to authenticate the connection and perform the operation requested by the user or their AI client. This may include:
* Account, workspace, and project identifiers
* API key or OAuth authorization metadata
* Project configuration and website domain
* Accessible-project listings for an OAuth-connected account
* Site Audit history, pages, scores, Issues, evidence and Opportunities
* Keywords and keyword metrics
* Article titles, drafts, generated content, metadata, and publication status
* Publishing integration status and field mappings
* Webhook configuration
* Technical request information such as timestamps, IP addresses, client identifiers, error details, and rate-limit events
The MCP server does not request access to Claude or ChatGPT conversation history, memories, unrelated files, contacts, calendars, email, or data outside the connected Genseo account. Although OAuth can list all projects available to that account, each project operation is isolated by an explicit `project_id` and a fresh membership check.
## How data is used
Genseo processes this data to:
* Authenticate and authorize the connection
* List projects available through the connected account and enforce project and permission boundaries
* Return Audit, page, Issue, evidence, Opportunity and Autopilot information
* Return project, keyword, article, integration, and webhook information
* Create or update content when requested
* Generate keywords or article content when requested
* Publish approved content through a configured CMS integration
* Detect abuse, investigate errors, enforce rate limits, and maintain service security
* Provide support and improve reliability
Genseo does not sell personal data obtained through developer integrations.
## AI clients and instructions
The plugin repository contains only public configuration and workflow instructions. It does not contain user credentials or private Genseo application data.
Prompts and conversation context remain with the AI client unless the client sends specific values as arguments to a Genseo MCP tool. Genseo receives only the tool name and arguments required to perform that request. Rate-limit telemetry contains operational bucket type, limit, reset time and authentication type; it does not contain prompts, tool bodies, tokens, API keys or credentials.
## Authentication and permissions
Developer API keys are bound to one Genseo project and a defined set of scopes. OAuth grants belong to a user account and may list multiple projects available through that user's workspace memberships. Membership is checked again for every operation, so removing a member also removes their connector access. Users can revoke keys in Genseo at any time.
Marketplace connections use authorization-code OAuth with PKCE, refresh tokens and a dedicated MCP audience. They require browser consent and can be disconnected from the AI client or revoked in Genseo. Ordinary Genseo browser-session tokens and credentials in MCP URL query parameters are rejected.
## Service providers and external publishing
Genseo uses service providers for hosting, databases, authentication, monitoring, email, and product operations, as described in the main Genseo Privacy Policy.
When a user explicitly publishes content, Genseo sends the required article data to the CMS provider configured by that user, such as Webflow, Shopify, WordPress, Wix, or Framer. Those providers process data under their own terms and privacy policies.
## Retention and deletion
* Project content and configuration are retained while the project or account remains active, unless the user deletes them earlier.
* Revoked API keys and authorization records may be retained as necessary for security, fraud prevention, and audit purposes.
* Technical logs are retained only as long as reasonably necessary for security, troubleshooting, service reliability, and legal obligations.
* Data may remain in encrypted backups for a limited period until routine backup rotation completes.
Users can delete content in Genseo, revoke developer credentials, disconnect integrations, or request account and personal-data deletion by contacting `support@genseo.co`.
## Security
Genseo uses HTTPS for data in transit and applies access controls and project-level authorization. Users must keep API keys confidential and should grant only the scopes required for their workflow.
If a credential may have been exposed, revoke it immediately and create a replacement.
## User rights
Depending on applicable law, users may request access, correction, deletion, restriction, portability, or objection regarding their personal data. Requests can be sent to `support@genseo.co`.
For additional information about legal bases, international transfers, cookies, subprocessors, and GDPR rights, see the [Genseo Privacy Policy](https://www.genseo.co/legal/privacy-policy?utm_source=docs\&utm_medium=documentation\&utm_campaign=legal-privacy).
# AI plugins
Source: https://docs.genseo.co/developers/plugins
Install the Genseo plugin package for Claude, Codex, and Cursor with MCP config and Agent Skills.
The Genseo plugin package adds workflow instructions and a connection to the hosted MCP server. For **ChatGPT**, use the [Genseo ChatGPT app](/developers/chatgpt) with OAuth instead of copying an API key from this repo.
Public repository:
```text theme={null}
https://github.com/Genseo-co/genseo-mcp
```
Agents learn to list projects, select one project per chat, pass `project_id` on every tool, inspect evidence before site changes, and respect Agent Autonomy and rate limits.
## Package contents
| Path | Purpose |
| - | - |
| `.claude-plugin/plugin.json` | Claude plugin metadata |
| `.codex-plugin/plugin.json` | Codex plugin metadata |
| `.cursor-plugin/plugin.json` | Cursor plugin metadata |
| `.mcp.json` | Remote MCP configuration (OAuth-first) |
| `skills/genseo/SKILL.md` | Shared Genseo operating workflow |
| `skills/setup/SKILL.md` | Connection and authentication troubleshooting |
No Genseo application source code or credentials ship in this repository.
## Claude Code
```bash theme={null}
git clone https://github.com/Genseo-co/genseo-mcp.git
cd genseo-mcp
export GENSEO_API_KEY="gs_live_..."
claude --plugin-dir .
```
Open `/mcp` in Claude Code and confirm the `genseo` server is connected.
## Codex
Set a project-bound API key before launching Codex, or use the HTTP MCP block on [MCP Server](/developers/mcp):
```bash theme={null}
export GENSEO_API_KEY="gs_live_..."
```
## Cursor
Install from the Cursor plugin directory using the same repository, or add the remote MCP URL from [MCP Server](/developers/mcp). Prefer OAuth when the client supports marketplace sign-in; otherwise use a project-bound key in environment storage only.
## Authentication
| Method | Use when |
| - | - |
| OAuth | ChatGPT and other hosted connectors ([OAuth connection](/developers/oauth)) |
| `gs_live_` API key | Local Claude, Codex, Cursor, CI, and stdio MCP |
Publishing changes a live website through a configured CMS integration. Review the target post and confirm before publishing.
## Verify the connection
1. Confirm the `genseo` MCP server is connected.
2. Call `genseo_me` or `genseo_projects_list`.
3. Select one project and verify name and domain.
4. List a small set of keywords or posts.
5. Test writes with a draft, not a live publish.
## Support
* [Developer platform overview](/developers/overview)
* [Developer integrations privacy](/developers/plugin-privacy)
* [Privacy policy](https://www.genseo.co/legal/privacy-policy?utm_source=docs\&utm_medium=documentation\&utm_campaign=legal-privacy)
* Email: `support@genseo.co`
# Public API
Source: https://docs.genseo.co/developers/public-api
Genseo REST API at api.genseo.co/v1: visibility, audits, posts, webhooks. OAuth or project API keys.
The Public API exposes explicit, allowlisted Genseo operations. API keys stay project-bound; OAuth grants can list accessible projects and then operate on one explicit project per request.
## Base URL
```text theme={null}
https://api.genseo.co/v1
```
## Authentication
Send an OAuth access token or project-bound API key as a Bearer token:
```bash theme={null}
curl https://api.genseo.co/v1/me -H "Authorization: Bearer gs_live_..."
```
There is no cookie fallback. Ordinary browser-session JWTs are rejected. OAuth access tokens must target `https://api.genseo.co/mcp`.
## Project matching
Most endpoints include `projectId`. It must match the API key's project or a project available through the OAuth user's current workspace memberships.
Unauthorized project selection returns `403 project_forbidden` and must not be retried with guessed IDs.
## Endpoints
| Method | Path | Purpose |
| - | - | - |
| `GET` | `/me` | Inspect the current key and project |
| `GET` | `/projects` | List accessible projects |
| `GET` | `/project` | Get the key's project |
| `GET` | `/projects/{projectId}` | Get the matching project by ID |
| `PATCH` | `/projects/{projectId}` | Update allowlisted project settings |
| `GET` | `/projects/{projectId}/keywords` | List keywords |
| `POST` | `/projects/{projectId}/keywords` | Add a custom keyword |
| `PATCH/DELETE` | `/projects/{projectId}/keywords/{keywordId}` | Update or remove a keyword |
| `POST` | `/projects/{projectId}/keywords/generate` | Generate keyword ideas |
| `POST` | `/projects/{projectId}/keyword-metrics` | Refresh keyword metrics |
| `GET` | `/projects/{projectId}/posts` | List posts |
| `POST` | `/projects/{projectId}/posts` | Create a draft post |
| `GET` | `/projects/{projectId}/posts/{postId}` | Read one post |
| `PATCH` | `/projects/{projectId}/posts/{postId}` | Update a post |
| `DELETE` | `/projects/{projectId}/posts/{postId}` | Soft-delete a post; unavailable to OAuth Autopilot |
| `POST` | `/projects/{projectId}/posts/{postId}/generate` | Generate post content |
| `POST` | `/projects/{projectId}/posts/{postId}/publish` | Publish a post |
| `GET` | `/projects/{projectId}/integrations` | List integration status |
| `POST` | `/projects/{projectId}/integrations/{provider}/connect-url` | Create an integration connect URL |
| `GET` | `/projects/{projectId}/integrations/{provider}/fields` | List provider fields |
| `POST` | `/projects/{projectId}/integrations/{provider}/mapping` | Save provider field mapping |
| `GET` | `/projects/{projectId}/webhooks` | List webhooks |
| `POST` | `/projects/{projectId}/webhooks` | Create a webhook |
| `DELETE` | `/projects/{projectId}/webhooks/{webhookId}` | Delete a webhook |
| `GET/POST` | `/projects/{projectId}/audits` | List or start Site Audits |
| `GET` | `/projects/{projectId}/audits/current` | Read current Audit progress |
| `GET` | `/projects/{projectId}/audits/{auditId}` | Read one Audit from project history |
| `POST` | `/projects/{projectId}/audits/recheck` | Recheck applied fixes |
| `GET` | `/projects/{projectId}/site-health` | Read health summary |
| `GET` | `/projects/{projectId}/pages` | List audited pages |
| `GET` | `/projects/{projectId}/issues` | Filter Issues by status and severity |
| `GET/PATCH` | `/projects/{projectId}/issues/{issueId}` | Read, open or hide an Issue |
| `POST` | `/projects/{projectId}/issues/page-status/bulk` | Set up to 100 occurrences open/done |
| `GET` | `/projects/{projectId}/opportunities` | List prioritized Opportunities |
| `GET/PATCH` | `/projects/{projectId}/opportunities/{id}` | Read or update an Opportunity |
| `GET/POST` | `/projects/{projectId}/brand/{resource}` | Read or create brand data |
| `GET/PATCH` | `/projects/{projectId}/autopilot` | Read or update Autopilot |
| `POST` | `/projects/{projectId}/autopilot/bootstrap` | Bootstrap Autopilot |
| `GET` | `/projects/{projectId}/visibility/overview` | AI visibility KPIs, trend, competitors, sources |
| `GET` | `/projects/{projectId}/visibility/prompts` | List tracked visibility prompts |
| `GET` | `/projects/{projectId}/visibility/prompts/{promptId}` | Read one prompt and series |
| `GET` | `/projects/{projectId}/visibility/quota` | Prompt quota and enabled models |
| `POST` | `/projects/{projectId}/visibility/prompts` | Create tracked prompts without starting a run |
| `PATCH` | `/projects/{projectId}/visibility/prompts/{promptId}` | Archive or restore a prompt |
| `POST` | `/projects/{projectId}/visibility/prompts/{promptId}/track` | Enqueue a visibility tracking run |
## Identity
### `GET /me`
Returns API-key metadata and its bound project, or OAuth authorization metadata plus accessible projects. OAuth responses require explicit project selection.
```bash theme={null}
curl https://api.genseo.co/v1/me -H "Authorization: Bearer gs_live_..."
```
Example response:
```json theme={null}
{
"apiKey": {
"id": "key_123",
"name": "Claude agent",
"prefix": "gs_live_abcd",
"lastUsedAt": "2026-06-20T12:00:00.000Z"
},
"project": {
"id": "47120f69-be45-4f32-bec9-f226f45748b6",
"name": "Example GmbH",
"domain": "example.com"
}
}
```
Agents should call this endpoint before doing anything else.
## Project
### `GET /project`
Returns the project attached to the API key.
OAuth clients use `GET /projects` and then `GET /projects/{projectId}`.
### `GET /projects/{projectId}`
Returns the same project when `projectId` exactly matches the key's project.
## Keywords
### `GET /projects/{projectId}/keywords`
Lists keywords for the project.
```bash theme={null}
curl https://api.genseo.co/v1/projects/{projectId}/keywords -H "Authorization: Bearer gs_live_..."
```
### `POST /projects/{projectId}/keywords`
Adds a custom keyword.
```json theme={null}
{
"keyword": "seo automation software",
"searchVolume": 1200,
"keywordDifficulty": 34,
"intent": "commercial"
}
```
### `POST /projects/{projectId}/keywords/generate`
Starts keyword generation for the project. Generation may return `202 Accepted` when work continues asynchronously.
### `POST /projects/{projectId}/keyword-metrics`
Refreshes metrics for one or more keywords.
```json theme={null}
{
"keywords": ["seo automation software", "ai seo tool"]
}
```
## Posts
### `GET /projects/{projectId}/posts`
Lists posts for the project.
### `POST /projects/{projectId}/posts`
Creates a draft post.
```json theme={null}
{
"title": "How AI visibility automation works",
"keywordId": "keyword_123"
}
```
### `GET /projects/{projectId}/posts/{postId}`
Reads one post. The post must belong to the same project as the key.
### `PATCH /projects/{projectId}/posts/{postId}`
Updates allowlisted fields on a post.
```json theme={null}
{
"title": "Updated title",
"status": "draft"
}
```
Agents should preserve existing content when patching. Read the post first, then send only intentional changes.
### `POST /projects/{projectId}/posts/{postId}/generate`
Starts or queues content generation for a post.
### `POST /projects/{projectId}/posts/{postId}/publish`
Publishes through the project's configured integration. Agents should ask before publishing unless autonomous publishing is explicitly enabled by the user.
## Integrations
### `GET /projects/{projectId}/integrations`
Lists connected providers and readiness status.
### `POST /projects/{projectId}/integrations/{provider}/connect-url`
Creates a provider connect URL when supported. The user may still need to complete OAuth or provider authorization in the browser.
### `GET /projects/{projectId}/integrations/{provider}/fields`
Lists available provider fields for mapping.
### `POST /projects/{projectId}/integrations/{provider}/mapping`
Saves field mapping.
```json theme={null}
{
"connectionId": "connection_123",
"siteId": "site_123",
"collectionId": "collection_123",
"fieldMap": {
"title": "name",
"content": "body"
}
}
```
## Webhooks
### `GET /projects/{projectId}/webhooks`
Lists webhooks.
### `POST /projects/{projectId}/webhooks`
Creates a webhook endpoint.
```json theme={null}
{
"targetUrl": "https://example.com/genseo/webhook",
"event": "post.published"
}
```
### `DELETE /projects/{projectId}/webhooks/{webhookId}`
Deletes a webhook. The webhook must belong to the key's project.
## Pagination
List endpoints support a conservative `limit` parameter where available. Clients should prefer small pages and retry `429` responses with backoff.
## Response safety
Responses are allowlisted. The Public API does not return provider secrets, full API key hashes, internal database fields, billing internals, or workspace-wide data.
## Audit and Issue lifecycle
Audit starts return `202 Accepted`. Poll `/audits/current`; do not repeatedly start new Audits. Read an Issue's recommendation and page evidence, fix the site through an authorized CMS or repository, mark only the fixed `{issue_id,page_id}` occurrences as `done`, and run one Recheck. A later Audit can reopen a recurrence.
```json theme={null}
{
"scope": {
"type": "urls",
"urls": ["https://example.test/services"]
}
}
```
```json theme={null}
{
"status": "done",
"items": [
{
"issue_id": "00000000-0000-4000-8000-000000000002",
"page_id": "00000000-0000-4000-8000-000000000003"
}
]
}
```
## AI visibility
Visibility endpoints are project-scoped. Read overview and prompt data before starting paid tracking runs.
### `GET /projects/{projectId}/visibility/overview`
Returns KPIs, daily trend, competitors, cited sources, prompt summary, and setup progress for the requested period.
### `GET /projects/{projectId}/visibility/prompts`
Lists active or archived prompts and latest mention, citation, and sentiment metrics where available.
### `POST /projects/{projectId}/visibility/prompts/{promptId}/track`
Enqueues an external tracking run. Treat as potentially billable; confirm with the user before calling from an agent.
## Brand data and Autopilot
Set `{resource}` to `products`, `competitors`, `faqs`, or `ctas`. Brand create requests accept at most 100 items and always bind them to the path's project; IDs and project ownership cannot be supplied through the payload.
```json theme={null}
{
"items": [
{
"question": "What does the example service include?",
"answer": "Replace this placeholder with approved brand information."
}
]
}
```
Autopilot updates accept only `enabled`, `publish_interval_days`, and `publish_weekdays`. OAuth writes require Agent Autonomy to have been enabled in the Genseo dashboard.
```json theme={null}
{
"enabled": true,
"publish_interval_days": 7,
"publish_weekdays": [2, 4]
}
```
## Rate limits
| Boundary | Limit |
| - | - |
| OAuth connection or API key | 30/minute and 5,000/UTC day |
| Writes per connection | 10/minute |
| Workspace aggregate | 150/minute and 25,000/UTC day |
| Audit/Recheck per project | One/10 minutes and six/UTC day |
| Audit/Recheck per workspace | 25/UTC day |
HTTP `429` uses code `rate_limit_exceeded` and includes `Retry-After`, `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset`. Wait for `Retry-After` and then back off exponentially. Monthly plan quotas remain separate.
# How Genseo works
Source: https://docs.genseo.co/getting-started/how-it-works
Learn the AEO/GEO workflow: track prompts, read competitors and citations, fix site health, act on opportunities, and optionally publish content.
Genseo is built for **AI search visibility (AEO/GEO)**: the questions buyers ask in ChatGPT, Gemini, and Google AI Overviews, and whether your brand is mentioned, cited, and preferred over competitors. Site health keeps pages fetchable and citable. Content and CMS publishing are optional execution layers.
## 1. Create a project
Add your domain and brand in [Genseo](https://app.genseo.co?utm_source=docs\&utm_medium=documentation\&utm_campaign=how-it-works-app). One project holds prompts, visibility history, audits, opportunities, keywords, and posts.
## 2. Track prompts (core loop)
Define prompts that mirror real buyer questions. Genseo runs them on a schedule across [supported platforms](/visibility/tracking-platforms) and stores mentions, citations, sentiment, and competitor presence. See [Prompt tracking](/visibility/prompt-tracking).
## 3. Read competitors and citations
See who AI models name instead of you and which domains they cite. Use that to prioritize citable pages, positioning, and outreach. [Competitors](/visibility/competitors), [Citations and sources](/visibility/citations-and-sources).
## 4. Site health and opportunities
Crawl the site for issues that block fetchability or clarity, fix on your stack, recheck, and work through [Opportunities](/product/opportunities). [Site health](/product/site-health) summarizes scores and open issues.
## 5. Act on gaps (optional)
Turn visibility gaps into [keywords](/keywords/keyword-basics) and [articles](/articles/generate-articles), then publish via [CMS integrations](/integrations/webflow) when you need new pages models can reference.
## 6. Use ChatGPT or the API
The [ChatGPT app](/developers/chatgpt) reads stored visibility and site data (OAuth, one project per chat). [Cursor and Claude](/chatgpt/more-ai-clients) share the same MCP endpoint. Developers use the [Public API](/developers/public-api) and [MCP tools](/developers/mcp-tools).
## Who Genseo is for
* Brands and agencies focused on **AI search share**, not only blue-link rankings
* Marketing teams that need prompts, site health, and optional publishing in one project
* Founders who want **daily AEO/GEO signal** on how AI describes their category
## Next steps
* [Quick start](/getting-started/quick-start)
* [AI visibility overview](/product/ai-visibility)
* [ChatGPT app](/developers/chatgpt)
## Frequently asked questions
### Is Genseo AEO/GEO or a blog tool?
Primary loop: AI visibility (prompts, competitors, citations). Articles and CMS are optional when you need citable content on your domain.
### How does Genseo help me win in ChatGPT answers?
Genseo shows share of voice per prompt and which sources get cited. You improve through citable pages, brand presence, and site fixes; the platform measures progress on a schedule.
### Do I need developers to use Genseo?
No for the web app and ChatGPT app. Use the [Public API](/developers/public-api) and [MCP](/mcp/overview) for automation.
# Quick start
Source: https://docs.genseo.co/getting-started/quick-start
Create a Genseo project, add your first AI visibility prompts, and read scheduled tracking results in minutes.
This guide focuses on **AI visibility**, Genseo's core product. Allow about 10 minutes.
## Step 1: Create a project
1. Sign up at [app.genseo.co](https://app.genseo.co/sign-up?utm_source=docs\&utm_medium=documentation\&utm_campaign=quick-start-signup).
2. Add a project with your brand domain and basic context.
## Step 2: Add tracked prompts
1. Open **AI Visibility** (or Tracking) in the project.
2. Add prompts buyers would ask in ChatGPT or Google, for example category comparisons or "best X for Y".
3. Stay within your plan's prompt quota.
Details: [Prompt tracking](/visibility/prompt-tracking).
## Step 3: Wait for scheduled runs
Genseo tracks prompts on a recurring schedule across [ChatGPT, Gemini, and AI Overviews](/visibility/tracking-platforms). You do not need to trigger every run manually for day-to-day monitoring.
## Step 4: Review the dashboard
Check visibility KPIs, trend lines, [competitors](/visibility/competitors), and [cited sources](/visibility/citations-and-sources). Open individual prompts to see per-model results and sentiment where available.
## Step 5: Fix and improve
1. Open [Site health](/product/site-health) if you want crawl issues that affect citable pages on the same domain.
2. Use [Opportunities](/product/opportunities) for prioritized next tasks.
3. Optional: add [keywords and articles](/articles/generate-articles) or connect a [CMS](/integrations/webflow) when publishing is part of your workflow.
## Step 6: ChatGPT (optional)
Install the [Genseo ChatGPT app](/developers/chatgpt), sign in with OAuth, select one project, and ask for visibility trends or open site issues using stored data.
## Common issues
**No data yet**: New prompts need at least one completed tracking run before charts populate.
**Quota**: Prompt limits depend on your plan. See [Plans and limits](/billing-support/plans-limits-upgrades).
## Next steps
* [How Genseo works](/getting-started/how-it-works)
* [AI visibility overview](/product/ai-visibility)
* [Developer platform](/developers/overview)
## Frequently asked questions
### What is the fastest way to start with Genseo?
Create a project, add a few buyer-intent prompts in AI Visibility, wait for scheduled tracking runs, then review the overview dashboard.
### Do I need a CMS connected on day one?
No. AI visibility and site health work from your domain and prompts. Connect [Webflow, Shopify, or other CMS](/integrations/webflow) only when you want to publish articles from Genseo.
### Why do I see empty charts after adding prompts?
Charts need at least one completed tracking run. New prompts may take until the next scheduled run before data appears.
# Overview
Source: https://docs.genseo.co/index
Genseo is an AI search visibility (AEO/GEO) platform. Track prompts on ChatGPT, Gemini, and AI Overviews, plus site health, opportunities, and optional publishing.
Genseo helps brands win **AI search visibility**: how often assistants mention you, cite your pages, and name competitors on the prompts that matter. Tracking runs on a schedule; site health and opportunities turn gaps into action. Optional content and CMS publishing support execution when you need long-form pages models can cite.
## Core products
Daily prompt tracking, mentions, sentiment, competitors, and cited sources (AEO/GEO).
Add prompts, read trends, improve share of voice in AI answers.
Crawl issues and scores so pages stay fetchable and citable.
Prioritized AEO/GEO tasks tied to visibility and site gaps.
Optional articles and CMS integrations to ship citable pages.
ChatGPT today; Cursor, Claude, and other MCP clients on the same endpoint.
## Build and automate
Streamable HTTP at `api.genseo.co/mcp` for agents and custom clients.
Project-scoped REST API for visibility, audits, posts, and webhooks.
## Get started
First prompts tracked in the app in minutes.
AEO/GEO-first workflow across the platform.
Create a free Genseo account.
## Frequently asked questions
### What is Genseo?
Genseo is an **AI search visibility (AEO/GEO)** platform. It tracks prompts across ChatGPT, Gemini, and Google AI Overviews, with competitors, citations, site health, and opportunities. Optional article and CMS tools help you publish pages models can cite.
### Does Genseo replace traditional SEO tools?
No. Genseo is built for **AI answers**, not SERP rank tracking alone. Site health supports technical quality of pages you want cited in AI search.
### Which AI platforms does Genseo track?
ChatGPT, Gemini, and AI Overviews. See [Tracking platforms](/visibility/tracking-platforms).
### Can I use Genseo inside ChatGPT?
Yes. The [ChatGPT app](/developers/chatgpt) uses OAuth. Cursor and Claude use the same [MCP server](/mcp/overview) as those clients roll out.
### Where is the API documentation?
**Developers** tab: [Public API](/developers/public-api). **MCP Server** tab: apps and `https://api.genseo.co/mcp`.
# Framer integration
Source: https://docs.genseo.co/integrations/framer
Sync optional Genseo articles to a Framer CMS collection from your visibility project.
The Genseo Framer integration syncs articles from your Genseo project to a Framer CMS collection.
## Set up the integration
### 1. Open the Genseo plugin in Framer
1. Open the [Genseo plugin in the Framer Marketplace](https://www.framer.com/marketplace/plugins/genseo/).
2. Click **Open Plugin**.
3. Select the Framer project you want to connect.
### 2. Create the CMS collection
When prompted by the plugin, create the suggested CMS collection. The collection contains the fields Genseo needs when syncing articles.
### 3. Generate a Framer API key in Genseo
1. Open your Genseo project.
2. Go to **Integrations**.
3. Select **Framer**.
4. Click **Generate new API key**.
5. Copy the complete key.
Treat the Framer integration key as a secret. Do not commit it to Git, place it in frontend code, or share it in screenshots and support chats.
### 4. Connect the Framer plugin
1. Return to the Genseo plugin in Framer.
2. Paste the integration key.
3. Click **Connect**.
### 5. Sync articles
After the connection succeeds:
1. Close the plugin panel.
2. Open the connected CMS collection.
3. Click **Sync** in the Framer top bar.
Framer requires a manual sync. Open the collection and click **Sync** whenever you want to pull new or updated articles from Genseo.
## Troubleshooting
### Connection failed
* Confirm that you copied the complete integration key.
* Generate a new key in Genseo and reconnect.
* Confirm that the key belongs to the intended Genseo project.
### Articles do not appear
* Confirm that the correct Framer project and CMS collection are open.
* Check that the articles are ready to publish in Genseo.
* Click **Sync** again after reconnecting the plugin.
### Collection not found
* Confirm that you created the suggested collection during setup.
* Check that you opened the same Framer project used during connection.
* Create a new collection and reconnect if the original collection was deleted.
## Best practices
* Test the connection with one article before syncing a larger batch.
* Keep the CMS collection structure stable after connecting it.
* Verify the synced title, slug, content, image, and metadata before publishing the Framer site.
* Rotate the integration key if it was exposed or shared accidentally.
## Next steps
* Learn about [publishing workflows](/articles/publish-articles).
* Explore [webhook integrations](/integrations/webhooks) for advanced automation.
# Shopify integration
Source: https://docs.genseo.co/integrations/shopify
Install the Genseo Shopify app to publish store blog posts alongside prompt tracking in one project.
## Overview
Genseo now connects to Shopify through the official Genseo Shopify app. Install the app from the Shopify App Store, connect your subscription, choose your blog, and link the store to a Genseo project.
## Setting Up the Genseo Shopify App
### Step 1: Install the App
1. Open the [Genseo app in the Shopify App Store](https://apps.shopify.com/genseo)
2. Click **Install**
3. Review the requested permissions
4. Confirm the installation in Shopify
### Step 2: Choose Your Subscription
After installing the app, choose how you want to activate Genseo for your Shopify store:
1. Start a subscription through Shopify if you want to manage billing in Shopify
2. Click **Already have a subscription** if you already have an active Genseo subscription or want to manage your subscription in Genseo
### Step 3: Select Your Blog
1. Select the Shopify blog you want Genseo to publish articles to
2. Review the automatically mapped fields
Genseo maps the required Shopify blog fields automatically, so you do not need to configure field mapping manually.
### Step 4: Connect Shopify
1. Click **Connect**
2. Wait for Shopify and Genseo to finish the connection
### Step 5: Choose a Genseo Project
1. Select an existing Genseo project if you already have one
2. Create a new project if you want to start fresh
Your Shopify store is now connected to Genseo and ready for publishing.
## Publishing Articles
After successful setup, you can publish articles directly from Genseo to your Shopify blog:
1. Create or open an article in Genseo
2. Click **Publish**
3. Select **Shopify** as the destination
4. Confirm the publication
The article will be published to the Shopify blog you selected during setup.
## Common Issues
### App Installation Fails
**Problem**: The Genseo app cannot be installed from Shopify.
**Solution**:
* Make sure you are logged in with a Shopify account that can install apps
* Confirm that you are installing the app on the correct store
* Retry the installation from the [Genseo Shopify App Store listing](https://apps.shopify.com/genseo)
### Subscription Is Not Recognized
**Problem**: Shopify asks you to start a subscription even though you already have one in Genseo or want to manage your subscription in Genseo.
**Solution**:
* Click **Already have a subscription** during setup
* Sign in with the Genseo account that owns the active subscription
* Contact support if the active subscription still is not detected
### No Blog Is Available
**Problem**: You cannot select a Shopify blog during setup.
**Solution**:
* Make sure your Shopify store has at least one blog
* Refresh the setup flow after creating a blog in Shopify
* Confirm that the Genseo app installation completed successfully
### Connection or Project Selection Fails
**Problem**: The setup does not finish after clicking **Connect**, or you cannot select a Genseo project.
**Solution**:
* Refresh the page and restart the Shopify app setup
* Confirm that you are signed in to the correct Genseo account
* Select an existing project or create a new one before leaving the setup flow
* Contact support if the connection still does not complete
## Next Steps
* Learn about [publishing workflows](/articles/publish-articles)
* Set up [auto-publishing](/calendar/auto-publish) after Shopify is connected
* Explore [webhook integrations](/integrations/webhooks) for advanced automation
# Webflow integration
Source: https://docs.genseo.co/integrations/webflow
Connect Genseo to Webflow CMS to publish optional articles from the same project as AI visibility tracking.
## Overview
The Webflow integration allows you to publish articles directly to your Webflow CMS collection without manual copy-paste. This guide covers setup, publishing workflows, and troubleshooting.
## Connecting Webflow in Genseo
### Step 1: Start the Connection
1. In the dashboard sidebar, click **Integrations**
2. Find **Webflow** in the list and click **Connect**
This opens the Webflow OAuth pop-up window. If the window is blocked by your browser, allow pop-ups for Genseo.
### Step 2: Authorize Webflow
1. Sign in to Webflow if you are not already authenticated
2. Wait a few seconds while Webflow loads your workspaces
3. Select the Webflow site (project) you want to connect
4. Confirm the requested permissions
You will be redirected back to Genseo once the authorization succeeds.
### Step 3: Pick a Collection and Map Fields
After the redirect, Genseo shows a pop-up with your collections.
1. Choose the CMS collection that should receive newly published items
2. Map your fields
3. Click **Save** to persist the mapping
## Publishing Articles to Webflow
### Immediate Publishing
1. Generate or open an article in Genseo
2. Click **Publish**
3. Select **Webflow** as the destination
4. Review the preview
5. Click **Confirm**
The article will be published to your Webflow CMS immediately.
### Scheduled Publishing
1. Generate or open an article
2. Click **Schedule**
3. Select your publish date and time
4. Choose **Webflow** as the destination
5. Click **Schedule**
The article will be published automatically at the scheduled time.
## Updating Articles
When you update an article in Genseo:
1. Make your edits in the Genseo editor
2. Click **Update**
3. Select **Update in Webflow**
4. Confirm the update
Genseo maintains a connection between articles and Webflow items. Updates will overwrite the existing Webflow item.
## Common Issues and Solutions
### Authorization Failed
**Problem**: The Webflow OAuth window closes with an error or never returns to Genseo.
**Solution**:
* Make sure you selected at least one site in the OAuth dialog
* Confirm that your Webflow user has access to the project you tried to connect
* Retry the connection and keep the OAuth pop-up open until it redirects back to Genseo
### "Site Not Found" Error
**Problem**: Genseo can't find your Webflow site.
**Solution**:
* Verify you have access to the site in your Webflow account
* Check that the API token has the correct permissions
* Try disconnecting and reconnecting the integration
### "CMS Field Mapping Failed" Error
**Problem**: Genseo can't map fields to your CMS collection.
**Solution**:
* Ensure all required fields exist in your CMS collection
* Check that field types match (e.g., Rich Text for content)
* Verify field names are spelled correctly
### Articles Published But Not Visible
**Problem**: Articles are in Webflow but not showing on your site.
**Solution**:
* Check that your CMS collection is connected to a Collection Page
* Verify the article is set to "Published" in Webflow
* Ensure your Collection Page template is configured correctly
### Slug Conflicts
**Problem**: Multiple articles try to use the same URL slug.
**Solution**:
* Genseo automatically handles slug conflicts by adding numbers
* Manually edit slugs in Webflow if needed
* Consider using unique identifiers in your slug pattern
## Best Practices
* **Test first**: Publish a test article before scheduling multiple articles
* **Backup content**: Keep copies of important articles outside Webflow
* **Monitor publishing**: Check your Webflow CMS after publishing to ensure articles appear correctly
* **Update mappings**: If you change your CMS structure, update field mappings in Genseo
## Next Steps
* Learn about [publishing workflows](/articles/publish-articles)
* Set up [auto-publishing](/calendar/auto-publish) for hands-off content creation
* Explore [webhook integrations](/integrations/webhooks) for advanced automation
# Webhooks
Source: https://docs.genseo.co/integrations/webhooks
Send Genseo events to your stack with webhooks for custom automation alongside the Public API.
## Overview
Webhooks allow you to connect Genseo to external services like Slack, Notion, or custom dashboards. At the moment, Genseo emits exactly one webhook per article—the moment the article is actually published (including scheduled auto-publishes). Use that single payload to trigger downstream automation.
## Setting Up Webhooks
### Step 1: Create the Connection in Genseo
1. Navigate to **Settings** → **Integrations**
2. Click the **Webhooks** tile and then **Connect**
3. A configuration window opens where you enter:
* **Webhook URL**: The HTTPS endpoint that will receive events
* **Authentication**: Choose between `NONE`, `BEARER TOKEN`, `API KEY`, `BASIC AUTH`, or `CUSTOM HEADER`
* **Headers / Secrets**: Provide the necessary credentials based on your chosen auth type
4. Select the event types you want to subscribe to
5. (Optional) Click **Send test** to deliver a sample payload to your endpoint and confirm it responds correctly
6. Click **Save** to store the configuration
### Step 2: Verify Webhook
When the configuration is saved, Genseo sends a verification request to your endpoint. Your endpoint must respond with the provided challenge token to complete the setup.
## Webhook Payload
Genseo sends webhook events when articles are published. Here's an example payload for the `post.published` event:
```json theme={null}
{
"event": "post.published",
"timestamp": "2025-11-19T19:46:59.878Z",
"data": {
"id": "test-post-id-123",
"title": "Test Blog Post",
"content": "This is a test blog post to verify your webhook integration is working correctly.",
"keyword": "test keyword",
"meta_title": "Test Meta Title",
"meta_description": "Test Meta Description",
"thumbnail": "https://example.com/test-image.jpg",
"published_at": "2025-11-19T19:46:59.878Z"
}
}
```
### Payload Fields
* **event**: The event type (e.g., `post.published`)
* **timestamp**: ISO 8601 timestamp of when the event occurred
* **data.id**: Unique identifier for the published post
* **data.title**: The article title
* **data.content**: The full article content (HTML or markdown)
* **data.keyword**: The target keyword for the article
* **data.meta\_title**: Meta title
* **data.meta\_description**: meta description
* **data.thumbnail**: URL to the article thumbnail image
* **data.published\_at**: ISO 8601 timestamp of when the article was published
## Authentication
Genseo signs all webhook payloads with an HMAC-SHA256 signature. Verify the signature to ensure the webhook came from Genseo.
### Verifying Signatures
1. Get your webhook secret from Genseo settings
2. Create an HMAC-SHA256 hash of the raw request body using your secret
3. Compare the hash with the signature in the `signature` header
## Best Practices
### Security
* **Verify signatures**: Always verify webhook signatures to ensure requests are from Genseo
* **Use HTTPS**: Only use HTTPS endpoints for webhooks
* **Validate data**: Validate all incoming data before processing
* **Rate limiting**: Implement rate limiting on your webhook endpoint
### Reliability
* **Idempotency**: Make your webhook handlers idempotent to handle duplicate events
* **Retries**: Genseo retries failed webhooks, so handle duplicate events gracefully
* **Error handling**: Return appropriate HTTP status codes (200 for success, 4xx/5xx for errors)
* **Logging**: Log all webhook events for debugging
### Performance
* **Async processing**: Process webhooks asynchronously when possible
* **Queue system**: Use a queue system for heavy processing
* **Timeout handling**: Respond quickly to webhook requests (within 5 seconds)
## Troubleshooting
### Webhooks Not Firing
**Problem**: Webhooks aren't being sent to your endpoint.
**Solution**:
* Verify your webhook URL is correct and accessible
* Check that your endpoint is returning 200 status codes
* Review webhook logs in Genseo settings
* Ensure your webhook is enabled and subscribed to the correct events
### Invalid Signature Errors
**Problem**: Signature verification fails.
**Solution**:
* Verify you're using the correct webhook secret
* Ensure you're hashing the raw request body (not parsed JSON)
* Check that you're using HMAC-SHA256
* Verify the signature format matches: `sha256=`
### Duplicate Events
**Problem**: Receiving duplicate webhook events.
**Solution**:
* Implement idempotency in your webhook handler
* Use event IDs to track processed events
* Handle retries gracefully (Genseo may retry failed webhooks)
## Next Steps
* Learn about [article publishing](/articles/publish-articles)
* Explore [automation workflows](/calendar/auto-publish)
* Review the [Public API documentation](/developers/public-api) for advanced integrations
# Wix integration
Source: https://docs.genseo.co/integrations/wix
Connect Genseo to Wix Blog for optional publishing while you track prompts and citations.
## Overview
The Wix integration lets you publish articles from Genseo directly to your Wix Blog.\
Setup happens in two parts:
1. Install the **Wix Blog** app on your Wix site
2. Install and connect the **Genseo Wix integration** app
## Before You Start
* You need a Wix account with permission to install apps on the target site
* You need access to your Genseo dashboard
* If Wix Blog is already installed on your site, you can skip Step 1
## Connect Wix in Genseo
### Step 1: Install Wix Blog
1. Open the Genseo dashboard
2. Go to **Integrations**
3. Click **Connect Wix**
4. Click **Install Wix Blog App**
5. In the Wix Marketplace, click **Add to Site**
6. Select your Wix site and accept all requested permissions
Once completed, Wix Blog is installed on your site.
### Step 2: Install and Connect the Genseo Wix App
1. Open the Genseo dashboard
2. Go to **Integrations**
3. Click **Connect Wix**
4. Click **Install & Connect Wix**
5. In the Wix Marketplace, click **Add to Site**
6. Select your Wix site and accept all requested permissions
7. After the redirect back to Genseo, select your Wix site
8. Click **Connect to Wix**
Your Wix site is now connected to Genseo.
## Daily Auto-Publishing
Every morning, Genseo automatically publishes the post scheduled for that day.
## Troubleshooting
### Wix Site Does Not Appear in Genseo
* Make sure you selected the correct Wix account during app installation
* Verify you accepted all required permissions in Wix
* Refresh the Integrations page and try selecting the site again
### Connection Does Not Complete
* Close the flow and restart from **Integrations** → **Connect Wix**
* Confirm both apps are installed on the same Wix site:
* **Wix Blog**
* **Genseo Wix integration app**
## Next Steps
* Learn more about [publishing workflows](/articles/publish-articles)
* Configure [auto-publish](/calendar/auto-publish) for scheduled publishing
# WordPress integration
Source: https://docs.genseo.co/integrations/wordpress
Use the Genseo WordPress plugin to publish optional blog posts while you monitor AI visibility.
## Overview
The WordPress integration lets you connect your WordPress site to Genseo using the official Genseo plugin and a Project API Key.
Once connected, you can publish and update articles directly from Genseo.
## Before You Start
* You need admin access to your WordPress dashboard
* You need access to your Genseo account at [app.genseo.co](https://app.genseo.co?utm_source=docs\&utm_medium=documentation\&utm_campaign=wordpress-integration)
* You need permission to install and activate WordPress plugins
## Connect WordPress in Genseo
### Step 1: Open WordPress
1. Open your WordPress admin dashboard
### Step 2: Install the Genseo Plugin
1. In the WordPress sidebar, go to **Plugins** → **Add Plugin**
2. Search for **Genseo**
3. On the **Genseo** plugin card, click **Install Now**
4. Click **Activate**
You can also open the plugin directly in the WordPress Plugin Directory: [wordpress.org/plugins/genseo](https://wordpress.org/plugins/genseo)
### Step 3: Open the Genseo Plugin in WordPress
1. In the WordPress sidebar, click **Genseo**
### Step 4: Create an API Key in Genseo App
1. Open [app.genseo.co](https://app.genseo.co?utm_source=docs\&utm_medium=documentation\&utm_campaign=wordpress-integration)
2. Go to **Integrations**
3. Select **WordPress**
4. Create a new API Key
### Step 5: Connect WordPress to Genseo
1. Copy the API Key from Genseo
2. Go back to WordPress → **Genseo**
3. Paste the key into **Project API Key**
4. Click **Connect to Genseo**
### Step 6: Verify the Connection
1. Return to [app.genseo.co](https://app.genseo.co?utm_source=docs\&utm_medium=documentation\&utm_campaign=wordpress-integration)
2. In **Integrations** → **WordPress**, click **Check connection**
3. Confirm the success message
Your WordPress site is now connected and ready for publishing.
## Common Issues and Solutions
### Genseo Plugin Not Found in WordPress
**Problem**: You cannot find the Genseo plugin in **Plugins** → **Add Plugin**.
**Solution**:
* Confirm you searched for `Genseo` in the plugin search field
* Check that your WordPress site can access the WordPress Plugin Directory
* Open the direct plugin page: [wordpress.org/plugins/genseo](https://wordpress.org/plugins/genseo)
* Make sure your WordPress role has permission to install plugins
### Invalid API Key
**Problem**: Connection fails after pasting the key.
**Solution**:
* Create a new API Key in Genseo and try again
* Copy and paste the full key without extra spaces
* Ensure you are using a WordPress key from **Integrations** → **WordPress**
### Check Connection Fails
**Problem**: **Check connection** does not pass in Genseo.
**Solution**:
* Confirm the plugin is installed and activated in WordPress
* Re-open WordPress → **Genseo** and click **Connect to Genseo** again
* Verify the same API Key is active in Genseo
* Refresh both dashboards and re-run **Check connection**
### Missing Permissions in WordPress
**Problem**: You do not see **Plugins** or cannot activate/install plugins.
**Solution**:
* Ask a WordPress administrator to grant plugin management permissions
* Complete plugin installation with an admin account
* Then continue connection in WordPress → **Genseo**
## Best Practices
* **Use one key per project**: Keep project environments clearly separated
* **Rotate keys when needed**: Create a new key immediately if one is exposed
* **Test before bulk publishing**: Publish one test article after connecting
* **Verify result in WordPress**: Check formatting, media, and slug after publish
* **Keep plugin updated**: Install plugin updates for compatibility and stability
## Next Steps
* Learn about [publishing workflows](/articles/publish-articles)
* Set up [auto-publishing](/calendar/auto-publish)
* Explore [webhook integrations](/integrations/webhooks) for advanced automation
* Review [site crawlability basics](/technical-seo/technical-seo-basics)
# Content planning
Source: https://docs.genseo.co/keywords/content-planning
Cluster optional Genseo articles around prompts you measure, and plan publishing that supports AI visibility.
## Overview
Content planning helps you organize your keywords into a coherent strategy. This guide covers grouping keywords into topic clusters, planning recurring content, avoiding duplicates, and building topical clarity over time.
## Topic Clusters
Topic clusters are groups of related keywords organized around a central theme. This approach helps you build topical clarity and creates a logical content structure.
### What Are Topic Clusters?
A topic cluster consists of:
* **Pillar content**: A comprehensive article covering the main topic
* **Cluster content**: Multiple articles covering related subtopics
* **Internal links**: Links between pillar and cluster content
### Benefits of Topic Clusters
* **Clearer AI citations**: Related, citable pages reinforce your topic in answers
* **Improved user experience**: Related content is easier to discover
* **Aligned with prompts**: Clusters map to [tracked prompts](/visibility/prompt-tracking)
* **Natural internal linking**: Creates opportunities for strategic internal links
### Creating Topic Clusters
#### Step 1: Identify Main Topics
Group your keywords into main topic areas:
**Example topics**:
* on-page optimization
* Content marketing
* Keyword research
* Site technical quality
#### Step 2: Create Pillar Content
For each main topic, create one comprehensive pillar article:
**Example pillar articles**:
* "Complete Guide to AI Search Visibility"
* "Content Marketing Strategy Guide"
* "Keyword Research: The Complete Guide"
* "Site technical quality: Everything You Need to Know"
#### Step 3: Create Cluster Content
Create multiple articles covering subtopics:
**Example cluster for "AI visibility"**:
* "How to Optimize Title Tags"
* "Meta Description Best Practices"
* "Header Tag Optimization Guide"
* "Image optimization for citable pages"
#### Step 4: Link Strategically
Link cluster content to pillar content and vice versa:
* Link from cluster articles to the pillar article
* Link from the pillar article to relevant cluster articles
* Link between related cluster articles
## Planning Recurring Content
Recurring content helps you maintain a consistent publishing schedule and cover topics comprehensively.
### Content Series
Create series of related articles published over time:
**Example series**:
* "AEO basics" (Week 1: Introduction, Week 2: Prompts, Week 3: On-page quality, Week 4: Site health)
* "Content Marketing Guide" (Multi-part series covering different aspects)
### Benefits of Recurring Content
* **Consistent publishing**: Maintains regular content output
* **Deeper coverage**: Allows comprehensive coverage of complex topics
* **Engaged audience**: Keeps readers coming back for more
* **visibility benefits**: Builds topical clarity over time
### Planning Recurring Content
1. **Identify series topics**: Choose topics that warrant multiple articles
2. **Plan article sequence**: Determine the order of articles
3. **Schedule publishing**: Plan when each article will be published
4. **Link between articles**: Connect related articles in the series
## Avoiding Duplicates
Duplicate content hurts readability and confuses users. Avoid creating multiple articles targeting the same keyword or covering the same topic.
### Identify Potential Duplicates
Before creating new content, check:
* **Existing articles**: Do you already have an article on this topic?
* **Keyword overlap**: Are you targeting the same keyword in multiple articles?
* **Content similarity**: Does the new article duplicate existing content?
### Consolidate When Possible
If you have similar articles:
1. **Combine articles**: Merge similar content into one comprehensive article
2. **Update existing content**: Enhance existing articles instead of creating new ones
3. **Redirect old content**: Redirect duplicate articles to the consolidated version
### Distinguish Similar Topics
When topics are similar but distinct:
1. **Focus on unique angles**: Emphasize what makes each article unique
2. **Target different keywords**: Ensure each article targets different keywords
3. **Link between articles**: Help readers understand the relationship between articles
## Building Topical Authority
Topical authority means being recognized as an expert on a specific topic. Search engines reward sites with strong topical clarity.
### How to Build Topical Authority
#### 1. Comprehensive Coverage
Cover your topic comprehensively:
* Create multiple articles on related subtopics
* Address different aspects of the topic
* Answer common questions and concerns
#### 2. Quality over Quantity
Prioritize quality content:
* Create thorough, well-researched articles
* Provide unique insights and perspectives
* Ensure content is accurate and up-to-date
#### 3. Consistent Publishing
Publish regularly:
* Maintain a consistent publishing schedule
* Cover related topics regularly
* Stay current with industry trends
#### 4. Internal Linking
Link related content strategically:
* Link from new articles to existing related content
* Create hub pages that link to multiple related articles
* Use descriptive anchor text for internal links
#### 5. External Signals
Build external authority:
* Earn backlinks from reputable sites
* Get mentioned in industry publications
* Participate in relevant communities
### Measuring Topical Authority
Track your progress:
* **Keyword rankings**: Monitor rankings for related keywords
* **Organic traffic**: Track traffic to topic-related content
* **Backlinks**: Monitor backlinks to your content
* **Search visibility**: Track overall visibility for your topic
## Content Calendar
A content calendar helps you plan and organize your content strategy.
### Creating a Content Calendar
1. **List your keywords**: Include all keywords you want to target
2. **Group by topic**: Organize keywords into topic clusters
3. **Plan publishing dates**: Schedule when each article will be published
4. **Track status**: Monitor the status of each article (planned, in progress, published)
### Content Calendar Best Practices
* **Balance topics**: Mix different topics to avoid repetition
* **Consider seasonality**: Plan content around relevant seasons or events
* **Maintain consistency**: Stick to a regular publishing schedule
* **Leave flexibility**: Allow room for timely or trending topics
## Best Practices
* **Think in clusters**: Organize keywords into topic clusters
* **Plan ahead**: Create a content calendar to guide your strategy
* **Avoid duplicates**: Check for existing content before creating new articles
* **Build authority**: Focus on comprehensive coverage of your topics
* **Link strategically**: Use internal linking to connect related content
* **Monitor progress**: Track your progress in building topical clarity
## Next Steps
* Learn about [keyword basics](/keywords/keyword-basics) to understand keywords better
* Discover how to [find keywords](/keywords/find-keywords) for your strategy
* Start [generating articles](/articles/generate-articles) based on your content plan
* Set up your [content calendar](/calendar/content-calendar) to organize your publishing schedule
# Find keywords
Source: https://docs.genseo.co/keywords/find-keywords
Discover topics for optional Genseo articles that match the prompts you track for AI visibility.
## Overview
This guide walks you through a practical method for discovering and selecting keywords. Start with your audience's problems, expand your list, filter by volume and difficulty, and choose your targets.
## Step 1: Start from Audience Problems
Begin by identifying the problems, questions, and needs of your target audience.
### Identify Pain Points
Ask yourself:
* What problems does my product solve?
* What questions do customers ask?
* What challenges do they face?
* What information do they need?
### Brainstorm Initial Keywords
Create a list of keywords based on these problems:
**Example for an AI visibility platform**:
* "how to track brand mentions in ChatGPT"
* "AEO prompt tracking guide"
* "keyword research tools"
* "content marketing strategy"
Don't worry about volume or difficulty yet. Just capture all the keywords that relate to your audience's needs.
## Step 2: Expand Your Keyword List
Once you have initial keywords, expand your list using these methods:
### Use Keyword Research Tools
Tools like Ahrefs, SEMrush, or Google Keyword Planner can help you find related keywords:
1. Enter your initial keywords
2. Review suggested keywords
3. Add relevant ones to your list
### Analyze Competitor Content
Look at what keywords your competitors are targeting:
1. Identify your main competitors
2. Review their blog content
3. Note which keywords they're targeting
4. Add relevant keywords to your list
### Use Google Autocomplete
Google's autocomplete suggests popular searches:
1. Type your initial keyword into Google
2. Review autocomplete suggestions
3. Try variations and related terms
4. Add relevant suggestions to your list
### Explore Related Searches
Google's "People also ask" and "Related searches" sections:
1. Search for your initial keyword
2. Review "People also ask" questions
3. Check "Related searches" at the bottom
4. Add relevant terms to your list
## Step 3: Filter by Volume and Difficulty
Now refine your list by filtering keywords based on search volume and difficulty.
### Search Volume
Search volume indicates how many people search for a keyword each month.
**Guidelines**:
* **10-100 searches/month**: Very specific, easy to rank for
* **100-1,000 searches/month**: Good balance of volume and competition
* **1,000-10,000 searches/month**: Higher volume, more competition
* **10,000+ searches/month**: Very competitive, hard to rank for
Don't ignore low-volume keywords. They often have less competition and can convert better because they're more specific.
### Keyword Difficulty
Difficulty measures how hard it is to rank for a keyword.
**Guidelines**:
* **0-30 difficulty**: Easy to rank for (good for beginners)
* **30-60 difficulty**: Moderate competition (achievable with good content)
* **60-80 difficulty**: Hard to rank for (requires strong domain authority)
* **80-100 difficulty**: Very competitive (usually dominated by major sites)
### Filtering Process
1. Remove keywords with zero or very low search volume (unless highly relevant)
2. Prioritize keywords with difficulty scores you can realistically achieve
3. Keep keywords that balance volume and difficulty
4. Focus on keywords that match your domain authority
## Step 4: Pick Your Targets
Select the keywords you'll actually target based on your goals and resources.
### Prioritization Criteria
Consider these factors when choosing targets:
**Relevance**: How well the keyword matches your content and audience
**Business value**: How ranking for the keyword supports your goals
**Achievability**: Whether you can realistically rank for the keyword
**Volume**: Whether there's enough search volume to justify the effort
**Competition**: Whether the competition is manageable
### Create a Keyword List
Organize your selected keywords:
1. **Primary keywords**: Main keywords you'll target in individual articles
2. **Secondary keywords**: Related keywords to include in content
3. **Long-tail keywords**: Specific variations for future content
### Example Keyword List
**Primary keywords**:
* "on-page optimization guide"
* "keyword research tools"
* "content marketing strategy"
**Secondary keywords**:
* "how to improve AI visibility"
* "best keyword research tools"
* "content marketing best practices"
**Long-tail keywords**:
* "how to win AI citations for e-commerce"
* "keyword research tools for small businesses"
* "content marketing strategy for SaaS companies"
## Common Mistakes to Avoid
### Targeting Only High-Volume Keywords
**Problem**: High-volume keywords are usually very competitive and hard to rank for.
**Solution**: Balance volume with difficulty and relevance. Include a mix of high and low-volume keywords.
### Ignoring Long-Tail Keywords
**Problem**: Focusing only on short, broad keywords misses easier wins.
**Solution**: Include long-tail keywords in your strategy. They're easier to rank for and often convert better.
### Not Considering Relevance
**Problem**: Targeting keywords that don't match your content or audience.
**Solution**: Always prioritize relevance. A relevant keyword with lower volume is better than an irrelevant high-volume keyword.
### Skipping Keyword Research
**Problem**: Guessing what keywords to target without research.
**Solution**: Use keyword research tools and methods to validate your assumptions and discover new opportunities.
## Best Practices
* **Start with problems**: Begin with your audience's problems and questions
* **Expand systematically**: Use multiple methods to find related keywords
* **Filter strategically**: Balance volume, difficulty, and relevance
* **Prioritize relevance**: Choose relevant keywords over high-volume, irrelevant ones
* **Think long-term**: Build a keyword strategy that grows over time
## Next Steps
* Learn about [content planning](/keywords/content-planning) to organize your keywords
* Start [generating articles](/articles/generate-articles) based on your selected keywords
* Explore [keyword basics](/keywords/keyword-basics) for deeper understanding
# Keyword basics
Source: https://docs.genseo.co/keywords/keyword-basics
Optional topics in Genseo that align with tracked prompts. Support AEO/GEO content without classic SERP rank tracking.
In Genseo, **tracked prompts** are the core visibility unit. Keywords here support **optional articles** and topic planning that align with prompts you measure in [AI visibility](/product/ai-visibility).
## Overview
Keywords (topics) help you plan citable pages and optional articles that match how buyers ask questions in AI chat and search. This guide covers intent and how to pick valuable topics for AEO/GEO.
## What are keywords in Genseo?
Keywords are phrases that describe a topic you might cover on your site. They should align with [prompts you track](/visibility/prompt-tracking) so content and measurement stay connected.
## Search Intent Types
Understanding search intent helps you create content that matches what users are actually looking for. There are four main types:
### Informational Intent
Users want to learn something or answer a question.
**Examples**:
* "what is AI search visibility"
* "how to track brand mentions in ChatGPT"
* "best practices for AEO"
**Content approach**: Create comprehensive, educational content that thoroughly answers the question.
### Navigational Intent
Users want to find a specific website or page.
**Examples**:
* "genseo login"
* "shopify dashboard"
* "webflow pricing"
**Content approach**: Usually not relevant for content creation, as users are looking for specific sites.
### Transactional Intent
Users want to make a purchase or take a specific action.
**Examples**:
* "buy AI visibility software"
* "shopify integration pricing"
* "best content marketing software"
**Content approach**: Create content that helps users make purchasing decisions, compare options, or understand product features.
### Commercial Investigation
Users are researching before making a purchase decision.
**Examples**:
* "best AI visibility tools comparison"
* "shopify vs woocommerce"
* "content marketing software reviews"
**Content approach**: Create comparison content, reviews, or detailed feature guides.
## Broad vs Long-Tail Keywords
### Broad Keywords
Short, generic keywords with high search volume but high competition.
**Examples**:
* "AEO"
* "marketing"
* "visibility"
**Characteristics**:
* High search volume
* High competition
* Lower conversion rates
* Harder to rank for
### Long-Tail Keywords
Specific, longer phrases with lower search volume but higher relevance.
**Examples**:
* "how to improve AI citations for e-commerce brands"
* "content strategies for SaaS AI visibility"
* "best prompt tracking tools for small businesses"
**Characteristics**:
* Lower search volume
* Lower competition
* Higher conversion rates
* Easier to rank for
* More specific intent
Start with long-tail keywords. They're easier to rank for and often convert better because they match specific user intent.
## Relevance vs Volume
When choosing keywords, balance relevance and search volume.
### Relevance
How well the keyword matches your content and audience.
**High relevance**: Keyword directly relates to what you offer and what your audience searches for.
**Low relevance**: Keyword might have volume but doesn't match your content or audience.
### Volume
How many people search for the keyword each month.
**High volume**: More potential traffic but usually more competition.
**Low volume**: Less traffic but often easier to rank for and better conversion rates.
### Finding the Balance
* **Prioritize relevance**: A highly relevant keyword with lower volume often performs better than a high-volume, low-relevance keyword
* **Consider competition**: High-volume keywords usually have more competition
* **Think long-term**: Building topical clarity with relevant keywords pays off over time
## What Makes a Keyword Valuable?
A valuable keyword has these characteristics:
### 1. Relevant to Your Audience
The keyword matches what your target audience is actually searching for and relates to your product or service.
### 2. Achievable Rankings
You have a realistic chance of ranking for the keyword based on your domain authority and competition.
### 3. Conversion Potential
The keyword represents users who might take a desired action (sign up, purchase, contact, etc.).
### 4. Search Volume
There's enough search volume to make ranking worthwhile (even if it's low volume, it should be consistent).
### 5. Business Value
Ranking for the keyword supports your business goals (brand awareness, lead generation, sales, etc.).
## Keyword Difficulty
Keyword difficulty measures how hard it is to rank for a keyword. Factors include:
* **Domain authority**: Higher authority sites rank more easily
* **Competition**: How many other sites are targeting the keyword
* **Content quality**: How comprehensive existing content is
* **Backlinks**: How many backlinks top-ranking pages have
As a general rule, target keywords with difficulty scores you can realistically achieve. Start with lower difficulty keywords and work your way up as you build authority.
## Best Practices
* **Start specific**: Begin with long-tail, specific keywords before targeting broad terms
* **Match intent**: Ensure your keyword matches the search intent of your target audience
* **Prioritize relevance**: Choose relevant keywords over high-volume, irrelevant ones
* **Consider your goals**: Align keywords with your business objectives
* **Think in clusters**: Group related keywords to build topical clarity
## Next Steps
* Learn how to [find keywords](/keywords/find-keywords) for your content strategy
* Explore [content planning](/keywords/content-planning) to organize your keyword strategy
* Start [generating articles](/articles/generate-articles) based on your keywords
# MCP server overview
Source: https://docs.genseo.co/mcp/overview
Connect ChatGPT, Cursor, Claude, and other clients to Genseo at api.genseo.co/mcp with OAuth or API keys.
Genseo exposes a hosted **MCP server** so AI assistants can read visibility, site health, and content data, and run allowlisted writes when you approve them.
```text theme={null}
https://api.genseo.co/mcp
```
## Apps and clients
| Client | Status |
| - | - |
| [ChatGPT app](/developers/chatgpt) | Live (OAuth) |
| [Cursor, Claude, and others](/chatgpt/more-ai-clients) | Same MCP endpoint; marketplace rollouts planned |
## Setup paths
* **End users**: Install the ChatGPT app or your client's connector, then complete [OAuth](/developers/oauth).
* **Developers**: Configure [MCP Server](/developers/mcp) with OAuth or a project API key, or use the [plugin package](/developers/plugins).
One project per chat: list projects, pick a `project_id`, and include it on every project tool call.
## REST alternative
Custom backends can use the [Public API](/developers/public-api) on the **Developers** tab without MCP.
## Frequently asked questions
### What is the Genseo MCP server URL?
`https://api.genseo.co/mcp` (Streamable HTTP). ChatGPT, Cursor, Claude, and other MCP hosts use this endpoint.
### Do I need an API key for ChatGPT?
No. The [ChatGPT app](/developers/chatgpt) uses OAuth in the browser. API keys are for local developer installs, CI, or custom backends.
### Why must I pick one project per chat?
Every project tool requires an explicit `project_id`. OAuth can list all account projects, but Genseo never merges data across projects in one call.
### Is Genseo MCP the same as prompt tracking in ChatGPT?
No. Prompt tracking platforms (ChatGPT, Gemini, AI Overviews) are what Genseo **measures** for visibility. The MCP server is how **you** connect an assistant to your Genseo account to read that data or run allowlisted actions.
# AI visibility
Source: https://docs.genseo.co/product/ai-visibility
Genseo AI visibility (AEO/GEO): daily prompt tracking, mention and citation trends, and competitor share on ChatGPT, Gemini, and AI Overviews.
AI Visibility is Genseo's **primary product** (AEO/GEO). It answers: for the prompts that define your category, does AI mention your brand, cite your site, and prefer you over competitors?
## What you measure
| Signal | Why it matters |
| - | - |
| Visibility / mention rate | Whether models include your brand in the answer |
| Citations | Which URLs and domains models treat as sources |
| Competitors | Other brands that appear for the same prompt |
| Sentiment | Tone of mentions when the model provides it |
| Trends | Daily changes as models and the web shift |
Tracking runs on a **schedule** across product platforms. See [Tracking platforms](/visibility/tracking-platforms).
## Workflow in the app
1. [Add and organize prompts](/visibility/prompt-tracking).
2. Review overview KPIs and sparkline trends.
3. Drill into [competitors](/visibility/competitors) and [citations](/visibility/citations-and-sources).
4. Pair with [Site health](/product/site-health) and [Opportunities](/product/opportunities) to act on gaps.
5. Optional: ship content via [articles](/articles/generate-articles) or ask [ChatGPT](/developers/chatgpt) to summarize stored results.
## ChatGPT and developers
* **ChatGPT today**: [Genseo ChatGPT app](/developers/chatgpt) with OAuth.
* **Cursor and Claude**: Same MCP endpoint; broader marketplace rollout is planned. [More AI clients](/chatgpt/more-ai-clients).
* **API and MCP**: [Public API visibility endpoints](/developers/public-api), [MCP tools](/developers/mcp-tools).
Manual or agent-triggered tracking runs may consume quota or billable usage. Scheduled product tracking follows your plan.
## Next steps
* [Prompt tracking](/visibility/prompt-tracking)
* [Quick start](/getting-started/quick-start)
## Frequently asked questions
### What is AI visibility in Genseo?
AI visibility measures whether AI assistants mention your brand, cite your URLs, and favor competitors when answering the prompts you track. Genseo stores results over time so you see trends, not one-off screenshots.
### How often are prompts tracked?
Genseo runs tracked prompts on a recurring schedule as part of the product. You do not need to manually re-run every prompt for day-to-day monitoring. On-demand runs from agents or the API may use quota; see your plan.
### What is the difference between mentions and citations?
A mention is your brand appearing in the answer text. A citation is a specific URL or domain the model lists as a source. You can be mentioned weakly while competitors' pages get cited.
### Can ChatGPT show my Genseo visibility data?
Yes, with the [Genseo ChatGPT app](/developers/chatgpt) and OAuth. Ask for stored overview, prompts, competitors, and sources for one project you select in chat.
# Opportunities
Source: https://docs.genseo.co/product/opportunities
Prioritized AEO and GEO tasks in Genseo. Mark items open, done, or declined as you close visibility and site gaps.
Opportunities turn visibility and site data into a **short list of tasks** your team can execute to improve AI search presence (AEO/GEO). Each opportunity has context, priority, and a status you control.
## How to use them
1. Open **Opportunities** in your project.
2. Sort or filter by priority and status (`open`, `done`, `declined`).
3. Complete work on your site or content stack.
4. Mark done in Genseo or decline with intent to skip.
Opportunities link **measurement** (prompts, citations, site issues) to **execution** without replacing your project management tool.
## With AI visibility
When [competitors](/visibility/competitors) or [citations](/visibility/citations-and-sources) show gaps, opportunities may reflect content or site fixes that help models mention and cite you. Use both views together when planning sprints.
## Agents and API
OAuth and API-key clients can list and update opportunities with explicit `project_id`. See `genseo_opportunities_*` in [MCP tool reference](/developers/mcp-tools).
## Frequently asked questions
### Are opportunities traditional SEO tasks?
They are prioritized actions tied to your Genseo project, often aligned with AI visibility gaps and site health. Genseo does not position itself as a classic SERP rank tracker.
## Next steps
* [Site health](/product/site-health)
* [Prompt tracking](/visibility/prompt-tracking)
# Site health
Source: https://docs.genseo.co/product/site-health
Genseo crawls your site for issues with evidence and page scores, so URLs stay fetchable and citable in AI answers.
Site health supports **AEO/GEO**: models cite pages they can fetch and trust. Genseo crawls your project domain, scores pages, and lists **open site issues** with evidence and affected URLs.
## What you get
* **Health summary**: Aggregate scores and open issue counts.
* **Issues**: Rule, severity, recommendation, and page-level occurrences.
* **Audits**: Start a crawl, monitor progress, and run **rechecks** after fixes.
* **Pages**: Per-URL quality scores from the latest audit.
Audits are asynchronous. Rate limits apply on the [Public API](/developers/public-api).
## Typical workflow
1. Start or open the latest audit in [Genseo](https://app.genseo.co?utm_source=docs\&utm_medium=documentation\&utm_campaign=site-health-app).
2. Triage high-severity open issues; read evidence before changing production.
3. Fix on your CMS or codebase.
4. Mark fixed occurrences done, then run a recheck.
5. Review [Opportunities](/product/opportunities) for prioritized follow-ups.
Use the [ChatGPT app](/developers/chatgpt) to list open issues for a selected project using stored audit data.
Audits read your public site. They support citable pages for AI visibility; they are not a SERP rank product.
## Next steps
* [Opportunities](/product/opportunities)
* [Site crawlability basics](/technical-seo/technical-seo-basics)
* [MCP audit tools](/developers/mcp-tools)
## Frequently asked questions
### What is Genseo site health?
A crawl of your domain with page scores, open issues (rule, severity, evidence, URLs), and audit history with rechecks after fixes.
### How is site health related to AI visibility?
Models cite URLs they can retrieve and interpret. Fixing crawl and clarity issues helps the pages you want referenced in [tracked prompts](/visibility/prompt-tracking).
### Can ChatGPT list my open site issues?
Yes, for one selected project, using stored audit data via the [ChatGPT app](/developers/chatgpt).
# On-page quality
Source: https://docs.genseo.co/technical-seo/on-page-seo
Make pages easy to parse and cite: titles, headings, clarity, and internal links that support Genseo AI visibility goals.
Genseo focuses on **AI search visibility (AEO/GEO)**, not traditional SERP rank tracking. Use this guide to make pages clearer and more citable in AI answers.
## Overview
Strong on-page structure helps both people and models understand what a page is about. This guide covers title tags, H1 structure, subheadings, topic clarity, internal linking, and readability.
## Title tags
Clear titles help models and users identify the topic of a page.
### What Are Title Tags?
Title tags are HTML elements that define the title of a web page. They appear in search results and browser tabs.
### Title Tag Best Practices
* **Length**: Keep title tags under 60 characters to avoid truncation
* **Keyword placement**: Include your primary keyword near the beginning
* **Unique titles**: Use unique title tags for each page
* **Descriptive**: Make title tags descriptive and compelling
* **Brand inclusion**: Include your brand name when relevant (usually at the end)
### Title Tag Examples
**Good**:
```
How to Improve on-page quality for E-commerce Stores | Genseo
```
**Bad**:
```
AI visibility
```
### Title Tag Structure
A good title tag structure:
1. **Primary keyword**: Include the primary keyword near the beginning
2. **Descriptive text**: Add descriptive text that explains what the page is about
3. **Brand name**: Include your brand name (optional, usually at the end)
## H1 Structure
H1 tags define the main heading of a page.
### What Are H1 Tags?
H1 tags are HTML elements that indicate the main heading of a page. Each page should have exactly one H1 tag.
### H1 Best Practices
* **One per page**: Use only one H1 tag per page
* **Keyword inclusion**: Include your primary keyword in the H1
* **Descriptive**: Make the H1 descriptive and clear
* **Match title tag**: H1 should be similar to (but not identical to) the title tag
* **User-focused**: Write H1 for users, not just for citable pages
### H1 Examples
**Good**:
```html theme={null}
How to Improve on-page quality for E-commerce Stores
```
**Bad**:
```html theme={null}
AI visibility
```
## Subheadings (H2, H3, etc.)
Subheadings organize content and improve readability and readability.
### Heading Hierarchy
Maintain a logical heading hierarchy:
* **H1**: Main title (one per page)
* **H2**: Major sections
* **H3**: Subsections within H2 sections
* **H4+**: Further subdivisions as needed
Don't skip heading levels. If you use H2, don't jump to H4—use H3 in between.
### Subheading Best Practices
* **Logical structure**: Use headings to create a logical content structure
* **Keyword variations**: Include keyword variations in subheadings
* **Descriptive**: Make subheadings descriptive and informative
* **Scannable**: Write subheadings that are easy to scan
* **User-focused**: Write subheadings for users, not just for citable pages
### Subheading Examples
**Good**:
```html theme={null}
Keyword Research for E-commerce
Finding Product Keywords
Analyzing Keyword Competition
```
**Bad**:
```html theme={null}
Keywords
Research
```
## Keyword Placement
Strategic keyword placement helps search engines understand your content.
### Where to Place Keywords
Place keywords in:
1. **Title tag**: Include primary keyword near the beginning
2. **H1**: Include primary keyword in the H1
3. **First paragraph**: Include primary keyword early in the introduction
4. **Subheadings**: Use keyword variations in H2 and H3 headings
5. **Body content**: Use keywords naturally throughout the content
6. **Meta description**: Include primary keyword in the meta description
7. **URL slug**: Use primary keyword in the URL slug
8. **Alt text**: Include keywords in image alt text when relevant
### Keyword Density
Keyword density refers to how often a keyword appears relative to total words.
**Best practices**:
* **Natural usage**: Use keywords naturally—don't stuff them
* **Variations**: Use keyword variations and synonyms
* **Focus on users**: Write for users first, keywords second
* **Avoid over-optimization**: Don't overuse keywords—it hurts readability and readability
There's no magic keyword density number. Focus on natural, readable content that uses keywords appropriately.
## Internal Linking
Internal links connect related content on your site.
### What Are Internal Links?
Internal links are links from one page on your site to another page on your site. They help users navigate and help search engines understand your site structure.
### Internal Linking Benefits
* **User navigation**: Help users find related content
* **Discovery value**: Help users and models find related citable pages
* **Site structure**: Help search engines understand your site structure
* **Dwell time**: Keep users on your site longer
### Internal Linking Best Practices
* **Relevant links**: Link to content that's relevant to the current page
* **Descriptive anchor text**: Use descriptive anchor text that explains what the linked page is about
* **Natural placement**: Place links where they make sense contextually
* **Don't over-link**: Too many links can hurt readability and readability
* **Link to important pages**: Prioritize linking to important, high-value pages
### Internal Linking Examples
**Good**:
```
Learn more about [keyword research](/keywords/keyword-basics) to improve your content strategy.
```
**Bad**:
```
Click [here](/keywords/keyword-basics) for more information.
```
## Readability
Readable content performs better in search results and provides a better user experience.
### Readability Principles
* **Simple language**: Use simple, clear language
* **Short sentences**: Keep sentences short and concise
* **Short paragraphs**: Use short paragraphs (3-4 sentences)
* **Bullet points**: Use bullet points and lists to break up text
* **White space**: Use white space to improve readability
* **Clear structure**: Organize content with clear headings and sections
### Readability Tools
Use readability tools to assess your content:
* **Flesch Reading Ease**: Measures how easy text is to read
* **Flesch-Kincaid Grade Level**: Indicates the reading grade level
* **Average sentence length**: Shorter sentences are easier to read
* **Average word length**: Shorter words are easier to read
### Improving Readability
* **Simplify language**: Replace complex words with simpler alternatives
* **Shorten sentences**: Break long sentences into shorter ones
* **Use active voice**: Prefer active voice over passive voice
* **Add transitions**: Use transition words to connect ideas
* **Break up text**: Use headings, lists, and white space to break up dense text
## Common on-page issues
### Missing or Duplicate Title Tags
**Problem**: Pages missing title tags or using duplicate title tags.
**Solution**:
* Ensure every page has a unique title tag
* Include primary keywords in title tags
* Keep title tags under 60 characters
### Poor Heading Structure
**Problem**: Incorrect or missing heading hierarchy.
**Solution**:
* Use one H1 per page
* Maintain logical heading hierarchy (H1 → H2 → H3)
* Include keywords in headings where natural
### Keyword Stuffing
**Problem**: Overusing keywords, hurting readability and readability.
**Solution**:
* Use keywords naturally
* Focus on user experience first
* Use keyword variations and synonyms
* Avoid repeating the same keyword excessively
### Missing Internal Links
**Problem**: Pages lack internal links to related content.
**Solution**:
* Add internal links to related content
* Use descriptive anchor text
* Link to important, high-value pages
* Place links where they make sense contextually
## Best Practices
* **Optimize title tags**: Create unique, descriptive title tags with primary keywords
* **Structure headings**: Use proper heading hierarchy with one H1 per page
* **Place keywords strategically**: Include keywords in title, H1, first paragraph, and throughout content
* **Link internally**: Add internal links to related content with descriptive anchor text
* **Improve readability**: Write clear, simple, scannable content
* **Focus on users**: Prioritize user experience over keyword stuffing optimization
* **Monitor performance**: Track how on-page quality changes affect your rankings
## Next Steps
* Learn about [site crawlability basics](/technical-seo/technical-seo-basics) for site quality context
* Explore [schema markup](/technical-seo/schema-markup) for rich results
* Review [article editing](/articles/edit-articles) to apply on-page quality to your content
# Structured data (JSON-LD)
Source: https://docs.genseo.co/technical-seo/schema-markup
JSON-LD examples for articles and FAQs in Genseo docs. Machine-readable pages can support clearer AI citations.
Genseo measures **AI search visibility**. Structured data supports machine-readable pages that models and crawlers can interpret when selecting sources to cite.
## Overview
Schema markup (JSON-LD) adds explicit structure to your pages. This guide covers BlogPosting and FAQ examples and how to validate markup.
## What is schema markup?
Structured data tells crawlers and parsers what type of content a page contains (article, FAQ, organization, and similar types). That can support clearer citations when your URL appears in AI answers.
JSON examples below use generic sample titles. Replace with your own topics; they are not Genseo SERP SEO advice.
## JSON-LD Format
JSON-LD (JavaScript Object Notation for Linked Data) is the recommended format for schema markup. It's placed in a `
```
## BlogPosting Schema
BlogPosting schema helps search engines understand your blog posts and can enable rich results.
### Basic BlogPosting Schema
```json theme={null}
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How to Improve on-page quality for E-commerce Stores",
"description": "Learn how to optimize your e-commerce store for search engines with these SEO best practices.",
"image": "https://example.com/images/seo-guide.jpg",
"datePublished": "2024-01-15T10:00:00Z",
"dateModified": "2024-01-20T14:30:00Z",
"author": {
"@type": "Person",
"name": "John Doe",
"url": "https://example.com/author/john-doe"
},
"publisher": {
"@type": "Organization",
"name": "Genseo",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
}
}
```
### Complete BlogPosting Schema
```json theme={null}
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How to Improve on-page quality for E-commerce Stores",
"description": "Learn how to optimize your e-commerce store for search engines with these SEO best practices.",
"image": [
"https://example.com/images/seo-guide.jpg",
"https://example.com/images/seo-guide-wide.jpg"
],
"datePublished": "2024-01-15T10:00:00Z",
"dateModified": "2024-01-20T14:30:00Z",
"author": {
"@type": "Person",
"name": "John Doe",
"url": "https://example.com/author/john-doe",
"image": "https://example.com/author/john-doe.jpg"
},
"publisher": {
"@type": "Organization",
"name": "Genseo",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png",
"width": 600,
"height": 60
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/blog/seo-optimization-guide"
},
"articleSection": "SEO",
"keywords": "SEO, e-commerce, optimization, search engine optimization"
}
```
### BlogPosting Schema Properties
* **headline**: The title of the blog post
* **description**: A brief description of the blog post
* **image**: URL(s) to the featured image(s)
* **datePublished**: Publication date (ISO 8601 format)
* **dateModified**: Last modification date (ISO 8601 format)
* **author**: Author information (Person schema)
* **publisher**: Publisher information (Organization schema)
* **mainEntityOfPage**: The main URL of the page
* **articleSection**: The section or category of the article
* **keywords**: Relevant keywords (comma-separated)
## FAQ Schema
FAQ schema helps search engines understand your FAQ content and can enable FAQ rich results.
### Basic FAQ Schema
```json theme={null}
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO (Search Engine Optimization) is the practice of optimizing your website to rank higher in search engine results."
}
},
{
"@type": "Question",
"name": "How long does SEO take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO typically takes 3-6 months to show significant results, though this varies based on competition and other factors."
}
}
]
}
```
### Complete FAQ Schema
```json theme={null}
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO (Search Engine Optimization) is the practice of optimizing your website to rank higher in search engine results. It involves various techniques, including keyword research, on-page optimization, and technical SEO."
}
},
{
"@type": "Question",
"name": "How long does SEO take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO typically takes 3-6 months to show significant results, though this varies based on competition, domain authority, and other factors. Some improvements may be visible sooner, while others may take longer."
}
},
{
"@type": "Question",
"name": "What are the best SEO practices?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Best SEO practices include: conducting keyword research, optimizing title tags and meta descriptions, creating high-quality content, building internal and external links, and ensuring technical SEO is properly implemented."
}
}
]
}
```
### FAQ Schema Properties
* **mainEntity**: Array of Question objects
* **Question.name**: The question text
* **Question.acceptedAnswer**: The answer (Answer schema)
* **Answer.text**: The answer text
## Implementing Schema Markup
### Where to Place Schema
Place schema markup in the `` or `` of your HTML:
```html theme={null}
How to Improve on-page quality for E-commerce Stores
...
```
### Dynamic Schema
For dynamically generated content, generate schema markup programmatically:
```javascript theme={null}
// Example: Generate BlogPosting schema
const schema = {
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": article.title,
"description": article.description,
"image": article.image,
"datePublished": article.publishedAt,
"dateModified": article.updatedAt,
"author": {
"@type": "Person",
"name": article.author.name
}
};
// Output as JSON-LD in HTML
const schemaScript = ``;
```
## Testing Schema Markup
### Google Rich Results Test
Use Google's Rich Results Test to validate your schema markup:
1. **Go to Rich Results Test**: Visit [search.google.com/test/rich-results](https://search.google.com/test/rich-results)
2. **Enter URL or code**: Enter your page URL or paste your HTML code
3. **Test**: Click "Test URL" or "Test Code"
4. **Review results**: Check for errors, warnings, and valid schema
5. **Fix issues**: Address any errors or warnings
### Schema.org Validator
Use the Schema.org validator to check your schema:
1. **Go to validator**: Visit [validator.schema.org](https://validator.schema.org)
2. **Enter URL or code**: Enter your page URL or paste your JSON-LD code
3. **Validate**: Click "Validate"
4. **Review results**: Check for errors and warnings
5. **Fix issues**: Address any errors or warnings
### Common Schema Errors
* **Missing required properties**: Ensure all required properties are included
* **Invalid date formats**: Use ISO 8601 format for dates
* **Invalid URLs**: Ensure all URLs are valid and accessible
* **Invalid JSON**: Ensure JSON is valid and properly formatted
* **Wrong schema type**: Use the correct schema type for your content
## Best Practices
### Schema Implementation
* **Use JSON-LD**: Prefer JSON-LD format over microdata or RDFa
* **Place in head or body**: Place schema in `` or `` of your HTML
* **Validate regularly**: Test your schema markup regularly
* **Keep updated**: Update schema when content changes
* **Use correct types**: Use the correct schema types for your content
### Schema Content
* **Accurate information**: Ensure schema data matches your actual content
* **Complete data**: Include all relevant properties
* **Valid formats**: Use valid formats for dates, URLs, and other properties
* **Unique content**: Ensure schema data is unique to each page
### Testing and Monitoring
* **Test before publishing**: Validate schema before publishing
* **Monitor rich results**: Check if rich results appear in search
* **Fix errors quickly**: Address schema errors as soon as possible
* **Stay updated**: Keep up with schema markup updates and best practices
## Common Issues
### Schema Not Showing in Rich Results
**Problem**: Schema is valid but not showing in rich results.
**Solution**:
* Rich results aren't guaranteed—Google decides when to show them
* Ensure your content meets quality guidelines
* Wait for Google to re-crawl and re-index your content
* Check that your schema matches your actual content
### Schema Errors
**Problem**: Schema validation shows errors.
**Solution**:
* Fix invalid JSON syntax
* Include all required properties
* Use correct data formats (dates, URLs, etc.)
* Use correct schema types
### Duplicate Schema
**Problem**: Multiple schema blocks on the same page.
**Solution**:
* Combine related schema into a single JSON-LD block when possible
* Ensure schema doesn't conflict
* Use appropriate schema types for each piece of content
## Next Steps
* Learn about [site crawlability basics](/technical-seo/technical-seo-basics) for site quality context
* Explore [on-page quality for citable pages](/technical-seo/on-page-seo) to optimize your content
* Review [article publishing](/articles/publish-articles) to ensure schema is included in your content
# Site crawlability
Source: https://docs.genseo.co/technical-seo/technical-seo-basics
Help AI and crawlers reach your pages: sitemaps, canonicals, indexability, and crawl basics for Genseo site health.
Genseo is an **AI search visibility (AEO/GEO)** platform first. This guide covers site fundamentals that help models **fetch and cite** your URLs. It is not a classic SERP SEO playbook.
## Overview
AI assistants and crawlers need reachable, parseable pages before they can cite you in answers. This guide covers crawlability, indexability, sitemaps, canonicals, noindex rules, and how bots process content over time.
## Why this matters for AEO/GEO
Broken crawl paths, duplicate URLs, or blocked pages reduce the URLs you can earn as **citations** in ChatGPT, Gemini, and AI Overviews. [Site health](/product/site-health) in Genseo flags many of these issues on your domain.
## Crawlability
Crawlability determines whether search engines can access and read your content.
### What Is Crawling?
Crawling is the process by which search engines discover and read web pages. Search engine bots (like Googlebot) visit your site, follow links, and read your content.
### Ensuring Crawlability
Make sure search engines can crawl your site:
* **Robots.txt**: Properly configure robots.txt to allow crawling
* **Server accessibility**: Ensure your server is accessible and responsive
* **No blocking**: Avoid blocking search engines with server-level restrictions
* **Valid links**: Use valid, accessible links throughout your site
### Common Crawlability Issues
* **Blocked by robots.txt**: Incorrectly configured robots.txt blocks search engines
* **Server errors**: 500 errors prevent crawling
* **Slow loading**: Extremely slow pages may not be fully crawled
* **JavaScript-heavy content**: Content loaded via JavaScript may not be crawled properly
## Indexability
Indexability determines whether search engines add your content to their search index.
### What Is Indexing?
Indexing is the process of storing your content in a search engine's database. Only indexed content can appear in search results.
### Ensuring Indexability
Make sure search engines can index your content:
* **No noindex tags**: Avoid noindex meta tags unless you want to exclude content
* **Proper HTML structure**: Use valid HTML that search engines can parse
* **Accessible content**: Ensure content is accessible without requiring login
* **Unique content**: Provide unique, valuable content that's worth indexing
### Common Indexability Issues
* **Noindex tags**: Accidental noindex tags prevent indexing
* **Duplicate content**: Duplicate content may not be indexed
* **Thin content**: Very short or low-quality content may not be indexed
* **Canonical issues**: Incorrect canonical tags may prevent proper indexing
## Sitemaps
Sitemaps help search engines discover and understand your site structure.
### What Are Sitemaps?
Sitemaps are XML files that list all the pages on your site, helping search engines discover and crawl your content more efficiently.
### Sitemap Benefits
* **Faster discovery**: Help search engines discover new content quickly
* **Better crawling**: Guide search engines to important pages
* **Metadata**: Provide metadata about pages (last modified, priority, etc.)
* **Large sites**: Especially helpful for large sites with many pages
### Creating Sitemaps
Most CMS platforms (like Webflow and Shopify) automatically generate sitemaps. You can also:
1. **Use a sitemap generator**: Use tools to generate sitemaps
2. **Submit to search engines**: Submit your sitemap to Google Search Console
3. **Keep updated**: Ensure your sitemap is kept up to date
4. **Validate**: Validate your sitemap to ensure it's correct
### Sitemap Best Practices
* **Include all important pages**: List all pages you want indexed
* **Keep updated**: Update your sitemap when you add or remove pages
* **Submit to search engines**: Submit your sitemap to Google Search Console and Bing Webmaster Tools
* **Use sitemap index**: For large sites, use a sitemap index to organize multiple sitemaps
## Canonical Tags
Canonical tags tell search engines which version of a page is the preferred version.
### What Are Canonicals?
Canonical tags are HTML elements that specify the preferred URL for duplicate or similar content. They help prevent duplicate content issues.
### When to Use Canonicals
Use canonicals when:
* **Duplicate content**: Multiple URLs show the same content
* **URL parameters**: Different URL parameters show the same content
* **HTTP/HTTPS**: Both HTTP and HTTPS versions exist
* **www/non-www**: Both www and non-www versions exist
### Canonical Tag Syntax
```html theme={null}
```
### Canonical Best Practices
* **Self-referencing**: Each page should have a canonical tag pointing to itself (unless it's a duplicate)
* **Absolute URLs**: Use absolute URLs (with https\://) in canonical tags
* **One per page**: Include only one canonical tag per page
* **Consistent**: Ensure canonical tags are consistent across your site
## Noindex Rules
Noindex tags tell search engines not to index a page.
### What Is Noindex?
Noindex is a meta tag that tells search engines not to include a page in their search index. The page can still be crawled but won't appear in search results.
### When to Use Noindex
Use noindex for:
* **Private content**: Content that shouldn't appear in search results
* **Duplicate content**: Duplicate pages you don't want indexed
* **Test pages**: Pages used for testing
* **Admin pages**: Administrative or internal pages
### Noindex Tag Syntax
```html theme={null}
```
Or for specific search engines:
```html theme={null}
```
### Noindex Best Practices
* **Use sparingly**: Only use noindex when necessary
* **Combine with nofollow**: Use nofollow along with noindex if you don't want links followed
* **Monitor impact**: Monitor how noindex affects your site's visibility
* **Remove when needed**: Remove noindex tags when content should be indexed
## How Search Engines Treat Content Over Time
Search engines continuously evaluate and re-evaluate your content.
### Initial Crawling and Indexing
When content is first published:
1. **Discovery**: Search engines discover the content (via sitemaps, links, etc.)
2. **Crawling**: Search engines crawl the content
3. **Indexing**: Content is added to the search index
4. **Ranking**: Content begins to rank (initially low, then adjusts based on performance)
### Ongoing Evaluation
Search engines continuously evaluate content:
* **Freshness**: Search engines prefer fresh, updated content
* **Relevance**: Relevance is re-evaluated as search queries evolve
* **Quality**: Quality signals are continuously assessed
* **Performance**: Performance metrics (click-through rate, bounce rate) influence rankings
### Content Updates
When you update content:
* **Re-crawling**: Search engines re-crawl updated pages
* **Re-indexing**: Updated content is re-indexed
* **Ranking adjustments**: Rankings may adjust based on updates
* **Historical signals**: Historical performance signals are considered
### Best practices for long-term site quality
* **Keep content fresh**: Regularly update content to keep it current
* **Monitor performance**: Track how content performs over time
* **Update as needed**: Update content when information becomes outdated
* **Maintain quality**: Ensure content quality remains high over time
## Common Site technical quality Issues
### Crawl Errors
**Problem**: Search engines can't crawl your site.
**Solution**:
* Check robots.txt configuration
* Verify server accessibility
* Fix server errors
* Ensure links are valid and accessible
### Indexing Issues
**Problem**: Content isn't being indexed.
**Solution**:
* Remove noindex tags if not needed
* Check for duplicate content issues
* Ensure content is unique and valuable
* Verify canonical tags are correct
### Sitemap Problems
**Problem**: Sitemap isn't working correctly.
**Solution**:
* Validate your sitemap
* Ensure all important pages are included
* Keep sitemap updated
* Submit sitemap to search engines
## Best Practices
* **Monitor crawlability**: Regularly check that search engines can crawl your site
* **Ensure indexability**: Verify that important content is being indexed
* **Maintain sitemaps**: Keep sitemaps updated and submitted to search engines
* **Use canonicals properly**: Implement canonicals to avoid duplicate content issues
* **Monitor citations**: Track whether [AI visibility](/product/ai-visibility) improves after site fixes
* **Stay updated**: Keep crawl paths healthy as your site changes
## Next Steps
* Learn about [on-page quality for citable pages](/technical-seo/on-page-seo) to optimize your content
* Explore [schema markup](/technical-seo/schema-markup) for rich results
* Review [publishing articles](/articles/publish-articles) to ensure proper technical setup
# Citations and sources
Source: https://docs.genseo.co/visibility/citations-and-sources
Find which domains and URLs AI models cite for your Genseo prompts, and prioritize pages and sources that win citations.
When AI assistants answer with sources, Genseo records **cited domains and URLs** tied to tracking runs. That shows which sites models treat as evidence for your category, not only whether your brand is named.
## Why citations matter
* Models often **trust pages they cite** even when your brand is mentioned weakly.
* Competitors may win via **documentation, reviews, or listicles** you do not control yet.
* Your own URLs may be cited inconsistently across [platforms](/visibility/tracking-platforms).
## How to use the data
1. Sort or filter top cited sources on the visibility overview.
2. Open a prompt to see citations on the latest stored response.
3. Compare citations when your [visibility](/visibility/prompt-tracking) is flat but competitors rise.
4. Feed gaps into [Opportunities](/product/opportunities) or content plans.
## Improve citation share
* Publish clear, citable pages (definitions, comparisons, data) on your domain.
* Fix crawl and on-page blockers surfaced in [Site health](/product/site-health).
* Earn mentions on sources models already cite (where appropriate for your brand).
## Agents
Use read-only visibility tools in chat; do not invent citation URLs. [Agent guidelines](/developers/agent-guidelines).
## Next steps
* [Competitor tracking](/visibility/competitors)
* [On-page quality for citable pages](/technical-seo/on-page-seo)
# Competitor tracking
Source: https://docs.genseo.co/visibility/competitors
See which brands AI assistants name on your Genseo prompts, compare share of voice, and spot category leaders per platform.
For each tracked prompt, Genseo captures **which other brands** appear in AI answers. That competitor set can change by platform (ChatGPT vs Gemini vs AI Overviews) and over time.
## What to look at
* **Share of voice**: How often competitors appear compared to your brand on the same prompt.
* **Top competitors**: Names that recur across prompts (category leaders, challengers, marketplaces).
* **Prompt-level detail**: Open one prompt to see competitor mentions on the latest run.
Use competitors to prioritize positioning, comparison pages, and prompts you still need to track.
## Connect to action
| Insight | Typical action |
| - | - |
| Competitor cited, you are not | Improve authoritative pages and [citations](/visibility/citations-and-sources) |
| Competitor mentioned, weak sentiment | Refine messaging and proof points |
| You appear but visibility drops | Check [trends](/visibility/prompt-tracking) and site [issues](/product/site-health) |
Add competitors in brand settings where the app supports explicit competitor lists; tracking still discovers brands models mention at runtime.
## ChatGPT and API
Ask ChatGPT (with the [Genseo app](/developers/chatgpt)) to summarize competitors for a selected project using stored data. Developers use `genseo_visibility_overview` and related tools. See [Public API](/developers/public-api).
## Next steps
* [Citations and sources](/visibility/citations-and-sources)
* [Opportunities](/product/opportunities)
# Prompt tracking
Source: https://docs.genseo.co/visibility/prompt-tracking
Add and monitor buyer prompts in Genseo. Scheduled runs show visibility, mentions, and trends so you can improve AI search share of voice.
Prompt tracking is the day-to-day core of Genseo. Each prompt is a real question your buyers ask in AI assistants. Genseo re-runs those prompts on a schedule and stores results so you can see trends, not one-off screenshots.
## Add prompts
1. Open your project **AI Visibility** area.
2. Add prompts in natural language (comparisons, recommendations, "best tool for …").
3. Use tags or clusters if your workspace supports grouping related prompts.
4. Respect your plan [prompt quota](/billing-support/plans-limits-upgrades).
Good prompts mirror **buyer intent**, not only branded keywords.
## Read results
* **Overview**: Aggregate visibility, mention counts, and trend charts.
* **Prompt detail**: Per-prompt history, model breakdown, and latest responses where stored.
* **Filters**: Active vs archived prompts, visibility bands, and status.
Archived prompts keep history; restoring does not automatically start a new paid run unless you request tracking.
## Improve your rank for a prompt
1. Compare your visibility to [competitors](/visibility/competitors) on that prompt.
2. Inspect [cited sources](/visibility/citations-and-sources): which pages models trust today.
3. Fix site issues in [Site health](/product/site-health) that block citations or clarity.
4. Create or update on-site content and third-party mentions aligned with the prompt (optional [articles](/articles/generate-articles)).
There is no single "rank #1" button: Genseo shows **where you stand**; your content and brand work closes the gap.
## Agents and ChatGPT
Connected assistants should read **stored** results by default. Starting a new tracking run from chat requires explicit user confirmation. See [Genseo ChatGPT app](/developers/chatgpt) and `genseo_visibility_*` tools in [MCP tool reference](/developers/mcp-tools).
## Next steps
* [Tracking platforms](/visibility/tracking-platforms)
* [AI visibility overview](/product/ai-visibility)
## Frequently asked questions
### How do I add prompts to track in Genseo?
Open your project AI Visibility area, add natural-language prompts buyers would ask (for example best tools or category comparisons), and stay within your plan prompt quota.
### How do I become number one for a prompt in AI answers?
Genseo shows visibility, competitors, and citations; it does not auto-rank you first. Improve by publishing citable pages, fixing [site health](/product/site-health) issues, earning mentions on sources models already cite, and aligning content with the prompt intent.
### Do archived prompts delete history?
No. Archiving stops active tracking display but keeps historical runs. Restoring does not automatically start a paid tracking run unless you request one.
### Can an AI agent start tracking from ChatGPT?
Agents should read stored data by default. Starting a new tracking run from chat should follow user confirmation because it may consume quota.
# Tracking platforms
Source: https://docs.genseo.co/visibility/tracking-platforms
Genseo measures prompts on ChatGPT, Google Gemini, and AI Overviews. Compare how answers differ by platform over time.
Genseo runs prompt tracking against the **product platforms** your plan enables. Results are stored per prompt and per platform so you can compare how answers differ.
## Supported product platforms
| Platform | What it reflects |
| - | - |
| **ChatGPT** | OpenAI assistant-style answers for your prompt |
| **Gemini** | Google Gemini responses |
| **AI Overviews** | Google AI Overview style results where available |
Tracking is **scheduled** for ongoing monitoring. Platform availability and model mix can depend on your plan and Genseo's provider configuration.
## Compare platforms
Do not assume one platform's winner matches all others. A brand strong in ChatGPT may be absent in AI Overviews. Use platform breakdowns on prompt detail and overview charts to decide where to invest.
## Not the same as the Genseo ChatGPT app
* **Prompt tracking platforms** = engines Genseo queries to measure visibility.
* **[Genseo ChatGPT app](/developers/chatgpt)** = OAuth connector so *you* talk to Genseo inside ChatGPT.
Both can include ChatGPT in name, but one is measurement infrastructure and one is your user interface in OpenAI's product.
## Developers
Visibility API and MCP tools return platform-scoped metrics where the backend stores them. See [Public API](/developers/public-api) and `genseo_visibility_*` in [MCP tools](/developers/mcp-tools).
## Next steps
* [Prompt tracking](/visibility/prompt-tracking)
* [AI visibility overview](/product/ai-visibility)