Intégrer de la publicité automatiquement dans un texte

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par finstreet, 15 Décembre 2008.

  1. finstreet
    finstreet WRInaute accro
    Inscrit:
    10 Juillet 2005
    Messages:
    13 357
    J'aime reçus:
    2
    Bonjour à toutes et à tous,

    Un petit post pour expliquer de façon un peu technique une optimisation qui peut rapporter :) Comme tout le monde le sait, il est plus intéressant de placer de la publicité au sein même du contenu, qu'au bas de ce même contenu. Mais pour certains contenus, cette tache peut s'avérer ardue si elle est faite manuellement, notamment pour les contenus mis en base et pour les contenus nombreux. Modifier 30 textes oui... modifier 2000 textes... euh non.
    Alors il s'agit d'une solution mais en aucun cas de la meilleure solution, suis pas assez bon pour ca.

    Prenons un exemple simple :
    -http://www.edubourse.com/finance/actualites.php?actu=48033

    La publicité en 250x250 est bien placée au milieu du texte, et non en bas. Ai-je pour autant ajouter la publicité à la main et ce pour des milliers de pages ? bien sur que non. Il m'a suffit de découper mon contenu de façon automatique.

    La méthode que je donne n'est surement pas la meilleure (suis loin d'être doué en programmation) mais elle a le mérite de fonctionner.

    >>> Etape : 1 : déterminez une longueur minimale de votre texte

    Pour bien s'intégrer votre publicité doit se trouver au sein d'un texte relativement long. Autant le placer totalement en bas à coté des commentaires si le texte est trop petit pour l'accueillir correctement, comme ici :
    -http://www.edubourse.com/finance/actualites.php?actu=46602

    Pour ma part, j'ai choisi de me fixer un contenu d'un minimum de 3.000 caractères. Si le texte dépasse les 3.000 caractères, j'intègre de la publicité au sein du texte et donc je passe à l'étape 2.

    >>> Etape 2 : Découpez votre contenu

    Le contenu doit se scinder en plusieurs parties distinctes que vous devrez ensuite concaténer (ou raccrocher) pour que l'utilisateur ne s'apercoive de rien. Dans mon cas, j'ai choisi de placer la publicité aux alentours du 2.500ème caractère. Pour se faire, j'ai découpé mon texte de la position 0 à la position 2.500 via un simple "substr".

    Vous obtenez donc la première partie de votre texte, ou Contenu_1. Le code donne quelque chose comme ==> $Contenu_1 = substr($contenu, 0, 2500);

    La deuxième partie est plus complexe à appréhender. Il s'agit d'une portion de texte situé entre la fin du contenu_1, et la fin du Contenu_2 représenté par un texte, une intervalle ou autre. J'ai choisi le premier saut de ligne détectée.

    Pour se faire, un simple explode et je récupère uniquement la première partie du tableau. Une sorte de Contenu_2[0].

    Le code :
    $Contenu_2 = substr($contenu, 2500); <-- tout le contenu à partir du 2.500ème caractère
    $Contenu_2 = explode ("<br/>", $Contenu_2); <-- Récupération du texte avant le premier saut de ligne
    $Contenu_2[0] <-- le texte avant le premier saut de ligne

    La récupération de la troisième et dernière partie est un jeu d'enfant. Il suffit de calculer la longueur du Contenu_2 ( $longueur_Contenu_2 = strlen($Contenu_2[0]); ), d'y ajouter la longueur du Contenu_1 (ici 2.500), et de rajouter les quelques caractères correspondants à un simple saut de ligne.

    $laPosition = 2500 + $longueur_Contenu_2 + 1, 2, 3, etc.

    Le Contenu_3 pourra alors être trouvé via un substr débutant à la position ainsi calculée.
    $Contenu_3 = substr($contenu, $laPosition);

    >>> Etape 3 : Concaténer les contenus

    Une fois les contenus découpés, il suffit de les regrouper de façon classique par concaténation, et de ne pas oublier d'y intégrer de la publicité. Cela nous donne donc :

    Contenu_Finale = "Contenu_1Contenu_2[0]<br/>Votre_PubliciteContenu_3"

    Le nouveau contenu s'affiche donc avec la publicité où vous le
    souhaitiez pour le plus grand plaisir de votre taux de clics :)

    >>> Etape 4 : Peaufinez

    Vous pouvez peaufiner en rajoutant des variables permettant notamment d'afficher une pub en bas de page si la longueur du contenu initial n'est pas suffisant, changer l'emplacement de la publicité (à droite ou à gauche), modifier l'emplacement en fonction de la longueur du contenu, etc.

    Je ne sais pas si j'ai été clair, mais si vous avez des questions...

    Bye bye
     
  2. LiFi
    LiFi WRInaute occasionnel
    Inscrit:
    14 Juillet 2008
    Messages:
    389
    J'aime reçus:
    0
    Salut, c'est bien en effet d'intégrer la publicité dans l'article.

    Une autre façon pour le même résultat est d'utiliser la fonction strpos qui permet de trouver la position d'une chaine de caracteres dans une chaine de caracteres, en commencant à partir du 2500ème caractere.
    Donc en cherchant un retour a la ligne dans le contenu à partir du 2500eme caractere, il est ensuite facile de faire comme tu fais, directement.

    Code:
    // trouve la position du premier br apres le 2500eme caractere
    $PositionBR = stripos($Contenu, "<br/>", 2500);
    // met la premiere partie de contenu dans contenu_1 et la deuxieme partie dans contenu_2
    $Contenu_1 = substr($Contenu, 0, $PositionBR-1);
    $Contenu_2 = substr($Contenu, $PositionBR);
    // le code html de la publicité a insérer dans le contenu
    $Publicite = '<div style="float: left">CODE ADSENSE</div>';
    // le contenu final est contenu_1 + contenu_2 dans lequel on remplace le br par la publicité
    $Contenu_Final = $Contenu_1 . str_ireplace("<br/>", $Publicite, $Contenu_2, 1);
    
    str_ireplace a 1 comme 4eme argument pour dire qu'il ne remplace que le premier br rencontré.

    on est pas obligé de remplacer le br par la publicité, on pourrait simplement inserer la publicité comme tu le fais apres le br, mais il est moins difficile de remplacer directement meme si on doit recreer un saut de ligne dans le code de la pub, mais generalement la pub elle meme cree un saut de ligne, ne serait-ce que par un div qui l'entoure, ca permet de ne pas creer un saut de ligne supplémentaire inutilement.
     
  3. finstreet
    finstreet WRInaute accro
    Inscrit:
    10 Juillet 2005
    Messages:
    13 357
    J'aime reçus:
    2
    oui c pas faux :)
     
  4. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    En fait, même pas besoin de str_ireplace, il suffit de faire
    $Contenu_2 = substr($Contenu, $PositionBR+5);
    le +5 pour commencer après le <br />
    et ensuite faire afficher $Contenu_1.$lapub.$Contenu_2
     
  5. LiFi
    LiFi WRInaute occasionnel
    Inscrit:
    14 Juillet 2008
    Messages:
    389
    J'aime reçus:
    0
    C'est vrai Leonick, le str_ireplace est inutile il suffit de sauter directement le < br /> au moment de creer contenu_2.

    il y a aussi la fonction substr_replace qui permettrait d'aller insérer directement le code de la publicité dans $contenu, en mettant 5 comme dernier paramètre pour virer le br, si on est sur que < br / > fait bien 5 caracteres, comme ça :
    Code:
    // trouve la position du premier br apres le 2500eme caractere
    $PositionBR = stripos($Contenu, "<br/>", 2500);
    // le code html de la publicité a insérer dans le contenu
    $Publicite = '<div style="float: left">CODE ADSENSE</div>';
    // remplace le premier < br /> apres le 2500eme caractere dans $Contenu par le code de la publicite 
    $Contenu_Final = substr_replace($Contenu, $Publicite, $PositionBR, 5);
    
    La c'est rapide :)
     
  6. Axiso
    Axiso WRInaute passionné
    Inscrit:
    8 Avril 2004
    Messages:
    1 203
    J'aime reçus:
    0
    Pour insérer de la publicité j'ai toujours pensé que le jour où j'en aurai besoin je tenterai un simple positionnement CSS.
    Genre :
    <div id="texte">
    ... Mon article sans aucune coupure ...
    </div>
    <div id="pub">
    Code publicité
    </div>

    Et ensuite on joue à placer le #pub en float, le texte s'adaptant alors automatiquement au bloc.

    Qu'en pensez-vous ? L'intérêt serait de ne pas avoir de traitement sur le texte et que celui-ci soit parfaitement lisible par tous les navigateurs et robots.
     
  7. LiFi
    LiFi WRInaute occasionnel
    Inscrit:
    14 Juillet 2008
    Messages:
    389
    J'aime reçus:
    0
    Axiso ton histoire fonctionnerait si tu places :

    <div id="pub">
    Code publicité
    </div>
    <div id="texte">
    ... Mon article sans aucune coupure ...
    </div>

    en effet il faut que le div en float soit avant le texte, je ne sais meme plus si il faut pas plutot etre a l'interieur du div texte comme ca :

    <div id="texte">
    <div id="pub">
    Code publicité
    </div>
    ... Mon article sans aucune coupure ...
    </div>

    en tous les cas, l'objectif de cette discussion est d'insérer la pub a l'interieur du texte, non pas au debut ou a la fin comme c'est le cas dans ton commentaire, meme avec un float ca reste au debut de l'article.

    Alors précision quand même je suis ZERO en CSS, donc si il y a une façon de placer un DIV en float où on veut en jouant sur les margins ou paddings et que le texte s'adapte autour, ben c'est une nouveauté pour moi car j'avais cherché et je n'avais trouvé finalement qu'une astuce consistant à placer un deuxieme DIV float avant le DIV float de la pub, pour faire descendre de X pixels la pub dans le texte.
     
  8. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    oui, il faudrait, dans ce csa, un positionnement en absolute. En n'oubliant pas de mettre un positionnement sur le containeur parent
     
  9. Kounte
    Kounte WRInaute impliqué
    Inscrit:
    16 Septembre 2003
    Messages:
    626
    J'aime reçus:
    0
    merci pour cette info, c'est vraiment une bonne idée, que j'avais vu sur certains sites, sans penser faire de même, car cela doit être mieux pour la rentabilisation !
     
  10. tonguide
    tonguide WRInaute passionné
    Inscrit:
    28 Novembre 2003
    Messages:
    1 158
    J'aime reçus:
    0
    Si tu fais comme ça, le problème c'est que ta pub sera au dessus du texte. Le texte restera lui à sa place (comme si il n'y avait pas de pub).

    J'avais déjà essayé de fouiller un peu de ce côté là également, mais j'ai jamais trouvé de solution.
     
Chargement...
Similar Threads - Intégrer publicité automatiquement Forum Date
Intégrer un live chat sur un site ecommerce Demandes d'avis et de conseils sur vos sites 14 Avril 2022
Astuce Quels sont les pratiques optimales pour intégrer Adsense ou autre Monétisation d'un site web 13 Septembre 2021
Intégrer un site en sous domaine d'un gros site Demandes d'avis et de conseils sur vos sites 1 Février 2021
Intégrer un live sur site web Facebook 10 Septembre 2020
intégrer avis clients pages jaunes via code source Développement d'un site Web ou d'une appli mobile 5 Juin 2020
E-commerce: Créer un collection sans l'intégrer sur la page d'accueil Débuter en référencement 3 Avril 2020
les micro-données : intégrer des anciens avis dans son site en micro-données Référencement Google 30 Décembre 2018
Intégrer des produits prestashop sur une landing page e-commerce 6 Novembre 2018
Comment intégrer un flux XML affiliation sur mon site WordPress ? Monétisation d'un site web 3 Octobre 2018
Intégrer dans un blog un e-commerce e-commerce 2 Juin 2017
Faut-il intégrer ses vidéos Youtube à son site web ? Référencement Google 28 Décembre 2016
Intégrer le contenu Flipboard à mon site Développement d'un site Web ou d'une appli mobile 7 Juillet 2016
Quelles pages a ne pas intégrer sur son sitemap Crawl et indexation Google, sitemaps 1 Juin 2016
Intégrer api la poste colissimo Développement d'un site Web ou d'une appli mobile 18 Mai 2016
Intégrer une boutique à son site, est-ce vraiment une bonne idée ? Débuter en référencement 16 Avril 2016
Intégrer un chat "support" sur son site ? e-commerce 24 Mars 2016
Comment intégrer un filtre sur des filtres référents? Google Analytics 2 Juin 2015
intégrer un flux XML e-commerce 26 Avril 2015
Intégrer un blog dans un site avantage ? Débuter en référencement 8 Mars 2015
Prestataires d'avis à intégrer dans annonces adwords AdWords 5 Mars 2015