Content Management System (CMS)

ShulNET includes a full-featured content management system that allows you to create, publish, and manage static HTML pages for your congregation's website. The system supports templates, reusable assets, and dynamic navigation.

Quick Access: Navigate to Admin → HTML Pages to get started with content management.

Overview

The CMS provides three main components:

HTML Pages

Creating Pages

Navigate to /admin/html-pages to manage all pages.

Required Fields

Field Description
Title Page title (displayed in browser and navigation)
Content HTML content for the page body

Optional Fields

Page Statuses

Status Description
Draft Work in progress, not visible to public
Published Live and accessible via URL
Archived Removed from navigation but URL still accessible

Page URLs

Pages are accessible via:

Example: Title: "About Our Congregation" Slug: about-us URL: https://yoursite.com/pages/about-us

Templates

Overview

Templates provide consistent styling and structure across multiple pages. Create a template once and apply it to many pages.

Creating Templates

Navigate to /admin/html-templates to manage templates.

Template Fields

Template Structure

When a page uses a template, the final HTML structure is:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>{Page Title}</title> <meta name="description" content="{Meta Description}"> <meta name="keywords" content="{Meta Keywords}"> <style> {Template Custom CSS} </style> </head> <body> <header> {Template Header or Page Custom Header} </header> <nav> {Template Navigation or Page Custom Navigation} </nav> <main> {Page Content} </main> <footer> {Template Footer or Page Custom Footer} </footer> </body> </html>

Assets

Overview

Assets are reusable media files (images, documents, etc.) that can be referenced in pages.

Managing Assets

Navigate to /admin/html-assets to manage all assets.

Asset Fields

Using Assets in Pages

Reference assets in your page content:

<img src="/storage/assets/congregation-logo.png" alt="Our Logo"> <img src="/storage/assets/sanctuary-hero.jpg" alt="Sanctuary interior">

Supported File Types

Common supported types:

Publishing Workflow

Publishing Process

  1. Create Draft - Start with status = "draft"
  2. Add Content - Write and format content
  3. Preview - Review the page (if preview feature enabled)
  4. Publish - Change status to "published"
  5. Update Navigation - Toggle "Show in Navigation" if desired

Publishing Best Practices

Navigation Management

Auto-Generated Navigation

Pages with show_in_nav = true automatically appear in the site navigation menu.

Navigation Order

Control menu order with the sort_order field:

Example Order

Page Sort Order
Welcome 1
About Us 2
Services 3
Contact 10

SEO Features

Meta Tags

Each page supports:

SEO Best Practices

Title

Meta Description

Example:
Title: "Weekly Shabbat Services | Congregation Beth Shalom"
Meta Description: "Join us every Friday at 7 PM for traditional Shabbat services. All are welcome to our warm, inclusive community. Learn more about our services."
Keywords: "shabbat services, friday night, jewish services, synagogue"

Seeded Content

The system includes a seeder (HtmlContentSeeder) that creates sample content:

Templates Created

  1. Main Website Template - Professional template with purple gradient header
  2. Simple Template - Minimal template for newsletters

Assets Created

  1. congregation-logo.png - Sample logo (400×200px)
  2. sanctuary-hero.jpg - Sample hero image (1920×1080px)

Pages Created

  1. Welcome Home - Published homepage with hero image
  2. About Our Congregation - Draft page with mission statement
  3. Contact Us - Published contact page with form
  4. Newsletter - Simple newsletter page

Running the Seeder

php artisan db:seed --class=HtmlContentSeeder

Best Practices

  1. Use Templates - Create templates for consistent branding
  2. Optimize Images - Compress images before uploading
  3. Mobile-First - Test on mobile devices
  4. SEO Optimization - Always add meta descriptions
  5. Accessibility - Use alt text for all images
  6. Semantic HTML - Use proper heading hierarchy (h1, h2, h3)
  7. Keep Content Fresh - Regularly update and archive old content
  8. Backup - Regularly backup your database and assets

Troubleshooting

Page Not Displaying

Broken Images

Navigation Not Showing

Need Help? Contact your administrator or check the developer documentation for more advanced features.