How to do Search Engine Optimisation in Odoo (SEO)

Buscar Optimización de Motor (SEO) es un paquete de buenas practicas para optimizar su sitio web tanto que tendrá un mejor nivel en motores de búsquedas como Google. En corto, un buen SEO permite que tenga mas visitantes.

Algunos ejemplos de de reglas SEO: tu pagina web deberá cargar rápidamente, tu pagina deberá tener uno y solamente un titulo``<h1>``, las meta etiquetas (alt-tag, title-tag) deberán ser consistentes con el contenido, tu sitio web deberá tener un archivo /sitemap.xml, etc

Para garantizar que los usuarios de Odoo Web y Odoo eCommerce tengan un gran SEO, Odoo deshace todas las complejidades técnicas de SEO y maneja todo por ti en la mejor manera posible. Esto sera explicado aquí abajo.

Pero primero, veremos como aumentar el ranking haciendo ajustes de contenido y de las meta etiquetas de tu sitio.

Meta etiquetas

Titulo, descripción

Todas las páginas web deben definir los datos meta <title> and <description>. Los motores de búsqueda utilizan estos elementos de información para promover su sitio web. Se generan de forma automática según el título y el contenido de la página, pero puede ajustarlos. Asegúrese de que se ajustan al contenido de la página, de lo contrario los motores de búsqueda le bajarán de categoría.

../../../../_images/seo01.png

Palabras clave

Con el fin de escribir contenido de calidad e impulsar su tráfico, Odoo le proporciona un <keyword> buscador de palabras clave. Esas palabras clave son las búsquedas que usted desea dirigir a su sitio web. Puede ver cómo se utiliza cada palabra clave en el contenido (encabezado1, encabezado2, título de página, descripción de página, contenido de página) y las búsquedas relacionadas en Google. Entre más palabras clave utilice, mejor.

../../../../_images/seo02.png

Nota

Si su sitio web está en varios idiomas, puede utilizar la herramienta de Promover en cada idioma de una página y establecer un título, descripción y etiquetas de búsqueda específicos.

El contenido es el rey

Cuando se trata de SEO, el contenido es normalmente lo más importante. Odoo le proporciona varios módulos que le ayudarán a crear el contenido de su sitio web:

  • Blogs Odoo: escribir buenos contenidos.

  • Presentaciones de Odoo: publique sus presentaciones en PowerPoint o PDF. Su contenido se indexa de forma automática a la página web. Por ejemplo: odoo.com/slides/public-channel-1

  • Foro de Odoo: permita que su comunidad cree contenido por usted. Por ejemplo: odoo.com/forum/1 (representa el 30% de las páginas destino de Odoo.com)

  • Archivo de listas de correos de Odoo: publique archivos de lista de correos en su sitio web. Por ejemplo: odoo.com/groups/community-59 (se crean 1000 páginas al mes)

Nota

La página 404 es una página normal que puede editar, como cualquier otra página en Odoo. De esta forma, puede crear una excelente página 404 para redirigir a usuarios con URLs inválidas al contenido principal de su sitio web.

Utilizar Redes Sociales

Las redes sociales se crearon para compartir de forma masiva. Si muchas personas comparten su contenido en redes sociales entonces es más probable que más personas publicarán sus enlaces, y los enlaces son un factor enorme del nivel de SEO.

Odoo inserta varias herramientas para compartir contenido en redes sociales:

Red Social

Odoo permite vincular todas sus cuentas de redes sociales en el pie de página de su sitio web. Todo lo que debe hacer es vincular todas sus cuentas en los ajustes de su empresa.

../../../../_images/seo03.png

Compartir social

Suerte el bloque de creación Compartir en cualquier página que desee que sus visitantes compartan. Se les invita a compartir la página en sus redes sociales al hacer clic en el icono.

../../../../_images/seo04.png

La mayoría de las redes sociales usan una imagen para decorar el post compartido. Odoo utiliza el sitio web de forma predeterminada, pero puede elegir cualquier otra imagen de su página en la herramienta de Promover.

../../../../_images/seo05.png

Página de Facebook

Suelte el bloque de creación de Página de Facebook para mostrar un widget de su página empresarial de Facebook y animar a los visitantes a visitarla. Puede mostrar el inicio de su página, los próximos eventos y los mensajes.

Panel de Twitter

Display the Twitter feeds with customer satifaction on your website. THis will increase the number of tweets and shares.

Pruebe su sitio Web

Puede comparar el nivel de su sitio web, en términos de SEO, en comparación con Odoo, al usar los servicios gratuitos de WooRank: woorank.com

Manejo de URLs

Esta sección aclara cómo Odoo hace que las URLs sean compatibles con SEO.

Estructura de las URL

Una URL típica de Odoo se muestra como la siguiente:

Con los siguientes componentes:

  • https:// = Protocolo

  • www.mysite.com = su nombre de dominio

  • /fr_FR = idioma de la página. Esta parte del URL se elimina si el visitante navega el idioma principal del sitio web. Así, la versión principal de esta página es: https://www.mysite.com/shop/product/my-great-product-31

  • /shop/product = cada módulo define su propio espacio para nombres (/shop es para el catálogo del módulo de Comercio electrónico, /shop/product es para una página de producto.

  • my-great-product = de forma predeterminada, este es el título simplificado del producto al que se refiere la página, pero puede personalizarlo para el SEO. Un producto que se llama «Pain carré» se simplificará como «pain-carre». Dependiendo del espacio para nombres, este puede ser distintos objetos (publicaciones de blog, título de página, publicaciones de foro, comentario de foro, categoría de producto, etc.).

  • -31 = ID único del producto

Note que cualquier componente dinámico de una URL puede ser reducido a su ID. Como ejemplo, las siguientes URLs todas hacen una redirección 301 a la URL anterior:

Algunas URLs tienen varias partes dinámicas, como este (una categoría de blog y una publicación):

En el ejemplo anterior:

  • Noticias de la Compañía es el título del blog

  • La historia de Odoo es el título de una entrada concreta del blog

Cuando una página de Odoo tiene un paginador, el número de página es configurado directamente en la URL (no tiene un argumento GET). Esto permite que cada página sea indexada por los motores de búsqueda. Ejemplo:

Cambios en URLs y Títulos

Cuando la URL de una página cambia (ej. a versión SEO más amigable de su nombre de producto), no necesita preocuparse de actualizar todos los vinculos:

  • Odoo actualizará de forma automática todos sus enlaces al nuevo URL.

  • If external websites still points to the old URL, a 301 redirect will be done to route visitors to the new website.

Como ejemplo. esta URL:

Se redigirá automáticamente a:

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

Los motores de búsqueda impulsan el ranking de sitios web HTTPS/SSL seguros. Por lo que, de forma predeterminada, todas las instancias de Odoo en línea se basan completamente en HTTPS. Si un visitante accede a su sitio web a través de un URL que no sea HTTPS, una redirección 301 lo lleva a su equivalente en HTTPS.

Soporte multi-idioma

URLs multi-idioma

Si ejecuta un sitio web en varios idiomas, el mismo contenido estará disponible en diferentes direcciones URL, dependiendo del idioma utilizado:

En este ejemplo, fr_FR es el idioma de la página. Puede incluso tener muchas variaciones del mismo idioma pt_BR (Portugués de Brazil) , pt_PT (Portugués de Portugal).

Anotación de idioma

Para que los motores de búsqueda sepan que el segundo URL es la traducción francesa del primero, Odoo agregará un elemento de enlace HTML en el encabezado. En la sección HTML <head> de la versión principal, Odoo agrega de forma automática un elemento de enlace que dirige a las versiones traducidas de la página web.

Con este enfoque:

  • Los motores de búsqueda redireccionarán al idioma adecuado según el idioma del visitante.

  • No recibe ninguna penalización por parte de los motores de búsqueda si su página aún no está traducida. No es contenido duplicado, sino una versión distinta del mismo contenido.

Detección de idioma

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).

La próxima vez, guarda una cookie del idioma actual para evitar cualquier redirección.

Para forzar a un visitante a mantenerse en el idioma por defecto, puede usar el código del idioma por defecto en su vinculo, ejemplo: yourwebsite.com/en_US/shop. Esto siempre aterrizará a los visitantes en la versión en Inglés de la página, sin usar las preferencias de idioma del navegador.

Velocidad de la página

Introducción

El tiempo en el que carga una página es un criterio importante para los motores de búsqueda. Un sitio web rápido no solo mejora la experiencia de su visitante, sino que también le da un mejor nivel a su página. Estudios demuestran que si divide en dos el tiempo de carga de sus páginas (por ejemplo, 2 segundos en lugar de 4), la tasa de abandono del visitante también se divide en 2. (de 25% a 12.5%). Una página que cargue un segundo adicional podría costarle $1.6 mil millones a Amazon en ventas.

../../../../_images/seo06.png

Afortunadamente, Odoo hace toda la magia por ti. Debajo, encontraras los trucos que Odoo usa para acelerar el tiempo de carga de su página. Puedes comparar como su sitio web ordena usando estas dos herramientas:

Imagenes

Cuando sube nuevas imágenes, Odoo las comprime de forma automática para reducir su tamaño (compresión sin perdidas para archivos .PNG y .GIF y compresión con pérdidas para .JPG).

Desde el botón de cargar, tiene la opción de mantener la imagen original sin modificar si prefiere optimizar la calidad de la imagen mas no el rendimiento.

../../../../_images/seo07.png

Nota

Odoo comprime imagenes al momento que las carga en su página web, no en el momento qu un visitador los solicita. Por eso es posible en el caso de que utilice un tema de terceros que las imagenes proveídos no son comprimidos de manera eficiente. Sin embargo, todas las imagenes utilizadas en temas oficiales de Odoo han sidos comprimidas debidamente por defecto.

Si hace clic en una imagen, Odoo le muestra los attributos Alt y título de la etiqueta <img> . Puede dar cic para configurar su propio attributo título y Alt para la imagen.

../../../../_images/seo08.png

Cuando hace clic en este enlace, la siguente ventana aparecerá:

../../../../_images/seo09.png

Los pictrogramas de Odoo han sido implementados utilizando une fuente (Font Awesome en la mayoría de temas Odoo). Por ende, puede utilizarlos sin limitaciones en su página. No resultaran en rqeusts addicionales para cargar la página.

../../../../_images/seo10.png

Recursos estáticos: CSS

Todos los archivos CSS se procesan previamente, se concatenan, se minifican, se comprimen y se almacenan en el caché (tanto en el servidor como en el navegador. El resultado:

  • Solo una solicitud de archivo CSS, es necesario para cargar una página.

  • este archivo CSS está en la caché compartida entre las páginas, de modo que cuando el usuario hace click en otra página, el navegador no tiene que cargar un solo recurso CSS.

  • Este archivo CSS es optimizado para ser pequeño

Procesados previamente: El entorno de trabajo CSS que Odoo utiliza es Bootstrap. Aunque un tema puede usar otro entorno de trabajo, la mayoría de los temas de Odoo extienden y personalizan Bootstrap directamente. Ya que Odoo es compatible con Less y Sass, puede modificar las reglas CSS en lugar de sobreescribirlas a través de líneas CSS adicionales, lo que da como resultado un archivo más pequeño.

Concatenado: todos los módulos o bibliotecas que puede usar en Odoo tiene sus propios archivos CSS, Less o Sass (Comercio electrónico, blogs, temas, etc.). Tener varios archivos CSS es bueno para la modularidad pero no para el rendimiento, ya que la mayoría de los navegadores solo puede realizar 6 solicitudes en paralelo, lo que resulta en que se carguen muchos archivos en serie. El tiempo de latencia para transferir un archivo suele ser mucho mayor que el tiempo real de transferencia de datos, para archivos pequeños como .JS y .CSS. Por lo tanto, el tiempo de carga de recursos CSS depende más del número de solicitudes que se deben resolver que del tamaño real del archivo.

Para circumvenir este problema, tdos los archivos CSS / Less / Sass estan siendo concatenados en uns solo archivo CSS que se envia hacia el navegador. En consequencia, un visitador, solo necesita cargar un solo archivo CSS per página, algo especialmente eficiente. Como el CSS esta siendo compartido entre todas las páginas, cuando un visitador hace clic en otra página, ¡el navegador ni siquera debe recargar un nuevo archivo CSS!

Ambos archivos en el <head>

Que obtiene el visitante (solo un archivo)

/* From bootstrap.css */

.text-muted {

.text-muted {

color: #666;

color: #777;

background: yellow

background: yellow;

}

}

/* From my-theme.css */

.text-muted {

color: #666;

}

El archivo CSS enviado por Odoo incluye todos los CSS / Less / Sass de todas las páginas y módulos. Haciendo esto, visitas de páginas addiciónales del mismo visitador no deben recargar nigun archivo CSS. Sin embargo, algunos módulos pueden incluir recursos CSS / Javascript pesados los cuales no quiere precargar con la primera página por el mero tamaño. En este caso, Odoo separa este recurso en un segundo paquete que solo se carga cuando la página que lo este usando esta siendo soliciada. Un ejemplo es el backand que solamente esta cargado cuando un visitador esta ingresando al backend (/web).

Nota

Si el archivo CSS es muy grande, Odoo lo dividirá en dos archivos más pequeños para evitar el límite de 4095 selectores por hoja de Internet Explorer. Pero la mayoría de temas cumplen con este límite.

Minimizados: Después de ser preprocesado y concatenado, el archivo CSS es minimizados para reducir su tamaño.

Antes de minimizar

Después de minimizar

/* algunos comentarios */

.text-muted {color: #666}

.text-muted {

color: #666;

}

El resultado final es entonces comprimido, antes de ser entregado al navegador.

Posteriormente, se almacena una versión de caché en el servidor (para que no tengamos que procesar previamente, concatenar y minificar en cada solicitud) y en el navegador (para que el mismo visitante cargue el archivo CSS solo una vez para todas las páginas que visiten).

Recursos estáticos: Javascript

Al igual que los recursos CSS, los recursos Javascript también se concatenan, minifican, comprimen y se guardan en caché (tanto en el servidor como en el navegador).

Odoo crea arboles de Paquetes Javascript:

  • Uno para todas las páginas del sitio web (incluso el código para los efectos parallax, validación de formulario, etc.).

  • Uno para el código de Javascript común que se comparte entre el frontend y el backend (Bootstrap)

  • Uno para código Javascript del backend (interfaz del Odoo Web Client para sus empleados utilizando Odoo)

La mayoría de los visitantes de su sitio web solo necesitarán los primeros dos paquetes, lo que resulta en un máximo de dos archivos Javascript por cargar para visualizar una página. Como estos archivos se comparten en todas las páginas, más clics por el mismo visitante no cargarán ningún otro recurso de Javascript.

Nota

Si trabaja con el modo de desarrollador, los archivos CSS y Javascript no se concatenan ni se minifican. Por lo tanto, es mucho más lento, pero le permite resolver bugs con facilidad con el solucionador de bugs de Chrome, ya que los recursos CSS y Javascript no cambian de su versión original.

CDN (Red de distribuición de contenido)

Si activa la opción CDN en Odoo, recursos estáticos (Javascript, CSS, imágenes) están siendo cargados desde una red de distribución de contenido. Utilizar una red de distribuición de contenido conlleva tres ventajas:

  • Cargar recursos de un servidor cercano (la mayoria de CDN mantiene servidores en los principales países alrededor del mundo)

  • Guardar recursos eficientemente (no uso de recursos de computación en su propio servidor)

  • Distribuir la tarea de cargar recursos a traves de diferentes servicios permitiendo cargar maás recursos en paralelo (debido a que el límite de Chrome de 6 requestes en paralelo cuenta por dominio)

Puede configurar sus opciones CDN desde la aplicación Administrador de página web utilizando el menú de configuración. Aqui esta un ejemplo de configuración que puede utilizar:

../../../../_images/seo11.png

Páginas HTML

Las páginas HTML pueden ser comprimidas, pero esto es usualmente manejado por el servidor de tu web (NGINX or Apache)

EW

Como ejemplo, si usa el seleccionador de color para cambiar el color de un parrafo al color primario de su página web, Odoo producirá el siguiente código:

<p class="text-primary">Mi Texto</p>

Considerando que la mayoría de editores HTML (como CKEditor) producirá el siguiente código:

<p style="color: #AB0201">Mi Texto</p>

Diseño Responsive

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.

../../../../_images/seo12.png

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. The 457-0da1d9d part of this URL will change if you modify the CSS of your website.

Esto permite que Odoo configure una memoria de caché muy larga (XXXX) en estos recursos: XXX segs, mientras esta siendo actualizado instantáneamente si actualiza el recurso.

Escalabilidad

In addition to being fast, Odoo is also more scalable than traditional CMS and eCommerce (Drupal, Wordpress, Magento, Prestashop).

Here is the slide that summarizes the scalability of Odoo Website & eCommerce.

../../../../_images/seo13.png

Search Engines Files

Mapa del sitio

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.

Por defecto, todas las URLs estarán en un solo archivo /sitemap.xml, pero si tiene varias páginas, Odoo automáticamente creará una archivo índice Mapa del sitio, respetando sitemaps.org protocol el agrupado de URLs de mapas del sitio en 45000 pedazos por archivo.

Cada entrada de mapa del sitio tiene 4 atributos que son calculados automáticamente:

  • <loc> : la URL de una pagina

  • <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).

Datos Estructurados Marcados

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 soporta un número de fragmentos enriquecidos por tipos de contenido, incluyendo: Revisiones, Gente, Productos, Negocios, Eventos y Organizaciones.

Odoo implementa micro datos como esta definido en la schema.org especificación para eventos, productos de comercio electrónico, publicaciones de foro y direcciones de contacto. Esto permite que sus páginas de producto sean mostradas en Google usando información adicional como el precio y rating de un producto:

../../../../_images/seo14.png

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 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.