:show-content: ===== Pages ===== Odoo allows you to create pages for your website and customize their content and appearance to your needs. .. _website/page_type: **Static** pages have stable content, such as the homepage. You can manually create new ones, define their URLs, adapt their :ref:`properties <website/page_properties>`, etc. **Dynamic** pages, on the other hand, are generated dynamically. All pages generated automatically by Odoo, for example, when you install an app or module (e.g., `/shop` or `/blog`) or publish a new product or blog post, are dynamic pages and are therefore managed differently. Page creation ============= Website pages can be created from the **frontend** and the **backend**. To create a new website page, proceed as follows: #. - Either open the **Website** app, click :guilabel:`+ New` in the top-right corner, then select :guilabel:`Page`; - Or go to :menuselection:`Website --> Site --> Pages` and click :guilabel:`New`. #. Enter a :guilabel:`Page Title`; this title is used in the menu and the page's URL. #. Click :guilabel:`Create`. #. Customize the page's content and appearance using the website builder, then click :guilabel:`Save`. #. :ref:`Publish <website/un-publish-page>` the page. .. note:: Disable :guilabel:`Add to menu` if the page should not appear in the menu. Page management =============== .. _website/un-publish-page: Publishing/unpublishing pages ----------------------------- Pages need to be published to make them accessible to website visitors. To publish or unpublish a page, access it and toggle the switch in the upper-right corner from :guilabel:`Unpublished` to :guilabel:`Published`, or vice versa. .. image:: pages/un-published_toggle.png :alt: Unpublished/Published toggle .. note:: It is also possible to: - publish/unpublish a page from the :ref:`page properties <website/page_properties>`, where you can define a publishing date and/or restrict the page's visibility if needed; - publish/unpublish several pages at once: go to :menuselection:`Website --> Site --> Pages`, select the pages, then click :guilabel:`Action` and select :guilabel:`Publish` or :guilabel:`Unpublish`. Homepage -------- When you create a website, Odoo creates a dedicated :guilabel:`Home` page by default, but you can define any website page as your homepage. To do so, go to :menuselection:`Website --> Configuration --> Settings`, then, in the :guilabel:`Website info` section, define the URL of the desired page in the field :guilabel:`Homepage URL` (e.g., `/shop`). Alternatively, you can define any :ref:`static page <website/page_type>` as your homepage by going to :menuselection:`Website --> Site --> Properties`. Select the :guilabel:`Publish` tab and enable :guilabel:`Use as Homepage`. .. _website/page_properties: Page properties --------------- To modify a :ref:`static page's <website/page_type>` properties, access the page you wish to modify, then go to :menuselection:`Site --> Properties`. The :guilabel:`Name` tab allows you to: - rename the page using the :guilabel:`Page Name` field; - modify the :guilabel:`Page URL`. In this case, you can redirect the old URL to the new one if needed. To do so, enable :guilabel:`Redirect Old URL`, then select the :guilabel:`Type` of :ref:`redirection <website/URL-redirection>`: - :guilabel:`301 Moved permanently`: to redirect the page permanently; - :guilabel:`302 Moved temporarily`: to redirect the page temporarily. .. image:: pages/page-redirection.png :alt: Redirect old URL You can further adapt the page's properties in the :guilabel:`Publish` tab: - :guilabel:`Show in Top Menu`: Disable if you don't want the page to appear in the menu; - :guilabel:`Use as Homepage`: Enable if you want the page to be the homepage of your website; - :guilabel:`Indexed`: Disable if you don't want the page to be shown in search engine results; - :guilabel:`Published`: Enable to publish the page; - :guilabel:`Publishing Date`: To publish the page at a specific moment, select the date, click the clock icon to set the time, then click the green check mark to validate your selection. - :guilabel:`Visibility`: Select who can access the page: - :guilabel:`All` - :guilabel:`Signed In` - :guilabel:`Restricted Group`: Select the :doc:`user access group(s) </applications/general/users/access_rights>` in the :guilabel:`Authorized group` field. - :guilabel:`With Password`: Enter the password in the :guilabel:`Password` field. .. tip:: *Some* of these properties can also be modified from :menuselection:`Website --> Site --> Pages`. Duplicating pages ~~~~~~~~~~~~~~~~~ To duplicate a page, access the page, then go to :menuselection:`Site --> Properties` and click :guilabel:`Duplicate Page`. Enter a :guilabel:`Page Name`, then click :guilabel:`OK`. By default, the new page is added after the duplicated page in the menu, but you can remove it from the menu or change its position using the :doc:`menu editor <pages/menus>`. .. _website/delete-page: Deleting pages ~~~~~~~~~~~~~~ To delete a page, proceed as follows: #. Access the page, then go to :menuselection:`Site --> Properties` and click :guilabel:`Delete Page`. #. A pop-up window appears on the screen with all links referring to the page you want to delete, organized by category. To ensure website visitors don't land on a 404 error page, you must update all the links on your website referring to the page. To do so, expand a category, then click on a link to open it in a new window. Alternatively, you can set up a :ref:`redirection <website/URL-redirection>` for the deleted page. #. Once you have updated the links (or set up a :ref:`redirection <website/URL-redirection>`), select the :guilabel:`I am sure about this` check box, then click :guilabel:`OK`. .. _website/URL-redirection: URL redirect mapping -------------------- URL redirect mapping consists in sending visitors and search engines to a URL different from the one they initially requested. This technique is used, for example, to prevent broken links when you :ref:`delete a page <website/delete-page>`, :ref:`modify its URL <website/page_properties>`, or migrate your site from another platform to an Odoo :doc:`domain <configuration/domain_names>`. It can also be used to improve :doc:`pages/seo`. To access existing URL redirections and create new ones, :doc:`activate the developer mode </applications/general/developer_mode>` and go to :menuselection:`Website --> Configuration --> Redirects`. .. note:: - A redirect record is added automatically every time you :ref:`modify a page's URL <website/page_properties>` and enable :guilabel:`Redirect Old URL`. - You can set up redirections for :ref:`static and dynamic pages <website/page_type>`. To create a new redirection, click the :guilabel:`New` button, then fill in the fields: - :guilabel:`Name`: Enter a name to identify the redirect. - :guilabel:`Action`: Select the type of redirection: - :guilabel:`404 Not found`: visitors are redirected to a 404 error page when they try to access an unpublished or deleted page. - :guilabel:`301 Moved Permanently`: for permanent redirections of unpublished or deleted :ref:`static pages <website/page_type>`. The new URL is shown in search engine results, and the redirect is cached by browsers. - :guilabel:`302 Moved Temporarily`: for short-term redirections, for example, if you are redesigning or updating a page. The new URL is neither cached by browsers nor shown in search engine results. - :guilabel:`308 Redirect/Rewrite`: for permanent redirections of existing :ref:`dynamic pages <website/page_type>`. The URL is renamed; the new name is shown in search engine results and is cached by browsers. Use this redirect type to rename a dynamic page, for example, if you wish to rename `/shop` into `/market`. - :guilabel:`URL from`: Enter the URL to be redirected (e.g., `/about-the-company`) or search for the desired :ref:`dynamic page <website/page_type>` and select it from the list. - :guilabel:`URL to`: For 301, 302, and 308 redirects, enter the URL to be redirected to. If you want to redirect to an external URL, include the protocol (e.g., `https://`). - :guilabel:`Website`: Select a specific website. - :guilabel:`Sequence`: To define the order in which redirections are performed, e.g., in the case of redirect chains (i.e., a series of redirects where one URL is redirected to another one, which is itself further redirected to another URL). Toggle the :guilabel:`Activate` switch to deactivate the redirection. .. important:: 404, 301, and 302 redirections are meant to migrate traffic from :ref:`unpublished <website/un-publish-page>` or :ref:`deleted <website/delete-page>` pages to *new* pages, while the 308 redirect is used for *permanent* redirections of *existing* pages. .. seealso:: - `Google documentation on redirects and search <https://developers.google.com/search/docs/crawling-indexing/301-redirects>`_ - :doc:`pages/seo` .. toctree:: :titlesonly: pages/menus pages/seo