Merge pull request #336 from odoo/12.0-restructure-seo-fgi
[IMP] Restructure of the tutorial in order to put useful todos at the…
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 56 KiB |
BIN
website/optimize/media/seo07.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 6.9 KiB |
BIN
website/optimize/media/seo11.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 46 KiB |
BIN
website/optimize/media/seo13.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
website/optimize/media/seo14.png
Normal file
After Width: | Height: | Size: 18 KiB |
@ -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 ``<h1>``, 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 ``<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.
|
||||
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:
|
||||
`https://www.odoo.com/slides/public-channel-1 <https://www.odoo.com/slides/public-channel-1>`__
|
||||
|
||||
- **Odoo Forum**: let your community create contents for you. Example:
|
||||
`https://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:
|
||||
`https://www.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:
|
||||
`https://www.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 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
|
||||
<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 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 <http://www.fastcompany.com/1825005/how-one-second-could-cost-amazon-16-billion-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 <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
|
||||
---------------------
|
||||
|
||||
@ -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 ``<img>`` 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 <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/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
|
||||
<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 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 ``<title>``, ``<description>`` and ``<keywords>``
|
||||
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 <https://www.odoo.com/slides/public-channel-1>`__
|
||||
|
||||
- **Odoo Forum**: let your community create contents for you. Example:
|
||||
`https://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:
|
||||
`https://www.odoo.com/groups/community-59 <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 <https://www.woorank.com>`__
|
||||
|