Compare commits
1 Commits
18.0
...
14.0-websi
Author | SHA1 | Date | |
---|---|---|---|
![]() |
dc74dd679b |
@ -10,6 +10,5 @@ eCommerce
|
||||
ecommerce/managing_products
|
||||
ecommerce/taxes
|
||||
ecommerce/shopper_experience
|
||||
ecommerce/publish
|
||||
ecommerce/maximizing_revenue
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
===================
|
||||
Launch my website
|
||||
===================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
../website/publish/domain_name
|
||||
../website/publish/on-premise_geo-ip-installation
|
||||
../website/publish/translate
|
||||
|
||||
|
||||
|
@ -2,13 +2,826 @@
|
||||
Optimize
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
Now that you've built your website, it's time to optimize it with Odoo. Odoo provides numerous
|
||||
tools to enhance your site's SEO, loading speed, image optimization, and so much more.
|
||||
|
||||
optimize/seo
|
||||
optimize/google_analytics
|
||||
optimize/google_analytics_dashboard
|
||||
optimize/link_tracker
|
||||
Search Engine Optimization (SEO)
|
||||
================================
|
||||
|
||||
Search Engine Optimization, otherwise known as SEO, is a set of strategic practices that can
|
||||
optimize your website and enhance its ranking in search engines (like, Google). Proper SEO practices
|
||||
are important because a great SEO ranking helps your website gain more visitors.
|
||||
|
||||
Some quality SEO practices include: having fast load times, making sure each page has one (and only
|
||||
one) title ``<h1>``, your meta tags (alt-tag, title-tag) should be consistent with the content
|
||||
they represent, and your website should have a ``/sitemap.xml`` file. But these are just a few of
|
||||
the *many* SEO strategies you can employ to earn a better SEO ranking for your website.
|
||||
|
||||
To guarantee that your Odoo Website (and Odoo eCommerce) has a great SEO ranking, Odoo eliminates
|
||||
all the technical complexities of SEO, and handles these intricate search engine strategies *for
|
||||
you* - in the easiest way possible.
|
||||
|
||||
First, let's see how to boost your ranking by fine-tuning your content (and meta tags) for your
|
||||
website.
|
||||
|
||||
Meta Tags
|
||||
---------
|
||||
|
||||
Title, description
|
||||
******************
|
||||
|
||||
Every page on your website should define the ``<title>`` and ``<description>`` meta data.
|
||||
|
||||
These elements are used by search engines to promote your website. They are automatically generated
|
||||
based on the page title and content, but you can fine-tune them whenever you'd like, by clicking
|
||||
*Optimize SEO* under the *Promote* menu.
|
||||
|
||||
.. image:: optimize/seo/seo-optimize.png
|
||||
:align: center
|
||||
:alt: optimize seo under the promote menu
|
||||
|
||||
When you click *Optimize SEO* a pop-up appears, in which you enter in the pertinent SEO-related
|
||||
information about the page and its content.
|
||||
|
||||
Remember, you need to be accurate with this information. If they don't fit the content of the page,
|
||||
search engines will downgrade your website, which negatively affects your SEO ranking.
|
||||
|
||||
.. image:: optimize/seo/optimize-seo-pop-up.png
|
||||
:align: center
|
||||
:alt: optimize seo pop-up
|
||||
|
||||
Keywords
|
||||
********
|
||||
|
||||
To get the most out of your content *and* boost traffic, Odoo provides users with a ``<keyword>``
|
||||
finder. These keywords are the search terms that you want to lead towards your website.
|
||||
|
||||
When you enter a keyword into the *Keywords* field, and hit *Add*, you see how it is used in the
|
||||
content (H1, H2, page title, page description, page content). You also see what the related
|
||||
keywords are in Google. If you want to add any of those related keywords to your list, simply
|
||||
click on it, and Odoo will add it for you.
|
||||
|
||||
The more keywords used, the better.
|
||||
|
||||
.. image:: optimize/seo/keyword-finder.png
|
||||
:align: center
|
||||
:alt: odoo keyword finder seo optimization
|
||||
|
||||
.. note::
|
||||
If your website is in multiple languages, you can use the *Promote* tool for every language of a
|
||||
single page, set a specific title, description, and search tags, as well.
|
||||
|
||||
Content is king
|
||||
---------------
|
||||
|
||||
When it comes to SEO, content is king. That's why Odoo provides several modules to help users build
|
||||
incredible content for their websites.
|
||||
|
||||
Odoo offers the following:
|
||||
|
||||
- **Odoo Blogs**: write great content about anything you want.
|
||||
|
||||
- **Odoo eLearning Course**: publish all sorts of content as part of an educational online course.
|
||||
The content is automatically indexed on the web page.
|
||||
|
||||
- **Odoo Forum**: let your community create content for you, by allowing them to share their
|
||||
thoughts, feelings, and opinions with each other. Example: `odoo.com/forum/1 <https://odoo
|
||||
.com/forum/1>`_
|
||||
|
||||
...and many more!
|
||||
|
||||
.. note::
|
||||
The 404 page is a regular page that you can edit like any other in Odoo. That way, you can build
|
||||
build a great 404 page to redirect to the top content of your website when visitors get lost with
|
||||
invalid URLs.
|
||||
|
||||
Social networks
|
||||
---------------
|
||||
|
||||
Social media is built for mass-sharing. If lots of people share your content on social media, it's
|
||||
likely that even more people will link to it, and links are a *huge* factor for SEO rankings.
|
||||
|
||||
That's why Odoo embeds several tools to help share content through various social media channels.
|
||||
|
||||
Social network links
|
||||
********************
|
||||
|
||||
Odoo allows users to link all their social media accounts in the footer of their website. All
|
||||
you have to do is input all the necessary accounts in your company settings, and Odoo will take
|
||||
care of the rest.
|
||||
|
||||
.. image:: optimize/seo/seo03.png
|
||||
:align: center
|
||||
:alt: connect with us social media links
|
||||
|
||||
Social share
|
||||
************
|
||||
|
||||
It's important to allow your visitors to share any content they like on your website on their
|
||||
various social media platforms. The best way to do that, is to drop the *Share* building block on
|
||||
any page you want your visitors to share with their followers.
|
||||
|
||||
When visitors click that icon, they are then prompted to share that page on their social media feed.
|
||||
|
||||
.. image:: optimize/seo/share-block.png
|
||||
:align: center
|
||||
:alt: share building block on website
|
||||
|
||||
Remember, most social media platforms use a picture of the image as part of the share post.
|
||||
|
||||
Odoo uses the website logo by default, but you can choose any other image of your page by going
|
||||
to :menuselection:`Promote --> Optimize SEO` and select an image for social sharing purposes.
|
||||
|
||||
.. image:: optimize/seo/seo05.png
|
||||
:align: center
|
||||
:alt: picture used for social media shares
|
||||
|
||||
Facebook page
|
||||
*************
|
||||
|
||||
Looking for a unique way to catch the eye of your visitor *and* promote your *Facebook* page
|
||||
(or business)? Simply drop the *Facebook* building block onto your page, while in the *Edit* mode
|
||||
on the front-end of your website.
|
||||
|
||||
Doing so, will display a customizable widget showcasing your *Facebook* business page, and it will
|
||||
encourage visitors to follow it.
|
||||
|
||||
.. image:: optimize/seo/seo-facebook-block.png
|
||||
:align: center
|
||||
:alt: facebook building block in odoo's website builder
|
||||
|
||||
You can choose display the timeline, next events, messages, and more.
|
||||
|
||||
.. image:: optimize/seo/seo-facebook-features.png
|
||||
:align: center
|
||||
:alt: facebook features used in facebook building block
|
||||
|
||||
Twitter Scroller
|
||||
****************
|
||||
|
||||
Displaying Twitter feeds with testimonials from happy customers expressing their satisfaction on
|
||||
your website is a great way to increase (and enhance) your company's online presence.
|
||||
|
||||
.. image:: optimize/seo/seo-twitter-scroller.png
|
||||
:align: center
|
||||
:alt: twitter scroller building block icon
|
||||
|
||||
Test website
|
||||
------------
|
||||
|
||||
You can compare how your website ranks (in terms of SEO) against Odoo using free services, like
|
||||
WooRank : `woorank.com <https://www.woorank.com>`_
|
||||
|
||||
Handling URLs
|
||||
-------------
|
||||
|
||||
The following section explains how Odoo makes URLs SEO-friendly.
|
||||
|
||||
.. note::
|
||||
The following URLs are *not active*. They are purely meant to be used as an example to show
|
||||
how Odoo makes URL management easier than ever before.
|
||||
|
||||
URL structure
|
||||
*************
|
||||
|
||||
A typical Odoo URL will look like this:
|
||||
|
||||
- https://www.mysite.com/fr\_FR/shop/product/my-great-product-31
|
||||
|
||||
URLs are composed of the following components:
|
||||
|
||||
- **https://** = Protocol
|
||||
|
||||
- **www.mysite.com** = Domain name
|
||||
|
||||
- **/fr\_FR** = This is the language that the page is currently in. This part of the URL is removed
|
||||
if the visitor browses the main language of the website. In that case, the main version of this
|
||||
page would look like this:
|
||||
https://www.mysite.com/shop/product/my-great-product-31
|
||||
|
||||
- **/shop/product** = every module defines its own namespace. Thus, */shop* is for the catalog of
|
||||
the eCommerce module, and */shop/product* is for a product page.
|
||||
|
||||
- **my-great-product** = by default, this is the slugified title of the product this page refers
|
||||
to, but you can customize it for SEO purposes. For instance, if a product is named "Office Lamp"
|
||||
it gets slugified to "office-lamp". Depending on the namespace, this could be different objects
|
||||
(blog post, page title, forum post, forum comment, product category, etc.).
|
||||
|
||||
- **-31** = the unique ID of the product
|
||||
|
||||
.. note::
|
||||
Any dynamic component of a URL can be reduced to its ID. As an example, the following
|
||||
URLs all do a 301 redirect to the above URL:
|
||||
|
||||
- https://www.mysite.com/fr\_FR/shop/product/31 (short version)
|
||||
|
||||
- http://mysite.com/fr\_FR/shop/product/31 (even shorter version)
|
||||
|
||||
- http://mysite.com/fr\_FR/shop/product/other-product-name-31 (old product name)
|
||||
|
||||
Some URLs have several dynamic parts, like this one (a blog category *and* a post):
|
||||
|
||||
- https://www.odoo.com/blog/company-news-5/post/the-odoo-story-56
|
||||
|
||||
In the above example:
|
||||
|
||||
- *Company News* is the title of the blog
|
||||
|
||||
- *The Odoo Story* is the title of the specific blog post
|
||||
|
||||
When an Odoo page has a "pager," the page number is set directly in the URL (does not have a GET
|
||||
argument). This allows every page to be indexed by search engines.
|
||||
|
||||
Example: https://www.odoo.com/blog/page/3
|
||||
|
||||
Changes in URLs and titles
|
||||
**************************
|
||||
|
||||
The URL of a page can change for many reasons. Like, when it becomes a more SEO-friendly version
|
||||
of a product name, for example. When the URL of a page changes, don't worry. Odoo will
|
||||
automatically update all its corresponding links to the new URL.
|
||||
|
||||
Not only that, but if external websites *still* point to the old URL, a 301 redirect is done,
|
||||
which re-routes visitors to the new address of the page.
|
||||
|
||||
As an example, this URL...
|
||||
|
||||
- http://mysite.com/shop/product/old-product-name-31
|
||||
|
||||
...will automatically redirect to:
|
||||
|
||||
- http://mysite.com/shop/product/new-and-better-product-name-31
|
||||
|
||||
In other words, if you change the title of a blog post (or the name of a product), the changes
|
||||
automatically apply everywhere in your website. Also, the old link still functions when used by
|
||||
external websites, via a 301 redirect, maintaining the SEO link power.
|
||||
|
||||
HTTPS
|
||||
*****
|
||||
|
||||
Search engines boost rankings of secure HTTPS/SSL websites. That's why, by default, all Odoo Online
|
||||
databases are fully based on HTTPS. If the visitor accesses your website through a non-HTTPS URL,
|
||||
they get a 301 redirect to its HTTPS equivalent.
|
||||
|
||||
Links: Nofollow strategy
|
||||
************************
|
||||
|
||||
The more a page is linked from external and quality websites, the more it helps your SEO ranking.
|
||||
|
||||
Here are some Odoo strategies to help you manage links:
|
||||
|
||||
- Every link you add to your website is "dofollow", which means this link will contribute to the
|
||||
'SEO Juice' for the linked page.
|
||||
|
||||
- Every link posted by a contributor (forum post, blog comment, etc.) that links to your own website
|
||||
is "dofollow," as well.
|
||||
|
||||
- Every link posted by a contributor that links to an external website is "nofollow." That way, you
|
||||
don't run the risk of people posting links on your website to third-party websites, which may have
|
||||
a bad reputation.
|
||||
|
||||
.. note::
|
||||
When using the forum, contributors who have a lot of Karma *can be* trusted. In such case, their
|
||||
links will not have any ``rel="nofollow"`` attribute.
|
||||
|
||||
Multi-Language URLs
|
||||
*******************
|
||||
|
||||
If you run a website in multiple languages, the same content will be available in different URLs,
|
||||
depending on the language used:
|
||||
|
||||
- https://www.mywebsite.com/shop/product/my-product-1 (The main language here is English)
|
||||
|
||||
- https://www.mywebsite.com\/fr\_FR/shop/product/mon-produit-1 (This is the French version)
|
||||
|
||||
In this example, fr\_FR is the language of the page. You can even have several variations of the
|
||||
same language, like pt\_BR (Portuguese from Brazil), pt\_PT (Portuguese from Portugal), and so on.
|
||||
|
||||
Language annotation
|
||||
*******************
|
||||
|
||||
To let search engines know the second URL is the French translation of the first URL, Odoo adds an
|
||||
HTML link element in the header.
|
||||
|
||||
In the HTML <head> section of the main version, Odoo automatically adds a link element pointing
|
||||
to the translated versions of that webpage:
|
||||
|
||||
- <link rel="alternate" hreflang="fr"
|
||||
href="https://www.mywebsite.com\/fr\_FR/shop/product/mon-produit-1"/>
|
||||
|
||||
With this approach search engines redirect to the right language, according to the visitor language.
|
||||
|
||||
Don't worry, though. You don't get penalized by search engines if your page isn't translated yet.
|
||||
Also, when it is, it's not considered "duplicated content." It's merely a different version of the
|
||||
same content.
|
||||
|
||||
Language detection
|
||||
******************
|
||||
|
||||
When a visitor lands on your website for the first time (e.g. yourwebsite.com/shop), they may be
|
||||
automatically redirected to a translated version, according to that visitor's browser language
|
||||
preference (e.g. **yourwebsite.com/fr\_FR/shop**).
|
||||
|
||||
A cookie of the current language will be kept, so when they visit your website again in the
|
||||
future, they can avoid any redirection.
|
||||
|
||||
To force a visitor to stick to the default language of your website, you can use the code of the
|
||||
default language in any link you share.
|
||||
|
||||
For example: **yourwebsite.com/en\_US/shop**
|
||||
|
||||
That above link will always direct visitors to the English version of the page, without using the
|
||||
browser language preferences.
|
||||
|
||||
Page speed
|
||||
----------
|
||||
|
||||
The time it takes to load a page on your website is an important criteria for search engines. A
|
||||
faster website not only improves your visitor's experience, it gives you a better page ranking,
|
||||
as well.
|
||||
|
||||
Studies have shown that, if you divide the time it takes to load your pages in half (e.g. 2 seconds,
|
||||
instead of 4 seconds), the visitor abandonment rate is also divided by two (25% to 12.5%). One extra
|
||||
second to load a page could `cost $1.6b to Amazon in sales <http://www.fastcompany
|
||||
.com/1825005/how-one-second-could-cost-amazon-16-billion-sales>`__.
|
||||
|
||||
.. image:: optimize/seo/seo06.png
|
||||
:align: center
|
||||
:alt: page load time graph
|
||||
|
||||
Fortunately, Odoo does all the page speed magic for you!
|
||||
|
||||
Below, you will discover the tricks Odoo uses to speed up your loading time. You can compare how
|
||||
your website ranks using these two tools:
|
||||
|
||||
- `Google Page Speed <https://developers.google.com/speed/pagespeed/insights/>`__
|
||||
|
||||
- `Pingdom Website Speed Test <http://tools.pingdom.com/fpt/>`__
|
||||
|
||||
Images
|
||||
------
|
||||
|
||||
When you upload new images, Odoo automatically compresses them to reduce their size, with lossless
|
||||
compression for .PNG and .GIF and lossy compression for .JPG.
|
||||
|
||||
Once uploaded, you can manually adjust the look and quality of the image, via the helpful toolbar
|
||||
located on the right, while in *Edit* mode.
|
||||
|
||||
The key is to make the image look great, with the smallest file size possible, *without* sacrificing
|
||||
quality.
|
||||
|
||||
.. image:: optimize/seo/seo-image-features.png
|
||||
:align: center
|
||||
:alt: image features toolbar website builder
|
||||
|
||||
.. note::
|
||||
Odoo compresses images when they are uploaded to your website, *not* when requested by the
|
||||
visitor. Thus, it's possible that, *if* you use a third-party theme, it will provide images that
|
||||
are not compressed efficiently. But all images used in Odoo official themes have been compressed
|
||||
by default.
|
||||
|
||||
When the image is selected, Odoo allows you to add the Alt and title attributes of the ``<img>``
|
||||
tag by clicking *Description:* in that same toolbar.
|
||||
|
||||
When you click on *Description*, the following window appears:
|
||||
|
||||
.. image:: optimize/seo/seo09.png
|
||||
:align: center
|
||||
:alt: alt title pop up window images
|
||||
|
||||
Pictograms
|
||||
----------
|
||||
|
||||
Odoo's pictograms are implemented using a font (`Font Awesome <https://fortawesome.github
|
||||
.io/Font-Awesome/icons/>`__ in most Odoo themes). You can use as many pictograms as you want, as
|
||||
they don't result in extra requests to load the page.
|
||||
|
||||
.. image:: optimize/seo/seo10.png
|
||||
:align: center
|
||||
:alt: sample array of pictograms
|
||||
|
||||
Static resources: CSS
|
||||
---------------------
|
||||
|
||||
All CSS files are pre-processed, concatenated, minified, compressed, and cached (server-side and
|
||||
browser-side).
|
||||
|
||||
The result is:
|
||||
|
||||
- only one CSS file request is needed to load a page
|
||||
|
||||
- this CSS file is shared and cached amongst pages, so when the visitor clicks on another page, the
|
||||
browser doesn't even have to load a single CSS resource
|
||||
|
||||
- this CSS file is optimized to be small
|
||||
|
||||
Pre-processed
|
||||
*************
|
||||
|
||||
The CSS framework used by Odoo is Bootstrap.
|
||||
|
||||
While a theme might use another framework, most of `Odoo themes <https://www.odoo
|
||||
.com/apps/themes>`__ extend and customize Bootstrap directly. Since Odoo supports Less and Sass,
|
||||
you can modify CSS rules, instead of overwriting them through extra CSS lines, which results in a
|
||||
smaller file.
|
||||
|
||||
Concatenated
|
||||
************
|
||||
|
||||
Every module (or library) you might use in Odoo has its own set of CSS, Less, or
|
||||
Sass files (eCommerce, blogs, themes, etc.).
|
||||
|
||||
Having several CSS files is great for the modularity, but not good for the performance. Mainly
|
||||
because most browsers can only perform 6 requests in parallel, resulting in lots of files loaded in
|
||||
series.
|
||||
|
||||
The latency time to transfer a file is usually much longer than the actual data transfer time,
|
||||
especially for small files, like .JS and .CSS. Thus, the time to load CSS resources depends more
|
||||
on the number of requests to be done, rather than the actual file size, itself.
|
||||
|
||||
To address this issue, all CSS / Less / Sass files are concatenated into a single .CSS file to send
|
||||
to the browser.
|
||||
|
||||
That way, a visitor has **only one .CSS file to load** per page, which is extremely efficient.
|
||||
|
||||
As the CSS is shared amongst all pages, when the visitor clicks on another page, the browser does
|
||||
not even have to load a new CSS file!
|
||||
|
||||
================================= =============================================
|
||||
**Both files in the <head>** **What the visitor gets (only one file)**
|
||||
================================= =============================================
|
||||
/\* From bootstrap.css \*/ .text-muted {
|
||||
.text-muted { color: #666;
|
||||
color: #777; background: yellow
|
||||
background: yellow; }
|
||||
}
|
||||
|
||||
/\* From my-theme.css \*/
|
||||
.text-muted {
|
||||
color: #666;
|
||||
}
|
||||
================================= =============================================
|
||||
|
||||
The CSS sent by Odoo includes all CSS / Less / Sass of all pages and modules.
|
||||
|
||||
By doing this, additional page views from the same visitor will *not* have to load CSS files at all.
|
||||
However, some modules might include huge CSS/Javascript resources that you do not want to
|
||||
prefetch at the first page because they are *too* big.
|
||||
|
||||
In this case, Odoo splits this resource into a second bundle that is loaded only when the page using
|
||||
it is requested. An example of this is the backend, which is only loaded when the visitor logs in
|
||||
and accesses the backend (/web).
|
||||
|
||||
.. note::
|
||||
If the CSS file is very big, Odoo will split it into two smaller files to avoid the 4095
|
||||
selectors limit per sheet of Internet Explorer. But most themes fit below this limit.
|
||||
|
||||
Minified
|
||||
********
|
||||
|
||||
After being pre-processed and concatenated, the resulting CSS is minified to reduce its size.
|
||||
|
||||
============================ ==============================
|
||||
**Before minification** **After minification**
|
||||
============================ ==============================
|
||||
/\* some comments \*/ .text-muted {color: #666}
|
||||
.text-muted {
|
||||
color: #666;
|
||||
}
|
||||
============================ ==============================
|
||||
|
||||
The final result is then compressed, before being delivered to the browser.
|
||||
|
||||
Then, a cached version is stored server-side (we don't have to pre-process, concatenate, or minify
|
||||
at every request) and browser-side (the same visitor will load the CSS only once for all pages that
|
||||
they visit).
|
||||
|
||||
Static resources: Javascript
|
||||
----------------------------
|
||||
|
||||
Just like with CSS resources, Javascript resources are also concatenated, minified, compressed, and
|
||||
cached (server-side and browser-side).
|
||||
|
||||
Odoo creates three Javascript bundles:
|
||||
|
||||
- One for all the pages of the website (including code for parallax effects, form validation, etc.)
|
||||
|
||||
- One for common Javascript code shared amongst the front-end and back-end (Bootstrap)
|
||||
|
||||
- One for back-end specific Javascript code (Odoo Web Client interface for your employees using
|
||||
Odoo)
|
||||
|
||||
Most visitors only need the first two bundles, resulting in a maximum of two Javascript files to
|
||||
load in order to render one page. As these files are shared across all pages, further clicks by
|
||||
the same visitor will not load any other Javascript resource.
|
||||
|
||||
.. note::
|
||||
If you work in "Developer Mode," the CSS and Javascript are neither concatenated, nor minified.
|
||||
Thus, it's much slower. However, it allows you to easily debug with the Chrome debugger, as CSS
|
||||
and Javascript resources are not transformed from their original versions.
|
||||
|
||||
CDN
|
||||
---
|
||||
|
||||
If you activate the CDN feature in Odoo, static resources (Javascript, CSS, images) are loaded from
|
||||
a Content Delivery Network.
|
||||
|
||||
Using a Content Delivery Network has three advantages:
|
||||
|
||||
- Load resources from a nearby server (most networks have servers in main countries around the
|
||||
globe)
|
||||
|
||||
- Cache resources efficiently (no computation resources used on your own server)
|
||||
|
||||
- Split the resource loading on different services, allowing more resources to load in parallel
|
||||
(since the Chrome limit of 6 parallel requests is by domain)
|
||||
|
||||
You can activate and configure your CDN options from the **Website** settings, found under the
|
||||
Configuration menu, but only while in `Developer Mode <https://www.odoo.com/documentation/user/14.0/general/developer_mode/activate
|
||||
.html#:~:text=Go%20to%20Settings%20%E2%80%A3%20Activate,
|
||||
developer%20mode%20option%20becomes%20available.>`_.
|
||||
|
||||
Here is an example of configuration you can use:
|
||||
|
||||
.. image:: optimize/seo/seo11.png
|
||||
:align: center
|
||||
:alt: cdn setting in the website admin app
|
||||
|
||||
HTML pages
|
||||
----------
|
||||
|
||||
HTML pages can be compressed, but this task is usually handled by your web server (NGINX or Apache).
|
||||
|
||||
The Odoo Website Builder has been optimized to guarantee clean and short HTML code. Building blocks
|
||||
have been developed to produce clean HTML code, as well, usually using Bootstrap and the HTML
|
||||
editor.
|
||||
|
||||
For example, if you use the color picker to change the color of a paragraph to the primary color
|
||||
of your website, Odoo will produce the following code:
|
||||
|
||||
``<p class="text-primary">My Text</p>``
|
||||
|
||||
But most other HTML editors (such as, CKEditor) will produce the following code:
|
||||
|
||||
``<p style="color: #AB0201">My Text</p>``
|
||||
|
||||
Responsive design
|
||||
-----------------
|
||||
|
||||
Websites that are not mobile-friendly are negatively impacted in search engine rankings. All Odoo
|
||||
themes rely on Bootstrap to render everything efficiently, according to the device that's being
|
||||
used: desktop, tablet, or mobile.
|
||||
|
||||
.. image:: optimize/seo/seo12.png
|
||||
:align: center
|
||||
:alt: examples of odoo's responsive design
|
||||
|
||||
Since all Odoo modules share the same technology, all pages on your website are automatically
|
||||
mobile-friendly.
|
||||
|
||||
Browser caching
|
||||
---------------
|
||||
|
||||
Javascript, images, and CSS resources have a URL that changes dynamically when their content
|
||||
changes. This allows Odoo to set a very long cache delay (XXX) on these resources: XXX secs, while
|
||||
being updated instantly (if you update the resource).
|
||||
|
||||
Scalability
|
||||
-----------
|
||||
|
||||
In addition to being fast, Odoo is also more scalable than traditional CMS and eCommerce platforms
|
||||
(like Drupal, Wordpress, Magento, Prestashop).
|
||||
|
||||
Here's a quick summarization highlighting the scalability of Odoo Website and eCommerce.
|
||||
|
||||
.. image:: optimize/seo/seo13.png
|
||||
:align: center
|
||||
:alt: slide about odoo's scalability
|
||||
|
||||
Sitemap
|
||||
-------
|
||||
|
||||
The sitemap points out pages to index to search engine robots. Odoo generates a ``/sitemap.xml``
|
||||
file automatically for you. For performance reasons, this file is cached and updated every 12 hours.
|
||||
|
||||
By default, all URLs will be in a single ``/sitemap.xml`` file, but if you have a lot of pages,
|
||||
Odoo automatically creates a Sitemap Index file, respecting the `sitemaps.org protocol
|
||||
<http://www.sitemaps.org/protocol.html>`__ grouping sitemap URLs in 45,000 chunks per file.
|
||||
|
||||
Every sitemap entry has 4 attributes that are computed automatically:
|
||||
|
||||
- ``<loc>`` : the URL of a page
|
||||
|
||||
- ``<lastmod>`` : last modification date of the resource, computed automatically based on a related
|
||||
object. For a page related to a product, this could be the last modification date of the product
|
||||
(or the page).
|
||||
|
||||
- ``<priority>`` : modules may implement their own priority algorithm based on their content.
|
||||
For example, a forum might assign a priority based on the number of votes on a specific post. The
|
||||
priority of a static page is defined by its priority field, which is normalized (16 is the
|
||||
default).
|
||||
|
||||
Structured data markup
|
||||
----------------------
|
||||
|
||||
Structured Data Markup is used to generate Rich Snippets in search engine results. It is a way for
|
||||
website owners to send structured data to search engine robots; helping them understand your content
|
||||
and create well-presented search results.
|
||||
|
||||
Google supports a number of rich snippets for content types, including:
|
||||
Reviews, People, Products, Businesses, Events, and Organizations.
|
||||
|
||||
Odoo implements micro-data as defined in the `schema.org <http://schema.org>`__ specification for
|
||||
events, eCommerce products, forum posts, and contact addresses. This allows your product pages to
|
||||
be displayed in Google using extra information, like the price and rating of a product:
|
||||
|
||||
.. image:: optimize/seo/seo14.png
|
||||
:align: center
|
||||
:alt: sample of google search results
|
||||
|
||||
robots.txt
|
||||
----------
|
||||
|
||||
When indexing your website, search engines first look at the general indexing rules of the
|
||||
``/robots.txt`` file (allowed robots, sitemap path, etc.). Odoo automatically creates this file
|
||||
for you.
|
||||
|
||||
It consists of:
|
||||
|
||||
User-agent: \*
|
||||
Sitemap: https://www.odoo.com/sitemap.xml
|
||||
|
||||
It means all robots are allowed to index your website, and there is no other indexing rule specified
|
||||
in the sitemap to be found at that address.
|
||||
|
||||
You can customize the file *robots* in
|
||||
:doc:`Developer mode <../../general/developer_mode/activate>` from :menuselection:`Settings -->
|
||||
Technical --> User Interface --> Views` (exclude robots, exclude some pages, or redirect to a custom
|
||||
Sitemap).
|
||||
|
||||
Make the Model Data of the view *Non Updatable*, in order to not reset the file after system
|
||||
upgrades.
|
||||
|
||||
Track traffic
|
||||
=============
|
||||
|
||||
Now that you've created a website with engaging content, it's time to see how well it performs with
|
||||
your audience. That's why it's incredibly important to track your website's traffic. With Odoo,
|
||||
users can track this vital information in a number of different ways.
|
||||
|
||||
Track traffic in Google Analytics
|
||||
---------------------------------
|
||||
|
||||
To follow your website's traffic with Google Analytics you need to `Create a Google Analytics
|
||||
account <https://www.google.com/analytics/>`__ if you don't have one.
|
||||
|
||||
Then, you must complete the creation form and accept the conditions to get the tracking ID.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google_analytics_account.png
|
||||
:align: center
|
||||
:alt: google analytics account
|
||||
|
||||
Following that, copy the tracking ID to insert it in Odoo.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google_analytics_tracking_id.png
|
||||
:align: center
|
||||
:alt: google analytics tracking id
|
||||
|
||||
Now, go to :menuselection:`Configuration --> Settings` in the Website app. Then, you must turn on
|
||||
Google Analytics, and paste the tracking ID here. Don't forget to hit *Save* when you're done.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google-analytics-setting.png
|
||||
:align: center
|
||||
:alt: google analytics setting
|
||||
|
||||
If you need help getting started with Google Analytics, you can refer to `Google Documentation
|
||||
<https://support.google.com/analytics/answer/1008015?hl=en/>`_.
|
||||
|
||||
Track traffic from Odoo Dashboard
|
||||
---------------------------------
|
||||
|
||||
You can accurately track traffic statistics straight from your Odoo Website Dashboard, thanks to
|
||||
Google Analytics.
|
||||
|
||||
First, you need to create a Google Analytics account. Then, copy and paste your tracking ID
|
||||
in your website settings. Next, go to `Google APIs platform library <https://console.cloud.google
|
||||
.com/apis/library?supportedpurview=project>`__ in order to generate Analytics API credentials.
|
||||
|
||||
Now, log in with your Google account, and create a new project with an appropriate name (e.g. Odoo).
|
||||
You need this project to store your API credentials.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google_analytics_create_project.png
|
||||
:align: center
|
||||
:alt: google analytics create project
|
||||
|
||||
In the API Library, select *Google Analytics API*.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google-analytics-api.png
|
||||
:align: center
|
||||
:alt: google analytics api
|
||||
|
||||
Then, select *Enable* next to "Analytics API."
|
||||
|
||||
.. image:: optimize/tracking_analytics/google_analytics_enable.png
|
||||
:align: center
|
||||
:alt: google analytics enable api
|
||||
|
||||
In order to properly use this API, you need to create credentials to use in Odoo.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google_analytics_create_credentials.png
|
||||
:align: center
|
||||
:alt: google analytics create credentials
|
||||
|
||||
Following that, you must select *Web browser (Javascript)* as the calling source and *User data* as
|
||||
the kind of data.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google_analytics_get_credentials.png
|
||||
:align: center
|
||||
:alt: google analytics api get credentials
|
||||
|
||||
Then, you can create a Client ID.
|
||||
|
||||
To do so, enter the name of the application (e.g. My Odoo Database) and the allowed pages that
|
||||
trigger a redirection.
|
||||
|
||||
The *Authorized JavaScript origin* is your Odoo's database URL. The *Authorized redirect URI* is
|
||||
your Odoo database URL followed by '/google_account/authentication', as showcased below.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google_analytics_authorization.png
|
||||
:align: center
|
||||
:alt: google analytics authorization
|
||||
|
||||
Proceed to the Consent Screen, and enter a product name (e.g. Google Analytics in Odoo). You
|
||||
can check the customizations options at this time, but it's not mandatory.
|
||||
|
||||
.. note::
|
||||
The Consent Screen will *only* show up when you enter the Client ID in Odoo for the **first**
|
||||
time.
|
||||
|
||||
Then, you are provided with your Client ID, which you then copy to paste in Odoo.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google_analytics_client_id.png
|
||||
:align: center
|
||||
:alt: google analytics client id
|
||||
|
||||
Go to :menuselection:`Website application --> Configuration --> Settings`, activate *Google
|
||||
Analytics Dashboard* and paste the Client ID in the fields that appear.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google-analytics-dashboard.png
|
||||
:align: center
|
||||
:alt: google analytics dashboard setting
|
||||
|
||||
And finally, authorize Odoo to access your Google API.
|
||||
|
||||
.. image:: optimize/tracking_analytics/google_analytics_login.png
|
||||
:align: center
|
||||
:alt: google analytics login
|
||||
|
||||
Link Trackers
|
||||
-------------
|
||||
|
||||
Link Trackers allow you to easily track all your marketing campaigns (emails, banner ads, blog
|
||||
posts, social media posts, affiliate links, etc.). With Link Trackers, you can quickly identify your
|
||||
your best traffic sources. This valuable data helps you make more informed decisions about the
|
||||
distribution of your marketing budget.
|
||||
|
||||
Setup
|
||||
*****
|
||||
|
||||
On the front-end of your website, go to :menuselection:`Promote --> Link Tracker`.
|
||||
|
||||
Here, you are able to get a specific tracked URL based on the campaign, medium, and source being
|
||||
used.
|
||||
|
||||
.. image:: optimize/tracking_analytics/link_tracker_fields.png
|
||||
:align: center
|
||||
:alt: View of the link tracker fields for Odoo Website
|
||||
|
||||
- **URL**: URL of the page you want to track (e.g. the home page or a product page).
|
||||
- **Campaign**: context of your link (e.g. a special promotion).
|
||||
- **Medium**: channel used to share (deliver) your link (e.g. an email or a Facebook ad).
|
||||
- **Source**: platform where the traffic originates (e.g. Google or Twitter).
|
||||
|
||||
Then, click *Get tracked link* to generate a URL that you can post (or send) by the source you have
|
||||
decided on.
|
||||
|
||||
Follow-up on tracked links
|
||||
**************************
|
||||
|
||||
On that same Link Tracker page, beneath the *Get tracked link* fields, you can look at statistics
|
||||
in the *Your tracked links* section.
|
||||
|
||||
In addition to seeing the *Most Clicked* and *Recently Used* links, you can also see complete
|
||||
statistics by clicking on *Stats* next to a link you want to analyze, including the number of
|
||||
clicks.
|
||||
|
||||
.. image:: optimize/tracking_analytics/links_statistics.png
|
||||
:align: center
|
||||
:alt: View of the tracked list emphasizing the statistics buttons in Odoo Website
|
||||
|
||||
.. tip::
|
||||
#. You can also access the link tracker on *odoo.com/r* via your browser.
|
||||
#. Activate the developer mode (:menuselection:`Settings --> Activate the developer mode`) and
|
||||
get access to the *Link Tracker* module and its back-end functionalities.
|
||||
#. Integrated with Google Analytics, those trackers allow you to see the number of clicks and
|
||||
visitors to keep you on top of your marketing campaigns.
|
||||
|
@ -1,32 +0,0 @@
|
||||
=======================================================
|
||||
How to track your website's traffic in Google Analytics
|
||||
=======================================================
|
||||
|
||||
To follow your website's traffic with Google Analytics:
|
||||
|
||||
- `Create a Google Analytics account <https://www.google.com/analytics/>`__ if
|
||||
you don't have any.
|
||||
|
||||
- Go through the creation form and accept the conditions to get the tracking ID.
|
||||
|
||||
.. image:: media/google_analytics_account.png
|
||||
:align: center
|
||||
|
||||
- Copy the tracking ID to insert it in Odoo.
|
||||
|
||||
.. image:: media/google_analytics_tracking_id.png
|
||||
:align: center
|
||||
|
||||
- Go to the *Configuration* menu of your Odoo's Website app.
|
||||
In the settings, turn on Google Analytics and paste the tracking ID.
|
||||
Then save the page.
|
||||
|
||||
.. image:: media/google_analytics_settings.png
|
||||
:align: center
|
||||
|
||||
To make your first steps in Google Analytics, refer to `Google Documentation
|
||||
<https://support.google.com/analytics/answer/1008015?hl=en/>`_.
|
||||
|
||||
.. seealso::
|
||||
|
||||
* :doc:`google_analytics_dashboard`
|
@ -1,70 +0,0 @@
|
||||
==========================================================
|
||||
How to track your website traffic from your Odoo Dashboard
|
||||
==========================================================
|
||||
|
||||
You can follow your traffic statistics straight from your Odoo Website
|
||||
Dashboard thanks to Google Analytics.
|
||||
|
||||
- A preliminary step is creating a Google Analytics account and entering the
|
||||
tracking ID in your Website's settings (see :doc:`google_analytics`).
|
||||
|
||||
- Go to `Google APIs platform <https://console.developers.google.com>`__
|
||||
to generate Analytics API credentials. Log in with your Google account.
|
||||
|
||||
- Select Analytics API.
|
||||
|
||||
.. image:: media/google_analytics_api.png
|
||||
:align: center
|
||||
|
||||
- Create a new project and give it a name (e.g. Odoo).
|
||||
This project is needed to store your API credentials.
|
||||
|
||||
.. image:: media/google_analytics_create_project.png
|
||||
:align: center
|
||||
|
||||
- Enable the API.
|
||||
|
||||
.. image:: media/google_analytics_enable.png
|
||||
:align: center
|
||||
|
||||
- Create credentials to use in Odoo.
|
||||
|
||||
.. image:: media/google_analytics_create_credentials.png
|
||||
:align: center
|
||||
|
||||
- Select *Web browser (Javascript)*
|
||||
as calling source and *User data* as kind of data.
|
||||
|
||||
.. image:: media/google_analytics_get_credentials.png
|
||||
:align: center
|
||||
|
||||
- Then you can create a Client ID.
|
||||
Enter the name of the application (e.g. Odoo) and the allowed pages on
|
||||
which you will be redirected. The *Authorized JavaScript origin* is your
|
||||
Odoo's instance URL. The *Authorized redirect URI* is your Odoo's instance
|
||||
URL followed by '/google_account/authentication'.
|
||||
|
||||
.. image:: media/google_analytics_authorization.png
|
||||
:align: center
|
||||
|
||||
|
||||
- Go through the Consent Screen step by entering a product name
|
||||
(e.g. Google Analytics in Odoo). Feel free to check the customizations options
|
||||
but this is not mandatory. The Consent Screen will only show up when you enter
|
||||
the Client ID in Odoo for the first time.
|
||||
|
||||
- Finally you are provided with your Client ID. Copy and paste it in Odoo.
|
||||
|
||||
.. image:: media/google_analytics_client_id.png
|
||||
:align: center
|
||||
|
||||
- Open your Website Dashboard in Odoo and link your Analytics account to past
|
||||
your Client ID.
|
||||
|
||||
.. image:: media/google_analytics_start.png
|
||||
:align: center
|
||||
|
||||
- As a last step, authorize Odoo to access Google API.
|
||||
|
||||
.. image:: media/google_analytics_login.png
|
||||
:align: center
|
@ -1,56 +0,0 @@
|
||||
=============================================
|
||||
Track clicks and visitors using Link Trackers
|
||||
=============================================
|
||||
|
||||
Link Trackers allow you to track your marketing campaigns (emails, banner ads, blog posts, social
|
||||
media posts, affiliate links, etc.). This way, you are able to identify your best traffic sources
|
||||
and make informed decisions about the distribution of your marketing budget.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Go to :menuselection:`Website --> Configuration --> Settings` and activate *Link Trackers*.
|
||||
|
||||
.. image:: media/enable_link_tracker.png
|
||||
:align: center
|
||||
:alt: View of Website settings page emphasizing the link trackers field in Odoo Website
|
||||
|
||||
Set up traceable URLs
|
||||
---------------------
|
||||
|
||||
Go to :menuselection:`Website --> Go to website --> Promote --> Track this page`. Here, you are able
|
||||
to get a specific tracked URL based on the campaign, medium, and source being used.
|
||||
|
||||
.. image:: media/link_tracker_fields.png
|
||||
:align: center
|
||||
:alt: View of the link traker fields for Odoo Website
|
||||
|
||||
- **URL**: url of the page you want to track (e.g. the home page or a product's page).
|
||||
- **Campaign**: context of your link (e.g. a special promotion).
|
||||
- **Medium**: channel used to share (deliver) your link (e.g. an email or a Facebook ad).
|
||||
- **Source**: platform where the traffic originates (e.g. Google or Twitter).
|
||||
|
||||
Now, click on *Get tracked link* to generate a URL that you can post or send by the source you have
|
||||
decided on.
|
||||
|
||||
Follow-up on tracked links
|
||||
==========================
|
||||
|
||||
To look at statistics of your links, go to :menuselection:`Website --> Go to website --> Promote
|
||||
--> Track this page`. Besides being able to see the *Most Clicked* and *Recently Used* links, you
|
||||
can also see complete statistics by clicking on *Stats*, including the number of clicks, and the
|
||||
country of origin for those clicks.
|
||||
|
||||
.. image:: media/links_statistics.png
|
||||
:align: center
|
||||
:alt: View of the tracked list emphasizing the statistics buttons in Odoo Website
|
||||
|
||||
.. tip::
|
||||
|
||||
#. You can also access the link tracker on *odoo.com/r* via your browser.
|
||||
#. Activate the developer mode (:menuselection:`Settings --> Activate the developer mode`) and
|
||||
get access to the *Link Tracker* module and its back-end functionalities.
|
||||
#. Integrated with :doc:`Google Analytics <google_analytics>`, those trackers allow you to see
|
||||
the number of clicks and visitors to keep you on top of your marketing campaigns.
|
||||
#. The integration with the :doc:`CRM </applications/sales/crm/track_leads/prospect_visits>` application allows
|
||||
you to understand where your leads and opportunities are coming from.
|
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 18 KiB |
@ -1,644 +0,0 @@
|
||||
==================================================
|
||||
How to do Search Engine Optimisation (SEO) in Odoo
|
||||
==================================================
|
||||
|
||||
Search Engine Optimization (SEO) is a set of good practices to optimize
|
||||
your website so that you get a better ranking in search engines like
|
||||
Google. In short, a good SEO allows you to get more visitors.
|
||||
|
||||
Some examples of SEO rules: your web pages should load fast, your page
|
||||
should have one and only one title ``<h1>``, meta tags
|
||||
(alt-tag, title-tag) should be
|
||||
consistent with the content, your website should have a
|
||||
``/sitemap.xml`` file, etc.
|
||||
|
||||
To guarantee Odoo Website and Odoo
|
||||
eCommerce users have a great SEO, Odoo abstracts all the technical
|
||||
complexities of SEO and handles everything for you, in the best possible
|
||||
way. This will be explained here below.
|
||||
|
||||
But first, let see how you can easily boost your ranking
|
||||
by finetuning the content and the meta tags of your website.
|
||||
|
||||
Meta Tags
|
||||
=========
|
||||
|
||||
Title, Description
|
||||
------------------
|
||||
|
||||
Every web page should define the ``<title>`` and ``<description>`` meta data.
|
||||
These information elements are used by search engines to promote your website.
|
||||
They are automatically generated based on page title & content, but you can
|
||||
finetune them. Make sure they fit the content of the page, otherwise you will
|
||||
be downgraded by search engines.
|
||||
|
||||
.. image:: media/seo01.png
|
||||
:align: center
|
||||
|
||||
Keywords
|
||||
--------
|
||||
In order to write quality content and boost your traffic, Odoo provides
|
||||
a ``<keyword>`` finder. Those keywords are the searches you want to head
|
||||
towards your website. For each keyword, you see how it is used in the content
|
||||
(H1, H2, page title, page description, page content) and what are the related
|
||||
searches in Google. The more keywords are used the better.
|
||||
|
||||
.. image:: media/seo02.png
|
||||
:align: center
|
||||
|
||||
.. note::
|
||||
If your website is in multiple languages, you can use the Promote
|
||||
tool for every language of a single page and set specific title,
|
||||
description and search tags.
|
||||
|
||||
Content is King
|
||||
===============
|
||||
|
||||
When it comes to SEO, content is usually king. Odoo provides several
|
||||
modules to help you build your website content:
|
||||
|
||||
- **Odoo Blogs**: write great contents.
|
||||
|
||||
- **Odoo Slides**: publish all your Powerpoint or PDF presentations.
|
||||
Their content is automatically indexed on the web page. Example:
|
||||
`odoo.com/slides/public-channel-1 <https://www.odoo.com/slides/public-channel-1>`_
|
||||
|
||||
- **Odoo Forum**: let your community create contents for you. Example:
|
||||
`odoo.com/forum/1 <https://odoo.com/forum/1>`_
|
||||
(accounts for 30% of Odoo.com landing pages)
|
||||
|
||||
- **Odoo Mailing List Archive**: publish mailing list archives on your
|
||||
website. Example:
|
||||
`odoo.com/groups/community-59 <https://www.odoo.com/groups/community-59>`_
|
||||
(1000 pages created per month)
|
||||
|
||||
.. note::
|
||||
The 404 page is a regular page, that you can edit like any other
|
||||
page in Odoo. That way, you can build a great 404 page to redirect to
|
||||
the top content of your website when visitors get lost in invalid URLs.
|
||||
|
||||
Use Social Networks
|
||||
===================
|
||||
|
||||
Social media is built for mass sharing. If lots of people share your content
|
||||
on social media, then it's likely more people will link to it,
|
||||
and links are a huge factor for SEO ranking.
|
||||
|
||||
Odoo embeds several tools to share content through social media:
|
||||
|
||||
Social Network
|
||||
--------------
|
||||
|
||||
Odoo allows to link all your social network accounts in your website footer.
|
||||
All you have to do is to refer all your accounts in your company settings.
|
||||
|
||||
.. image:: media/seo03.png
|
||||
:align: center
|
||||
|
||||
Social Share
|
||||
------------
|
||||
|
||||
Drop the building block *Share* on any page you want your visitors to share.
|
||||
By clicking the icon, they are prompted to share the page in their social media
|
||||
wall.
|
||||
|
||||
.. image:: media/seo04.png
|
||||
:align: center
|
||||
|
||||
Most social media use a picture of the picture to decorate the share post.
|
||||
Odoo uses the website logo by default but you can choose any other image
|
||||
of your page in the Promote tool.
|
||||
|
||||
.. image:: media/seo05.png
|
||||
:align: center
|
||||
|
||||
Facebook Page
|
||||
-------------
|
||||
|
||||
Drop the building block *Facebook Page* to display a widget of your Facebook
|
||||
business page and encourage visitors to follow it.
|
||||
You can display the timeline, the next events and the messages.
|
||||
|
||||
Twitter Scroller
|
||||
----------------
|
||||
|
||||
Display the Twitter feeds with customer satifaction on your website.
|
||||
This will increase the number of tweets and shares.
|
||||
|
||||
Test Your Website
|
||||
=================
|
||||
|
||||
You can compare how your website rank, in terms of SEO, against Odoo
|
||||
using WooRank free services:
|
||||
`woorank.com <https://www.woorank.com>`_
|
||||
|
||||
URLs Handling
|
||||
=============
|
||||
|
||||
This section sheds some light on how Odoo makes URLs SEO-friendly.
|
||||
|
||||
URLs Structure
|
||||
--------------
|
||||
|
||||
A typical Odoo URL will look like this:
|
||||
|
||||
- https://www.mysite.com/fr\_FR/shop/product/my-great-product-31
|
||||
|
||||
With the following components:
|
||||
|
||||
- **https://** = Protocol
|
||||
|
||||
- **www.mysite.com** = your domain name
|
||||
|
||||
- **/fr\_FR** = page language. This part of the URL is
|
||||
removed if the visitor browses the main language of the website
|
||||
Thus, the main version of this page is:
|
||||
https://www.mysite.com/shop/product/my-great-product-31
|
||||
|
||||
- **/shop/product** = every module defines its own namespace (/shop is
|
||||
for the catalog of the eCommerce module, /shop/product is for a
|
||||
product page).
|
||||
|
||||
- **my-great-product** = by default, this is the slugified title of the
|
||||
product this page refers to. But you can customize it for SEO
|
||||
purposes. A product named "Pain carré" will be slugified to
|
||||
"pain-carre". Depending on the namespace, this could be different
|
||||
objects (blog post, page title, forum post, forum comment,
|
||||
product category, etc.).
|
||||
|
||||
- **-31** = the unique ID of the product
|
||||
|
||||
Note that any dynamic component of an URL can be reduced to its ID. As
|
||||
an example, the following URLs all do a 301 redirect to the above URL:
|
||||
|
||||
- https://www.mysite.com/fr\_FR/shop/product/31 (short version)
|
||||
|
||||
- http://mysite.com/fr\_FR/shop/product/31 (even shorter version)
|
||||
|
||||
- http://mysite.com/fr\_FR/shop/product/other-product-name-31 (old
|
||||
product name)
|
||||
|
||||
Some URLs have several dynamic parts, like this one (a blog category and
|
||||
a post):
|
||||
|
||||
- https://www.odoo.com/blog/company-news-5/post/the-odoo-story-56
|
||||
|
||||
In the above example:
|
||||
|
||||
- *Company News* is the title of the blog
|
||||
|
||||
- *The Odoo Story* is the title of a specific blog post
|
||||
|
||||
When an Odoo page has a pager, the page number is set directly in the
|
||||
URL (does not have a GET argument). This allows every page to be indexed
|
||||
by search engines. Example:
|
||||
|
||||
- https://www.odoo.com/blog/page/3
|
||||
|
||||
Changes in URLs & Titles
|
||||
------------------------
|
||||
|
||||
When the URL of a page changes (e.g. a more SEO friendly version of your
|
||||
product name), you don't have to worry about updating all links:
|
||||
|
||||
- Odoo will automatically update all its links to the new URL.
|
||||
|
||||
- If external websites still points to the old URL, a 301 redirect will
|
||||
be done to route visitors to the new address of the page.
|
||||
|
||||
As an example, this URL:
|
||||
|
||||
- http://mysite.com/shop/product/old-product-name-31
|
||||
|
||||
Will automatically redirect to:
|
||||
|
||||
- http://mysite.com/shop/product/new-and-better-product-name-31
|
||||
|
||||
In short, just change the title of a blog post or the name of a product,
|
||||
and the changes will apply automatically everywhere in your website. The
|
||||
old link still functions when used by external websites, via a 301 redirect,
|
||||
maintaining the SEO link juice.
|
||||
|
||||
HTTPS
|
||||
-----
|
||||
|
||||
Search engines boost ranking of secure HTTPS/SSL websites.
|
||||
So, by default all Odoo Online instances are fully
|
||||
based on HTTPS. If the visitor accesses your website through a non HTTPS
|
||||
url, it gets a 301 redirect to its HTTPS equivalent.
|
||||
|
||||
Links: Nofollow Strategy
|
||||
------------------------
|
||||
|
||||
The more a page is linked from external and quality websites,
|
||||
the better it is for your SEO.
|
||||
|
||||
Here are Odoo strategies to manage links:
|
||||
|
||||
- Every link you add to your website is
|
||||
"dofollow", which means that this link will contribute to the SEO
|
||||
Juice for the linked page.
|
||||
|
||||
- Every link posted by a contributor (forum post, blog comment, etc.)
|
||||
that links to your own website is "dofollow" too.
|
||||
|
||||
- But every link posted by a contributor that links to an external
|
||||
website is "nofollow". In that way, you do not run the risk of
|
||||
people posting links on your website to third-party websites
|
||||
which have a bad reputation.
|
||||
|
||||
- Note that, when using the forum, contributors having a lot of Karma
|
||||
can be trusted. In such case, their links will not have any
|
||||
``rel="nofollow"`` attribute.
|
||||
|
||||
Multi-Language Support
|
||||
======================
|
||||
|
||||
Multi-Language URLs
|
||||
-------------------
|
||||
|
||||
If you run a website in multiple languages, the same content will be
|
||||
available in different URLs, depending on the language used:
|
||||
|
||||
- https://www.mywebsite.com/shop/product/my-product-1 (main language, English here)
|
||||
|
||||
- https://www.mywebsite.com\/fr\_FR/shop/product/mon-produit-1 (French version)
|
||||
|
||||
In this example, fr\_FR is the language of the page. You can even have
|
||||
several variations of the same language: pt\_BR (Portuguese from Brazil)
|
||||
, pt\_PT (Portuguese from Portugal).
|
||||
|
||||
Language Annotation
|
||||
-------------------
|
||||
|
||||
To let search engines know that the second URL is the French translation of the
|
||||
first URL, Odoo will add an HTML link element in the header. In the HTML
|
||||
<head> section of the main version, Odoo automatically adds a link
|
||||
element pointing to the translated versions of that webpage;
|
||||
|
||||
- <link rel="alternate" hreflang="fr"
|
||||
href="https://www.mywebsite.com\/fr\_FR/shop/product/mon-produit-1"/>
|
||||
|
||||
With this approach:
|
||||
|
||||
- Search engines will redirect to the right language according to the
|
||||
visitor language.
|
||||
|
||||
- You do not get penalized by search engines if your page is not translated
|
||||
yet. Indeed, it's not a duplicated content, but a different
|
||||
version of the same content.
|
||||
|
||||
Language Detection
|
||||
------------------
|
||||
|
||||
When a visitor lands for the first time on your website (e.g.
|
||||
yourwebsite.com/shop), they may automatically be redirected to a
|
||||
translated version according to their browser language preference (e.g.
|
||||
yourwebsite.com/fr\_FR/shop).
|
||||
|
||||
Next time, it keeps a cookie of the current language to
|
||||
avoid any redirection.
|
||||
|
||||
To force a visitor to stick to the default language, you can use the
|
||||
code of the default language in your link, example:
|
||||
yourwebsite.com/en\_US/shop. This will always land visitors to the
|
||||
English version of the page, without using the browser language
|
||||
preferences.
|
||||
|
||||
Page Speed
|
||||
==========
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The time to load a page is an important criteria for search engines. A faster
|
||||
website not only improves your visitor's experience, but gives
|
||||
you a better page ranking. Some studies have shown that, if you divide the time to
|
||||
load your pages by two (e.g. 2 seconds instead of 4 seconds), the
|
||||
visitor abandonment rate is also divided by two. (25% to 12.5%). One
|
||||
extra second to load a page could `cost $1.6b to Amazon in
|
||||
sales <http://www.fastcompany.com/1825005/how-one-second-could-cost-amazon-16-billion-sales>`__.
|
||||
|
||||
.. image:: media/seo06.png
|
||||
:align: center
|
||||
|
||||
Fortunately, Odoo does all the magic for you. Below, you will find the
|
||||
tricks Odoo uses to speed up your page loading time. You can compare how
|
||||
your website ranks using these two tools:
|
||||
|
||||
- `Google Page Speed <https://developers.google.com/speed/pagespeed/insights/>`__
|
||||
|
||||
- `Pingdom Website Speed Test <http://tools.pingdom.com/fpt/>`__
|
||||
|
||||
Images
|
||||
------
|
||||
|
||||
When you upload new images, Odoo automatically
|
||||
compresses them to reduce their sizes (lossless compression for .PNG
|
||||
and .GIF and lossy compression for .JPG).
|
||||
|
||||
From the upload button, you have the option to keep the original image
|
||||
unmodified if you prefer to optimize the quality of the image rather
|
||||
than performance.
|
||||
|
||||
.. image:: media/seo07.png
|
||||
:align: center
|
||||
|
||||
.. note::
|
||||
Odoo compresses images when they are uploaded to your website, not
|
||||
when requested by the visitor. Thus, it's possible that, if you use a
|
||||
third-party theme, it will provide images that are not compressed
|
||||
efficiently. But all images used in Odoo official themes have been
|
||||
compressed by default.
|
||||
|
||||
When you click on an image, Odoo shows you the Alt and title attributes
|
||||
of the ``<img>`` tag. You can click on it to set your own title and Alt
|
||||
attributes for the image.
|
||||
|
||||
.. image:: media/seo08.png
|
||||
:align: center
|
||||
|
||||
When you click on this link, the following window will appear:
|
||||
|
||||
.. image:: media/seo09.png
|
||||
:align: center
|
||||
|
||||
Odoo's pictograms are implemented using a font (`Font
|
||||
Awesome <https://fortawesome.github.io/Font-Awesome/icons/>`__ in most
|
||||
Odoo themes). Thus, you can use as many pictograms as you want in your
|
||||
page, they will not result in extra requests to load the page.
|
||||
|
||||
.. image:: media/seo10.png
|
||||
:align: center
|
||||
|
||||
Static Resources: CSS
|
||||
---------------------
|
||||
|
||||
All CSS files are pre-processed, concatenated, minified, compressed and
|
||||
cached (server-side and browser-side). The result:
|
||||
|
||||
- only one CSS file request is needed to load a page
|
||||
|
||||
- this CSS file is shared and cached amongst pages, so that when the
|
||||
visitor clicks on another page, the browser doesn't have to even
|
||||
load a single CSS resource.
|
||||
|
||||
- this CSS file is optimized to be small
|
||||
|
||||
**Pre-processed:** The CSS framework used by Odoo is Bootstrap.
|
||||
Although a theme might use another framework, most of `Odoo
|
||||
themes <https://www.odoo.com/apps/themes>`__ extend and customize
|
||||
Bootstrap directly. Since Odoo supports Less and Sass, you can modify
|
||||
CSS rules instead of overwriting them through extra CSS lines,
|
||||
resulting in a smaller file.
|
||||
|
||||
**Concatenated:** every module or library you might use in Odoo has its
|
||||
own set of CSS, Less or Sass files (eCommerce, blogs, themes, etc.). Having
|
||||
several CSS files is great for the modularity, but not good for the
|
||||
performance because most browsers can only perform 6 requests in
|
||||
parallel resulting in lots of files loaded in series. The
|
||||
latency time to transfer a file is usually much longer than the actual
|
||||
data transfer time, for small files like .JS and .CSS. Thus, the time to
|
||||
load CSS resources depends more on the number of requests to be done
|
||||
than the actual file size.
|
||||
|
||||
To address this issue, all CSS / Less / Sass files are concatenated into
|
||||
a single .CSS file to send to the browser. So a visitor has **only one
|
||||
.CSS file to load** per page, which is particularly efficient. As the
|
||||
CSS is shared amongst all pages, when the visitor clicks on another
|
||||
page, the browser does not even have to load a new CSS file!
|
||||
|
||||
================================= =============================================
|
||||
**Both files in the <head>** **What the visitor gets (only one file)**
|
||||
================================= =============================================
|
||||
/\* From bootstrap.css \*/ .text-muted {
|
||||
.text-muted { color: #666;
|
||||
color: #777; background: yellow
|
||||
background: yellow; }
|
||||
}
|
||||
|
||||
/\* From my-theme.css \*/
|
||||
.text-muted {
|
||||
color: #666;
|
||||
}
|
||||
================================= =============================================
|
||||
|
||||
The CSS sent by Odoo includes all CSS / Less / Sass of all pages /
|
||||
modules. By doing this, additional page views from the same visitor will
|
||||
not have to load CSS files at all. But some modules might include huge
|
||||
CSS/Javascript resources that you do not want to prefetch at the first
|
||||
page because they are too big. In this case, Odoo splits this resource
|
||||
into a second bundle that is loaded only when the page using it is
|
||||
requested. An example of this is the backend that is only loaded when
|
||||
the visitor logs in and accesses the backend (/web).
|
||||
|
||||
.. note::
|
||||
If the CSS file is very big, Odoo will split it into two smaller
|
||||
files to avoid the 4095 selectors limit per sheet of Internet Explorer.
|
||||
But most themes fit below this limit.
|
||||
|
||||
**Minified:** After being pre-processed and concatenated, the resulting
|
||||
CSS is minified to reduce its size.
|
||||
|
||||
============================ ==============================
|
||||
**Before minification** **After minification**
|
||||
============================ ==============================
|
||||
/\* some comments \*/ .text-muted {color: #666}
|
||||
.text-muted {
|
||||
color: #666;
|
||||
}
|
||||
============================ ==============================
|
||||
|
||||
The final result is then compressed, before being delivered to the
|
||||
browser.
|
||||
|
||||
Then, a cached version is stored server-side (so we do not have
|
||||
to pre-process, concatenate, minify at every request) and browser-side
|
||||
(so the same visitor will load the CSS only once for all pages they
|
||||
visit).
|
||||
|
||||
Static Resources: Javascript
|
||||
----------------------------
|
||||
|
||||
As with CSS resources, Javascript resources are also concatenated,
|
||||
minified, compressed and cached (server-side and browser-side).
|
||||
|
||||
Odoo creates three Javascript bundles:
|
||||
|
||||
- One for all pages of the website (including code for parallax
|
||||
effects, form validation, etc.)
|
||||
|
||||
- One for common Javascript code shared among frontend and backend
|
||||
(Bootstrap)
|
||||
|
||||
- One for backend specific Javascript code (Odoo Web Client interface
|
||||
for your employees using Odoo)
|
||||
|
||||
Most visitors of your website will only need the first two bundles,
|
||||
resulting in a maximum of two Javascript files to load to render one
|
||||
page. As these files are shared across all pages, further clicks by the
|
||||
same visitor will not load any other Javascript resource.
|
||||
|
||||
.. note::
|
||||
If you work on :doc:`Developer mode </applications/general/developer_mode>`, the CSS and
|
||||
Javascript are neither concatenated, nor minified. Thus, it's much slower. But it allows you to
|
||||
easily debug with the Chrome debugger as CSS and Javascript resources are not transformed from
|
||||
their original versions.
|
||||
|
||||
CDN
|
||||
---
|
||||
|
||||
If you activate the CDN feature in Odoo, static resources (Javascript,
|
||||
CSS, images) are loaded from a Content Delivery Network. Using a Content
|
||||
Delivery Network has three advantages:
|
||||
|
||||
- Load resources from a nearby server (most CDN have servers in main
|
||||
countries around the globe)
|
||||
|
||||
- Cache resources efficiently (no computation resources usage on your
|
||||
own server)
|
||||
|
||||
- Split the resource loading on different services allowing to load
|
||||
more resources in parallel (since the Chrome limit of 6 parallel
|
||||
requests is by domain)
|
||||
|
||||
You can configure your CDN options from the **Website Admin** app, using
|
||||
the Configuration menu. Here is an example of configuration you can use:
|
||||
|
||||
.. image:: media/seo11.png
|
||||
:align: center
|
||||
|
||||
HTML Pages
|
||||
----------
|
||||
|
||||
The HTML pages can be compressed, but this is usually handled by your web
|
||||
server (NGINX or Apache).
|
||||
|
||||
The Odoo Website builder has been optimized to guarantee clean and short
|
||||
HTML code. Building blocks have been developed to produce clean HTML
|
||||
code, usually using Bootstrap and the HTML editor.
|
||||
|
||||
As an example, if you use the color picker to change the color of a
|
||||
paragraph to the primary color of your website, Odoo will produce the
|
||||
following code:
|
||||
|
||||
``<p class="text-primary">My Text</p>``
|
||||
|
||||
Whereas most HTML editors (such as CKEditor) will produce the following
|
||||
code:
|
||||
|
||||
``<p style="color: #AB0201">My Text</p>``
|
||||
|
||||
Responsive Design
|
||||
-----------------
|
||||
|
||||
Websites that are not mobile-friendly are negatively
|
||||
impacted in search engine rankings. All Odoo themes rely on Bootstrap to
|
||||
render efficiently according to the device: desktop, tablet or mobile.
|
||||
|
||||
.. image:: media/seo12.png
|
||||
:align: center
|
||||
|
||||
As all Odoo modules share the same technology, absolutely all pages in
|
||||
your website are mobile friendly.
|
||||
|
||||
Browser Caching
|
||||
---------------
|
||||
|
||||
Javascript, images and CSS resources have an URL that changes
|
||||
dynamically when their content change. As an example, all CSS files are
|
||||
loaded through this URL:
|
||||
`localhost:8069/web/content/457-0da1d9d/web.assets\_common.0.css <http://localhost:8069/web/content/457-0da1d9d/web.assets_common.0.css>`__.
|
||||
The ``457-0da1d9d`` part of this URL will change if you modify the CSS of
|
||||
your website.
|
||||
|
||||
This allows Odoo to set a very long cache delay (XXX) on these
|
||||
resources: XXX secs, while being updated instantly if you update the
|
||||
resource.
|
||||
|
||||
Scalability
|
||||
-----------
|
||||
|
||||
In addition to being fast, Odoo is also more scalable than traditional
|
||||
CMS and eCommerce (Drupal, Wordpress, Magento, Prestashop). The
|
||||
following link provides an analysis of the major open source CMS and
|
||||
eCommerce compared to Odoo when it comes to high query volumes:
|
||||
`https://www.odoo.com/slides/slide/197
|
||||
<https://www.odoo.com/slides/slide/odoo-cms-performance-comparison-and-optimisation-197>`_
|
||||
|
||||
.. todo:: fix above link
|
||||
|
||||
Here is the slide that summarizes the scalability of Odoo Website & eCommerce.
|
||||
|
||||
.. image:: media/seo13.png
|
||||
:align: center
|
||||
|
||||
Search Engines Files
|
||||
====================
|
||||
|
||||
Sitemap
|
||||
-------
|
||||
|
||||
The sitemap points out pages to index to search engine robots.
|
||||
Odoo generates a ``/sitemap.xml`` file automatically for you. For
|
||||
performance reasons, this file is cached and updated every 12 hours.
|
||||
|
||||
By default, all URLs will be in a single ``/sitemap.xml`` file, but if you
|
||||
have a lot of pages, Odoo will automatically create a Sitemap Index
|
||||
file, respecting the `sitemaps.org
|
||||
protocol <http://www.sitemaps.org/protocol.html>`__ grouping sitemap
|
||||
URL's in 45000 chunks per file.
|
||||
|
||||
Every sitemap entry has 4 attributes that are computed automatically:
|
||||
|
||||
- ``<loc>`` : the URL of a page
|
||||
|
||||
- ``<lastmod>`` : last modification date of the resource, computed
|
||||
automatically based on related object. For a page related to a
|
||||
product, this could be the last modification date of the product
|
||||
or the page.
|
||||
|
||||
- ``<priority>`` : modules may implement their own priority algorithm based
|
||||
on their content (example: a forum might assign a priority based
|
||||
on the number of votes on a specific post). The priority of a
|
||||
static page is defined by it's priority field, which is
|
||||
normalized (16 is the default).
|
||||
|
||||
Structured Data Markup
|
||||
----------------------
|
||||
|
||||
Structured Data Markup is used to generate Rich Snippets in search
|
||||
engine results. It is a way for website owners to send structured data
|
||||
to search engine robots; helping them understand your content and
|
||||
create well-presented search results.
|
||||
|
||||
Google supports a number of rich snippets for content types, including:
|
||||
Reviews, People, Products, Businesses, Events and Organizations.
|
||||
|
||||
Odoo implements micro data as defined in the
|
||||
`schema.org <http://schema.org>`__ specification for events, eCommerce
|
||||
products, forum posts and contact addresses. This allows your product
|
||||
pages to be displayed in Google using extra information like the price
|
||||
and rating of a product:
|
||||
|
||||
.. image:: media/seo14.png
|
||||
:align: center
|
||||
|
||||
robots.txt
|
||||
----------
|
||||
|
||||
When indexing your website, search engines take a first look at the
|
||||
general indexing rules of the a``/robots.txt`` file (allowed robots,
|
||||
sitemap path, etc.). Odoo automatically creates it. Its content is:
|
||||
|
||||
User-agent: \*
|
||||
Sitemap: https://www.odoo.com/sitemap.xml
|
||||
|
||||
It means that all robots are allowed to index your website
|
||||
and there is no other indexing rule than specified in the sitemap
|
||||
to be found at following address.
|
||||
|
||||
You can customize the file *robots* in
|
||||
:doc:`Developer mode </applications/general/developer_mode>` from *Settings --> Technical -->
|
||||
User Interface --> Views* (exclude robots, exclude some pages, redirect to a custom Sitemap).
|
||||
Make the Model Data of the view *Non Updatable* to not reset the file after system upgrades.
|
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 118 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 87 KiB |
After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
BIN
content/applications/websites/website/optimize/seo/seo09.png
Normal file
After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 61 KiB |
@ -2,12 +2,825 @@
|
||||
Publish
|
||||
=======
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
Odoo's Website Builder is designed to help anyone build a beautiful, professional-grade website.
|
||||
|
||||
publish/domain_name
|
||||
publish/translate
|
||||
publish/multi_website
|
||||
With intuitive building blocks, unique design elements, and tons of customizable features, users
|
||||
can create top-notch websites in a fraction of the time - without any coding experience whatsoever.
|
||||
|
||||
Website essentials
|
||||
==================
|
||||
|
||||
Odoo provides the user with a myriad of eye-catching, feature-filled design elements that are
|
||||
easy-to-use, simple to customize, and able to take your website to the next level.
|
||||
|
||||
Pick a theme
|
||||
------------
|
||||
|
||||
Upon installing the *Website* application, you are redirected to a page full of website themes to
|
||||
choose from.
|
||||
|
||||
.. image:: publish/essentials/pick-theme-page.png
|
||||
:align: center
|
||||
:alt: the pick a theme page in the website application
|
||||
|
||||
Each theme provides its own unique style (and look) that expertly cater to a variety of businesses
|
||||
or personal purposes.
|
||||
|
||||
While they differ in initial design, each theme still provides the user with all the functionality,
|
||||
options, tools, and features that Odoo has to offer. That way, you can get the most of your website,
|
||||
no matter what theme you pick.
|
||||
|
||||
When you hover over a theme on the *Pick a Theme* page, you are presented with two options: *Use
|
||||
This Theme* or *Live Preview*.
|
||||
|
||||
.. image:: publish/essentials/live-preview-option.png
|
||||
:align: center
|
||||
:alt: live preview of a website theme
|
||||
|
||||
Clicking *Live Preview* presents you with a sample website in that desired theme. You can also
|
||||
choose to see it in *Desktop* or *Mobile*.
|
||||
|
||||
If you want to choose the theme for your website, simply click *Start Now* in the upper-left
|
||||
corner. If you'd like to go back to the theme selection page, click *Choose another theme*.
|
||||
|
||||
.. image:: publish/essentials/sample-website-preview.png
|
||||
:align: center
|
||||
:alt: sample website preview
|
||||
|
||||
.. tip::
|
||||
You can change your theme at any time. From the front-end of the website (in *Edit* mode),
|
||||
select *Switch Theme* at the bottom of the *Options* section in the toolbar. From the backend, go
|
||||
to :menuselection:`Website app --> Configuration --> Settings` and select *Pick a Theme* from the
|
||||
*Website* section.
|
||||
|
||||
Getting started
|
||||
---------------
|
||||
|
||||
When a theme is selected, Odoo takes you to a blank homepage (already in *Edit* mode) that you
|
||||
can start designing with the help of Odoo's toolbar, located on the right-side of the screen.
|
||||
|
||||
If you're not sure where to start, you can follow the helpful purple drops that Odoo provides to
|
||||
guide users through a few quick steps to begin their website building process.
|
||||
|
||||
.. image:: publish/essentials/purple-drops.png
|
||||
:align: center
|
||||
:alt: odoo purple drops in website builder
|
||||
|
||||
Building Blocks
|
||||
---------------
|
||||
|
||||
Odoo provides the user with a huge collection of helpful design elements (and features) to help
|
||||
them build their website. The first section you see is **Blocks**, which contains all of Odoo's
|
||||
eye-catching, easy-to-use *Building Blocks*.
|
||||
|
||||
To use these *Building Blocks*, simply drag and drop your desired block anywhere on your page, and
|
||||
start customizing it to fit the needs of your company.
|
||||
|
||||
They are divided into 4 categories:
|
||||
|
||||
- **Structure**: core features that provide foundational elements to your site.
|
||||
|
||||
- **Features**: unique array of informative, attention-grabbing aspects to help your web design
|
||||
look more professional and pleasing to visitors.
|
||||
|
||||
- **Dynamic Content**: features designed to showcase more information about the company, its
|
||||
location, social presence, and so much more.
|
||||
|
||||
- **Inner Content**: engaging forms of content and design elements that can be directly
|
||||
incorporated within other *Building Blocks*
|
||||
|
||||
Customize Building Blocks
|
||||
-------------------------
|
||||
|
||||
Once you have dragged and dropped a *Building Block* onto your webpage, you can edit it in a number
|
||||
of ways.
|
||||
|
||||
To do so, select the block you wish to change, and a new set of options appears in the toolbar.
|
||||
These options are specific to that selected block, and can be found in the *Style* section of the
|
||||
toolbar.
|
||||
|
||||
.. image:: publish/essentials/block-toolbar-options.png
|
||||
:align: center
|
||||
:alt: building block with specific options in the toolbar
|
||||
|
||||
As mentioned, these options are different for every block, so be sure to consider every available
|
||||
configuration as you design your website.
|
||||
|
||||
Shapes
|
||||
------
|
||||
|
||||
Of course, you can change the image and background color of any block, but Odoo also provides the
|
||||
user with unique design elements known as *Shapes*. These are artistic design elements that
|
||||
create a stunning, completely cohesive design, without drawing attention away from your content.
|
||||
|
||||
When a block is selected, you can choose to add a *Shapes* element in the "Background" field,
|
||||
indicated by this button
|
||||
|
||||
.. image:: publish/essentials/shapes-icon.png
|
||||
:align: center
|
||||
:alt: shapes element icon in the toolbar
|
||||
|
||||
Odoo offers numerous categories, styles, and designs. Each of which can be fully customized in
|
||||
many ways. To preview how they look, just hover over any *Shapes*, and Odoo instantly shows how
|
||||
it looks on your website.
|
||||
|
||||
.. image:: publish/essentials/shapes-hover.png
|
||||
:align: center
|
||||
:alt: Shapes element on webpage when cursor hovers over option
|
||||
|
||||
You can create cohesion between your blocks by using similar *Shapes* to seamlessly connect your
|
||||
content together, creating a smooth flow throughout your page.
|
||||
|
||||
To do that, simply select the block you wish to connect, click the *Shapes* icon again, and Odoo
|
||||
will automatically connect those elements together (if there's a perfect match). But you can
|
||||
customize and choose any *Shapes* you want.
|
||||
|
||||
.. image:: publish/essentials/shapes-on-block.png
|
||||
:align: center
|
||||
:alt: example of how a Shapes element looks on a block before it's connected
|
||||
|
||||
.. image:: publish/essentials/connected-shapes.png
|
||||
:align: center
|
||||
:alt: two connected shape elements to create cohesive design
|
||||
|
||||
The limitless possibilities of web design brought forth by these unique *Shapes* are guaranteed
|
||||
to give your website a memorable, professional look that visitors won't soon forget.
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
In the *Options* section of the toolbar, you can control numerous features that are utilized
|
||||
throughout your site.
|
||||
|
||||
Theme Colors
|
||||
************
|
||||
|
||||
For instance, it's here in the *Options* tab where you can customize the *Theme Colors* of your
|
||||
entire site. These unique combinations of colors can be configured in any way you'd like, or you
|
||||
can select one from a list of pre-made color combinations that Odoo provides.
|
||||
|
||||
.. image:: publish/essentials/theme-colors.png
|
||||
:align: center
|
||||
:alt: theme colors setting area on the toolbar
|
||||
|
||||
You can choose any combination of colors you'd like, and all of them are easily adapted to any
|
||||
feature (or element) that you put on your page. Having pre-configured *Theme Colors* just a click
|
||||
away, allows you to keep creating a beautiful website, page after page, without any delays.
|
||||
|
||||
Theme options
|
||||
*************
|
||||
|
||||
In "Theme Options," you can customize the look and layout of various design aspects.
|
||||
|
||||
.. image:: publish/essentials/theme-options-area.png
|
||||
:align: center
|
||||
:alt: theme options on the website builder toolbar
|
||||
|
||||
The changes you make here will become the new defaults for the site, but you can adjust, modify,
|
||||
and change them at any time. You can change things like the overall layout, font, button style,
|
||||
and more.
|
||||
|
||||
Header and Footer
|
||||
-----------------
|
||||
|
||||
When the header or footer of your page is selected, Odoo instantly reveals a new *Style* menu
|
||||
with options and features specifically designed for these elements of your website.
|
||||
|
||||
.. image:: publish/essentials/header-style-options.png
|
||||
:align: center
|
||||
:alt: header style options in the toolbar
|
||||
|
||||
Here, you can customize the layout, the colors, the position, and so much more! So, don't forget
|
||||
to play around with these options during the building of your website.
|
||||
|
||||
Custom domain name
|
||||
==================
|
||||
|
||||
By default, your Odoo database (and website) have an *.odoo.com* domain name, which is seen in the
|
||||
URL and emails.
|
||||
|
||||
However, you can change it to a custom URL (e.g. *www.yourcompany.com*) at any time.
|
||||
|
||||
Good domain qualities
|
||||
---------------------
|
||||
|
||||
Choosing the right domain name for your business is extremely important for your branding.
|
||||
|
||||
That's why it's vital to consider the following aspects when creating a custom URL for your business
|
||||
(or organization).
|
||||
|
||||
Make sure your domain name is:
|
||||
|
||||
- Simple and obvious
|
||||
- Easy to remember (*and* spell)
|
||||
- Concise: the shorter, the better
|
||||
- Avoid special characters
|
||||
- Aim for a ".com" and/or your country extension
|
||||
|
||||
Read more: `How to Choose a Domain Name for Maximum SEO <https://www.searchenginejournal.com/choose-a-domain-name-maximum-seo/158951/>`__
|
||||
|
||||
Buy a domain name
|
||||
-----------------
|
||||
|
||||
Buy your domain name at a popular registrar site, like:
|
||||
|
||||
- `GoDaddy <https://www.godaddy.com>`__
|
||||
- `Namecheap <https://www.namecheap.com>`__
|
||||
- `OVH <https://www.ovh.com>`__
|
||||
|
||||
.. note:: Steps to buy a domain name are pretty straight-forward. If you have any issues, check out
|
||||
this easy-to-follow tutorial:
|
||||
|
||||
- `GoDaddy <https://roadtoblogging.com/buy-domain-name-from-godaddy>`__
|
||||
|
||||
Feel free to buy an email server to have email addresses using your domain name. However,
|
||||
*don't* buy any extra service to create (or host) your website - that's Odoo's job!
|
||||
|
||||
.. _custom_domain:
|
||||
|
||||
|
||||
Apply domain name to Odoo
|
||||
-------------------------
|
||||
|
||||
First, you must authorize the URL redirection (*yourcompany.com --> yourcompany.odoo.com*):
|
||||
|
||||
To do that, open your Odoo.com account from the homepage.
|
||||
|
||||
.. image:: publish/domain_name/odoo-account.png
|
||||
:align: center
|
||||
:alt: opening odoo.com account from homepage
|
||||
|
||||
Then, select *My Databases* page under the same drop-down menu.
|
||||
|
||||
.. image:: publish/domain_name/my-databases.png
|
||||
:align: center
|
||||
:alt: manage databases page
|
||||
|
||||
That redirects to the *Manage Your Databases* page. Here, you need to click on *Domains* to the
|
||||
right of the database you want to redirect.
|
||||
|
||||
.. image:: publish/domain_name/manage-databases.png
|
||||
:align: center
|
||||
:alt: clicking domains of the database
|
||||
|
||||
Then, a database domain prompt appears, wherein you enter your custom domain:
|
||||
(e.g. *www.yourcompany.com*).
|
||||
|
||||
.. image:: publish/domain_name/enter-domain.png
|
||||
:align: center
|
||||
:alt: domain name database prompt
|
||||
|
||||
At this point, you can apply the redirection from your domain name's manager account:
|
||||
|
||||
In order to do that, log in to your account, and search for the DNS Zones management page.
|
||||
|
||||
Then, create a CNAME record (*www.yourdomain.com*) pointing to *mywebsite.odoo.com*. If you want to
|
||||
use the naked domain (e.g. *yourdomain.com*), you need to redirect *yourdomain.com* to
|
||||
*www.yourdomain.com*.
|
||||
|
||||
.. note:: Here are some specific guidelines to create a CNAME record:
|
||||
|
||||
- `GoDaddy <https://be.godaddy.com/fr/help/add-a-cname-record-19236>`__
|
||||
- `Namecheap <https://www.namecheap.com/support/knowledgebase/article.aspx/9646/10/how-can-i-set-up-a-cname-record-for-my-domain>`__
|
||||
- `OVH <https://www.ovh.co.uk/g1519.exchange_20132016_how_to_add_a_cname_record>`__
|
||||
|
||||
Enable SSL (HTTPS) for Odoo
|
||||
---------------------------
|
||||
|
||||
Odoo no longer requires users to use a third-party CDN service provide (like, CloudFlare) to
|
||||
enable SSL. Odoo generates the certificate for you automatically, using integration with
|
||||
`Let's Encrypt Certificate Authority and ACME protocol <https://letsencrypt.org/how-it-works/>`__.
|
||||
|
||||
In order to enable SSL, simply add your domain name in your customer portal. A separate certificate
|
||||
is generated for each domain name specified.
|
||||
|
||||
.. warning::
|
||||
**The certificate generation may take up to 24h.**
|
||||
|
||||
.. note::
|
||||
If you already use CloudFlare (or a similar service), you can keep using it, or simply change to
|
||||
Odoo.
|
||||
|
||||
Website indexed twice by Google
|
||||
-------------------------------
|
||||
|
||||
If you set up a custom domain name (*mydomain.com*) for *mydatabase.odoo.com*, Google indexes your
|
||||
website under *both* names.
|
||||
|
||||
This is a minor limitation of the Odoo cloud platforms.
|
||||
|
||||
Website translation
|
||||
===================
|
||||
|
||||
In addition to creating beautiful, professional-grade websites, Odoo provides users with the ability
|
||||
to translate them into multiple different languages - at any time.
|
||||
|
||||
Translate
|
||||
---------
|
||||
|
||||
To enable translation, go to your website, and scroll down to your footer. Click on the
|
||||
language (i.e. *English - US*) to reveal a menu, then click *Add a Language*.
|
||||
|
||||
.. image:: publish/translate/translate-menu.png
|
||||
:align: center
|
||||
:alt: translate menu in the website footer
|
||||
|
||||
Choose the language you want from the language pop-up that appears. You can also decide which
|
||||
website you'd like to apply it to here, as well. Then, click *Add*.
|
||||
|
||||
.. image:: publish/translate/translate-pop-up.png
|
||||
:align: center
|
||||
:alt: add a language feature
|
||||
|
||||
When you navigate back to your website, that new language is now an option.
|
||||
|
||||
.. image:: publish/translate/new-language-option.png
|
||||
:align: center
|
||||
:alt: showing a new language option in footer
|
||||
|
||||
When selected, some of the text translates automatically.
|
||||
|
||||
.. image:: publish/translate/auto-translation.png
|
||||
:align: center
|
||||
:alt: new language option available
|
||||
|
||||
To translate the content of the website, click on **Translate** (in the upper-right corner), which
|
||||
appears in that newly-chosen language.
|
||||
|
||||
Here, for example, it's **Traduire**, since we are translating the website in French.
|
||||
|
||||
.. image:: publish/translate/translate-button.png
|
||||
:align: center
|
||||
:alt: translate button
|
||||
|
||||
At this point, most of the content is highlighted in yellow or green.
|
||||
|
||||
The yellow represents content that you have to translate manually, and green represents content that
|
||||
has already been translated by Odoo automatically.
|
||||
|
||||
.. image:: publish/translate/translate-colors.png
|
||||
:align: center
|
||||
:alt: green and yellow translate colors
|
||||
|
||||
Manage multiple websites
|
||||
========================
|
||||
|
||||
Odoo helps users to build, customize, and manage multiple websites in one easy-to-use platform.
|
||||
|
||||
Having multiple websites opens up the possibilities of diversification and customer segmentation
|
||||
for any business. Multiple websites are also a great way to multiply your audience and boost
|
||||
revenue!
|
||||
|
||||
Each Odoo website can work in a fully independent way, with its very own theme, branding, domain
|
||||
name, pages, languages, products, blogs, forums, events, live chat channels, and so much more.
|
||||
|
||||
Setup
|
||||
-----
|
||||
|
||||
To create a new website, go to :menuselection:`Website --> Configuration --> Settings`.
|
||||
|
||||
.. image:: publish/multi_website/config-settings.png
|
||||
:align: center
|
||||
:alt: website application configuration settings
|
||||
|
||||
To start building a new website, simply click on *+New* located next to the title of the "Website"
|
||||
section on the *Website* settings page.
|
||||
|
||||
.. image:: publish/multi_website/new-website-button.png
|
||||
:align: center
|
||||
:alt: new website button on the settings page
|
||||
|
||||
When clicked, a pop-up appears. In this pop-up, you input the name of your new website, its domain,
|
||||
and a logo (if you have one).
|
||||
|
||||
.. image:: publish/multi_website/new-website-pop-up.png
|
||||
:align: center
|
||||
:alt: new website pop-up with empty information fields
|
||||
|
||||
.. note::
|
||||
If you want to publish this new website under the default domain of your Odoo database, simply
|
||||
leave the domain field blank.
|
||||
|
||||
Once all the necessary fields have been filled, you may click *Pick a Theme* to select how you
|
||||
want your new website to look.
|
||||
|
||||
.. image:: publish/multi_website/pick-theme-button.png
|
||||
:align: center
|
||||
:alt: website pick a theme button on the pop-up window
|
||||
|
||||
Clicking that, takes you to a catalog of professional-grade website themes that Odoo has to
|
||||
choose from.
|
||||
|
||||
Remember, this new website may have an entirely different purpose (and/or audience) than your
|
||||
initial site. So, feel free to choose a completely new theme to fit your needs. And, don't
|
||||
forget, you can change themes at any time.
|
||||
|
||||
.. image:: publish/multi_website/multi-website-theme-selection.png
|
||||
:align: center
|
||||
:alt: various website themes
|
||||
|
||||
To select a theme, hover the cursor over your desired theme, and click *Use This Theme*. You can
|
||||
also preview what that theme would look like, by selecting *Live Preview*.
|
||||
|
||||
.. image:: publish/multi_website/theme-live-preview-hover.png
|
||||
:align: center
|
||||
:alt: website theme live preview hover over options
|
||||
|
||||
Once a theme is selected, you can start building your website. Not sure where to begin? Simply
|
||||
follow the "purple drops" located on the screen. They will help get your started.
|
||||
|
||||
.. image:: publish/multi_website/purple-drops.png
|
||||
:align: center
|
||||
:alt: website builder purple drops
|
||||
|
||||
When the cursor hovers over them, they explain the function and purpose of that particular
|
||||
feature.
|
||||
|
||||
.. image:: publish/multi_website/purple-drops-explanation.png
|
||||
:align: center
|
||||
:alt: website builder purple drops with explanation of function
|
||||
|
||||
Then, you can start dragging and dropping any of Odoo's "Building Blocks" (on the right) to create
|
||||
your design. Remember to hit *Save* once you are done.
|
||||
|
||||
.. image:: publish/multi_website/partially-built-homepage.png
|
||||
:align: center
|
||||
:alt: partially built website with building blocks
|
||||
|
||||
.. note::
|
||||
If you run Odoo Online, don’t forget to redirect any new domain name to your Odoo database
|
||||
(``CNAME``) and to authorize it on the Odoo-side.
|
||||
|
||||
Create the menu
|
||||
---------------
|
||||
|
||||
By default, this new website has a default menu with all the installed applications.
|
||||
|
||||
To edit it, click :menuselection:`Pages --> Edit Menu`.
|
||||
|
||||
.. image:: publish/multi_website/pages-edit-menu.png
|
||||
:align: center
|
||||
:alt: pages edit menu on header
|
||||
|
||||
When selected, a pop-up appears, in which you can modify the header menu of your website.
|
||||
|
||||
.. image:: publish/multi_website/edit-menu-pop-up.png
|
||||
:align: center
|
||||
:alt: edit header menu pop-up window
|
||||
|
||||
.. note::
|
||||
Moving forward, you only edit the menu of the website you are currently on.
|
||||
|
||||
Switching websites
|
||||
------------------
|
||||
|
||||
In the upper-right corner, there is a "Website Switcher" drop-down menu. It will show the website
|
||||
that you are currently on. When clicked, it will reveal your other websites, which you can instantly
|
||||
jump to with one click.
|
||||
|
||||
If you use another domain for the website, the user is requested to sign in.
|
||||
|
||||
.. image:: publish/multi_website/multi_website03.png
|
||||
:align: center
|
||||
:alt: website switcher button in the corner
|
||||
|
||||
.. note::
|
||||
When switching, you are redirected to the same domain path on the other website
|
||||
(e.g., ``/shop/myproduct``). If this URL is not used, you will be redirected to a 404 page, and
|
||||
prompted to create a new page from there.
|
||||
|
||||
Add features
|
||||
------------
|
||||
|
||||
The website apps you install (like *Blogs*) are made available on all your websites. Of course,
|
||||
you can keep them hidden in one website by removing the menu item, as previously mentioned.
|
||||
|
||||
Each website comes with a wide array of features and options that can be found on the *Settings*
|
||||
page (:menuselection:`Website app --> Configuration --> Settings`).
|
||||
|
||||
To modify those features and options, you first need to select which website you want to
|
||||
customize. In order to do that, you need to select your desired website from the first section of
|
||||
settings, titled: "Select the Website to Configure."
|
||||
|
||||
.. image:: publish/multi_website/multi_website15.png
|
||||
:align: center
|
||||
:alt: selecting which website should be configured
|
||||
|
||||
Once a website is selected, take a look at the options on the rest of the page, particularly the
|
||||
ones flagged with an Earth icon.
|
||||
|
||||
This icon means that those features will only impact the very website you are currently working on.
|
||||
|
||||
.. image:: publish/multi_website/multi_website12.png
|
||||
:align: center
|
||||
:alt: earth icon in the website settings menu
|
||||
|
||||
You can, for instance, set specific:
|
||||
|
||||
- Languages
|
||||
|
||||
- Domain names
|
||||
|
||||
- Social media links
|
||||
|
||||
- Dedicated live chat channels
|
||||
|
||||
- And so much more...
|
||||
|
||||
The other options are global and will apply to *all* your websites.
|
||||
|
||||
Customize the visitor experience
|
||||
--------------------------------
|
||||
|
||||
Thanks to Odoo's *Customize* menu, there are plenty of ways you can customize (and enhance) the
|
||||
overall user experience for your visitors.
|
||||
|
||||
All the visual-related options in this drop-down menu are specific to each page you are
|
||||
customizing.
|
||||
|
||||
For example, the options available for your blogs won't be the same as the options available for
|
||||
your online store because each page serves a different purpose. Odoo provides the user with the
|
||||
professional-grade options and features to enhance every single page, no matter what.
|
||||
|
||||
So, while building your website, be sure to go through the different pages, and adapt them to fit
|
||||
this new audience/purpose. Focus on workflows and automatic pages (eCommerce checkout, blogs,
|
||||
events, etc.), as there more options to be found there.
|
||||
|
||||
.. image:: publish/multi_website/customize-drop-down.png
|
||||
:align: center
|
||||
:alt: customize drop-down menu on the front-end of the website
|
||||
|
||||
Publish specific content per website
|
||||
------------------------------------
|
||||
|
||||
Like static pages, any content created from the front-end (product page, blog post, etc.) is always
|
||||
*only* published on that current website.
|
||||
|
||||
You can change that by editing the form in the back-end, and leaving the *Website* field blank.
|
||||
This will publish it on all your websites.
|
||||
|
||||
.. image:: publish/multi_website/multi_website06.png
|
||||
:align: center
|
||||
:alt: publishing content on a specific website
|
||||
|
||||
Here are all the objects you can link to *any (or all)* websites:
|
||||
|
||||
1. Products
|
||||
|
||||
2. Product Categories (for eCommerce)
|
||||
|
||||
3. Blogs
|
||||
|
||||
4. Pages
|
||||
|
||||
5. Forums
|
||||
|
||||
6. Events
|
||||
|
||||
7. Job Positions
|
||||
|
||||
8. eLearning Courses
|
||||
|
||||
Publish on all websites
|
||||
-----------------------
|
||||
|
||||
When a new static page is created, it's only made available on that current website. However, you
|
||||
can duplicate it to other websites by going to :menuselection:`Website --> Configuration --> Pages`.
|
||||
|
||||
Then, select the page you wish to duplicate, click *Edit*, and leave the *Website* field empty.
|
||||
|
||||
If you want to duplicate it in just *one* other website, duplicate the page, and select your
|
||||
desired website in the the *Website* field of the newly duplicated page.
|
||||
|
||||
.. image:: publish/multi_website/multi-website-pages.png
|
||||
:align: center
|
||||
:alt: placing a page onto another website
|
||||
|
||||
To efficiently (and quickly) manage your pages, you can click
|
||||
:menuselection:`Pages --> Manage Pages` found on the front-end of the website.
|
||||
|
||||
.. image:: publish/multi_website/manage-pages-drop-down.png
|
||||
:align: center
|
||||
:alt: manage pages drop-down menu option
|
||||
|
||||
That takes you to a page with all your web pages and you can edit/modify them in a number of
|
||||
different ways.
|
||||
|
||||
.. image:: publish/multi_website/multi-website-manage-pages.png
|
||||
:align: center
|
||||
:alt: the manage pages section on the front-end
|
||||
|
||||
.. tip::
|
||||
By grouping pages by URL in the page manager, you quickly find the original page behind
|
||||
each edited page.
|
||||
|
||||
.. image:: publish/multi_website/multi_website10.png
|
||||
:align: center
|
||||
:alt: detailed look at the manage pages section
|
||||
|
||||
Multiple companies
|
||||
------------------
|
||||
|
||||
If you are working in a multi-company environment, each website can be linked to a specific
|
||||
company in your system.
|
||||
|
||||
To link each website to a specific company, go to
|
||||
:menuselection:`Website application --> Configuration --> Settings` and select which company
|
||||
you'd like to link to this website, located in the *Website* section.
|
||||
|
||||
.. image:: publish/multi_website/multi_website16.png
|
||||
:align: center
|
||||
:alt: choose which website to designate to a company
|
||||
|
||||
With such a configuration in place, only company-related data will appear on that website (products,
|
||||
jobs, events, etc.).
|
||||
|
||||
Website editors can only view and edit pages of records they have access to, which is typically
|
||||
only the ones that belong to their current company (and to their subsidiaries, or child companies
|
||||
in Odoo language).
|
||||
|
||||
.. note::
|
||||
If websites are multi-companies, you don’t change the company when switching websites. To
|
||||
change the company, and see the related content, use the company selector in the menu.
|
||||
|
||||
.. image:: publish/multi_website/different-company-drop-down.png
|
||||
:align: center
|
||||
:alt: company selector drop-down menu
|
||||
|
||||
Configure eCommerce website
|
||||
---------------------------
|
||||
|
||||
eCommerce is a crucial feature for any online business, especially one with multiple websites. Odoo
|
||||
allows users to customize the entire flow (and shopping experience) to cater to the specific
|
||||
audience found on each website.
|
||||
|
||||
Products only available on one website
|
||||
--------------------------------------
|
||||
|
||||
Above, you learned how to publish a specific record on only one website. The process is similar
|
||||
for eCommerce products, as well.
|
||||
|
||||
Simply modify the *Website* field in the eCommerce tab of the product form. And remember, an
|
||||
empty field means it will be available on all websites.
|
||||
|
||||
.. image:: publish/multi_website/multi-website-ecommerce-tab.png
|
||||
:align: center
|
||||
:alt: the ecommerce tab of a pricelist template
|
||||
|
||||
Products available on select websites
|
||||
-------------------------------------
|
||||
|
||||
To make a product available on some websites, but not all of them, you can duplicate the product,
|
||||
and assign it to each website you want it to appear on.
|
||||
|
||||
If you need a unique reference to manage in your inventory, you should install *Manufacturing*
|
||||
and create *Kits* BoMs (Bills of Materials).
|
||||
|
||||
Each kit will link each published “virtual” product to the main reference managed in your inventory.
|
||||
That way, any item sold from your website will be converted into the storable item in the delivery
|
||||
order.
|
||||
|
||||
Pricelists
|
||||
----------
|
||||
|
||||
To manage specific prices by website, go to :menuselection:`Website app --> Configuration -->
|
||||
Settings` and activate *Pricelists* and *Multiple Prices per Product* in the *Pricing* section.
|
||||
Then, hit *Save*.
|
||||
|
||||
.. image:: publish/multi_website/pricelists-setting.png
|
||||
:align: center
|
||||
:alt: specific pricelists setting
|
||||
|
||||
Following that, go to :menuselection:`Website --> Products --> Pricelists` to create additional
|
||||
pricelists. Or you can click on *--> Pricelists* located beneath the *Pricelists* option in the
|
||||
*Pricing* section of the *Website* settings.
|
||||
|
||||
.. image:: publish/multi_website/various-routes-to-pricelists.png
|
||||
:align: center
|
||||
:alt: various routes to get to the pricelists page
|
||||
|
||||
After clicking a pricelist you wish to modify, simply select a website in the *Website* field
|
||||
(found in the *Configuration* tab of the pricelist detail form), and that pricelist becomes
|
||||
exclusively available on that website only.
|
||||
|
||||
.. image:: publish/multi_website/multi-website-pricelist.png
|
||||
:align: center
|
||||
:alt: designate which website is linked to which pricelist
|
||||
|
||||
Leaving the field empty means this pricelist will be available on *all* websites, but it will
|
||||
only be visible to customers if *Selectable* is activated in the pricelist detail form, as well.
|
||||
|
||||
Otherwise, it's only available for backend operations in the *Sales* and *Point of Sale*
|
||||
applications.
|
||||
|
||||
Payment Acquirers and Delivery Methods
|
||||
--------------------------------------
|
||||
|
||||
By default, published payment acquirers and delivery methods are deployed in all websites.
|
||||
|
||||
You could use specific payment acquirers per country (using Geo IP) by defining countries in their
|
||||
configuration. Or, you can do it per website by filling in the *Website* field.
|
||||
|
||||
Customer accounts
|
||||
-----------------
|
||||
|
||||
You can choose how to manage your customer accounts in the settings of the *Website* application.
|
||||
Go to :menuselection:`Website --> Configuration --> Settings` and select *Specific User Account*
|
||||
in the *Website* section.
|
||||
|
||||
Activating this feature forces your user to create a specific account for each of your websites.
|
||||
This comes in handy if your websites shouldn't be related to each other in the visitor's mind.
|
||||
However, you can allow customers to use one account for all your websites, by simply
|
||||
deactivating that feature.
|
||||
|
||||
.. image:: publish/multi_website/multi_website17.png
|
||||
:align: center
|
||||
:alt: specific user account in website settings
|
||||
|
||||
Technical hints for customization
|
||||
---------------------------------
|
||||
|
||||
If you want to publish custom objects on the website, here are a few tips to make it work with
|
||||
multiple websites:
|
||||
|
||||
- **Sitemap**: don’t forget the domain in the route to only publish available records in each
|
||||
website's sitemap.
|
||||
|
||||
- **Access**: you should call the method *can_access_from_current_website* in the controller to
|
||||
make sure the visitor can see a record in the current website.
|
||||
|
||||
- **Search**: when a list of records is displayed, don’t forget to specify the domain to *only*
|
||||
display records available for the current website.
|
||||
|
||||
.. image:: publish/multi_website/multi_website11.png
|
||||
:align: center
|
||||
:alt: coding language of technical customization
|
||||
|
||||
Geo IP installation (on-premises database)
|
||||
==========================================
|
||||
|
||||
.. warning::
|
||||
Please note that the installation depends on your computer's operating system and distribution.
|
||||
In this instance, we will assume that a Linux operating system is being used.
|
||||
|
||||
First, install `geoip2 <https://pypi.org/project/geoip2/>`__ Python library
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install geoip2
|
||||
|
||||
Following that, you need to download the
|
||||
`GeoLite2 City database <https://dev.maxmind.com/geoip/geoip2/geolite2/>`_.
|
||||
|
||||
You will end up with a file called ``GeoLite2-City.mmdb``. Then, move the file to the folder
|
||||
``/usr/share/GeoIP/``
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mv ~/Downloads/GeoLite2-City.mmdb /usr/share/GeoIP/
|
||||
|
||||
At this point, you need to restart the server.
|
||||
|
||||
.. note::
|
||||
If you can't/don't want to locate the GeoIP database in ``/usr/share/GeoIP/``, you can use the
|
||||
``--geoip-db`` option of the Odoo command line interface. This option takes the absolute path to
|
||||
the GeoIP database file, and uses it as the GeoIP database. For example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./odoo-bin --geoip-db= ~/Downloads/GeoLite2-City.mmdb
|
||||
|
||||
.. seealso::
|
||||
- `CLI documentation <https://www.odoo.com/documentation/14.0/reference/cmdline.html>`_.
|
||||
|
||||
.. warning::
|
||||
``GeoIP`` Python library can also be used. However, this version is discontinued since January
|
||||
2019. See `GeoLite Legacy databases are now discontinued
|
||||
<https://support.maxmind.com/geolite-legacy-discontinuation-notice/>`_
|
||||
|
||||
Test GeoIP Geolocation on Odoo website
|
||||
--------------------------------------
|
||||
|
||||
Go to your website, and open the web page you want to test ``GeoIP``. Then, select
|
||||
:menuselection:`Customize --> HTML/CSS/JS Editor`, and add the following piece of XML in the page:
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<h1 class="text-center" t-esc="request.session.get('geoip')"/>
|
||||
|
||||
That leaves you with a dictionary indicating the location of the IP address.
|
||||
|
||||
.. image:: publish/geo_ip_installation/on-premise_geo-ip-installation01.png
|
||||
:align: center
|
||||
:alt: on premise geo-ip installation
|
||||
|
||||
.. note::
|
||||
If the curly braces are empty ``{}``, it can be for any of the following reasons :
|
||||
|
||||
- The browsing IP address is the localhost (``127.0.0.1``) or a local area network one
|
||||
(``192.168.*.*``)
|
||||
- If a reversed proxy is used, make sure to configure it correctly. See `--proxy-mode
|
||||
<https://www.odoo.com/documentation/14.0/reference/cmdline
|
||||
.html#cmdoption-odoo-bin-proxy-mode>`__
|
||||
- ``geoip2`` is not installed, or the GeoIP database file wasn't found
|
||||
- The GeoIP database was unable to resolve the given IP address
|
||||
|
@ -1,120 +0,0 @@
|
||||
=============================
|
||||
How to use my own domain name
|
||||
=============================
|
||||
|
||||
By default, your Odoo Online instance and website have a *.odoo.com* domain name,
|
||||
for both the URL and the emails.
|
||||
But you can change to a custom one (e.g. www.yourcompany.com).
|
||||
|
||||
What is a good domain name
|
||||
==========================
|
||||
Your website address is as important to your branding as the name of your
|
||||
business or organization, so put some thought into changing it for a proper
|
||||
domain. Here are some tips:
|
||||
|
||||
- Simple and obvious
|
||||
- Easy to remember and spell
|
||||
- The shorter the better
|
||||
- Avoid special characters
|
||||
- Aim for a .com and/or your country extension
|
||||
|
||||
Read more: `How to Choose a Domain Name for Maximum SEO <https://www.searchenginejournal.com/choose-a-domain-name-maximum-seo/158951/>`__
|
||||
|
||||
How to buy a domain name
|
||||
========================
|
||||
Buy your domain name at a popular registrar:
|
||||
|
||||
- `GoDaddy <https://www.godaddy.com>`__
|
||||
- `Namecheap <https://www.namecheap.com>`__
|
||||
- `OVH <https://www.ovh.com>`__
|
||||
|
||||
.. note:: Steps to buy a domain name are pretty much straight forward.
|
||||
In case of issue, check out those easy tutorials:
|
||||
|
||||
- `GoDaddy <https://roadtoblogging.com/buy-domain-name-from-godaddy>`__
|
||||
- `Namecheap <https://www.loudtips.com/buy-domain-name-hosting-namecheap//>`__
|
||||
|
||||
Feel free to buy an email server to have email addresses using your domain name.
|
||||
However don't buy any extra service to create or host your website.
|
||||
This is Odoo's job!
|
||||
|
||||
.. _custom_domain:
|
||||
|
||||
|
||||
How to apply my domain name to my Odoo instance
|
||||
===============================================
|
||||
First let's authorize the redirection (yourcompany.com -> yourcompany.odoo.com):
|
||||
|
||||
* Open your Odoo.com account from your homepage.
|
||||
|
||||
.. image:: media/domain_name01.png
|
||||
:align: center
|
||||
|
||||
* Go to the *Manage Databases* page.
|
||||
|
||||
.. image:: media/domain_name02.png
|
||||
:align: center
|
||||
|
||||
* Click on *Domains* to the right of the database you would like to redirect.
|
||||
|
||||
.. image:: media/domain_name03.png
|
||||
:align: center
|
||||
|
||||
* A database domain prompt will appear. Enter your custom domain
|
||||
(e.g. www.yourcompany.com).
|
||||
|
||||
|
||||
.. image:: media/domain_name04.png
|
||||
:align: center
|
||||
|
||||
We can now apply the redirection from your domain name's manager account:
|
||||
|
||||
* Log in to your account and search for the DNS Zones management page.
|
||||
|
||||
* Create a CNAME record *www.yourdomain.com* pointing to *mywebsite.odoo.com*.
|
||||
If you want to use the naked domain (e.g. yourdomain.com), you need to redirect
|
||||
*yourdomain.com* to *www.yourdomain.com*.
|
||||
|
||||
.. note:: Here are some specific guidelines to create a CNAME record:
|
||||
|
||||
- `GoDaddy <https://be.godaddy.com/fr/help/add-a-cname-record-19236>`__
|
||||
- `Namecheap <https://www.namecheap.com/support/knowledgebase/article.aspx/9646/10/how-can-i-set-up-a-cname-record-for-my-domain>`__
|
||||
- `OVH <https://www.ovh.co.uk/g1519.exchange_20132016_how_to_add_a_cname_record>`__
|
||||
|
||||
How to enable SSL (HTTPS) for my Odoo instance
|
||||
==============================================
|
||||
|
||||
Until recently, Odoo users needed to use a third-party CDN service provider such as CloudFlare to enable SSL.
|
||||
|
||||
It is not required anymore: Odoo generates the certificate for you automatically, using integration with `Let's Encrypt Certificate Authority and ACME protocol <https://letsencrypt.org/how-it-works/>`__.
|
||||
In order to get this, simply add your domain name in your customer portal (a separate certificate is generated for each domain name specified).
|
||||
|
||||
.. warning::
|
||||
**Please note that the certificate generation may take up to 24h.**
|
||||
|
||||
If you already use CloudFlare or a similar service, you can keep using it or simply change for Odoo. The choice is yours.
|
||||
|
||||
|
||||
How to make sure that all my URLs use my custom domain?
|
||||
=======================================================
|
||||
|
||||
To set up the root URL of your website and of all the links sent in emails, you can ask an administrator of your database (any user in the *Settings* group) to perform a login from the login screen. It's as simple as that!
|
||||
|
||||
If you want to do it manually, you can go to :menuselection:`Settings --> Technical --> System Parameters` .
|
||||
Find the entry called ``web.base.url`` (you can create it if it does not exist) and enter the full URL of your website, like ``https://www.myodoowebsite.com``.
|
||||
|
||||
.. warning::
|
||||
The URL must include the protocol (``https://`` or ``http://``) and must not end by a slash (``/``).
|
||||
|
||||
If you want to block the root URL update when an administrator logs in, you can add a System Parameter called ``web.base.url.freeze`` with its value set to ``True``.
|
||||
|
||||
|
||||
My website is indexed twice by Google
|
||||
=====================================
|
||||
|
||||
If you set up a custom domain *mydomain.com* name for *mydatabase.odoo.com*,
|
||||
Google indexes your website under both names. This is a limitation of the Odoo cloud platforms/
|
||||
|
||||
.. seealso::
|
||||
|
||||
* :doc:`/applications/productivity/discuss/advanced/email_servers`
|
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 165 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 207 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 154 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 228 KiB |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 181 KiB |
Before Width: | Height: | Size: 274 KiB |
@ -1,308 +0,0 @@
|
||||
=====================
|
||||
Manage Multi Websites
|
||||
=====================
|
||||
|
||||
.. image:: media/multi_website04.png
|
||||
:align: center
|
||||
|
||||
Odoo’s Multi-Websites opens up broad possibilities of diversification and
|
||||
customer segmentation for your business. A multiplied audience and
|
||||
boosted revenue are now just a few clicks away!
|
||||
|
||||
Each website can work in a fully independent way, with its theme,
|
||||
branding, domain name, header & footer, pages, languages, products, blog
|
||||
posts, forum, slides, events, live chat channels, etc. Let’s go for a
|
||||
tour!
|
||||
|
||||
Setup
|
||||
=====
|
||||
|
||||
To create a new website, go to :menuselection:`Website --> Configuration --> Settings`.
|
||||
The button, *Create a new website*, lays in the first section.
|
||||
|
||||
|
||||
|
||||
.. image:: media/multi_website05.png
|
||||
:align: center
|
||||
|
||||
In the upcoming prompt, set a name for your new website and a specific
|
||||
domain name. Leave empty to publish the new website under the default
|
||||
domain of your Odoo database. You can later set some country groups to
|
||||
redirect visitors to it using Geo IP.
|
||||
|
||||
.. image:: media/multi_website01.png
|
||||
:align: center
|
||||
|
||||
Then, select a theme. This new website might have an entirely different
|
||||
purpose or audience than the first one. So feel free to go for a
|
||||
different theme!
|
||||
|
||||
Once the theme is selected, you can start to build the homepage of your
|
||||
website. Follow the purple drops; they will help you in the first steps.
|
||||
|
||||
.. image:: media/multi_website08.png
|
||||
:align: center
|
||||
|
||||
|
||||
.. note::
|
||||
If you run Odoo Online, don’t forget to redirect any new domain name to your Odoo database
|
||||
(``CNAME``) and to authorize it Odoo-side. See :doc:`domain_name`.
|
||||
|
||||
Create the menu
|
||||
===============
|
||||
|
||||
The new website has a default menu with all the installed applications.
|
||||
To edit it, click :menuselection:`Pages --> Edit Menu`. Moving forward you only edit
|
||||
the menu of the current website.
|
||||
|
||||
Switch from one website to another
|
||||
==================================
|
||||
|
||||
|
||||
As easy as ABC! There is a website switcher in the right corner of the
|
||||
edit bar. Switching to another website will connect to the domain of
|
||||
this website. If you use another domain for the website, the user is
|
||||
requested to sign in.
|
||||
|
||||
.. image:: media/multi_website03.png
|
||||
:align: center
|
||||
|
||||
.. note::
|
||||
When switching, you are redirected to the same domain path on the other website
|
||||
(e.g., ``/shop/myproduct``). If this URL is not used, you will be redirected to a 404 page but
|
||||
prompted to create a new page from there.
|
||||
|
||||
Add features
|
||||
============
|
||||
|
||||
The website apps you install (e.g., Slides, Blogs) are made available on
|
||||
all your websites. You can, of course, keep them hidden in one website by
|
||||
removing the menu item.
|
||||
|
||||
Each website comes with a high range of specific options in the
|
||||
settings. First, select the website to configure.
|
||||
|
||||
.. image:: media/multi_website15.png
|
||||
:align: center
|
||||
|
||||
Then, take a look at the options flagged with the earth icon. It means
|
||||
they only impact the very website you are working on.
|
||||
|
||||
.. image:: media/multi_website12.png
|
||||
:align: center
|
||||
|
||||
You can, for instance, set specific :
|
||||
|
||||
- languages,
|
||||
|
||||
- domain names,
|
||||
|
||||
- social media links,
|
||||
|
||||
- customer portal mode (B2C vs. B2B),
|
||||
|
||||
- dedicated live chat channels,
|
||||
|
||||
- etc.
|
||||
|
||||
The other options are global and apply to all your websites.
|
||||
|
||||
Manage domain names
|
||||
===================
|
||||
|
||||
As said earlier, your websites can either share the same domain name or
|
||||
use a specific one. If you share it and want to adapt the content per
|
||||
region, set country groups in the setting of each website. Visitors will
|
||||
be redirected to the right website using GeoIP.
|
||||
|
||||
.. image:: media/multi_website18.png
|
||||
:align: center
|
||||
|
||||
.. note::
|
||||
Geo IP is installed by default in Odoo Online. If you run Odoo
|
||||
on-premise, don’t forget to install *GeoIP* library.
|
||||
See :doc:`on-premise_geo-ip-installation`
|
||||
|
||||
.. seealso::
|
||||
- :doc:`domain_name`
|
||||
|
||||
Customize the visitor experience
|
||||
================================
|
||||
|
||||
|
||||
The customer experience can be customized very profoundly thanks to the menu
|
||||
\*Customize\*. All the visual options available there are specific to
|
||||
each website. Go through the different pages to adapt them to this new
|
||||
audience. Focus on workflows, and automatic pages (eCommerce checkout,
|
||||
blogs, events, etc.) as the number of available options is higher there.
|
||||
|
||||
.. image:: media/multi_website14.png
|
||||
:align: center
|
||||
|
||||
Publish specific content per website
|
||||
------------------------------------
|
||||
|
||||
|
||||
Like static pages, any content created from the front-end (product, blog
|
||||
post, etc.) is always only published in the current website. You can
|
||||
change that from the edit form view in the backend and leave the
|
||||
*Website* field blank. This will publish it in all the websites.
|
||||
|
||||
.. image:: media/multi_website06.png
|
||||
:align: center
|
||||
|
||||
Here are all the objects that you can link to *either one or all the
|
||||
websites*:
|
||||
|
||||
1. Products
|
||||
|
||||
2. Product Categories for eCommerce
|
||||
|
||||
3. Blogs
|
||||
|
||||
4. Slide Channels
|
||||
|
||||
5. Forums
|
||||
|
||||
6. Events
|
||||
|
||||
7. Job Positions
|
||||
|
||||
.. note::
|
||||
When you create the record from the backend and publish it,
|
||||
typically a product or an event, it is made available in all websites.
|
||||
|
||||
Publish a page in all websites
|
||||
------------------------------
|
||||
|
||||
A new static page is created and only made available in the current
|
||||
website. You can duplicate it to other websites from
|
||||
:menuselection:`Website --> Configuration --> Pages`. To do so, leave the *Website* field empty.
|
||||
|
||||
If you want to duplicate it in just one other website, duplicate the
|
||||
page and set the new website.
|
||||
|
||||
.. image:: media/multi_website09.png
|
||||
:align: center
|
||||
|
||||
When you edit the page again, the change only affects the current
|
||||
website. A new page is duplicated and tied up to the website.
|
||||
The original page still being linked to all websites.
|
||||
|
||||
.. tip::
|
||||
By grouping pages by URL in the page manager, you quickly find
|
||||
the original page behind each edited page.
|
||||
|
||||
.. image:: media/multi_website10.png
|
||||
:align: center
|
||||
|
||||
Multi-companies
|
||||
===============
|
||||
|
||||
Each website can be linked to a specific company of your system, in a
|
||||
multi-companies environment.
|
||||
|
||||
.. image:: media/multi_website16.png
|
||||
:align: center
|
||||
|
||||
With such a configuration, only company-related data appear on the
|
||||
website (products, jobs, events, etc.).
|
||||
|
||||
Website editors can only view and edit the pages of the records they
|
||||
have access to, typically the ones belonging to their current company
|
||||
(and to their subsidiaries, or child companies in Odoo language). And so
|
||||
is it for visitors.
|
||||
|
||||
.. note::
|
||||
If websites are multi-companies, you don’t change company when switching websites. To change the company and see the related content, use the company selector in the menu.
|
||||
|
||||
.. image:: media/multi_website02.png
|
||||
:align: center
|
||||
|
||||
Configure your eCommerce website
|
||||
================================
|
||||
|
||||
eCommerce is a crucial feature in the multi-websites environment. We made it
|
||||
so that the entire flow can be customized to fit the very audience of
|
||||
each website.
|
||||
|
||||
Products only available on one website
|
||||
--------------------------------------
|
||||
|
||||
We already saw earlier how to publish a specific record in only one
|
||||
website. You will find the \*Website\* field in the eCommerce tab of the
|
||||
product edit form. Empty means available in all websites.
|
||||
|
||||
.. image:: media/multi_website13.png
|
||||
:align: center
|
||||
|
||||
Products available on *some* websites
|
||||
-------------------------------------
|
||||
|
||||
To make a product available on some websites, but not all of them, you
|
||||
should duplicate the product for each website.
|
||||
|
||||
If you need a unique reference to manage in your inventory, you should
|
||||
install *Manufacturing\ and create *Kits* BoMs (bills of materials).
|
||||
Each kit will link each published “virtual” product to the main
|
||||
reference managed in your inventory. That way, any item sold from your
|
||||
website will be converted into the storable item in the delivery order.
|
||||
|
||||
Pricelists
|
||||
----------
|
||||
|
||||
To manage specific prices by websites, you can activate *Multiple Sales
|
||||
Prices per Product* in Website settings.
|
||||
|
||||
Then, go to :menuselection:`Website --> Products --> Pricelists` to create additional
|
||||
pricelists. See :doc:`../../ecommerce/maximizing_revenue/pricing`.
|
||||
|
||||
If you need help. Select a website to make a pricelist only available on
|
||||
this website.
|
||||
|
||||
.. image:: media/multi_website07.png
|
||||
:align: center
|
||||
|
||||
Leaving the field empty means that you make it work in all websites if
|
||||
*Selectable* is selected. Otherwise, it makes it only available for
|
||||
backend operations of Sales and Point of Sale applications.
|
||||
|
||||
Payment Acquirers and Delivery Methods
|
||||
--------------------------------------
|
||||
|
||||
By default, published payment acquirers and delivery methods are deployed in all websites.
|
||||
You could already use specific payment acquirers per country using Geo
|
||||
IP by defining countries in their configuration. Now you can also do it
|
||||
per website by filling in the *Website* field.
|
||||
|
||||
Customer accounts
|
||||
-----------------
|
||||
|
||||
There is a setting to choose how to manage customer accounts in Website
|
||||
settings. You can either allow customers to use one account through all
|
||||
the websites or compel them to create one account for each website. This
|
||||
last option is convenient if your websites shouldn’t be related to each
|
||||
other in the visitor mind.
|
||||
|
||||
.. image:: media/multi_website17.png
|
||||
:align: center
|
||||
|
||||
Technical hints for customization
|
||||
=================================
|
||||
|
||||
If you want to publish custom objects on the website, here are a few
|
||||
tips to make it work with multi websites:
|
||||
|
||||
- Sitemap: don’t forget the domain in the route to only publish
|
||||
available records in each website’s sitemap.
|
||||
|
||||
- Access: you should call the method
|
||||
*can_access_from_current_website* in the controller to make
|
||||
sure the visitor can see a record in the current website.
|
||||
|
||||
- Search: when a list of records is displayed, don’t forget to specify
|
||||
the domain to only display records available for the current
|
||||
website.
|
||||
|
||||
.. image:: media/multi_website11.png
|
||||
:align: center
|
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 64 KiB |