I'm facing challenges with the multi-site functionality of GravCMS, particularly with the admin plug-in. I need to modify this plug-in so I can manage multiple sites from a single admin interface, with unified roles and permissions across all sites.
Key Requirements:
- Modify the Grav admin plug-in to enable shared management across multiple sites.
- Ensure compatibility with SEO plugins.
Ideal Skills and Experience:
- Proficient in PHP and GravCMS.
- Experience in developing or modifying GravCMS plugins.
- Familiarity with SEO plugins.
- Able to implement a solution that maintains the integrity and functionality of current systems.
Please note, we need a fix that allows us to manage all sites with a single set of user roles and permissions, rather than having to customize these for each individual site. Your understanding of multi-site management and plugin development will be key to the success of this project.
Project Requirements: GravCMS Secondary Development
Background
You need to deeply customize GravCMS to meet specific website requirements, including multi-site support, authorization management, automatic article generation and publishing of GPT docking, SEO optimization, and user registration and login. This project will also integrate the one-api project to support flexible access to multiple AI API interfaces.
Requirement Goal
1. GravCMS multi-site support and configuration
Multi-site support: allows users to manage multiple sites in one GravCMS instance, and each site has independent settings (such as title, keywords, description).
Configuration management interface: Integrate the multi-site configuration management page in the GravAdmin plug-in, and configure the SEO information, publishing restrictions, etc. of each site in a visual way.
Subdomain configuration: Supports independent subdomain settings for each site, and automatically generates corresponding paths and configuration files.
Dynamic generation and management: Supports dynamic generation of multi-site configurations, and provides the functions of adding, deleting and modifying sites in the background.
2. User registration and login
Customized registration and login interface: After the user installs this plug-in, when accessing /admin, the user is forced to register or log in. The registration and login interface is connected to your exclusive interface.
Authorization verification: After successful login, the plug-in will detect whether the current server is authorized. If not, a prompt will pop up to prompt the user to purchase the plug-in and fill in the authorization code.
Authorization code verification and storage: After the user enters the authorization code, the authorization is confirmed. After successful authorization, the authorization information should be saved on the server, and the plug-in can only be run on the authorized server.
3. Authorization management and verification
Integrated authorization function: Connect to the authorization API, manage and verify authorization through the GravAdmin control panel, and prevent unauthorized access.
JWT verification: Use JWT to verify authorization, support single IP binding, authorization information record (such as first use time, authorization expiration time, etc.), and limit request frequency.
Authorization status management: Provide authorization status record and management page for viewing valid and expired authorizations, and support authorization renewal or re-authorization.
Authorization management module: Add an authorization management module to GravAdmin to help users manage authorization codes, authorization status and other information.
4. GPT docking and automated content publishing
one-api integration: docking with the one-api project allows users to flexibly select and configure AI generation interfaces, such as OpenAI GPT, Wenyan Yixin, etc.
Keyword-driven content generation: users only need to enter the keywords for generating articles, and the plug-in automatically docks the AI interface to generate relevant content.
Automated content publishing:
Setting automated publishing rules: According to the preset trigger rules (such as monthly or weekly automatic publishing), the automatically generated content is regularly published to the corresponding site.
Supports custom publishing frequency and article publishing limits for each site to meet the needs of content strategy.
Release quantity configuration: allows users to configure the number of articles automatically published daily or weekly in the settings of each site.
5. SEO optimization
Customized SEO meta information: set customized SEO meta information for each page or article, including title, description and keywords.
Social media tag support: supports the customization of social media tags such as Open Graph and Twitter Cards to improve social media sharing effects.
Sitemap generation: automatically generate [login to view URL], [login to view URL], and update [login to view URL] files to ensure that all sites comply with SEO best practices.
Multisite SEO configuration: set independent SEO meta information for each page and article to ensure that the SEO settings of each site are independent and optimized.
6. Improvements to the GravAdmin plugin
Functional extension: expand the existing GravAdmin plugin to add new functional modules such as authorization verification and multisite configuration management.
User-friendly management interface: add a user-friendly management interface to support centralized management of sites and authorizations and simplify the operation process.
Centralized management function: add publishing quantity limit, multisite SEO settings, authorization management and other functions for each site to improve management efficiency.
7. Other customized functions
Cache and performance optimization: add cache mechanism to improve page loading speed.
Proxy support: support proxy mode, allow access to external API interfaces through proxies, and automatically handle API request rate limits.
Technical requirements
Development environment: developed based on PHP 8.2 and the latest version of GravCMS.
Plugin extension: All functions are implemented through the GravCMS plugin architecture to avoid directly modifying the core code, which is convenient for maintenance and upgrading.
Security: Strengthen authorization verification and request frequency limit to ensure system security.
Project delivery
Project code: It should contain detailed comments, clear structure, easy maintenance and secondary development.
Instructions for use: Provide complete instructions for use, including operation guides such as plugin installation, configuration management, content publishing, SEO settings, etc.
SEO optimization suggestions: Provide multi-site SEO optimization suggestions and configuration guidance to ensure that all sites comply with SEO best practices.
Summary
Through the secondary development of GravCMS, integrate multi-site management, authorization verification, AI content generation and publishing, SEO optimization and other functions to improve the management efficiency and content quality of the website, while ensuring the security and scalability of the system. This project will provide users with a powerful and easy-to-operate GravCMS solution to meet diverse website needs.