[IMP] website: update Pages page + add AI webpage generator

task-5913862

closes odoo/documentation#16676

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
This commit is contained in:
lman-odoo
2026-02-06 12:09:24 +01:00
committed by Audrey (auva)
parent d9c1bec84c
commit 7221077328
9 changed files with 143 additions and 157 deletions

View File

@@ -90,7 +90,6 @@ Below are some common requests that the *Ask AI* agent can assist with:
ai/default_prompts
ai/document_sort
ai/fields
ai/webpage
ai/live-chat
ai/server-actions
ai/email-templates

View File

@@ -1,57 +0,0 @@
====================
AI webpage generator
====================
.. |AI| replace:: :abbr:`AI (Artificial Intelligence)`
Within Odoo's **Website** application, |AI| can be utilized to generate original webpages. By
providing Odoo with a prompt, the |AI| agent generates a design and content that suits the
business's needs, style, and tone.
.. note::
The **AI** application does **not** need to be installed on the database to use the webpage
generator, only the **Website** app.
Generating a new webpage
========================
First, navigate to the :menuselection:`Website app`. In the top-right of the page, click
:guilabel:`New`, then click :guilabel:`Page`.
.. image:: webpage/new-page.png
:alt: Adding a new page to a website in Odoo.
On the :guilabel:`New Page` pop-up, select the desired page type.
.. note::
The |AI| webpage generator is not available on the *Blank* page type.
Clicking on a page type opens a :guilabel:`New Page` pop-up. Enter a :guilabel:`Page Title`, then
slide the :guilabel:`AI Generate Text` toggle to active to reveal the :guilabel:`Instructions`
field. Here, enter a short description of the page being created. This should include a few
important keywords that help define the focus and scope of the page.
Next, select one of the tone options for the page:
- :guilabel:`Concise`
- :guilabel:`Professional`
- :guilabel:`Friendly`
- :guilabel:`Persuasive`
- :guilabel:`Informative`
.. image:: webpage/generate-page.png
:alt: The new page pop-up with the Generate AI text options visible.
When finished, click :guilabel:`Create with AI`. It may take a few moments for the webpage to load.
Content created by the |AI| generator can be edited. Click :guilabel:`Edit` on the toolbar on the
right side of the page, then click on a block of text to make changes. Click :guilabel:`Save` when
finished.
.. tip::
The webpage generator may have created buttons. Before publishing the webpage, confirm that all
buttons are linked to an active webpage.
After reviewing the page, slide the :guilabel:`Unpublished` toggle to active to publish the page.
.. seealso::
:doc:`Web design <../../websites/website/web_design>`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -4,204 +4,247 @@
Pages
=====
Odoo allows you to create pages for your website and customize their content and appearance to your
needs.
Odoo allows you to :ref:`create <website/pages/page_creation>` different kinds of webpages,
including with the help of :ref:`AI <website/pages/ai-generator>`, :ref:`publish
<website/pages/un-publish-page>` them, and define their structure and visibility by configuring
:ref:`page properties <website/pages/page_properties>`. Pages can be :ref:`duplicated
<website/pages/duplicate-page>`, :ref:`deleted <website/pages/delete-page>`, and :ref:`redirected
<website/pages/URL-redirection>`.
.. _website/pages/page_type:
**Static** pages, such as the homepage or any :ref:`custom-created <website/pages/page_creation>`,
contain fixed content that does not change dynamically. You can manually create these pages, define
their URLs, and adapt their :ref:`properties <website/pages/page_management>` as needed. **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
:doc:`blog post <../../blog>`, are dynamic pages and are therefore managed differently.
.. admonition:: Page types
**Static** pages, such as the homepage or :ref:`custom <website/pages/page_creation>` pages,
contain fixed content that does not change dynamically. You can manually create these pages,
define their URLs, and adapt their :ref:`properties <website/pages/page_properties>` as needed.
**Dynamic** pages, on the other hand, display content that changes automatically based on the
data in the database and user interaction (e.g., filtering). They are generated automatically by
Odoo, for example, when installing an app or module (e.g., `/shop` or `/blog`) or publishing a
new :doc:`product <../../ecommerce>` or :doc:`blog post <../../blog>`. Dynamic pages are managed
differently from static pages.
.. _website/pages/page_creation:
Page creation
=============
Website pages can be created from the **frontend** and the **backend**. To create a new website
page, proceed as follows:
Website pages can be created from the **frontend** and the **backend**.
#. - Either open the **Website** app, click :guilabel:`+ New` in the top-right corner, then select
:guilabel:`Page`;
#. To create a new website page:
- Either open the **Website** app, click :guilabel:`New` :icon:`fa-caret-down` in the top-right
corner, then select :guilabel:`Page`;
- Or go to :menuselection:`Website --> Site --> Pages` and click :guilabel:`New`.
#. In the :guilabel:`New Page` selection menu, click on a template. They are sorted by type:
#. In the :guilabel:`New Page` pop-up, select a template. Templates are grouped by type:
- :guilabel:`Basic`: Multi-purpose page. A blank page is also available to start from scratch.
- :guilabel:`About`: Information about your brand.
- :guilabel:`Landing Pages`: Summary of company content and info.
- :guilabel:`About`: Information about the brand and company.
- :guilabel:`Landing Pages`: Summary of company content and information.
- :guilabel:`Gallery`: Photos and media showcase.
- :guilabel:`Services`: Focus on what you're selling and contact.
- :guilabel:`Pricing Plans`: Highlight on subscription and prices.
- :guilabel:`Team`: The people behind your company.
- :guilabel:`Custom`: To select a custom template. To add a template to this category, open the
page you want to save as a template, then go to :menuselection:`Site --> Properties`, enter
the :guilabel:`Page Title`, :ref:`edit the page's properties
<website/pages/page_properties>`, enable :guilabel:`Is a template`, and click
:guilabel:`Save`.
- :guilabel:`Services`: Overview of the services offered by the company.
- :guilabel:`Pricing Plans`: Overview of the subscriptions and prices.
- :guilabel:`Team`: The people behind the company.
- :guilabel:`Custom`: Custom-created templates. To add a custom template, open the page you
want to save as a template and :ref:`edit the page's properties
<website/pages/page_properties>`.
#. In the :guilabel:`New Page` pop-up:
- Enter a :guilabel:`Page Title`. This title is used in the menu and the page's URL.
- Disable :guilabel:`Add to menu` if the page should not appear in the menu.
- Enable :guilabel:`Generate text` to use the :ref:`AI <website/pages/ai-generator>` tool to
build the page.
#. Enter a :guilabel:`Page Title`; this title is used in the menu and the page's URL.
#. Click :guilabel:`Create`.
#. If needed, :doc:`customize the page's content and appearance <../web_design>` using the website
editor, then click :guilabel:`Save`.
editor or :ref:`translate <translate/translate>` it, then click :guilabel:`Save`.
#. :ref:`Publish <website/pages/un-publish-page>` the page.
.. tip::
Disable :guilabel:`Add to menu` if the page should not appear in the menu.
.. _website/pages/ai-generator:
.. _website/pages/page_management:
AI webpage generator
--------------------
Page management
===============
To generate content using AI when :ref:`creating a new page <website/pages/page_creation>`, follow
these steps:
#. After choosing a template, in the :guilabel:`New Page` pop-up, toggle the :guilabel:`AI Generate
Text` switch.
#. In the :guilabel:`Instructions` field, enter a short description of the page being created. This
should include a few important keywords that define the page's focus and scope.
#. Select one of the tone options for the page, such as :guilabel:`Concise`,
:guilabel:`Professional`, :guilabel:`Friendly`, :guilabel:`Persuasive`, or
:guilabel:`Informative`.
#. Click :guilabel:`Create with AI`. It may take a few moments for the webpage to load.
.. image:: pages/generate-page.png
:alt: The new page pop-up window with the "AI Generate text" options.
:scale: 75%
.. note::
- The AI application does **not** need to be installed on the database to use the webpage
generator.
- Content created by the AI generator can be customized using the :doc:`website editor
<../web_design>`.
- The AI webpage generator is not available for the *Blank* page type.
- The webpage generator may create :ref:`buttons <website/elements/buttons>`. Before publishing
the webpage, confirm that all buttons are linked to an active webpage.
.. seealso::
- :doc:`Web design <../web_design>`
- :doc:`/applications/productivity/ai`
.. _website/pages/un-publish-page:
Publishing/unpublishing pages
-----------------------------
=============================
Pages need to be published to make them visible 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
.. 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/pages/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`.
Alternatively, you can define any :ref:`static page <website/pages/page_type>` as your homepage by
going to :menuselection:`Website --> Site --> Properties`. Select the :guilabel:`Publish` tab and
enable :guilabel:`Use as Homepage`.
- Publish/unpublish a page from the :ref:`page properties <website/pages/page_properties>`.
- Publish/unpublish several pages at once. To do so, go to :menuselection:`Website --> Site
--> Pages`, select the pages, then click :icon:`fa-cog` :guilabel:`Actions` and select
:icon:`fa-globe` :guilabel:`Publish` or :icon:`fa-chain-broken` :guilabel:`Unpublish`.
.. _website/pages/page_properties:
Page properties
---------------
===============
To modify a :ref:`static page's <website/pages/page_type>` properties, access the page you wish to
modify, then go to :menuselection:`Site --> Properties`, where you can change the following
properties:
modify, then go to :menuselection:`Website --> Site --> Properties`, where the following properties
can be adapted:
- :guilabel:`Page URL` : Modify the page URL in the field. 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:`Page Title`: Modify the page's title.
- :guilabel:`Page URL`: Modify the page URL in the field. 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/pages/URL-redirection>`:
- :guilabel:`301 Moved permanently`: to redirect the page permanently.
- :guilabel:`302 Moved temporarily`: to redirect the page temporarily.
.. image:: pages/page-properties.png
:alt: Redirect old URL
- :guilabel:`In Menu`: Disable if you don't want the page to appear in the menu.
- :guilabel:`Is Homepage`: Enable if you want the page to be the homepage of your website.
- :guilabel:`Published`: Enable to publish the page.
- :guilabel:`In Menu`: Disable if the page should not appear in the menu. Click the
:icon:`fa-arrow-right` :guilabel:`Edit Menu` link to modify the menu.
- :guilabel:`Is Homepage`: Enable if the *static* page should serve as the homepage of the website.
- :guilabel:`Published`: Enable it to publish the page.
- :guilabel:`Publishing Date`: To publish the page at a specific date and time, click the field,
set the date and time, then press **Enter** or click :guilabel:`Apply` to validate your selection.
- :guilabel:`Indexed`: Disable if you don't want the page to appear in search engine results.
set the date and time, then press **Enter** or click :guilabel:`Apply` to validate the selection.
- :guilabel:`Indexed`: Disable if the page should not appear in search engine results.
- :guilabel:`Visibility`: Select who can access the page:
- :guilabel:`Public`: Everyone can access the page.
- :guilabel:`Signed In`: Only signed-in users can access the page.
- :guilabel:`Restricted Group`: Select the :doc:`user access group(s)
</applications/general/users/access_rights>` in the :guilabel:`Authorized group` field.
</applications/general/users/access_rights>` in the :guilabel:`Authorized Groups` field.
- :guilabel:`With Password`: Type the password required to access the page in the
:guilabel:`Password` field.
- :guilabel:`Is a template`: Toggle the switch to save the page as a template and add it to the
:guilabel:`Custom` category.
.. tip::
*Some* of these properties can also be modified in batch from
:menuselection:`Website --> Site --> Pages`.
- :guilabel:`Is a Template`: Toggle the switch to save the page as a template. It is now available
in the :guilabel:`Custom` category when :ref:`creating a new page <website/pages/page_creation>`.
.. _website/pages/duplicate-page:
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 <header_footer>`.
To duplicate a page, access the page, then go to :menuselection:`Website --> Site --> Properties`,
and click :guilabel:`Duplicate Page`. In the :guilabel:`Confirmation` window, enter a
:guilabel:`Page Name`, then click :guilabel:`Ok`. By default, the new page is not published; it is
added after the originally duplicated page in the menu. Use the :doc:`menu editor <header_footer>`
to remove it from the menu or change its position.
.. tip::
You can also duplicate one or several pages by going to :menuselection:`Website --> Site -->
Pages`. Select the relevant page(s), click :icon:`fa-cog` :guilabel:`Actions`, and select
:icon:`fa-files-o` :guilabel:`Duplicate`.
.. _website/pages/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 shows all links referring to the page you want to delete,
organized by category. To ensure website visitors don't land on an 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
#. Access the page, then go to :menuselection:`Website --> Site --> Properties` and click
:guilabel:`Delete Page`.
#. The :guilabel:`Delete Page` pop-up shows all links referring to the page you want to delete,
organized by category. To ensure website visitors do not land on an error page, update all links
on the website that refer 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/pages/URL-redirection>` for the deleted page.
#. Once you have updated the links (or set up a :ref:`redirection <website/pages/URL-redirection>`),
tick the :guilabel:`I am sure about this` check box, then click :guilabel:`OK`.
#. Once you have updated the links (or set up a :ref:`redirect <website/pages/URL-redirection>`),
tick the :guilabel:`I am sure about this.` checkbox, then click :guilabel:`Delete`.
.. tip::
You can also delete one or several pages by going to :menuselection:`Website --> Site --> Pages`.
Select the relevant page(s), click :icon:`fa-cog` :guilabel:`Actions`, and select
:icon:`fa-trash` :guilabel:`Delete`.
.. _website/pages/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/pages/delete-page>`,
:ref:`modify its URL <website/pages/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:`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`.
URL redirect mapping involves sending visitors and search engines to a URL other than the one they
initially requested. This technique is used, for example, to prevent broken links when
:ref:`deleting a page <website/pages/delete-page>`, :ref:`modifying its URL
<website/pages/page_properties>`, or migrating the site from another platform to an Odoo
:doc:`domain <../configuration/domain_names>`. It can also be used to improve :doc:`seo`.
.. note::
- A redirect record is added automatically every time you :ref:`modify a page's URL
<website/pages/page_properties>` and enable :guilabel:`Redirect Old URL`.
- You can set up redirections for :ref:`static and dynamic pages <website/pages/page_type>`.
- Redirections can be configured for :ref:`static and dynamic pages <website/pages/page_type>`.
To create a new redirection, click the :guilabel:`New` button, then fill in the fields:
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`. To create a redirection, click :guilabel:`New` in the :guilabel:`Rewrite` view, then
adapt 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
- :guilabel:`404 Not found`: Visitors land on 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/pages/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
- :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/pages/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:`308 Redirect / Rewrite`: for permanent redirections where the original URL is
rewritten (typically used for :ref:`dynamic pages <website/pages/page_type>`). The URL is
renamed; the new name appears 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/pages/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:`Active`: Toggle the switch off to deactivate the redirection.
- :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/pages/un-publish-page>` or :ref:`deleted <website/pages/delete-page>` pages
to *new* pages, while the 308 redirect is used for *permanent* redirections of *existing* pages.
301 and 302 redirects are commonly used to redirect traffic from :ref:`unpublished
<website/pages/un-publish-page>` or :ref:`deleted <website/pages/delete-page>` *static* pages to
new pages. The 308 redirect is typically used for permanent URL rewrites, especially for
*dynamic* pages. A 404 status is used when a page no longer exists, and no redirection is
configured.
.. seealso::
- `Google documentation on redirects and search <https://developers.google.com/search/docs/crawling-indexing/301-redirects>`_

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -51,6 +51,7 @@ applications/productivity/sign/united_arab_emirates.rst applications/productivit
applications/productivity/sign/united_kingdom.rst applications/productivity/sign/validity/united_kingdom.rst
applications/productivity/sign/uzbekistan.rst applications/productivity/sign/validity/uzbekistan.rst
applications/productivity/sign/vietnam.rst applications/productivity/sign/validity/vietnam.rst
applications/productivity/ai/webpage.rst applications/websites/website/structure/pages.rst
# applications/websites