Integration Guide

Learn how to integrate ACORNCMS content into your website

Quick Navigation

📡 RSS Feed Integration

Subscribe to content updates in any RSS reader. Every site has a unique RSS feed URL.

Feed URL Format:

/feeds/{site-slug}.xml

Popular RSS Readers

Tip: Find your site's unique feed URL by editing the site in the admin panel - it's displayed at the top of the page.

📝 WordPress Integration

Display ACORNCMS content on your WordPress site.

Setup Instructions

  1. 1
    Get your site's RSS feed URL from the admin panel (edit site page)
  2. 2
    Go to WordPress Admin Dashboard
  3. 3
    Navigate to Settings → Reading
  4. 4
    Paste the feed URL into the RSS feed input

Recommended Plugins

RSS Feed to Post

Automatically imports RSS feed items as WordPress posts

Jetpack

Publicize feature automatically shares to social media

Feed Them Social

Display feed items in customizable widgets

⚙️ JavaScript Embed

Embed a live feed widget on any website (HTML, React, Vue, etc.)

Step 1: Add Container HTML

<div id="rss-feed"></div>

Step 2: Add JavaScript Before </body>

<script>
async function loadRssFeed() {
    const feedUrl = '/feeds/YOUR-SITE-SLUG.xml';
    try {
        const response = await fetch(feedUrl);
        const xml = await response.text();
        const parser = new DOMParser();
        const xmlDoc = parser.parseFromString(xml, 'text/xml');
        const items = xmlDoc.querySelectorAll('item');

        const html = Array.from(items).slice(0, 5).map(item => {
            const title = item.querySelector('title')?.textContent || '';
            const link = item.querySelector('link')?.textContent || '';
            const desc = item.querySelector('description')?.textContent || '';
            const date = item.querySelector('pubDate')?.textContent || '';

            return `
                <article style="margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee;">
                    <h3><a href="${link}">${title}</a></h3>
                    <small>${new Date(date).toLocaleDateString()}</small>
                    <p>${desc}</p>
                </article>
            `;
        }).join('');

        document.getElementById('rss-feed').innerHTML = html;
    } catch(e) {
        console.error('Error loading feed:', e);
    }
}
loadRssFeed();
</script>

Replace: Change YOUR-SITE-SLUG with your actual site slug (e.g., my-blog)

🔗 Automation (Zapier / IFTTT)

Automatically share new posts to social media, email, or other services.

Setup Instructions

  1. 1
    Go to Zapier.com or IFTTT.com
  2. 2
    Create a new automation/applet
  3. 3
    Select RSS Feed as the trigger
  4. 4
    Paste your site's feed URL (from admin panel)
  5. 5
    Choose an action to connect to (see below)

Popular Actions

🐦 Twitter/X

Automatically post new content to Twitter

💬 Slack

Send new posts to Slack channels

📧 Email

Get email notifications of new posts

📊 Google Sheets

Add each post as a row in a spreadsheet

💼 LinkedIn

Share posts to your LinkedIn feed

📱 Discord

Post to Discord channels

{''} JSON API (Developers)

Use the JSON API for custom integrations and advanced use cases.

Endpoints

Get All Posts (Paginated)

GET /api/v1/sites/{apiKey}/posts

Query Parameters:

  • page - Page number (default: 1)
  • per_page - Items per page (default: 10)

Response includes: posts data, pagination info, site details

Get Single Post by Slug

GET /api/v1/sites/{apiKey}/posts/{slug}

Returns: single post with full content and tags

Example: Fetch in JavaScript

// Get your site's API key from the admin panel
const apiKey = 'your-api-key-here';

// Fetch all posts
fetch(`/api/v1/sites/${apiKey}/posts`)
    .then(res => res.json())
    .then(data => {
        console.log(data.data);  // Array of posts
        console.log(data.pagination);  // Pagination info
        console.log(data.site);  // Site info
    })
    .catch(error => console.error('Error:', error));

// Fetch single post
fetch(`/api/v1/sites/${apiKey}/posts/my-post-slug`)
    .then(res => res.json())
    .then(data => console.log(data.data))
    .catch(error => console.error('Error:', error));

Example Response (All Posts)

{
  "data": [
    {
      "id": 1,
      "title": "Welcome to ACORNCMS",
      "slug": "welcome-to-acorncms",
      "excerpt": "Introduction to the system...",
      "content": "<p>Full HTML content...</p>",
      "published_at": "2025-11-05T10:00:00Z",
      "tags": [
        { "id": 1, "name": "Tutorial", "slug": "tutorial" }
      ]
    }
  ],
  "pagination": {
    "current_page": 1,
    "last_page": 5,
    "per_page": 10,
    "total": 45
  },
  "site": {
    "id": 1,
    "name": "My Blog",
    "domain": "myblog.com"
  }
}

Getting Started

  1. 1
    Access Admin Panel: Go to /admin and create a site
  2. 2
    Find URLs: Edit your site and scroll to "Integration Guide" section to see all available URLs
  3. 3
    Choose Integration Method: Pick from RSS, WordPress, JavaScript, Automation, or JSON API above
  4. 4
    Follow Instructions: Use the step-by-step guides in each section
  5. 5
    Test: Verify the integration is working and posts are displaying

Need API credentials? Go to Admin Panel

For more info: View API Test Page