diff --git a/content/applications/websites/ecommerce.rst b/content/applications/websites/ecommerce.rst index 1365f41e0..c9fbd57b3 100644 --- a/content/applications/websites/ecommerce.rst +++ b/content/applications/websites/ecommerce.rst @@ -10,6 +10,5 @@ eCommerce ecommerce/managing_products ecommerce/taxes ecommerce/shopper_experience - ecommerce/publish ecommerce/maximizing_revenue diff --git a/content/applications/websites/ecommerce/publish.rst b/content/applications/websites/ecommerce/publish.rst deleted file mode 100644 index b12dcaad9..000000000 --- a/content/applications/websites/ecommerce/publish.rst +++ /dev/null @@ -1,13 +0,0 @@ -=================== -Launch my website -=================== - -.. toctree:: - :titlesonly: - - ../website/publish/domain_name - ../website/publish/on-premise_geo-ip-installation - ../website/publish/translate - - - diff --git a/content/applications/websites/website/optimize.rst b/content/applications/websites/website/optimize.rst index cb26a5186..db6e0490a 100644 --- a/content/applications/websites/website/optimize.rst +++ b/content/applications/websites/website/optimize.rst @@ -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 ``

``, 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 ```` 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. diff --git a/content/applications/websites/website/optimize/google_analytics.rst b/content/applications/websites/website/optimize/google_analytics.rst deleted file mode 100644 index 5f12b485a..000000000 --- a/content/applications/websites/website/optimize/google_analytics.rst +++ /dev/null @@ -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` \ No newline at end of file diff --git a/content/applications/websites/website/optimize/google_analytics_dashboard.rst b/content/applications/websites/website/optimize/google_analytics_dashboard.rst deleted file mode 100644 index 7b6d40c64..000000000 --- a/content/applications/websites/website/optimize/google_analytics_dashboard.rst +++ /dev/null @@ -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 diff --git a/content/applications/websites/website/optimize/link_tracker.rst b/content/applications/websites/website/optimize/link_tracker.rst deleted file mode 100644 index 5fd5d479a..000000000 --- a/content/applications/websites/website/optimize/link_tracker.rst +++ /dev/null @@ -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. diff --git a/content/applications/websites/website/optimize/media/enable_link_tracker.png b/content/applications/websites/website/optimize/media/enable_link_tracker.png deleted file mode 100644 index e03f57dbe..000000000 Binary files a/content/applications/websites/website/optimize/media/enable_link_tracker.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/google_analytics_api.png b/content/applications/websites/website/optimize/media/google_analytics_api.png deleted file mode 100644 index 0f4fa236b..000000000 Binary files a/content/applications/websites/website/optimize/media/google_analytics_api.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/google_analytics_client_id.png b/content/applications/websites/website/optimize/media/google_analytics_client_id.png deleted file mode 100644 index c78ee713f..000000000 Binary files a/content/applications/websites/website/optimize/media/google_analytics_client_id.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/google_analytics_create_credentials.png b/content/applications/websites/website/optimize/media/google_analytics_create_credentials.png deleted file mode 100644 index 6faffa356..000000000 Binary files a/content/applications/websites/website/optimize/media/google_analytics_create_credentials.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/google_analytics_settings.png b/content/applications/websites/website/optimize/media/google_analytics_settings.png deleted file mode 100644 index 5fae4c814..000000000 Binary files a/content/applications/websites/website/optimize/media/google_analytics_settings.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/google_analytics_start.png b/content/applications/websites/website/optimize/media/google_analytics_start.png deleted file mode 100644 index 9d6e98748..000000000 Binary files a/content/applications/websites/website/optimize/media/google_analytics_start.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/link_tracker_fields.png b/content/applications/websites/website/optimize/media/link_tracker_fields.png deleted file mode 100644 index f6da9dc9a..000000000 Binary files a/content/applications/websites/website/optimize/media/link_tracker_fields.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/links_statistics.png b/content/applications/websites/website/optimize/media/links_statistics.png deleted file mode 100644 index cbafc46dc..000000000 Binary files a/content/applications/websites/website/optimize/media/links_statistics.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/seo01.png b/content/applications/websites/website/optimize/media/seo01.png deleted file mode 100644 index 31e6098f9..000000000 Binary files a/content/applications/websites/website/optimize/media/seo01.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/seo02.png b/content/applications/websites/website/optimize/media/seo02.png deleted file mode 100644 index b0fc4c203..000000000 Binary files a/content/applications/websites/website/optimize/media/seo02.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/seo04.png b/content/applications/websites/website/optimize/media/seo04.png deleted file mode 100644 index 606414a74..000000000 Binary files a/content/applications/websites/website/optimize/media/seo04.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/seo07.png b/content/applications/websites/website/optimize/media/seo07.png deleted file mode 100644 index 85d0eab0d..000000000 Binary files a/content/applications/websites/website/optimize/media/seo07.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/seo08.png b/content/applications/websites/website/optimize/media/seo08.png deleted file mode 100644 index 09ea90375..000000000 Binary files a/content/applications/websites/website/optimize/media/seo08.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/media/seo09.png b/content/applications/websites/website/optimize/media/seo09.png deleted file mode 100644 index 2dbecedaf..000000000 Binary files a/content/applications/websites/website/optimize/media/seo09.png and /dev/null differ diff --git a/content/applications/websites/website/optimize/seo.rst b/content/applications/websites/website/optimize/seo.rst deleted file mode 100644 index 0b01bcf4c..000000000 --- a/content/applications/websites/website/optimize/seo.rst +++ /dev/null @@ -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. diff --git a/content/applications/websites/website/optimize/seo/keyword-finder.png b/content/applications/websites/website/optimize/seo/keyword-finder.png new file mode 100644 index 000000000..ddf0b36c7 Binary files /dev/null and b/content/applications/websites/website/optimize/seo/keyword-finder.png differ diff --git a/content/applications/websites/website/optimize/seo/optimize-seo-pop-up.png b/content/applications/websites/website/optimize/seo/optimize-seo-pop-up.png new file mode 100644 index 000000000..e5e1b3f8f Binary files /dev/null and b/content/applications/websites/website/optimize/seo/optimize-seo-pop-up.png differ diff --git a/content/applications/websites/website/optimize/seo/seo-facebook-block.png b/content/applications/websites/website/optimize/seo/seo-facebook-block.png new file mode 100644 index 000000000..69da040ce Binary files /dev/null and b/content/applications/websites/website/optimize/seo/seo-facebook-block.png differ diff --git a/content/applications/websites/website/optimize/seo/seo-facebook-features.png b/content/applications/websites/website/optimize/seo/seo-facebook-features.png new file mode 100644 index 000000000..99b77314a Binary files /dev/null and b/content/applications/websites/website/optimize/seo/seo-facebook-features.png differ diff --git a/content/applications/websites/website/optimize/seo/seo-image-features.png b/content/applications/websites/website/optimize/seo/seo-image-features.png new file mode 100644 index 000000000..b84362a33 Binary files /dev/null and b/content/applications/websites/website/optimize/seo/seo-image-features.png differ diff --git a/content/applications/websites/website/optimize/seo/seo-optimize.png b/content/applications/websites/website/optimize/seo/seo-optimize.png new file mode 100644 index 000000000..273c1171d Binary files /dev/null and b/content/applications/websites/website/optimize/seo/seo-optimize.png differ diff --git a/content/applications/websites/website/optimize/seo/seo-twitter-scroller.png b/content/applications/websites/website/optimize/seo/seo-twitter-scroller.png new file mode 100644 index 000000000..c09cbef87 Binary files /dev/null and b/content/applications/websites/website/optimize/seo/seo-twitter-scroller.png differ diff --git a/content/applications/websites/website/optimize/media/seo03.png b/content/applications/websites/website/optimize/seo/seo03.png similarity index 100% rename from content/applications/websites/website/optimize/media/seo03.png rename to content/applications/websites/website/optimize/seo/seo03.png diff --git a/content/applications/websites/website/optimize/media/seo05.png b/content/applications/websites/website/optimize/seo/seo05.png similarity index 100% rename from content/applications/websites/website/optimize/media/seo05.png rename to content/applications/websites/website/optimize/seo/seo05.png diff --git a/content/applications/websites/website/optimize/media/seo06.png b/content/applications/websites/website/optimize/seo/seo06.png similarity index 100% rename from content/applications/websites/website/optimize/media/seo06.png rename to content/applications/websites/website/optimize/seo/seo06.png diff --git a/content/applications/websites/website/optimize/seo/seo09.png b/content/applications/websites/website/optimize/seo/seo09.png new file mode 100644 index 000000000..05948c087 Binary files /dev/null and b/content/applications/websites/website/optimize/seo/seo09.png differ diff --git a/content/applications/websites/website/optimize/media/seo10.png b/content/applications/websites/website/optimize/seo/seo10.png similarity index 100% rename from content/applications/websites/website/optimize/media/seo10.png rename to content/applications/websites/website/optimize/seo/seo10.png diff --git a/content/applications/websites/website/optimize/media/seo11.png b/content/applications/websites/website/optimize/seo/seo11.png similarity index 100% rename from content/applications/websites/website/optimize/media/seo11.png rename to content/applications/websites/website/optimize/seo/seo11.png diff --git a/content/applications/websites/website/optimize/media/seo12.png b/content/applications/websites/website/optimize/seo/seo12.png similarity index 100% rename from content/applications/websites/website/optimize/media/seo12.png rename to content/applications/websites/website/optimize/seo/seo12.png diff --git a/content/applications/websites/website/optimize/media/seo13.png b/content/applications/websites/website/optimize/seo/seo13.png similarity index 100% rename from content/applications/websites/website/optimize/media/seo13.png rename to content/applications/websites/website/optimize/seo/seo13.png diff --git a/content/applications/websites/website/optimize/media/seo14.png b/content/applications/websites/website/optimize/seo/seo14.png similarity index 100% rename from content/applications/websites/website/optimize/media/seo14.png rename to content/applications/websites/website/optimize/seo/seo14.png diff --git a/content/applications/websites/website/optimize/seo/share-block.png b/content/applications/websites/website/optimize/seo/share-block.png new file mode 100644 index 000000000..431ceeca0 Binary files /dev/null and b/content/applications/websites/website/optimize/seo/share-block.png differ diff --git a/content/applications/websites/website/optimize/tracking_analytics/google-analytics-api.png b/content/applications/websites/website/optimize/tracking_analytics/google-analytics-api.png new file mode 100644 index 000000000..3284bd9be Binary files /dev/null and b/content/applications/websites/website/optimize/tracking_analytics/google-analytics-api.png differ diff --git a/content/applications/websites/website/optimize/tracking_analytics/google-analytics-dashboard.png b/content/applications/websites/website/optimize/tracking_analytics/google-analytics-dashboard.png new file mode 100644 index 000000000..4bdf4936a Binary files /dev/null and b/content/applications/websites/website/optimize/tracking_analytics/google-analytics-dashboard.png differ diff --git a/content/applications/websites/website/optimize/tracking_analytics/google-analytics-setting.png b/content/applications/websites/website/optimize/tracking_analytics/google-analytics-setting.png new file mode 100644 index 000000000..2e03e1fea Binary files /dev/null and b/content/applications/websites/website/optimize/tracking_analytics/google-analytics-setting.png differ diff --git a/content/applications/websites/website/optimize/media/google_analytics_account.png b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_account.png similarity index 100% rename from content/applications/websites/website/optimize/media/google_analytics_account.png rename to content/applications/websites/website/optimize/tracking_analytics/google_analytics_account.png diff --git a/content/applications/websites/website/optimize/media/google_analytics_authorization.png b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_authorization.png similarity index 100% rename from content/applications/websites/website/optimize/media/google_analytics_authorization.png rename to content/applications/websites/website/optimize/tracking_analytics/google_analytics_authorization.png diff --git a/content/applications/websites/website/optimize/tracking_analytics/google_analytics_client_id.png b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_client_id.png new file mode 100644 index 000000000..5a5d000c0 Binary files /dev/null and b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_client_id.png differ diff --git a/content/applications/websites/website/optimize/tracking_analytics/google_analytics_create_credentials.png b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_create_credentials.png new file mode 100644 index 000000000..5ec635ca2 Binary files /dev/null and b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_create_credentials.png differ diff --git a/content/applications/websites/website/optimize/media/google_analytics_create_project.png b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_create_project.png similarity index 100% rename from content/applications/websites/website/optimize/media/google_analytics_create_project.png rename to content/applications/websites/website/optimize/tracking_analytics/google_analytics_create_project.png diff --git a/content/applications/websites/website/optimize/media/google_analytics_enable.png b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_enable.png similarity index 100% rename from content/applications/websites/website/optimize/media/google_analytics_enable.png rename to content/applications/websites/website/optimize/tracking_analytics/google_analytics_enable.png diff --git a/content/applications/websites/website/optimize/media/google_analytics_get_credentials.png b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_get_credentials.png similarity index 100% rename from content/applications/websites/website/optimize/media/google_analytics_get_credentials.png rename to content/applications/websites/website/optimize/tracking_analytics/google_analytics_get_credentials.png diff --git a/content/applications/websites/website/optimize/media/google_analytics_login.png b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_login.png similarity index 100% rename from content/applications/websites/website/optimize/media/google_analytics_login.png rename to content/applications/websites/website/optimize/tracking_analytics/google_analytics_login.png diff --git a/content/applications/websites/website/optimize/media/google_analytics_tracking_id.png b/content/applications/websites/website/optimize/tracking_analytics/google_analytics_tracking_id.png similarity index 100% rename from content/applications/websites/website/optimize/media/google_analytics_tracking_id.png rename to content/applications/websites/website/optimize/tracking_analytics/google_analytics_tracking_id.png diff --git a/content/applications/websites/website/optimize/tracking_analytics/link_tracker_fields.png b/content/applications/websites/website/optimize/tracking_analytics/link_tracker_fields.png new file mode 100644 index 000000000..0dee9a325 Binary files /dev/null and b/content/applications/websites/website/optimize/tracking_analytics/link_tracker_fields.png differ diff --git a/content/applications/websites/website/optimize/tracking_analytics/links_statistics.png b/content/applications/websites/website/optimize/tracking_analytics/links_statistics.png new file mode 100644 index 000000000..a1f2ee3bc Binary files /dev/null and b/content/applications/websites/website/optimize/tracking_analytics/links_statistics.png differ diff --git a/content/applications/websites/website/publish.rst b/content/applications/websites/website/publish.rst index b1e2f8d97..974abc638 100644 --- a/content/applications/websites/website/publish.rst +++ b/content/applications/websites/website/publish.rst @@ -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 diff --git a/content/applications/websites/website/publish/domain_name.rst b/content/applications/websites/website/publish/domain_name.rst deleted file mode 100644 index caafb70a0..000000000 --- a/content/applications/websites/website/publish/domain_name.rst +++ /dev/null @@ -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` diff --git a/content/applications/websites/website/publish/domain_name/enter-domain.png b/content/applications/websites/website/publish/domain_name/enter-domain.png new file mode 100644 index 000000000..5dd3a27fd Binary files /dev/null and b/content/applications/websites/website/publish/domain_name/enter-domain.png differ diff --git a/content/applications/websites/website/publish/domain_name/manage-databases.png b/content/applications/websites/website/publish/domain_name/manage-databases.png new file mode 100644 index 000000000..f74504cfb Binary files /dev/null and b/content/applications/websites/website/publish/domain_name/manage-databases.png differ diff --git a/content/applications/websites/website/publish/domain_name/my-databases.png b/content/applications/websites/website/publish/domain_name/my-databases.png new file mode 100644 index 000000000..ddea00681 Binary files /dev/null and b/content/applications/websites/website/publish/domain_name/my-databases.png differ diff --git a/content/applications/websites/website/publish/domain_name/odoo-account.png b/content/applications/websites/website/publish/domain_name/odoo-account.png new file mode 100644 index 000000000..8b61b2f32 Binary files /dev/null and b/content/applications/websites/website/publish/domain_name/odoo-account.png differ diff --git a/content/applications/websites/website/publish/essentials/block-toolbar-options.png b/content/applications/websites/website/publish/essentials/block-toolbar-options.png new file mode 100644 index 000000000..743a83b8c Binary files /dev/null and b/content/applications/websites/website/publish/essentials/block-toolbar-options.png differ diff --git a/content/applications/websites/website/publish/essentials/connected-shapes.png b/content/applications/websites/website/publish/essentials/connected-shapes.png new file mode 100644 index 000000000..e32aeba36 Binary files /dev/null and b/content/applications/websites/website/publish/essentials/connected-shapes.png differ diff --git a/content/applications/websites/website/publish/essentials/header-style-options.png b/content/applications/websites/website/publish/essentials/header-style-options.png new file mode 100644 index 000000000..9749f5c79 Binary files /dev/null and b/content/applications/websites/website/publish/essentials/header-style-options.png differ diff --git a/content/applications/websites/website/publish/essentials/live-preview-option.png b/content/applications/websites/website/publish/essentials/live-preview-option.png new file mode 100644 index 000000000..b0245b61c Binary files /dev/null and b/content/applications/websites/website/publish/essentials/live-preview-option.png differ diff --git a/content/applications/websites/website/publish/essentials/pick-theme-page.png b/content/applications/websites/website/publish/essentials/pick-theme-page.png new file mode 100644 index 000000000..c289c2f6f Binary files /dev/null and b/content/applications/websites/website/publish/essentials/pick-theme-page.png differ diff --git a/content/applications/websites/website/publish/essentials/purple-drops.png b/content/applications/websites/website/publish/essentials/purple-drops.png new file mode 100644 index 000000000..b0f5386e7 Binary files /dev/null and b/content/applications/websites/website/publish/essentials/purple-drops.png differ diff --git a/content/applications/websites/website/publish/essentials/sample-website-preview.png b/content/applications/websites/website/publish/essentials/sample-website-preview.png new file mode 100644 index 000000000..0a049f3a8 Binary files /dev/null and b/content/applications/websites/website/publish/essentials/sample-website-preview.png differ diff --git a/content/applications/websites/website/publish/essentials/shapes-hover.png b/content/applications/websites/website/publish/essentials/shapes-hover.png new file mode 100644 index 000000000..f93ea24f4 Binary files /dev/null and b/content/applications/websites/website/publish/essentials/shapes-hover.png differ diff --git a/content/applications/websites/website/publish/essentials/shapes-icon.png b/content/applications/websites/website/publish/essentials/shapes-icon.png new file mode 100644 index 000000000..0318528c3 Binary files /dev/null and b/content/applications/websites/website/publish/essentials/shapes-icon.png differ diff --git a/content/applications/websites/website/publish/essentials/shapes-on-block.png b/content/applications/websites/website/publish/essentials/shapes-on-block.png new file mode 100644 index 000000000..559e52192 Binary files /dev/null and b/content/applications/websites/website/publish/essentials/shapes-on-block.png differ diff --git a/content/applications/websites/website/publish/essentials/theme-colors.png b/content/applications/websites/website/publish/essentials/theme-colors.png new file mode 100644 index 000000000..ea94b9640 Binary files /dev/null and b/content/applications/websites/website/publish/essentials/theme-colors.png differ diff --git a/content/applications/websites/website/publish/essentials/theme-options-area.png b/content/applications/websites/website/publish/essentials/theme-options-area.png new file mode 100644 index 000000000..8efc52dbd Binary files /dev/null and b/content/applications/websites/website/publish/essentials/theme-options-area.png differ diff --git a/content/applications/websites/website/publish/geo_ip_installation/on-premise_geo-ip-installation01.png b/content/applications/websites/website/publish/geo_ip_installation/on-premise_geo-ip-installation01.png new file mode 100644 index 000000000..d2a4e5294 Binary files /dev/null and b/content/applications/websites/website/publish/geo_ip_installation/on-premise_geo-ip-installation01.png differ diff --git a/content/applications/websites/website/publish/media/domain_name01.png b/content/applications/websites/website/publish/media/domain_name01.png deleted file mode 100644 index e3671734c..000000000 Binary files a/content/applications/websites/website/publish/media/domain_name01.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/domain_name02.png b/content/applications/websites/website/publish/media/domain_name02.png deleted file mode 100644 index 247004bd4..000000000 Binary files a/content/applications/websites/website/publish/media/domain_name02.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/domain_name03.png b/content/applications/websites/website/publish/media/domain_name03.png deleted file mode 100644 index 7bc3948d5..000000000 Binary files a/content/applications/websites/website/publish/media/domain_name03.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/domain_name04.png b/content/applications/websites/website/publish/media/domain_name04.png deleted file mode 100644 index 022cfde99..000000000 Binary files a/content/applications/websites/website/publish/media/domain_name04.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website01.png b/content/applications/websites/website/publish/media/multi_website01.png deleted file mode 100644 index 5b17a97ff..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website01.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website02.png b/content/applications/websites/website/publish/media/multi_website02.png deleted file mode 100644 index 669eaec71..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website02.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website04.png b/content/applications/websites/website/publish/media/multi_website04.png deleted file mode 100644 index 831fe9ea2..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website04.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website05.png b/content/applications/websites/website/publish/media/multi_website05.png deleted file mode 100644 index cadaa8b47..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website05.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website07.png b/content/applications/websites/website/publish/media/multi_website07.png deleted file mode 100644 index 70b5366cf..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website07.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website08.png b/content/applications/websites/website/publish/media/multi_website08.png deleted file mode 100644 index a4ec92d99..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website08.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website09.png b/content/applications/websites/website/publish/media/multi_website09.png deleted file mode 100644 index c407fe1e7..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website09.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website13.png b/content/applications/websites/website/publish/media/multi_website13.png deleted file mode 100644 index fb5006086..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website13.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website14.png b/content/applications/websites/website/publish/media/multi_website14.png deleted file mode 100644 index c88186e52..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website14.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/multi_website18.png b/content/applications/websites/website/publish/media/multi_website18.png deleted file mode 100644 index af4644ad2..000000000 Binary files a/content/applications/websites/website/publish/media/multi_website18.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/on-premise_geo-ip-installation01.png b/content/applications/websites/website/publish/media/on-premise_geo-ip-installation01.png deleted file mode 100644 index 645e86e9f..000000000 Binary files a/content/applications/websites/website/publish/media/on-premise_geo-ip-installation01.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/translate_website01.png b/content/applications/websites/website/publish/media/translate_website01.png deleted file mode 100644 index 7906aa9da..000000000 Binary files a/content/applications/websites/website/publish/media/translate_website01.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/translate_website02.png b/content/applications/websites/website/publish/media/translate_website02.png deleted file mode 100644 index d3139575e..000000000 Binary files a/content/applications/websites/website/publish/media/translate_website02.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/translate_website03.png b/content/applications/websites/website/publish/media/translate_website03.png deleted file mode 100644 index 8ba88104e..000000000 Binary files a/content/applications/websites/website/publish/media/translate_website03.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/translate_website04.png b/content/applications/websites/website/publish/media/translate_website04.png deleted file mode 100644 index 0e53d69b8..000000000 Binary files a/content/applications/websites/website/publish/media/translate_website04.png and /dev/null differ diff --git a/content/applications/websites/website/publish/media/translate_website05.png b/content/applications/websites/website/publish/media/translate_website05.png deleted file mode 100644 index aadfd0b4f..000000000 Binary files a/content/applications/websites/website/publish/media/translate_website05.png and /dev/null differ diff --git a/content/applications/websites/website/publish/multi_website.rst b/content/applications/websites/website/publish/multi_website.rst deleted file mode 100644 index b8255490b..000000000 --- a/content/applications/websites/website/publish/multi_website.rst +++ /dev/null @@ -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 diff --git a/content/applications/websites/website/publish/multi_website/config-settings.png b/content/applications/websites/website/publish/multi_website/config-settings.png new file mode 100644 index 000000000..bde15808c Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/config-settings.png differ diff --git a/content/applications/websites/website/publish/multi_website/customize-drop-down.png b/content/applications/websites/website/publish/multi_website/customize-drop-down.png new file mode 100644 index 000000000..f9b5e0674 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/customize-drop-down.png differ diff --git a/content/applications/websites/website/publish/multi_website/different-company-drop-down.png b/content/applications/websites/website/publish/multi_website/different-company-drop-down.png new file mode 100644 index 000000000..172473d02 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/different-company-drop-down.png differ diff --git a/content/applications/websites/website/publish/multi_website/edit-menu-pop-up.png b/content/applications/websites/website/publish/multi_website/edit-menu-pop-up.png new file mode 100644 index 000000000..d3fefc049 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/edit-menu-pop-up.png differ diff --git a/content/applications/websites/website/publish/multi_website/manage-pages-drop-down.png b/content/applications/websites/website/publish/multi_website/manage-pages-drop-down.png new file mode 100644 index 000000000..ce5e69675 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/manage-pages-drop-down.png differ diff --git a/content/applications/websites/website/publish/multi_website/multi-website-customize-menu.png b/content/applications/websites/website/publish/multi_website/multi-website-customize-menu.png new file mode 100644 index 000000000..684f389ba Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/multi-website-customize-menu.png differ diff --git a/content/applications/websites/website/publish/multi_website/multi-website-ecommerce-tab.png b/content/applications/websites/website/publish/multi_website/multi-website-ecommerce-tab.png new file mode 100644 index 000000000..25aa4540a Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/multi-website-ecommerce-tab.png differ diff --git a/content/applications/websites/website/publish/multi_website/multi-website-manage-pages.png b/content/applications/websites/website/publish/multi_website/multi-website-manage-pages.png new file mode 100644 index 000000000..1567ca5c8 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/multi-website-manage-pages.png differ diff --git a/content/applications/websites/website/publish/multi_website/multi-website-pages.png b/content/applications/websites/website/publish/multi_website/multi-website-pages.png new file mode 100644 index 000000000..fa064bc9a Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/multi-website-pages.png differ diff --git a/content/applications/websites/website/publish/multi_website/multi-website-pricelist.png b/content/applications/websites/website/publish/multi_website/multi-website-pricelist.png new file mode 100644 index 000000000..2c0c2e663 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/multi-website-pricelist.png differ diff --git a/content/applications/websites/website/publish/multi_website/multi-website-theme-selection.png b/content/applications/websites/website/publish/multi_website/multi-website-theme-selection.png new file mode 100644 index 000000000..9d9194734 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/multi-website-theme-selection.png differ diff --git a/content/applications/websites/website/publish/multi_website/multi-websites-pop-up.png b/content/applications/websites/website/publish/multi_website/multi-websites-pop-up.png new file mode 100644 index 000000000..d8ef97946 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/multi-websites-pop-up.png differ diff --git a/content/applications/websites/website/publish/multi_website/multi-websites-setting.png b/content/applications/websites/website/publish/multi_website/multi-websites-setting.png new file mode 100644 index 000000000..c6318e163 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/multi-websites-setting.png differ diff --git a/content/applications/websites/website/publish/media/multi_website03.png b/content/applications/websites/website/publish/multi_website/multi_website03.png similarity index 100% rename from content/applications/websites/website/publish/media/multi_website03.png rename to content/applications/websites/website/publish/multi_website/multi_website03.png diff --git a/content/applications/websites/website/publish/multi_website/multi_website04.png b/content/applications/websites/website/publish/multi_website/multi_website04.png new file mode 100644 index 000000000..bd92f0651 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/multi_website04.png differ diff --git a/content/applications/websites/website/publish/media/multi_website06.png b/content/applications/websites/website/publish/multi_website/multi_website06.png similarity index 100% rename from content/applications/websites/website/publish/media/multi_website06.png rename to content/applications/websites/website/publish/multi_website/multi_website06.png diff --git a/content/applications/websites/website/publish/media/multi_website10.png b/content/applications/websites/website/publish/multi_website/multi_website10.png similarity index 100% rename from content/applications/websites/website/publish/media/multi_website10.png rename to content/applications/websites/website/publish/multi_website/multi_website10.png diff --git a/content/applications/websites/website/publish/media/multi_website11.png b/content/applications/websites/website/publish/multi_website/multi_website11.png similarity index 100% rename from content/applications/websites/website/publish/media/multi_website11.png rename to content/applications/websites/website/publish/multi_website/multi_website11.png diff --git a/content/applications/websites/website/publish/media/multi_website12.png b/content/applications/websites/website/publish/multi_website/multi_website12.png similarity index 100% rename from content/applications/websites/website/publish/media/multi_website12.png rename to content/applications/websites/website/publish/multi_website/multi_website12.png diff --git a/content/applications/websites/website/publish/media/multi_website15.png b/content/applications/websites/website/publish/multi_website/multi_website15.png similarity index 100% rename from content/applications/websites/website/publish/media/multi_website15.png rename to content/applications/websites/website/publish/multi_website/multi_website15.png diff --git a/content/applications/websites/website/publish/media/multi_website16.png b/content/applications/websites/website/publish/multi_website/multi_website16.png similarity index 100% rename from content/applications/websites/website/publish/media/multi_website16.png rename to content/applications/websites/website/publish/multi_website/multi_website16.png diff --git a/content/applications/websites/website/publish/media/multi_website17.png b/content/applications/websites/website/publish/multi_website/multi_website17.png similarity index 100% rename from content/applications/websites/website/publish/media/multi_website17.png rename to content/applications/websites/website/publish/multi_website/multi_website17.png diff --git a/content/applications/websites/website/publish/multi_website/new-website-button.png b/content/applications/websites/website/publish/multi_website/new-website-button.png new file mode 100644 index 000000000..5cab8dc96 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/new-website-button.png differ diff --git a/content/applications/websites/website/publish/multi_website/new-website-pop-up.png b/content/applications/websites/website/publish/multi_website/new-website-pop-up.png new file mode 100644 index 000000000..cbaab3891 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/new-website-pop-up.png differ diff --git a/content/applications/websites/website/publish/multi_website/pages-edit-menu.png b/content/applications/websites/website/publish/multi_website/pages-edit-menu.png new file mode 100644 index 000000000..0f9f60cb2 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/pages-edit-menu.png differ diff --git a/content/applications/websites/website/publish/multi_website/partially-built-homepage.png b/content/applications/websites/website/publish/multi_website/partially-built-homepage.png new file mode 100644 index 000000000..93598f935 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/partially-built-homepage.png differ diff --git a/content/applications/websites/website/publish/multi_website/pick-theme-button.png b/content/applications/websites/website/publish/multi_website/pick-theme-button.png new file mode 100644 index 000000000..614dddf04 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/pick-theme-button.png differ diff --git a/content/applications/websites/website/publish/multi_website/pricelists-setting.png b/content/applications/websites/website/publish/multi_website/pricelists-setting.png new file mode 100644 index 000000000..6a8d7802d Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/pricelists-setting.png differ diff --git a/content/applications/websites/website/publish/multi_website/purple-drops-explanation.png b/content/applications/websites/website/publish/multi_website/purple-drops-explanation.png new file mode 100644 index 000000000..232e3a50e Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/purple-drops-explanation.png differ diff --git a/content/applications/websites/website/publish/multi_website/purple-drops.png b/content/applications/websites/website/publish/multi_website/purple-drops.png new file mode 100644 index 000000000..0d2f3c7f4 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/purple-drops.png differ diff --git a/content/applications/websites/website/publish/multi_website/theme-live-preview-hover.png b/content/applications/websites/website/publish/multi_website/theme-live-preview-hover.png new file mode 100644 index 000000000..d09f5c214 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/theme-live-preview-hover.png differ diff --git a/content/applications/websites/website/publish/multi_website/various-routes-to-pricelists.png b/content/applications/websites/website/publish/multi_website/various-routes-to-pricelists.png new file mode 100644 index 000000000..3e0f03853 Binary files /dev/null and b/content/applications/websites/website/publish/multi_website/various-routes-to-pricelists.png differ diff --git a/content/applications/websites/website/publish/on-premise_geo-ip-installation.rst b/content/applications/websites/website/publish/on-premise_geo-ip-installation.rst deleted file mode 100644 index 69d09513e..000000000 --- a/content/applications/websites/website/publish/on-premise_geo-ip-installation.rst +++ /dev/null @@ -1,64 +0,0 @@ -========================================== -Geo IP Installation (On-Premises Database) -========================================== - -Installation -============ - -.. warning:: - Please note that the installation depends on your computer's operating system and distribution. - We will assume that a Linux operating system is being used. - -#. Install `geoip2 <https://pypi.org/project/geoip2/>`__ Python library - .. code-block:: bash - - pip install geoip2 - -#. Download the `GeoLite2 City database <https://dev.maxmind.com/geoip/geoip2/geolite2/>`_. You - should end up with a file called ``GeoLite2-City.mmdb`` -#. Move the file to the folder ``/usr/share/GeoIP/`` - .. code-block:: bash - - mv ~/Downloads/GeoLite2-City.mmdb /usr/share/GeoIP/ - -#. 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:: - - :doc:`CLI documentation </developer/reference/cmdline>`. - -.. warning:: - ``GeoIP`` Python library can also be used. However this version is discontinued since January - 1. See `GeoLite Legacy databases are now discontinued - <https://support.maxmind.com/geolite-legacy-discontinuation-notice/>`_ - -How To Test GeoIP Geolocation In Your Odoo Website -================================================== -1. Go to your website. Open the web page that you want to test ``GeoIP``. -2. Choose :menuselection:`Customize --> HTML/CSS/JS Editor`. -3. Add the following piece of XML in the page : - -.. code-block:: xml - - <h1 class="text-center" t-esc="request.session.get('geoip')"/> - -You should end up with a dictionary indicating the location of the IP address. - -.. image:: media/on-premise_geo-ip-installation01.png - :align: center - -.. 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 :option:`proxy mode <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 diff --git a/content/applications/websites/website/publish/translate.rst b/content/applications/websites/website/publish/translate.rst deleted file mode 100644 index fbb0da60e..000000000 --- a/content/applications/websites/website/publish/translate.rst +++ /dev/null @@ -1,64 +0,0 @@ -=============================== -How to translate my website -=============================== - -Overview -======== - -In addition to creating great modern websites, Odoo gives you the -possibility to translate it in different languages. - -Process -======= - -Once your website is created, you have the opportunity to translate it -in as many different languages as you want. - -There are two ways to translate your website, you can do it manually or -automatically with the Gengo App. If you want to do it automatically, go -to the **App** module and Install **Automated translations through Gengo -Api** and **Website Gengo Translator**. If you want to do it manually, -don't install anything, and follow the next step. - -Now go to your website. On the bottom right corner of the page, click on -**Add a language**. - -.. image:: media/translate_website01.png - :align: center - -Choose the language in which you want to translate your website and then -click on **Load.** - -.. image:: media/translate_website02.png - :align: center - -You will see that Now, next to English there is also French, which means -that the page for the translation has been created. You can also see -that some of the text has been translated automatically. - -.. image:: media/translate_website03.png - :align: center - -To translate the content of the website, click on **Translate** (here -**Traduire** since we want to translate the website in French). - -There, if you have installed the Gengo Translator, You will see that -next to the **Translate** button you also have a button **Translate -automatically**. Once you click on that button, you will be asked some -information on your account. If you don't have an account yet, follow -`this link <https://gengo.com/auth/form/login/>`_ -in order to create one. You need to ask for a public key and a private -key. - -The content you wish to translate will then be translated automatically. - -.. image:: media/translate_website04.png - :align: center - -Now you can see that most of the content is highlighted in yellow or -in green. The yellow represents the content that you have to translate by -yourself. The green represents the content that has already been translated -automatically. - -.. image:: media/translate_website05.png - :align: center diff --git a/content/applications/websites/website/publish/translate/auto-translation.png b/content/applications/websites/website/publish/translate/auto-translation.png new file mode 100644 index 000000000..ffb4c2b6e Binary files /dev/null and b/content/applications/websites/website/publish/translate/auto-translation.png differ diff --git a/content/applications/websites/website/publish/translate/new-language-option.png b/content/applications/websites/website/publish/translate/new-language-option.png new file mode 100644 index 000000000..83a4ee91c Binary files /dev/null and b/content/applications/websites/website/publish/translate/new-language-option.png differ diff --git a/content/applications/websites/website/publish/translate/translate-button.png b/content/applications/websites/website/publish/translate/translate-button.png new file mode 100644 index 000000000..7ffc7ba2d Binary files /dev/null and b/content/applications/websites/website/publish/translate/translate-button.png differ diff --git a/content/applications/websites/website/publish/translate/translate-colors.png b/content/applications/websites/website/publish/translate/translate-colors.png new file mode 100644 index 000000000..b4a83373b Binary files /dev/null and b/content/applications/websites/website/publish/translate/translate-colors.png differ diff --git a/content/applications/websites/website/publish/translate/translate-menu.png b/content/applications/websites/website/publish/translate/translate-menu.png new file mode 100644 index 000000000..f81adcee2 Binary files /dev/null and b/content/applications/websites/website/publish/translate/translate-menu.png differ diff --git a/content/applications/websites/website/publish/translate/translate-pop-up.png b/content/applications/websites/website/publish/translate/translate-pop-up.png new file mode 100644 index 000000000..9cdb10b92 Binary files /dev/null and b/content/applications/websites/website/publish/translate/translate-pop-up.png differ