Overview
The CMS module provides:- Pages - Create and manage content pages
- Menus - Build navigation menus
- Widgets - Content widgets for pages
- File Management - Upload and manage media files
- SEO Management - Meta tags and URL keys
Module Structure
GraphQL Types
CmsPage Type
Menu Type
Content Pages
Creating Pages
Pages can be created through the admin panel or API:Page Layouts
EverShop supports multiple page layouts:- full_width - Full width content
- one_column - Single column with sidebar
- two_columns - Two column layout
Page Status
- 1 - Published (visible on storefront)
- 0 - Draft (not visible)
URL Keys
Each page has a unique URL key:- Must be URL-friendly (lowercase, hyphens)
- Automatically validated for uniqueness
- Used to generate page URLs:
/page/about-us
Content Editor
The CMS uses a rich text editor for content creation:- WYSIWYG Editor - Visual content editing
- HTML Mode - Direct HTML editing
- Media Insert - Insert images and files
- Formatting Tools - Text formatting, lists, links
Menus
Menu System
Menus provide navigation:- Header Menu - Main navigation
- Footer Menu - Footer links
- Custom Menus - Additional menus
Menu Items
Menu items can link to:- CMS pages
- Category pages
- Custom URLs
- External links
Hierarchical Menus
Menus support multiple levels:Widgets
Widgets are reusable content blocks:Widget Types
- Text Widget - Rich text content
- HTML Widget - Custom HTML
- Banner Widget - Image banners
- Product Widget - Featured products
- Custom Widgets - Extension-defined widgets
Widget Placement
Widgets can be placed in:- Specific pages
- All pages
- Page areas (header, footer, sidebar)
File Management
The CMS module includes file management:Uploading Files
File Browser
The file browser provides:- File upload
- Folder creation
- File organization
- Image preview
- File deletion
Supported File Types
- Images: jpg, jpeg, png, gif, webp, svg
- Documents: pdf
- Other: Configurable in settings
CMS Services
The CMS module exports these services:Database Schema
The CMS module defines:cms_page- Content pagescms_page_description- Page translations (if enabled)url_rewrite- SEO-friendly URLs
GraphQL Queries
Get CMS Page
Get Current CMS Page
List CMS Pages (Admin)
SEO Features
Meta Tags
Each page supports:- Meta Title - Page title tag
- Meta Description - Page description
- Meta Keywords - Search keywords
URL Rewrites
SEO-friendly URLs:/page/about-usinstead of/page?id=123- Automatically generated from URL key
- Stored in
url_rewritetable
Open Graph Tags
Pages support Open Graph for social sharing:Admin CMS Management
Administrators can:- Create and edit pages
- Manage page layouts
- Upload and organize files
- Configure menus
- Manage widgets
- Set page status (publish/draft)
- Preview pages before publishing
Best Practices
URL Keys: Use descriptive, keyword-rich URL keys for better SEO. Avoid changing URL keys after publishing to maintain link integrity.
Common Use Cases
Static Pages
Create common pages:- About Us
- Privacy Policy
- Terms of Service
- Shipping Information
- Return Policy
- FAQ
- Contact Us
Landing Pages
Create marketing landing pages:- Seasonal promotions
- Product launches
- Special campaigns
- Brand stories
Custom Layouts
Use custom layouts for:- Homepage content blocks
- Category landing pages
- Brand pages
- Editorial content
API Endpoints
Key CMS API endpoints:GET /api/cms/pages- List pages (admin)GET /api/cms/pages/:id- Get pagePOST /api/cms/pages- Create pagePATCH /api/cms/pages/:id- Update pageDELETE /api/cms/pages/:id- Delete pagePOST /api/cms/files- Upload fileGET /api/cms/files/browse- Browse filesDELETE /api/cms/files/:path- Delete file
Related Documentation
CMS Services API
Learn about the CMS services API
Widgets API
Widget system documentation
Components
Creating custom CMS components
GraphQL Queries
CMS GraphQL queries