General plugins (Local): Local Pages

Maintained by Picture of Kevin DibbleKevin Dibble, Picture of Learning WorksLearning Works
This plugin is to enable Custom pages and forms in Moodle. It provides a quick way to create custom contact forms and custom page content. The pages created can be publicly accessed or available to certain users based on settings you choose for the page. This allows you to create pages such as: "terms and conditions", marketing material and more.
631 sites
35 fans
Current versions available: 3

This plugin is to enable custom pages and forms in Moodle.

The Pages Plugin provides a quick way to create custom forms and custom page content.

By default, all pages created can be publicly accessed.

To control page access, to logged in users or users with certain capabilities, this is controlled in the page Editor.


Local Pages support forms that can send email and will keep a viewable history of all emails sent.


Pages supports a tree structure and will display in the Navigation menu if "Show in menu" is checked.

Page Urls:

If your server supports .htaccess files - you can enable clean urls instead of page id numbers. 

This is ideal if you wish to use any pages with Google for tracking user engagement.


Install the plugin into your local Moodle under /Local/pages/

Adding and managing pages:

In Moodle under Site Administration -> plugins -> local plugins->pages will be the links to add new pages and edit the plugin settings.


Screenshot #0


Picture of Kevin Dibble
Kevin Dibble (Lead maintainer)
Picture of Learning Works
Learning Works: Developer
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of NAMAN ARORA
    Fri, Apr 26, 2019, 1:03 PM
    Thank you. Great work
  • Picture of David Demetrashvili
    Mon, Jun 3, 2019, 8:45 PM
    Hello, I want to set view only for Authorized users, I don't want to show my pages content to everyone.
    How can I make this?
    Thank u.
  • Picture of Kevin Dibble
    Tue, Jun 4, 2019, 8:53 AM
    To make pages visible to authorized (logged in users) - use a capability that only logged in users have - you can use this as a starting point:
    Place this into the page edit text area called "Capability required".
    Now only users that have rights to edit their profile can then view the page.

    This will prevent logged out users and guests from having access. (As capabilities can be customized - I highly recommend to check its impact by using another browser to see if logged out users and guests can view the page (Logged out users will be taken straight to the login page, Guest users will see a message "You do not have rights to view this page").

    Don't use legacy capabilities - Moodle will not like that and the page will not show - just a warning message instead.
    So avoid "moodle/legacy/xxx"

    Tip 1:
    You can do the reverse permissions - say logged in users are not to see - add an exclamation mark before the capability to become "!moodle/user:editownprofile"

    Tip 2:
    Multiple permissions can be used - let's say you only want logged in users and NOT Managers to view the page (as an example):
    moodle/user:editownprofile, !moodle/user:editprofile (Place a comma between the different capabilities to create your own view filter)

    Tip 3:
    Capabilities to use can be viewed at: - there are lots to choose from.
    You can give roles in Moodle a certain capability and enter that same capability here to restrict pages access to just that role.
    e.g.: moodle/badges:createbadge
    Give that capability to a role that can create badges - then create a page for instructions and images that you want to use for badges.
    That way only uses that can create badges can access the page.

  • Picture of Михаил Непомнящий
    Wed, Jul 3, 2019, 3:16 PM
    Thank you for this plugin. How could I add meta description tags for pages created with your plugin?
  • Rod
    Mon, Jul 22, 2019, 3:04 AM
    Is there any documentation or a "how to" guide for this plugin. It looks useful, based on the description. I have changed the "page template" but nothing changes after I do that. I still just see the html editor. What am I missing here?
  • Picture of Mauro Zaccaria
    Fri, Aug 9, 2019, 8:15 PM
    This is exactly what I need, great work!!

    I am getting those errors on 3.7.1 fresh install:
    You don't have permission to access /local/pages/edit.php on this server.

    Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

    Any pointer?
  • Picture of Emmanuel Andales
    Thu, Aug 15, 2019, 2:45 PM
    Hi Kevin,

    Im using CLEANURL plugin, to clean the URLs of the entire site. Since you have a htaccess file for clean url also, i have noticed the clean url is not working on the page i have created. is it CLEANURLS plugin conflict to this plugin? When you mouseover to the link it appears the clean url but when you visit the link the url it returned to original url with ID. Can you please help me to fix this.

    Another thing, i have noticed the URL canonically order when i visit the child page eg. sitename/local/pages/parent-page/child-page.

  • Picture of DreamLife Road
    Sun, Oct 13, 2019, 4:26 PM
    Thank you great work
  • Picture of Justin Hinkle
    Thu, Oct 17, 2019, 9:01 PM
    Googd job!
  • Picture of Retheesh PG
    Mon, Apr 20, 2020, 4:48 PM
    Very good plugin. thank you.
  • Picture of Matthew Dever
    Mon, Jun 1, 2020, 3:18 PM
    Is it possible to add a recaptcha to a form page? I am getting a lot of spam through it!
  • Picture of DaVinci Menno
    Wed, Jun 3, 2020, 10:21 PM

    Thank you for this plugin!
    Is there a way to get it out of the navigation block? Also: When I add it to the header's block, it tells me I do not have the rights to see the content.
    Where do I find the permission to allow users to see the contact form I have just made?
    Thanks in advance!
  • Picture of Matthew Dever
    Tue, Jun 16, 2020, 9:28 AM
    Hi Kevin,
    Is it possible to set the user Email Address as the Reply-To on a contact form email? Currently if I hit reply on an enquiry form email, it replies to myself.
  • Picture of Aaron H
    Mon, Oct 12, 2020, 1:56 AM
    Not sure if a bug or cache not getting purged. But if you create a page with a Page URL, then delete that page, and create a new page using the same Page URL, then the old pages content is pulled up and not the new. I have purged the moddle caches but that did not remedy the situation
  • Picture of Career Mite
    Thu, Dec 24, 2020, 4:45 AM
    good plugin! great work
1 2 3
Please login to post comments