diff --git a/website/optimize/media/seo01.png b/website/optimize/media/seo01.png
index e7545fe1b..31e6098f9 100644
Binary files a/website/optimize/media/seo01.png and b/website/optimize/media/seo01.png differ
diff --git a/website/optimize/media/seo02.png b/website/optimize/media/seo02.png
index f0c5b7dce..b0fc4c203 100644
Binary files a/website/optimize/media/seo02.png and b/website/optimize/media/seo02.png differ
diff --git a/website/optimize/media/seo03.png b/website/optimize/media/seo03.png
index 8bf0fd2e5..e41b5af80 100644
Binary files a/website/optimize/media/seo03.png and b/website/optimize/media/seo03.png differ
diff --git a/website/optimize/media/seo04.png b/website/optimize/media/seo04.png
index 034498fa0..606414a74 100644
Binary files a/website/optimize/media/seo04.png and b/website/optimize/media/seo04.png differ
diff --git a/website/optimize/media/seo05.png b/website/optimize/media/seo05.png
index 564ace262..cba322411 100644
Binary files a/website/optimize/media/seo05.png and b/website/optimize/media/seo05.png differ
diff --git a/website/optimize/media/seo06.png b/website/optimize/media/seo06.png
index b3e14be7d..7c41db43a 100644
Binary files a/website/optimize/media/seo06.png and b/website/optimize/media/seo06.png differ
diff --git a/website/optimize/media/seo07.png b/website/optimize/media/seo07.png
new file mode 100644
index 000000000..85d0eab0d
Binary files /dev/null and b/website/optimize/media/seo07.png differ
diff --git a/website/optimize/media/seo08.png b/website/optimize/media/seo08.png
index 52393e039..09ea90375 100644
Binary files a/website/optimize/media/seo08.png and b/website/optimize/media/seo08.png differ
diff --git a/website/optimize/media/seo09.png b/website/optimize/media/seo09.png
index a88c28a0b..2dbecedaf 100644
Binary files a/website/optimize/media/seo09.png and b/website/optimize/media/seo09.png differ
diff --git a/website/optimize/media/seo10.png b/website/optimize/media/seo10.png
index 664314e45..f9898118a 100644
Binary files a/website/optimize/media/seo10.png and b/website/optimize/media/seo10.png differ
diff --git a/website/optimize/media/seo11.png b/website/optimize/media/seo11.png
new file mode 100644
index 000000000..a9b9ee2fb
Binary files /dev/null and b/website/optimize/media/seo11.png differ
diff --git a/website/optimize/media/seo12.png b/website/optimize/media/seo12.png
index aaa0642e2..18d1124ca 100644
Binary files a/website/optimize/media/seo12.png and b/website/optimize/media/seo12.png differ
diff --git a/website/optimize/media/seo13.png b/website/optimize/media/seo13.png
new file mode 100644
index 000000000..d9d30de4e
Binary files /dev/null and b/website/optimize/media/seo13.png differ
diff --git a/website/optimize/media/seo14.png b/website/optimize/media/seo14.png
new file mode 100644
index 000000000..238fae21b
Binary files /dev/null and b/website/optimize/media/seo14.png differ
diff --git a/website/optimize/seo.rst b/website/optimize/seo.rst
index 4697ec976..9c9ef40a7 100644
--- a/website/optimize/seo.rst
+++ b/website/optimize/seo.rst
@@ -1,22 +1,309 @@
-============================================
-How to do Search Engine Optimisation in Odoo
-============================================
-
-How is SEO handled in Odoo?
-===========================
+==================================================
+How to do Search Engine Optimisation in Odoo (SEO)
+==================================================
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 faster, your page
-should have one and only one title ``
``, your website should have a
+Some examples of SEO rules: your web pages should load fast, your page
+should have one and only one title ````, 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.
+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 ```` and ```` 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 ```` 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:
+ `https://www.odoo.com/slides/public-channel-1 `__
+
+- **Odoo Forum**: let your community create contents for you. Example:
+ `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:
+ `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:
+`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 website.
+
+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 works for links coming from external websites, with a 301
+redirect to not lose 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
+ section of the main version, Odoo automatically adds a link
+element pointing to the translated versions of that webpage;
+
+-
+
+With this approach:
+
+- Search engines will redirect to th 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
==========
@@ -32,7 +319,7 @@ 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 `__.
-.. image:: media/seo01.png
+.. image:: media/seo06.png
:align: center
Fortunately, Odoo does all the magic for you. Below, you will find the
@@ -43,6 +330,47 @@ your website ranks using these two tools:
- `Pingdom Website Speed Test `__
+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 `` `` 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 `__ 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
---------------------
@@ -157,47 +485,6 @@ same visitor will not load any other Javascript resource.
easily debug with the Chrome debugger as CSS and Javascript resources
are not transformed from their original versions.
-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/seo02.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 `` `` tag. You can click on it to set your own title and Alt
-attributes for the image.
-
-.. image:: media/seo03.png
- :align: center
-
-When you click on this link, the following window will appear:
-
-.. image:: media/seo04.png
- :align: center
-
-Odoo's pictograms are implemented using a font (`Font
-Awesome `__ 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/seo05.png
- :align: center
-
CDN
---
@@ -218,7 +505,7 @@ Delivery Network has three advantages:
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/seo06.png
+.. image:: media/seo11.png
:align: center
HTML Pages
@@ -249,7 +536,7 @@ 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/seo08.png
+.. image:: media/seo12.png
:align: center
As all Odoo modules share the same technology, absolutely all pages in
@@ -269,9 +556,6 @@ 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.
-.. todo::
- Describe how the cache strategy works for other resources...
-
Scalability
-----------
@@ -283,202 +567,11 @@ eCommerce compared to Odoo when it comes to high query volumes:
Here is the slide that summarizes the scalability of Odoo Website & eCommerce.
-.. image:: media/seo09.png
+.. image:: media/seo13.png
:align: center
-URLs Handling
-=============
-
-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 website
-
-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 works for links coming from external websites, with a 301
-redirect to not lose 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
- section of the main version, Odoo automatically adds a link
-element pointing to the translated versions of that webpage;
-
--
-
-With this approach:
-
-- Search engines will redirect to th 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.
-
-Meta Tags
-=========
-
-Titles, Keywords and Description
---------------------------------
-
-Every web page should define the ````, ```` and ````
-meta data. These information elements are used by search engines to rank
-and categorize your website according to a specific search query. So, it
-is important to have titles and keywords in line with what people seek.
-
-In order to write quality content and boost your traffic, Odoo provides
-a keyword finder. For each keyword, you see how it is used through 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/seo10.png
- :align: center
-
-.. note::
- If your website is in multiple languages, you can use the Promote
- tool for every language of a single page.
+Search Engines Files
+====================
Sitemap
-------
@@ -525,7 +618,7 @@ 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/seo12.png
+.. image:: media/seo14.png
:align: center
robots.txt
@@ -547,70 +640,3 @@ You can customize the file *robots* in developer mode from
(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.
-
-Content is King
-===============
-
-When it comes to SEO, content is usually king. Odoo provides several
-modules to help you build your website contents:
-
-- **Odoo Slides**: publish all your Powerpoint or PDF presentations.
- Their content is automatically indexed on the web page. Example:
- `https://www.odoo.com/slides/public-channel-1 `__
-
-- **Odoo Forum**: let your community create contents for you. Example:
- `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:
- `https://www.odoo.com/groups/community-59 `__
- (1000 pages created per month)
-
-- **Odoo Blogs**: write great contents.
-
-.. 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.
-
-Social Features
-===============
-
-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.
-
-Social Share
-------------
-
-Drop the building block *Share* on any page you want your visitors to share.
-
-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:
-`https://www.woorank.com `__