Ajout d'une nouvelle langue de contenu à un site existant

Discussion dans 'Problèmes de référencement spécifiques à vos sites' créé par AlexisRobert, 19 Avril 2017.

  1. AlexisRobert
    AlexisRobert Nouveau WRInaute
    Inscrit:
    18 Avril 2017
    Messages:
    1
    J'aime reçus:
    0
    Bonjour,

    Nous sommes en train d'étudier l'évolution de notre site internet pour en faire un site multilingue. En sachant que ce site est développé en PHP pur et que nous ne souhaitons bien sûr pas tout reprendre. Nous nous demandions donc quelles sont les différentes solutions techniques qui pourraient exister pour faire cela. Y a-t-il des modules que nous pourrions intégrer ou d'autres solutions pour que nous n'ayons pas à tout réinventer ?

    Ce que nous souhaitons est bien sûr d'être référencés au mieux. Pour cela nous voulons que cette solution nous permette d'avoir une URL distincte par page (ex: mondomaine.com/fr/ma-page et mondomaine.com/en/my-page), pas uniquement une traduction à la volée du contenu des pages en fonction de la locale de l'utilisateur. Et nous souhaiterions aussi pouvoir gérer proprement le contenu de la balise hreflang de Google.

    Merci pour vos réponses,

    Alexis
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 184
    J'aime reçus:
    352
    - Pour la traduction de l'interface: gettext: http://php.net/manual/fr/book.gettext.php , facile à mettre en place, il va juste falloir mettre <?php echo _("..."); ?> (ou un wrapper function __()) autour des textes à traduire.
    PHP:
    <span class="syntaxdefault"></span><span class="syntaxkeyword">function&nbsp;</span><span class="syntaxdefault">__</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$message</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">$args&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">null</span><span class="syntaxkeyword">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span class="syntaxdefault">$message</span><span class="syntaxkeyword">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">$translated&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">_</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$message</span><span class="syntaxkeyword">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span class="syntaxdefault">$args&nbsp;</span><span class="syntaxkeyword">===&nbsp;</span><span class="syntaxdefault">null</span><span class="syntaxkeyword">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span class="syntaxdefault">$translated</span><span class="syntaxkeyword">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif&nbsp;(!</span><span class="syntaxdefault">is_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$args</span><span class="syntaxkeyword">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">$args&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">array_slice</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">func_get_args</span><span class="syntaxkeyword">(),&nbsp;</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span class="syntaxdefault">vsprintf</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$translated</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">$args</span><span class="syntaxkeyword">);<br />}&nbsp;</span><span class="syntaxdefault"></span>
    - Pour la traduction de la DB: title_fr, title_en, content_fr, content_en,... ou autre table avec foreign key vers contenu original.
     
  3. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    2 064
    J'aime reçus:
    367
    Et pour gérer /fr/ma-page et /en/my-page il faut mettre un rewrite dans un .htaccess sur /fr/ et /en/ vers l'index.php en gros, ou page par page s'il n'y en a pas trop, et qui donnera en paramètre lang=fr ou lang=en (ou sans le paramètre, en analysant l'url pour retrouver la langue).
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 184
    J'aime reçus:
    352
    @rick38: ou tout envoyer vers un "front controller" index.php
    comme Laravel:
    Code:
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    Ou WP:
    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    Ensuite parser:
    PHP:
    <span class="syntaxdefault">$parts </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> explode</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'/'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'REQUEST_URI'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">$lang </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $parts</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">];<br /></span><span class="syntaxcomment">// ... &nbsp;</span><span class="syntaxdefault"></span>
     
Chargement...
Similar Threads - Ajout nouvelle langue Forum Date
Rajouter de nouvelles pages sur mon site Débuter en référencement 26 Septembre 2013
Combien de nouvelles pages par jour peut-on ajouter ? Référencement Google 8 Novembre 2011
Nouvelle fonctionnalité d'ajout d'image directement dans vos plans sitemap Crawl et indexation Google, sitemaps 8 Avril 2010
Nombre de page diminu dans l'index alors que de nouvelles pages s'ajoutent Débuter en référencement 8 Juillet 2009
[GG analytics] - Nouvelle fonctionnalité: Ajout de "Flags" Google : l'entreprise, les sites web, les services 2 Janvier 2009
Ajout de blog sur un site : nouvelle BDD nécessaire ? Administration d'un site Web 19 Mai 2008
Ajout d'une nouvelle catégorie dans un annuaire ? Débuter en référencement 24 Janvier 2006
Ajouts de nouvelles pages Référencement Google 12 Octobre 2005
WordPress rajouter le nom de domaine dans le permalien Débuter en référencement 4 Septembre 2022
WordPress ajouter des mots clé avec YOAST SEO Débuter en référencement 28 Août 2022
Ajouter sur la search console un blog créé sur like-blogs.com Crawl et indexation Google, sitemaps 23 Août 2022
Ajout de lien interne (avec ou sans nouveau contenu)? Netlinking, backlinks, liens et redirections 21 Août 2022
Question ajout de traduction - SEO Référencement Google 16 Juin 2022
ajout de "domaine à vendre" dans les résultats google Référencement Google 28 Mai 2022
Ajouter des liens sortants externes pour améliorer le référencement Netlinking, backlinks, liens et redirections 2 Mai 2022
Comment ajouter le tag GA4 sur 7000 fichiers ? Google Analytics 10 Avril 2022
refonte site 'consultant' perso avec ajout d'associés Demandes d'avis et de conseils sur vos sites 4 Janvier 2022
Ajout bouton recherche Google sur mon site : Impact SEO Demandes d'avis et de conseils sur vos sites 22 Décembre 2021
Comment ajouter une URL en japonais dans Blogger ? Gmail, Google Talk, Blogger et Orkut 28 Novembre 2021
Quelle solutions pour ajouter un annuaire de membre Développement d'un site Web ou d'une appli mobile 21 Septembre 2021