Il y a des appels qui laissent deviner la gravité dès la première phrase. « À la première visite, mon site web part sur d’autres pages… mais je n’ai rien touché ». C’est souvent vrai. Le problème, ce n’est pas “rien”, c’est “quelqu’un”. Un pirate qui n’aurait jamais dû entrer, mais qui s’est installé, confortablement, au cœur du site. Par exemple, un simple vecteur venu d’Internet suffit parfois à transformer un site en victime d’un piratage.

On ouvre le navigateur, on recharge, et la page d’accueil s’enfuit vers un domaine inconnu. Pas un bug. Pas une erreur de configuration. Une infection. Et ce genre d’infection ne se contente pas d’exister : elle se cache. La conséquence immédiate peut aller de la redirection silencieuse à la défiguration de pages, avec une fuite d’informations sensibles d’un compte personnel ou de l’entreprise qui exploite le site.

Premier constat : un site qui semble sain… en surface

Dans le tableau de bord WordPress, tout paraît normal. Pas de plugin inconnu, pas d’erreur, pas d’alerte. Mais côté visiteur, un petit script s’exécute, discret, invisible pour l’administrateur. Il va chercher du code sur un domaine externe, puis l’exécute avec un eval(). Autrement dit : un loader JavaScript distant caché dans les entrailles du site. Ce type d’attaque exploite souvent un logiciel tiers ou un service exposé.

Le code ne se trouve ni dans le thème, ni dans les modèles. Alors on descend d’un cran, vers wp-content/plugins/. Trois dossiers aux noms aléatoires, tous ajoutés le même jour, attirent immédiatement l’attention.

  • Fichiers PHP obfusqués : code volontairement illisible
  • Faux répertoires vendor censés imiter des dépendances légitimes
  • Filtres WordPress utilisés pour masquer le plugin dans la liste des extensions

Autrement dit : trois parasites installés, actifs, invisibles.

Trois plugins, une même recette

Le premier se faisait passer pour un plugin de traduction. En réalité, il contenait un code hexadécimal qui récupérait un script depuis un domaine inconnu et l’exécutait côté public. Il s’assurait même de ne pas s’exécuter dans wp-admin pour rester discret. Élégant, mais malveillant.

Le deuxième n’affichait rien, pas même un menu. Et pour cause : son seul rôle était de créer une porte dérobée. Une URL spéciale avec deux paramètres, et l’attaquant se connectait directement en administrateur : sans mot de passe, sans authentification. C’est le genre de code qui ne laisse aucune trace dans les logs, mais qui ouvre grand la porte d’entrée.

Le troisième plugin ? Un clone. Même structure, mêmes intentions, mais variables et fichiers renommés. Un copier-coller automatisé, conçu pour tromper les scanners de sécurité.

Notre diagnostic : méthode et précision

Face à ce genre de situation, il faut faire preuve de méthode. Pas de panique, pas de suppression sauvage. Chaque infection a une signature, et il faut la lire avant de la supprimer.

  • Observation front-end : traquer les scripts et redirections via la console du navigateur.
  • Analyse du code : recherche ciblée de fonctions comme fetch(, eval(, ou add_filter('all_plugins' dans les fichiers PHP.
  • Audit SQL : inspection des tables wp_options, wp_posts et wp_postmeta à la recherche d’injections dans le contenu.
  • Contrôle des comptes : suppression des administrateurs ajoutés en douce.
  • Vérification du .htaccess et des mu-plugins : les malwares adorent s’y cacher.
  • Scan serveur complet : grâce aux outils d’analyse intégrés à l’hébergement o2switch.

L’arme du jour : ImunifyAV+ et TigerGuard

Le gros avantage de cet hébergement, c’est sa couche de sécurité native. On a lancé un scan complet avec ImunifyAV+, l’antivirus intégré à cPanel. Il passe au peigne fin l’ensemble des fichiers, y compris les caches et sauvegardes. Si un fichier est jugé dangereux, il est supprimé. S’il est réparable, il est corrigé. Chaque fichier modifié est gardé en quarantaine sept jours. Il n’y a donc pas risque de faux pas irréversible.

Quand le scan s’est terminé, un autre bouclier a pris le relais : TigerGuard. Ce système, développé par o2switch, surveille en continu chaque exécution PHP. Si un script tente d’écrire dans un dossier sensible, d’inclure du code externe ou de se comporter bizarrement, il est stoppé immédiatement. C’est du temps réel, assisté par IA, sans attente ni d’alerte différée. En tandem avec TigerProtect, qui filtre les requêtes HTTP avant qu’elles atteignent le serveur, cela forme une barrière à deux niveaux : TigerProtect bloque avant, TigerGuard bloque pendant.

La désinfection et le renforcement

Une fois les analyses terminées, on a sorti les gants. Les trois extensions ont été supprimées, leurs traces effacées dans la base. Les clés de sécurité WordPress ont été régénérées, les mots de passe changés, les sessions invalidées. On a contrôlé les droits d’accès sur le serveur, bloqué l’exécution PHP dans les dossiers sensibles, et installé un pare-feu applicatif pour filtrer les requêtes malveillantes.

Un audit complet du thème et du .htaccess a suivi, accompagné d’un passage sur les performances et la base de données. Le site est revenu à une vitesse normale, propre, et surtout stable. Et, bonne nouvelle, aucune trace dans les listes noires de Google. L’incident a été stoppé avant qu’il ne ternisse la réputation du domaine.

La maintenance continue : l’après-incident

Une désinfection n’est qu’une étape. Le vrai travail commence après. Le site a été intégré à notre programme de maintenance WordPress. Concrètement, cela inclut :

  • Mises à jour régulières du cœur, du thème et des extensions
  • Sauvegardes automatiques et externalisées dans un datacenter européen
  • Vérifications de sécurité plusieurs fois par mois
  • Surveillance active des performances et du référencement
  • Alertes en cas de comportement suspect

En d’autres termes, le site reste sous surveillance humaine et logicielle. Ce n’est pas un patch, c’est une stratégie de prévention. La maintenance, c’est ce qui sépare un site en paix d’un site en guerre perpétuelle.

Pourquoi ces infections se répètent

La majorité des attaques ne ciblent pas un site en particulier. Ce sont des robots qui scannent des milliers d’adresses chaque jour, cherchent une faille, et déposent leur petit plugin vérolé. Ces extensions ont des noms anodins, changent de signature à chaque génération, et s’installent sur des WordPress vulnérables ou mal entretenus. Pas de hasard. Juste des sites oubliés de leurs propriétaires.

La solution, c’est une combinaison simple :

  • Mettre à jour son site régulièrement
  • Ne jamais installer un plugin piraté ou inconnu
  • Activer la double authentification
  • Surveiller les logs d’accès et les fichiers
  • Choisir un hébergement qui fait plus que “héberger”

Un hébergement qui protège vraiment

Dans ce cas précis, la combinaison ImunifyAV+ et TigerGuard a été déterminante. L’un a nettoyé les fichiers infectés, l’autre a bloqué les tentatives d’exécution. Et, derrière, notre équipe d’experts a fait le reste. Travailler sur un site hébergé dans cet environnement, c’est un peu comme réparer une voiture pendant que le pompier maintient le tuyau d’eau sur le moteur. Le feu n’a pas le temps de reprendre.

Grâce à la synergie entre l’hébergement o2switch et la maintenance TYTAE, on a aujourd’hui :

  • Un site propre
  • Un serveur intelligent
  • Une surveillance continue, humaine et automatisée

Le bilan TYTAE

Le site fonctionne à nouveau comme il aurait toujours dû : rapide, sécurisé, conforme RGPD, sans pop-up douteux ni redirection surprise. L’épisode est clos. Et surtout, il ne se reproduira pas. C’est ce qu’on appelle un retour à la normale, avec un soupçon de sérénité en plus.

Si votre site redirige vers des pages inconnues ou affiche une page blanche, ne paniquez pas. Nous intervenons rapidement pour diagnostiquer, désinfecter et sécuriser.

Et pour que cela ne se reproduise plus, optez pour une vraie maintenance préventive de votre site WordPress.

Notre service de maintenance protège votre entreprise en continu, car sur le web, chaque nouvelle attaque rappelle qu’une fuite d’informations peut avoir des conséquences durables. Un site piraté, c’est comme une voiture retrouvée sans les roues. On peut la réparer. Mais la prochaine fois, on met une alarme, un verrou, et on ferme le garage.

Secret Link

Certains projets WordPress, c’est un peu comme tomber sur une cassette VHS dans un monde de streaming 4K.

On sait qu’on va avoir du boulot, mais on ne peut pas s’empêcher d’être curieux.

Quand notre équipe TYTAE a ouvert la boîte, on a découvert un site propulsé par WordPress 4.27.9, tournant encore sous PHP 5.6, un WooCommerce version 3 qui refusait obstinément de fonctionner et avec un thème DIVI modifié directement dans le cœur du code, sans thème enfant, sans documentation, et avec des fonctions obsolètes par dizaines.

Résultat ? Des erreurs partout, un site figé, et un environnement serveur plus proche du musée que du cloud.

Si vous êtes vous aussi confronté à un site WordPress cassé ou piraté, sachez qu’il est souvent possible de le réparer sans tout reconstruire, et donc éviter la refonte.

Étape 1 – Diagnostic du site : dette technique XXL

Avant de sortir la trousse à outils, on a fait un audit complet :

Bref, une bombe à retardement numérique, mais pas question de repartir de zéro. Le client tenait à son site actuel, et surtout, son budget n’était pas taillé pour une refonte complète.

Mais chez TYTAE, on aime ce genre de défis : sauver l’existant sans tout réécrire, et faire repartir un site pour plusieurs années de tranquillité.

Cet audit nous a permis d’établir les objectifs prioritaires pour ce site Internet : performance, sécurité, conformité RGPD, SEO… Chaque point d’intervention a été défini selon les besoins réels du client et les contraintes techniques de son entreprise.

Étape 2 – Mise à niveau technique sans tout casser

Pas de refonte totale, donc. Juste une opération à cœur ouvert.
On a mis en place un environnement de test isolé pour tout moderniser pas à pas.

Le plan d’action :

  1. Migration du serveur vers une version PHP 8.3 stable.
  2. Sauvegardes intégrales (fichiers + base de données).
  3. Mise à jour progressive de WordPress, en corrigeant les incompatibilités.
  4. Adaptation du thème DIVI : nettoyage du code, suppression des fonctions obsolètes, réécriture de celles cassées par PHP 8.
  5. Mise à jour complète des plugins, en vérifiant chaque dépendance.
  6. Restauration de WooCommerce :

Tous les produits s’affichent et peuvent à nouveau être achetés, sans casser le design ni les contenus existants. C’est toujours l’ancien site, mais désormais opérationnel, sécurisé et compatible avec les versions modernes de WordPress.

Ce genre d’intervention entre pleinement dans notre stratégie de maintenance WordPress : garder un site fiable, sécurisé et à jour, sans refonte inutile.

Étape 3 – Sécurité maximale du site : du plugin au serveur

Une fois la base stabilisée, on s’est attaqué à la sécurité.
Et vu l’état initial, il y avait de quoi faire.

SecuPress PRO à la rescousse

On a installé SecuPress PRO, l’un des meilleurs plugins de sécurité WordPress (et français, cocorico 🐓), pour :

Côté serveur : blindage complet

Le site est désormais verrouillé à tous les niveaux, et conforme aux standards de durcissement serveur. Cette étape est importante pour maintenir un taux de disponibilité élevé et protéger la réputation (ou l’expertise) du site aux yeux de Google.

Étape 4 — RGPD et conformité

Tant qu’à remettre de l’ordre, on a aussi rendu le site conforme au RGPD.

Intégration de Tarteaucitron.js, rédaction complète des mentions légales, politique de confidentialité, et mise en conformité des formulaires (double opt-in, consentement explicite, suppression des trackers non essentiels).

Tout est désormais clair, transparent et respectueux de la vie privée. Parce que la sécurité, c’est aussi celle des visiteurs. Un point souvent négligé mais important pour la conversion et la confiance des utilisateurs.

Étape 5 — Performance et optimisation

Ensuite, place à la performance :

Résultat : un site qui charge plus vite, consomme moins de ressources, et offre une expérience fluide aussi bien sur mobile que sur desktop.

Grâce à ces optimisations, le taux de conversion a augmenté et le référencement naturel après une recherche s’est améliorée grâce à une meilleure note SEO par Google.

Restaurer plutôt que reconstruire

Avant : Un WordPress d’époque, en version 4.x, avec des plugins obsolètes, un thème fragile et un WooCommerce HS.

Après : Un site modernisé, sécurisé, conforme RGPD, rapide et fonctionnel, prêt à durer plusieurs années sans refonte complète.

Ce projet illustre parfaitement notre approche chez TYTAE : faire durer l’existant, intelligemment.

Parce qu’un site, ce n’est pas forcément à jeter dès qu’il vieillit.

Parfois, il suffit de le réparer avec méthode, patience et un peu d’amour du code. ❤️

Et si vous souhaitez aller plus loin, découvrez comment nous pouvons vous accompagner pour développer des fonctionnalités WordPress sur mesure, ou souscrire à un plan de maintenance WordPress complète.

Besoin d’aide pour éviter la refonte de votre site et prolonger sa durée de vie ? L’agence TYTAE met en place une stratégie personnalisée pour optimiser vos performances, améliorer votre visibilité sur Google et maximiser votre taux de conversion, tout en vous faisant gagner un temps précieux.

Lorsqu’un internaute valide un formulaire sur votre site WordPress, il est souvent préférable de l’orienter vers une page de remerciement (Thank You Page).


Celle-ci permet :

Si vous utilisez Contact Form 7, la méthode on_sent_ok est obsolète depuis 2017. La bonne pratique actuelle consiste à utiliser les Custom DOM Events, et notamment l’événement wpcf7mailsent. Cette approche fonctionne parfaitement quelle que soit la version ou l’extension utilisée pour compléter Contact Form 7 (par exemple Akismet pour filtrer le spam ou un module de sécurité additionnel).

Redirection après envoi d’un formulaire Contact Form 7

Ajoutez le code ci-dessous dans votre fichier functions.php (ou mieux, dans un fichier JS enquéué via votre thème ou un plugin personnalisé).

// Ajout du script de redirection Contact Form 7
add_action('wp_footer', function(){ ?>
<script>
document.addEventListener('wpcf7mailsent', function(event) {
  // Exemple 1 : redirection globale pour tous les formulaires
  window.location.href = '/merci/';
  
  // Exemple 2 : redirection spécifique à un formulaire (ID = 123)
  // if (event.detail.contactFormId == '123') {
  //   window.location.href = '/merci-formulaire-123/';
  // }
}, false );
</script>
<?php });

Astuce : vous pouvez récupérer l’ID d’un formulaire Contact Form 7 directement depuis son shortcode [contact-form-7 id="123" title="Nom du formulaire"].

Le nom du formulaire, ses champs et son paramètre d’identification permettent d’adapter la redirection selon vos besoins précis.

Alternatives à la redirection

La redirection vers une page de remerciement est efficace, mais il existe d’autres options :

Exemple : suivi des conversions Google Ads / GA4

Pour un suivi marketing, vous pouvez insérer un code de tracking dans la page de remerciement.

Par exemple :

<!-- Exemple Google Ads conversion -->
<script>
gtag('event', 'conversion', {'send_to': 'AW-XXXXXXX/XXXXXXXX'});
</script>

Cela vous permet d’attribuer chaque soumission de formulaire à une campagne publicitaire ou un canal d’acquisition.

La mise en place d’une page de remerciement avec Contact Form 7 est simple et apporte de nombreux avantages : meilleure expérience utilisateur, suivi des conversions, et possibilité de proposer du contenu bonus.

➡️ Avec le snippet ci-dessus, vous êtes certain d’utiliser la méthode officielle et pérenne (wpcf7mailsent) pour rediriger vos visiteurs après envoi d’un formulaire.

Chaque module, chaque champ, chaque paramètre peut être ajusté selon votre stratégie web pour un objectif marketing clair et mesurable.

Besoin d’aide pour configurer, sécuriser ou optimiser vos formulaires sur WordPress ? L’équipe de l’agence TYTAE vous accompagne dans la mise en place technique, le tracking et l’optimisation complète de vos conversions.

Ressources utiles

Vous connaissez ces sites Internet magnifiques qui vous font patienter une éternité avant de s’afficher ? C’était exactement le cas ici. Un design soigné, mais un score PageSpeed Insights de 45 sur mobile qui faisait mal aux yeux. Le défi était clair : dépasser les 80 points sans toucher à l’esthétique ni aux conversions, tout en offrant une meilleure expérience utilisateur et une vitesse d’affichage optimale.

Voici l’histoire de cette transformation web, étape par étape, menée par TYTAE.

Améliorer efficacement son PageSpeed Insights : étapes

D’abord, accélérer l’affichage : maîtriser le CSS

Notre priorité était simple : faire apparaître quelque chose à l’écran le plus rapidement possible. Nous avons donc commencé par analyser les feuilles de style avec un outil adapté et extraire uniquement ce qui était nécessaire pour afficher la partie visible de la page.

Concrètement, nous avons créé un CSS critique ultra-léger contenant juste les styles pour le header et le hero. Le reste des styles se charge en arrière-plan, sans bloquer l’affichage. Résultat : l’utilisateur voit immédiatement l’interface prendre forme, puis les détails visuels se peaufinent discrètement.

Les images d’arrière-plan CSS posaient un problème particulier. Contrairement aux balises <img>, elles ne peuvent pas être chargées de manière paresseuse nativement. Nous avons donc développé deux stratégies : convertir certaines en vraies images quand c’était possible, ou utiliser un loading= »lazy » qui déclenche le chargement uniquement quand l’élément devient visible.

Nous avons également défini des dimensions fixes pour tous les éléments visuels. Fini les pages qui « sautent » pendant le chargement !

JavaScript : invité de la deuxième partie

Pour Google, le contenu doit toujours passer en premier. Nous avons donc revu entièrement la stratégie de chargement JavaScript : minification, suppression du code inutilisé, et surtout, report de tout ce qui n’est pas critique avec l’attribut defer.

Les fonctionnalités spécifiques comme les carrousels ou les galeries ne se chargent désormais que sur les pages qui en ont besoin. Quant aux scripts de tracking marketing, ils attendent sagement qu’un utilisateur interagisse avec la page avant de s’activer.

Optimisation d’images : léger mais pas light

Nous avons systématisé la conversion en WebP et AVIF pour les navigateurs compatibles, tout en gardant des fallbacks. Les attributs srcset et sizes ont été finement ajustés : pourquoi livrer une image de 2000px à un écran de smartphone ?

L’image LCP (la plus importante pour PageSpeed Insights) a reçu un traitement VIP : fetchpriority= »high » et dimensions verrouillées. Pour les icônes, nous avons opté pour du SVG inline ou en sprite : netteté parfaite et zéro requête réseau supplémentaire.

Typographie : local et swap

Les Google Fonts ont été rapatriées localement pour éviter les requêtes vers des serveurs tiers. Nous avons préchargé uniquement les variantes indispensables en WOFF2 et activé font-display: swap.

Concrètement, cela signifie que le texte apparaît immédiatement avec une police de secours, puis bascule proprement vers la police finale dès qu’elle est disponible. L’œil ne voit aucune coupure, les métriques restent stables.

Elementor optimisé

Le site utilisait Elementor, un constructeur puissant mais qui peut rapidement alourdir le HTML. Nous avons migré vers les Containers Flexbox d’Elementor, nettoyé le balisage sémantique et optimisé la structure.

Nous avons aussi activé le préchargement des liens au survol : quand un visiteur pointe sa souris sur un lien, la page suivante commence déjà à se charger. L’impression de navigation instantanée est saisissante.

L’infrastructure invisible : BDD et cache

Les performances frontend reposent aussi sur des fondations solides. Nous avons commencé par un grand ménage dans la base de données : révisions inutiles, transients expirés, et surtout un audit approfondi de la table wp_options pour réduire l’autoload.

L’ajout d’un cache Redis a été décisif. WordPress n’interroge plus constamment MySQL pour les mêmes données et puise directement en mémoire. Le temps de première réponse du serveur (TTFB) s’est immédiatement amélioré.

Faire le tri dans le thème

Nous avons désenregistré toutes les ressources inutilisées : librairies dormantes, polices d’icônes non utilisées, CSS hérités sans intérêt. L’objectif était simple : moins de fichiers à télécharger, moins de temps d’attente, même résultat visuel.

À chaque modification, notre équipe vérifiait scrupuleusement l’affichage sur desktop et mobile. Menus, carrousels, formulaires, animations : tout devait fonctionner parfaitement. Un site rapide mais cassé n’est pas une victoire.

Les résultats en chiffres

Concrètement, l’utilisateur ressent la différence : la page se dessine instantanément, les transitions sont fluides, et tout répond au doigt et à l’œil. Chaque mesure confirme cette progression : un site plus rapide, plus fluide, et mieux noté par l’outil de Google. 

La méthode plutôt que la magie

Cette transformation ne résulte pas d’une solution miracle, mais d’une approche méthodique : auditer, prioriser, optimiser, vérifier. Chaque détail compte, de l’hébergement des polices au cache objet, en passant par la structure du DOM et la stratégie de chargement des scripts.

C’est la somme de ces optimisations – et leur exécution rigoureuse dans un contexte réel – qui fait toute la différence. 

Besoin de faire évoluer le PageSpeed Insights de votre site ? Contactez TYTAE !

Notre Audit + Sprint Performance vous propose : diagnostic complet, roadmap claire, exécution accompagnée et rapport avant/après détaillé. Gardez votre design, perdez la lenteur.

Profitez de nos recommandations techniques, de l’avis d’experts et d’une stratégie basée sur la recherche des meilleures pratiques web. Gardez votre design, perdez la lenteur.

Les créateurs de contenu savent combien il est crucial de diffuser leurs podcasts, ou émissions audios, sur des plateformes comme Spotify, Apple Podcasts et Google Podcasts. Mais la gestion des flux RSS peut sembler complexe si vous ne disposez pas des outils adaptés. Chez TYTAE, notre expertise WordPress nous permet de transformer ces défis en solutions simples et efficaces, quel que soit le format ou la plateforme, qu’il s’agisse d’un podcast vidéo, d’un fichier audio ou même d’un contenu publié sur YouTube.

Pourquoi un flux RSS est-il vital pour les Podcasteurs ?

Un flux RSS bien conçu est la clé pour distribuer vos épisodes sans effort :

Les balises iTunes indispensables pour spotify

Pour garantir une intégration parfaite sur Spotify, votre flux RSS doit inclure ces balises essentielles :

<itunes:owner>
    <itunes:name>Nom du Podcasteur</itunes:name>
    <itunes:email>email@example.com</itunes:email>
</itunes:owner>
<itunes:explicit>no</itunes:explicit>
<itunes:image href="URL_de_l’image" />
<itunes:category text="Catégorie principale" />
<itunes:author>Nom ou Organisation</itunes:author>

Ces balises permettent à Spotify et aux autres plateformes de traiter vos fichiersaudio correctement et de les présenter à votre public cible avec le bon titre, le bon lien et les métadonnées associées.

Flux RSS personnalisé : une solution complète développée par TYTAE

Un de nos clients avait un besoin précis : générer automatiquement un flux RSS pour chaque podcast publié sur leur site. Plutôt que d’utiliser un plugin existant peu adapté ou trop coûteux, nous avons développé un code personnalisé spécialement conçu pour répondre à ce besoin. Voici une explication étape par étape de la solution :

1. Création d’une URL unique pour chaque Podcast

Pour rendre chaque podcast accessible sous forme de flux RSS unique, nous ajoutons une règle de réécriture :

public function add_rewrite_rules() {
    add_rewrite_rule(
        '^podcast/([^/]+)/feed/?$',
        'index.php?post_type=podcasts&name=$matches[1]&feed=podcast_feed',
        'top'
    );
}

Chaque fichier RSS est ensuite généré dynamiquement pour que l’auditeur puisse y accéder depuis la plateforme de son choix.

2. Ajout des balises iTunes dans le modèle RSS

Les balises iTunes sont essentielles pour la compatibilité avec Spotify. Voici un exemple de modèle :

<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
    <channel>
        <title><?php echo esc_html($podcast[0]->post_title); ?></title>
        <link><?php echo esc_url(get_permalink($podcast[0]->ID)); ?></link>
        <description>Les derniers épisodes de nos podcasts.</description>
        <itunes:image href="<?php echo esc_url($podcast_image_url); ?>" />
        <itunes:owner>
            <itunes:name>Organisation</itunes:name>
            <itunes:email>email@example.com</itunes:email>
        </itunes:owner>
        <itunes:explicit>no</itunes:explicit>
        <itunes:category text="Arts et Culture" />
    </channel>
</rss>

3. Configuration paramétrable du flux

Nous utilisons une classe pour rendre les paramètres du flux flexibles :

class Podcast_RSS_Feed {
    private $post_type;
    private $feed_name;
    private $rewrite_base;

    public function __construct($post_type = 'podcasts', $feed_name = 'podcast_feed', $rewrite_base = 'podcast') {
        $this->post_type = $post_type;
        $this->feed_name = $feed_name;
        $this->rewrite_base = $rewrite_base;

        add_action('init', [$this, 'add_rewrite_rules']);
        add_filter('query_vars', [$this, 'add_query_vars']);
        add_action('do_feed_' . $this->feed_name, [$this, 'generate_rss_feed']);
    }
}

Cette architecture permet une adaptation complète, quel que soit le format (audio, vidéo ou texte).

4. Génération automatique du flux RSS

Voici comment nous générons dynamiquement le contenu RSS :

public function generate_rss_feed() {
    header('Content-Type: application/rss+xml; charset=' . get_option('blog_charset'));

    $podcast_slug = sanitize_text_field(get_query_var('name'));
    $podcast = get_posts([
        'post_type'   => $this->post_type,
        'name'        => $podcast_slug,
        'post_status' => 'publish',
        'numberposts' => 1,
    ]);

    if (!$podcast) {
        wp_die('No podcast found.', 'RSS Feed Error', ['response' => 404]);
    }

    $podcast_image_url = get_the_post_thumbnail_url($podcast[0]->ID);

    include plugin_dir_path(__FILE__) . 'templates/rss-template.php';
    exit;
}

Pourquoi choisir TYTAE pour votre Développement WordPress ?

Nous savons que chaque projet est unique, et les plugins standards ne répondent pas toujours à des besoins spécifiques. Que ce soit pour des fonctionnalités avancées comme ce flux RSS dédié aux podcasts ou pour toute autre demande, TYTAE propose des solutions sur-mesure, fiables et évolutives.

Vous cherchez à développer une fonctionnalité spécifique, à accroître l’audience sur votre compte, ou à contourner les limites des plugins existants ? Contactez-nous dès aujourd’hui et voyons comment nous pouvons transformer vos idées en réalité — que vous produisiez une émission ou un livre audio.