Toggle navigation

Hoe zoekmachine optimalisatie doen in Odoo

Hoe wordt SEO afgehandeld in Odoo?

Zoekmachine optimalisatie (SEO) is een set van goede werkwijzes om uw website te optimaliseren zodat deze een betere ranking heeft in zoekmachines zoals Google. Kort samengevat zorgt goede SEO ervoor dat u meer bezoekers krijgt.

Een paar voorbeelden van SEO regels: uw webpagina's zouden sneller moeten laden, u pagina zou slechts één en enkel één titel <h1> mogen hebben, uw website zou een /sitemap.xml bestand moeten bevatten, enz.

De Odoo Website Bouwer is waarschijnlijk de meeste SEO klare CMS die er op de markt is. Wij beschouwen SEO een topprioriteit. Om Odoo Website en Odoo eCommerce gebruikers een goede SEO te garanderen extraheert Odoo alle technische complexiteit van SEO en handelt deze alles voor u af, in de best mogelijke manier.

Paginasnelheid

Introductie

De tijd om een pagina te laden is een belangrijk criteria voor Google. Een snellere website verbeterd niet enkel uw bezoekers zijn ervaring maar Google geeft u ook een betere ranking als u pagina sneller laad dan deze van concurrenten. Sommige studies hebben aangetoond dat als u de laadtijd van uw pagina door twee deelt (bijvoorbeeld 2 seconden in plaats van 4) dat de bezoekers slechts half zo snel de website afsluiten. (25% naar 12.5%). Een extra seconde om een pagina te laten kan $1.6b kosten aan Amazon in verkoop.

Gelukkig doet Odoo alle magie voor u. Hieronder vind u trucks die Odoo gebruikt om de laadsnelheid te verhogen. U kan vergelijken hoe uw website presteert met deze twee tools:

Statische bronnen: CSS

Alle CSS bestanden zijn pre-processed, geconcateneerd, minified, gecomprimeerd en gecached (aan de server en browser kant). Het resultaat:

  • slechts één CSS bestandsverzoek is nodig om een pagina te laden

  • dit CSS bestand is gedeeld en gecached over verschillende pagina's, zodat wanneer bezoekers klikken op een andere pagina, de browser geen enkel CSS bestand moet inladen.

  • dit CSS bestand is geoptimaliseerd om klein te zijn

Voorbewerkt: Het CSS framework dat door Odoo 9 gebruikt wordt is bootstrap 3. Alhoewel een thema een ander framework kan gebruiken zullen de meeste Odoo thema's de bootstrap rechtstreekt uitbreiden of personaliseren. Omdat Odoo Less en Sass ondersteunt kan u CSS regels wijzigen in plaats van ze te overschrijven via extra CSS lijnen, wat resulteert in een kleiner bestand.

Beide bestanden in het <head>

Wat de bezoekers krijgen (slechts één bestand)

/* Van bootstrap.css */

.text-muted {
.text-muted {color: #666;
color: #777;background: yellow
background: yellow;}
}

/* Van my-theme.css */

.text-muted {
color: #666;
}

Geconcateneerd: elke module of bibliotheek die u mogelijk gebruikt in Odoo heeft zijn eigen set van CSS, Less of Sass bestanden (e-commerce, blog, thema, enz.) Verschillende CSS bestanden hebben is geweldig voor de modulariteit, maar niet goed voor de performantie omdat de meeste browsers maar 6 aanvragen parallel kunnen uitvoeren wat resulteert in veel bestanden die niet in series worden ingeladen. De latentietijd is normaal gezien veel langer voor kleine bestanden zoals .JS en .CSS dan de actuele data overzet tijd. Dus, de tijd om CSS bronnen te laden is meer afhankelijk van het aantal aanvragen dan de echte bestandsgrootte.

Om dit probleem aan te pakken worden alle CSS / Less / Sass bestanden geconcateneerd in één .CSS bestand dat naar de browser wordt gestuurd. Zodat een bezoeker slechts één .CSS bestand moet laden per pagina, wat vooral efficiënt is. Als de CSS gedeeld wordt over alle pagina's hoeft de browser geen nieuw CSS bestand te laden wanneer een andere pagina wordt open gedaan!

De CSS verzonden door Odoo bevat alle CSS / Less / Sass bestanden van alle pagina's / modules. Door dit te doen moeten andere pagina weergaven van dezelfde weergave geen nieuw CSS bestand inladen. Maar sommige modules kunnen grote CSS/JavaScript bronnen bevatten die u niet op voorhand wilt ophalen op de eerste pagina omdat ze te groot zijn. In dit geval splitst Odoo de bronnen in een tweede bundel die geladen wordt wanneer de pagina die het gebruikt het aanvraagt. Een voorbeeld hiervan is de back-end die enkel ingeladen wordt wanneer de bezoekers aanmelden en de back-end opendoen (/web).

Minified: Na het pre-processen en concateneren zal de resulterende CSS geminificeerd worden om de grootte te verkleinen.

Voor minificatie

Na minificatie

/* sommige commentaren */

.text-muted {color: #666}
.text-muted {
color: #666;
}

Het uiteindelijke resultaat is dan gecomprimeerd, voordat het aan de browser wordt aangeleverd.

Vervolgens is er een gecachte versie die bewaard wordt aan de serverkant (zodat we niet hoeven te processen op voorhand, geen concatenatie moeten doen en geen minifying bij elke aanvraag) en aan de browserkant (zodat dezelfde bezoeker zijn CSS slechts één keer laad voor alle pagina's die hij bezoekt).

Statische bronnen: JavaScript

Zoals met CSS bronnen zijn JavaScript bronnen ook geconcateneerd, minified, gecomprimeerd en gecached (op de serverkant en browserkant)

Odoo maakt drie JavaScript bundels aan:

  • Een voor alle pagina's van de website (inclusief code voor parallax effecten, formulier validatie, ...)

  • Een voor algemene JavaScript code die gedeeld wordt met de front-end en back-end (bootstrap)

  • Een voor back-end specifieke JavaScript code (Odoo Web Client interface voor uw werknemers die Odoo gebruiken)

De meeste bezoekers op uw website hebben enkel de twee eerste bundels nodig, wat resultaat in een maximum van twee JavaScript bestanden die geladen en gerenderd moeten worden op een pagina. Omdat deze bestanden gedeeld worden met alle pagina's zullen verdere klikken door dezelfde bezoeker niet resulteren in het laden van extra JavaScript bronnen.

Afbeeldingen

Wanneer u nieuwe afbeeldingen upload met de website bouwer zal Odoo automatisch deze comprimeren om de grootte te verkleinen. (verliesloze compressie voor .PNG en .GIF en lichte verlies compressie voor .JPG)

Vanuit de upload knop heeft u de optie om het originele bestanden ongewijzigd te houden indien u de kwaliteit van de afbeelding wilt optimaliseren in plaats van de performantie.

Wanneer u klikt op een afbeelding toont Odoo u de Alt en titel attributen van de <img> tag. U kan hierop klikken om uw eigen titel en Alt attributen in te stellen voor de afbeelding.

Wanneer u klikt op deze link, zal het volgende venster verschijnen:

Odoo's pictogrammen zijn geïmplementeerd met het gebruikt van een font (Font Awesome in de meeste Odoo thema's). Dus kan u zoveel pictogrammen gebruiker als u wilt in uw pagina, ze hebben geen extra aanvragen nodig om de pagina te laden.

CDN

Indien u de CDN optie activeert in Odoo worden statische bronnen (JavaScript, CSS, afbeeldingen) geladen van het Content Delivery Netwerk. Een Content Delivery Netwerk heeft drie voordelen:

  • Laad bronnen van een dichtbij zijnde server (meeste CDN's hebben servers in de belangrijkste landen over de wereld)

  • Cache bronnen efficiënt (er worden geen resources gebruikt op uw eigen server voor de berekening)

  • Verdeel de bronnen die geladen worden over verschillende diensten zodat u meerdere bronnen parallel kan laden (Sinds de Chrome limiet van 6 parallelle aanvragen op domeinniveau is)

U kan uw CDN opties configureren vanuit de Website Admin app, met behulp van het configuratie menu. Hier is een voorbeeld van een configuratie die u kan gebruiken:

HTML pagina's

Odoo staat het minifien van HTML pagina's toe, vanuit de Website Admin app door gebruik te maken van het Configuratie menu. Dit verwijderd automatisch extra spaties en tabs in uw HTML code, reduceren sommige labels hun code, enz.

Daarbovenop kunnen de HTML pagina's gecomprimeerd worden, maar dit wordt meestal afgehandeld door uw webserver (NGINX of Apache).

De Odoo website bouwer is geoptimaliseerd om propere en korte HTML code te garanderen. Bouwstenen zijn ontwikkeld om propere HTML code te genereren, normaal gezien door de bootstrap en de HTML editor te gebruiken.

Als een voorbeeld, als u de kleurenprikker gebruikt om de kleur van een paragraaf te wijzigen naar de primaire kleur van uw website, zal Odoo de volgende code genereren:

<p class="text-primary">Mijn tekst</p>

Waar de meeste HTML editors (zoals een CKEditor) de volgende code produceert:

<p style="color: #AB0201">Mijn tekst</p>

Responsief design

Vanaf 2015 worden websites die niet mobiel vriendelijk zijn negatief beïnvloed in de Google Pagina ranking. Alle Odoo thema's gebruiken Bootstrap 3 om zich efficiënt aan te passen aan het toestel: vaste pc, tablet of mobiele telefoon.

Omdat alle Odoo modules dezelfde technologie delen zijn absoluut alle pagina's in onze website mobiel vriendelijk. (in tegenstelling tot traditionele CMS welke mobiel vriendelijke thema's hebben, maar sommige specifieke modules of pagina's zijn niet ontworpen om mobiel vriendelijk te zijn omdat ze allemaal hun eigen CSS frameworks hebben)

Browser caching

JavaScript, afbeeldingen en CSS bronnen hebben een URL die dynamisch wijzigt wanneer hun inhoud veranderd. Als een voorbeeld, alle CSS bestanden worden geladen via deze URL: http://localhost:8069/web/content/457-0da1d9d/web.assets_common.0.css. Het 457-0da1d9d gedeelte van deze URL zal wijzigen als u de CSS van uw website wijzigt.

Dit laat Odoo toe om een heel lange cache vertraging in te stellen (XXX) op deze bronnen: XXX seconden, terwijl deze direct wordt geüpdatet als u de bron update.

Schaalbaarheid

Bovenop dat het snel is is Odoo ook beter schaalbaar dan de traditionele CMS en e-commerce platformen (Drupal, Wordpress, Magento, Prestashop). De volgende linken bieden een analyse van het grootste open source CMS en e-commerce platformen vergeleken met Odoo wanneer het aan komt op hoge query volumes.

Hier is de dia die de schaalbaarheid van de Odoo eCommerce en Odoo CMS samenvat. (gebaseerd op Odoo versie 8, Odoo 9 is nog sneller)

URL's afhandeling

URL's structuur

Een typische Odoo URL ziet er als volgt uit:

https://www.mysite.com/fr_FR/shop/product/my-great-product-31

Met de volgende componenten:

  • https:// = Protocol
  • www.mysite.com = uw domeinnaam

  • /fr_FR = de taal van de pagina. Dit gedeelte van de URL is verwijderd als de bezoekers de website in de hoofdtaal bezoekt (standaard Engels maar u kan ook een andere taal als de hoofdtaal instellen). Dus de Engelse versie van deze pagina is: https://www.mijnwebsite.com/shop/product/my-great-product-31

  • /shop/product = elke module definieert zijn eigen naam (/shop is voor de catalogus van de eCommerce module, /shop/product is voor een productpagina). Deze kan niet gepersonaliseerd worden om conflicten in verschillende URL's te voorkomen.

  • mijn-geweldig-product = standaard is dit de slugified titel van het product waar deze pagina naar linkt. Maar u kan het personaliseren voor SEO doeleinden. Een product genaamd "Pain carré" wordt geslugified naar "pain-carre". Afhankelijk van de naam kunnen dit verschillende objecten zijn (blogberichten, pagina titels, forumberichten, forum reacties, productcategorieën, enz)

  • -31 = het unieke ID van het product

Merk op dat eender welk dynamisch deel van een URL gereduceerd kan worden naar een ID. Bijvoorbeeld, de volgende URL's doen allemaal een 301 doorverwijzing naar de bovenstaande URL:

Dit kan handig zijn om gemakkelijk een kortere versie van een URL te krijgen en efficiënt 301 doorverwijzingen af te handelen wanneer de productnaam doorheen de tijd wijzigt.

Sommige URL's hebben verschillende dynamische onderdelen, zoals deze (een blogcategorie en een post):

In het bovenstaande voorbeeld:

  • Bedrijfsnieuws: is de titel van de blog

  • Het Odoo verhaal: is de titel van een specifieke blogpost

Wanneer een Odoo pagina een pager heeft zal het paginanummer direct in de URL worden gezet (heeft geen GET argument). Dit staat toe dat elke pagina geïndexeerd wordt door zoekmachines. Bijvoorbeeld:

Wijzigingen in URL's & titels

Wanneer de URL van een pagina wijzigt (bijvoorbeeld een vriendelijkere SEO versie van uw productnaam), hoeft u zich geen zorgen te maken over het updaten van alle links:

  • Odoo update automatisch alle links naar de nieuwe URL's

  • Indien externe websites nog naar de oude URL verwijzen zal een 301 omleiding uitgevoerd worden om bezoekers naar de nieuwe website door te sturen

Als een voorbeeld, deze URL:

Verwijst automatisch door naar:

In het kort, wijzig gewoon de titel van uw blogbericht of de naam van een product en de wijzigingen wordt automatisch toegepast doorheen uw website. De oude link zal nog steeds werken voor links die komen van externe websites. (met een 301 doorverwijzing om de SEO links niet kwijt te geraken)

HTTPS

Sinds augustus 2014 is Google gestart met het toevoegen van een rank boost voor websites met HTTPS/SSL. Dus standaard zijn alle Odoo Online instanties volledig gebaseerd op HTTPS. Als de bezoeker uw website bezoekt via een niet HTTPS url krijgt hij een 301 doorverwijzing naar de HTTPS pagina.

Meertalige ondersteuning

Meertalige URL's

Indien u een website in meerdere talen heeft zal dezelfde inhoud beschikbaar zijn in verschillende URL's, afhankelijk van de gebruikte taal:

In dit voorbeeld is de taal van de pagina fr_FR. U kan zelfs verschillende variaties van dezelfde taal hebben: pt_BR (Portugees van Brazilië), pt_PT (Portugees van Portugal).

Taal annotatie

Om Google te vertellen dat de tweede URL de Franse vertaling van de eerste URL is voegt Odoo een HTML link element toe in de hoofding. In de HTML <head> sectie van de Engelse versie zal Odoo automatisch een link toevoegen die linkt naar de andere versies van die webpagina;

Met deze aanpak:

  • Odoo kent de verschillende vertaalde versies van uw pagina en stelt de correcte versie voor afhankelijk van de taal van de bezoeker die zoekt op Google

  • U wordt niet gestraft door Google als uw pagina nog niet vertaald is, omdat het geen gedupliceerde inhoud is, maar een andere versie van dezelfde inhoud.

Taal detectie

Wanneer een bezoeker voor de eerste keer op uw website beland (bijvoorbeeld uwwebsite.com/shop) zal deze automatisch doorverwijzen naar een vertaalde versie zoals de taal van de browser staat ingesteld: (bijvoorbeeld uwwebsite.com/nl_NL/shop).

Odoo verwijst bezoekers enkel de eerste keer door naar hun verkozen taal op de hoofdpagina van uw website. Hierna houdt het een cookie bij van de huidige taal om enige doorverwijzingen te voorkomen.

Om een bezoeker te forceren om de standaard taal te gebruiken kan u de code gebruiken van de standaard taal in uw link, bijvoorbeeld: uwwebsite.com/en_US/shop. Dit zal bezoekers altijd doen landen op de Engelse versie van de pagina, zonder de browser voorkeuren te gebruiken.

Meta Tags

Titels, sleutelwoorden en omschrijvingen

Elke webpagina moet de <title>, <description> en <keywords> meta data definiëren. Deze informatie elementen worden gebruikt door zoekmachines om de webpagina te ranken en categoriseren naar gelang uw specifieke zoekopdracht. Het is dus belangrijk om titels en sleutelwoorden te hebben die overeenkomen met wat mensen zoeken in Google.

Om kwaliteitsvolle meta tags te schrijven, die het aantal bezoekers naar uw website verhoogt, biedt Odoo een Promoot tool aan, in de bovenste navigatiebalk van uw website bouwer. Deze tool contacteert Google om u informatie te geven over sleutelwoorden en zoekt naar overeenkomsten met titels en inhoud op uw pagina.

In termen van SEO is inhoud de koning. Daarom spelen blogs een belangrijke rol in uw inhoudsstrategie. Om u te helpen met het optimaliseren van al uw blog berichten biedt Odoo een pagina aan die u toestaat om snel te scannen naar de meta tags van al uw blogberichten.

Sitemap

Odoo genereert automatisch een /sitemap.xml bestand voor u. Voor performantie redenen wordt dit bestand elke 12 uren gecached en geüpdatet.

Standaard zijn alle URL's één /sitemap.xml bestand, maar als u veel pagina's heeft zal Odoo automatisch een Sitemap index bestand aanmaakt dat het sitemaps.org protocol protocol respecteert om sitemap URL's te groeperen in 45000 stukken per bestand.

Elke sitemap heeft 4 attributen die automatisch berekend worden:

  • <loc> : de URL van een pagina

  • <lastmod> : laatste datum van wijziging van het bestand, automatisch berekend gebaseerd op een gerelateerd object. Voor een pagina gerelateerd aan een product kan dit de laatste wijzigingsdatum zijn van het product of de pagina

  • <priority> : modules kunnen hun eigen prioriteit algoritme implementeren gebaseerd op hun inhoud (bijvoorbeeld: een forum kan een prioriteit toewijzen gebaseerd op het aantal stemmen van een specifieke post). De prioriteit van een statische pagina is bepaald door het prioriteit veld, wat genormaliseerd is. (16 is de standaard)

Gestructureerde Gegevens Markup

Gestructureerde Gegevens Markup wordt gebruikt om rijke snippets te genereren in zoekmachine resultaten. Het is een manier voor website eigenaren om gestructureerde data te sturen naar zoekmachine robots; helpen om hen uw inhoud te begrijpen en het maken van mooi gepresenteerde zoekresultaten.

Google ondersteunt een aantal rijke snippets voor inhoudstypes, inclusief: Beoordelingen, Mensen, Producten, Zaken, Evenementen en Organisaties.

Odoo implementeert micro data zoals gedefinieerd in de schema.org specificaties voor gebeurtenissen, e-commerce producten, forum berichten en contactadressen. Dit staat uw productpagina's toe om getoond te worden in Google en om extra informatie te gebruiken zoals de prijs en beoordeling van een product:

robots.txt

Odoo maakt automatisch een``/robots.txt`` bestand voor uw website. De inhoud is:

Gebruiker-agent: *

Sitemap: https://www.odoo.com/sitemap.xml

Inhoud is koning

Wanneer het op SEO aankomt is de inhoud meestal de koning. Odoo biedt verschillende modules aan om uw inhoud te helpen opbouwen op uw website:

Sociale functies

Twitter kaarten

Odoo heeft nog geen Twitter kaarten geïmplementeerd. Dit wordt gedaan in de volgende versie.

Sociale netwerk

Odoo staat u toe om alle sociale netwerk accounts te linken in uw website. Het enige dat u moet doen is al uw accounts opgeven in het Instellingen menu van de Website Admin applicatie.

Test uw website

U kan vergelijken hoe uw website het doet, in termen van SEO, tegen Odoo met behulp van de gratis WooRank dienst: https://www.woorank.com