--- show-content: true --- # 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 `, 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: > 1. - 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`. > 2. Enter a {guilabel}`Page Title`; this title is used in the menu and the page's URL. > 3. Click {guilabel}`Create`. > 4. Customize the page's content and appearance using the website builder, then click > {guilabel}`Save`. > 5. {ref}`Publish ` 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 `, 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 ` 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 ` 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 `: - {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) ` 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 `. (website-delete-page)= #### Deleting pages To delete a page, proceed as follows: 1. Access the page, then go to {menuselection}`Site --> Properties` and click {guilabel}`Delete Page`. 2. 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 ` for the deleted page. 3. Once you have updated the links (or set up a {ref}`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 `, {ref}`modify its URL `, or migrate your site from another platform to an Odoo {doc}`domain `. It can also be used to improve {doc}`pages/seo`. To access existing URL redirections and create new ones, {doc}`activate the 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 ` and enable {guilabel}`Redirect Old URL`. - You can set up redirections for {ref}`static and dynamic pages `. ::: 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 `. 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 > `. 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 ` 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 ` or {ref}`deleted ` 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: true pages/menus pages/seo ```