> ## Documentation Index
> Fetch the complete documentation index at: https://docs.llmtag.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Other Platform Implementations

> Implementing LLMTAG on platforms other than WordPress

## Platform Support

While our WordPress plugin provides the most comprehensive implementation, LLMTAG can be implemented on any platform that supports static file serving.

<Card title="Universal Compatibility" icon="globe" horizontal>
  **Any Web Server** • **Static Sites** • **CMS Platforms** • **Custom Applications**
</Card>

## Static Site Generators

### Jekyll

Create a `llmtag.txt` file in your Jekyll site's root directory:

```txt theme={null}
---
layout: null
---

spec_version: 3.0
ai_training_data: disallow
ai_use: search_indexing, generative_synthesis
```

### Hugo

Add a `llmtag.txt` file to your Hugo site's `static` directory:

```txt theme={null}
spec_version: 3.0
ai_training_data: disallow
ai_use: search_indexing, generative_synthesis
```

### Next.js

Create a `llmtag.txt` file in your Next.js `public` directory:

```txt theme={null}
spec_version: 3.0
ai_training_data: disallow
ai_use: search_indexing, generative_synthesis
```

### Gatsby

Add a `llmtag.txt` file to your Gatsby `static` directory:

```txt theme={null}
spec_version: 3.0
ai_training_data: disallow
ai_use: search_indexing, generative_synthesis
```

## Content Management Systems

### Drupal

<Steps>
  <Step title="Create the File">
    Create a `llmtag.txt` file in your Drupal site's root directory.
  </Step>

  <Step title="Configure Server">
    Ensure your web server serves the file with the correct MIME type.
  </Step>

  <Step title="Test Access">
    Verify the file is accessible at `https://yourdomain.com/llmtag.txt`.
  </Step>
</Steps>

### Joomla

<Steps>
  <Step title="Upload File">
    Upload the `llmtag.txt` file to your Joomla site's root directory via FTP or file manager.
  </Step>

  <Step title="Set Permissions">
    Set file permissions to 644 to ensure it's readable by web servers.
  </Step>

  <Step title="Verify Access">
    Test that the file is accessible via HTTP.
  </Step>
</Steps>

### Ghost

<Steps>
  <Step title="Create Static File">
    Create a `llmtag.txt` file in your Ghost theme's `public` directory.
  </Step>

  <Step title="Configure Routes">
    Add a route in your Ghost configuration to serve the file.
  </Step>

  <Step title="Test Implementation">
    Verify the file is served correctly.
  </Step>
</Steps>

## E-commerce Platforms

### Shopify

<Steps>
  <Step title="Create File in Files Section">
    Go to your Shopify admin and navigate to Settings > Files.
  </Step>

  <Step title="Upload llmtag.txt">
    Upload your `llmtag.txt` file to the Files section.
  </Step>

  <Step title="Get File URL">
    Copy the file URL and note it for reference.
  </Step>

  <Step title="Set Up Redirect">
    Use Shopify's URL redirects to make the file accessible at `/llmtag.txt`.
  </Step>
</Steps>

### WooCommerce

Since WooCommerce is a WordPress plugin, you can use our [WordPress plugin implementation](/wordpress/installation) for full LLMTAG support.

### Magento

<Steps>
  <Step title="Create File">
    Create a `llmtag.txt` file in your Magento root directory.
  </Step>

  <Step title="Configure Web Server">
    Ensure your web server serves the file with the correct headers.
  </Step>

  <Step title="Test Access">
    Verify the file is accessible at the correct URL.
  </Step>
</Steps>

## Custom Applications

### Node.js/Express

```javascript theme={null}
// Express.js example
app.get('/llmtag.txt', (req, res) => {
  res.setHeader('Content-Type', 'text/plain');
  res.send(`spec_version: 3.0
ai_training_data: disallow
ai_use: search_indexing, generative_synthesis`);
});
```

### PHP

```php theme={null}
<?php
// llmtag.txt endpoint
header('Content-Type: text/plain');
echo "spec_version: 3.0\n";
echo "ai_training_data: disallow\n";
echo "ai_use: search_indexing, generative_synthesis\n";
?>
```

### Python/Django

```python theme={null}
# Django view example
from django.http import HttpResponse

def llmtag_txt(request):
    content = """spec_version: 3.0
ai_training_data: disallow
ai_use: search_indexing, generative_synthesis"""
    return HttpResponse(content, content_type='text/plain')
```

### Ruby on Rails

```ruby theme={null}
# Rails controller example
class LlmtagController < ApplicationController
  def txt
    render plain: "spec_version: 3.0\nai_training_data: disallow\nai_use: search_indexing, generative_synthesis"
  end
end
```

## Server Configuration

### Apache

Add to your `.htaccess` file:

```apache theme={null}
# Serve llmtag.txt with correct MIME type
<Files "llmtag.txt">
    Header set Content-Type "text/plain; charset=utf-8"
</Files>
```

### Nginx

Add to your nginx configuration:

```nginx theme={null}
location = /llmtag.txt {
    add_header Content-Type text/plain;
    add_header Cache-Control "public, max-age=3600";
}
```

### Cloudflare

<Steps>
  <Step title="Upload File">
    Upload your `llmtag.txt` file to your website.
  </Step>

  <Step title="Configure Page Rules">
    Create a page rule to serve the file with correct headers.
  </Step>

  <Step title="Set Cache Level">
    Set cache level to "Cache Everything" for better performance.
  </Step>
</Steps>

## Testing Your Implementation

### Validation Checklist

<Steps>
  <Step title="Check File Accessibility">
    Visit `https://yourdomain.com/llmtag.txt` in your browser.
  </Step>

  <Step title="Validate Content Type">
    Ensure the file is served with `Content-Type: text/plain`.
  </Step>

  <Step title="Test with Tools">
    Use online tools to validate your `llmtag.txt` syntax.
  </Step>

  <Step title="Monitor Access">
    Check your server logs for AI agent access attempts.
  </Step>
</Steps>

### Common Issues

<AccordionGroup>
  <Accordion title="File not accessible">
    **Possible causes:**

    * File not in correct location
    * Server configuration issues
    * File permissions problems

    **Solutions:**

    * Verify file location
    * Check server configuration
    * Set correct file permissions (644)
  </Accordion>

  <Accordion title="Wrong content type">
    **Possible causes:**

    * Server not configured to serve .txt files
    * MIME type not set correctly

    **Solutions:**

    * Configure server to serve text/plain
    * Add appropriate headers
  </Accordion>

  <Accordion title="Caching issues">
    **Possible causes:**

    * CDN or caching layer not updated
    * Browser cache issues

    **Solutions:**

    * Clear CDN cache
    * Add cache-busting parameters
    * Set appropriate cache headers
  </Accordion>
</AccordionGroup>

## Best Practices

### File Management

<Columns cols={2}>
  <Card title="Version Control" icon="git">
    Include `llmtag.txt` in your version control system to track changes over time.
  </Card>

  <Card title="Backup" icon="save">
    Regularly backup your `llmtag.txt` file along with other important site files.
  </Card>

  <Card title="Documentation" icon="file-text">
    Document your LLMTAG policies and any custom implementations.
  </Card>

  <Card title="Testing" icon="flask">
    Test your implementation regularly to ensure it's working correctly.
  </Card>
</Columns>

### Performance Optimization

<Note>
  Follow these tips to optimize your LLMTAG implementation:
</Note>

* **Enable caching** for the `llmtag.txt` file
* **Use CDN** to serve the file from multiple locations
* **Set appropriate headers** for optimal performance
* **Monitor access patterns** to identify optimization opportunities

## Community Resources

### Platform-Specific Guides

<CardGroup cols={2}>
  <Card title="Jekyll Implementation" icon="github" href="https://github.com/llmtag/jekyll-example">
    Complete Jekyll implementation example
  </Card>

  <Card title="Next.js Implementation" icon="react" href="https://github.com/llmtag/nextjs-example">
    Next.js implementation with TypeScript
  </Card>

  <Card title="Django Implementation" icon="python" href="https://github.com/llmtag/django-example">
    Django implementation with dynamic policies
  </Card>

  <Card title="Express.js Implementation" icon="node-js" href="https://github.com/llmtag/express-example">
    Express.js implementation with middleware
  </Card>
</CardGroup>

### Getting Help

<Card title="Need Platform-Specific Help?" icon="question" href="/resources/community" horizontal>
  **Join our Discord** • **GitHub Discussions** • **Community Examples**
</Card>
