SEO : améliorer le référencement de votre site Drupal
Une vision subjective et argumentée des modules à utiliser pour améliorer le référencement d'un site Drupal.
Une vision subjective et argumentée des modules à utiliser pour améliorer le référencement d'un site Drupal.
Une vision subjective et argumentée des modules à utiliser pour améliorer le référencement d'un site Drupal.
Il arrive que certains matins lorsque vous posez vos pieds hors de votre lit encore chaud la journée qui débute n’ait rien à voir avec les précédentes.
Il y a quelques semaines j’ai vécu cette expérience car j’ai vécu mon premier jour « post Commerce Guys ».
Se lever et ne pas se rendre au bureau, lorsque tu l’as fait pendant les 4 années précédentes sans vraiment te poser de question ça fait un peu bizarre.
Source : Todd Klassy > http://www.flickr.com/photos/latitudes/513503159/
Mais pourquoi les choses se sont elles arrêtées ?
Et bien parfois lorsque vous avez des convictions il faut avoir le courage de les assumer, le projet d’entreprise ne me séduisait plus et ma volonté de travailler « en famille » n’était plus satisfaite.
Je ne pars pas fâché, au cours de mes 4 ans au sein de Commerce Guys j’ai eu l’occasion d’apprendre et d’expérimenter beaucoup de choses, j’y ai rencontré beaucoup de personnes et la principale raison pour laquelle j’étais motivé de venir bosser étant justement de retrouver cette équipe. Mon départ n’est pas un soulagement comme si j’étais débarrassé d’un poids mais une page qui se tourne, je leur souhaite bon vent, je vais laisser quelques places vacantes (oui, être boulimique de travail c’est mal).
Alors à quoi va ressembler l’avenir ? C’est la vraie bonne question !
Il y a plus d’un an déjà je me souviens avoir eu une discussion au bord d’une piscine avec Guillaume lui demandant à moitié sérieusement quand est ce qu’il quittait sa boite, sa réponse n’ayant pas été un « jamais » ferme nous avons échangé sur la vision que nous avions du travail et de l’entreprise idéale. Plusieurs termes sont revenus au cours de cette discussion et notamment « différent », « Drupal » (quand même) et « agile ».
Le séjour se terminant, chacun est retourné à ses occupations puis quelques semaines plus tard l’idée ayant continué de germer nous avons fini par nous dire « et si on le faisait vraiment ? ».
Pensant que 3 valent mieux que 2, mon fidèle compagnon Nicolas est déjà informé du plan machiavélique qui se prépare.
Se glisse donc dans nos agendas respectifs un créneau hebdomadaire dédié à mieux définir ce projet.
Les semaines passent et le projet s’affine, vient le moment fatidique où les démissions doivent être posées. Guillaume saute le pas avant nous, profite de la vie de papa au foyer un bon mois puis Nicolas et moi le rejoignons. L’aventure Happyculture est maintenant lancée.
Mais c’est quoi ce projet ?
Et bien c’est assez simple, chez Happyculture nous pensons qu’il est possible de faire évoluer le marché, nous sommes convaincus que les jours des projets en cycle en V sont comptés pour la majorité des projets et nous souhaitons ouvrir les yeux des clients pour leur expliquer en quoi l’agile est dans leur intérêt et dans le nôtre. En ayant plus de maîtrise sur les projets le livrable final sera de meilleure qualité.
Nous allons donc continuer à faire ce que nous faisions dans nos boites respectives, faire des projets pour garder la main, se creuser les méninges sur de l’expertise et du consulting et former les équipes à Drupal et aux méthodes agiles.
Nous souhaitons aider le marché à progresser en montrant comment vendre les méthodes agiles, en éduquant les équipes de développement aux bonnes pratiques de Drupal, en montrant ce que signifie travailler en agile. L’accompagnement plutôt que de la formation « classique » se prête à merveille à l’exercice, permettant de voir les équipes grandir plutôt que de n’échanger avec elles qu’une seule fois.
Et puis quitte à créer notre boite autant la faire différente, vous connaissez les Scop ? Bah oui, les Scop quoi. Si non, regardez cette vidéo.
On ne sait pas pour vous, mais nous ça nous excite de changer un peu le paradigme actuel !
Et puis franchement, on ne veut vraiment pas faire comme tout le monde alors comme le nom « Happyculture » n’était pas assez, on a choisi de se donner comme mission d’être un laboratoire d’expérimentations des pratiques à épanouir les gens. Et ça c’est une sacrée mission. Qu’est ce que ça signifie ? Simplement que l’on préfèrera les projets qui seront d’utilité publique ou qui nous évoqueront vraiment quelque chose plutôt que certains projets parfois un peu fades. Pendant ces projets nous ferons notre possible pour nous appuyer sur des outils / pratiques qui permettent de satisfaire tout le monde, même si ça n’est parfois pas la solution de la rentabilité, nous cherchons à construire des partenariats plutôt qu’une expérience mercantile approximative.
Et puis si l’on peut travailler avec les copains on essaiera de le faire au maximum.
Happyculture relaiera « les initiatives qui rendent les gens heureux » alors si vous avez des suggestions, n’hésitez pas, il n’est pas nécessaire que cela soit lié au web ou à Drupal.
L’avenir s’annonce excitant, nous avons hâte de pouvoir rendre service à nos clients et de vous croiser lors des prochains événements pour vous parler du projet si vous êtes curieux. Si le projet vous inspire et que vous souhaitez collaborer avec nous, rendez-vous sur le site d’Happyculture pour que nous rentrions en contact.
PS : Le cordonnier étant toujours le plus mal chaussé, nous nous occuperons du site un peu plus tard, nous terminons les papiers de création pour le moment.
Lorsque vous faites du développement sous Drupal, vous serez amenés à exécuter des scripts PHP, effectuer des traitements sur différents champs ou nodes.
Dans ses situations, créer un module dédié à ces quelques tests / scripts serait une perte de temps.
Dans ce cas, créer un script PHP et « bootstrap » Drupal pour avoir accès à certaines fonctions telles que node_load, user_load ou db_select.
Pour « bootstrap » Drupal, vous avez besoin d’ajouter ces lignes dans votre script :
<?php // Drupal Bootstraping. $drupal_core_path = $_SERVER['DOCUMENT_ROOT']; define('DRUPAL_ROOT', $$drupal_core_path); require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); // Drupal Bootstrap loaded. // Do something. $user = user_load(1);
Pour s’exécuter, le script doit être placé à la racine du répertoire Drupal, puis vous aurez à lancer dans un navigateur et aller sur http://www.votresite.fr/mon_script.php
C’est long hein ? C’est justement là que Drush entre en jeu.
Drush dispose d’une foule de méthodes, celle qui nous intéresse ici est « Drush Script » (alias. Drush scr). Elle permet d’exécuter le script depuis la ligne de commande :
$ drush scr mon_script.php
De plus, Drush s’occupant du bootstrap, vous pouvez transformer votre script en :
<?php // Drupal is already Bootstrapped // We can use Drupal functions $user = user_load(1);
Après, par habitude, je n’aime pas laisser traîner trop de scripts dans la racine de mon projet. J’ajoute mes scripts dans un répertoire « custom » qui contient tous les scripts. Ça me permet notamment d’éviter les erreurs lors de suppression des scripts d’exécuter les dis scripts sur d’autres installations de Drupal, rien qu’en déplaçant les sources
$ drush scr ../custom/mon_script.php
The post Ne « Bootstrap » pas Drupal, utilises Drush ! appeared first on Benftwc.
On a souvent tendance à parler de duplication dans le cadre d’optimisation au référencement, voici un tour complet sur les différents types de « duplicate ».
Drupal est un CMS très puissant bien souvent utilisé par de grands organismes pour la réalisation de sites aux structures parfois complexes. Découvrez comment réussir votre référencement sous Drupal.
Drupal est un CMS très puissant bien souvent utilisé par de grands organismes pour la réalisation de sites aux structures parfois complexes. Découvrez comment réussir votre référencement sous Drupal.
A l'occasion de la journée mondiale de la formation Drupal, OSInet organise une après-midi de découverte (gratuite) pour tous ceux qui sont confrontés à un projet web à (faire) réaliser et se demandent si Drupal pourrait être le bon choix.
Découvrons Drupal, la sphère des licences de logiciels libres dans un contexte professionnel/administratif, la constitution d'une équipe de projet et la vie du projet après sa mise en ligne.
Programme et inscriptions sur formation.osinet.eu.
Bonjour,
Le prochain Meetup Drupal Marseillais aura lieu le Mardi 26 Novembre à 19h30 dans les locaux de Linagora.
Pôle Média Belle de Mai
37, rue Guibal
13003 MARSEILLE
Plan d'accès
On dispose d'un vidéoprojecteur pour vos présentations alors n'hésitez pas à en proposer, que ça soit technique, retour d'expérience d'un projet, nouveauté apprise, dernier module découvert... Faites vous connaitre en laissant un commentaire !
Pour le miamiam, il faut prévoir ~5 euros pour qu'on commande des pizzas !
On vous attend nombreux !
Inscription sur http://www.meetup.com/drupal-france-francophonie/events/149863902/
Jeudi 5 Décembre à Paris, pour tout savoir sur Drupal
Venez partager et échanger !
Les conférences proposées :
monter une usine à sites, Drupal en dehors du Web...
Voir le programme et les informations sur la conférence
http://www.drupagora.com
Les éditions 2011 et 2012 se sont jouées à guichets fermés et ont réunies plus de 300 experts et utilisateurs Drupal. Jusqu'au 14 novembre vous avez accès au tarif réduit à 75 €, inscrivez vous au plus vite.
Fichier attaché | Taille |
---|---|
![]() |
424.21 Ko |
Vous êtes développeur et vous souhaitez améliorer votre expertise Drupal ? Makina Corpus Nantes organise de nouvelles sessions particulières début septembre 2013 !
Quinzième exemplaire de la veille régulière réalisée par Makina Corpus sur l'actualité de nos métiers.
Quinzième exemplaire de la veille régulière réalisée par Makina Corpus sur l'actualité de nos métiers.
Pour envoyer un mail avec drupal_mail(), je vous invite à lire cette implémentation (réutilisable) du « comment faire »
<?php /** * * Implements hook_menu() * Call a custom form as menu callback * @return * $items array of menu items created programmatically */ function test_menu() { $items['test'] = array( 'title' => t('Send Email Using Drupal mail'), 'page callback' => 'drupal_get_form', 'page arguments' => array('test_custom_form', 1), 'access arguments' => array('access content'), //'file' => 'test.inc', //'file path' => drupal_get_path('module', 'test') . '/includes', ); return $items; } /** * fucntion to return custom form on menu callback * @param * type $form an array consists of form fields * @param * type $form_state an array consists of form fields values input a user * @return * $form returns array of dorm fields. */ function test_custom_form($form, $form_state) { $form = array(); $form['email'] = array( '#type' => 'textfield', '#title' => 'To Email', '#prefix' => '<div id="email-field-wrapper">', '#suffix' => '</div>', '#required' => TRUE, ); $form['from_email'] = array( '#type' => 'textfield', '#title' => 'From Email', '#prefix' => '<div id="from-email-address">', '#suffix' => '</div>', '#required' => TRUE, ); $form['email_body'] = array( '#type' => 'textarea', '#title' => 'Email Body', '#prefix' => '<div id="email-body">', '#suffix' => '</div>', '#required' => TRUE, ); $form['submit_form'] = array( '#type' => 'submit', '#value' => t('Send Email'), '#submit' => array('test_custom_form_submit'), ); $form['#validate'] = array('test_custom_form_validation'); return $form; } /** * validation function for custom form * check for vadlidation for email address. * @param type $form * @param type $form_state */ function test_custom_form_validation($form, &$form_state) { $mail = $form_state['values']['email']; $from_email = $form_state['values']['from_email']; if (!valid_email_address($mail)) { form_set_error('email', t('Please Enter a valid to email address.')); } if (!valid_email_address($from_email)) { form_set_error('from_email', t('Please Enter a valid from email address.')); } } function test_custom_form_submit($form, &$form_state) { drupal_set_message("form is submitted, thanks"); $email_content = get_mail_content($form_state); $params = array('body' => $email_content); $key = 'test_email'; $to = $form_state['values']['email']; $from = $form_state['values']['from_email']; $mail = drupal_mail('test', $key, $to, language_default(), $params, $from); // for better understanding,you can uncomment the following // dpm($mail); } /** * Implements hook_mail() * @param * type $key to decide which email body to sent on basis of key parameter inacese of multiple email content * @param * type $message the email content to be sent.Message array contains 'subject and body ' for the email. * @param * type $params using to get the cusotm email content from a function.This can be used in my other ways aslo as per need. */ function test_mail($key, &$message, $params) { $language = $message['language']; switch ($key) { //switching on $key lets you create variations of the email based on the $key parameter case 'test_email': $message['subject'] = t('Test Email'); //the email body is here, inside the $message array $message['body'][] = $params['body']; break; } } /** * function to get the html formatted email content * @param * type $form_state to get values from form fields. * @return * $body type string return the html email content */ function get_mail_content($form_state) { $email_to = $form_state['values']['email']; $pos = strpos($email_to, '@'); $user_name = substr($email_to, 0, $pos); $body = ''; $body .= 'Hi ' . $user_name . '<br>'; $body .= 'Please find my test email. <br>'; $body .= $form_state['values']['email_body'] . '<br>'; $body .= 'Thanks<br>'; $body .= 'TestTeam'; return $body; }
The post [Drupal] Envoyer un mail avec drupal_mail appeared first on Benftwc.
PrestaShop est le leader des solutions e-commerce en France pour les petits et moyens sites marchands. Découvrez comment réussir le référencement naturel d’une boutique réalisée avec PrestaShop.
Si vous souhaitez créer votre propre thème Drupal, il sera plus aisé de partir du thème Zen plutôt qu’un autre thème, pourquoi? Il permet d’avoir une base saine et documentée sur laquelle on peut appliquer nos développements spécifiques. La version 5.x apporte de nombreuses nouveautés par rapport à la version 3.x car le thème supporte maintenant l’HTML 5, le responsive avec support mobile ainsi que SASS/Compas comme moteur CSS. Rien que çà!
Si vous souhaitez créer votre propre thème Drupal, il sera plus aisé de partir du thème Zen plutôt qu’un autre thème, pourquoi? Il permet d’avoir une base saine et documentée sur laquelle on peut appliquer nos développements spécifiques. La version 5.x apporte de nombreuses nouveautés par rapport à la version 3.x car le thème supporte maintenant l’HTML 5, le responsive avec support mobile ainsi que SASS/Compas comme moteur CSS. Rien que çà!
Le référencement naturel visant des objectifs de résultats peut être source de stress pour le référenceur (ou webmaster), voici quelques conseils pour ne pas se laisser surpasser.