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.
Overview
The CMS provides three main components:
- HTML Pages - Individual web pages with rich content
- Templates - Reusable layouts for consistent design
- Assets - Images and files for use in pages
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
- Slug: URL-friendly identifier (auto-generated from title if not provided)
- Template: Select a template to apply consistent styling
- Header: Custom header HTML (overrides template header)
- Footer: Custom footer HTML (overrides template footer)
- Navigation: Custom navigation HTML (overrides template navigation)
- Meta Description: SEO description (recommended 150-160 characters)
- Meta Keywords: SEO keywords (comma-separated)
- Status: draft, published, or archived
- Show in Navigation: Toggle page visibility in site navigation
- Sort Order: Control navigation menu order (lower numbers appear first)
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:
- Direct path:
/pages/{slug} - Published path: Custom paths can be configured
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
- Name: Template identifier (e.g., "Main Website Template")
- Header: HTML for page header (navigation, logo, etc.)
- Footer: HTML for page footer (contact info, copyright, etc.)
- Custom CSS: Stylesheet rules for this template
Template Structure
When a page uses a template, the final HTML structure is:
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
- Name: Asset identifier
- Alt Text: Accessibility description for images
- File: Upload the asset file
Using Assets in Pages
Reference assets in your page content:
Supported File Types
Common supported types:
- Images: JPG, PNG, GIF, SVG, WebP
- Documents: PDF, DOC, DOCX
- Other: As configured by storage settings
Publishing Workflow
Publishing Process
- Create Draft - Start with status = "draft"
- Add Content - Write and format content
- Preview - Review the page (if preview feature enabled)
- Publish - Change status to "published"
- Update Navigation - Toggle "Show in Navigation" if desired
Publishing Best Practices
- Always set meta description for SEO
- Use descriptive, keyword-rich titles
- Test on mobile devices (responsive design)
- Check all links and images
- Use templates for consistency
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:
- Lower numbers appear first
- Same numbers are sorted alphabetically by title
Example Order
| Page | Sort Order |
|---|---|
| Welcome | 1 |
| About Us | 2 |
| Services | 3 |
| Contact | 10 |
SEO Features
Meta Tags
Each page supports:
- Title: Appears in browser tab and search results
- Meta Description: Displayed in search result snippets
- Meta Keywords: Helps with search indexing
SEO Best Practices
Title
- Keep under 60 characters
- Include primary keyword
- Make it descriptive and compelling
Meta Description
- Keep between 150-160 characters
- Include call to action
- Use primary and secondary keywords
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
- Main Website Template - Professional template with purple gradient header
- Simple Template - Minimal template for newsletters
Assets Created
- congregation-logo.png - Sample logo (400×200px)
- sanctuary-hero.jpg - Sample hero image (1920×1080px)
Pages Created
- Welcome Home - Published homepage with hero image
- About Our Congregation - Draft page with mission statement
- Contact Us - Published contact page with form
- Newsletter - Simple newsletter page
Running the Seeder
Best Practices
- Use Templates - Create templates for consistent branding
- Optimize Images - Compress images before uploading
- Mobile-First - Test on mobile devices
- SEO Optimization - Always add meta descriptions
- Accessibility - Use alt text for all images
- Semantic HTML - Use proper heading hierarchy (h1, h2, h3)
- Keep Content Fresh - Regularly update and archive old content
- Backup - Regularly backup your database and assets
Troubleshooting
Page Not Displaying
- Check page status is "published"
- Verify template is properly configured
- Check for HTML errors in content
Broken Images
- Verify asset file exists in storage
- Check file path is correct
- Ensure storage is properly linked:
php artisan storage:link
Navigation Not Showing
- Verify
show_in_navis true - Check
sort_orderfor proper ordering - Ensure page status is "published"